SMSPlus Wii

From GameBrew
SMSPlus
Smspluswii2.png
General
Authoreke-eke
TypeConsole
Version14 December 2008
LicenseMixed
Last Updated2008/12/14
Links
Download
Website
Source

SMSPlus emulates Sega's Master System and Game Gear systems. It was originally created by Charles MacDonald and ported to the Nintendo GameCube by The "Genesis Plus" Team.

SMSPlus 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 SMSPlus 1.3 sourcecode but it's also featuring a lot of modifications & additions to improve games compatibility, emulation accuracy and various peripheral supports.

Features

  • Accurate & full speed Sega Master System/Game Gear emulation:
    • NTSC (60Hz) & PAL (50Hz) timings support.
    • FM unit emulation (Japanese Master System).
    • Savestate support.
    • SMS BIOS support.
    • full Overscan area emulation (horizontal & vertical colored borders).
    • Blargg's NTSC filter support.
  • Support for various input peripherals:
    • Sega 2-buttons Pad
    • Sega Light Phaser
    • Sega Paddle
    • 3D glasses faking
  • GameCube/Wii extra features:
    • Stereo Sound (@48 kHz).
    • 1~2 Players support.
    • internal Game Database for automatic configuration.
    • SRAM and SaveState files (on Memory Card & SD Card).
    • automatic SRAM/Savestate loading & saving.
    • support for zipped (.zip) ROM files.
    • load ROM files from SDCard or DVD.
    • original video modes (240p/288p) support.
    • interlaced (576i/480i) & progressive (480p) video modes support.
    • Wiimote, Nunchuk & Classic Controller support.

Installation

Copy the apps directory to the root of your SD card to use SMSPlus with HBC or use the smsplus_wii.dol to load it with another loader.

Create the directory /smsplus/roms at the root of your SD Card and copy your ROM files (.zip, sms, .gg) there.

The ROMs can be placed on DVD-/+R (4.7GB max size) but you need to install the DVDx on your Wii. More info on that at HackMii. The DVD should use ISO 9660 file format.

Insert your SD Card into the Wii and run SMSPlus using your chosen method.

User guide

Main menu

  • Load New Game - Load a ROM.
  • Play Game - Begin playing the game.
  • Hard reset - This should be like switching OFF/ON the POWER button on a real Master System. This will completely reinitialize the genesis virtual machine.
  • Return to loader - This allow you to return to the loader used to launch the program, if any (Homebrew Channel, TP Loader, SDLOAD, PSOLOAD).
  • System reboot - This will reboot your console (Gamecube Mode) or return to the Wii System Menu.

Load new game

Load Recent let you browse a ROM history list with the ten last opened ROM files. This is only available for ROM files previously loaded from SDCARD.

  • Load from SD let you browse the SDCARD.
  • Load from USB let you browse the USB Storage device (Wii only).
  • Load from DVD let you browse the DVD.
  • Stop DVD Motor will stop the DVD motor and the disc from spinning during playtime

Once you have selected an option, a file selection menu should appear. In this new selection menu, the following controls can be used:

  • GameCube Controller.
  • Wiimote (Horizontal).
  • WIimote (Vertical) & Nunchuk.
  • Classic Controller.

Savestate manager

Let you load/save SaveState data from/to the selected device: SaveState files is a feature that does not exist on real hardware and will let you save and restore your progress in ANY games, even those which don’t have internal saving feature. The SaveState data can be seen as a snapshot (or "freeze" state) of the current emulation state. Once restored, you will be able to continue your game at the exact point where you leaved it.

You can choose the device type. Be sure to set this according to your system configuration before saving/loading files.

Notes:

  • You can configure the emulator so that it will automatically save SAVESTATE for the current game as soon as you load another game or quit the application. On the same way, SAVESTATE can automatically be restored after you load a game, if the files exist. This feature can be enabled/disabled via the System Options menu.
  • 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 FAT device, the directory /smsplus/saves is automatically created. The default device is detected during initialization.

Display options

Aspect let you choose the Display Aspect Ratio:

  • ORIGINAL - Automatically set the correct aspect ratio exactly as if you connected a real Master System 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 - 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 - Use the original Master System rendering mode: this mode outputs a progressive 240 lines (288 lines for PAL) display.
  • INTERLACED - 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 artefacts might appear during intensive and fast action.
  • PROGRESSIVE - Switch into 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 Master System current region mode. This makes PAL & NTSC games looking exactly like they did on a real console..
  • 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.

Bilinear Filter - Enable/disable hardware bilinear filtering. Emulation speed is not affected by this setting, however, when filtering is OFF, some graphic flickering might appear during screen scrolling.

NTSC Filter - Enable/disable Blargg’s NTSC filters. These are software filters that emulates the native artefacts produced by the NTSC Video Signal (color blending,…). Several predefined modes are available (COMPOSITE, S-VIDEO & RGB) which simulates the associated video signal.

Borders - Enable/disable the border colour emulation: when ON, the background colour is used (like on a real console). 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 - Adjust the screen position while keeping the display aspect ratio.

Scale X/Scale Y - Adjust the display aspect ratio. This option is only accessible when using STRETCH aspect mode.

System options

FM Type - Disable FM emulation (OFF) or choose between two FM emulators (YM2413,EMU2413). Please not that only some Japanese games feature FM music so enabling this will force the system into japanese mode.

Country - Force the region of the game. Let this to AUTO if you want the program to pick automatically the best setting for each game. Some games may be region protected.

Console - Force the type of console to be emulated (Master System 1, 2 or Japanese (MARK III), Gamegear...), Let this to AUTO if you want the program to pick automatically the best setting for each game.

Sprite Limit - Enable/disable emulation of original hardware limitation that can produce sprite flickering in some games. Disabling this option will reduce Sprite Flickering and improve display rendering.

Use BIOS - Enable/disable SMS BIOS support. If you want to use this feature (this is not required to play games), the BIOS rom (not provided) must be renamed as "BIOS.sms" and placed in the /smsplus/ directory, on the default FAT device.

Extra GG - Enable/disable the hidden display area, normally hidden by the original Game Gear LCD screen edges.

FREEZE Auto - Enable/disable automatic SaveState 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 location for the SaveState files:

  • FAT (SD or USB for Wii, default device is detected upon startup).
  • MEMCARD (slot A or slot B).

Controls options

Configure Player - Change the current player input (that should be modified by the options below.

GAMEPAD - Modify the way buttons are mapped on the gamecube pad. Just follow the instructions and press the desired buttons when asked.

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

Controls

For the Light Phaser Use Wiimote A Button of the Wiimote to shoot and Wii Remote Aim or Wiimote D-Pad/Classic D-Pad or Nunchuck Control Stick/Classic Left Control Stick to aim.

Wiimote & Nunchuk

In game:

D-Pad or Nunchuck Analog - SMS Pad

1 or A (if w/o Nunchuck) - Button 1 (Start)

2 or B (if w/o Nunchuck) - Button 2

Plus - Pause

Home - Emulator Menu

Minus+Plus - Reset the SMS

Menu:

D-Pad or Nunchuck Analog - Items selection

B - Previous menu

A - Confirm selection

File explorer:

A - Load selected file

B - Go up one directory

Home - Quit file selection menu

Minus/Plus - Down/Up one full page

D-Pad Left/Right or Nunchuck Analog - Display the selected entry's full filename

D-Pad Up/Down or Nunchuck Analog - Select previous/next file

Classic Controller

In game:

D-Pad or Left Analog - SMS Pad

B - Button 1 (Start)

A - Button 2

Plus - Pause

Home - Emulator Menu

Plus+Minus - Reset the SMS

Menu:

D-Pad or Analog - Items selection

B - Previous menu

A - Confirm selection

File explorer:

A - Load selected file

B - Go up one directory

Home - Quit file selection menu

L/R - Down/Up one full page

D-Pad Left/Right or Left Analog - Display the selected entry's full filename

D-Pad Up/Down or Left Analog - Select previous/next file

GameCube Controller

In game:

Analog or D-Pad - SMS Pad

B - Button 1 (Start)

A - Button 2

Start - Pause

Z - Menu

L+R - Reset the SMS

Menu:

Analog or D-Pad - Items selection

B - Previous menu

A - Confirm selection

File explorer:

A - Load selected file

B - Go up one directory

Z - Quit file selection menu

L/R - Down/Up one full page

D-Pad Left/ Right or Analog - Display the selected entry's full filename

D-Pad Up/ Down - Select previous/next file

Screenshots

smspluswii3.png

smspluswii4.png

smspluswii5.png

Changelog

2008/12/14

[NGC/Wii]

  • Added Blargg's NTSC Filter support (NTSC video artifacts emulation).
  • Added an option to enable/disable bilinear filtering.
  • Removed embedded font, (re)enabled IPL font support: now should works for Qoob users too (thanks to emukiddid).
  • Patched libfat for faster SD card accesses (thanks to svpe).
  • SaveState filenames are now based on the ROM filename (for FAT devices only).
  • Various bugfixes, menu tweaks and code cleanup.

[NGC only]

  • added 480p support in menu.

[Wii only]

  • Implemented fast scrolling in menu using Wiimote D-PAD.
  • Added "Power" button support.
  • Added USB Storage support.
  • Widescreen menu fix.
  • *New* libogc 1.7.0 features: SDHC support, Wiimote shutdown button support.

2008/08/26

[NGC/Wii]

  • Added ROM History for faster ROM access (Marty Disibio).
  • Added DVD support in Wii mode (no modchip required).

2008/07/15

[SMS, GG]

  • Added an option to disable original Sprite Limit emulation (reduce sprite flickering).
  • Added an option to display the hidden parts of the original Game Gear LCD screen.
  • Added Laser Ghost in "Light Phaser" game database.
  • Fixed a bug which prevented "normal" games displaying correctly after loading a 3D game.

[NGC/Wii]

  • Added automatic alphabetical filesorting (Marty Disibio).
  • Fixed Wii/Gamecube RESET button handler (softreset).
  • Added support for horizontal Wiimote handling in Menu (activated when wiimote is not pointed towards the screen).
  • Added custom input ports setting (PHASER,PADDLE, GAMEPAD or NONE), this is still automatically set for games which need specific peripherals.
  • Keys mapping are now saved in config file.
  • When Classic Controller is inserted in Port #1, Wiimote #1 can now be used to control player #2.
  • "Soft-Reset" key is now fixed to avoid accidental resets: Buttons + & - on wiimote/classic controller, Triggers L & R on gamecube pad.
  • Fixed "stretch" mode being canceled after loading a new game.
  • Fixed SMS BIOS detection (place the BIOS rom on SDCARD in /smsplus/SMS_BIOS.sms).

2008/06/01

[SMS, GG]

  • Fixed port $3E emulation: fix Gain Ground, Ninja Gaiden,...
  • Added Paddle emulation: fix inputs in all games requiring paddle (Alex Kidd BMX Trial, Megumi Rescue,...), best handled using D-Pad or Analog Sticks.
  • Added LightPhaser emulation: fix inputs in all games requiring the lightgun (Wanted, Rambo III, Operation Wolf,...), best handled through Wiimote IR pointing, can also be used through D-Pad or Analog Sticks.

[NGC/Wii]

  • Added full horizontal scaling (up to 720 pixels) when using "stretch" aspect mode (use Xscale to increase width).
  • Added progressive mode support (480p) in menu also.
  • Added automatic FreezeState support (OFF by default, check "system options").
  • Added automatic config file support.
  • /smsplus/saves is now automatically created if it does not exist.
  • Assigned Reset Button to SMS Soft-Reset.

[Wii only]

  • Added automatic TV mode detection (from SYSCONF), no more PAL60 version needed.
  • Added option to return to Wii System Menu.
  • Fixed "TP reload" option: now compatible with HB channel.
  • Removed SD-Gekko support (Wii slot becomes default slot).
  • Added Wii SD slot support for SRAM & FreezeState files.
  • Added Wiimote, Nunchuk & Classic controllers support through libwiiuse (see User Manual for default keys).
  • Added customizable key mapping (for each configurations: gamepad, wiimote only, wiimote+nunchuk or classic).

2008/04/19

[SMS, GG]

  • Fixed VDP init when loading savestate: fix graphics in games using TMS9918 mode.
  • Added port $3E emulation and full SMS BIOS support (see user notes).
  • Implemented SMS1 VDP "tilemap mirroring" bug: fix Y's (J) status bar when running in SMS1 mode.
  • Updated Z80 core to last version (fix some undocumented behaviour): fix Rambo 3 "Game Over" screen & Robocop 3 "pause" bug.
  • Corrected PAL CPU clock value.
  • Modified FM Unit detection: fix FM music in many Japanese games.
  • Added full overscan emulation: when enabled, aspect ratio is exactly like on original hardware, including borders (horizontal borders are generally completely hidden under TV edges).
  • Corrected Game Gear VDP handlers in SMS mode: fix colors in GG-MS mode.
  • Improved Codemasters Mapper emulation: fix Excellent Dizzy Collection & Ernie Els Golf.
  • Added Korean Mapper emulation: fix Sangokushi III & Dodgeball King.
  • Adjusted SMS color palette values (compared side by side with a real PAL SMS 2).
  • Fixed Hcounter table (thanks to FluBBa).

[NGC/Wii]

  • Added support for original video mode (240p/288p): this makes games looking exactly like on original hardware (including scanlines).
  • Added "Aspect" option to switch between Original (correct aspect ratio with borders) and Fit Screen (full screen) display modes.
  • Added "Xshift" & "Yshift" settings to let you adjust display area while keeping the original aspect ratio.
  • Added "Border" option to enable/disable borders color emulation.
  • Added "Palette" option to let you choose the Brightness level: RVB (darkest), Normal , Bright.
  • Added Wii mode support (including front SD rom loading with LFN, TP reload, ...).
  • Added EURGB60 & PAL 50hz TV modes support.
  • Added 480p (progressive) rendering mode support in Wii mode (not supported by the PAL60 version, use the other one.

Credits

SMS Plus core:

  • Original emulation code by Charles Mac Donald.
  • Additional code (core, extra features, compatibility fixes,…) by Eke-Eke.
  • Z80 an YM2413 cores by the M.A.M.E team.
  • Alternate YM2413 core by Mitsutaka Okazaki.
  • SN76489 core by Maxim.
  • NTSC Filter by Shai Green.
  • zlib by Jean-Loup Gailly and Mark Adler.
  • Thanks to SMS Power ‘s Wiki and forum members for their technical help.

GameCube/Wii port:

  • Original Gamecube's port by softdev.
  • Additional features and Wii port by Eke-Eke.
  • Graphical interface and icon design by brakken.
  • libFAT by Chism , ported to libogc by Sven Peter (svpe) & wintermute.
  • wiiuse library by Michael Laforest (para), ported to libogc by shagkur.
  • libDI by Erant.
  • libOGC by winterMute, shagkur and all contributors.
  • devkitpro & devkitPPC by winterMute.

Additional thanks to:

  • softdev for all his great work and inspiration.
  • tmbinc for having made Gamecube homebrew a reality.
  • Twiizer team for all the work they are doing for Wii homebrew.
  • brakken & Tehskeen's forum members for their feedback and support.

External links

Advertising: