Genesis Plus

From GameBrew - a wiki dedicated to homebrew on Video Game Systems.
Jump to: navigation, search
Genesis Plus GX
Genplus console.png
General
Author(s) EkeEke
Type Console emulator
Version 1.7.0
Links
Download
Source

Genesis Plus GX is a Sega Genesis / Megadrive / Master System / Game Gear / SG-1000 emulator. This is a port of Charles MacDonald's Genesis Plus to the Wii, with a lot of improvements.

Contents

Information

  • Preferred PAL Mode: Any (automatic TV mode detection, no more PAL60 version needed).
  • Display mode : 480p, 480i, 576i, 240i, 288i, 288p and 240p
  • Supports Zip compressed rom images.
  • Genesis 4 players multitap adapters (Sega TeamPlayer and EA 4-Way Play) support
  • Game Genie & Action Replay cheat code support
  • Sega Mouse
  • Sega Activator
  • Sega Menacer & Konami Justifier lightguns. 2 lightgun has the same time supported.
  • SVP DSP (Virtua Racing)
  • Master System compatibility mode
  • and a lot more, read the included user manual for details.

Installation

SD Card

The SD card should have at least one partition formatted to FAT (FAT16 or FAT32). Unzip the genplus-gx.zip folder, in it you should find a folder named "apps". Move the "apps" folder to the root of your SD Card. If your Wii is correctly softmodded it should now be able to run the emulator through The Homebrew Channel. Make a folder in your SD Card root called "genplus" place the "genplus_wii.dol" file in the folder, make a new folder called "roms" in the "genplus" folder. The emulator will automatically look for roms in genplus/roms folder.

USB Drive

The USB drive should have at least one partition formatted to FAT (FAT16 or FAT32), other file systems (NTFS, EXT2, etc) are not supported. If no SD card is inserted when the emulator starts, it automatically creates a directory named “/genplus” at the root of your USB drive partition, as well as a few subdirectories, all required by the emulator to store important files (configuration, cheat files, SRAM files, screenshots, etc). By default, the emulator will look for ROM files in the /genplus/roms directory but you can place them anywhere you want, the menu keeping trace of the last accessed directory for each device. To use an USB2 drive, you must have IOS58 installed (it should be automatically installed with System Menu 4.3 update). You should also load the emulator through the Homebrew Channel, using the provided meta.xml file and make sure Homebrew Channel is using IOS58 as default IOS. (copied from the README included with the emulator)

Changelog

1.6.0 (08/07/2011)

Core/Sound

  • added YM2413 emulation in Master System compatibility mode.
  • fixed SN76489 noise boost initialization.
  • minor YM2612 core optimizations.

Core/VDP

  • added accurate emulation of SG-1000, Master System (315-5124, 315-5246) & Game Gear VDP.
  • added support for all TMS9918 rendering modes.
  • improved Mega Drive VDP timings accuracy in Master System Compatibility mode.
  • fixed color palette initialization.
  • fixed shifted sprites rendering in Mode 4.
  • modified pixel rendering support (pixel depth is now forced at compilation time).

Core/CPU

  • optimized 68k core (rewrote 68k interrupt handling, removed multiple CPU types support & unused code) for 5~8% speed improvment

Core/IO

  • added accurate emulation of Master System (315-5216, 315-5237, 315-5297) & Game Gear I/O controllers.
  • added Terebi Oekaki tablet emulation.
  • improved Mouse emulation (fixes mouse support in Cannon Fodder).
  • improved Justifier emulation (fixes gun support in Lethal Enforcers 2).
  • improved 6-Buttons control pad emulation (fixes Duke Nukem 3D)
  • modified lightgun emulation to use common key inputs for all devices.
  • 2-buttons controller is now picked by default for Master System games.

Core/MD

  • added copy-protection hardware emulation for some new dumped games (Tiny Toon Adventures 3, Mighty Morphin Power Rangers & The Battle of Red Cliffs).
  • added Game Toshokan in EEPROM database (verified on real cartridge).
  • fixed Micro Machines 2 - Turbo Tournament EEPROM size (verified on real cartridge).
  • modified SRAM banswitch hardware emulation to be more compatible with some hacks.

Core/MS

  • added Cyborg Z to Korean mapper database.

Core/GG

  • added 93C46 EEPROM emulation (Majors Pro Baseball, World Series Baseball & World Series Baseball 95).

Core/General

  • added support for .mdx ROM format.
  • added Game Gear & SG-1000 ROM support.
  • added accurate emulation of SG-1000, Master System (I, II) & Game Gear hardware models for 100% compatibility.
  • updated to new Genesis Plus license (see http://cgfm2.emuviews.com/)
  • various code cleanup.

Gamecube/Wii

  • IMPORTANT: cheats, screenshots & save files are now stored in console-specific directories (ex: /snaps/md, /cheats/ms, /saves/gg, ...)
  • added 8-bit Action Replay & Game Genie codes support (for Master System & Game Gear games).
  • improved audio/video synchronization for PAL games in 50Hz TV modes (now use VSYNC like NTSC games in 60hz modes).
  • improved gun cursor positioning accuracy.
  • improved horizontal scaling & screenshots rendering in H32 mode.
  • fixed a bug with ROM file extension handling that would affect cheats, snapshots, sram & savestate files.
  • removed ARAM/injected ROM support (unused).
  • removed WPAD_ and PAD_ update from VSYNC callback.
  • increased GCC inlining limits for some speed improvment.
  • compiled with devkitPPC r24 & libogc 1.8.7.

1.5.0 (04/01/2011)

Core/VDP

  • added support for Master System compatibility mode (Z80 ports access mode), incl. Mode 5 rendering.
  • added Mode 4 rendering for both Genesis & Master System modes.
  • added alternate BG planes rendering functions (should be faster on PPC architectures).

Core/IO

  • added support for Master System compatibility mode (Z80 ports access mode).
  • added Master System peripherals emulation (Control Pad, Paddle, Sports Pad & Light Phaser).
  • added XE-1AP (analog controller) emulation.
  • added Activator emulation.

Core/Extra]

  • added support for all known Master System cartridge mappers.
  • added copy-protection hardware emulation for a few MD unlicensed games: fixes 777 Casino (crash when talking to bunny girls).

(NB: most of those unlicensed games seem to have been already patched by ROM dumpers, main purpose is documenting them)

  • added support for Top Shooter arcade board controller. (A=Shoot, B=Bet, C/RIGHT=Coins, START=Start, hold UP on startup to enter service mode)
  • improved King of Fighters 98 mapper emulation (registers address decoding is now 100% accurate)
  • fixed Game Genie when several codes affect same ROM address.
  • fixed EEPROM types for Brian Lara Cricket & NBA Jam TE (verified on real cartridges)

Core/General

  • added Master System compatibility mode emulation (automatically enabled when loading ROM file with .sms extension).
  • improved savestate stability & compatibility (support for old 1.4.x savestates is preserved)
  • various code cleanup & comments.

Gamecube/Wii

  • fixed cheat codes handling when several codes affect same ROM address.
  • improved input controller detection on menu exit.
  • improved key remapping dialog box to match emulated device
  • changed Menu key for Gamecube controller to allow MODE button mapping
  • fixed DVD not being unmounted on swap (memory leak)

Wii only

  • added USB mouse support for Sega Mouse emulation
  • compiled with latest libogc: improves USB compatibility & fixes stability issues with Wiimotes.

1.4.1 (12/04/2010)

Core/VDP

  • improved VBLANK flag accuracy, as observed on real hardware.
  • improved DMA operations accuracy, writes are now performed on a scanline basis: fixes Gaiares (flickering title screen).
  • improved DMA Fill timing accuracy.
  • fixed DMA with bad code values: fixes Williams Arcade Classics (corrupted gfx after soft reset).
  • fixed horizontal resolution changes during HBLANK: fixes Bugs Bunny in Double Trouble (2nd stage).
  • fixed Vertical Counter in interlace mode 1, as observed on real hardware.
  • fixed horizontal border width, as observed on real hardware.
  • various code improvments & optimizations.

Core/Extra

  • improved savestate format: added DMA, SVP, cartridge mapping & internal registers state informations
  • improved unlicensed ROM mappers emulation
  • added Chinese Fighters III mapper support
  • added Top Fighter mapper support
  • fixed Barver Battle Saga mapper support
  • fixed cartridge hardware soft-reset (Game Genie, SVP, ...)
  • fixed Game Genie registers byte reads

Gamecube/Wii

  • added message box when inputs config uses disconnected controllers.
  • added message box when settings are reseted to default on startup.
  • fixed default inputs configuration.
  • fixed memory leak in Cheat Menu causing spurious resets.
  • added an option to enable/disable automatic cheat activation
  • increased max number of cheat codes
  • optimized cheat codes requiring RAM patching.
  • improved default horizontal scaling to better match output from a real Mega Drive

Gamecube specific

  • fixed inverted keys in cheat menu.
  • fixed audio input frequency, now use exact audio hardware samplerate, as measured on my Game Cube (~48044 Hz),
  • (NB: Wii samplerate has been verified to be closer to 48000 Hz)

Wii specific

  • added the possibility for any wiimotes to be used as input device, regardless of the connected expansion controller.
  • fixed USB drive not being detected when application is loaded from USB (HBC), thanks to Tantric for the tips.

1.4.0 (11/01/2010)

Core/Sound

  • completely rewrote sound processing/mixing: sound chips are now clocked with exact output framerate to ensure 100% smooth video & audio playback, with no lag or skipping, while rendering an accurate number of samples per frame and keeping PSG & FM chips in sync.
  • improved PSG & FM chips synchronization with CPU execution (fixed point precision).
  • improved YM2612 core general accuracy (SSG-EG, CSM mode,...) (based upon Nemesis recent tests on real hardware)
  • improved YM2612 LFO emulation accuracy: fixes "Spider-Man & Venom : Separation Anxiety" (intro)
  • fixed YM2612 bug with Timer B: fixes "Langrisser Hikari II"/"Der Langrisser II" (Sega logo)
  • fixed YM2612 context saving/loading.
  • fixed YM2612 state on reset.
  • removed outdated & less accurate Gens YM2612 core
  • added configurable YM2612 DAC resolution emulation.
  • added configurable & faster FIR resampler (thanks to Blargg & AamirM), removed libsamplerate support.
  • added configurable Low-Pass filtering
  • added configurable 3-Band Equalizer (thanks to Neil C).
  • added an option to boost SN76489 Noise Channel.
  • adjusted SN76489 cut-off frequency.
  • implemented Blargg's blip buffer in SN76489 core (all channels are now lineary interpolated)

Core/VDP

  • added support for CRAM writes during horizontal blanking (Striker, Zero the Kamikaze Squirrel,...)
  • added support for 2-Cell vertical scrolling in Interlaced 2 mode
  • added support for some undocumented mode register bits
  • added proper emulation of HV Counter latch: fixes Sunset Riders intro
  • added pixel-accurate emulation of mid-line display on/off (Nigel Mansell World Championship PAL, Ren & Stimpy's Invention PAL,...)
  • improved 2-cell vscroll emulation accuracy, as verified on real hardware (Gynoug, Cutie Suzuki no Ringside Angel, Formula One, Kawasaki Superbike Challenge)
  • improved FIFO timings accuracy: fixes Sol Deace intro
  • improved sprite masking accuracy (thanks to Nemesis for his test program)
  • improved sprites processing accuracy: fixes (un)masked sprites in Mickey Mania (3D level), Sonic 2 (VS mode).
  • improved HBLANK flag timing accuracy: fixes Mega Turrican (Sky level)
  • improved horizontal blanking & HINT/VINT occurence timing accuracy, as measured on real hardware.
  • improved HCounter accuracy in 40-cell mode, as measured on real hardware.
  • improved color accuracy in VDP highlight mode to match results observed on real hardware

Core/CPU

  • updated Z80 core to last version (fixes interrupt Mode 0 timing and some BIT instructions).
  • fixed some Z80 instructions timing.
  • fixed state of Z80 registers on reset (sound issues with Defender & Defender 2 in Williams Arcade Classics)
  • improved Z80 interrupt accuracy
  • improved 68k accuracy (initial Reset timing + auto-vectored interrupts handling).
  • improved 68k timing accuracy for DIVU/DVIS (thanks to Jorge Cwik) & MULU/MULS instructions.
  • implemented 68k undocumented flags behavior for DIVU/DIVS instructions (Bloodshot / Battle Frenzy)
  • improved Z80 & 68k cpu execution/synchronization accuracy by using Master Clock as common reference (now run exactly 3420 M-Cycles per line).
  • modified Z80 & 68k cores to directly use external cycle count instead of intermediate counters.

Core/Extra

  • added Game Genie hardware emulation.
  • added Action Replay & Pro Action Replay hardware emulation (only preliminary Pro Action Replay 2 support).
  • added Sonic & Knuckles "Lock-On" support.
  • added Cartridge "Hot Swap" feature.
  • added missing EEPROM support in more games.
  • added VDP lock-out emulation (TMSS).
  • improved emulation of copy-protection hardware found in some unlicensed cartridges (Mulan, Pocket Monsters II).
  • fixed Realtec mapper emulation: fixes missing sound in Balloon Boy / Funny World.
  • fixed lightgun auto-detection: fixes default cursor position in Lethal Enforcers II.
  • enabled simultaneous use of multitap & J-CART (Super Skidmarks 6-player mode)
  • lots of code cleanup, bugfixes & optimization.

Gamecube/Wii

  • implemented custom FONT engine (uses internal IPL font & GX hardware rendering).
  • implemented custom GUI engine (uses GX hardware rendering & multithreading)
  • implemented advanced menu interface (IR pointing, game snapshots, cheats & saves manager, visual & sound effects, BGM support, etc).
  • improved audio/video synchronization to ensure 100% smooth video & audio playback.
  • improved soft-reset button support, now works more like real Mega Drive / Genesis (model 1) reset button.
  • improved lightgun cursors layout.
  • added automatic ROM loading feature (last played game launches immediately when starting the emulator)
  • added PAR codes and .pat files support
  • fixed lot of stability issues and potential memory leaks.

Wii specific

  • added Video Hardware "Gamma" control
  • added Video Hardware "Trap Filter" control
  • improved Mouse emulation through Wii remote
  • compiled with devkitPPC r22 & libOGC 1.8.5 (includes SDHC & USB2 support through IOS58, removes DVDX support)

1.3.1 (12/20/2008)

Gamecube/Wii

  • improved sound engine
  • modified frame sync, now uses audio DMA interrupt

1.3.0 (12/14/2008)

Core/YM2612

  • fixed EG Decay->Substain transition when SL & DR are minimals: fixes tracks #3 and #9 in "Mega Turrican"
  • fixed a bug in SSG-EG emulation code: fixes Level 1 music in "Alisia Dragoon"
  • modified SSG-EG Decay End Level: fixes some sound effects (ChainSaw, Zap...) in "Beavis & Butthead"
  • improved Detune overflow accuracy: fixes very high frequency sounds in many games
  • fixed registers 0x20-0x26 Reset state: fixes intro music in "B.O.B"
  • reverted incorrect fix with KEY ON: fixes "Flamethrower" sound effect in "Alien 3" and many others

Core/VDP

  • adjusted HCounter values: fixes line flickering in "Sonic 3D" bonus stage
  • adjusted VINT timing: fixes hang-up in "V.R Troopers"
  • improved HBLANK flag accuracy: fixes line flickering in "Gouketsuji Ichizoku"
  • fixed broken Z80 access to WRAM: fixes hang-up in "Mamono Hunter Youko"
  • modified JCART emulation: fixes corrupted tracks logo in "Micro Machines 2"
  • added Blargg's NTSC Filters support (NTSC video artifacts emulation)
  • optimized VDP rendering core

Core/CPU

  • rewrote 68k interface (memory handlers, cycle execution, interrupts), greatly improves emulation speed

Gamecube/Wii

  • removed slowest libsamplerate settings under "HQ YM2612" option, only keeps SRC_LINEAR (faster) and SRC_SINC_FAST (better)
  • added option to enable/disable bilinear filtering
  • rewrote video engine
  • improved horizontal scaling (VI+GX)
  • improved rendering speed (direct texture mapping)
  • removed embedded font, (re)enabled IPL font support, now should work for Qoob users too (thanks to emukiddid)
  • fixed "Reset" button behavior
  • patched libfat for faster SD card accesses (thanks to svpe)
  • SRAM and SaveState filenames are now based on the ROM filename (for FAT devices only)
  • various bug fixes, menu tweaks and code cleanup

Gamecube specific

  • added 480p support in menu

Wii specific

  • implemented fast scrolling in menu using Wiimote D-PAD
  • added "Power" button support
  • added USB Storage support
  • widescreen menu fix
  • compiled with libogc 1.7.0 (SDHC support)