It all started when I had to troubleshoot my ESQ1. I could not get the ESQ to recognize the program cartridge. After thoroughly troubleshooting the ESQ, I determined it wasn’t the keyboard but the program cartridge itself that wasn’t functioning properly. The analysis that follows is a theory I have derived into how it (the cartridge) works.
The OS (upon power up) tests the presence of the cartridge by first reading the pin (x) of the connector. If it is ground, it passes the first test and then attempts to read the EPROM (or EEPROM) within the cartridge. It then reads the contents of the EPROM into a buffer and does a checksum of the program contents. If the checksum is correct, a status condition is sent to the OS to allow the buffer contents to be accessed by the OS. A flicker of the display indicates this occurrence. It is unnoticeable upon power up, but plugging and unplugging the cartridge with the power on will cause the display to flicker once. At this time I’m not sure if both the CartA and CartB are loaded into the buffer but I can assume only one bank is loaded at a time. Depressing the Cart button (A or B) will load the contents into the buffer for user access.
As stated in the manual, it is safe to plug and unplug the cartridge with the power on. When doing so, you will notice a flicker on the display. This is the OS reading the program bank and refreshing the display. This is only my assumption but it is a logical conclusion.
In my situation, I must have had a glitch in my cartridge EEPROM that caused a bit or bits to change, thus giving me a checksum fail. When this happens, the OS ignores the cartridge presence completely as if it wasn’t even there. It would have saved me a lot of trouble if it would have indicated this condition on the display but I can only guess it would have added more code than they had to play with.
All is not lost as far as the hardware is concerned but the patches are trashed, as the program contents must be over written in order to use it again. Just write a bank to the cartridge again and a new checksum will be created. I was able to recover some of the patches in the other bank when the first bank was written but there were some erroneous patches left behind.
I have taken apart a couple cartridges and found that some have the 28C64 EEPROM and some had the 27C64 EPROM (UV erasable). Obviously the EPROM can only be read and not written to.
I am in the process of making the "monster cart". I have a working unit now, and as soon as I can reduce it to a physically smaller size, I will make it available to ESQ1 users. If you're interested in this module, contact me and I'll put you on a list for the latest information when I have it complete.