Programming Floppy-Controller MB8877A and Z8410APS DMA - CP/M

This is a discussion on Programming Floppy-Controller MB8877A and Z8410APS DMA - CP/M ; 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 ...

+ Reply to Thread
Results 1 to 12 of 12

Thread: Programming Floppy-Controller MB8877A and Z8410APS DMA

  1. 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


  2. 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

  3. 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.



  4. 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


  5. 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




  6. 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


  7. 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

  8. 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




  9. 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


  10. 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!


  11. 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


  12. 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 to Thread