• Please review our updated Terms and Rules here

Exidy Diskboot rom analysing

gertk

Experienced Member
Joined
Jan 26, 2016
Messages
432
Location
Netherlands
Hi,

In an attempt to create disk support for my ARM based Exidy emulator I tried to understand the Exidy boot rom (the 1979 one from Exidy).
This rom is also to be found in the Mess and Java emulators.

Disassembling the ROM data was not so easy, the jumps and calls looked like they were jumping all over the place. Part of the complexity was probably because the code was 8080 based.

But so far I already succeeded in figuring out what the nifty code does:

First it figures out where it is in the memory map by setting up the stackpointer at a known address and writing a RET command into 'zero' page RAM and calling the address that RET was written to. By examining the contents of the stack the program knows where the RET was called from.
This is used for calculating the start address for copying the rest of the rom code to ram.

It also sets up a pointer to the floppy controller hardware that can be used later on. It seems that this was at a fixed offset ($200) from the rom start.
Alas the floppy controller seems to be memory mapped and not IO mapped.

After copying the remaining code to ram it jumps to the ram and executes from there.

Now for the fun part: I could not find what kind of floppy controller is/was used on the Exidy with this rom. Since the expansions system was S100 based I assume some kind of S100 Floppy controller but which one ?

If I understand the code correctly it was quite a simple device, maybe without DMA or even a sector buffer as the code simply waits for the correct sector to pass underneath the head and then reads in 270 bytes of data (1st byte is discarded, the last byte is a checksum)

Some more information about the original floppy controller would be nice.

[Edit] looks like the controller was (similar to) this one: Vector Graphic Micropolis Floppy Disk Controller (thanks to exidyboy)
 
Last edited:
Now for the fun part: I could not find what kind of floppy controller is/was used on the Exidy with this rom.

The 5" controller disks may have come from the external monitor/disk combo.

I have one that I'm preparing to sell, but before I do that I'm working on documenting the insides.
There is a single cable and board, no S-100 expansion at all.

The thing is HEAVY. It has a huge toroidal transformer inside that must weigh 20 lbs by itself.
 
The 5" controller disks may have come from the external monitor/disk combo.
I have one that I'm preparing to sell, but before I do that I'm working on documenting the insides.

The Centre for Computing History in the UK have the Operators Manual. http://www.computinghistory.org.uk/det/6513/Exidy-Display-Disk-Subsystem
The CP/M Software Manual that snuci linked to suggests on page 252 the DDS used Micropolis soft-sector controller and drives http://www.vcfed.org/forum/showthread.php?65093-Wanted-Exidy-Sorcerer-CP-M&p=528851#post528851
The system that gertk has brought up is running CP/M 1.4 so might be the original hard sector system that relied on the Micropolis controller in the S-100 expansion chassis.
 
Sorry. My ISP won't guarantee that large files will load from my site so larger files die after a while. Just yesterday I put the Tandy Sensation CDs on archive.org because of the issues and shared that link. I would love to contribute to Bitsavers and put up my Exidy info and anything else I have that may be needed.
 
Progress so far with the floppy emulation:


Because of the nature of the original floppy controller a spinning disk is emulated: the sectors pas underneath the head on each access of the sector register.
This seems to work nicely though.

4 disks are accessible as images on the SD card, read-only for now but write support should not be a problem.

When trying to write to a disk I can see the write flag/bit is being set in the controller and then 260 bytes are written to the data register as soo as the correct sectornumber passes.
 
Ah nice!
This controller has a 'real' FDC1793 controller chip and is IO mapped.
So it does not get in the way of the top of the RAM as the Micropolis controller does (that is memory mapped only).

My guess is that it needs its own set of CP/M disk(s) though.
 
Another thought:

The last Basic rom seems to have quite a few blocks empty, as the CP/M boot rom is just 256 bytes (even less) I could squeeze it in there and map the 4 bytes of the controller $200 bytes higher so the full 48k of RAM is available again.
 
pics of the Exidy Video/Disk pcb and a firmware dump is up now at
http://bitsavers.org/pdf/exidy/Sorcerer_Video-Disk

Al I have the controller board here from the Exidy FDS Floppy Disk Subsystem DP-6400 single drive stand-alone unit that does not need the S-100 Expansion Unit.

My board has the same FAB code as your controller from the DDS but has different wire mods so a different ECN.

Can you advise how to dump the PROM's for comparison with your DDS dumps?

P.S. If I can repair the Micropolis 1015F drive I hope to image CP/M 2.2 for the Sorcerer.
 
Back
Top