uCON64 1.9.8beta5 Unix (Linux) 1999-2002 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]... [--rom=]ROM [[--file=]FILE] --nbak prevents backup files (*.BAK) --hdn=N force ROM has backup unit/emulator header with N Bytes size --hd same as --hdn=512 most backup units use a header with 512 Bytes size --nhd force ROM has no backup unit/emulator header --int force ROM is interleaved (2143) --nint force ROM is not interleaved (1234) --dint convert ROM to (non-)interleaved format (1234 <-> 2143) this differs from the SNES & NES --dint option --ns force ROM is not split -e emulate/run ROM (see /home/daniel/.ucon64rc for more) --crc show CRC32 value of ROM --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 --rrom rename all ROMs in DIRECTORY to their internal names; --rom=DIR this is often used by people who lose control of their ROMs --rr83 like --rrom but with 8.3 filenames; --rom=DIRECTORY --hex show ROM as hexdump; use "ucon64 --hex --rom=ROM|less" --stpn=N strip N Bytes from ROM beginning --stp same as --stpn=512 most backup units use a header with 512 Bytes size --insn=N insert N Bytes (0x00) before ROM --ins same as --insn=512 most backup units use a header with 512 Bytes size --ispad check if ROM is padded -p, --pad pad ROM to full Mb --padn=N pad ROM to N Bytes (put Bytes with value 0x00 after end) --strip strip Bytes from end of ROM; --file=VALUE -b apply Baseline/BSL patch (<=vx.x); --file=PATCHFILE -i apply IPS patch (<=v1.2); --file=PATCHFILE --mki create IPS patch; --file=CHANGED_ROM -a apply APS patch (<=v1.2); --file=PATCHFILE --mka create APS patch; --file=CHANGED_ROM --na change APS description; --rom=PATCHFILE --file=DESCRIPTION --ppf apply PPF patch (<=v2.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 (v2.0); --rom=PATCHFILE --file=FILE_ID.DIZ --gge encode GameGenie code; --rom=CODE example: --sms --rom=CODE or --gb --rom=CODE CODE='AAAA:VV' or CODE='AAAA:VV:CC' --gen --rom=CODE CODE='AAAAAA:VVVV' --nes --rom=CODE CODE='AAAA:VV' or CODE='AAAA:VV:CC' --snes --rom=CODE CODE='AAAAAA:VV' --ggd decode GameGenie code; --rom=GG_CODE example: --sms --rom=GG_CODE or --gb --rom=GG_CODE GG_CODE='XXX-XXX' or GG_CODE='XXX-XXX-XXX' --gen --rom=GG_CODE GG_CODE='XXXX-XXXX' --nes --rom=GG_CODE GG_CODE='XXXXXX' or GG_CODE='XXXXXXXX' --snes --rom=GG_CODE GG_CODE='XXXX-XXXX' --gg apply GameGenie code (permanent); --file=GG_CODE example: (like above but --file=GG_CODE instead of --rom=GG_CODE) --rom=ROM --file=GG_CODE supported are: GameBoy/(Super GB)/GB Pocket/Color GB/(GB Advance), Sega Master System(II/III)/GameGear (Handheld), Nintendo Entertainment System/NES/Famicom Game Axe (Redant), and Super Nintendo/SNES/Super Famicom --cd force recognition (of CD IMAGES) this is the support for the most CD-based consoles --xcdrw read/write IMAGE from/to CD-Writer; --rom=CD_IMAGE --file=TRACK_MODE reads automatically when CD_IMAGE does not exist we recommend http://cdrdao.sourceforge.net as burn engine TRACK_MODE='MODE2_RAW' (2352 Bytes; default) TRACK_MODE='MODE1' (2048 Bytes; standard ISO9660) TRACK_MODE='MODE1_RAW' (2352 Bytes) TRACK_MODE='MODE2' (2336 Bytes) --file=TRACK_MODE is optional, uCON64 will always try to detect the correct TRACK_MODE from the CD_IMAGE itself --mktoc generate TOC file for Cdrdao; --rom=CD_IMAGE --file=TRACK_MODE --mkcue generate CUE file; --rom=CD_IMAGE --file=TRACK_MODE TRACK_MODE='MODE2_RAW' (2352 Bytes; default) TRACK_MODE='MODE1' (2048 Bytes; standard ISO9660) TRACK_MODE='MODE1_RAW' (2352 Bytes) TRACK_MODE='MODE2' (2336 Bytes) --file=TRACK_MODE is optional, uCON64 will always try to detect the correct TRACK_MODE from the CD_IMAGE itself --iso convert BIN/RAW CD_IMAGE to MODE1 (2048 Bytes); --rom=CD_IMAGE this might be useful if you made a MODE2_RAW image of a MODE1 CD and want to mount or burn it as MODE1 (2048 Bytes) this does only work for MODE1_RAW and MODE2(_RAW) CD_IMAGEs --help display this help and exit --version output version information and exit Dreamcast --dc force recognition; NEEDED --xcdrw works currently only for MODE1/2048 backups which need the Utopia BootCD Playstation (One)/Playstation 2 (CD only) --psx force recognition; NEEDED DexDrive TODO: --xdex send/receive SRAM to/from DexDrive; --file=PORT receives automatically when --rom(=SRAM) does not exist GameBoy Advance --gba force recognition -n change ROM name; --file=NEWNAME --logo restore ROM logo character data; Offset: 0x04-0x9F --sram patch ROM for SRAM saving --crp slow down Flash Advance Linker access for ROM (crash patch); --file=WAIT_TIME WAIT_TIME='0' (default in most crash patches) WAIT_TIME='4' (faster than 0, slower than 8) WAIT_TIME='8' (faster than 4, slower than 28) WAIT_TIME='12' (slowest cartridge access speed) WAIT_TIME='16' (faster than 28, but slower than 20) WAIT_TIME='20' (default in most original carts) WAIT_TIME='24' (fastest cartridge access speed) WAIT_TIME='28' (faster than 8 but slower than 16) --strip strip Bytes from end of ROM (use --ispad before); --file=VALUE --multi make multirom for Flash Advance Linker; file with loader must be specified first, then all the ROMs, multirom to create last --multi1 same as --multi, but truncate multirom size to 64 Mb --multi2 same as --multi, but truncate multirom size to 128 Mb --multi3 same as --multi, but truncate multirom size to 256 Mb Flash Advance Linker --xfal send/receive ROM to/from Flash Advance Linker; --file=PORT receives automatically (32 mbits) when ROM does not exist --xfalc=N receive N mbits of ROM from Flash Advance Linker; --file=PORT N can be 8, 16, 32, 64, 128 or 256 --xfals send/receive SRAM to/from Flash Advance Linker; --file=PORT receives automatically when SRAM does not exist --xfalb=BANK send/receive SRAM to/from Flash Advance Linker BANK BANK can be 1, 2, 3 or 4; --file=PORT receives automatically when SRAM does not exist You only need to specify PORT if uCON64 doesn't detect the (right) parallel port. If that is the case give a hardware address: ucon64 --xfal "rom.gba" 0x378 Nintendo 64 --n64 force recognition -n change ROM name; --file=NEWNAME --v64 convert to Doctor V64 (and compatibles/interleaved) --z64 convert to Z64 (Zip Drive/not interleaved) --bot add/extract boot code to/from ROM; --file=BOOTCODE (4032 Bytes) extracts automatically if BOOTCODE does not exist --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 works only for ROMs which are <= 4 Mb in size --chk fix ROM checksum supports only 6101 and 6102 boot codes Doctor V64 --xv64 send/receive ROM to/from Doctor V64; --file=PORT receives automatically when ROM does not exist Doctor64 Jr --xdjr send/receive ROM to/from Doctor64 Jr; --file=PORT currently only sending is supported Super Nintendo/SNES/Super Famicom --snes force recognition --hi force ROM is HiROM --nhi force ROM is not HiROM --int force ROM is in interleaved format --int2 force ROM is in interleaved format 2 --nint force ROM is not in interleaved format --bs force ROM is a Broadcast Satellaview dump --nbs force ROM is a regular cartridge dump -n change internal 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; --rom=SRAM --swc convert to Super Wild Card*/(all)SWC --swcs convert Snes9x/ZSNES *.srm (SRAM) to Super Wild Card*/(all)SWC; --rom=SRAM --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; --rom=SRAM --stp convert SRAM from backup unit for use with an Emulator --stp just strips the first 512 bytes --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 split ROM -s split ROM into 4 Mb parts (for backup unit(s) with fdd) -k remove protection (crack) -f remove NTSC/PAL protection -l convert to SlowROM --chk fix ROM checksum Super WildCard 1.6XC/Super WildCard 2.8CC/Super Wild Card DX(2)/SWC --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 SRAM does not exist Press q to abort ^C will cause invalid state of backup unit You only need to specify PORT if uCON64 doesn't detect the (right) parallel port. If that is the case give a hardware address: ucon64 --xswc "rom.swc" 0x378 In order to connect the Super Wild Card to a PC's parallel port you need a standard bidirectional parallel cable like for the most backup units Neo Geo/Neo Geo CD(Z)/MVS --ng force recognition --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 --gen force recognition --smd convert to Super Magic Drive/SMD --smds convert Emulator (*.srm) SRAM to Super Magic Drive/SMD --rom=SRAM --stp convert SRAM from backup unit for use with an Emulator --stp just strips the first 512 bytes --mgd convert to Multi Game*/MGD2/MGH/RAW -n change foreign ROM name; --file=NEWNAME --n2 change Japanese ROM name; --file=NEWNAME -j join split ROM -s split ROM into 4 Mb parts (for backup unit(s) with fdd) --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" Super Com Pro (HK)/Super Magic Drive/SMD --xsmd send/receive ROM to/from Super Magic Drive/SMD; --file=PORT receives automatically when ROM does not exist --xsmds send/receive SRAM to/from Super Magic Drive/SMD; --file=PORT receives automatically when SRAM does not exist GameBoy/(Super GB)/GB Pocket/Color GB/(GB Advance) --gb force recognition -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 GameBoy Xchanger/GBDoctor --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 SRAM does not exist --xgbxb=BANK send/receive 64kbits SRAM to/from GB Xchanger BANK BANK can be a number from 0 to 15; --file=PORT receives automatically when ROM does not exist You only need to specify PORT if uCON64 doesn't detect the (right) parallel port. If that is the case give a hardware address: ucon64 --xgbx "rom.gb" 0x378 Mad Catz Camera Link (GameBoy Camera) TEST: --xmccl send/receive BYTES to/from Mad Catz Camera Link; --file=PORT currently only receiving is supported Handy(prototype)/Lynx/Lynx II --lynx force recognition --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} Lynxit (Lynx Cartridge Backup Board) TEST: --xlit send/receive ROM to/from Lynxit interface; --file=PORT receives automatically when ROM does not exist PC-Engine (CD Unit/Core Grafx(II)/Shuttle/GT/LT/Super CDROM/DUO(-R(X))) Super Grafx/Turbo (Grafx(16)/CD/DUO/Express) --pce force recognition --smg convert to Super Magic Griffin/SMG --mgd convert to Multi Game Doctor*/MGD2/RAW Sega Master System(II/III)/GameGear (Handheld) --sms force recognition --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 Super Com Pro (HK)/Super Magic Drive/SMD --xsmd send/receive ROM to/from Super Magic Drive/SMD; --file=PORT receives automatically when ROM does not exist --xsmds send/receive SRAM to/from Super Magic Drive/SMD; --file=PORT receives automatically when SRAM does not exist Nintendo Entertainment System/NES/Famicom Game Axe (Redant) --nes force recognition --unif convert to UNIF format/UNF (uses default values) --ines convert to iNES format/NES (uses default values) --ineshd extract iNES header from ROM (16 Bytes) -j join Pasofami/PRM/700/PRG/CHR/split ROM (Pasofami -> iNES) --pasofami convert to Pasofami/PRM/700/PRG/CHR -s convert/split to Pasofami/PRM/700/PRG/CHR (iNES -> Pasofami) --ffe convert to FFE (+512 Bytes) --mapr=MAPR specify board name or mapper number for conversion options MAPR must be a board name for UNIF and a number for Pasofami and iNES --dint convert ROM to non-interleaved format --ctrl=TYPE specify controller type for ROM (UNIF only) TYPE='0' regular joypad TYPE='1' zapper TYPE='2' R.O.B. TYPE='3' Arkanoid controller TYPE='4' powerpad TYPE='5' four-score adapter --ntsc specify TV standard as NTSC (UNIF only) --pal specify TV standard as PAL (UNIF only) --bat specify battery is present --nbat specify battery is not present --vram specify VRAM override (UNIF only) --nvram specify no VRAM override (UNIF only) --mirr=MTYPE specify mirroring type MTYPE='0' horizontal mirroring MTYPE='1' vertical mirroring MTYPE='2' mirror all pages from $2000 (UNIF only) MTYPE='3' mirror all pages from $2400 (UNIF only) MTYPE='4' four screens of VRAM MTYPE='5' mirroring controlled by mapper hardware (UNIF only) --cmnt=TEXT specify that TEXT should be used as comment (UNIF only) --dumpinfo use dumper info when converting to UNIF; --file=INFOFILE -n change internal ROM name (UNIF only); --file=NEWNAME --fds convert Famicom Disk System file (diskimage) from FAM to FDS --fdsl list Famicom Disk System/FDS (diskimage) contents WonderSwan/WonderSwan Color/SwanCrystal --swan force recognition --chk fix ROM checksum Panther(32bit prototype)/Jaguar64/Jaguar64 CD --jag force recognition Neo Geo Pocket/Neo Geo Pocket Color --ngp force recognition Database: 15216 known ROMs in db.h (+0) TIP: ./ucon64 --help --snes (would show only Super Nintendo related help) ./ucon64 --help|less (to see everything in less) give the force recognition switch a try if something went wrong Report problems/ideas/fixes to noisyb@gmx.net or go to http://ucon64.sf.net