22nd August 2020
While I've been preparing the PCB's and various adapters, Jeff has been working on the firmware and recovery image.
As mentioned previously, a power outage or some such event while updating the firmware image could leave your machine unusable because the firmware image is loaded when the machine is powered on. To enable recovery from such an event, the production version of ROM X has a special recovery image tucked away in a sector of the flash chip that is normally not accessible, and can't be overwritten by the firmware.
This recovery image becomes active when jumper J1 (next to the ROM-Link header) is removed. A recovery menu is displayed when you power on the machine, allowing you to select ROM image 1 to F to boot with. Once you have successfully booted the machine, you can run up the disk version of the ROM X firmware, replace jumper J1, and re-upload the firmware - problem solved.
Of course the recovery relies on you having at least one usable ROM image in the ROM X flash that you can use to boot the machine, but the board will ship will all image slots populated with at least a standard Applesoft Basic ROM.
And the exciting news is that the latest version of the recovery image includes a basic RAM test! It will test the first 2KB of the first bank of RAM (the row closest to the keyboard), and beep out the number of the faulty chip from left to right. E.g. if the 3rd chip from the left is faulty, you will get 3 beeps. Works great!
If the memory test passes, then the recovery menu will be displayed as per below:
The reason behind testing only the first 2KB is two fold:
- Time required to do the RAM test (RAM testing is quite slow)
- If the first 2KB is good, then that's more than enough to be able to get the ROM X menu up, so you can run further diagnostics.
Having some form of diagnostic available was always on the agenda, and we are hoping that others will be able to contribute to this - the ultimate goal being a comprehensive diagnostics suite in the form of a ROM image.
But even a basic RAM test is invaluable in diagnosing a non-functional machine, so this is an excellent start.