Close

The perils of optimization?

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 01/25/2025 at 15:500 Comments

The other day I had a nice chat with FreddyV, known for PicoMem and PicoCPC. Projects that are quite similar to OpenSpand, but for other platforms than the ZX81.

He's been optimizing his projects far longer than I have, so we delved into what he'd done. Now that I've implemented similar optimizations, the project runs far leaner, and the code is also easier to read. Great news for when I want to complete the implementation of video output, which requires quite some cycles.

Unfortunately I have a new (old) problem: the clone ULA VLA81 is MUCH more finicky about how long things take, and now that the code is optimized, it complains earlier/more often! I have none of these problems with the Sinclair original ULAs and the other 2 clone ULAs I have... Lowering the RP2350B speed fixes (masks?) the problem, but is not a long term fix. I have to debug and fix the problem, since the only clone ULA sold now IS the VLA81!

Discussions