I have recently noticed a problem with the EEPROM save/restore functionality.
As my program grew to exceed 0x80, I discovered that only the lower half of the program is restored
after the program is saved, the board is powered off/on and the program is restored.
I noticed this when I was able to load the program via serial and run the program without errors,
but if the program was loaded, saved, the board powered off/on, restored and run again, the program
would fail due to the upper half of memory not being restored (or saved?).
Any suggestions on this problem?
The serial console reports: "Relay Computer firmware version 1"
The board etch is: "(c) Joe Allen Relay Computer"
The board screen is: "15337227-1"
--tom
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As per the documentation the save/restore functionality is limited to the lower 128 bytes. So unfortunately this limitation is as designed.
Snippet from Keypad section of the documentation:
Save / Restore memory (RAM) to non-volatile storage (EEPROM)
<freq> <dec> Restore memory from non-volatile
<freq> <inc> Save memory to non-volatile
Note: (Only lower 128 addresses are saved / restored).</inc></freq></dec></freq>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have recently noticed a problem with the EEPROM save/restore functionality.
As my program grew to exceed 0x80, I discovered that only the lower half of the program is restored
after the program is saved, the board is powered off/on and the program is restored.
I noticed this when I was able to load the program via serial and run the program without errors,
but if the program was loaded, saved, the board powered off/on, restored and run again, the program
would fail due to the upper half of memory not being restored (or saved?).
Any suggestions on this problem?
The serial console reports: "Relay Computer firmware version 1"
The board etch is: "(c) Joe Allen Relay Computer"
The board screen is: "15337227-1"
--tom
As per the documentation the save/restore functionality is limited to the lower 128 bytes. So unfortunately this limitation is as designed.
Snippet from Keypad section of the documentation:
Save / Restore memory (RAM) to non-volatile storage (EEPROM)
<freq> <dec> Restore memory from non-volatile
<freq> <inc> Save memory to non-volatile
Note: (Only lower 128 addresses are saved / restored).</inc></freq></dec></freq>
Sigh, I missed that in the docs, or at least I've forgotten it since I built the machine at the start of 2020. Thanks for your clarification.