Building a creepy ZX Spectrum game with BASIC, assembly, and compression.
The Murky Depths
Building a creepy ZX Spectrum game with BASIC, assembly, and compression.
Animating ZX Spectrum water with rotating UDGs in BASIC and machine code.
Reworking CaliRun with ZX-Basicus and a few extra manual speed-ups.
An OutRun-inspired ZX Spectrum racer mixing BASIC with machine code.
A Sinclair BASIC remake of Blitz for the ZX Spectrum with modern tooling.
Speeding up ZX Life graphics by leaning on attribute memory.
A Sinclair BASIC space combat strategy type-in inspired by a 90s wargame.
The finished tape after a series of high and low level optimisations.
Pushing past straight C-to-assembly translations for faster Z80 code.
Looking back on replacing the C code with Z80 assembly.
Replacing the screen library and weighing ROM vs custom rendering.
Swapping a C grid library for Z80 assembly without rewriting everything.
Calling handwritten Z80 from C with z88dk on the ZX Spectrum.
Wrapping up ZX Life with a cleaner final version and a look back.
Splitting ZX Life into cleaner grid and screen libraries.
Saving memory in ZX Life by packing grid data more tightly.
Revisiting ZX Life optimisation to prove the BASIC approach still works.
Why ZX Life moves from BASIC to C with z88dk.
Speeding up ZX Life with higher-level refactors and active-cell ideas.
Measuring where a ZX Spectrum Game of Life really spends its time.
Breaking down the first ZX Life version and refactoring it into shape.
Starting ZX Life with a BASIC-first take on Conway's Game of Life.