A GtkDialog based frontend GUI for multiple retro gaming emulators.
Supports the following systems:
Amiga (500, 1000, 2000, CD32, CDTV), Apple (68k, 128k, 512k, SE, MacOS, Plus), Atari (400, 400 XL, 800, 800XL, 130XE, 5200, Falcon, Lynx, ST, others), Amstrad (CPC, Plus, VEB, others), Arcades (many), Colecovision, Commodore (64, 128, VIC20, PET, others), Doom, GameBoys (GB, GBC, GBA), GameGear, Genesis/MegaDrive, Intellivision, Master System, MS DOS, MSX, MSX2, N64, NDS, NeoGeo, NeoGeo Pocket, NeoGeo CD, NES/Famicom, PC Engine/TurboGrafix, PC-FX, PlayStation, PSP, ScummVM, SNES, Wonderswan, Virtual Boy, ZX Spectrum (16k, 48k, 128k, +2, +2A, +3) and more!
Rom-Loader is just a bunch of shell scripts. It should work on any architecture.
Made for Puppy Linux. Thanks to zigbert and many others...
Forum thread: http://murga-linux.com/puppy/viewtopic.php?t=92414
- gtkdialog >= 0.8.4
- rejoystick - Rejoystick allows you to map joystick buttons to keyboard keys**
- rejoystickCC - a simple GUI for configuring Rejoystick
- JWM window manager (optional - for fullscreen working "out of the box", see Fullscreen setup)
** So you can enable joypads even with emulators that don't support them :)
Emulators are required to actually play any games.
If installed, Rom-Loader can use any of the following emulators:
- AdvMAME - Multiple arcades systems
- Atari800 - Atari 8-bit and 5200
- Atari++ - Atari 400, 800, 400XL, 800XL, 130XE, 5200
- Basilisk - Apple Mac
- CPCEmu - Amstrad CPC
- Desmume - Nintendo DS
- Dega - SEGA Genesis/MegaDrive
- Dgen - SEGA Genesis/MegaDrive
- DOSBox - DOS
- E-UAE - Amiga systems
- ePSXe - PlayStation (PSX)
- FCEUX - Nintendo Entertainment System (NES)
- Frodo - Commodore64
- FS-UAE - Amiga A500, A500+, A600, A1200, A1000, A3000 and A4000 models
- Gens/GenGS - SEGA Master System, Genesis/MegaDrive, 32X
- GnGeo - NeoGeo
- GxMAME - Multiple arcades systems
- Hatari - Atari ST
- HuGo - PC Engine
- iNES - Nintendo Entertainment System (NES)
- Kega Fusion - SEGA Master System, Game Gear, Genesis/Megadrive, SegaCD/MegaCD, 32X, others
- Mupen64plus - Nintendo N64
- Mednafen - Genesis, SNES, PSX, Gameboy Color and Advance, PC Engine, SEGA Saturn, others
- M.A.M.E - Multiple arcades systems
- PCSXr - PlayStation (PSX)
- PCSX2- PlayStation2 (PS2)
- NeoCD - NeoGeo CD
- Nestopia - Nintendo Entertainment System (NES)
- Osmose - SEGA Master System
- PPSSPP - Sony PSP
- PrBoom Plus - Doom, Doom 2, Hexen
- ScummVM - Scumm engine and Sierra point and click games
- SDLMAME - Multiple arcades systems
- Snes9x-GTK - Nintendo SNES
- Speccy - Spectrum ZX
- Stella - Atari 2600
- VisualBoyAdvance - Gameboy Color (GBC) and Advance (GBA)
- VBA-M - Gameboy Color (GBC) and Advance (GBA)
- VICE - Commodore 64 and many other Commodore systems
- Yabause-GTK - SEGA Saturn
- ZiNc - Namco/Sony arcades systems
- ZSNES - Ninteno SNES
Rom-Loader (and all supported emulators) is included by default in Puppy Arcade, which can be downloaded here:
- Puppy Arcade 11 (retro gaming Linux, based on Puppy Linux "Slacko" 5.9)
- for compiling stuff in Puppy Arcade 11, download the dev packages SFS file and mount it
Other versions:
In Puppy Linux, run the following command from the root dir of this repo:
dir2pet rom-loader-1.8
This will build the PET package for you. Install it with:
petget <package-name>.pet
Use the menu entry, found at Menu->Fun->Rom-Loader
.
Or type rom-loader -h
in the terminal to see all options:
Usage: rom-loader [OPTION]
Options
-s Force the splash screen to appear
-sk Skip the splash screen
-f Start the rom loader GUI in fullscreen
-h Show this help message
For each support system, you can choose which emulator in the Rom-Loader Settings
tab:
Setup joypads even for emulators that don't support them:
Rom-Loader also offers easy access to emulator configs:
If not using JWM, you need to set a jwm-maximized
group or class for your WM,
that styles windows as borderless, fullscreen when rom-loader
is called with
the -f|--fullscreen
option.
Example JWM config that does this job:
<Group>
<Class>jwm-maximized</Class>
<Option>maximized</Option>
<Option>notitle</Option>
</Group>
Alternatively, you can always force fullscreen by making the paloader
program
itself always fullscreen:
Example JWM config that does this job:
<Group>
<Class>paloader</Class>
<Option>maximized</Option>
<Option>notitle</Option>
</Group>
The actual config options you will need will depend on your window manager.
-
Fork this repo.
-
Then pull down the code:
git clone https://github.com/<username>/rom-loader
cd rom-loader
-
Edit some files.
-
Rebuild the PET package (see
Building your own package
above) -
Install the package (click on it or run
petget <package>.pet
). -
Test out your changes.
-
Share your changes:
Push your changes to your fork:
git checkout -b "mybranch"
git add .
git commit -m "some message"
git push -u origin mybranch
Then open a Pull Request.