While waiting for contact to be made with Graham, I thought I’d just list some of my findings about the commands/services made available by the WarpCopy64 protocol, in case these will be useful to somebody else one day.
WarpCopy64 Services: 0x01 - PING - Ping the server 0x02 - ACK - Packet acknowledgement 0x08 - DUMP - Read all blocks from disk and send them to the network client where a whole disk image is saved to a D64 file 0x0c - PREPARE - Prepare to send single blocks to the network client on-demand, by uploading some drivecode to the requested drive and blanking the screen 0x0d - DONE - Release bus lines and unblank the screen (finish sending single blocks on-demand) 0x0e - READBLOCK - Read a single block from disk (in the drive selected with PREPARE) and send it to the network client (after patching the drivecode for a specific t/s) 0x18 - OPEN - Open a file using DOS commands 0x19 - CLOSE - Close a file using DOS commands 0x1a - FREAD - Read data from the open file and send it to the network client. Note: when the file is "$" the next command is used instead 0x1b - DREAD - Read a line from the directory listing (discarding the next line link) and send it to the network client (line length is 28 bytes for a standard directory listing) 0x1c - FWRITE - Receive data from the network client and write it to the open file 0x1F - TBD - TBD 0x28 - RESTORE - Receive disk image blocks from the network client and write them all to disk 0x31 - SLOWREAD - Slow read block from disk and send it to the network client 0x32 - SLOWWRITE - Receive block from the network client and slow write it to disk 0x3F - TBD - TBD
In the above documentation the word block is used to refer to a disk sector. The network client is the PC application itself.
In this context it doesn’t matter, but, generally speaking, a block’s position is identified by a single index, where a sector’s position is identified by the couple track/sector. One can obviously convert a block index to a track/sector couple and the other way around as the block chain is essentially a serialised version of disk sectors, ordered by track and sector.