eightyeighty-kt is an Intel 8080 emulator, written in Kotlin. This emulator is fully functional and has been tested with the following test roms:
- 8080PRE.COM
- CPUTEST.COM
- TST8080.COM
- 8080EXM.COM
These ROMs are available in the roms/cpu_tests
directory and were sourced from https://altairclone.com/downloads/cpu_tests/. The test runner is implemented in jvmTest/kotlin/CpuTests
. This is a Kotlin multiplatform project, which means it can run on JVM, JavaScript, WASM, Android, and iOS. The emulator is designed to be platform-agnostic and doesn't require any external dependencies.
The Intel 8080 is a popular 8-bit microprocessor that was used in many early computers and arcade games. One of its most notable uses was in the original Space Invaders arcade cabinet.
I wanted to create an emulator that could run on as many devices as possible, and Kotlin is a great language for this because it has mature support for various platforms through the Kotlin Multiplatform project. Also, there aren't that many Kotlin-based emulators out there, so I thought it would be a fun unique project to work on.
The following resources were immensely helpful in implementing the emulator: