I built a NES emulator that can run fully in the browser! It uses Rust for low level control over things such as integer sizes, and compiled to WASM for performance. I’m really proud of how the end result works, feel free to test it out with your own (legitimate) rom of Mario 1!
Polished up the html output quite a lot, adding some more meta tags to conform with other pages on my site
Log in to leave a comment
The browser port has been finished now, the game is compiled to WASM and run in the browser. It can be played on any modern browser, and comes with a royalty free NES game built with the emulator too for testing purposes. The emulator is done!
Log in to leave a comment
And now the emulator supports controller, meaning its fully playable!
Log in to leave a comment
It’s taken a lot of effort but I finally have the graphics fully functional! It can play the intro to super mario 1 perfectly :D
Log in to leave a comment
Been working super hard on the PPU, been implementing cycles, which has caused me to need to rethink a lot of my architecture :p
It’s a really fun project despite the challenging scope
Log in to leave a comment
The emulator now has graphic support!!!
Here is the character data for Super Mario 1 as an example
Log in to leave a comment
Done a whole lot of finishing touches, and the CPU of the NES is now fully emulated!! Onto the Picture Processing Unit :D
Log in to leave a comment
Added loads more opcodes to the emulator, now supporting operations like incrementing and binary shifts / rotates.
Also migrating out repeated code into functions to improve readability!
Log in to leave a comment
Initialised the project, started implementing lots of opcodes! Got functioning loading, writing, branching, and even a stack :p Discovered a set of test roms that i can run online, and I’m making sure they all pass.
Log in to leave a comment
I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.
Log in to leave a comment