** Visoly Flash Advance Xtreme Linker v0.5 for Mac OSX **
** © 2003 Jouni 'Mr.Spiv/TRSI' Korhonen **
What is the Gbalink?
GBALINK is the first Flash Linker program available for your
Apple Mac OSX (tested under 10.2.6). So far the Gbalink supports
_only_ Visoly's Flash Addvance Linker Xtreme (USB version).
Gbalink is a programmers tool. It only has the vital features and
can only be used from a _terminal_ (commandline, shell, whatever).
Supported features are:
- Flash erasing
- Dumping a flash (also commercial ROMs)
- Writing a flash
- Writing multiple ROMs to one flash
- Fixing the ROM header
Use -h switch to find out all command line options. For example
type:
gbalink -h
Supported Carts:
Cart support should be rather good. Please contact me if you
have problems with your cart.. and I can try to fix the support if
you borrow me your cart
Here is a list of known working cart
configurations:
- 64M FA - Tested and works (multirom support doesn't work)
- 128M FA - Tested and works (multirom support doesn't work)
- 64M Xtreme - Tested and works
- Turbo FA 256M - Tested and works (with two 128M chips)
- 256M Xtreme - Tested and works (with four 64M chips)
- 256M Xtreme - Tested and works (with two 128M chips)
- EZ-Flash - Not supported
- Nintendo - Not supported
- Hudson - Not supported
The cart detection code is able to distinguish between:
- 32M, 64M, and 128M FA carts
- 64M, 128M, and 256M Turbo FA carts
- 64M, 128M, 256M, and 512M Xtreme carts
- Hudson cart
- Nintendo cart
- Standard ROM
Requirements:
You need:
- a recent OSX. I have tested with 10.2.6.
- libusb -
http://libusb.sourceforge.net/download.html#stable
- Flash Advance Linker Xtreme
- some of the supported carts
How, why and notes:
Gbalink exclusively uses libusb and the protocol information
is originally reverse engineered using USB snooping tools running
in a lousy Windows98. Some other valuable information was found
from Reiner Ziegler'w web site (http://www.ziegler.desaign.de).
And finally Jeff Frohwein (http://www.devrs.com) provided me with
some real tough internal information about Visoly's linker.
Cart detection code is more or less taken from his cartlib
sources.
Some things you better know when using Gbalink. If you press
ctrl-c while operating the flash it might happen that the linker
is left in an inproper state. Next time you start the program no
operation succees. Then just replug the linker and rerun the
software. Due the oddities of the OSX libusb implementation you
need to run the linker program twice after you replug the linker
or use it for the first time. The Gbalink will instruct you when
this must be done.
Examples:
Save cart to disk and force max 32M dump:
./gbalink -c 32 -s dump.gba
Flash a rom to cart and fix the rom header:
./gbalink -f -p trout.gba
Flash a rom to cart, erase the cart before flashing and fix the
rom header:
./gbalink -e -f -p trout.gba
Flash multiple roms (1.gba, 2.gba, 3.gba), attach a cart menu,
fix all rom headers and erase the cart before flashing:
./gbalink -e -f -m gbamenu.gba 1.gba 2.gba 3.gba
Todos:
- SRAM support
- Better error handling
- GUI
Don't hold your breath for these new features though.
Thanks & greetings to:
Jeff Frohwein (for some really valuable help, I would have been
in trouble without his help),
Raleigh Cross (for beta testing),
Christophe Dubreuil (for beta testing),
Mithris (for borrowing me his 64M FA "slower than a slug" cart
and being my personal Wailing Wall),
Darkfader (I used parts of his gbafix tool),
smilydude (for showing me the EZ-loader and actually starting
this project),
Flav0r (for getting me started on handhelds and guiding me to GP32),
_sjaak (for a customized version of his GBAMENU),
and..
Costis, Guyfawkes, Peitchi, Kojote, Mr.Trans, Yado,
#gp32dev@Efnet, TRSI, ...
Contact Information - bug reports etc:
web:
http://www.deadcoderssociety.tk
email: mouho@iki.fi
Last note:
Do yourself a favor and buy a GP32