• Please review our updated Terms and Rules here

MFM controller for S-100

Reading the STDC manual, it's an interesting beast.

What sticks out first is that no sectoring is done on the hard disk--each track is handled as a single long sector of about 10K. The board has 64K of memory and the docs say that there are 4 read/write buffers and 1 verify buffer (that would amount to 50K of the 64K). Can you say "blocking and deblocking code"?

It's not clear if you can access the buffers using programmed I/O or if DMA is required. If the latter, I can see problems ahead. DMA was one of those things that was extremely variable between vendors. It might be possible to get the board to work without interrupts, however.

Like a lot of Cromemco stuff (particularly the later stuff) is somewhat scarce on programming information and this board is no exception. It was made to run with Cromix (no mention of CP/M is given).

Maybe Herb Johnson at Retrotechnology has programming information. Otherwise, if you're set on using the board, you'll have to do your own reverse engineering.
 
Yeah, that's what I was saying earlier: it's not your average ST506 controller, but a 64K Z80 computer with 8K of ROM and a number of undocumented PROMs. AFAIK not even the latest versions of CDOS (Cromemco's version of CP/M) could talk to it, only 68K Cromix and the last few versions of Z80 Cromix, and other than the sparse manual and system-level calls I've also never seen any detailed technical info. The interrupt priority jumper would be the least of your challenges.

Like I said, unless you have a Cromix system I'd think that it'd be a major challenge to use an STDC in a CP/M system. There is a test/exerciser program for the STDC/ST506 HD; I suppose if you could rig up something to snoop the bus while issuing commands you might learn something useful, but I think one of those SASI<>MFM bridge boards would be a lot easier, while a Cromemco owner might be able to appreciate the STDC much more.

The STDC and DPU are relatively rare, so if Quantum can find an FDC and memory card to go with them he's got the makings of a pretty good Cromemco system.
 
With a schematic and the PROM, it could certainly be reverse-engineered. The problem is that it might as well be a one-of-a-kind deal that's going to take a lot of work to get going. I don't much care for the "sector-is-a-track" approach either.

I'd sooner use a generic parallel I/O interface to talk to a SCSI or IDE hard drive.
 
The STDC and DPU are relatively rare, so if Quantum can find an FDC and memory card to go with them he's got the makings of a pretty good Cromemco system.

I found both on ePay, but very expensive.. I will have to look for more cromemco boards the next time I take a trip to the place I got them.

I think this controller will be placed in a parts box, and I'll focus on getting my CCS S-100 machine do something more than spin a fan and light up a led.
 
Last edited:
I'd recommend that you get the Xebec hard/floppy (if that's what it is) controller going. It should be a fairly easy job as most of the "smarts" are on the board, not on any S100 card.
 
ST506 driver code

ST506 driver code

Reverting to my original topic...

MikeS suggested crafting up an interface to a parallel IO card.

I notice that Howard Harte has contributed open source code for an ST506 controller for the SIMH AltairZ80 emulator environment.

http://simh.sourcearchive.com/documentation/3.8.1/s100__disk3_8c-source.html.

This would be a useful start for anyone looking to build an ST506 software driver, highly configurable, maybe without the need for a separate controller card. Just speculating.

I'm guessing there would be I\O speed limitations, but is there any other factor that would make that approach unworkable?

Rick
 
I don't follow (I'm probably very thick today)--the SimH driver given is for a CompuPro Disk3 card. Do you have one of those or a CP/M configured to run with that and the cards on your CCS? :confused:
 
Not thick

Not thick

Chuck - you are not thick but I am new to a lot of this, so forgive me if I have to start by asking dumb questions.

Quantum has the CCS - I started this thread in relation to my IMS which has similar configuration, but NO s-100 MFM controller card, just an ISA bus ST506 controller from a dead Wang PC.

To clarify - my last post was asking whether it could be possible to craft a driver that would directly address an ST506 drive (eg my NEC D3142) connected via the parallel port on a S-100 system.

MikeS suggested the port could be used that way, in context of a bridging card. If I wanted a season in Hell, I could think about trying to bridge my ISA controller to the S-100 bus.

I'm not suggesting the SIMH Disk3 driver would do the job as is, just that the code might provide at least part of what is needed to make a purely software interface. I understand that the SIMH Disk3 emulator emulates the whole drive system, not just a driver for a real Disk3 card. Do I have that wrong?

What I don't know is whether the controller cards do anything that could not be emulated in software using RAM and a typical S-100 I\O card. In the end, the ST506 interface is two data pins and a bunch of control pins. Is it possible that the buffering and control register handling that is typically done on a controller card could be set up in system RAM and directed through the parallel port?

If the answer is straight NO, I'll keep looking at other solutions, but this thread suggests there are no easy answers.

Rick
 
I think yes this is possible. I have an S-100 system with a non S-100 hard drive controller myself. It depends on the card, but you may have to add/remove things like voltage regulators, etc. It'd be a project.

Here is a link I refer to time with some good info on ST506 interfacing. Kelly L sent it to me in early 2006. It does not directly apply to your project, but it may help.

http://nemesis.lonestar.org/computers/tandy/hardware/storage/mfm.html
 
Last edited:
To clarify - my last post was asking whether it could be possible to craft a driver that would directly address an ST506 drive (eg my NEC D3142) connected via the parallel port on a S-100 system.

MikeS suggested the port could be used that way, in context of a bridging card. If I wanted a season in Hell, I could think about trying to bridge my ISA controller to the S-100 bus

Actually, it wouldn't be that bad. One of the tricks that has long been used by the microcontroller hobbyists is using an ISA NIC connected to a microcontroller such as an ATMega128.

You'd want to use a 16-bit (AT Style) MFM controller as those generally don't use DMA for data transfers (which would be a bother). All of the control and status registers in an AT controller are 8 bit; only the data path is 16 bit. If you didn't mind tossing half of each 512-byte sector out the window, it'd be pretty simple. It'd actually be harder to interface to the floppy part of a MFM HD-floppy controller.

Heck, if someone can make a USB-to-ISA adapter, S100-to-ISA should be easy.
 
OK - thanks. You've given me a reason to look harder for documentation on the Wang ISA controller (ISA on 386 AT-like motherboard but not PC-compatible - zero documentation so far).

The sector size issue - perhaps could be handled by buffering in RAM, the way CP/M systems commonly buffer 2 x 128b CP/M records for read-write to 256b FDD sectors?

I still haven't been told that an all-software solution is not possible as well.

Not rushing at this... it's waited 20yrs so far so can wait a while longer.
 
I still haven't been told that an all-software solution is not possible as well..

Well, no, for an MFM drive, you have to be able to service a raw bitstream at 5MHz , which is way faster than any of the "vintage" machines will go. And that raw bitstream uses differential signaling.

On the other hand, interfacing an IDE drive to a pair of parallel ports might well be possible on an S100 system without much other than some cabling and a suitable power supply for the drive.
 
Right - that settles it then, those bitstream specs mean there's no hope of avoiding a hardware controller on a system chugging along on 4MHz CPU!

Looking at the Wang controller board , I see a WD11C00C-JU controller chip (same as used on IBM AT-5150 I believe), and three crystals at 16MHz, 10MHz and 9.6MHz.

Google hasn't heard of this controller card: HFA-100.W2 P/N 96-0000-1080-2. Any suggestions on suitable docs repository? Docs for a similar card for IBM AT-5150 might help somewhat.
 
hdc mfm

hdc mfm

Hi all;
I have an s-100 hdc controller that was built especially for miniscribe, I have No information it, it has plenty of extra ic's more than the average controller for a hard disk controller.
Thank YOu Marty
 
DTC made S100 SASI adapters, I used them to interface to Xebec 1410's. I still have the DTC manuals and BIOS and utilities source code, don't think I have the SASI S100 schematic though. However, SASI is quite simple, a subset of SCSI.

This link seems to be a good starting point? Lists many controllers, and even art work for a host adapter.

Gerrit
 
Old thread. Got it. :)

i just got a s-100 disk controller for a Corvus Systems hard drive. Photos are here
I'm looking for a serial to MFM controller. Anyone know of such a device? I figured a serial connection would be the most universal, and wouldn't limit to just one retro system.
 
Old thread. Got it. :)

i just got a s-100 disk controller for a Corvus Systems hard drive. Photos are here
I'm looking for a serial to MFM controller. Anyone know of such a device? I figured a serial connection would be the most universal, and wouldn't limit to just one retro system.
Not sure what you're asking here; you ask what that controller's for? Not to be a smart ass, but presumably to interface a Corvus hard disk to an S-100 system like the Zenith that you mention...

As to the "serial" connection, far from being "universal" I can't think of *any* retro system off-hand that could use a serially-connected MFM drive without some serious driver writing except perhaps the Corvus drives, but they're hardly any "standard" serial interface...
 
I typed out a lengthy explanation, but accidentally clicked the back button on my Microsoft Natural Wireless Laser Mouse 7000. Probably the better half of 30 minutes was spent creating my reply. I will answer your question shortly, as i need to take a brisk walk to the coffee machine. :)
 
Back
Top