Skip to content

schibo/1964js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2d10af3 · Jul 16, 2022
Jun 2, 2015
Jul 11, 2018
Jun 5, 2015
Dec 3, 2017
Jul 5, 2018
Jun 2, 2015
Dec 3, 2017
Jan 2, 2016
Oct 26, 2017
Jun 30, 2014
Jun 3, 2015
Jun 2, 2018
Jul 16, 2022
Jun 20, 2018
Feb 17, 2013
Jul 10, 2018
Jul 11, 2018
Jun 15, 2014
Jul 11, 2018
Jul 11, 2018

Repository files navigation

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!