Antirez's Z80 Experiment
More software engineering research has dropped, this time from Salvatore Sanfilippo of Redis fame, in the vein of the experiment from StrongDM and OpenAI (and my own incomplete experiment), to build a Z80 emulator.
Salvatore Sanfilippo on 2026-02-24:
I wrote a markdown file with the specification of what I wanted to do. Just English, high level ideas about the scope of the Z80 emulator to implement.
...
This file also included the rules that the agent needed to follow, like:
- Accessing the internet is prohibited, but you can use the specification and test vectors files I added inside ./z80-specs.
- Code should be simple and clean, never over-complicate things.
- Each solid progress should be committed in the git repository.
- Before committing, you should test that what you produced is high quality and that it works.
- Write a detailed test suite as you add more features. The test must be re-executed at every major change.
- Code should be very well commented: things must be explained in terms that even people not well versed with certain Z80 or Spectrum internals details should understand.
- Never stop for prompting, the user is away from the keyboard.
- At the end of this file, create a work in progress log, where you note what you already did, what is missing. Always update this log.
- Read this file again after each context compaction.
His approach lines up with that of the StrongDM crew (extensive specification documentation) and OpenAI crew (coding guidance, validation-tool-backed development, progress tracked in-repository), though he focused heavily on "one-shotting" the implementation, being hands-off for the entire implementation. I think in the general practice of automatic software development we don't need to tie our hands behind our back in this way. Adapting to the implementation and code quality as it is being produced is reasonable — the coding agents still benefit greatly from software engineering experience, being taught what to focus on and when.