Snezziboy GBA

From GameBrew
Snezziboy
Snizziboygba02.png
General
Authorbubble2k
TypeConsole
Version2.6
LicenseGPL-2.0
Last Updated2006/08/15
Links
Download
Website
Source

Snezziboy is an SNES Emulator on the Gameboy Advance, inspired by the development of SNESAdvance. A Snezziboy Builder attaches the emulator core to the SNES demo ROM to produce a GBA executable ROM.

Compatible with SNES Advance superdat for speed hacks and other patches.

Installation

The following three files must be in the same folder:

  • snezzi.dat - Patch data file in text format. The file format of this file is exactly the same as that of the superdat for SNES Advance.
  • snezzi.gba - Emulation core for the Snezziboy.
  • snezzi.exe - Builder to construct the .gba file for an SNES ROM (Each SNES ROM will have exactly 1 gba file).

How to use:

  • Copy the SNES ROM file (.smc / .fig / .swc, etc) into the same folder as the snezzi.exe.
  • In the command line in a DOS box, issue the following command: snezzi SNESGAME.SMC
  • (Alternatively, in Windows Explorer, drag the SNESGAME.SMC file onto the snezzi.exe file.)
  • An output file SNESGAME.SMC.gba will be created in the same folder as the SNES ROM file.
  • Copy the SNESGAME.SMC.gba file into your flash cartridge as described in your flash cartridge manual, load it up into gameboy and run it.

For Supercard users, please run the .gba file through the Supercard patcher before playing. It is advised to turn all options off except "Compress".

User guide

Configuration Menu

The configuration menu has the following options:

  • BG0/BG1/BG2/BG3 - The priority of the first and second background layer (front-most/behind P0/behind P1/rear-most).
  • CTRL - Indicates the CTRL key that can be used to input the additional SNES X/Y keys (Start/Select/L/R).
  • BUTTON A/B/X/Y - Indicates the key(-combination) to you should press in order to input the SNES button A/B/X/Y.
  • BACKDROP - Allows the SNES game to display a backdrop color. Not all games like this option.
  • BG ENABLE - Allows the VRAM allocation for graphics to switch between two algorithms when backgrounds are enabled/disabled.
  • BG FORCED MODE - Forces the game to display the graphics in the specific SNES mode. This may be needed by certain games.
  • HDMA ENABLE - May cause games to slowdown, but some games must require HDMA before its backgrounds are properly viewable.
  • RETURN TO GAME - Returns to the game.
  • RESET GAME - Does a "hard reset" on the emulator and returns the game to the start.

Patch Data

The Patch Data file (snezzi.dat) contains a list of SNES ROMs and patch values either to bypass copy protection locks, or for speed hacks.

The format of the Patch Data is exactly the same as SNES Advance's superdat, but not all fields defined are used by Snezziboy. Each field is delimited by a pipe symbol, that is, '|' and the semantics of the fields that the Snezziboy Builder understands are:

  • Field #1 - CRC32 Checksum of the SNES ROM.
  • Field #2 - Game name.
  • Last Field - Patch information.

The rest of the fields between Field #2 and the Last Field are ignored entirely.

The patch information takes the following format: Address1=Byte1Byte2Byte3Byte4...,Address2=Byte1Byte2....,

For example, the following patch information: 1C7=428A,1080=EAEAEA

tells Snezziboy to:

  • Patch the SNES ROM at 1C7, 1C8 with the bytes 42 and 8A.
  • Patch the SNES ROM at 1080, 1081, 1082 with the bytes EA, EA, EA.

If the checksum of your SNES ROM does not match that in the patch data file, the Snezziboy Builder will not patch it.

List of tested games

The following games are known to be working fairly well (as at 28 May 2006):

  • Castlevania X.
  • Super Castlevania 4 (no mode 7 graphics yet).
  • Gradius 3.
  • Megaman X.
  • Megaman 7.
  • Darius Twin.
  • Super Mario World (some garbled/missing graphics).
  • SUper Mario All-Stars (Super Mario Bro, The Lost Worlds).
  • Kirby's Avalanche (some garbled graphics).
  • Tetris Attack.

Controls

L+R+Start - Configuration menu (during the game)

Start - Return to game (configuration menu)

Changelog

v0.26

  • Fixed a small bug in the debug version, as the horizontal cycles was not showing up correctly.
  • Fixed transparency so that it is disabled if the register $2130 disables all color math (Fixes the screw up in Aladdin).
  • Fix code skip for WAI/STP/WDM instructions so that if the player does not enable HDMA through the Snezziboy configuration, then the code skip selects the fastest skipping mode.
  • Fixed a critical bug in the mechanism that supports the intra-frame update of background scroll position. The bug, which crashes the emulator at worst, or screws up some layers at best, only occurs after about 65535 SNES frames have been completely rendered, or roughly 18 minutes into gameplay, assuming the game runs at full 60 fps without slowdown.

Credits

  • Flubba, Loopy - For their bold attempt in SNES emulation on the GBA.
  • anomie - For the SNES documentation on IO registers and timings.
  • ZSNES Team - For their ZSNES emulator.
  • Snes9x Team - For their Snes9x emulator.

External links

Advertising: