Let's Resurrect the Ordinosaur! 🦖 💻
summary
An end-to-end description of building an Amstrad CPC emulator: reverse-engineering hardware from schematics and oscilloscope traces, implementing a C++ core with a code generator that produces ~15,000 lines of Z80 CPU emulation, and supporting interpreter, static translation, or dynamic recompilation. Covers accurate Z80 timing at ~3.5 MHz, 16 KB RAM banking and ROMs, CRTC/blitter video synced to 50/60 Hz, steady 22/44/48 kHz audio, and features like disk loading, snapshots, reset and playable games.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:51Childhood computers
- 10:34Documentation and setup
- 13:19Emulator architecture
- 21:45Processor emulation techniques
- 26:59Video subsystem and sync
- 32:32Audio subsystem and sampling
- 35:42Input subsystem and peripherals
- 41:00Demo and overall workflow
- 43:48Why emulate and skills gained
related talks
59mTeaching an Old Dog New Tricks - A Tale of Two Emulators
01h 21mKeynote: Teaching an Old Dog New Tricks
35mBuilding a GameBoy emulator with Elixir and Scenic
39mRunning .NET on the NES
28mHow to Build a NES Emulator
39mThe Day I Reverse Engineered a Gameboy Advance Game
01h 24mMonotron - a 1980s style home computer written in Rust
40mIntegrating AI With Retro Hardware:A Commodore 64 LLM Module
