This time I’m turning up the RAM Floppy card for the Z80 system, which turned out to be a bit more difficult than I expected.
The primary gotcha was that I was using the RAF113.COM test utility to test the card and it kept throwing errors. Working through the tests with the oscilloscope it soon became clear that the card wasn’t being selected when the CPU was performing IO reads & writes, despite the source code for the utility confirming the card was addressed correctly (port A0). …and it was physically jumpered correctly, to the address in the source code.
After much buggering around I became suspicious of the test utility. Digging in the archive (all 3 files) I found the assembly listing from when the executable was assembled. Guess what? It showed that when the executable was built it was built with IO port A4! No wonder it wasn’t working.
As a double check I busted open the executable in a hex editor, and yeah, it was definitely using port A4.
I jumpered the card for A4 and things went a whole lot better - except I was still getting read/write errors during the test.
That turned out to be because my understanding of the write protect switch and LED was backwards. I thought the write protect LED being red would be write enabled (red = danger), but it turns out it’s the other way around. Flicking the write protect switch made everything work as expected!
Post testing I jumpered the card back to port A0 where the BIOS expects to find the first RAM floppy card and life has been good since :-)