That sounds much better Rich! I assume you have read in detail the Disk1 manual, see here:-
and have all jumpers correct.
When the Z80 gives control over to the slave/DMA controller the wait states on the Z80 board are inactive (as are most other control/status lines), so on the Z80 no, no effect. You need to focus on the Disk 1 board. However before a sector transfer takes place many things have to be setup. Have you determined the 8272 FDC registers have the correct values. BTW you can usually test boards like that without DMA active if you up the speed of the CPU. For SSSD/8” IBM disks 6MHz should be able to keep up. If not ignore slight sector data errors until you find out what the problem is.
BTW that Z80 board is capable of way more than 4MHz. I run mine at 10. At those speeds even DD should not need DMA.
I know this is something you may not want to hear, but a much easier way to interface to a floppy on the S-100 bus is via Z80 block port IO’s, as was done with for example the SD Systems Versafloppy, Jade FDC etc., (and our ZFDC controller board). I those cases life is simple, particularly if you have multiple CPU sharing the bus.
Thanks John. There is definitely a working interaction between the CPU and the disk card as the floppy drive does react to commands, including SEEK and RECAL (the head carriage moves to T20 and back). All of the other cards in the system work. The only thing that doesn’t work is head_step. All other parts have been tested on other systems and are known to be working perfectly.
Assuming it’s a DMA problem, would disabling wait-states help?
Rich there are too many moving parts to really be of much help with the limited information you have there. All I can say is to be of any help it’s best to sequentially add boards to the system. Test them extensively, check and list ports one at a time by outputting/inputting data. Checking you get the same results with different board combinations. The CompuPro Disk 1 uses DMA to bring in data (as opposed to block I/O) so bus configuration/timing is very critical/difficult. Can you even read/write to the FDC chip ports on the board? Can you get a head restore command to work. If not, something drastic is wrong, probably port addressing. Use a logic probe with a small program to repeatidely input/output to a port.
Thanks. I guess my description was more late-night short hand than I had intended. The “test” system consists of the following: SSM serial card, CompuPro RAM17, CompuPro Disk 1 and the S100-Computers Z80 Master card. The floppy drives are YE-Data YD380 (from the IBM-PC/AT) which can be used in place of 8” drives in these systems (with the proper modifications to two signals). These drives work well and are reliable, plus you get something like 800k of storage.
The CPU is running at 4MHz with the 2MHz bus clock enabled. This is the same general configuration as my IMSAI (same speeds) but my IMSAI uses a TDL Z80 card.
The ROM code and all hardware is identical between the systems. The only thing different is the CPU card. I’ve even swapped things around to eliminate the memory board, floppy controller, or floppy drive, as being the problem. That’s how I arrived at something on the Z80 Master card as being the issue.
I just thought about this — I have wait states enabled on the Z80 card. I have to try disabling them. I didn’t have time to do that last night.
I’m using the Z80 Master board with a custom EEPROM for a “test” system for my IMSAI — I try a bunch of stuff out on it first before putting it in my IMSAI. It works pretty well for prototyping. Anyway, I’m putting a floppy disk system together to match my IMSAI — a CompuPro Disk 1 and two 5.25” HD drives (which emulate 8” drives) — so that I can do some other testing.
Is there any trick to getting old boards to work properly with the Z80 board? Everything is configured identically between the systems (the same console, memory, disk cards and identical floppy drives). I’ve swapped everything around, including the drives, and proven that the hardware works, so it has to be the Z80 card interacting with the Disk 1. The Z80 is set for 4MHz and all of the jumpers match the pictures. I have 1WS for memory and ROM and 2WS for I/O.
The actual symptom is that the floppy drive isn’t track stepping. Everything else is fine (memory access, console I/O, booting, etc.) and it does respond to certain commands such as RECAL. I checked the cable for signal continuity and it’s fine, too.
Any pointers, hints, tips or clues would be appreciated. Thanks!
Collector of Classic Computers
Build Master and lead engineer, Altair32 Emulator