Architectures based on Free Monads are trending. This design offers complete decoupling of business logic described as algebras, and its different implementations. Conceptually it’s almost like describing both software and hardware. That led me to write an emulator based on this kind of design, as emulation sort of follows a similar concept. For this project I chose the most basic gaming system to emulate: CHIP8. In this talk I’ll describe how a design based on FREE works, how the use of different interpreters can enrich the emulation process, and how it can work around a hardware emulator.
voted / votable