Skip to content

sc0ttj/rom-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Rom-loader

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 interface

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

Requirements

Dependencies

** So you can enable joypads even with emulators that don't support them :)

Emulators

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

Releases

Puppy Arcade 11

Rom-Loader (and all supported emulators) is included by default in Puppy Arcade, which can be downloaded here:

Other versions:

Building your own rom-loader package

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

Usage

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

Screenshots

Main menu

Rom-Loader interface

Browsing your ROMs

Browsing your ROMs

Settings menu

For each support system, you can choose which emulator in the Rom-Loader Settings tab:

Choose your preferred emulators

Setup joypads even for emulators that don't support them:

Setup joypads even for emulators that don't support them!

Rom-Loader also offers easy access to emulator configs:

Easy access to emulator configs

Fullscreen setup

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.

Contributing:

  1. Fork this repo.

  2. Then pull down the code:

git clone https://github.com/<username>/rom-loader
cd rom-loader
  1. Edit some files.

  2. Rebuild the PET package (see Building your own package above)

  3. Install the package (click on it or run petget <package>.pet).

  4. Test out your changes.

  5. 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.