Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Z80 Based WD2793 Floppy Disk Controller Board (FDC) for S-100 Bus systems

419 views
Skip to first unread message

monahanz

unread,
Apr 19, 2011, 10:25:46 PM4/19/11
to
For people that may be interested in building a new S-100 Floppy
disk
controller (FDC) board that can be configured to work with most 8”
and
5” (soft sectored) disks I have designed and built a new Z80 based
Western Digital 2793 FDC S-100 board. With Andrew’s help (and 3
prototype
boards later!) we now have a board that we are very happy with.

With its own independent Z80 on board, it is completely command
driven
via 2 parallel ports (with strobe bits) to/from the S-100 bus.
This
makes writing BIOS’es for any operating system very simple and
easy.
For anybody that’s interested in obtaining a bare board they are
now available
at cost (~$20) per bare board.

Please see here for a more complete description.
http://s100computers.com/My%20System%20Pages/ZFDC%20Board/ZFDC.htm

David Griffith

unread,
Apr 20, 2011, 12:58:33 AM4/20/11
to
monahanz <mon...@vitasoft.org> wrote:
> For people that may be interested in building a new S-100 Floppy disk
> controller (FDC) board that can be configured to work with most 8??? and
> 5??? (soft sectored) disks I have designed and built a new Z80 based
> Western Digital 2793 FDC S-100 board. With Andrew???s help (and 3
> prototype boards later!) we now have a board that we are very happy
> with.

> With its own independent Z80 on board, it is completely command driven
> via 2 parallel ports (with strobe bits) to/from the S-100 bus. This

> makes writing BIOS???es for any operating system very simple and easy.
> For anybody that???s interested in obtaining a bare board they are now

> available at cost (~$20) per bare board.

How good is the supply of WD2793 chips?


--
David Griffith
davidmy...@acm.org <--- Put my last name where it belongs

monahanz

unread,
Apr 20, 2011, 1:31:18 AM4/20/11
to
On Apr 19, 9:58 pm, davidmylastn...@acm.org (David Griffith) wrote:
> davidmylastn...@acm.org   <--- Put my last name where it belongs

The WD2793 was used in some Atari computers and so there are quite a
few "pulls" around. Beside the usual eBay/China sources
you can for example get them at places that stock old parts for
example Unicorn Electronics (http://www.unicornelectronics.com/) for
$8 or anchor-electronics (www.anchor-electronics.com) .

Holger Petersen

unread,
Apr 20, 2011, 3:03:38 AM4/20/11
to
monahanz <mon...@vitasoft.org> writes:

There was an analog project in the german C'T-Magazine for an ECB-System
some long time ago...

You have some code like this:

CHK_STAT: IN A, (WD2793_Status)
RRA
RRA
JR NC, CHK_STAT ;Very fast way to check
the DRQ status bit
With a (small :-) harware-modification you can dispense on one RRA and gain
4 T-Cycles:

Route the (external) WD2793_Status output to Bit 0 (or 7) of some availabel
Input-Port...

Yours, Holger


> http://s100computers.com/My%20System%20Pages/ZFDC%20Board/ZFDC.htm

monahanz

unread,
Apr 20, 2011, 2:09:29 PM4/20/11
to
On Apr 20, 12:03 am, Holger Petersen <h...@kbbs.org> wrote:

Interesting Holger. Did not know about that. Do you know what it is.
I'm curious because the status port is core to the WD2793 chip.
Note because the Z80 is running at 6MHz on the board the above 4 T-
cycles will not have much effect of the overall disk bound I/O. The
bottleneck most of the time is the disk itself.

David Griffith

unread,
Apr 20, 2011, 3:34:00 PM4/20/11
to
monahanz <mon...@vitasoft.org> wrote:
> On Apr 19, 9:58 pm, davidmylastn...@acm.org (David Griffith) wrote:
>> monahanz <mona...@vitasoft.org> wrote:
>> > For people that may be interested in building a new S-100 Floppy disk
>> > controller (FDC) board that can be configured to work with most 8??? and
>> > 5??? (soft sectored) disks I have designed and built a new Z80 based
>> > Western Digital 2793 FDC S-100 board. With Andrew???s help (and 3
>> > prototype boards later!) we now have a board that we are very happy
>> > with.
>> > With its own independent Z80 on board, it is completely command driven
>> > via 2 parallel ports (with strobe bits) to/from the S-100 bus. This
>> > makes writing BIOS???es for any operating system very simple and easy.
>> > For anybody that???s interested in obtaining a bare board they are now
>> > available at cost (~$20) per bare board.
>>
>> How good is the supply of WD2793 chips?

> The WD2793 was used in some Atari computers and so there are quite a


> few "pulls" around. Beside the usual eBay/China sources
> you can for example get them at places that stock old parts for
> example Unicorn Electronics (http://www.unicornelectronics.com/) for
> $8 or anchor-electronics (www.anchor-electronics.com) .

Looking at your page, it doesn't seem that this card is capable of
handling 3.5" disks in any density. Have you done any research into
what it would take to make such a card?

--
David Griffith
davidmy...@acm.org <--- Put my last name where it belongs

Holger Petersen

unread,
Apr 21, 2011, 3:28:51 AM4/21/11
to
monahanz <mon...@vitasoft.org> writes:

>> Route the (external) WD2793_Status output to Bit 0 (or 7) of some availab=
^^^^^^^^^^

>> Input-Port...

>Interesting Holger. Did not know about that. Do you know what it is.

It is Pin 38 on the WD-Chip.

>I'm curious because the status port is core to the WD2793 chip.
>Note because the Z80 is running at 6MHz on the board the above 4 T-
>cycles will not have much effect of the overall disk bound I/O.

It was the trick to get 8 inch Double Density working with a 5.0688 crystal
(on an overclocked 4 MHz CPU) back in that time, then there were no 6 MHz
parts easy to get..

> The bottleneck most of the time is the disk itself.

-=-

You have lot of LEDs on the board. Did you think on a SD-Card Plug instead?

-=-

Does anyone know of a VHDL sort of FDC-Chip? perhaps switchable between NEC
and WD-Mode?

Greetings, Holger

Message has been deleted

Fred J. Scipione

unread,
Apr 25, 2011, 10:41:20 PM4/25/11
to

"Holger Petersen" <h...@kbbs.org> wrote in message
news:iom0ga$qq0$1...@kbbs.org...

> monahanz <mon...@vitasoft.org> writes:
>
> There was an analog project in the german C'T-Magazine for an
> ECB-System
> some long time ago...
>
> You have some code like this:
>
> CHK_STAT: IN A, (WD2793_Status)
> RRA
> RRA
> JR NC, CHK_STAT ;Very fast way to
> check
> the DRQ status bit
> With a (small :-) harware-modification you can dispense on one RRA and
> gain
> 4 T-Cycles:
>
> Route the (external) WD2793_Status output to Bit 0 (or 7) of some
> availabel
> Input-Port...
>
> Yours, Holger
>

As long as we are proposing hardware changes, why not make
reading the new port gate the external status bit into the
S100 buss 'wait' signal? Maybe make it a jumper option?


Message has been deleted

David Griffith

unread,
May 1, 2011, 4:00:36 PM5/1/11
to
lynchaj <lyn...@yahoo.com> wrote:

>> Looking at your page, it doesn't seem that this card is capable of
>> handling 3.5" disks in any density.  Have you done any research into
>> what it would take to make such a card?

> Hi! The S100computers.com S-100 ZFDC page has been updated showing
> instructions on how to use a 3.5" drive. To CP/M the 3.5" drive
> appears like any other 8" floppy drive. Please see the webpage for
> more information

> http://s100computers.com/My%20System%20Pages/ZFDC%20Board/ZFDC.htm

I see. This brings up another concern in my mind: how to read such
disks on a modern computer? The cpmtools package is able to read and
write many disks as long as an ordinary PC can make sense of the
encoding. Do you know if schemes like this can work, or would one need
a Discferret or Catweasel to read such disks?

Message has been deleted

David Griffith

unread,
May 1, 2011, 9:08:59 PM5/1/11
to
lynchaj <lyn...@yahoo.com> wrote:
> On May 1, 4:00 pm, davidmylastn...@acm.org (David Griffith) wrote:

> Hi! I would use Dave Dunfield's ImageDisk or Sydex's 22Disk. The
> disk format would be different than the PC but the NEC765 compatible
> FDC should still be able to read it. I don't know if cpmtools could
> access the drives directly but we use it on the N8VEM project for
> manipulating the file contents of disk images and/or ROM drives.
> Michael Haardt would probably be a better person to ask about cpmtools
> since I think he is the author.

If it's NEC765 compatible, then cpmtools probably can read it as long as
I know certain details about the disk layout. I use it for directly
manipulating P112 diskettes I can just craft a new diskdefs entry and
send it off to Michael Haardt.

> Alternatively, you could just connect your S-100 system to your PC
> directly using the S-100 Serial IO board via the serial port or USB.
> That approach may be easier since many modern PCs do not have floppy
> disk drives.

When the time comes, I'll likely use a Discferret because I'd like to
use it with some other machines as well.

> PS, I have quite a pile of the S-100 Serial IO board PCBs in case
> anyone is looking for one or more.

I'd love to get one of those and a few others, but money is tight right
now.

monahanz

unread,
May 2, 2011, 1:16:34 AM5/2/11
to
> davidmylastn...@acm.org   <--- Put my last name where it belongs

Sorry for the late reply to this David. I have now updated the web
page to describe how I used the boadr with both 1.2M 5' HD floppy
disks and 3.5" 1.44M disks. I have now also updated the disk format
program so that after disks for 360K, 1.2M or 1.44M are formatted for
MSDOS/Windows, the first sector has the necessary 28 bytes of info
added and the 2 FAT's are setup with the correct entries for an empty
disk. This way they are accepted as valid in windows etc. This all
will become relevant as our next set of S-100 boards, (8086, 80286 and
80386) appear.

As I said in the writeup if you setup the correct disk paramater table
for the Z80/WD2793 there is almost no disk format the board can not
handle.
See the bottom of this page for more info:-
http://s100computers.com/My%20System%20Pages/ZFDC%20Board/ZFDC.htm

Hope the above helps
John


Tesseract

unread,
Jul 22, 2012, 6:11:00 AM7/22/12
to
On Monday, May 2, 2011 3:16:34 PM UTC+10, monahanz wrote:
> As I said in the writeup if you setup the correct disk paramater table
> for the Z80/WD2793 there is almost no disk format the board can not
> handle.
> See the bottom of this page for more info:-
> http://s100computers.com/My%20System%20Pages/ZFDC%20Board/ZFDC.htm
>
> Hope the above helps
> John

Agreed! The WD chip was much more versatile than the NEC thing. You had to do a bit more work when formatting but you got so much control over what was happening. I don't recall the 2793 specifics but I do remember writing a floppy BIOS for the 2797. Amazing chip. If I recall correctly the only MFM diskette it couldn't handle was the MicroBee because the kid who wrote the format program for that coded both sides of the diskette as 0. However I could format diskettes which could then be read and written on a MicroBee and could transfer files that way.

Having a "read raw track" function was a boon when analysing an unknown diskette and also for recovering from CRC errors. I just don't see how this sort of thing could be done with a µ765 or later equivalent. Maybe there is some secret incantation but if so then it is not within my repertoire.

A neat trick was to have an external utility which would load disk parameter tables dynamically. It needed a bit of cooperation from the BIOS because the tables were in banked memory but it wasn't too hard. That way, given a compatible drive, any "alien" diskette would be handled natively by the BIOS.

Such fun 25 years ago ...
0 new messages