Goomba Paletted GBA

From GameBrew
Goomba Paletted
Goombapaletted02.png
General
AuthorKuwanger
TypeHandheld
Version2.40
LicenseMixed
Last Updated2011/01/23
Links
Download
Website


Goomba Paletted is a Gameboy emulator for the Gameboy Advance. Based on Goomba v2.2, it supports custom borders, additional palettes, along with the ability to make your own.

Installation

Download contains a collection of pre-compiled versions of goomba.gba. That is, they have already appended a collection of either palettes or borders:

  • goomba_raw.gba - Contains the minimal palettes and borders
  • goomba_with_some_borders.gba - Contains the old Goomba built-in palettes, Super Gameboy Palettes, Gameboy Color Palettes, the DGBMax Preset Palettes, and a few borders.
  • goomba_with_most_borders.gba - Contains all of goomba_with_some_borders.gba along with all Super Gameboy's built-in borders, both cropped and resized to fit the GBA screen.
  • goomba_with_marc_borders_and_palettes.gba - Contains all the palettes (but not the borders) from above along with a few more as well as a collection of cropped Super Gameboy game borders.
  • goomba_with_all_borders_and_palettes.gba - Everything above, borders and palettes alike; there are some duplicates where Marc's palettes and borders overlap the other borders and palettes.

How to setup

Before you can use Goomba, you need to add some GB roms to the emulator.

You can do this with various tools (Goomba Front etc.), or you can do it manual by using a "DOS" shell.

Example: copy /b goomba.gba+game1.gb+game2.gb goombamenu.gba

you can also insert a splashscreen between goomba and the first game if you want to.

Make sure the game's size are correct and that they contain a "real" Nintendo header, some unlicensed games seem to use their own headers.

Also make sure your flashing software allocates 64kByte/512kbit SRAM for Goomba.

Appendable Palette

Create a text file containing four lines. Each lines should contain 12 comma seperated values. Each group of three values, left to right, represents an RGB value.

Lines top to bottom are for the background, window, object 1, and object 2. Semicolons are for comments and blank lines are allowed.

Example palette Metroid.txt file:

;Metroid
0xDF,0xDF,0x7F, 0x00,0x5F,0xAF, 0x1F,0x3F,0x1F, 0x00,0x00,0x00
0xFF,0xDF,0x00, 0x80,0xFF,0xFF, 0x00,0x80,0x80, 0x00,0x00,0x00
0xFF,0xDF,0x00, 0xFF,0x00,0x00, 0x3F,0x37,0x00, 0x00,0x00,0x00
0xFF,0xFF,0xFF, 0xC0,0xC0,0xC0, 0x80,0x80,0x80, 0x00,0x00,0x00

Use txt2pal.py to convert a text file into a palette file.

Example: txt2pal.py Metroid.txt

Palette titles and palette filenames are derived from the text file's name.

Displayed titles will be only 20 characters long, so name your text file accordingly. One can add one or more palettes to goomba.gba as follows.

Example: copy /b goomba.gba+Metroid.pal goomba_new.gba

Custom Palette

Copying [from the current palette, only if the current palette isn't the custom palette,] to or modifying an element of the custom palette will store it to your flashcard's SRAM (if you're using one).

Clearing the custom palette will blank the palette and remove the game's custom palette from the flashcard's SRAM (if you're using a flash card and if the game actually has a custom palette saved).

Each palette entry is in #RRGGBB form, just like in html. Editing occurs on each color channel separately (ie, RR, GG, and BB).

Quasi-GBC Preset Palette

The GBC BIOS includes a simple checksum plus lookup routine to construct a palette from a palette dictionary for a select number of Nintendo games.

However, the actually algorithm at least hypothetically could apply to any game although with obviously unpredictable results (as it would be just a coincidence that a non-Nintendo game would match). Since there is no reason to limit the routine to just Nintendo games, the result generates only quasi-GBC preset palettes. For Nintendo games, the results should be accurate; for non-Nintendo games, it's more of a crap shoot.

DGBMax Palettes

DGBMax was a program for flashing the Doctor GB flash cart with a game It also included the feature of adding color palettes to game (presumably the flash cart's boot program acted like a GBC and DGBMax inserted the palettes into the flash cart's boot program based on the game). In any case, the result is a relatively large database of game-specific palettes in a dgbmax.ini file.

Now, Goomba Paletted supports these palettes as well if dgbmax.bin is appended. More importantly, you can create your own dgbmax.bin by altering dgbmax.ini or creating a new similarly formatted file. An important note: only the last dgbmax.bin appended will work. The rest end up being pointless filler. To append, do as follows.

Example: copy /b goomba.gba+dgbmax.bin goomba_new.gba

Custom Borders

Use append in the Append folder to convert one or more 240x160 15-color images into a custom border collection. Append one or more of these custom border collections onto goomba.gba to use. If using goomba.gba as a plugin with Pogoshell, you can also prepend a custom border collection to a ROM.

Example: copy /b goomba.gba+new_border.bin goomba_new.gba

Example: copy /b new_border.bin+game.gb game_new.gb

Note: Do not try to use ROMs prepended with a custom border in a compilation. It probably won't work.

Multiboot Pogoshell Plugin Note

If you are using goomba.gba as a multiboot plugin under Pogoshell, you only have about 48K of total space for your appended palettes, dgbmax palettes, and custom borders.

This is because multiboot mode copies the palettes and borders to RAM.

To work around this limitation, you can either prepend palettes and borders to each ROM file or you can use goomba.gba as a non-multiboot plugin.

User guide

Gameboy SRAM:

  • Goomba automatically takes care of games which use 8kByte SRAM.
  • Games that use 32kByte SRAM (most of the Pokemon games) must be saved by using savestates though.

Link transfer (sends Goomba to another GBA):

  • The other GBA must be in multiboot receive mode (no cartridge inserted, powered on and waiting with the "GAME BOY" logo displayed).
  • Only one game can be sent at a time, and only if it's small enough to send (128kB or less). A game can only be sent to 1 (one) Gameboy at a time, disconnect all other gameboys during transfer.
  • Note: Use an original Nintendo cable.

PoGoomba:

  • If you wish to use Goomba with PogoShell, just rename goomba.gba to gb.bin and put it in the plugins directory.

GameBoy Player:

  • To be able to check for the GameBoy Player one must display the GameBoy Player logo, the easiest way to get it is to use GameBoyPlayer logo.
  • Otherwise you can rip it from any other game that displays it (SMA4 & Pokemon Pinball). This is a must if you want rumble to work.

Controls

L+R - Open the menu

A - Choose

B or L+R - Cancel

L+Start - Speed modes (throttled/unthrottled/slomo mode)

R+Start - Quick load

R+Select - Quick save

L+Left/Right - Quick palette change

L+Up/Down - Quick border Change

Start+Select - Wake up from sleep mode

Screenshots

goombapaletted3.pnggoombapaletted4.png

goombapaletted5.png

Changelog

v2.40 2011/01/21

  • Added DGBMax Palette support and tools.
  • Added DGBmax Palettes (thanks Marc R).
  • Added more borders and palettes (thanks Marc R).
  • Added a compiled palette tool which uses a slightly different format (written by Marc R).
  • Fixed a bug involving support 256 borders and 256 palettes.
  • Multiboot is working (again?) under Go Multiboot, Link Transfer, and Plugin2GBA; should work under Pogoshell as well.

v2.39 2011/01/10

  • Support GBC preset palettes.
  • Renamed GBC built-in palettes to include "GBC" prefix.

v2.38 2009/10/20

  • Accomodate up to 256 borders and 256 palettes.
  • Incorporated a border/palette list (modification of Dwedit's).

.37 2009/10/18

  • Altered the border style slightly to accomodate 240 tiles (enough for the whole screen).
  • Added Super Gameboy Borders (dumped by Asaki).

v2.36 2009/10/14

  • More aggressive reset registers.
  • Reset horizontal/vertical offset registers.
    • Added Gameboy Color palettes (mixed by Asaki).

v2.36RC1 009/09/24

  • Added exit support for EZ4 and Supercard.

v2.35 2009/05/01

  • Fix custom palette loading (should fix SML).
  • Fix typo with Multi1/Multi2.

v2.34 2009/04/20-2009/0421

  • Add hotkey to switch border.
  • Instant palette switching in menu.
  • Appendable palettes.
  • Fixed a small double counting of borders/palettes bug under Pogoshell.

v2.33 2009/04/18-2009/04/19

  • Incorporate Asaki's Super Gameboy Palettes and hotkey.
  • Add Dwedit's "Pea Soup" palette.
  • Expanded names of most palettes similar to Dwedit.
  • Added 2.5s flash of current palette name.
  • Fix my overlay compression so it shouldn't corrupt.

v2.32 2006/03/19

  • Fixed a nasty bug involving the improper updating of totalstatesize--probably my fault.

v2.31 2005/09/27

  • Incorporate changes from FluBBa's v2.30.
  • FluBBa's changes from v2.2 to v2.3.
    • Fixed MultiBoot transfer.
    • Fixed a bug in the sound init.
    • Fixed the RTC a bit.
    • Changed some small things in the cpu core (DK and Kirby faster).

v2.23 2005/08/03

  • Customizable Border.
  • Reworked sram.c to avoid going past END_OF_EXRAM.

v2.22 2005/07/31

  • Fix to work with multiboot.
  • Add "Go Multiboot".

v2.22 2005/07/28

  • Include Preview.
  • Tweak Metroid Palette more.

v2.22 2005/07/25

  • Include Palette Editing.
  • Make Goomba Border default.

V2.21 2005/07/23

  • Fiddled with Metroid Palette.
  • Added a new Border.

External links

Advertising: