
This package is a set of X-ROM drivers for Linux 2.6. It contains all dependancies you need to flash to your X-ROM cartridge, as well as a very smart install script.
Contents:
Installation:
user@linux-2.6[~] tar -xjf xrom-drivers.tar.bz2
user@linux-2.6[~] cd xrom-drivers
user@linux-2.6[~] sudo ./xrom-install
I'll start by giving you the xrom-flash usage statement:
Usage: xrom-flash [options]
-b o s file Backup game save SRAM or Flash to file
(o = Bank Number [1-8])
(s=0 - Backup 8K bytes to file.)
(s=1 - Backup 32K bytes to file.)
(s=2 - Backup 64K bytes to file.)
(s=3 - Backup 128K bytes to file.)
(s=4 - Backup 256K bytes to file.)
-c n Specify cart size in mbits (16,32,64,128,256,512) (default=auto detect)
-d n Dump 256 bytes of ROM to screen (default: n=0)
-f Erase entire flash & backup (Make like new condition)
-g Disable save SRAM erase when using -p
-h This help screen
-i Return information on programmer
-m file Send a multiboot .mb file to GBA
-n Do not repair incorrect header (default = repair header)
-p file Program flash cart with file & clear cart SRAM
-r o file Restore game save SRAM from file (No save flash support)
(o = Starting bank number [1-8])
-s file Save the cart into a file (Use -c to force size)
-S o s file Specify cart offset & size in bytes to save
Flashing games: user@linux-2.6[~] xrom-flash -p game.gba
Backing games up:
user@linux-2.6[~] xrom-flash -s game.gba
Do your own investigations on SRAM stuff; I don't know how any of that works.
The Patcher:
GBA SRAM Patcher v0.05 by Fordi (fordiman@gmail.com)
SRAM pseudocode provided by coolhj (coolhj@21cn.com)
Usage:
./xrom-patch [options] [inputfile] [outputfile]
./xrom-patch -v: return the version number
./xrom-patch -c: return the changelog
-s/+s dis/enable sram patching
-x/+x dis/enable exit hack patching
-t/+t dis/enable ROM trimming
set input/output to - (con for you win people) to use stdin/stdout
-----This product brought to you by Magical Cow Powers
SRAM patching fixes the fact the many games use something other than SRAM to save your data. It basically replaces the functions for EEPROM and FLASH save types with SRAM save code. Most of the work here is from coolhj, with LOTS of testing on my end.
ROM trimming is the act of removing all of the 0xFF or 0x00's from the end of a cart. This is usually just empty space, but some games do use it for (insert esoteric use here).
The exit hack is a cool trick from coolhj; hold down L and R, and press select. Your machine has gone into stasis. Press L+R and Start, and the game resumes. Press L+R+Start+Select, and your gameboy will do a "soft" boot (very useful within PogoShell, as it "exits" from the game and returns you to Pogo).
Using stdin/stdout isn't particularly useful unless you're "hot" patching gzipped GBA games. Since gzipped games are hard to find (you'd have to be doing it yourself, essentially), you'll probably not use it.
The defaults for xrom-patch are +s -xt.
xrom-patch is NOT limited to 2.6 kernels, but IS limited to the X-ROM cart. It's set for 128k SRAM, and I don't know how to make it otherwise.
That's it for now. If you need any help at all, don't hesitate to e-mail me at