A simple (and buggy) Nintendo Game Boy emulator written in C# using Blazor as a front-end for rendering the game.
Total conversion from my original pure Java version here.
Emulation of the CPU for the Sharp LR35902 processor. Kept separately from the rest of the project in case it gets used somewhere else in the future.
The actual code for the hardware emulation of the console. Doesn't include any rendering/drawing to the screen.
Automated unit tests for the emulated hardware.
The main renderer for the emulated hardware. A Blazor app which runs the emulated console and displays the graphics as well as handles user input. Runs entirely in the browser thanks to WebAssembly.
An example renderer that prints the images to the terminal's console. Doesn't support any input.
A simple Godot 4 project running the emulated hardware.