Junie is a libretro frontend that aims to run entirely in your browser, desktop or mobile!
- No installation on the end-devices.
- Near-native performances thanks to WebAssembly.
- Wide range of supported/compatible cores (... soon).
- Progressive Web Application entirely accessible offline.
Junie currently runs on most recent browsers, but your experience will probably be better on Chrome and Safari.
Disclaimer: development is still in progress. I'll try my best not to break anything between releases (especially regarding local save files), but it's probably a good idea for you to backup your saves before each update.
- All the systems described in the Folder structure.
- Save files and cheats (stored inside your browser's storage).
- Core-specific configurations override.
- Multi-touch controller with either a D-pad.
- Touch inputs for the Nintendo DS, when the gamepad is hidden.
- Save and restore states, backup and restore save files.
- Fast-forward up to 4 times the original speed.
- Minimalistic platform-specific user interface.
- Entirely running offline from your homescreen.
Games must be organized as follows, inside a games
folder next to the application binaries:
games
├── Game Boy
├── Game Boy Color
├── Game Boy Advance
├── Nintendo DS
├── Master System
├── NES
├── SNES
├── Mega Drive
├── Nintendo 64
└── PlayStation
Install the following dependencies: yarn, make and zip, and build the application:
make # Build cores, libraries and the application
make pack # Same as `make`, but also outputs binaries in a zip file
make watch # Same as `make`, but also rebuild on source file changes
# Additional flags:
# * DEBUG=1 : build app and ui in debug mode
# * UI_ONLY=1 : rebuild only on UI changes when watching
# * QUIET= : enable verbose build mode
If you prefer to use Docker, no need for any local dependencies:
docker run \
-d --rm \
--name junie \
-p 8000:8000 \
-v /path/to/games:/junie/games \
namaneo/junie
Junie is licensed under the GNU General Public License v3.0.