JavaScript and WebAssembly Emulator - Sega Genesis, Nintendo, Super Nintendo, GameBoy, GameBoy Color, GameBoy Advance, MAME32, DOSBox and Virtual Machines.
It's a Web project that is 50% in JavaScript and 50% in WebAssembly. It uses the HTML5 File API for reading a file from the computer, so the End User must select the ROM file from his computer. After that, it uses BrowserFS, which creates a virtual filesystem on the client side where the ROM file is uploaded. When using the DOS emulator, there is a Web File Manager that allows the End User to upload and download files to/from that virtual filesystem. The emulators are in WebAssembly and the content is rendered on a Canvas and for audio it uses an AudioContext. There is a JavaScript logic that handles the AudioContext (for mute/unmute) and another logic for pausing and resuming the emulation when the window is on blur or on focus.
PLATFORM | HOW TO PLAY A GAME? | FILE FORMAT |
---|---|---|
Nintendo | Select the game file from your device. | NES |
Super Nintendo | Select the game file from your device. | SMC, SFC, SRM |
GameBoy | Select the game file from your device. | GB |
GameBoy Color | Select the game file from your device. | GBC |
GameBoy Advance | Select the game file from your device. | GBA |
Sega Genesis | Select the game file from your device. | BIN, SMD, MD |
MAME32 | Select the game file from your device. | ZIP |
DOS | Select the game file from your device. | ZIP |
Virtual Machines | Select the disk file from your device. | ZIP |
- When running DOS, Emulatrix will try to run
AUTORUN.BAT
from the ZIP file after booting. - Regarding virtual machines, the ZIP file must contain a
c.img
file that will be mounted and booted.
TYPE IN THE PROMPT | RESULT |
---|---|
mount d . -t cdrom | Mounting a path as a CD-ROM |
imgmount d cd1.cue cd2.cue -t cdrom | Mounting two CD-ROM images |
config -set "cycles=4000" | Default emulation speed |
config -set "cycles=10000" | Faster emulation speed |
config -set "cycles=15000" | Faster emulation speed |
config -set "cycles=20000" | Fastest emulation speed |
config -set "sbtype=none" | Sound Blaster disabled |
pkzip folder.zip c:\myfolder\*.* -rp | Creates folder.zip with myfolder content |
- For switching CD-ROM images you must press
Ctrl+F4
(Windows) orFn + Control + Option + F4
(Mac). This also can be used for refreshing the filesystem after uploading a file.
PLATFORM | URL | CORE |
---|---|---|
Nintendo | https://buildbot.libretro.com/stable | fceumm |
Super Nintendo | https://buildbot.libretro.com/stable | snes9x2010 |
GameBoy | https://buildbot.libretro.com/stable | gambatte |
GameBoy Color | https://buildbot.libretro.com/stable | gambatte |
GameBoy Advance | https://buildbot.libretro.com/stable | vba_next |
Sega Genesis | https://buildbot.libretro.com/stable | genesis_plus_gx |
MAME32 | https://buildbot.libretro.com/stable | mame2003_plus |
MAME32 | https://buildbot.libretro.com/stable | fbalpha2012 |
DOS | https://github.com/dreamlayers/em-dosbox | dosbox |
PLATFORM | TYPE | DETAILS |
---|---|---|
Libretro cores | Bugfix | Content resized to canvas |
Libretro cores | Bugfix | Delayed compilation workaround |
Libretro cores | Feature | Mute/unmute implementation |
Libretro cores | Feature | Load/save state implementation |
Libretro cores | Feature | Paused/resumed emulation on blur/focus |
DOSBox core | Bugfix | Launching emulator on blur |
DOSBox core | Bugfix | SimulateInfiniteLoop in 16 bits systems |
DOSBox core | Bugfix | Removed black margin when trying fullscreen |
DOSBox core | Feature | PKZip implementation |
DOSBox core | Feature | Mute/unmute implementation |
DOSBox core | Feature | Load/save file implementation |
DOSBox core | Feature | Paused/resumed emulation on blur/focus |
- Playing Killer Instinct: Create a zip file named
kinst-chd.zip
that must containkinst.zip
andkinst.chd
. Emulatrix will unzip those files in order to run the game (takes several seconds). - Saving and loading states: In some games (Killer Instinct, Mortal Kombat 1, 2 and Ultimate) the saving function doesn't work (core issue).
- Playing Samurai Shodown III: You must use the
samsho3h.zip
file.
Press C
on the Main Menu in order to enable or disable the mobile controls.
https://github.com/lrusso/VirtualJoystick
https://www.emulatrix.com/Banner1.htm
https://www.emulatrix.com/Banner2.htm
https://www.emulatrix.com/Banner3.htm
https://www.emulatrix.com/Banner4.htm
https://www.emulatrix.com/Banner5.htm