This is a web based NES Compiler and Emulator which allows you to mess around with the Super Mario Bros source code and see the results in realtime. You will need your own Super Mario Bros rom for it to work. Everything runs in the browser, there is no server side code.
Come and feel what it was like to develop NES games back in the 80's! View demo here:
Simply make edits in the code editor and then press Ctrl + S to save and recompile.
Special thanks to nodeNES https://github.com/gutomaia/nodeNES who's compiler I used as a starting point. I had to heavily modify it in order to support the many advanced features the smb code uses. This includes things such as .db HIGH/LOW modifiers, variable constants, addressing +/-, dereferencing, indirect addressing, and many others. Also thanks to the Doppelganger SMB Dissasembly https://gist.github.com/1wErt3r/4048722 which I had to slightly modify in order to get it to work with the compiler. Enjoy!
To Build the project first install TypeScript and the dependencies
npm install -g typescript
This app makes use of the following libraries:
- Bootstrap - overall styling and mobile layout
- JQuery - some DOM manipulation and Ajax calls
- Toastr - toast notifications
- Monaco Editor - Code Editor
- RequireJS - AMD module loader
- ToneJS - sound emulation
- NoSleepJS - prevent screen from going to sleep on mobile