Until now I have been using the Windows application for the TL866 Ⅱ+ programmer, but as I use a Mac it was inconvenient. I had read about a command-line application for this, and now seemed like a good time to investigate. Using Homebrew, I installed minipro and was able to read an EEPROM, copy the contents, erase and reprogram the PROM.
The next test was to take the Intelhex file from A09 and program that. Unfortunately that generated an error message that multiple values were assigned to the same address, and when I looked at the file I could see that it was true. A09 seems to generate an extra line at the start of the file that duplicated a later part of the file. Deleting this removed the error message, but the contents of the PROM were all FF's. The code starts at $8000, so how to tell the programmer this? It turns out you don't, another program called Srecord does this instead.
Srecord is a really useful program that can manipulate Intelhex and s-record files in any way imaginable. With this I could add (or rather subtract) an offset to the file so that it sits within the $0000-$7FFF range of my PROM, without modifying the data, so that minipro would program the PROM correctly.
With the new programming method working it was time to move-on. I modified the Assist09 monitor to add the CF card routines, and added a command (Z) to invoke them. I also added a Flex boot command (F) that reads track 0, sector 3 from the CF card and places the data at $C100. It then jumps to this address. I reprogrammed the PROM and used the CF card utility to write 3 bytes to the start of Track 0, Sector 3 that jumped back to the cold-start address of the monitor. Executing the F command without a CF card installed crashed the computer as expected, and repeating this with the CF card installed resulted in the monitor restarting. Success.
I have also written the drivers needed for Flex, and added them to the PROM. Once more Srecord came in handy, as it will merge multiple files into a single one for programming. I need to do a bit more testing of these routines before trying to configure Flex but I have worked-out how to get the data I need onto the CF card to do this. I will post another update on this soon.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.