1 introduction features

Genesis Plus emulates a Sega Genesis or MegaDrive console. It has been originally written by
Charles MacDonald and ported to the Nintendo GameCube by The “Genesis Plus” Team.
It is an open source emulator and a community project which aims to bring you blast processing into
the past. Using this “emulator” you will be able to enjoy all of your classic 16bit games in all of their
glory. Genesis Plus has been converted from a PC based platform to run on the GameCube’s
proprietary PPC Gekko processor and features customized code to give you the best gaming
experience possible.
This port is based on Genesis Plus 1.2 source code but it has been largely modified to improve overall
compatibility, emulation accuracy as well as adding various peripheral supports and interface extra
features. Please have a look at history.txt for a complete changelog.
accurate & full speed Sega Genesis emulation
Stereo Sound (@48 kHz)
1~4 Players support
automatic SRAM/FreezeState (optional)
ROM Information Screen
Zipped roms support (.zip only !)
Interleaved roms support (.smd, .bin are also supported)
Load roms from SDCARD or DVD (4.7GB DVD support for Wii users, in GC mode only)
Load/Save SRAM and FreezeState files from/to Memory Card & SDCARD (compressed)
Original NTSC & PAL progressive rendering modes (240p/288p) support
Enhanced Interlaced Mode 2 (double resolution screen) support
Interlaced (576i/480i) & Progressive (480p) TV mode support
Wiimote, Nunchuk & Classic Controller support (WII mode only)
Extra emulation support for:
NTSC Genesis (60Hz) & PAL Megadrive (50Hz) timings
6-Buttons gamepad
Sega TeamPlayer & EA 4-Way Play
J-Cart (autodetected)
Sega Menacer (autodetected for Menacer 6-in-1 game)
backup SRAM
serial EEPROM (used by a few games as backup memory)
ROM bankswitch (Super Street Fighter 2)
SRAM switch (Phantasy Star 4, Legend of Thor, Sonic 3 & Knuckles)
Mappers & copy protection devices used in many unlicensed/pirate cartridges
SVP dsp (Virtua Racing)
Game Genie
full Overscan area (horizontal & vertical colored borders)
TMSS BIOS (optional)
Original emulation code by Charles Mac Donald (http://cgfm2.emuviews.com/)
Z80, 68000 and YM2612 cores by the MAME team (http://mamedev.org/)
Alternate YM2612 core by Stéphane Dallongeville (http://gens.consolemul.com/)
SN76489 core by Maxim (http://www.smspower.org/maxim/)
SVP Core by notaz (http://notaz.gp2x.de/svp.php)
Original Gamecube's port by softdev, honkeykong & markcube
Additional code (emulation core, extra features, compatibility fixes,…) by eke-eke
Graphical interface and icon design by brakken (http://www.tehskeen.net)
libFAT port by Sven Peter (_svpe) & wintermute
Wiiuse library by Michael Laforest (para), Wii port by shagkur
libOGC by shagkur and winterMute
DevkitPPC & Devkitpro by winterMute
• Tasco Deluxe for his work around the SVP chip and for his documentation of Realtec mapper,
• Bart Trzynadlowski for his documentation about SSFII and 68000 undocumented behaviour.
• Haze for having found and documented many unlicensed cartridges protections.
• Notaz & Stef, respective authors of Picodrive and Gens, their respective sourcecodes were a
great source of inspiration
• Aamir, author of Regen, for some interesting tips
• Softdev for all his great work and inspiration.
• Tmbinc for having made Gamecube homebrew possible.
• The Twiizer team and affiliates for the incredible stuff they discovered.
• People at Tehskeen's forums for their feedbacks and support.
• People at SMS Power and Spritesmind forums for having provided so many useful technical
According to the GNU status of this project, the sourcecode MUST be provided for any binary releases
you made. To recompile the sourcecode, you will need to have installed:
1. last DevkitPPC environment
2. last compiled libOGC sources
genplus_cube.dol is the executable running in Gamecube mode. They can be loaded on a Gamecube
or a Wii (using GC compatible mode) through various methods (Bootable DVD, SDLOAD,...). If you
have no idea on how to load a DOL, please go here on follow the available guides:
http://modyawii.tehskeen.com (Booting Homebrew Section).
genplus_wii.* are executables running in WII mode, using extra features like wiimotes and native SD
slot support. They can be loaded on a Wii using either the TP Loader or the Homebrew Channel. See
http://www.wiibrew.org/ and http://hbc.hackmii.com/ for more informations on how to run .dol
and .elf files on your Wii.
.dol and .elf versions are provided, both are exactly the same binary, these are just two different file
SDCARD users can put roms anywhere. The program will always look first for the directory
"/genplus/roms" so it’s advised to create these directories and put your roms in there. If the
directory does not exist, the program will browse the SDCARD from the ROOT directory.
In WII mode, insert the SDCARD in the native SD slot (SD-adapter are NOT supported).
In GC mode, you can use any of the two CARDSLOTS with a dedicated SD-adapter like
the SD-Gekko. The default used slot will be detected during initialization.
In GC mode only, you can also use a DVD to load the roms: the format of the image you
burned must be ISO9960 compliant or you won't be able to read from it. The maximal
readable size is 1.35GB for Gamecube users and 4.7GB for Wii users. Be aware that DVD is
NOT accessible unless your console has been modified with a drivechip.
When putting roms either on DVD or SDCARD, it is recommended to use subdirectories: there is a
limit of 1000 files per directory that could be read and the less files you put per directory, the fastest
you will be able to browse them.
You'll start off with the main introduction screen and after pressing "A" you will be at the main menu.
When you are navigating through the menus, the following keys on your Gamecube controller are
A Button : confirm selection
Analog stick : items selection
B Button : previous menu
D-PAD : items selection
WII version :
You can also navigate through the menu using the Wiimote and expansion controller. In the Menu,
keys are mapped as the following:
D-PAD : items selection
Analog stick : items selection
B Button : back to previous
A Button : confirm
D-PAD : items selection
Button A: confirm selection
Left analog stick : items selection
Button B : back to previous
This will takes you into or back to the game. During gameplay, use a Gamecube pad to control.
WII version :
You can also use the Wiimote and expansion controllers. There are 3 possible configurations
depending on the type of expansion controller that is inserted when you play a game:
1. WIIMOTE only
2. WIIMOTE + NUNCHUK combination
Each of three configurations have a default key mapping listed below but can also be reconfigured
separetely (see “Configure Inputs” option) for each players. A maximum of 4 wiimotes can be
Also, the gamecube controller might be reconfigured.
The following table gives you the default mapping for each configuration, dark grey entries aren’t
This screen shows some basic informations for the loaded ROM. You can use Up/Down buttons or
Analog Stick to scrolldown the screen and display all informations. At the bottom of the list, you can
see the peripherals that the game should be supporting: please note that if it supports 6-button
gamepads, they are automatically selected for you. Otherwise, the standard 3-button pad is used (this
can also be forced in Joypad Config menu).
This should be like switching OFF/ON the POWER button on a real Genesis. This will completely
reinitialize the genesis virtual machine.
In Wii mode, this will automatically let you browse into the SDCARD inserted in the native SD
In GC mode, you can choose to load a rom either from a SDCARD using a SD-adapter (slot is
now automatically detected during initialization), or from a DVD.
A file selection menu should appear. In this new selection menu, the following controls can be used:
• A button : load the selected file
• B button : go up one directory
• Z button : quit the file selection menu
• L/R triggers : go down/up one full page
• Left/Right buttons or Analog stick : scroll the selected entry's filename when it can't be full
• Up/Down buttons or Analog stick : select previous/next file
• A button : load the selected file
• B button : go up one directory
• HOME button : quit the file selection menu
• -/+ Buttons: down/up one full page
• Left/Right buttons or Analog stick : scroll the selected entry's filename when it can't be full
• Up/Down buttons or Analog stick : select previous/next file
• A button : load the selected file
• B button : go up one directory
• HOME button : quit the file selection menu
• L/R triggers: down/up one full page
• Left/Right buttons or Analog stick : scroll the selected entry's filename when it can't be full
• Up/Down buttons or Analog stick : select previous/next file
Let you managed SRAM and FreezeState files:
SRAM Manager: Let you load/save SRAM data from/to the selected device
STATE Manager: Let you load/save FreezeState data from/to the selected device
NOTE: In WII mode ONLY, the configuration file (genplus.ini) is automatically loaded at startup and
saved every time an option is modified. The file location is /genplus/ on the SDCARD.
For each submenu, you can choose the device type type (for SDCARD, the default slot is
automatically detected upon startup). Be sure to set this according to your system configuration before
saving/loading files.
DEVICE: Let you choose the device to use (SDCARD , MCARD SLOT A, MCARD SLOT B).
NOTES: When using NGC Memory Card in SLOTA, some mounting errors may occur. In this case,
remove and insert the Memory Card again before trying to save/load anything or use SLOTB. Be sure
to have also enough space on the Card before trying to save something (Freeze State and SRAM files
are usually compressed).
When using SDCARD, the directory /genplus/saves is automatically created. The default SDCARD
location is detected during initialization.
Video Options
Aspect let you choose the Display Aspect Ratio:
• ORIGINAL mode automatically set the correct aspect ratio exactly as if you connected a real
Genesis/Megadrive on your TV. In this mode, the full resolution (720 x 480 or 720x574 pixels) is
used to include horizontal and vertical borders around the active display area.
• STRETCH mode let you adjust horizontal and vertical scale values so that the active display
fits your TV screen. When using this mode, borders are not emulated.
Render let you choose the Display Rendering mode:
• ORIGINAL let you use the original Genesis/Megadrive rendering modes: these modes
generally output a progressive 240 lines (288 lines for PAL) display. Interlaced modes (240i/288i),
used in Sonic 2 (2 players mode) for example, are also supported and automatically detected. In
this mode, games should look exactly as they did on the real hardware.
• BILINEAR vertically scales (using hardware filtering features) the original display to a 480
lines (574 lines for PAL) interlaced display. In this mode, because of the higher resolution, games
generally look better than on the real hardware but some artifacts might appear during intensive
and fast action.
• PROGRESS swith the rendering to Progressive Video Mode (480p), only use this with
component cable and a compatible TV.
TV Mode let you choose the TV Mode to use:
• 50/60Hz: in this mode, the Gamecube automatically switch between the appropriates 50hz
and 60Hz TV modes depending on the Genesis current region mode. This makes PAL & NTSC
games looking exactly like they did on a real Megadrive/Genesis.
• 60Hz: in this mode, the Gamecube always use a 60Hz (NTSC or PAL60) TV mode, use this if
your TV does not support 50Hz.
• 50Hz: in this mode, the Gamecube always use a 50Hz (PAL) TV mode, use this if your TV
does not support 60Hz.
Borders let you enable/disable the border colour emulation: when ON, the background colour is used
(like on a real Genesis/Megadrive). When OFF, borders are forced to black. When ASPECT mode is
set to STRETCH, this option is automatically set to OFF. On the other way, enabling this option
automatically set ASPECT mode to ORIGINAL.
Center X/Center Y let you adjust the screen position while keeping the display aspect ratio.
Scale X/Scale Y let you adjust the display aspect ratio. This option is only accessible when using
STRETCH aspect mode.
Audio Options
PSG Volume let you adjust the global volume level for the PSG output (0~200%)
FM Volume let you adjust the global volume level for the FM output (0~200%)
Boost Volume let you modify the overall sound level (0~4x). This could be useful when adjusting FM
and PSG relative levels.
Setting those values too high may produce some bad effects. Default values depends on
the current selected FM & PSG core and are automatically set when switching between
cores (see below).
HQ YM2612 is only used when selecting Gens FM core: when ON, the YM2612 is emulated at the
original frequency, resulting in more accurate sound rendering.
SSG-EG is used to enable/disable the SSG envelope emulation. This feature exists on real YM2612
but is actually not properly emulated. Some games may sound weird when it's activated, where as
others may need this to sound correctly.
FM CORE let you choose which YM2612 emulation core to use, both have specific issues with some
• GENS is the core used in Gens, a famous Genesis emulator for PC platforms
• MAME is the one used in the M.A.M.E emulator (default)
System Options
Region let you force the region setting for the Genesis system (This is also used to force PAL or
NTSC timings):
• AUTO: original game region is automatically detected through ROM header when loading the
• EUR (europe PAL)
• USA (usa NTSC)
• JAP (japan NTSC)
Some games may display various things depending on the selected Region setting but also may
not work correctly if they have some internal region detection code.
Use BIOS let you enable/disable Genesis BIOS. If you want to use this feature (this is not required to
play games), the BIOS rom (not provided) must be renamed as BIOS.bin and placed in the /genplus/
directory on the SDCARD.
SVP Cycles let you adjust the number of CPU cycles per line to run for the emulated SVP chip used
in Virtua Racing. This additional CPU consumes a lot of resources so you can lower the default value
to improve the emulation framerate. Although, keep in mind that the SVP chip will also be running
slower, which will result in slower 3D rendering. In Wii mode, this is not necessary to modified the
default value.
Force DTACK can be useful to prevent games accessing illegal memory area to lockup the system
(as it indeed happens on the real hardware). When this option is enabled, the system continues to run
even if an illegal area has been acceded (example: “Sonic Crackers” prototype).
SRAM AUTO let you enable/disable automatic SRAM loading when a new game has been loaded and
autosaving when you quit the emulator or load a new game. This option let you specify the default
location for the SRAM files : SDCARD, MEMCARD (slot A or slot B)
FREEZE AUTO let you enable/disable automatic FreezeState loading when a new game has been
loaded and autosaving when you quit the emulator or load a new game. This option let you specify the
default location for the FreezeState files : SDCARD, MEMCARD (slot A or slot B)
Controls Options
PORTA and PORTB let you choose which type of device to be plugged in each two Genesis input
GAMEPAD: single gamepad (3 or 6-buttons, see above)
MULTITAP: multiplayer adapter (Sega Teamplayer or EA 4-Way Play)
NONE: unplugged
Changing Controller Type or Port settings will automatically reset the current game.
Configure Player let you change the current input that should be modified by the options below.
NOTE: Actually, up to 4 gamecube controllers and up to 4 wiimotes+expansion are supported but
the maximum of emulated input (i.e genesis input controllers) is still fixed to 4. Future versions might
be able to support up to 8 players simultaneously for games that are supporting this feature.
TYPE let you choose the type of the emulated Genesis gamepads (3-Buttons or 6-Buttons) : Genesis
Plus automatically detects and set this option if the current game supports 6-Buttons but you can also
force 3-Buttons gamepads if you want:
3BUTTONS: use classic Genesis controllers
6BUTTONS: use 6-Buttons Genesis controllers
NOTE: When using the Wiimote or the WIIMOTE+NUNCHUK combination, the buttons layout is
not really adapted for emulating a 6-buttons gamepad, so it is advised to force the option to
3BUTTONS after you loaded the game.
GAMEPAD let you modify the way buttons are mapped on the gamecube pad. Just follow the
instructions and press the desired buttons when asked.
WIIMOTE let you modify the way buttons are mapped on the current wiimote configuration (remember
that 3 configurations can be used: WIIMOTE, WIIMOTE+NUNCHUK and CLASSIC CONTROLLER).
Just follow the instructions and press the desired buttons when asked.
Some notes about Peripherals:
• MULTITAP is disabled by default. Only activate it with games supporting one of the following
multiplayer adapters: actually, EA 4-Way Play and Sega TeamPlay adapters are fully supported.
• Most multiplayer games will work with MULTITAP plugged in PORTA but some of them
require a GAMEPAD to be plugged in PORTA and the MULTITAP to be plugged in PORTB.
MULTITAP could be plugged in both ports but only games supporting more than 4 players can
take advantage of this configuration. There is actuallya limit of max. 4 controllers so, only the 4
first gamepads will effectively been seen as plugged
• J-CART games (Micromachines games, Pete Sampras games, Super Skidmarks) use a builtin adapter to enable 2 additional gamepads to be plugged and are not compatible with any of the
above adapters. So, do not activate MULTITAP with those games, they are automatically detected
by the system which configure itself to enable up to 4 players support.
• When the 6-in-1 Menacer game is detected, PORTA is forced to NONE and PORTB forced to
MENACER, you can not change those settings until another rom is loaded (previous settings will
be restored). The only Genesis game that requires Sega Menacer lightgun support is the Menacer
6-in-1 game. Menacer input is automatically activated when you load this particular game: use the
analog stick and be sure to activate the crosshair within game when it's possible.
Game Genie Codes
This screen lets you enter up to eight Game Genie codes. Use the A key to select/release an entry
and the B key to exit.
NOTE: Game Genie codes are reseted each time a game is reloaded.
The last options are specific to GC and WII mode:
GC mode:
Stop the DVD motor and the disc from spinning during playtime (GC mode only)
if you correctly used SDLoad or PSOLoad, it will reboot to them.
This will reset the system (hot reset) .
WII mode:
This will allow you to return to the Homebrew Channel or to TP Loader.
This will return to the Wii System Menu. Use this to quit the program if you are running it directly from
is own channel.
Enjoy the Past !
Download PDF
Similar pages