Difference between revisions of "Wii7800"

From WiiBrew
Jump to navigation Jump to search
Line 7: Line 7:
 
| contributor =  
 
| contributor =  
 
| portedby    =  
 
| portedby    =  
| version    = 0.4.0
+
| version    = 0.5.0
| download    = https://github.com/raz0red/wii7800/releases/download/0.4/wii7800-0_4.zip
+
| download    = https://github.com/raz0red/wii7800/releases/download/0.5/wii7800-0_5.zip
| source      = https://github.com/raz0red/wii7800/archive/0.4.zip
+
| source      = https://github.com/raz0red/wii7800/archive/0.5.zip
 
| website    = https://github.com/raz0red/wii7800
 
| website    = https://github.com/raz0red/wii7800
 
| discussion  = http://www.twitchasylum.com/forum/viewtopic.php?t=519
 
| discussion  = http://www.twitchasylum.com/forum/viewtopic.php?t=519
Line 15: Line 15:
 
| hbb        = yes
 
| hbb        = yes
 
}}
 
}}
'''Wii7800''' is a port of the [https://home.comcast.net/~gscottstanton/ ProSystem emulator] developed by Greg Stanton. Additional changes developed by Ludovic Jacomme aka Zx-81 (PSP port), Leonis, and gdement.  
+
 
 +
'''Wii7800''' is a port of the [https://home.comcast.net/~gscottstanton/ ProSystem emulator] developed by Greg Stanton. Additional changes developed by Ludovic Jacomme aka Zx-81 (PSP port), Leonis, and gdement. Portions of the Pokey code were adapted from the MAME implementation.
 +
 
 +
== Wii7800 0.5 + Wii7800 Homebrew Video ==
 +
<youtube align=left>3Yxuj9o3S1g</youtube>
 +
{{clear}}
  
 
== Known Issues ==
 
== Known Issues ==
Line 23: Line 28:
 
== Installation ==
 
== Installation ==
  
To install Wii7800, simply extract the zip file directly to your SD card (retain the hierarchical structure
+
To install Wii7800, simply extract the zip file directly to your SD card or USB device (retain the hierarchical structure exactly).
exactly).
+
 
 +
== Lightgun Accuracy, etc. ==
 +
 
 +
The crosshair for the Wii7800 emulator is not perfect. For example, you may be pointing at something and your shot may register slightly to the right or left.
  
Cartridge images should be placed in the roms directory (/wii7800/roms). (Zip files are supported)
+
== Cartridge Database ==
  
Wii7800 does support loading of the Atari 7800 BIOS, although it isn't necessary. If you wish to use the BIOS, simply place the NTSC and PAL BIOS files in the (/wii7800) directory. The NTSC file must be named, "7800.rom", while the PAL file must be named, "7800pal.rom".
+
Wii7800 ships with a database that contains recommended settings for the majority of commercial and a limited number of homebrew cartridges. These settings cover control settings, difficulty switch settings, and cartridge-related settings (cartridge type, Pokey support, XM support, high score cart support, etc.).
  
== Lightgun Accuracy, etc. ==
+
To view/edit the settings applied for a particular cartridge perform the following steps:
 +
 
 +
* Load the cartridge (via the "Load cartridge" menu item)
 +
* Return to the Wii7800 menu
 +
* Select the "Cartridge-specific settings" menu item
 +
* View/edit the settings for the cartridge
 +
 
 +
Some settings will not be applied until the settings are saved and the cartridge is reloaded. When one of these settings is modified, a message will be displayed indicating that this particular setting requires the cartridge to be reloaded (and the settings saved prior to loading).
  
The crosshair for the Wii7800 emulator is not perfect. For example you may be
+
Other settings, such as difficulty switch and control settings may not be applied until the cartridge is reset (or reloaded).
pointing at something and your shot may register to the right or left. This is
 
due to the way the 7800 handles hit detection for lightgun games. It only
 
checks for a hit every 7 CPU cycles. There are 330 cycles for the visible
 
portion of each frame. Thus, there are only ~47 hit points for each scanline.
 
So, the crosshair at best gets you in approximately the right area, and if you
 
miss you need to adjust based on where the shot shows up on the screen
 
(exactly how you do it when there is no crosshair).  
 
  
 
== Cartridge/ROM Compatibility ==
 
== Cartridge/ROM Compatibility ==
Line 47: Line 55:
 
[[/Cartridge Compatbility|Wii7800 Cartridge Compatibility List]]
 
[[/Cartridge Compatbility|Wii7800 Cartridge Compatibility List]]
  
This page contains a list of compatible ROMs by "hash code".  
+
Note: There are many dumps of ROMs that are incompatible with Wii7800. However, there is typically a dump of the cartridge that does work. This page contains a list of compatible ROMs by "hash code".  
  
 
== Controls ==
 
== Controls ==
Line 178: Line 186:
 
|}
 
|}
  
== Screenshots ==
+
== SMB (Network support) ==
  
<gallery perRow="3" style="text-align:center;" widths="200px" heights="131px">
+
Wii7800 allows for loading ROMs over the network via SMB. To enable SMB support, you must edit the "wii7800.conf" file located in the "/wii7800" directory and provide values for the following:
Image:7800-pole.gif |
+
 
Image:7800-commando.gif |
+
* share_ip : IP address of the computer to connect to.
Image:7800-ninja.gif |
+
* share_name : Name of the share on the computer.
</gallery>
+
* share_user : Name of the user to connect as
 +
* share_pass : Password for the user
  
 
== Special thanks ==
 
== Special thanks ==
Line 198: Line 207:
  
 
== Changelog ==
 
== Changelog ==
 +
 +
=== 0.5 - March 24, 2020 ===
 +
 +
* Partial Expansion Module (XM) support
 +
** XRAM
 +
** XPokey (limited to single Pokey)
 +
* Added support for cartridges with sizes greater than 144k
 +
* Additional bank switching modes and cartridge types
 +
* Multiple bank switching fixes
 +
* Reworked cartridge header detection
 +
** Now properly detects bank switching, RAM, etc.
 +
** Detects Expansion Module (XM)
 +
** Detects High score cartridge
 +
** Detects Pokey at $0450
 +
* Cartridge database
 +
** Added ability to edit cartridge database settings via menu
 +
** Added several new cartridge properties
 +
*** Pokey at $0450
 +
*** Default difficulty switch settings
 +
*** Expansion Module (XM) enabled/disabled
 +
*** High score cartridge enabled/disabled
 +
** Database content
 +
*** Fixed incorrect controller settings for Sirius, Crossbow, and Alien Brigade
 +
*** Added many homebrew cartridges
 +
* Display enhancements
 +
** Double strike (240p)
 +
** GX+VI mode
 +
** 16:9 correction
 +
** Full widescreen support     
 +
** Ability to enable/disable bilinear filter (GX mode)
 +
** Color trap filter
 +
** Multiple default screen sizes
 +
* Hierarchical file navigation support
 +
* USB Support
 +
* SMB (Network support) for loading ROMs 
 +
* Multi-save slot support
 +
* Reworked menu system (cartridge-specific settings, etc.)
 +
* Support for launching via WiiFlow (and returning) 
 +
* Fixed VSYNC issue which caused initial stutter on PAL games
 +
* Fixed issue occurring when Kangaroo and Holey were enabled (caused background to be displayed, resulting in large black squares)
 +
* Several audio improvements (eliminated majority of TIA and Pokey pops)
  
 
=== 0.4 - November 16, 2019 ===
 
=== 0.4 - November 16, 2019 ===

Revision as of 05:52, 25 March 2020

Wii7800
Wii7800.png
General
Author(s)Raz0red
TypeConsole emulator
Version0.5.0
Links
Download
Website
Discussion
Source
Downloadable via the Homebrew Browser
Peripherals
WiiMote2.svg Nunchuck alternative.svg ClassicController.svg GameCube Controller Loads files from the Front SD slot


Wii7800 is a port of the ProSystem emulator developed by Greg Stanton. Additional changes developed by Ludovic Jacomme aka Zx-81 (PSP port), Leonis, and gdement. Portions of the Pokey code were adapted from the MAME implementation.

Wii7800 0.5 + Wii7800 Homebrew Video



Known Issues

  • High Score cartridge is only compatible with NTSC games.

Installation

To install Wii7800, simply extract the zip file directly to your SD card or USB device (retain the hierarchical structure exactly).

Lightgun Accuracy, etc.

The crosshair for the Wii7800 emulator is not perfect. For example, you may be pointing at something and your shot may register slightly to the right or left.

Cartridge Database

Wii7800 ships with a database that contains recommended settings for the majority of commercial and a limited number of homebrew cartridges. These settings cover control settings, difficulty switch settings, and cartridge-related settings (cartridge type, Pokey support, XM support, high score cart support, etc.).

To view/edit the settings applied for a particular cartridge perform the following steps:

  • Load the cartridge (via the "Load cartridge" menu item)
  • Return to the Wii7800 menu
  • Select the "Cartridge-specific settings" menu item
  • View/edit the settings for the cartridge

Some settings will not be applied until the settings are saved and the cartridge is reloaded. When one of these settings is modified, a message will be displayed indicating that this particular setting requires the cartridge to be reloaded (and the settings saved prior to loading).

Other settings, such as difficulty switch and control settings may not be applied until the cartridge is reset (or reloaded).

Cartridge/ROM Compatibility

To find out if a particular cartridge/ROM is compatible with Wii7800, please refer to the following page:

Wii7800 Cartridge Compatibility List

Note: There are many dumps of ROMs that are incompatible with Wii7800. However, there is typically a dump of the cartridge that does work. This page contains a list of compatible ROMs by "hash code".

Controls

Wii7800 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

In-game (Joystick)

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
None None Classic Right Control Stick Gamecube C Control Stick Dual analog (if enabled)
Wiimote 2 Button Wiimote 2 Button or Nunchuck C Button Classic a Button Gamecube A Button Fire 1
Wiimote 1 Button Wiimote 1 Button or Nunchuck Z Button Classic b Button Gamecube B Button Fire 2
Wiimote + Button Wiimote + Button Classic + Button GameCube START Button Reset
Wiimote - Button Wiimote - Button Classic - Button GameCube L Trigger Select
None None Classic ZL Button or Classic ZR Button GameCube R Trigger Pause
Wiimote A Button Wiimote A Button Classic L Trigger Gamecube Y Button Left Difficulty (if enabled)
Wiimote B Button Wiimote B Button Classic R Trigger Gamecube X Button Right Difficulty (if enabled)
Wiimote HOME Button Wiimote HOME Button Classic HOME Button GameCube Z Button Display Wii7800 menu (see above)

In-game (Lightgun)

Wiimote.svg Action
Wii Remote Aim Move
Wiimote A Button or Wiimote B Button Fire
Wiimote + Button Reset
Wiimote - Button Select
Wiimote HOME Button Display Wii7800 menu (see above)

SMB (Network support)

Wii7800 allows for loading ROMs over the network via SMB. To enable SMB support, you must edit the "wii7800.conf" file located in the "/wii7800" directory and provide values for the following:

  • share_ip : IP address of the computer to connect to.
  • share_name : Name of the share on the computer.
  • share_user : Name of the user to connect as
  • share_pass : Password for the user

Special thanks

  • munky6 ~ Lead tester
  • Curt Vendel ~ Granting permission to use the High Score ROM
  • GroovyBee ~ Technical assistance
  • mimo ~ Testing
  • wilsoff ~ Icon
  • Tantric/eke-eke ~ Audio code example
  • Tantric ~ Huge improvements to the SDL
  • Team Twiizers ~ For enabling homebrew

Changelog

0.5 - March 24, 2020

  • Partial Expansion Module (XM) support
    • XRAM
    • XPokey (limited to single Pokey)
  • Added support for cartridges with sizes greater than 144k
  • Additional bank switching modes and cartridge types
  • Multiple bank switching fixes
  • Reworked cartridge header detection
    • Now properly detects bank switching, RAM, etc.
    • Detects Expansion Module (XM)
    • Detects High score cartridge
    • Detects Pokey at $0450
  • Cartridge database
    • Added ability to edit cartridge database settings via menu
    • Added several new cartridge properties
      • Pokey at $0450
      • Default difficulty switch settings
      • Expansion Module (XM) enabled/disabled
      • High score cartridge enabled/disabled
    • Database content
      • Fixed incorrect controller settings for Sirius, Crossbow, and Alien Brigade
      • Added many homebrew cartridges
  • Display enhancements
    • Double strike (240p)
    • GX+VI mode
    • 16:9 correction
    • Full widescreen support
    • Ability to enable/disable bilinear filter (GX mode)
    • Color trap filter
    • Multiple default screen sizes
  • Hierarchical file navigation support
  • USB Support
  • SMB (Network support) for loading ROMs
  • Multi-save slot support
  • Reworked menu system (cartridge-specific settings, etc.)
  • Support for launching via WiiFlow (and returning)
  • Fixed VSYNC issue which caused initial stutter on PAL games
  • Fixed issue occurring when Kangaroo and Holey were enabled (caused background to be displayed, resulting in large black squares)
  • Several audio improvements (eliminated majority of TIA and Pokey pops)

0.4 - November 16, 2019

  • Reworked audio integration (resolves audio clipping and popping)
  • Refactored project layout. Now includes third party libraries, which should reduce effort to build against latest devkitPro releases
  • Updated to latest versions of devkitPPC (r34) and libogc (1.8.23)
  • Merged PR#7 by arocchi
    • Fixes to make wii7800 work with latest DevKit
  • Merged PR#3 by clobber
    • Fix bit shift overflow when reading cartridge size from header
  • Merged PR#2 by clobber
    • Update internal ROM database
  • Merged PR#1 by clobber
    • Correctly load supergame cart types

0.3 - March 29, 2010

  • GX based scaler (smoother scrolling in Plutos, Xevious, Motor Psycho)
  • Ability to adjust screen size to any size/dimensions via the "Screen Size" option under "Display". If this is entered after loading a cartridge, the last frame will be displayed to assist in sizing.
  • Fixed graphical glitches in Ballblazer
  • Implemented RANDOM (read) and SKCTLS (write) for Pokey sound emulation
    • Ballblazer now plays all sounds
  • Minor refactor of Pokey code
  • Some minor adjustments to the Light Gun related code
  • Updated palette (from Underball)
  • Updated menu code, GX rendering of dip switches and debug information
  • Ability to set HBLANK period, Dual-analog support in ProSystem database

0.2 - June 29, 2009

  • Lightgun support
  • High score cartridge support
  • Increased accuracy of Maria cycle timing, games now run at close to their intended speed (One on One, Tower Toppler, Summer Games, KLAX, Karateka, etc.)
  • Increased compatibility for PAL games (Ballblazer, Commando, and Food Fight now work)
  • Audio now sounds as it should regardless of frequency (PAL games and custom frame rates)
  • Timers now properly take into consideration cycles generated via Maria and during WSYNC
  • Changes to ProSystem database format
    • Maria cycles are now enabled by default (option 0x1 now disables Maria, the opposite of before)
    • Ability to adjust the lightgun crosshair offset per game
  • All games now have Maria cycles and WSYNC enabled in the ProSystem database (with the exception of MIA)
  • Console switch defaults updated to work with the majority of games
  • Additions to debug output (Maria vs. CPU cycles, timer info, etc.)
  • Other games improved by various changes
    • Kung Fu Master no longer has the lines in the upper left corner of display and the Fuji logo appears as it should (if using BIOS)
    • Midnight Mutants has less graphical glitches
    • Summer Games has less graphical glitches
    • Plutos has slightly less graphical glitches
  • Fixed save/restore state issue for games that use RIOT timers.

0.1 - May 26, 2009

  • Snapshot support, including auto-load/auto-save
  • Optional loading of 7800 BIOS
  • Support for ProSystem emulator database
  • Detects and configures controls for one and two button 7800 games
  • Controls support for Wiimote/Nunchuk/Classic/Gamecube controllers
  • Analog controls support
  • Dual analog support for Gamecube/Classic controllers (Robotron)