uCON64 1.9.7 UNIX 1999-2001 by (various)
Uses code from various people. See 'developers.html' 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 (see $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=RAW_IMAGE $FILE=PATCHFILE
-mkppf create PPF patch; $ROM=RAW_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
Dreamcast
1998 SEGA http://www.sega.com
-dc force recognition; NEEDED
* show info (default); ONLY $ROM=ISO_IMAGE
TODO: -cdi2i convert DiscJuggler3/CDI IMAGE to ISO9660; $ROM=CDI_IMAGE
-ppf apply PPF patch (<=2.0); $ROM=RAW_IMAGE $FILE=PATCHFILE
-mkppf create PPF patch; $ROM=RAW_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
-xiso read/write ISO9660 IMAGE; $ROM=ISO_IMAGE
reads automatically when $ROM does not exist
-isot generate ISO9660 TOC file for cdrdao; $ROM=ISO_IMAGE
Playstation (One)/(Playstation 2)
1994/(2000) Sony http://www.playstation.com
-psx force recognition; NEEDED
* show info (default); ONLY $ROM=RAW_IMAGE
-ppf apply PPF patch (<=2.0); $ROM=RAW_IMAGE $FILE=PATCHFILE
-mkppf create PPF patch; $ROM=RAW_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
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_IMAGE
Playstation 2
2000 Sony http://www.playstation.com
Saturn
1994 SEGA http://www.sega.com
Real3DO
1993
CD32
1993 Commodore
CD-i
1991
-ps2, -sat, -3do, -cd32, -cdi
force recognition; NEEDED
* show info (default); ONLY $ROM=RAW_IMAGE
-r2i convert MODE2_RAW/BIN to ISO9660; $ROM=RAW_IMAGE
-ppf apply PPF patch (<=2.0); $ROM=RAW_IMAGE $FILE=PATCHFILE
-mkppf create PPF patch; $ROM=RAW_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
-xiso read/write ISO9660 IMAGE; $ROM=ISO_IMAGE
reads automatically when $ROM does not exist
-isot generate ISO9660 TOC file for cdrdao; $ROM=ISO_IMAGE
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_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
-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 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
TEST: -xdjr send/receive ROM to/from Doctor64 Jr; $FILE=PORT
receives automatically when $ROM does not exist
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
-int force ROM is in interleaved format
-int2 force ROM is in interleaved format 2
-nint 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(=SRAM) 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
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
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_IMAGE
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 Magic Drive/SMD
-smds convert Emulator (*.srm) SRAM to Super Magic 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
-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
TEST: -xsmd send/receive ROM to/from Super Magic Drive/SMD; $FILE=PORT
receives automatically when $ROM does not exist
TEST: -xsmds send/receive SRAM to/from Super Magic Drive/SMD; $FILE=PORT
receives automatically when $ROM(=SRAM) does not exist
TODO: -xmgd send/receive ROM to/from Multi Game*/MGD2/MGH/RAW; $FILE=PORT
receives automatically when $ROM does not exist
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_IMAGE
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(=SRAM) does not exist
-xgbxb 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)
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_IMAGE
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
-xraw read/write MODE2_RAW/BIN IMAGE; $ROM=RAW_IMAGE
reads automatically when $ROM does not exist
-rawt generate MODE2_RAW/BIN TOC file for cdrdao; $ROM=RAW_IMAGE
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 Magic Drive/SMD (+512 Bytes)
-smds convert Emulator (*.srm) SRAM to Super Magic Drive/SMD
-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
TEST: -xsmd send/receive ROM to/from Super Magic Drive/SMD; $FILE=PORT
receives automatically when $ROM does not exist
TEST: -xsmds send/receive SRAM to/from Super Magic Drive/SMD; $FILE=PORT
receives automatically when $ROM(=SRAM) 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)
-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
1982
Nintendo Virtual Boy
19XX Nintendo http://www.nintendo.com
WonderSwan/WonderSwan Color
19XX/19XX Bandai
Vectrex
1982
Intellivision
1979 Mattel
-s16, -ata, -coleco, -vboy, -swan, -vec, -intelli
force recognition
-hd force ROM has header (+512 Bytes)
-nhd force ROM has no header
* 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
Report problems/ideas/fixes to noisyb@gmx.net or go to http://ucon64.sf.net