Online / 5 & 6 February 2022


Fuzzing, or How I Generated 1,000,000 New Emulator Test Cases in an Afternoon

Fill your boots. Then fill somebody else's.

Emulation of classic hardware is a solved problem and like all solved problems that are sufficiently fun it attracts countless new implementations every year. This has led to the creation of many public test suites — test suites independent of any particular emulator, which can usually even run on real hardware. But these suites tend to assume a lot of working functionality beyond the part they are specifically testing, being designed by an intelligent human being to test complete emulators holistically.

This presentation covers an alternative source and target of emulator tests: random numbers, to test individual processor instructions, so that future emulator authors can test from day one.


Thomas Harte