uCON64 - ReadMe

`

    uCON64 2.2.2 UNIX (Linux) 1999-2021
    Uses code from various people. See 'developers.html' for more!
    uCON64 may be freely distributed under the terms of the GNU Public License

    Usage: ucon64 [OPTION]... [ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]...

    Options
       -o=DIRECTORY specify output directory
       -r           process subdirectories recursively
      --nbak        prevents backup files (*.BAK)
      --ncol        disable ANSI colors in output
      --port=PORT   specify USB or parallel PORT={USB0,USB1,... 3bc,378,278,...}
                      In order to connect a backup unit to a PC's parallel port
                      you need a standard bidirectional parallel cable
      --xreset      reset parallel port
      --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[=O1[:O2]] show ROM as hexdump
                      O1=optional offset (decimal/hexadecimal) of start
                      O2=optional offset (decimal/hexadecimal) of end
      --bit[=O1[:O2]] show ROM as bitdump
      --code[=O1[:O2]] show ROM as code
      --print[=O1[:O2]] show ROM in printable characters
      --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
                      (no wildcard supported)
      --hfind=HEX   find HEX codes in ROM; use quotation --hfind="75 ? 4f 4e"
                      (wildcard: '?')
      --hfindr=HEX  like --hfind but looks also for shifted/relative similarities
                      (no wildcard supported)
      --dfind=DEC   find DEC values in ROM; use quotation --dfind="117 ? 79 78"
                      (wildcard: '?')
      --dfindr=DEC  like --dfind but looks also for shifted/relative similarities
                      (no wildcard supported)
       -c=FILE      compare FILE with ROM for differences
      --cs=FILE     compare FILE with ROM for similarities
      --help[=WHAT] display help and exit
                      WHAT="long"   show long help (default)
                      WHAT="pad"    show help for padding ROMs
                      WHAT="dat"    show help for DAT support
                      WHAT="patch"  show help for patching ROMs
                      WHAT="backup" show help for backup units
                      WHAT="disc"   show help for DISC image support
                      --help --snes would show only SNES related help
      --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
      --split=N     split ROM in parts of N Bytes (including possible header)
                      use -s/--ssize to split for a specific console or backup unit

    DATabase (support for DAT files)
      --db          DATabase statistics
      --dbv         like --db but more verbose
      --dbs=CRC32   search ROM with CRC32 value 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
      --rdat        rename ROMs to their DATabase names
      --rrom        rename ROMs to their internal names (if any)
      --r83         rename to 8.3 filenames
      --rjoliet     rename to Joliet compatible filenames
      --rl          rename to lowercase
      --ru          rename to uppercase

    Patching
      --poke=OFF:V  change byte at file offset OFF to value V (both in hexadecimal)
      --hreplace=S:R find S and copy R to the start of each match; use quotation if
                      S or R contains spaces --hreplace="75 43 4f 4e:4261636b"
                      (wildcard: '?')
      --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
      --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)
      --psx         force recognition

    Game Boy Advance (SP)
      --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
      --sc          convert to Super Card (CF to GBA Adapter)
                      (creates SAV and SCI templates)
      --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       use SPP mode, default is EPP mode

    Nintendo DS
      --nds         force recognition
       -n=NEW_NAME  change internal ROM name to NEW_NAME
      --logo        restore ROM logo character data
      --chk         fix ROM header checksum

    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 6101, 6102, 6103, 6105 and 6106 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

    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 *.srm (SRAM) file to *Pro Fighter*/FIG
      --gd3         convert to Game Doctor SF3(SF6/SF7)/Professor SF(SF 2)
      --id          force --gd3 to produce a unique filename
      --idnum=NUM   force --gd3 to produce filenames where first file has numerical
                      identifier NUM, next NUM + 1, etc.
      --gd3s        convert *.srm (SRAM) file to GD SF3(SF6/SF7)/Professor SF*
      --mgd         convert to Multi Game Doctor 2/MGD2/RAW
      --mgh         convert to Multi Game Hunter/MGH
      --smc         convert to Super Magicom/SMC
      --swc         convert to Super Wild Card*/SWC
      --swcs        convert *.srm (SRAM) file to Super Wild Card*/SWC
      --ufo         convert to Super UFO Super Drive PRO 7/8
      --ufos        convert *.srm (SRAM) file to Super UFO Super Drive PRO 7/8
      --ufosd       convert to Super UFO Pro 8 SD
      --ufosds      convert *.srm (SRAM) file to Super UFO Pro 8 SD
      --ic2         convert to Super Magicom/SMC IC2
      --sminis=ID   convert *.srm (SRAM) file to SNES/Super Famicom Classic Mini
                      (hakchi2) format for game with identifier ID
      --range=O1:O2 specify range for calculating checksum of SNES/Super Famicom
                      Classic Mini (hakchi2) SRAM data
                      O1=offset (hexadecimal) of first byte of range
                      O2=offset (hexadecimal) of last byte of range
      --smini2srm   convert SNES/Super Famicom Classic Mini (hakchi2) SRAM data to
                      *.srm (SRAM) file
      --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
      --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 and interpret it
      --dint        deinterleave ROM (regardless whether the ROM is interleaved)
      --col=0xCOLOR convert 0xRRGGBB (HTML) <-> 0xXXXX (SNES)
       -j           join split ROM
       -s           split ROM (not for UFO Pro 8 SD); default part size is 8 Mb
      --smgh        split ROM for Multi Game Hunter/MGH
      --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)
      --mksrm       create *.srm (SRAM) file with size based on ROM information
    Supercom 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 2)
      --xgd3        send ROM to Game Doctor SF3/SF6/SF7; --port=PORT
                      this option uses the Game Doctor SF3 protocol
      --xgd6        send/receive ROM to/from Game Doctor SF6/SF7; --port=PORT
                      receives automatically when ROM does not exist
                      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
      --xgd3r       send saver (RTS) data to Game Doctor SF3/SF6/SF7;--port=PORT
      --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
    UFO Super Drive PRO 6 HYPER VERSION/Future Supercom Pro.9/Twin Supercom Pro.5
    (Modified) Supercom PRO.1/(Modified) Super Magicom
      --xic2        send ROM to SMC IC2 compatible backup unit; --port=PORT
    Super Flash
      --xsf         send/receive ROM to/from Super Flash; --port=PORT
                      receives automatically (64 Mbits) when ROM does not exist
      --xsfs        send/receive SRAM to/from Super Flash; --port=PORT
                      receives automatically when SRAM does not exist
    Quickdev16
      --xqd16       send ROM to Quickdev16
    Super UFO Pro 8 SD
      --xufosd      send ROM to Super UFO Pro 8 SD

    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 (MGD2)
      --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 Magic Drive Plus/Super Magic Drive/SMD
      --smds        convert *.srm (SRAM) file to Super Magic Drive/SMD
      --bin         convert to Magicom/BIN/RAW
      --mgd         convert to Multi Game Doctor 2/MGD2
      --mgh         convert to Multi Game Hunter/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)
      --smgh        split ROM for Multi Game Hunter/MGH
      --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
    Supercom PRO/Magic Drive Plus/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
      --xmd         send/receive ROM to/from MD-PRO; --port=PORT
                      receives automatically (32/64 Mbits) when ROM does not exist
      --xmds        send/receive SRAM to/from MD-PRO; --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          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
      --gp2bmp      convert Game Boy Printer data (produced by --xmccl) to BMP
    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       use SPP mode, default is EPP 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
      --xpce        send/receive ROM to/from PCE-PRO; --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/iNES only)
      --pal         specify TV standard is PAL (UNIF/iNES 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
      --nint        force ROM is not in interleaved format
      --mgd         convert to Multi Game*/MGD2/MGH/RAW (gives SMS name)
      --mgdgg       same as --mgd, but gives GG name
      --smd         convert to Magic Drive Plus/Super Magic Drive/SMD
      --smds        convert *.srm (SRAM) file 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
      --xgg         send/receive ROM to/from SMS-PRO/GG-PRO; --port=PORT
                      receives automatically (32 Mbits) when ROM does not exist
      --xggs        send/receive SRAM to/from SMS-PRO/GG-PRO; --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(32-bit 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        use SPP mode, default is EPP mode

    Atari VCS 2600/Atari 5200 SuperSystem/Atari CX7800/Atari 2600 Jr
      --ata         force recognition

    Coleco/ColecoVision
      --coleco      force recognition

    Nintendo Virtual Boy
      --vboy        force recognition

    DATabase: 42773 known ROMs (DAT files: /home/dbjh/.ucon64/dat)

    Please report problems, fixes or ideas to ucon64-main@lists.sf.net or visit
    https://ucon64.sourceforge.io

`