Programming Floppy-Controller MB8877A and Z8410APS DMA

This is a discussion on Programming Floppy-Controller MB8877A and Z8410APS DMA within the CP/M forums, part of the Other OS category; Hello CP/M Fans, who knows itself with Programming from Floppy Controller and Z80-DMA? The Problem is I has a CP/M-80 Computer without Boot-Disk and has also no documents of this ...

Go Back   Unix Linux Forum > Unix > Other OS > CP/M

FixUnix.com - Unix Linux Forums

Unix Content Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 08-13-2008, 06:50 PM
Default Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello CP/M Fans,

who knows itself with Programming from Floppy Controller and Z80-DMA?

The Problem is I has a CP/M-80 Computer without Boot-Disk and has also
no documents of this CP/M-80 Computer.

It wants a CP/M Plus boots.

SYSTEC CP/M 3 Mover/Loader (Ver. 2.0)

I do not have that Boot PROM already Disassembly find at time which
for a Diskette Format to be read is.

Those are the Hardware Data.

Systec Board 1 SYSTEC 155.1L
EPROM 2764 CP/M LOADER 155/9600 Baud
Z8400APS CPU
Z8420APS PIO
Z8430APS CTC
Z8470APS DART

Systec Board 2 SYSTEC 100.3B
MB8877A FDC CONTROLLER
FDC9229BT SMC 8608
Z8410APS DMA (DIRECT MEMORY ACCESS)
Z8420APS PIO

MB8877A Compatible FD1793.

Disassembly-Code and EPROM-Image

http://www.hd64180-cpm.de/html/systecz80.html

Greeting
Rolf

Reply With Quote
  #2  
Old 08-13-2008, 09:13 PM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

On Aug 13, 6:50*pm, Rolf Harrmann
wrote:
> Hello CP/M Fans,
>
> who knows itself with Programming from Floppy Controller and Z80-DMA?
>
> The Problem is I has a CP/M-80 Computer without Boot-Disk and has also
> no documents of this CP/M-80 Computer.
>
> It wants a CP/M Plus boots.
>
> SYSTEC CP/M 3 Mover/Loader (Ver. 2.0)
>
> I do not have that Boot PROM already Disassembly find at time which
> for a Diskette Format to be read is.
>
> Those are the Hardware Data.
>
> Systec Board 1 SYSTEC 155.1L
> EPROM 2764 CP/M LOADER 155/9600 Baud
> Z8400APS CPU
> Z8420APS PIO
> Z8430APS CTC
> Z8470APS DART
>
> Systec Board 2 SYSTEC 100.3B
> MB8877A FDC CONTROLLER
> FDC9229BT SMC 8608
> Z8410APS DMA (DIRECT MEMORY ACCESS)
> Z8420APS PIO
>
> MB8877A Compatible FD1793.
>
> Disassembly-Code and EPROM-Image
>
> http://www.hd64180-cpm.de/html/systecz80.html
>
> Greeting
> Rolf


Hi Rolf!

What you are describing is very similar to the WaveMate Bullet. It
uses a MB887A FDC (FD1793 compatible) and a Z80 DMA chip. There is
some WaveMate Bullet software available here:

http://groups.google.com/group/wavemate_computers

They were popular Z80 CP/M SBC systems in Europe and somewhat in the
US. Probably software could provide ideas, inspiration, or at least
be adapted to the SYSTEC80 format.

Thanks and have a nice day!

Andrew Lynch
Reply With Quote
  #3  
Old 08-14-2008, 12:01 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

lynchaj wrote:
> Rolf Harrmann wrote:
>
>> who knows itself with Programming from Floppy Controller and
>> Z80-DMA? The Problem is I has a CP/M-80 Computer without Boot-
>> Disk and has also no documents of this CP/M-80 Computer.

>

.... snip ...
>
> What you are describing is very similar to the WaveMate Bullet.
> It uses a MB887A FDC (FD1793 compatible) and a Z80 DMA chip.
> There is some WaveMate Bullet software available here:
>
> http://groups.google.com/group/wavemate_computers


In general you can build disk drivers that can handle double
density 5 inch drives with a 2 Mhz Z80 and faster. You don't need
the complication of DMA for this. As I recall that speed required
using the NMI interrupt. Another possibility is using the wait
signal.

Booting just requires the ability to select, seek, and read
sectors. What those sectors are varies between systems.

--
[mail]: Chuck F (cbfalconer at maineline dot net)
[page]:
Try the download section.


Reply With Quote
  #4  
Old 08-14-2008, 02:36 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello Andrew,

On Wed, 13 Aug 2008 18:13:07 -0700 (PDT), lynchaj wrote:

>What you are describing is very similar to the WaveMate Bullet. It
>uses a MB887A FDC (FD1793 compatible) and a Z80 DMA chip. There is
>some WaveMate Bullet software available here:
>
>http://groups.google.com/group/wavemate_computers


Thanks for your Info.

Rolf

Reply With Quote
  #5  
Old 08-14-2008, 02:44 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello, Rolf!

> who knows itself with Programming from Floppy Controller and Z80-DMA?


Unfortunately, not me.

> The Problem is I has a CP/M-80 Computer without Boot-Disk and has also
> no documents of this CP/M-80 Computer.


I made a Google search and, indeed, you seem to have a rarity. Or, as Andrew
Lynch explained, it was probably an American computer sold under the name of
a German company. So, I made a search for the "SYSTEC GmbH Muenster-Roxel"
found in the copyright message, and found the following:

Freitag, 25. Juli 2008
Bei Systec wird gebaut
Bei der Systec GmbH wird gebaut. Am Firmensitz in Münster-Roxel entsteht
eine neue Fertigungshalle. Vor allem der Sonderanwendungsbau wird das
Gebäude nutzen. Sie können sich aktuell über den Baufortschritt informieren.

As you can see, this is recent, 3 weeks ago. The problem is that this is
written in German, so I don't know what it means.

I hope for you that this German company still exists, 23 years later, and
that you will be able to ask them if they could help you.

> It wants a CP/M Plus boots.
>
> SYSTEC CP/M 3 Mover/Loader (Ver. 2.0)


I was surprised by the size of the code (on the Amstrad PCW-8256, the loader
is 256-bytes long...) but the message explains that it is also Moving the
code in memory.

> I do not have that Boot PROM already Disassembly find at time which
> for a Diskette Format to be read is.


Let us hope that they re-used a common floppy disk format.

> Disassembly-Code and EPROM-Image
>
> http://www.hd64180-cpm.de/html/systecz80.html


Yes, not bad. You seem to use Laddr for labels, and Daddr for data. I would
suggest also using Baddr for byte values, and Waddr for word walues. Also,
make a distinction between a Word values (16 bits) and a Memory values (also
16 bits). Finally, I separate the code into routines, by the use of
;-------------------------------
lines. This way, the limit of each routine is obvious.

Yours Sincerely,
Mr. Emmanuel Roche, France



Reply With Quote
  #6  
Old 08-14-2008, 06:34 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello Emmanuel,

On Thu, 14 Aug 2008 08:44:20 +0200, "Mr. Emmanuel Roche, France"
wrote:

>I hope for you that this German company still exists, 23 years later, and
>that you will be able to ask them if they could help you.


Ceux construisent un nouveau Hall de Fabrication.

Those build a new Hall of Manufacture

Those build a new Manufacturing Hall.

I already asked at the Company for.
This German Company have no Document for this Computer.

Rolf

Reply With Quote
  #7  
Old 08-14-2008, 06:46 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

"Mr. Emmanuel Roche, France" writes:

>I made a Google search and, indeed, you seem to have a rarity.


Perhaps in the US of A or in France; I remember their ADs in the
german computer-magazines C'T and/or MC.

> Or, as Andrew
>Lynch explained, it was probably an American computer sold under the name of
>a German company.


>Yes, not bad. You seem to use Laddr for labels, and Daddr for data. I would
>suggest also using Baddr for byte values, and Waddr for word walues. Also,
>make a distinction between a Word values (16 bits) and a Memory values (also
>16 bits). Finally, I separate the code into routines, by the use of
>;-------------------------------
>lines. This way, the limit of each routine is obvious.


http://groups.google.de/group/comp.o...e&dmode=source

Yours, Holger
Reply With Quote
  #8  
Old 08-14-2008, 09:57 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello, Holger!

> >Yes, not bad. You seem to use Laddr for labels, and Daddr for data. I

would
> >suggest also using Baddr for byte values, and Waddr for word walues.

Also,
> >make a distinction between a Word values (16 bits) and a Memory values

(also
> >16 bits). Finally, I separate the code into routines, by the use of
> >;-------------------------------
> >lines. This way, the limit of each routine is obvious.


> Date: 1998/12/20


(What? You were already LIVING, back then, Holger? You must must be
prehistoric!)

> They automatically generated Labels with different starting letters, de-
> pending on the source of the Label: Any "JP 1234" instruction gets the
> label "j1234"; a call gets "c1234" and so on. And those are lower-case
> letters. If you enter meaningful labels in the course of your discove-
> ries, they get Uppercased (as in the original). So they always sort be-
> fore those automatically generated ones and get displayed.


Yes, this is another way of doing it, documenting the purpose of the
instruction in the first character of the label. I just prefer my way. The
goal is to find significant names that will replace those abbreviations.

(By the way: I forgot to mention that I write my "Labels:" on a separate
line, so that I can change them at will with my word-processor (WS4) whitout
"hiting" the next instruction, in column 9. Historically, since there was
only 6-characters labels, people used to write labels, instruction and
comments on the same line. (The char used for comments (";") comes from
high-level PLs, where it was meaning: "end of instruction"...) With Literate
Programming, you can have as much comments as you want, since they won't be
included in the assembled ASM file. But end-of-line comments remain useful.)

Yours Sincerely,
Mr. Emmanuel Roche, France



Reply With Quote
  #9  
Old 08-15-2008, 08:40 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

"Mr. Emmanuel Roche, France" writes:

>Hello, Holger!


Bonjour Emmanuel!


>> Date: 1998/12/20


>(What? You were already LIVING, back then, Holger? You must must be
>prehistoric!)


My first writing in a computer-Journal was in the September-
Issue of Dr.Dobbs Journal even 9 years earlier...

What about you? Even more prehistoric :-)


>Yours Sincerely,
>Mr. Emmanuel Roche, France


Amicalement, Holger

Reply With Quote
  #10  
Old 08-15-2008, 11:54 AM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Rolf Harrmann skrev:
> Hello CP/M Fans,
>
> who knows itself with Programming from Floppy Controller and Z80-DMA?
>
> The Problem is I has a CP/M-80 Computer without Boot-Disk and has also
> no documents of this CP/M-80 Computer.
>
> It wants a CP/M Plus boots.
>
> SYSTEC CP/M 3 Mover/Loader (Ver. 2.0)
>
> I do not have that Boot PROM already Disassembly find at time which
> for a Diskette Format to be read is.
>
> Those are the Hardware Data.
>
> Systec Board 1 SYSTEC 155.1L
> EPROM 2764 CP/M LOADER 155/9600 Baud
> Z8400APS CPU
> Z8420APS PIO
> Z8430APS CTC
> Z8470APS DART
>
> Systec Board 2 SYSTEC 100.3B
> MB8877A FDC CONTROLLER
> FDC9229BT SMC 8608
> Z8410APS DMA (DIRECT MEMORY ACCESS)
> Z8420APS PIO
>
> MB8877A Compatible FD1793.
>
> Disassembly-Code and EPROM-Image
>
> http://www.hd64180-cpm.de/html/systecz80.html
>
> Greeting
> Rolf
>

Hello Rolf,

Looking at Your "code" and found it "synck" at line 345:
ld sp,T0231 ; 0231h
call l0ab0 ;
with the DRI source of "cpmldr.asm":
LD SP,StackBot
CALL BootF ;first call is to Cold Boot
It is the DRI source of "cpmldr.asm" they have put in EPROM...

At around the first non-8080 instruction after that,
(after a new disassembly to get things right),
You will find Systec "mini-bios" from which You should be
able to write a full-bios from to generate CPM3.SYS.

As Andrew told You, the source from WaveMate Bullet could
be of great help. If it only are for the FDC<->DMA part
then look for "fd.z80" somewhere in that mess...

Hope this help...

Have a nice day!

Reply With Quote
  #11  
Old 08-15-2008, 12:23 PM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

Hello Ole,

On Fri, 15 Aug 2008 17:54:23 +0200, Ole Christensen wrote:

>Hello Rolf,
>
>Looking at Your "code" and found it "synck" at line 345:
> ld sp,T0231 ; 0231h
> call l0ab0 ;
>with the DRI source of "cpmldr.asm":
> LD SP,StackBot
> CALL BootF ;first call is to Cold Boot
>It is the DRI source of "cpmldr.asm" they have put in EPROM...
>
>At around the first non-8080 instruction after that,
>(after a new disassembly to get things right),
>You will find Systec "mini-bios" from which You should be
>able to write a full-bios from to generate CPM3.SYS.
>
>As Andrew told You, the source from WaveMate Bullet could
>be of great help. If it only are for the FDC<->DMA part
>then look for "fd.z80" somewhere in that mess...
>
>Hope this help...
>
>Have a nice day!
>


Thanks for your Info.

Rolf

Reply With Quote
  #12  
Old 08-15-2008, 12:41 PM
Default Re: Programming Floppy-Controller MB8877A and Z8410APS DMA

> It is the DRI source of "cpmldr.asm" they have put in EPROM...

Well done, Ole!

(I did not do it because I am presently working on something else.)

Yours Sincerely,
Mr. Emmanuel Roche, France



Reply With Quote
Reply

Thread Tools


All times are GMT -5. The time now is 12:32 AM.

In an effort to better serve ads to our visitors, cookies are used on Fixunix.com. For more information, check out our Privacy Policy.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Ad Management by RedTyger