Welcome to the Emularity
The Emularity should be considered in beta. We welcome feedback and suggestions as we finish 1.0.
Emularity downloads the files you specify (with a progress screen that shows both emulator logos and what is being loaded), arranges them to form a filesystem, constructs the necessary arguments for the emulator, and handles transitions to and from full-screen mode.
The Emularity system has been used by millions of users at the Internet Archive.
Currently works with three emulators:
Scripted Amiga Emulator
Credits and Components
Primary work on Emularity is by Daniel Brooks, with contributions of code or concepts from John Vilk, Andre D, Justin Kerk, Vitorio Miliano, and Jason Scott. Some of these contributions predate the Emularity git repository, unfortunately.
Emularity makes use of BrowserFS by John Vilk, an in-browser filesystem that emulates the Node JS filesystem API and supports storing and retrieving files from various backends.
It also utilizes ES6-Promise, a polyfill of the ES6 Promise API. Both are implemented and included without modification; consult these original repositories for information or verification.
Some Open Issues
- Documentation can be improved
- Splash Screen occasionally overflows canvas
- Progress bars can stand to be improved
- Should add browser-specific detections for unusual behaviors and volume/full-screen actions
- Handling of aspect ratios, and their interaction with full-screen mode
- Finish API for volume/mute/full-screen requests