Genesis Plus

***Genesis Plus GX*** is a Sega / Mega 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.

## Contents

[hide]

* 1Information
* 2Installation
	+ 2.1SD Card
	+ 2.2USB Drive
	+ 2.3DVD
* 3Mega CD emulation
* 4Controls
	+ 4.1Menu Controls
	+ 4.2File selector menu
	+ 4.3Game Controls (default)
* 5Media
	+ 5.1v1.4.0
* 6Change Log

## Installation

### SD Card

The SD card should be formatted to FAT (FAT16 or FAT32). If not found, the emulator automatically creates a directory named “/genplus” at the root of your SD card, as well as subdirectories required by the emulator to store miscellaneous files (cheat, save & screenshot files).

By default, the emulator will look for files in the sd:/genplus/roms directory but you can place them anywhere you want, the menu keeping trace of the last accessed directory for each device.

### 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 subdirectories required by the emulator to store miscellaneous files (cheat, save & screenshot files).

By default, the emulator will look for files in the usb:/genplus/roms directory but you can place them anywhere you want, the menu keeping trace of the last accessed directory for each device and for each file types.

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. If not, you might need to reinstall Homebrew Channel after having installed IOS58.

### DVD

The DVD should be formatted using ISO9660/Joliet (refer to the user manual of your DVD Burning software for more details).

By default, the emulator will look for files at the root of your DVD but you can place them anywhere you want, the menu keeping trace of the last accessed directory for each device and for each file types.

To use DVD on a non-chipped Wii, you should load the emulator through the Homebrew Channel and use the provided meta.xml file, in order to allow full access to the DVD drive.

## Mega CD emulation

1) Original BIOS ROM files are required (one for each region): unzip & rename them to bios\_CD\_U.bin, bios\_CD\_E.bin, bios\_CD\_J.bin in /genplus/bios/ directory

2) When using ISO image files, WAV or OGG files should be provided as AUDIO track files. You can either load a CUE file pointing to a specific ISO file and containing all the needed information about AUDIO tracks files or directly load the ISO file. In the latter case, the emulator will first look for a .CUE file with the same base name, then if no CUE file is found, it will automatically look for .WAV or .OGG files respecting one of the following naming format (“XXX” being the .ISO filename, NN being the track number and “yyy” being either .wav or .ogg extension): “XXXNN.yyy”, “XXX NN.yyy”, “XXX-NN.yyy”, “XXX - NN.yyy” or “XXX\_NN.yyy”. Please note that other compressed audio files (such as .mp3, .mpc, .wma, etc) are NOT supported and audio tracks should be using 16-bit stereo 44100Hz format.

3) When using BIN images files, audio tracks are generally stored within the image file. A CUE file is therefore required with all the needed information about audio tracks location. You can either load the CUE file pointing to the specific BIN file or directly load the .BIN file. In the latter case, the emulator will automatically look for a CUE file with the same base name as the BIN file.

## Controls

### 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 Template:WiiResetButton.

To play game with Menacer or Justifiers lightgun you have to configure a controller in Port A and Port B for lightgun (2 supported). Template:WiimoteAButton to shoot and Template:WiimoteAim to aim.

## Change Log

Please see included HISTORY.txt for full changelog

Genesis Plus GX 1.7.5 (xx/xx/xxxx) (Eke-Eke)

[Core/General]

* added optional dynamic allocation of cartridge/CD hardware buffer (for platforms with BSS size limitation)
* improved frame emulation timing, now starts with vertical blanking to reduce input lag by one more frame

```
 (!!!warning: this breaks compatibility with previous savestates!!!)

```

* various code cleanup

[Core/CD]

* added CD-AUDIO & CD+G support
* added optional support for external VORBIS library
* improved CDC emulation (fixes random freezes during Jeopardy & ESPN Sunday Night NFL intro)
* improved emulation of mirrored memory areas
* improved savestate format
* improved Sub-CPU synchronization with Main-CPU (fixes "Soul Star")
* improved Main-CPU & Sub-CPU idle loop detection (fixes "Super League CD")
* disabled 68k and Z80 access to PRG-RAM when SUB-CPU is running (fixes USA version of Dungeon Explorer )
* disabled CD hardware reset on Soft-Reset (verified on real hardware)
* fixed DATA track minimal length (fixes BIOS refusing to boot small homebrew demos)
* fixed CDD "no disc" status code (fixes boot sequence loading time when no disc is loaded)
* fixed OGG file seeking when using with CUE file
* fixed PRG-RAM access from MAIN-CPU side on system reset
* fixed state loading bug when SUB-CPU interrupt is pending
* fixed incorrect masking of Level 3 (GFX) interrupts (spurious freeze during Japanese BIOS intro)
* fixed H-INT vector handling when using Mode 1
* fixed access to "write-only" communication flags (verified on real hardware by Notaz)
* fixed pending level 1 interrupts when GFX interrupt is disabled (fixes random freezes out of "Batman Returns" option menu)
* fixed CDD seek command again (Final Fight CD freeze with model 2 BIOS)
* optimized Sub-CPU / Main-CPU synchronization

[Core/MD]

* added support for some new unlicensed games with copy protection (Thunderbolt II, Tom Clown, Chaoji Puke / Super Poker)
* added support for Everdrive extended SSF mapper
* improved console region auto-detection for a few PAL-only games (The Smurfs Travel the World & Williams Arcade's Greatest Hits)
* fixed Game Genie / Pro Action Replay lock-on support when Mega CD hardware is enabled
* fixed SRAM support in Triple Play 96 & Triple Play - Gold Edition
* fixed automatic CD loading with .md ROM files
* fixed ROM padding for Sonic & Knuckles
* fixed SRAM detection for games where it is mapped to work RAM ("Feng Kuang Tao Hua Yuan" crash)
* fixed 1.7.4 regression with games using SRAM bank-switching

[Core/MS]

* added support for new SMS Power dump Jang Pung II (KR)
* added support for Hi-Com X-in-1 mapper (thanks to Bock from SMS Power)
* improved console hardware auto-detection
* improved emulation accuracy of SG-1000 & Mark-III hardware
* improved emulation accuracy of Japanese Master System I/O chip (315-5297)
* fixed Boot ROM loading when switching system hardware

[Core/GG]

* added optional LCD ghosting software filter
* fixed mirrored access to I/O control register (G-LOC Air Battle)

[Core/SG]

* added support for SG-1000 II clone hardware (2KB RAM + integrated VDP/PSG chip 315-5066)
* fixed SG-1000 internal RAM size (1KB instead of 2KB)
* restored SG-1000 Pause button support

[Core/CPU]

* fixed Z80 SP register initialization on power-on for Master System & Game Gear

```
(Ace of Aces, Shadow Dancer, Ecco the Dolphin, Evander Holyfield Real Deal Boxing)

```

[Core/IO]

* added Sega Graphic Board support (thanks to SMS Power)
* added Master Tap emulation (multi-player support in Boom homebrew)
* added gamepad type auto-detection
* added support for XE-1AP analog controller on both ports
* improved HVC latch behavior for gun emulation (fixes "Gunfight - 3 in 1" randomization when using Justifier)
* fixed TeamPlayer emulation (fixes multitap detection in Gauntlet 4)

[Core/VDP]

* implemented proper FIFO ring-buffer & unused bits behavior on CRAM/VSRAM reads (verified on real hardware by Nemesis)
* improved accuracy of DMA Copy/Fill & added support for CRAM/VSRAM Fill (verified on real hardware by Nemesis)
* improved V28/V30 mode switching during active display (verified on real hardware)
* improved Mode 5 sprites parsing accuracy (verified on real hardware)
* improved Mode 5 sprites rendering timings (fixes "Overdrive" demo)
* improved FIFO timings accuracy (fixes "Overdrive" Demo)
* improved H-Counter accuracy in H32 mode
* improved accuracy of Master System color palette brightness range (verified against real hardware)
* fixed misaligned buffer writes in Mode 4 when -DALIGN\_LONG option is used
* fixed alpha channel for 15-bit (RGB555) and 32-bit (RGB888) color support
* fixed register #10 state on VDP¨reset (fixes GG Terminator 2: Judgment Day)
* fixed Mode 1 rendering (TMS99xx "text" mode)
* fixed Game Gear display rendering regression when left/right borders were disabled
* fixed 68k cycles delay on invalid VRAM writes (fixes "Microcosm" intro loop)
* optimized tile caching

[Gamecube/Wii]

* added configurable BIOS & Lock-on ROM files
* added configurable NTSC filter
* added configurable FPS display & toggleable fast-forward key combo

```
 (HOME + MINUS with Wii controllers or R TRIGGER + START with Gamecube controller)

```

* added 50hz progressive mode (576p) support for emulation
* reduced SRAM files size
* improved A/V Sync: when VSYNC is enabled, audio resampler output rate is now adjusted (+/-0,1 %)

```
 to always keep audio & video synchronized and input lag is reduced by one frame.

```

* improved GX video rendering (fixes screen tearing when VSYNC is disabled)
* improved ROM browser scrolling speed and added support for Classic Controller +/- buttons for page scrolling
* improved Cheats Menu
* fixed bug with PICO pointer
* fixed lightgun crosshair & CD leds positionning when using NTSC filter
* fixed low-pass filter menu setting
* various code cleanup & optimizations

[Gamecube]

* improved progressive mode switch request on startup when component cable is detected
* disabled simultaneous multiple .ogg files opening (fixes crashes caused to RAM size limitation)
* fixed broken DVD support

[Wii]

* added support for Wii U Pro Controller
* added Wiimote pointer calibration in Menu settings
* added configurable Wiimote timeout
* added game auto-load support through DOL args (compatible with "Wiiflow" plugin arguments)
* fixed support for 3rd-party classic controllers with invalid calibration settings

[GCW0]

* added GCW Zero port by Shin-NiL & David Knight (based on SDL port)

[libretro]

* added optional bootrom support for Master System, Game Gear & Mega Drive / Genesis
* added support for all emulated devices (except Activator)
* added support for in-game resolution changes through RETRO\_ENVIRONMENT\_SET\_SYSTEM\_AV\_INFO
* added support for .mdx ROM files
* added missing core settings (system hardware, region, lock-on, multitap, master system FM,...)
* fixed incorrect SRAM file saving
* fixed framebuffer size for PAL interlaced mode
* fixed viewport width when NTSC Filter is enabled with Mega Drive or Mega CD games using H-32 mode
* code cleanup

Genesis Plus GX 1.7.4 (21/06/2013) (Eke-Eke)

[Core/SCD]

* fixed access to read-only registers on Main-CPU side ("Batman Returns" platform level freeze)
* fixed & improved emulation of PRG-RAM write protection register ("Lunar Eternal Blue" japanese version freeze)
* improved SUB & MAIN-CPU synchronization ("Dracula Unleashed" freeze when using US Model 2 BIOS)
* improved CPU polling detection
* improved CDD emulation & added CD drive access time for SEEK command ("Panic!/Switch" intro missing scene)
* added missing reinitialization of MAIN-CPU PRG-RAM bank on reset
* added .OGG audio tracks support through LIBTREMOR

[Core/Sound]

* fixed YM2612 configurable DAC depth emulation
* improved Low-Pass filter
* added optional "MONO" output mode

[Core/VDP]

* fixed FIFO access timings when using invalid write code value ("Clue" menu)
* fixed DMA Copy with undocumented code value ("Fatal Labyrinth" end sequence)
* minor code fixes & optimizations

[Core/CPU]

* optimized 68k stack read/write functions
* fixed broken 68k address error emulation
* fixed 68k interrupt behavior (prevents interrupts from being executed multiple time when 68k is halted)
* fixed Z80 registers initial state, added proper initialization when using PBC (verified on real hardware by Charles McDonald)

[Core/MD]

* fixed SRAM incompatibilities between BIG ENDIAN & LITTLE ENDIAN platforms (note: this breaks old .srm files with LITTLE ENDIAN platform ports)
* added support for a few recently dumped unlicensed games
* added auto-detection of byte-swapped ROM files

[Gamecube/Wii]

* fixed CD Leds positioning when using NTSC filter
* improved on-screen CD Leds (thanks to Iceknight)
* various code fixes & improvements

Genesis Plus GX 1.7.3 (26/11/2012) (Eke-Eke)

[Gamecube/Wii]

* fixed broken input system initialization

Genesis Plus GX 1.7.2 (24/11/2012) (Eke-Eke)

[Core/SCD]

* added default TOC for Shadow of the Beast II (prevent hangs when audio tracks are missing)
* fixed CD-DA fader muting
* fixed PCM channels panning on reset
* fixed backup RAM file management when using disc swap with Mode 1 cartridge
* incremented CD drive read latency: fixes Space Adventure Cobra (freeze when opening coffin at 2nd morgue scene)
* improved CDD emulation accuracy: fixes Snatcher (freeze at the end of Act 2) & various CD player bugs
* improved MAIN-SUB memory map mirroring in SCD mode (verified on real hardware by Charles McDonald)
* implemented cycle-accurate "stopwatch" register emulation

[Core/Sound]

* fixed broken PSG noise frequency
* fixed incorrect Game Gear PSG stereo emulation
* implemented cycle-accurate Game Gear PSG stereo

[Core/VDP]

* fixed broken VDP DMA from SVP ROM latency (graphic errors in Virtua Racing)

[Core/MD]

* added Super Mario World 64 (unlicensed) cartridge hardware emulation

[Core/Input]

* added automatic detection for CD games with Justifier/Menacer support
* improved Justifier/Menacer emulation

[Gamecube/Wii]

* fixed screen rendering when borders are disabled
* added configurable on-screen CD leds

[Wii]

* DVD light now indicates when virtual CD tray is open
* fixed automatic input settings detection
* improved lightgun crosshair positionning

Genesis Plus GX 1.7.1 (13/10/2012) (Eke-Eke)

[Core/SCD]

* added support for CUE files
* added CD-DA tracks emulation (needs CUE+BIN or ISO+WAV images)
* added CD fader emulation
* added CDD "Fast FW" & "Fast RW" commands emulation
* improved CDD TOC emulation (random freezes in Sonic CD, Switch/Panic, Final Fight CD and probably many others)
* improved PCM chip synchronization with SUB-CPU (missing speeches in Willy Beamish)
* fixed PCM chip emulation (random hangs in Snatcher, missing sound effects in Switch/Panic, Final Fight CD, Wonderdog...)
* fixed Word-RAM memory mode on soft-reset (missing logo gfx effects)
* fixed SUB-CPU access to unused areas when using PC-relative instructions (Final Fight CD first boss random crash)
* fixed CPU idle loop detection on memory mode register access (Pugsy CD first boss slowdown)
* fixed Mode 1 emulation (cartridge boot mode)

[Core/Sound]

* replaced FIR resampler by Blip Buffer for FM resampling
* modified SN76489 core for use of Blip Buffer
* improved PSG & FM chips synchronization using Blip Buffer
* added Game Gear PSG stereo support
* fixed SG-1000 specific PSG noise
* fixed YM2612 LFO AM waveform (California Games surfing event)
* fixed YM2612 phase precision
* minor optimizations to YM2612 core

[Core/Game Gear]

* added support for CJ Elephant Fugitive (recently released by SMS Power)
* added Game Gear extended screen option

[Core/Genesis]

* added support for a few recently dumped (but unreleased) games

[Core/General]

* improved ROM & CD image file loading
* various code cleanup

[Gamecube/Wii]

* added automatic disc swap feature
* removed automatic frameskipping (no use)
* improved general audio/video sync
* various code cleanup & bugfixes

Genesis Plus GX 1.7.0 (01/07/2012) (Eke-Eke)

[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

NOTES: 20:10, 13 December 2016 (CET)~

* to play CD games, original BIOS ROM files are required in /genplus/bios/ directory: unzip & rename them to bios\_CD\_U.bin, bios\_CD\_E.bin, bios\_CD\_J.bin
* CD audio tracks (CD-DA) are not supported (yet)

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