Nintendo64 emulator in JavaScript
Go to file
2022-07-15 23:05:14 -07:00
blog rename unofficial_roms/ directory to roms/unofficial/; Bump to v0.1.22 for production; deployed to production 2015-06-02 02:43:54 -04:00
coffee Allow opening the same ROM again 2018-07-11 10:53:30 -04:00
dart Clean up a few characters 2015-06-05 18:07:34 -05:00
img links to code/uproar/w3schools with images 2017-12-03 00:10:49 -05:00
lib local jquery 2018-07-05 15:56:08 -04:00
roms rename unofficial_roms/ directory to roms/unofficial/; Bump to v0.1.22 for production; deployed to production 2015-06-02 02:43:54 -04:00
sass links to code/uproar/w3schools with images 2017-12-03 00:10:49 -05:00
.gitattributes See long description 2016-01-02 00:42:39 -06:00
.gitignore Fix line endings 2017-10-25 23:00:59 -04:00
1964js.py revert 2014-06-30 06:25:22 +00:00
app.yaml Modified app.yaml 2022-07-15 22:30:18 -07:00
closure-compiler-v20180610.jar latest closure compiler 20180610 2018-06-20 15:33:51 -04:00
coffeelint.json mem fixes; Disable slim and relax coffelint 2013-02-17 04:21:54 +00:00
compile.sh Bumnp to 0.4.9 2018-07-10 04:14:09 -04:00
debug.html Allow opening the same ROM again 2018-07-11 10:53:30 -04:00
favicon.ico App Engine files 2014-06-15 03:31:50 +00:00
index.html Allow opening the same ROM again 2018-07-11 10:53:30 -04:00
index.slim Allow opening the same ROM again 2018-07-11 10:53:30 -04:00
LICENSE.md Fix some issues with the repo and re-commit the license 2015-06-03 02:42:43 -05:00
README.md Update README.md 2018-06-02 11:29:35 -04:00

1964js video

1964js

This is the first Nintendo 64 emulator for JavaScript. Visit the blog on 1964js.com to see videos and to download the original Windows version of 1964.

Building the source

To build 1964js, run ./compile.sh from the root folder on Linux.

Required to build:

  • Slim
  • Sass
  • CoffeeScript 2.2.4

To setup your Linux environment:

sudo apt-get install ruby
sudo gem install slim
sudo gem install sass
sudo gem install coffeelint
sudo apt-get install nodejs
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g coffeescript
sudo npm install -g coffeelint
Run compile.sh

To setup your Windows environment (TODO):

Install MinGW/MSYS/Cygwin
Install Ruby
Install Slim
Install Sass
Install CoffeeLint
Install CoffeeScript
Install NodeJS
Install NPM
Install Java (Security is an issue on Windows, be cautious [12-30-2015])
Run compile.sh in MinGW/MSYS/Cygwin

The script is known to work on Mac OS X 10.13.4 and Ubuntu 14.04.3 LTS/15.10 64-bit. It should work on any platforms that have a Bash shell.

About the emulator

1964js is (kind of) a port of our Nintendo 64 emulator for Windows called 1964. 1964 was written in C and C++ for Windows. You can still grab that here. Source on GitHub

This project is still in the early stages. The initial goal of this project was to see how well Google Chrome's V8 JavaScript compiler performs.

Instead of building a traditional dynamic recompiler (Just-In-Time/JIT compiler) as we did for 1964 on Windows, which translated MIPS instructions directly to x86 instructions, 1964js dynamically writes JavaScript to the web page by reversing MIPS code to JavaScript. This JavaScript represents blocks of ROM code. Then, if using Chrome for instance, Google's V8 compiler compiles the JavaScript to native code for us automatically.

For updates, please check 1964js.com!

Compatibility

Many demos, homebrew, test ROMs, and similar ROMs work in 1964js in Chrome.

Super Mario 64 is the only known commercial game to run. Hit enter after the title screen.

Be sure to check out n64js as well.

Greets to StrmnNrmn, author of n64js and Daedalus. Coincidentally, we started JavaScript N64 emulators around the same time!