Wii2600

From WiiBrew
Jump to navigation Jump to search
Wii2600
Wii2600.png
General
Author(s)Raz0red
TypeConsole emulator
Version0.2.7.8
Links
Download
Website
Source
Downloadable via the Homebrew Browser
Downloadable via the Open Shop Channel
Peripherals
Wiimote4.svg Nunchuck alternative.svg ClassicController.svg GameCube Controller USB Keyboard Loads files from the Front SD slot

Overview

A native (libogc) port of Stella 2.7.2.

Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL). Stella was originally developed for Linux by Bradford W. Mott, however, since its original release several people have joined the development team to port Stella to other operating systems such as AcornOS, AmigaOS, DOS, FreeBSD, IRIX, Linux, OS/2, MacOS, Unix, and Windows. [1].

Status

You can obtain "preview" releases via the following location:

http://www.twitchasylum.com/forum/viewtopic.php?t=513

The following tasks are currently in development:

  • (Nothing currently)

Known issues

  • Displaying rom info w/ screenshots makes browsing slow
  • The colors are incorrect for screenshots taken at 1x

Installation

To install Wii2600, simply extract the zip file that this README was distributed with directly to your SD card (retain the hierarchical structure exactly).

Cartridge images should be placed in the roms directory (wii2600/roms).

Tearing, Vertical Sync, PAL/NTSC, etc.

Without the use of Vertical Sync, 2600 games that scroll (Barnstorming, River Raid, etc.) will exhibit tearing during game play.

The first time Wii2600 is started it attempts to determine whether your Wii is running in PAL (50hz) or NTSC/PAL60 (60hz) mode. Based on this determination it sets a default value for Vertical Sync.

NTSC/PAL60

If Wii2600 determines you are in NTSC/PAL60 mode (60hz) it enables Vertical Sync by default. This should work well for both NTSC and PAL games. PAL games run fine due to the fact that they run at a slower rate than NTSC.

PAL

If Wii2600 determines you are currently in PAL mode (50hz) it disables Vertical Sync by default. The reason it disables this setting is to be compatible with both PAL and NTSC games at 100% speed. Since the Wii console is syncing at 50hz it won't be able to maintain the required 60hz for NTSC games and as a result you will get garbled sound and slow video.

If you still want to use Vertical Sync, you can enable it via the "Advanced" menu in Wii2600. PAL games will run as they were intended, 50hz at 100% speed. Wii2600 also configures another setting "Force FPS" to "50 FPS" when you enable Vertical Sync in PAL mode. What this setting does is control the frame rate that games run at. Essentially what it will do is force all games (NTSC or PAL) to run at 50 FPS. In doing so it also adjusts audio buffer sizes, etc. so that you won't experience garbled sound. The downside is that NTSC games will now run at 50 FPS versus their intended 60 FPS, so the games will run a bit slower.

The real answer to resolve these issues is to add auto-frame skipping to Stella. That is definitely something I will be looking to add in an upcoming release.

Paddle Controls

Wii2600 supports three different modes for emulating paddles support ("Roll", "IR", and "Analog"). For complete details see the controls section below.

In most cases Stella will automatically enable paddle support for the selected rom. However, in cases where it doesn't, you must configure paddle support manually. This is accomplished via the "Controller" tab found in the "Game Properties" menu of the "Options" (found in the main rom browser). For the P0 or P1 controllers specify Paddles instead of Joystick, etc.

It is also important to note how Wii2600 allocates the controls when Paddles are selected. If P0 is set to be paddles, then Wii controllers 1 and 2 will map to the two paddles that are that are plugged into the virtual P0. If P1 is also set to paddles then controllers 3 and 4 will represent the two paddles that are plugged into P1. However if P0 is set to be paddles and P1 is set to be a joystick, then Wii controller 3 will represent the joystick (1 and 2 will represent paddles). If P1 is set to joystick and P2 is set to paddles then Wii controller 1 will be the joystick while 2 and 3 will represent the paddles.

Controls

Wii2600 menu

Wiimote.svg Wiimote.svg + Nunchuck alternative.svg ClassicController.svg GameCube Controller Action
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 Gamecube D-Pad Up / Gamecube D-Pad Down or GameCube Control Stick Scroll through the Menu
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 Gamecube D-Pad Left / Gamecube D-Pad Right or GameCube Control Stick Page through the Menu
Wiimote A Button Wiimote A Button or Nunchuck C Button Classic a Button Gamecube A Button Select menu item
Wiimote B Button Wiimote B Button or Nunchuck Z Button Classic b Button Gamecube B Button Previous menu
Wiimote HOME Button Wiimote HOME Button Classic HOME Button GameCube Z Button Exit to Homebrew channel

Stella menu

Unfortunately, at this point all navigation of the Stella menu is done via the Wiimote without the use of motion controls. Thus, the '+' and '-' buttons allow for tabbing through the different controls. Pressing the 'A' button operates the current control, etc.

Wiimote.svg Wiimote.svg + Nunchuck alternative.svg ClassicController.svg GameCube Controller Action
Wiimote + Button Wiimote + Button Classic + Button / Classic R Trigger GameCube R Trigger Move forward through controls
Wiimote - Button Wiimote - Button Classic - Button / Classic L Trigger GameCube L Trigger Move backward through controls
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 Gamecube D-Pad Up / Gamecube D-Pad Down or GameCube Control Stick Scroll (when focused on list/slider control, etc.)
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 Gamecube D-Pad Left / Gamecube D-Pad Right or GameCube Control Stick Page through list (when focused on list control)
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 Gamecube D-Pad Left / Gamecube D-Pad Right or GameCube Control Stick Move between tabs (when focused on a tab in a dialog)
Wiimote A Button Wiimote A Button or Nunchuck C Button Classic a Button Gamecube A Button Operates current control (presses button, selects item in list, etc.)
Wiimote B Button Wiimote B Button or Nunchuck Z Button Classic b Button Gamecube B Button Closes current dialog
Wiimote HOME Button Wiimote HOME Button Classic HOME Button GameCube Z Button Exit to Homebrew channel

In-game (Joystick/Driving)

WiimoteHorizontal.svg Wiimote.svg + Nunchuck alternative.svg ClassicController.svg GameCube Controller Action
Wiimote D-Pad Nunchuck Control Stick Classic D-Pad or Classic Left Control Stick GameCube D-Pad or GameCube Control Stick Move
Wiimote 2 Button Wiimote 2 Button or Nunchuck C Button or Nunchuck Z Button Classic a Button Gamecube A Button Fire
Wiimote 1 Button Wiimote 1 Button Classic y Button Gamecube Y Button Open/close command menu (save/load state, etc.)
Wiimote + Button Wiimote + Button Classic + Button GameCube START Button Reset
Wiimote - Button Wiimote - Button Classic - Button GameCube L Trigger Select
Wiimote A Button Wiimote A Button Classic R Trigger GameCube R Trigger Toggle Color/BW mode
Wiimote HOME Button Wiimote HOME Button Classic HOME Button GameCube Z Button Display Stella menu (see above)

In-game (Paddle - "Roll" mode)

In this paddle mode, you hold the Wiimote horizontally and twist it forward and backward (like the Wiiware game Bit Trip Beat). You can set the sensitivity and center of this mode via the "Controls" menu. You should definitely adjust the settings until you find one that is comfortable. For example, I like to adjust the center way forward (+5) because I find it easier to push the fire button for games like Warlords, etc. Also, I adjust the sensitivity up to about 7. Since the Wiimote doesn't have to be pointed directly at the sensor bar for this mode to work, it works wll on all styles of paddle-based games (Kaboom!, Warlords, Video Olympics, etc.).

WiimoteHorizontal.svg Action
WiimoteHorizontal.svg Move (Roll forward and backward)
Wiimote A Button or Wiimote B Button or Wiimote 2 Button Fire
Wiimote 1 Button Open/close command menu (save/load state, etc.)
Wiimote + Button Reset
Wiimote - Button Select
Wiimote HOME Button Display Stella menu (see above)

In-game (Paddle - "IR" mode)

In this paddle mode, you point the Wiimote at the Wii sensor bar and move it left and right. You can set the sensitivity of this mode via the "Controls" menu. This mode requires that the Wiimote be pointed directly at the screen, thus it is typically better suited for horizontally oriented single-player style games (Kaboom!, Breakout, etc.).

Wiimote.svg Action
Wii Remote Aim Move
Wiimote A Button or Wiimote B Button or Wiimote 2 Button Fire
Wiimote 1 Button Open/close command menu (save/load state, etc.)
Wiimote + Button Reset
Wiimote - Button Select
Wiimote HOME Button Display Stella menu (see above)

In-game (Paddle - Analog joystick mode)

In this paddle mode, move the Analog joystick left and right (or up and down, see controls menu) to control the paddle. It is important to note that the joystick selected to use for this mode is based on priority. If you have a Nunchuk or Classic controller plugged into the Wiimote, that Analog control will be used. If neither of those are currently plugged in, the Gamecube analog control will be used.

Wiimote.svg + Nunchuck alternative.svg ClassicController.svg GameCube Controller Action
Nunchuck Control Stick Classic Left Control Stick GameCube Control Stick Move
Nunchuck C Button or Nunchuck Z Button or Wiimote A Button or Wiimote B Button or Wiimote 2 Button Classic a Button Gamecube A Button Fire
Wiimote 1 Button Classic y Button Gamecube Y Button Open/close command menu (save/load state, etc.)
Wiimote + Button Classic + Button GameCube START Button Reset
Wiimote - Button Classic - Button GameCube L Trigger Select
Wiimote HOME Button Classic HOME Button GameCube Z Button Display Stella menu (see above)


Wii2600 crashes, code dumps, etc.

If you are having issues with Wii2600, please let me know about it via one of the following locations:

Special thanks

  • munky6 ~ Lead tester
  • RB22 ~ PAL testing (0.1)
  • zodiacprime ~ Testing (0.1)
  • Sputicus ~ Helping bug fix (0.1)
  • Tantric/eke-eke ~ Audio code example
  • yohanes ~ SDL USB keyboard support
  • Team Twiizers ~ For enabling homebrew

Screenshots

Changelog

0.2 - May 03, 2009

  • 4-player paddle support
  • Ability to set the paddle mode to use (Roll, IR, or Analog joystick)
  • Wiimote "Roll" paddle mode (similar to Bit Trip Beat)
  • Ability to set "Roll" paddle mode sensitivity and center
  • Wiimote "IR" paddle mode (rewritten since 0.1)
  • Ability to set "IR" paddle mode sensitivity
  • Analog joystick horiz/vert paddle mode (Classic, Nunchuk, Gamecube)
  • Ability to set analog paddle mode sensitivity
  • Analog joystick control support (in game and during menu navigation)
  • Driving control support (via d-pads and analog controls)
  • Ability to toggle color/BW modes from controller (Starmaster, etc.)
  • Improved sound support
  • Fixed bug that caused some games to always display at 1x (versus 2x)
  • Fixed emulation of select/reset buttons (you can now hold them down)
  • Added ability to display rom info (screenshots) when browsing (slow, see known issues)

0.1 - February 19, 2009

  • Initial release
  • Wiimote/Classic/GameCube controller support
  • Mouse via Wiimote for paddle games (proof of concept)
  • USB Keyboard
  • Audio/Video etc.
  • Save/load state
  • Screenshot support