uCON64 - THE tool for all your video game console concerns.

Its main features are:
- It is Open Source Software
- (Therefore) support for MANY platforms like: Unix, Win32, MSDOS, etc...
- Support for 14+ different cartridge and disc-based video game console systems
- Support for ALL common patch file formats like: IPS *), APS, BSL, PPF and
  Game Genie
  *) with RLE compression
- Support for 10+ different backup units to backup/restore ROM(s), disc(s) and
  SRAM(s) like: Flash Advance Linker, Flash 2 Advance, Doctor V64 (Junior),
  Super Wild Card, Game Doctor, Dexdrive, Super Magic Drive, Game Boy Xchanger,
  Mad Catz Camera Link, Lynxit, MD-PRO, SMS-PRO, PCE-PRO, GG-PRO, Super Flash
  and your CD-writer.
- Finally 150+(!) different options/features for every kind of ROM
  handling/management known to man :-)

  Including:
  *VERY* verbose ROM information for ALL systems, detection of bad dumps using
  internal checksums or DAT files, CRC32 calculation, ROM comparison,
  modification (strip, pad, etc...), SRAM conversion (emulator <-> backup
  unit), DiscJuggler and Nero image conversions, complete gzip and zip support
  for all file-related funtions, etc...
- Always up-to-date with support for new shit, trends, formats, and headers
  like UNIF (NES), NSRT (SNES), new DAT file formats, etc...

For console specific options check the following usage:

uCON64 2.0.0 Unix (Linux) 1999-2005
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|IMAGE|SRAM|FILE|DIR|ARCHIVE]...

Options
   -o=DIRECTORY specify output directory
  --nbak        prevents backup files (*.BAK)
  --ncol        disable ANSI colors in output
  --port=PORT   specify USB or parallel PORT={USB0, USB1, 3bc, 378, 278, ...}
  --hdn=N       force ROM has backup unit/emulator header with size of N Bytes
  --hd          same as --hdn=512
                  most backup units use a header with a size of 512 Bytes
  --nhd         force ROM has no backup unit/emulator header
  --ns          force ROM is not split
   -e           emulate/run ROM (check .ucon64rc for all Emulator settings)
  --crc         show CRC32 value of ROM
  --sha1        show SHA1 value of ROM
  --md5         show MD5 value of ROM
  --ls          generate ROM list for all recognized ROMs
  --lsv         like --ls but more verbose
  --hex[=ST]    show ROM as hexdump; use "ucon64 --hex ...|less"
                  ST is the optional start value in bytes
  --dual[=ST]   show ROM as dualdump; use "ucon64 --dual ...|less"
  --code[=ST]   show ROM as code; use "ucon64 --code ...|less"
  --print[=ST]  show ROM in printable characters; use "ucon64 --print ...|less"
  --find=STRING find STRING in ROM (wildcard: '?')
  --findi=STR   like --find but ignores the case of alpha bytes
  --findr=STR   like --find but looks also for shifted/relative similarities
                  (wildcard: disabled)
   -c=FILE      compare FILE with ROM for differences
  --cs=FILE     compare FILE with ROM for similarities
  --help        display this help and exit
  --version     output version information and exit
   -q           be quiet (don't show ROM info)
   -v           be more verbose (show backup unit headers also)

Padding
  --ispad       check if ROM is padded
  --pad         pad ROM to next Mb
   -p           same as --pad
  --padn=N      pad ROM to N Bytes (put Bytes with value 0x00 after end)
  --strip=N     strip N Bytes from end of ROM
  --stpn=N      strip N Bytes from start of ROM
  --stp         same as --stpn=512
                  most backup units use a header with a size of 512 Bytes
  --insn=N      insert N Bytes (0x00) before ROM
  --ins         same as --insn=512
                  most backup units use a header with a size of 512 Bytes

DATabase (support for DAT files)
  --db          DATabase statistics
  --dbv         like --db but more verbose
  --dbs=CRC32   search ROM with CRC32 in DATabase
  --scan        generate ROM list for all ROMs using DATabase
                  like: GoodXXXX scan ...
  --lsd         same as --scan
  --mkdat=DATFILE create DAT file; use -o to specify an output directory
  --rrom        rename ROMs to their internal names
  --rename      rename ROMs to their DATabase names
                  use -o to specify an output directory
  --rr83        force to rename to 8.3 filenames
  --force63     force to rename all filenames into Joliet CD format
                  like: GoodXXXX rename inplace force63 ...
                  TIP: using --nes would process only NES ROMs
  --rl          rename ROMs to lowercase
  --ru          rename ROMs to uppercase

Patching
  --poke=OFF:V  change byte at file offset OFF to value V (both in hexadecimal)
  --pattern=FILE change ROM based on patterns specified in FILE
  --patch=PATCH specify the PATCH for the following options
                  use this option or uCON64 expects the last commandline
                  argument to be the name of the PATCH file
   -b           apply Baseline/BSL PATCH to ROM
   -i           apply IPS PATCH to ROM (IPS<=v1.2)
  --mki=ORG_ROM create IPS patch; ROM should be the modified ROM
   -a           apply APS PATCH to ROM (APS<=v1.2)
  --mka=ORG_ROM create APS patch; ROM should be the modified ROM
  --na=DESC     change APS single line DESCRIPTION
  --ppf         apply PPF PATCH to IMAGE (PPF<=v2.0); ROM should be an IMAGE
  --mkppf=ORG_IMG create PPF patch; ROM should be the modified IMAGE
  --nppf=DESC   change PPF single line DESCRIPTION
  --idppf=FILE_ID.DIZ change FILE_ID.DIZ of PPF PATCH (PPF v2.0)
  --gge=CODE    encode and display Game Genie code
                  example: --gge=CODE --sms or --gge=CODE --gb
                  CODE='AAAA:VV' or CODE='AAAA:VV:CC'
                  --gge=CODE --gen
                  CODE='AAAAAA:VVVV'
                  --gge=CODE --nes
                  CODE='AAAA:VV' or CODE='AAAA:VV:CC'
                  --gge=CODE --snes
                  CODE='AAAAAA:VV'
  --ggd=GG_CODE decode Game Genie code
                  example: --ggd=GG_CODE --sms or --ggd=GG_CODE --gb
                  GG_CODE='XXX-XXX' or GG_CODE='XXX-XXX-XXX'
                  --ggd=GG_CODE --gen
                  GG_CODE='XXXX-XXXX'
                  --ggd=GG_CODE --nes
                  GG_CODE='XXXXXX' or GG_CODE='XXXXXXXX'
                  --ggd=GG_CODE --snes
                  GG_CODE='XXXX-XXXX'
  --gg=GG_CODE  apply Game Genie code (permanently)
                  example: like above but a ROM is required
                  supported are:
                  Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance),
                  Sega Master System(II/III)/Game Gear (Handheld),
                  Genesis/Sega Mega Drive/Sega CD/32X/Nomad,
                  Nintendo Entertainment System/NES/Famicom/Game Axe (Redant),
                  Super Nintendo Entertainment System/SNES/Super Famicom

All disc-based consoles
  --disc        force recognition; NEEDED
  --rip=N       rip/dump track N from IMAGE
  --bin2iso=N   convert track N to ISO (if possible) by resizing
                  sectors to 2048 Bytes
  --isofix=N    fix corrupted track N (if possible)
                  if PVD points to a bad DR offset it will add padding data
                  so actual DR gets located in right absolute address
  --mkcue       generate CUE sheet for IMAGE or existing TOC sheet
  --mktoc       generate TOC sheet for IMAGE or existing CUE sheet

Dreamcast
  --dc          force recognition
  --scr         scramble 1ST_READ.BIN for selfboot CDs
  --unscr       unscramble 1ST_READ.BIN for non-selfboot CDs
  --mkip        generate IP.BIN file with default values
  --parse=TEMPLATE parse TEMPLATE file into a IP.BIN;
                  creates an empty template when TEMPLATE does not exist

Playstation (One)/Playstation 2 (CD only)
  --psx         force recognition
DexDrive
  --xdex=N      send/receive Block N to/from DexDrive; --port=PORT
                  receives automatically when SRAM does not exist

Game Boy Advance
  --gba         force recognition
   -n=NEW_NAME  change internal ROM name to NEW_NAME
  --logo        restore ROM logo character data (offset: 0x04-0x9F)
  --chk         fix ROM header checksum
  --sram        patch ROM for SRAM saving
  --crp=WAIT_TIME slow down ROM access ("crash patch");
                  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 cartridges
                  WAIT_TIME=24 fastest cartridge access speed
                  WAIT_TIME=28 faster than 8 but slower than 16
  --multi=SIZE  make multi-game file for use with FAL/F2A flash card, truncated
                  to SIZE Mbit; file with loader must be specified first, then
                  all the ROMs, multi-game file to create last
Flash 2 Advance (Ultra)
  --xf2a        send/receive ROM to/from Flash 2 Advance (Ultra); --port=PORT
                  receives automatically (32 Mbits) when ROM does not exist
  --xf2amulti=SIZE send multiple ROMs to Flash 2 Advance (Ultra); specify a
                  loader in the configuration file; --port=PORT
  --xf2ac=N     receive N Mbits of ROM from Flash 2 Advance (Ultra);
                  --port=PORT
  --xf2as       send/receive SRAM to/from Flash 2 Advance (Ultra); --port=PORT
                  receives automatically when SRAM does not exist
  --xf2ab=BANK  send/receive SRAM to/from Flash 2 Advance (Ultra) BANK
                  BANK should be a number >= 1; --port=PORT
                  receives automatically when SRAM does not exist
Flash Advance Linker
  --xfal        send/receive ROM to/from Flash Advance Linker; --port=PORT
                  receives automatically (32 Mbits) when ROM does not exist
  --xfalmulti=SIZE send multiple ROMs to Flash Advance Linker (makes temporary
                  multi-game file truncated to SIZE Mbit); specify a loader in
                  the configuration file; --port=PORT
  --xfalc=N     receive N Mbits of ROM from Flash Advance Linker; --port=PORT
                  N can be 8, 16, 32, 64, 128 or 256
  --xfals       send/receive SRAM to/from Flash Advance Linker; --port=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; --port=PORT
                  receives automatically when SRAM does not exist
  --xfalm       try to enable EPP mode, default is SPP mode

Nintendo 64
  --n64         force recognition
  --int         force ROM is in interleaved format (2143, V64)
  --nint        force ROM is not in interleaved format (1234, Z64)
   -n=NEW_NAME  change internal ROM name to NEW_NAME
  --v64         convert to Doctor V64 (and compatibles/interleaved)
  --z64         convert to Mr. Backup Z64 (not interleaved)
  --dint        convert ROM to (non-)interleaved format (1234 <-> 2143)
  --swap        same as --dint, byte-swap ROM
  --swap2       word-swap ROM (1234 <-> 3412)
  --bot=BOOTCODE replace/extract BOOTCODE (4032 Bytes) in/from ROM;
                  extracts automatically if BOOTCODE does not exist
  --lsram=SRAM  LaC's SRAM upload tool; ROM should be LaC's ROM image
                  the SRAM must have a size of 512 Bytes
                  this option generates a ROM which can be used to transfer
                  SRAMs to your cartridge's SRAM (EEPROM)
  --usms=SMSROM Jos Kwanten's UltraSMS (Sega Master System/Game Gear emulator);
                  ROM should be Jos Kwanten's UltraSMS ROM image
                  works only for SMS ROMs which are <= 4 Mb in size
  --chk         fix ROM checksum
                  supports only 6102 and 6105 boot codes
Doctor V64
  --xv64        send/receive ROM to/from Doctor V64; --port=PORT
                  receives automatically when ROM does not exist
Doctor V64 Junior
  --xdjr        send ROM to Doctor V64 Junior; --port=PORT
CD64
  --xcd64       send/receive ROM to/from CD64; --port=PORT
                  receives automatically (64 Mbits) when ROM does not exist
  --xcd64c=N    receive N Mbits of ROM from CD64; --port=PORT
  --xcd64b      send boot emu to CD64; --port=PORT
  --xcd64s      send/receive SRAM to/from CD64; --port=PORT
                  receives automatically when SRAM file does not exist
  --xcd64f      send/receive flash RAM to/from CD64; --port=PORT
                  receives automatically when flash RAM file does not exist
  --xcd64e      send/receive EEPROM data to/from CD64; --port=PORT
                  receives automatically when EEPROM file does not exist
  --xcd64m=INDEX send/receive memory pack data to/from CD64; --port=PORT
                  INDEX is ignored for CD64 BIOS protocol
                  receives automatically when memory pack file does not exist
  --xcd64p=PROT use protocol PROT when communicating with CD64; --port=PORT
                  PROT=0 CD64 BIOS
                  PROT=1 Ghemor
                  PROT=2 UltraLink
DexDrive
  --xdex=N      send/receive Block N to/from DexDrive; --port=PORT
                  receives automatically when SRAM does not exist

Super Nintendo Entertainment System/SNES/Super Famicom
  --snes        force recognition
  --hi          force ROM is HiROM
  --nhi         force ROM is not HiROM
  --erom        force ROM is "Extended" (combine with -hi for Extended HiROM)
  --int         force ROM is in interleaved format (GD3/UFO)
  --int2        force ROM is in interleaved format 2 (SFX)
  --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=NEW_NAME  change internal ROM name to NEW_NAME
  --fig         convert to *Pro Fighter*/FIG
  --figs        convert emulator *.srm (SRAM) to *Pro Fighter*/FIG
  --gd3         convert to Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
  --gd3s        convert emulator *.srm (SRAM) to GD SF3(SF6/SF7)/Professor SF*
  --mgd         convert to Multi Game*/MGD2/MGH/RAW
  --smc         convert to Super Magicom/SMC
  --swc         convert to Super Wild Card*/SWC
  --swcs        convert emulator *.srm (SRAM) to Super Wild Card*/SWC
  --ufo         convert to Super UFO
  --ufos        convert emulator *.srm (SRAM) to Super UFO
  --stp         convert SRAM from backup unit for use with an emulator
                  --stp just strips the first 512 bytes
  --dbuh        display (relevant part of) backup unit header
  --dint        deinterleave ROM (regardless whether the ROM is interleaved)
  --ctrl=TYPE   specify type of controller in port 1 for emu when converting
                  TYPE=0 gamepad
                  TYPE=1 mouse
                  TYPE=2 mouse / gamepad
                  TYPE=6 multitap
  --ctrl2=TYPE  specify type of controller in port 2 for emu when converting
                  TYPE=0 gamepad
                  TYPE=1 mouse
                  TYPE=2 mouse / gamepad
                  TYPE=3 super scope
                  TYPE=4 super scope / gamepad
                  TYPE=5 Konami's justifier
                  TYPE=6 multitap
                  TYPE=7 mouse / super scope / gamepad
  --col=0xCOLOR convert 0xRRGGBB (HTML) <-> 0xXXXX (SNES)
   -j           join split ROM
   -s           split ROM; default part size is 8 Mb
  --ssize=SIZE  specify split part size in Mbit (not for Game Doctor SF3)
   -k           remove protection (crack)
   -f           remove NTSC/PAL protection
   -l           remove SlowROM checks
  --chk         fix ROM checksum
  --multi=SIZE  make multi-game file for use with Super Flash flash card,
                  truncated to SIZE Mbit; file with loader must be specified
                  first, then all the ROMs, multi-game file to create last
  --dmirr       "de-mirror" ROM (strip mirrored block from end of ROM)
  --dnsrt       "de-NSRT" ROM (restore name and checksum from NSRT header)
Super Com Pro/Super Magicom/SMC/Super Wild Card (1.6XC/2.7CC/2.8CC/DX/DX2)/SWC
  --xswc        send/receive ROM to/from Super Wild Card*/SWC; --port=PORT
                  receives automatically when ROM does not exist
  --xswc2       same as --xswc, but enables Real Time Save mode (SWC only)
  --xswc-io=MODE specify SWC I/O mode; use with -xswc or -xswcc
                  MODE=0x001 force 32 Mbit dump
                  MODE=0x002 use alternative method for determining ROM size
                  MODE=0x004 Super FX
                  MODE=0x008 S-DD1
                  MODE=0x010 SA-1
                  MODE=0x020 SPC7110
                  MODE=0x040 DX2 trick (might work with other SWC models)
                  MODE=0x080 Mega Man X 2
                  MODE=0x100 dump BIOS
                  It is possible to combine flags. MODE=0x44 makes it possible
                  to dump for example Yoshi's Island
  --xswcs       send/receive SRAM to/from Super Wild Card*/SWC; --port=PORT
                  receives automatically when SRAM does not exist
  --xswcc       send/receive SRAM to/from cartridge in Super Wild Card*/SWC;
                  --port=PORT
                  receives automatically when SRAM does not exist
  --xswcr       send/receive RTS data to/from Super Wild Card*/SWC; --port=PORT
                  receives automatically when RTS file does not exist
Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
  --xgd3        send ROM to Game Doctor SF3/SF6/SF7; --port=PORT
                  this option uses the Game Doctor SF3 protocol
  --xgd6        send ROM to Game Doctor SF6/SF7; --port=PORT
                  this option uses the Game Doctor SF6 protocol
  --xgd3s       send SRAM to Game Doctor SF3/SF6/SF7; --port=PORT
  --xgd6s       send/receive SRAM to/from Game Doctor SF6/SF7; --port=PORT
                  receives automatically when SRAM does not exist
  --xgd6r       send/receive saver (RTS) data to/from Game Doctor SF6/SF7;
                  --port=PORT
                  receives automatically when saver file does not exist
Super Pro Fighter (Q/Q+)/Pro Fighter X (Turbo 2)/Double Pro Fighter (X Turbo)
  --xfig        send/receive ROM to/from *Pro Fighter*/FIG; --port=PORT
                  receives automatically when ROM does not exist
  --xfigs       send/receive SRAM to/from *Pro Fighter*/FIG; --port=PORT
                  receives automatically when SRAM does not exist
  --xfigc       send/receive SRAM to/from cartridge in *Pro Fighter*/FIG;
                  --port=PORT
                  receives automatically when SRAM does not exist
Super Flash flash card programmer
  --xsf         send/receive ROM to/from Super Flash flash card programmer
                  --port=PORT
                  receives automatically (64 Mbits) when ROM does not exist
  --xsfs        send/receive SRAM to/from Super Flash flash card programmer
                  --port=PORT
                  receives automatically when SRAM does not exist

Neo Geo/Neo Geo CD(Z)/MVS
  --ng          force recognition
  --bios=BIOS   convert NeoCD BIOS to work with NeoCD emulator
  --sam=SAMFILE convert SAM/M.A.M.E. sound to WAV

Genesis/Sega Mega Drive/Sega CD/32X/Nomad
  --gen         force recognition
  --int         force ROM is in interleaved format (SMD)
  --int2        force ROM is in interleaved format 2 (MGD)
  --nint        force ROM is not in interleaved format (BIN/RAW)
   -n=NEW_NAME  change foreign ROM name to NEW_NAME
  --n2=NEW_NAME change Japanese ROM name to NEW_NAME
  --smd         convert to Super Magic Drive/SMD
  --smds        convert emulator (*.srm) SRAM to Super Magic Drive/SMD
  --bin         convert to Magicom/BIN/RAW
  --mgd         convert to Multi Game*/MGD2/MGH
  --stp         convert SRAM from backup unit for use with an emulator
                  --stp just strips the first 512 bytes
   -j           join split ROM
   -s           split ROM; default part size is 8 Mb (4 Mb for SMD)
  --ssize=SIZE  specify split part size in Mbit
   -f           remove NTSC/PAL protection
  --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"
  --multi=SIZE  make multi-game file for use with MD-PRO flash card, truncated
                  to SIZE Mbit; file with loader must be specified first, then
                  all the ROMs, multi-game file to create last
  --region=CODE enable region function; use with -multi
                  CODE=0 force NTSC/Japan for all games
                  CODE=1 force NTSC/U.S.A. for all games
                  CODE=2 force PAL for all games
                  CODE=x use whatever setting games expect
Super Com Pro/Super Magic Drive/SMD
  --xsmd        send/receive ROM to/from Super Magic Drive/SMD; --port=PORT
                  receives automatically when ROM does not exist
  --xsmds       send/receive SRAM to/from Super Magic Drive/SMD; --port=PORT
                  receives automatically when SRAM does not exist
MD-PRO flash card programmer
  --xmd         send/receive ROM to/from MD-PRO flash card programmer
                  --port=PORT
                  receives automatically (32/64 Mbits) when ROM does not exist
  --xmds        send/receive SRAM to/from MD-PRO flash card programmer
                  --port=PORT
                  receives automatically when SRAM does not exist
  --xmdb=BANK   send/receive SRAM to/from MD-PRO BANK
                  BANK can be a number from 1 to 4; --port=PORT
                  receives automatically when SRAM does not exist
Mike Pavone's Genesis/Sega CD transfer cable
  --xmcd        receive ROM from Genesis/Sega CD; --port=PORT
Cyan's Megadrive ROM copier
  --xcmc        receive ROM from Cyan's Megadrive ROM copier; --port=PORT
  --xcmct=TEST  run test TEST
                  TEST=1 burn-in reliability test (specify speed)
                  TEST=2 testbench mode (experts only)
  --xcmcm=SPEED specify transfer speed
                  SPEED=1 slow (debug)
                  SPEED=2 medium
                  SPEED=3 fast (default)
                  SPEED=4 full speed (risky)

Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance)
  --gb          force recognition
   -n=NEW_NAME  change internal ROM name to NEW_NAME
  --logo        restore ROM logo character data (offset: 0x104-0x134)
  --mgd         convert to Multi Game*/MGD2/RAW
  --ssc         convert to Super Smart Card/SSC
  --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=NESROM KAMI's FC EMUlator (NES emulator);
                  ROM should be KAMI's FC Emulator ROM image
                  NESROM should contain 16 kB of PRG data and 8 kB of CHR data
  --chk         fix ROM checksum
Game Boy Xchanger/GBDoctor
  --xgbx        send/receive ROM to/from GB Xchanger; --port=PORT
                  receives automatically when ROM does not exist
  --xgbxs       send/receive SRAM to/from GB Xchanger; --port=PORT
                  receives automatically when SRAM does not exist
  --xgbxb=BANK  send/receive 64 kbits SRAM to/from GB Xchanger BANK
                  BANK can be a number from 0 to 15; --port=PORT
                  receives automatically when ROM does not exist
  --xgbxm       try to enable EPP mode, default is SPP mode
Mad Catz Camera Link (Game Boy Camera)
  --xmccl       receives from Mad Catz Camera Link; --port=PORT

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=NEW_NAME  change internal ROM name to NEW_NAME (LNX only)
  --nrot        set no rotation (LNX only)
  --rotl        set rotation left (LNX only)
  --rotr        set rotation right (LNX only)
  --b0=N        change Bank0 kBytes size to N={0,64,128,256,512} (LNX only)
  --b1=N        change Bank1 kBytes size to N={0,64,128,256,512} (LNX only)
Lynxit (Lynx cartridge backup board)
  --xlit        receive ROM from Lynxit interface; --port=PORT

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
  --int         force ROM is in interleaved (bit-swapped) format
  --nint        force ROM is not in interleaved (bit-swapped) format
  --msg         convert to Magic Super Griffin/MSG
  --mgd         convert to Multi Game Doctor*/MGD2/RAW
  --swap        swap bits of all bytes in file (TurboGrafx-16 <-> PC-Engine)
   -f           fix region protection
  --multi=SIZE  make multi-game file for use with PCE-PRO flash card, truncated
                  to SIZE Mbit; file with loader must be specified first, then
                  all the ROMs, multi-game file to create last
Magic Super Griffin/MSG
  --xmsg        send/receive ROM to/from Magic Super Griffin/MSG; --port=PORT
                  receives automatically when ROM does not exist
PCE-PRO flash card programmer
  --xpce        send/receive ROM to/from PCE-PRO flash card programmer
                  --port=PORT
                  receives automatically (32 Mbits) when ROM does not exist

Nintendo Entertainment System/NES/Famicom/Game Axe (Redant)
  --nes         force recognition
   -n=NEW_NAME  change internal ROM name to NEW_NAME (UNIF only)
  --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 format (Super Magic Card)
  --mapr=MAPR   specify board name or mapper number for conversion options
                  MAPR must be a board name for UNIF or a number for Pasofami
                  and iNES
  --dint        deinterleave ROM (regardless whether the ROM is interleaved)
  --ctrl=TYPE   specify controller type (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 is NTSC (UNIF only)
  --pal         specify TV standard is 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=FILE use dumper info from FILE when converting to UNIF
  --fds         convert Famicom Disk System file (diskimage) from FAM to FDS
  --fdsl        list Famicom Disk System/FDS (diskimage) contents
Super Magic Card
  --xsmc        send ROM (in FFE format) to Super Magic Card; --port=PORT
  --xsmcr       send/receive RTS data to/from Super Magic Card; --port=PORT
                  receives automatically when RTS file does not exist

Sega Master System(II/III)/Game Gear (Handheld)
  --sms         force recognition
  --int         force ROM is in interleaved format (SMD)
  --nint        force ROM is not in interleaved format (RAW)
  --mgd         convert to Multi Game*/MGD2/MGH/RAW (gives SMS name)
  --mgdgg       same as --mgd, but gives GG name
  --smd         convert to Super Magic Drive/SMD
  --smds        convert emulator (*.srm) SRAM to Super Magic Drive/SMD
  --chk         fix ROM checksum (SMS only)
  --multi=SIZE  make multi-game file for use with SMS-PRO/GG-PRO flash card,
                  truncated to SIZE Mbit; file with loader must be specified
                  first, then all the ROMs, multi-game file to create last
SMS-PRO/GG-PRO flash card programmer
  --xgg         send/receive ROM to/from SMS-PRO/GG-PRO flash card programmer
                  --port=PORT
                  receives automatically (32 Mbits) when ROM does not exist
  --xggs        send/receive SRAM to/from SMS-PRO/GG-PRO flash card programmer
                  --port=PORT
                  receives automatically when SRAM does not exist
  --xggb=BANK   send/receive SRAM to/from SMS-PRO/GG-PRO BANK
                  BANK can be a number from 1 to 4; --port=PORT
                  receives automatically when SRAM does not exist

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
Pocket Linker
  --xpl         send/receive ROM to/from Pocket Linker; --port=PORT
                  receives automatically when ROM does not exist
  --xpli        show information about inserted cartridge; --port=PORT
  --xplm        try to enable EPP mode, default is SPP mode

Atari VCS 2600(aka Stella)/Atari 5200 SuperSystem/Atari CX7800/Atari 2600 Jr
  --ata         force recognition

DATabase: 32626 known ROMs (DAT files: /mnt/hd2-1/home/daniel/.ucon64/dat)

NOTE: You only need to specify PORT if uCON64 doesn't detect the (right)
      parallel port. If that is the case give a hardware address. For example:
        ucon64 --xswc "rom.swc" --port=0x378
      In order to connect a copier to a PC's parallel port you need a standard
      bidirectional parallel cable

TIP: ucon64 --help --snes (would show only SNES related help)
     ucon64 --help|less (to see everything in less)
     Give the force recognition switch a try if something went wrong

Please report any problems/ideas/fixes to noisyb@gmx.net or
ucon64-announce@lists.sf.net or visit http://ucon64.sf.net