jgenesis (Source)

jgenesis (Source)
jgenesis (Source)
File Size:
535.66 kB
Version:
0.8.3
Author:
Date:
07 December 2024
Downloads:
79 x

Cross-platform multi-console emulator supporting a number of 8-bit and 16-bit gaming consoles.

Features

* Emulation for the following consoles:
  - Sega Genesis / Mega Drive
  - Sega CD / Mega CD
  - Sega Master System / Mark III
  - Game Gear
  - Nintendo Entertainment System (NES) / Famicom
  - Super Nintendo Entertainment System (SNES) / Super Famicom
  - Game Boy / Game Boy Color
* GPU-based renderer with integer prescaling and optional linear interpolation
* Configurable pixel aspect ratio for each console with several different options: accurate to original hardware/TVs, square pixels, and stretched to fill the window
* Support for the Sega Master System FM sound unit expansion
* Support for the Sega Genesis SVP chip, used in Virtua Racing
* Support for the most common NES mappers, plus a number of less common mappers
* Support for most SNES coprocessors (e.g. Super FX, SA-1, DSP-1, CX4, S-DD1, SPC7110)
* Support for both 3-button and 6-button Genesis controllers
* Support for keyboard controls and DirectInput gamepad controls
* Save states, fast forward, and rewind
* Some simple horizontal blur and naive anti-dither shaders for blending dithered pixel patterns, which were extremely common on these consoles due to limited color palettes and lack of hardware-supported transparency
* Optional 2x CPU overclocking for Sega Master System and Game Gear emulation
* Optional 2-4x GSU overclocking for SNES Super FX games
* Can run the Titan Overdrive and Titan Overdrive 2 demos for the Mega Drive

Notes

This project requires the latest stable version of the Rust toolchain to build.

SDL2

This project requires SDL2 core headers to build.

Linux (Debian-based):

sudo apt install libsdl2-dev

Windows:

GTK3 (Linux GUI only)

On Linux only, the GUI requires GTK3 headers to build.

Linux (Debian-based):

sudo apt install libgtk-3-dev

Build & Run

GUI:

cargo run --release --bin jgenesis-gui

CLI:

cargo run --release --bin jgenesis-cli -- -f <path_to_rom_file>

To view all CLI args:

cargo run --release --bin jgenesis-cli -- -h

To build with maximum optimizations (better runtime performance + smaller binary size at the cost of long compile time):

RUSTFLAGS="-C target-cpu=native" cargo build --profile release-lto

...After which the executables will be in target/release-lto/.

 
 
Powered by Phoca Download