Code Monkey home page Code Monkey logo

rom-loader's Introduction

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.

rom-loader's People

Contributors

sc0ttj avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

litflame3

rom-loader's Issues

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.