uCON64 1.9.7 Unix 1999-2001 by (various)
Uses code from various people. See 'DEVELOPERS' for more!
This may be freely redistributed under the terms of the GNU Public License

USAGE: ucon64 [OPTION(S)] ROM [FILE]

  -e            emulate/run ROM (check INSTALL and $HOME/.ucon64rc for more)
  -crc          show CRC32 value of ROM
  -crchd        show CRC32 value of ROM (regarding to +512 Bytes header)
  -dbs          search ROM database (all entries) by CRC32; $ROM=0xCRC32
  -db           ROM database statistics (# of entries)
  -dbv          view ROM database (all entries)
  -ls           generate ROM list for all ROMs; $ROM=DIRECTORY
  -lsv          like -ls but more verbose; $ROM=DIRECTORY
  -rl           rename all files in DIRECTORY to lowercase; $ROM=DIRECTORY
  -ru           rename all files in DIRECTORY to uppercase; $ROM=DIRECTORY
  -hex          show ROM as hexdump; use "ucon64 -hex $ROM|less"
  -find         find string in ROM; $FILE=STRING ('?'==wildcard for ONE char!)
  -c            compare ROMs for differencies; $FILE=OTHER_ROM
  -cs           compare ROMs for similarities; $FILE=OTHER_ROM
  -swap         swap/(de)interleave ALL Bytes in ROM (1234<->2143)
  -ispad        check if ROM is padded
  -pad          pad ROM to full Mb
  -padhd        pad ROM to full Mb (regarding to +512 Bytes header)
  -stp          strip first 512 Bytes (possible header) from ROM
  -ins          insert 512 Bytes (0x00) before ROM
  -strip        strip Bytes from end of ROM; $FILE=VALUE
  -b		apply Baseline/BSL patch (<=x.x); $FILE=PATCHFILE
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
  -a		apply APS patch (<=1.2); $FILE=PATCHFILE
  -mka		create APS patch; $FILE=CHANGED_ROM
  -na		change APS description; $ROM=PATCHFILE $FILE=DESCRIPTION
  -ppf		apply PPF patch (<=2.0); $ROM=ISO_IMAGE $FILE=PATCHFILE
  -mkppf	create PPF patch; $ROM=ISO_IMAGE $FILE=CHANGED_IMAGE
  -nppf		change PPF description; $ROM=PATCHFILE $FILE=DESCRIPTION
  -idppf	change PPF FILE_ID.DIZ (2.0); $ROM=PATCHFILE $FILE=FILE_ID.DIZ
TODO:  -xps	apply XPS patch; $ROM=ISO_IMAGE $FILE=PATCHFILE
TODO:  -mkxps	create XPS patch; $ROM=ISO_IMAGE $FILE=CHANGED_IMAGE

GameBoy Advance
2001 Nintendo http://www.nintendo.com
  -gba          force recognition
  -hd           force ROM has header (+512 Bytes)
  -nhd          force ROM has no header
  *             show info (default)
  -n            change ROM name; $FILE=NEWNAME
  -logo         restore ROM logo character data 0x04-0x9F
  -chk          fix ROM checksum
  -sram         patch ROM for SRAM saving
  -crp          slow down Flash Advance Linker access for ROM (crash patch);
                $FILE=WAIT_TIME
                $FILE=0  (default in most crash patches)
                $FILE=4  (faster than 0, slower than 8)
                $FILE=8  (faster than 4, slower than 28)
                $FILE=12 (slowest cartridge access speed)
                $FILE=16 (faster than 28, but slower than 20)
                $FILE=20 (default in most original carts)
                $FILE=24 (fastest cartridge access speed)
                $FILE=28 (faster than 8 but slower than 16)
  -strip        strip Bytes from end of ROM (use -ispad before); $FILE=VALUE
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
  -xfal         send/receive ROM to/from Flash Advance Linker; $FILE=PORT
                receives automatically when $ROM does not exist
  -xfalc<n>     specify chip size in mbits of ROM in Flash Advance Linker when
                receiving. n can be 8,16,32,64,128 or 256. default is -xfalc32
  -xfalm        use SPP mode, default is EPP

Nintendo 64
1996 Nintendo http://www.nintendo.com
  -n64          force recognition
  -swp          force ROM is swapped (2143)
  -nswp         force ROM is not swapped (1234)
  *             show info (default)
  -n            change ROM name; $FILE=NEWNAME
  -v64          convert to Doctor V64 (and compatibles/swapped)
  -z64          convert to Z64 (Zip Drive/not swapped)
  -bot          add/extract boot code to(from) ROM; $FILE=BOOTCODE
                extracts automatically when $FILE does not exist (4032 Bytes)
                supports: 6101, 6102, 6103, 6105 and 6106 boot codes
  -sram         LAC's Makesram; $ROM=(LAC's SRAM ROM image) $FILE=SRAMFILE
                the SRAMFILE must have a size of 512 Bytes
  -usms         Jos Kwanten's ultraSMS (Sega Master System/GameGear Emulator);
                $ROM=(Jos Kwanten's ultraSMS ROM image) $FILE=SMSROM(<=4Mb)
  -chk          fix ROM checksum
  -p            pad ROM to full Mb
  -a		apply APS patch (<=1.2); $FILE=PATCHFILE
  -mka		create APS patch; $FILE=CHANGED_ROM
  -na		change APS description; $ROM=PATCHFILE $FILE=DESCRIPTION
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
  -xv64		send/receive ROM to/from Doctor V64; $FILE=PORT
		receives automatically when $ROM does not exist
  -xdjr         send/receive ROM to/from Doctor64 Jr; $FILE=PORT
  		receives automatically when $ROM does not exist
TODO: test if -xdjr does work with the hardware
TODO:  -xcd64	send/receive ROM to/from CD64; $FILE=PORT
		receives automatically when $ROM does not exist

Super Nintendo/SNES/Super Famicon
1990 Nintendo http://www.nintendo.com
  -snes         force recognition
  -hi           force ROM is HiROM
  -nhi          force ROM is not HiROM
  -hd           force ROM has SMC/FIG/SWC header (+512 Bytes)
  -nhd          force ROM has no SMC/FIG/SWC header (MGD2/MGH/RAW)
  -ns           force ROM is not splitted
  -isint        force ROM is in interleaved format
  -isint2       force ROM is in interleaved format 2
  -isnint       force ROM is not in interleaved format
  *             show info (default)
  -n            change ROM name; $FILE=NEWNAME
  -smc          convert to Super Magicom/SMC
  -fig          convert to *Pro Fighter*/(all)FIG
  -figs         convert Snes9x/ZSNES *.srm (SRAM) to *Pro Fighter*/(all)FIG
  -swc          convert to Super Wild Card*/(all)SWC
  -swcs         convert Snes9x/ZSNES *.srm (SRAM) to Super Wild Card*/(all)SWC
  -mgd          convert to Multi Game*/MGD2/MGH/RAW
  -gd3          convert to Professor SF(2) Game Doctor SF3/6/7
  -ufos         convert Snes9x/ZSNES *.srm (SRAM) to Super UFO
  -dint         convert ROM to non-interleaved format
  -col          convert 0xRRGGBB (html) <-> 0xXXXX (snes); $ROM=0xCOLOR
                this routine was used to find green colors in games and
                to replace them with red colors (blood mode)
  -j            join splitted ROM
  -s            split ROM into 4Mb parts (for backup unit(s) with fdd)
  -p            pad ROM to full Mb
  -k            remove protection (crack)
  -f            remove NTSC/PAL protection
  -l            convert to SlowROM
  -chk          fix ROM checksum
  -gge          encode GameGenie code; $ROM=AAAAAA:VV
  -ggd          decode GameGenie code; $ROM=XXXX-XXXX
  -gg           apply GameGenie code (permanent); $FILE=XXXX-XXXX
  -b		apply Baseline/BSL patch (<=x.x); $FILE=PATCHFILE
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
  -xswc         send/receive ROM to/from Super Wild Card*/(all)SWC; $FILE=PORT
                receives automatically when $ROM does not exist
                Press q to abort ^C will cause invalid state of backup unit
  -xswcs        send/receive SRAM to/from Super Wild Card*/(all)SWC; $FILE=PORT
                receives automatically when $ROM does not exist
                Press q to abort ^C will cause invalid state of backup unit
TODO:  -xfig	send/receive ROM to/from *Pro Fighter*/(all)FIG; $FILE=PORT
		receives automatically when $ROM does not exist
TODO:  -xsmc	send/receive ROM to/from Super Magicom/SMC; $FILE=PORT
		receives automatically when $ROM does not exist
TODO:  -xmgd    send/receive ROM to/from Multi Game*/MGD2/MGH/RAW; $FILE=PORT
		receives automatically when $ROM does not exist

Neo Geo Pocket/Neo Geo Pocket Color
1998/1999 SNK http://www.neogeo.co.jp
  -ngp		force recognition
  *		show info (default)
TODO:  -xfpl    send/receive ROM to/from Flash Pocket Linker; $FILE=PORT
		receives automatically when $ROM does not exist

Neo Geo/(Neo Geo CD(Z))/MVS/(M.A.M.E.)
1990/1994 SNK http://www.neogeo.co.jp
  -ng		force recognition
  -ns		force ROM is not splitted
  *		show info (default)
  -bios		convert NeoCd Bios to work with NeoCD emulator; $ROM=BIOS
		http://www.illusion-city.com/neo/
  -sam		convert SAM/M.A.M.E. sound to WAV; $ROM=SAMFILE

Genesis/Sega Mega Drive/(Sega CD)/(32X)/Nomad
1989/19XX/19XX SEGA http://www.sega.com
  -gen          force recognition
  -hd           force ROM has SMD header (+512 Bytes)
  -nhd          force ROM has no SMD header (MGD2/MGH/RAW)
  -ns           force ROM is not splitted
  *             show info (default)
  -smd          convert to Super Magicom Drive/SMD
  -mgd          convert to Multi Game*/MGD2/MGH/RAW
  -j            join splitted ROM
  -n            change foreign ROM name; $FILE=NEWNAME
  -n2           change japanese ROM name; $FILE=NEWNAME
  -s            split ROM into 4Mb parts (for backup unit(s) with fdd)
  -p            pad ROM to full Mb
TODO:  -chk     fix ROM checksum
  -1991         fix old third party ROMs to work with consoles build after
                October 1991 by inserting "(C) SEGA" and "(C)SEGA"
  -gge          encode GameGenie code; $ROM=AAAAAA:VVVV
  -ggd          decode GameGenie code; $ROM=XXXX-XXXX
TODO:  -gg      apply GameGenie code (permanent); $FILE=XXXX-XXXX
  -b		apply Baseline/BSL patch (<=x.x); $FILE=PATCHFILE
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
TODO:  -xsmd    send/receive ROM to/from Super Magicom Drive/SMD; $FILE=PORT
		receives automatically when $ROM does not exist
TODO:  -xmgd    send/receive ROM to/from Multi Game*/MGD2/MGH/RAW; $FILE=PORT
		receives automatically when $ROM does not exist

GameBoy/(Super GB)/GB Pocket/Color GB/(GB Advance)
1989/1994/1996/1998/2001 Nintendo http://www.nintendo.com
  -gb		force recognition
  -hd		force ROM has SSC header (+512 Bytes)
  -nhd		force ROM has no SSC header
  *		show info (default)
  -n		change ROM name; $FILE=NEWNAME
  -mgd		convert to Multi Game*/MGD2/RAW
  -ssc		convert to Super Smart Card/SSC (+512 Bytes)
  -sgb		convert from GB Xchanger/GB/GBC to Super Backup Card/GX/GBX
  -gbx		convert from Super Backup Card/GX/GBX to GB Xchanger/GB/GBC
  -n2gb		convert for use with Kami's FC Emulator (NES Emulator);
		$ROM=NES_ROM $FILE=FC.GB (the Emulator)
		m-kami@da2.so-net.ne.jp www.playoffline.com
  -chk		fix ROM checksum
  -gge		encode GameGenie code; $ROM=AAAA:VV or $ROM=AAAA:VV:CC
  -ggd		decode GameGenie code; $ROM=XXX-XXX or $ROM=XXX-XXX-XXX
  -gg		apply GameGenie code (permanent);
		$FILE=XXX-XXX or $FILE=XXX-XXX-XXX
  -b		apply Baseline/BSL patch (<=x.x); $FILE=PATCHFILE
  -i		apply IPS patch (<=1.2); $FILE=PATCHFILE
  -mki		create IPS patch; $FILE=CHANGED_ROM
  -xgbx         send/receive ROM to/from GB Xchanger; $FILE=PORT
                receives automatically when $ROM does not exist
  -xgbxs        send/receive SRAM to/from GB Xchanger; $FILE=PORT
                receives automatically when $ROM does not exist
  -xgbxb<n>     send/receive 64kbits SRAM to/from GB Xchanger bank n
                $FILE=PORT; receives automatically when $ROM does not exist

Panther(32bit prototype)/Jaguar64/(Jaguar64 CD)
1989 Flare2/1993 Atari/1995 Atari
  -jag		force recognition
  -hd		force ROM has header (+512 Bytes)
  -nhd		force ROM has no header
  *		show info (default)

Handy(prototype)/Lynx/Lynx II
1987 Epyx/1989 Atari/1991 Atari
  -lynx		force recognition
  -hd		force ROM has LNX header (+64 Bytes)
  -nhd		force ROM has no LNX header
  *		show info (default)
  -lyx		convert to LYX/RAW (strip 64 Bytes LNX header)
  -lnx		convert to LNX (uses default values for the header);
		adjust the LNX header with the following options
  -n		change ROM name (LNX only); $FILE=NEWNAME
  -nrot		set no rotation (LNX only)
  -rotl		set rotation left (LNX only)
  -rotr		set rotation right (LNX only)
  -b0		change Bank0 kBytes size (LNX only); $FILE={0,64,128,256,512}
  -b1		change Bank1 kBytes size (LNX only); $FILE={0,64,128,256,512}

PC-Engine (CD Unit/Core Grafx(II)/Shuttle/GT/LT/Super CDROM/DUO(-R(X)))
Super Grafx/Turbo (Grafx(16)/CD/DUO/Express)
1987/19XX/19XX NEC
  -pce		force recognition
  -hd		force ROM has SMG header (+512 Bytes)
  -nhd		force ROM has no SMG header (MGD2/RAW)
  *		show info (default)
  -smg		convert to Super Magic Griffin/SMG
  -mgd		convert to Multi Game Doctor*/MGD2/RAW
TODO:  -xmgd    send/receive ROM to/from Multi Game*/MGD2/MGH/RAW; $FILE=PORT
		receives automatically when $ROM does not exist

Sega Master System(II/III)/GameGear (Handheld)
1986/19XX SEGA http://www.sega.com
  -sms		force recognition
  -hd		force ROM has header (+512 Bytes)
  -nhd		force ROM has no header (MGD2/MGH/RAW)
  *		show info (default)
  -mgd		convert to Multi Game*/MGD2/MGH/RAW
  -smd		convert to Super Magicom Drive/SMD (+512 Bytes)
  -gge		encode GameGenie code; $ROM=AAAA:VV or $ROM=AAAA:VV:CC
  -ggd		decode GameGenie code; $ROM=XXX-XXX or $ROM=XXX-XXX-XXX
  -gg		apply GameGenie code (permanent); $FILE=CODE-CODE
TODO:  -xsmd    send/receive ROM to/from Super Magicom Drive/SMD; $FILE=PORT
		receives automatically when $ROM does not exist

Nintendo Entertainment System/NES
1983 Nintendo http://www.nintendo.com
  -nes		force recognition
  *		show info/contents (default); $ROM=ROM or $ROM=DISKIMAGE
  -hd		force ROM has FFE header (+512 Bytes)
  -nhd		force ROM has no FFE header
  -ns		force ROM is not splitted
  -ffe		convert to FFE (+512 Bytes)
  -ines		convert to iNES(Emu)/RAW
  -ineshd	extract iNES header from ROM (16 Bytes)
  -fds		convert FAM to Famicon DiskSystem/FDS (diskimage)
  -fdsl		list Famicon DiskSystem/FDS (diskimage) contents
  -j		join Pasofami/PRM/PRG/CHR/700/splitted ROM
  -gge		encode GameGenie code; $ROM=AAAA:VV or $ROM=AAAA:VV:CC
  -ggd		decode GameGenie code; $ROM=XXXXXX or $ROM=XXXXXXXX
  -gg		apply GameGenie code (permanent);
		$FILE=XXXXXX or $FILE=XXXXXXXX

Sega System 16(A/B)/Sega System 18/dual 68000
1987/19XX/19XX SEGA http://www.sega.com
Atari VCS 2600(aka Stella)/Atari 5200 SuperSystem/Atari CX7800/Atari 2600 Jr
1977/1982/1984/1986 Atari
ColecoVision
19XX
Nintendo Virtual Boy
19XX Nintendo http://www.nintendo.com
WonderSwan/WonderSwan Color
19XX/19XX Bandai
Vectrex
19XX
Intellivision
19XX Mattel
  -s16, -ata, -coleco, -vboy, -swan, -vec, -int
		force recognition
  *		show info (default)

Database: 15217 known ROMs in ucon64_db.c (+0)

TIP: ucon64 -help -snes (would show only Super Nintendo related help)
     ucon64 -help|less (to see everything in less)
     give the force recognition option a try if something went wrong

All CD-based consoles are supported by uCONCD; go to http://ucon64.sf.net
Report problems/ideas/fixes to noisyb@gmx.net or go to http://ucon64.sf.net