Difference between revisions of "Genesis Plus"

From WiiBrew
Jump to navigation Jump to search
Line 4: Line 4:
| type = console emulator
| type = console emulator
| author = EkeEke
| author = EkeEke
| version = 1.5.0
| version = 1.6.0
| download = http://code.google.com/p/genplus-gx/downloads/list
| download = http://code.google.com/p/genplus-gx/downloads/list
| source = http://code.google.com/p/genplus-gx/source/checkout
| source = http://code.google.com/p/genplus-gx/source/checkout

Revision as of 20:43, 7 August 2011

Genesis Plus GX
Genplus console.png
TypeConsole emulator
Wiimote4.svg WiimoteHorizontal.svg SensorBar.svg Nunchuck alternative.svg ClassicController.svg USB Mouse GameCube Controller DVD Loads files from SDHC cards in the Front SD slot USB mass storage device GameCube Memory Card

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.


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


Read the included User Manual.


Menu Controls

GameCube Controller WiimoteHorizontal.svg WiimoteHorizontal.svg+Nunchuck alternative.svg ClassicController.svg Action
GameCube Control Stick or Gamecube D-Pad Up / Gamecube D-Pad Down Wiimote D-Pad Up / Wiimote D-Pad Down Wiimote D-Pad Up / Wiimote D-Pad Down or Nunchuck Control Stick Classic D-Pad Up / Classic D-Pad Down or Classic Left Control Stick Move
Gamecube B Button Wiimote B Button or Wiimote 1 Button Wiimote B Button or Wiimote 1 Button Classic b Button Previous menu
Gamecube A Button Wiimote A Button or Wiimote 2 Button Wiimote A Button or Wiimote 2 Button Classic a Button Select

File selector menu

GameCube Controller WiimoteHorizontal.svg WiimoteHorizontal.svg+Nunchuck alternative.svg ClassicController.svg Action
Gamecube D-Pad Left / Gamecube D-Pad Right or GameCube Control Stick Wiimote D-Pad Left / Wiimote D-Pad Right Wiimote D-Pad Left / Wiimote D-Pad Right or Nunchuck Control Stick Classic D-Pad Left / Classic D-Pad Right or Classic Left Control Stick Display the selected entry's full filename
Gamecube D-Pad Up / Gamecube D-Pad Down or GameCube Control Stick Wiimote D-Pad Up / Wiimote D-Pad Down Wiimote D-Pad Up / Wiimote D-Pad Down or Nunchuck Control Stick Classic D-Pad Up / Classic D-Pad Down or Classic Left Control Stick Select previous/next file
GameCube L Trigger / GameCube R Trigger Wiimote - Button / Wiimote + Button Wiimote - Button / Wiimote + Button Classic L Trigger / Classic R Trigger Down/Up one full page
GameCube Z Button Wiimote HOME Button Wiimote HOME Button Classic HOME Button Quit the file selection menu
Gamecube B Button Wiimote B Button or Wiimote 1 Button Wiimote B Button or Wiimote 1 Button Classic b Button Up one directory
Gamecube A Button Wiimote A Button or Wiimote 2 Button Wiimote A Button or Wiimote 2 Button Classic a Button Load the selected file or enter selected directory

Game Controls (default)

The control can be changed in "Emulator Options/Controls Options" menu except directional buttons & Menu key.

You can do a soft reset by pressing the Wii RESET Button.

To play game with Menacer or Justifiers lightgun you have to configure a controller in Port A and Port B for lightgun (2 supported). Wiimote A Button to shoot and Wii Remote Aim to aim.

GameCube Controller WiimoteHorizontal.svg Wiimote.svg+Nunchuck alternative.svg ClassicController.svg Action
GameCube Control Stick or GameCube D-Pad Wiimote D-Pad Wiimote D-Pad or Nunchuck Control Stick Classic D-Pad or Classic Left Control Stick Genesis Dpad
GameCube START Button Wiimote + Button Wiimote + Button Classic + Button START
Gamecube B Button Wiimote A Button Wiimote A Button Classic y Button A
Gamecube A Button Wiimote 1 Button Wiimote B Button Classic b Button B
Gamecube X Button Wiimote 2 Button Nunchuck Z Button Classic a Button C
GameCube L Trigger Classic L Trigger X
Gamecube Y Button Classic x Button Y
GameCube R Trigger Classic R Trigger Z
GameCube Z Button Wiimote - Button Wiimote - Button Classic - Button Mode
GameCube Z Button+Gamecube D-Pad Down or Gamecube D-Pad Up or Gamecube D-Pad Left or Gamecube D-Pad Right Wiimote HOME Button Wiimote HOME Button Classic HOME Button Emulator Menu

1.6.0 (08/07/2011)


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


  • 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).


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


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


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


  • added Cyborg Z to Korean mapper database.


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


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


  • 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)


  • 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).


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


  • 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)


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


  • 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)


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


  • 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


  • 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)


  • 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)


  • 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


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


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


  • 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)


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

1.3.0 (12/14/2008)


  • 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


  • 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


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


  • 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)