Nintendrust banner

Nintendrust

10 devlogs
23h 15m 38s

An emulator for the NES written in Rust!

Demo Repository

Loading README...

Ethan Hawksley

Shipped this project!

Hours: 23.26
Cookies: 🍪 535
Multiplier: 23.01 cookies/hr

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!

Ethan Hawksley

Polished up the html output quite a lot, adding some more meta tags to conform with other pages on my site

Attachment
0
Ethan Hawksley

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!

Attachment
0
Ethan Hawksley

And now the emulator supports controller, meaning its fully playable!

Attachment
0
Ethan Hawksley

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

0
Ethan Hawksley

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

Attachment
0
Ethan Hawksley

The emulator now has graphic support!!!
Here is the character data for Super Mario 1 as an example

Attachment
0
Ethan Hawksley

Done a whole lot of finishing touches, and the CPU of the NES is now fully emulated!! Onto the Picture Processing Unit :D

Attachment
0
Ethan Hawksley

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!

Attachment
0
Ethan Hawksley

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.

Attachment
0
Ethan Hawksley

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0