Difference between revisions of "WiiColEm"
Line 470: | Line 470: | ||
== Changelog == | == Changelog == | ||
− | === 0.1 | + | === 0.1 - January 28, 2010 === |
− | * Initial | + | * Initial release |
[[Category:Homebrew using SDL libraries]] | [[Category:Homebrew using SDL libraries]] |
Revision as of 18:01, 28 January 2010
WiiColEm | |
![]() | |
General | |
---|---|
Author(s) | Raz0red |
Type | Console emulator |
Version | 0.1 |
Links | |
Download | |
Website | |
Discussion | |
Source | |
Peripherals | |
![]() ![]() ![]() ![]() ![]() |
Overview
WiiColEm is a port of the ColEm ColecoVision emulator version 2.5.2 developed by Marat Fayzullin.
Features:
- Support for driving, roller, and super action controllers
- Tilt-based (Wiimote) driving support
- Cartridge database w/ recommended controller settings and keypad descriptions for most commercial cartridges
- Per-cartridge button mappings
- On-screen keypad display
- High cartridge compatibility (see below)
The following additions/modifications were made to the core emulation code:
- "The Heist" now works correctly (memory initialization bug).
- Added support for Opcode RAM expansion.
- Added support for "Lord of the Dungeon" (original 32k or trimmed 24k).
- Mode 2 masking now works correctly (supports Daniel Bienvenu games).
- Mode 0 and Mode 3 now work correctly ("Cabbage Patch Kids Picture Show" and "Smurf: Paint 'n Play Workshop" now work correctly).
- Fixed graphic corruption that would occur when switching between games (VRAM and related state were not being reset correctly).
- Fixed save/load state bug where the emulator would incorrectly report that the save was invalid (memory was not being cleared correctly).
- Fixed issue where noise channel wasn't starting when it should (Matt Patrol).
What about BlueMSX-wii?
So, a common question might be why release this WiiColEm when the excellent BlueMSX-wii emulator exists? The truth is that I started this project some time ago prior to the release of BlueMSX-wii. After finally getting some free time again I decided to go ahead and complete the port. The reason I decided to release it is that it is an entirely different code base. As such, it may play some things that BlueMSX-wii does not. WiiColEm also supports all of the controllers (Driving, Roller, and Spinner). Finally, it has an on-screen keypad display with key descriptions so all Coleco games should be playable.
Known Issues
- Zip files are not currently supported
- The noise channel isn't accurate (core bug)
Installation
To install WiiColEm, simply extract the zip file directly to your SD card (retain the hierarchical structure exactly).
Cartridge images should be placed in the roms directory (/wiicolem/roms).
Status
- Released 0.1 --Raz0red 16:00, 28 January 2010 (UTC)
Cartridge Database
WiiColem ships with a database that contains recommended settings for most commercial cartridges. These settings cover controls mappings, keypad button descriptions, and advanced settings (whether the cartridge requires the Opcode RAM expansion, etc.).
To see the settings applied for a particular cartridge perform the following steps:
- Load the cartridge (via the "Load cartridge" menu item)
- Return to the WiiColem menu
- Select "Cartridge settings (current cartridge)" menu item
- Examine the "Control settings" and "Advanced" settings for the cartridge
For more information on mapping controls and creating and/or customizing cartridge settings, see Cartridge Settings.
Default Controls
The following section contains the "default" control mappings for WiiColEm.
It is important to note that if the cartridge that is being loaded exists in the Cartridge Database it may contain non-default mappings.
![]() |
![]() ![]() |
![]() |
![]() |
Action |
---|---|---|---|---|
![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
Scroll through the Menu |
![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
Page through the Menu |
![]() |
![]() ![]() |
![]() |
![]() |
Select menu item |
![]() |
![]() ![]() |
![]() |
![]() |
Previous menu |
![]() |
![]() |
![]() |
![]() |
Exit to Homebrew channel |
In-game (Keypad)
The keypad allows you to press keys on the ColecoVision controller keypads. If a description has been provided for the currently selected key it will be displayed above the keypad.
You can select whether you want emulation to pause while the keypad is displayed via the "Keypad pause" option in "Advanced" settings (pausing is enabled by default). This value can be overridden on a cartridge-by-cartridge basis via Cartridge Settings.
- When keypad pause is enabled, the keypad will be closed when a keypad button is pressed (or the keypad is explicitly closed). It is important to note that the keypad button will continue to be pressed as long as the controller button is held. This is necessary for games like War Room where you need to hold the keypad buttons down to see the different factories, etc.
- When keypad pause is disabled, emulation will continue while the keypad is displayed. The keypad will continue to be displayed until it is explicitly closed. This mode works well for games like Lord of the Dungeon and Ken Uston Blackjack that require lots of button presses.
It is also important to note that commonly used keys can be mapped to Wii controller buttons (see Cartridge Settings).
![]() |
![]() ![]() |
![]() |
![]() |
Action |
---|---|---|---|---|
![]() |
![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
Choose Key |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() |
Press Key |
![]() |
![]() |
![]() |
![]() |
Close Keypad |
In-game (Standard)
![]() |
![]() ![]() |
![]() |
![]() |
Action |
---|---|---|---|---|
![]() |
![]() ![]() |
![]() ![]() ![]() |
![]() ![]() ![]() |
Move |
![]() |
![]() |
![]() |
![]() |
Left Fire Button |
![]() |
![]() |
![]() |
![]() |
Right Fire Button |
![]() |
![]() |
![]() |
![]() |
Toggle Keypad |
![]() |
![]() |
![]() |
![]() |
Display WiiColEm menu (see above) |
In-game (Super action)
Very few games use the "spinner" that is a part of the super action controller. You can enable/disable the "spinner" via Cartridge Settings.
By disabling the spinner, you have more options available for the move controls (Nunchuk analog, both analogs on the Classic and GameCube controllers).
In-game (Driving / Tilt)
In this mode, you steer by tilting the Wiimote (similar to Excite Truck/Bots). You can adjust the tilt sensitivity via Cartridge Settings.
![]() |
Action |
---|---|
Tilt ![]() |
Steer |
![]() |
Shift |
![]() |
Gas |
![]() |
Brake |
![]() |
Toggle Keypad |
![]() |
Display WiiColEm menu (see above) |
In-game (Driving / Analog)
In this mode, you steer by using the analog controls (Nunchuk, Classic, GameCube). You can adjust the analog sensitivity via Cartridge Settings.
![]() ![]() |
![]() |
![]() |
Action |
---|---|---|---|
![]() |
![]() |
![]() |
Steer |
![]() |
![]() |
![]() |
Shift |
![]() ![]() |
![]() |
![]() |
Gas |
![]() ![]() |
![]() |
![]() |
Brake |
![]() |
![]() |
![]() |
Toggle Keypad |
![]() |
![]() |
![]() |
Display WiiColEm menu (see above) |
In-game (Roller)
In this mode, the trackball motion is simulated via analog controls (Nunchuk, Classic, GameCube). You can adjust the analog sensitivity via Cartridge Settings.
![]() ![]() |
![]() |
![]() |
Action |
---|---|---|---|
![]() |
![]() |
![]() |
Move |
![]() ![]() |
![]() |
![]() |
Left Fire (2p) |
![]() ![]() |
![]() |
![]() |
Right Fire (2p) |
![]() |
![]() |
![]() |
Left Fire |
![]() |
![]() |
![]() |
Right Fire |
![]() |
![]() |
![]() |
Toggle Keypad |
![]() |
![]() |
![]() |
Display WiiColEm menu (see above) |
Cartridge Settings
WiiColEm contains the ability to manage per-cartridge settings. The settings that can be edited include:
- Control settings
- Advanced settings (Whether it requires Opcode memory expansion, keypad pause, etc.)
Control Settings
The following control options are available:
- The controller type (standard, super action, driving/tilt, driving/analog, roller)
- Wiimote orientation
- Sensitivity (Roller and driving controllers)
- ColecoVision keypad and controller button mappings
When mapping buttons, you map a ColecoVision keypad or controller button to one of the "button groups" listed below. This allows you to map a button once across the different Wii controllers.
You can use the "(View as)" menu item to toggle how the ColecoVision buttons are mapped to a particular Wii controller (Wiimote, Nunchuk, Classic, and GameCube).
Group | ![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
Button 1 | ![]() |
![]() |
![]() |
![]() |
Button 2 | ![]() |
![]() |
![]() |
![]() |
Button 3 | ![]() |
(n/a) | ![]() |
![]() |
Button 4 | ![]() |
(n/a) | ![]() |
![]() |
Button 5 | (n/a) | (n/a) | ![]() |
![]() |
Button 6 | (n/a) | (n/a) | ![]() |
![]() |
Button 7 | (n/a) | (n/a) | ![]() |
(n/a) |
Button 8 | (n/a) | (n/a) | ![]() |
(n/a) |
Screenshots
Special thanks
- Marat Fayzullin
- For answering all of my questions and providing valuable suggestions
- Tantric
- Menu example code and SDL enhancements
- Daniel Bienvenu (newcoleco)
- Help resolving the Mode 2 issues
- Yurkie
- Testing and for providing great suggestions
Changelog
0.1 - January 28, 2010
- Initial release