1964js is the first N64 emulator written in JavaScript (CoffeeScript to JS). It is (kind of) a port of our N64 emulator for Windows called 1964. 1964 was written in C and C++ for Windows. You can still grab that here.
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 dynarec (JIT compiler) as we did for 1964 for Windows which translated MIPS directly to x86, 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 and visit the Emutalk forums.
Be sure to check out n64js as well!. Greets to StrmnNrmn, author of n64js and Daedalus. By pure coincidence, we started JavaScript N64 emulators around the same time.
-schibo
1964js 0.1.0 - December 9, 2012
Mario in game. (Needs lots of work on graphics, but nice progress)
-schibo
1964js - August 13, 2012
Work is getting done on this..here and there.
-schibo
1964js - July 30, 2012
1964js now works in the latest versions of Safari and Opera.
We've released the source to 1964 1.1. (1964 1.0 was an experimental compiler which breaks games like Perfect Dark and Banjo Tooie. Please use version 1.1) We also did this to support the efforts of the Surreal64 team. Please bear in mind that most of the source has not been touched in over five years.
Improvements:
Kirby's face doesn't stay smashed in with block-linking set to on in Kirby64 - The Crystal Shards.
Loading from a save state would sometimes cause the audio to disappear.
LLE RSP audioplugin(1964audio 2.7). We created a code generator that reverses RSPmicrocodesto C.Thegenerated C source is provided but we are not currently releasing portions of the code generator that creates the C files (namely Gerrit'sDSPopcodesource). Fear not, we provided enough for you to build the project.
Speed - although running with the RSP LLE audiopluginwill slow things down.
Plenty of other things I amforgettingsinceit's been so long.
Here's your new year's gift. 1964 v0.9.9 is here. With over one year in private development since the release 1964 0.8.5. and with over 3 months in beta testing, 1964 0.9.9 features hundreds of fixes and enhancements. Note: If you have an ATI Radeon video card, download the latest Rice Video plugin from www.emutalk.net, since the older version in the 0.9.9 distribution will have issues for you.
Major new 1964 features include:
A new friendlier user interface makes finding options easy
Fixes and support for many new games including Turok3, Donkey Kong 64, and Top Gear Overdrive
New ini configuration settings
ROM Browser caching for fast loading of 1964
Tweak 1964's speed at the touch of a key
Frameskip and AutoCF features for slower machines
A new Help Manual
Multiple Language support
An improved CPU core with many bug fixes and is much faster
An Improved 32bit CPU core, linker and faster overall code generation
Reworked core/audio synchronization and major improvements in audio quality and speed
Completely reworked Kaillera netplay
Packaged with N-Rage's input plugin
CPU Frame buffer read/write notification for video plug-ins
Minor GUI features:
Download plugin online
ROM specific plugin selection
More Toolbar buttons
Remembers and restores the current selected ROM and its position in the ROM Browser
Remembers and restores the selected ROM and its position at 1964 exit and start
Added "Number of players" as a new column in the ROM Browser. "Number of players" can be set in the INI file, but not through option dialog box.
Checks if plug-ins are loaded correctly. If not, then pops up the plugin configuration dialog box to select plug-ins
When 1964.099 runs the first time: Automatically pops up the ROM folder dialog box to select a folder Selects only the most important columns to display in the ROM list Verifies plug-ins are loaded correctly
Disables plugin selection during netplay
Disables many menus if they are not supposed to be used when a game is not running or a game is running
Automatically enables/disables the RSP config menu according to whether or not the RSP plugin is loaded
Calls RSP CloseDLL() at a better place for it to save its configuration
New ROM Browser icons
RSP plug-in selection
Minor core features:
Variable speed emulation
SSE detection and support in CPU core
FPU register caching if SSE is detected
NetPlay
New save state file format
Supports earlier versions of save states
Supports saving save states to an earlier version
Double-checks and creates necessary folders for game saves
Screen shots are taken at a better time
Reworked CP1 Unusable exceptions, many games are working better
Improved CPU timing
TLB error handling for 2-pass compiler
Netplay features:
Based on Kaillera network
Supports audio for netplay
Realtime gameplay with feasible network connection required
Automatic retransmission request and lost packet recovery
Automatic game setting synchronization among players
Automatic game save synchronization among players
Support for N64 native game saves
Support for cheat codes in netplay
Automatic cheat code synchronization among players
Notification if a player drops out, and allows for other players to continue the game
CPU and network usage displayed on status bar
Enable / disable various settings to avoid changes that may cause netplay games to desync
Always disable AutoCF for netplay
CF menus disabled during netplay. CF won't be allowed to be change for any player
Disabled lag menu during netplay
Disabled cheat menu during netplay. Cheat codes are not allowed to be modified during game play
Important bugs fixed:
Activated cheat codes may cause game to not boot or reset