||CartGB, CartSNS, CartGEN and CartPCE are programs that can be
used to extract informations from: GameBoy, Super NES, Genesis and PC-Engine cartdrige
Console utilities; freeware, no special distribution
With the production of more and more emulators of
old game consoles I believe that serious collectors need new tools for automatically
listing their titles.
This is not always possibile in an easy way: many
old console makers didn't define a standard header for cartridges, so in this case a
manual intervention is necessary.
On the other hand, a few recent console share
standard cartridge headers: these are the Super Nes, the Game Boy and the Genesis.
Moreover, with the birth of a solid emulator for the PC-Engine (aka Turbo Graphics 16), a
standard header has been defined, which includes game title and a few other information;
roms floating around on the web are in this format, so I presume that a tool for
extracting these values is also welcome.
The CARTxxx utilities come really handy when you want to build a
list out of many roms whose names are not useful (such as game.001), without wasting your
time trying each and every rom image. Also, they can be used to check if images are
The programs included in this package have a
common interface and let you format as you like all informations deduced by game headers.
Moreover, starting with version 1.4 it is now possible to modify and update a few fields
in the headers of the roms.
If you run every program without parameters, an
help screen will be displayed.
The syntax for every tool is:
CARTxxx filename [filename..] [/E | [/X] [/C [/R]] [/P[n1=x[,n2=y..] | @filename]]
[/Fformat | /F@filename]
- CARTxxx is one of CARTSNS, CARTGB, CARTPCE, CARTGEN;
- filename is a pathname, with which you specify the files you
want to be examined and/or listed; every specification can include multiple wildcards '*'
and '?' in the filename, but Windows 9x names are not examined in the pattern matching;
- /F means that you want a precise layout to be used for the
report; if this option is not specified, a standard, multi-line layout is used: try it out
to see how it is organized for each program. If you are not happy with the standard
layout, you can type a mask after the /F parameter, or write a file text with the
mask and pass its name to /F, preceding the name itself with the character @.
Every mask can include fields representing the information in the header; each field is
indicated by $ followed by a number (one or two digits), which is sometimes
followed by '*' (to ask for an alternative representation of the same information). The
mask can include C-like constants, which are special sequences of characters which
represent a byte (0-255); these are especially useful when the mask is specified on the
command line. The following C-like constants are allowed:
\a \b \f \n \r \t \v \\ \? \' \"
\... where ... stands for 1 to 3 octal digits (0-7)
\x.. where .. stands for 1 or 2 hexadecimal digits (0-9, a-f, A-F)
\d... where ... stands for 1 to 3 decimal digits (0-9)
- /P can only be used together with parameter /F; through
this option you can specify the width for padding every field; for example, if you want:
- field $1 right padded in 20 characters;
- field $2 left padded in 30 characters;
- field $3 right padded in 5 characters;
or store the string:
into file and use:
Note 1: the fields for which no padding is specified have variable
Note 2: if a string is longer than its pad value, it is truncated
- /X turns off C-like constants substitution, which is on by
- /C checks cartridge CRC (and complement, where applicable); this
works also for splitted roms
- /R fix headers/repair image if CRC is wrong - implies /C;
this option will repair images which are not seriously damaged, by:
- correcting checksum/CRC (if wrong);
- correcting complement (if present);
- correcting file size (only GameBoy roms).
BE CAREFUL! Use this option only on backup copies of your roms and
delete the old versions ONLY after you have checked that the repaired roms run ok.
Sometimes the roms run ok even when the checksum is wrong, because
they were purposely patched to add features or remove protections;
- /E put the program into interactive mode; in this mode, use the
keyboard and the mouse to change the most important fields of the headers; ESC or right
mouse button let you exit without actually changing anything; follow on screen
instructions for more details.
In CARTPCE, if the header is missing and you select Update while in this mode, a
header will be automatically created; with the other programs, the original header is kept
intact (even if it was missing).
CartSNS and CartGEN have the additional parameter:
- /I: since there are copiers for these consoles which split a
game image into pieces to let them be stored on floppy disks, sometimes you could have
more than one file for a single game image: these files have extensions '.1', '.2' and so
on. By default, CARTSNS and CARTGEN ignore all files matching your specifications but
ending with a numeric extension whose absolute value is greater than one. If this
parameter is specified, all files are processed, regardless their extension.
This is the complete list of all the fields for
- CartPCE: filename, extension and
path (Dos and Windows); game title; version; type; rom size; checksum; file date, time,
size and attributes; capitalized title.
- CartSNS: filename, extension and
path (Dos and Windows); game title; country; type; rom size; ram size; console model;
maker; cartridge version; image checksum; file date, time, size and attributes;
- CartGB: filename, extension and
path (Dos and Windows); game title; type; rom size; ram size; maker; cartridge version;
image checksum; image complement; file date, time, size and attributes; capitalized title.
- CartGEN: filename, extension and
path (Dos and Windows); game title (oversea); game title (domestic); supported
hardware; rom size; ram size; supported countries; product code; maker; copyright and
year; image checksum; file date, time, size and attributes; capitalized title.
Download CARTxxx 1.4