We don't want to risk booting from a cartridge until we have retrieved its contents and archived it, which puts my disk tool in the critical path. We will test out my tool today, using the one cartridge that we think is already wiped (actually overwritten with a pseudo random sequence), since we are not risking precious contents.
I set up the tool so it won't attempt to write, only seek or read, which is what we need to retrieve the contents. The current state of the process is a bit clunky - using the Adept tool to set the cylinder, head and sector, then asking for seek or read sector operations.
These operations write into the RAM buffer on the card, which we retrieve with a File Upload operation of the utility to produce a file on the PC containing any data we have read. The file has to be read and transformed to collect the data in a meaningful format.
Ken brought his ethernet emulator, partially built but ready for some live testing to prove out part of the design. His packet was seen by the Alto and it began to try to boot from Ethernet, but he needs to fine tune the tool until its output is completely correctly received by the Alto.
XEROX ALTO - DIABLO DISK TOOL CREATION
I am properly setting the cylinder, and seek operations work exactly as expected. The read sector transaction completed, but when I checked RAM the contents don't match the disk. I manually wrote zeroes to the beginning of RAM, read the sector again, and still had zeroes in memory.
We had the scope on the signal lines and could see the disk data streaming in from the drive. The fpga can see it too, or it would have hung waiting for the sync word. However it may not have extracted the words properly or it may not have stored them correctly.
I am going to have to instrument signals on the 'PMOD' connectors to let us use the logic analyzer on the words that my logic believes are on the disk. I will also use the unused connectors NA16 to NA25 on the extension board as drivers of various inputs, so that I can generate my own test signals from within the fpga.
In addition, I want to complete the recording of checksum errors and other status information so that we can interrogate those after each read operation. That will have to wait until after I finish the built in stimulus generator to let me test without a real Diablo drive on hand.
Some of the logic I develop will be the core of the emulator role as well, where this tool will hook to a computer and pretend to be a Diablo disk drive.