Close

EEPROM woes

A project log for OpenSpand ZX81 expansion

OpenSpand is a ZX81 expansion cartridge based on an RP2350B chip. Like a ZXpand+ with extended functionality.

adamklotblixtadam.klotblixt 6 days ago0 Comments

For a long time I've had problem with starting the program ZXpand Commander, it would only flash by and reset the ZX81. ZEdragon had problem when ending a game and it tried to save hi-score to the EEPROM, it would hang or restart the ZX81.

I really thought I had some serious debugging in front of me, but today I implemented EEPROM initializing, which cleared up the Commander problem. Faulty data in the persistent storage apparently.

On a walk this afternoon I realized that the EEPROM emulation actually pauses the other core while committing the data. Of course that messes stuff up, since the other core deals with hard real time stuff like memory and I/O!

A different approach was implemented: everything is saved in the EEPROM layer in RAM, and the user has to actively save to persistent storage in the config menu. This fixed the problem with Zedragon, wohoo!

The remaining issue to do before serious testing is to make the joystick configuration better. Just some restructuring and better handling since I have 3 different ways/levels to config the joystick.

Discussions