Genesis Plus

From WiiBrew
Jump to: navigation, search
Genesis Plus GX
Genplus console.png
General
Author(s)EkeEke
TypeConsole emulator
Version1.7.0
Links
Download
Website
Source
Downloadable via the Homebrew Browser
Peripherals
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 Mega CD / Sega CD, Genesis/Megadrive, Master System, Game Gear and SG-1000 emulator. This is a port of Charles MacDonald's Genesis Plus to the Wii, with a lot of improvements.

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)

Mega CD emulation

Original BIOS ROM files are required: unzip & rename them to bios_CD_U.bin, bios_CD_E.bin, bios_CD_J.bin in /genplus/bios/ directory

Controls

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

Change Log

1.7.0 (01/07/2012)

Core/SCD

  • added Mega CD / Sega CD hardware emulation (incl. Sub 68K, CDD, CDC, PCM, GFX rotation/scaling, etc)
  • added .ISO & .BIN CD image file support
  • added 512K backup cartridge RAM support
  • added savestate support for CD games

Core/CPU

  • modified 68k core for Mega CD / Sega CD support
  • optimized 68k core using prebuild const tables

Core/VDP

  • improved DMA accuracy
  • improved accuracy of nametables register & VSRAM writes during HBLANK: fixes "The Adventures of Batman & Robin" (graphical issues during 2nd Boss fight).
  • added support for 8-bit VRAM writes with undocumented code value (verified on real hardware by Nemesis)

Core/Sound

  • improved synchronization between SN76489 & YM2162 cores.
  • improved accuracy of SN76489 core timings.

Core/MD

  • added support for some recently dumped unlicensed games.
  • improved emulation of 32k bankswitch hardware used by a few unlicensed games.
  • fixed behavior of Z80 banked reads from 68k RAM (verified on real hardware).
  • fixed support for 128K Pro Action Replay ROM.

Core/MS

  • added support for all recent korean ROM dumps by SMS Power.
  • added emulation of korean multi-game mapper (4-Pak All Action)
  • added pseudo-random RAM pattern initialization on Mark-III and Japanese Master System (fixes "Alibaba and 40 Thieves" & "Block Hole")
  • added port $3E emulation & internal BOOTROM support (Master System & Game Gear only).

Core/General

  • added an option to set VDP mode (PAL/NTSC) independently from console region.
  • added an option to select original system master clock frequency (PAL/NTSC/AUTO), emulation will run at selected frequency when VSYNC is disabled.
  • fixed 68k context loading/saving (Sol Deace).
  • fixed C89 incompatibilities for better portability.
  • removed use of "long int" type for portability on 64-bit platforms.
  • moved savestate zlib compression out of emulation core (for ports that don't use it).
  • various optimizations.

Gamecube/Wii

  • removed ROM load device selection from Load Menu: default ROM device must now be configured in menu settings.
  • added specific load buttons, browsers & saved paths for each systems, this also fixes slowdowns caused by screenshot loading when browsing from slow devices.
  • added support for left/right buttons as page up/down keys in ROM browsers
  • added right analog stick as default "return to menu" key for Gamecube controllers
  • added alternate remappable menu key combo for Gamecube controllers
  • added an option to disable VSYNC (emulator is synced with audio hardware instead of video).
  • added an option to boot system from "BIOS", with or without cartridge.
  • added Master System & Game Gear "BIOS" support (files should be named bios_U.sms, bios_J.sms, bios_E.sms & bios.gg and copied to /genplus/bios directory).
  • replaced "Hard Reset" button by a Soft Reset for systems having a Reset button (Mega Drive / Genesis & Master System)
  • State & SRAM files are now only compressed when saving to Gamecube Memory Cards
  • various fixes & cleanup.
  • compiled with devkitPPC r26 & libogc 1.8.11.

Gamecube

  • improved progressive mode support when component cable is detected (hold B during startup to switch menu video mode configuration)

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)