Break The Rules Like Billy Mitchell with JavaScript & NES Emulators

Wynter Jones
monetizedesign
Published in
4 min readApr 24, 2018

JavaScript can be used to make all kinds of amazing programs, from text editors and websites, to pure entertainment style projects like games and even video game console emulators.

This is the connection between JavaScript and retro gaming.

MAME

The MAME is an open-source emulator, and it’s purpose is to “ preserve decades of software history”, as vintage cartridge video games will decay over time due to game data and features literally dying. Solid state media used in game cartridges naturally lose their electrical charge, and the ability to store any data. Sadly, this means eventually we will be left only with emulated software.

History of Emulators

Emulators typically enable a host system to run software or use peripheral devices designed for a different guest system. Printers often use this because most software is made for HP printers.

Emulators are often used as a copyright infringement tool, since they let users play video games without having to buy the console, and rarely make any attempt to prevent the use of illegal copies. Console emulators have become one of the more well known forms of emulation.

They allow users that do not own a video game console, to play any game they choose, but it comes with legalities. On top of that, Emulators require better hardware than the original system has, so in some cases you will need to beef up your system.

NES Pixel Sprites

The first emulator was the Japanese-only Pasofami and it was followed by iNES, which was available in English and was cross-platform in 1996. It was described as being the first NES emulation software that could be used by a non-expert.

NESticle, a MS-DOS emulator, was released on April 3, 1997. This was only the start of console emulation.

JavaScript + NES = Work in Progress

For its time, the NES was a powerful machine. It’s CPU/APU was nothing special for 1985, however the PPU was a bit faster than anything on the market. It allowed for the use of Sprites (8x8 pixels). It could animate, and would allow for the scrolling of backgrounds, both vertically and horizontally.

If you want a very technical breakdown about how the NES worked, check out this article “I made an NES emulator” to learn more.

Because of the way the NES was made, it is entirely possible to emulate this console using JavaScript. There are many desktop emulators already available, along with a few websites.

JavaScript NES Emulator

Using JavaScript, they’ve successfully implemented a fully functional NES emulator onto a website.

They’ve also included a pretty decent list of games, along with the ability for the user to drag and drop any NES “ROM” they have currently installed on their PC.

Learn How to Write Emulators with JavaScript

If you’d like to learn how to write your own JavaScript emulator.

View List of All Emulators:

If you would like to see a list of emulators written in JavaScript.

Set Record Breaking Scores with Emulation

Billy Mitchell, who appeared in a 2007 documentary called “King of Kong: A Fistful of Quarters”, is best known for holding the world record high score in Donkey Kong.

Billy Mitchell recently lost his world record after being accused of recording his high scores on modified hardware with the assistance of Multiple Arcade Machine Emulator (MAME) software.

Original Donkey Kong

This is one dirty move on Mitchell’s part because now, fellow “King of Kong” star Steve Wiebe will officially be recognized as the first person to achieve a score of 1,000,000 points on Donkey Kong. The world record high score is now held by Robbie Lakeman, who recently turned in a score of 1,247,700 in February of 2018.

There are those who believe that copies of old games should be kept and preserved in their original state, and to that I say; to each their own. But I personally enjoy having my retro games as emulated copies, rather than risk the chance of losing them to age.

So, I’ll be resting easy knowing my games will still work tomorrow, and the next day, and 20 years from now. Thanks to emulators for keeping my retro gaming dreams alive!

Here’s a great video for Programming for NES in JavaScript:

--

--