Code Monkey home page Code Monkey logo

lrusso / emulatrix Goto Github PK

View Code? Open in Web Editor NEW
283.0 19.0 117.0 81.07 MB

Emulatrix - JavaScript and WebAssembly Emulator - Sega Genesis, Nintendo, Super Nintendo, GameBoy, GameBoy Color, GameBoy Advance, MAME32, DOSBox and Virtual Machines

Home Page: https://www.emulatrix.com

License: GNU General Public License v3.0

HTML 99.90% JavaScript 0.10%
emulator javascript sega genesis nintendo super snes game boy gameboy advance color arcade dos dosbox online web webassembly

emulatrix's Introduction

Emulatrix

JavaScript and WebAssembly Emulator - Sega Genesis, Nintendo, Super Nintendo, GameBoy, GameBoy Color, GameBoy Advance, MAME32, DOSBox and Virtual Machines.

alt screenshot

Web

https://www.emulatrix.com

How does it work?

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.

IMPORTANT - After clicking on the upload icon

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.

DOSBox useful commands

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) or Fn + Control + Option + F4 (Mac).

Original core files

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

Core files modifications

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

MAME 2003 Plus notes:

  • Playing Killer Instinct: Create a zip file named kinst-chd.zip that must contain kinst.zip and kinst.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).

Final Burn Alpha 2012 note:

  • Playing Samurai Shodown III: You must use the samsho3h.zip file.

Emulatrix has mobile compatibility (Android only)

alt screenshot

Playing Emulatrix on Android with a USB Keyboard:

Press C on the Main Menu in order to enable or disable the mobile controls.

Virtual joystick code

https://github.com/lrusso/VirtualJoystick

Banner generators

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

https://www.emulatrix.com/Banner6.htm

emulatrix's People

Contributors

lrusso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.