The original uCON for SNES and Genesis was written by chicken & chp in ~1995

1.9.0
- completely re-written
- this is the first real version with support for the most consoles

1.9.1
- bug fixes
- fixed the -xv64 routine for receive and emulation on N64
- cosmetical changes
- removed the stupid curses GUI
- optimized noisette.h for speed
- added more OPTIONS and CONSOLE SYSTEMS

1.9.2
- started to add missing Sega System16(A/B)/System 18/dual 68000 support
- -xv64 shows now the filename on the Doctor instead of "UCON64" (sorry)
- removed -xmp3 option for SongBoy (latest informations say that it will be a USB device with copyprotected MPE standard instead of MP3.. HAHAHAHA!!!)
- TODO: -xmp3 send MP3 file(s) to SongBoy (MP3 player for Game Boy)
- removed options which were added by mistake (like parallel transfer for Z64)
- added -ispad (looks for repeating bytes at the end of a probably padded ROM)
- added -rn (some people might find it useful)
- added -mg, -bin and 'show ROM' support for PC-Engine
- added -usms for Jos Kwanten's ultraSMS an Sega Master System/GameGear emulator for the Nintendo64
- fixed aps (GRRNNNNN!!!)
- added an universal frontend (in Java) for all platforms and all programs that need a filename
- added CD32, CD-i and Real 3DO support
- added -bin and -ffe option for Sega Master System/GameGear
- added database for NES roms (that enlarged the ucon64 executable by 190kb grnnn...) "You gotta do what you gotta do." (Futurama)
- added -db and -dbv database commands... now everyone can check if the uCON64 version he uses has new database entries for a console system

1.9.3
- added -mka create APS patch support
- added -na change APS description
- added -hd, -nhd switches for SMS/GameGear
- added auto-detection and some information for Jaguar ROMs
- added -ssc convert to Super Smart Card (Game Boy)
- fixed/added -chk fix checksum (Game Boy)
- added -gg Game Genie support for SNES
- cleaned up the usage output
- added -chk fix checksum for Super NES/Super Famicom
- removed most CDROM based consoles from usage since uCON64 could support them only by showing some informations about the CDROM itself (option -cdrom)
- added -gd3 convert to Professor SF(2) Game Doctor SF3/6/7 (autojoin)
- added -gdf fix Professor SF(2) Game Doctor SF3/6/7 savegame problems

1.9.4
- included all databases for every console system that has ROMs without a header with text
- added 324 entries to sms database
- added -sam convert SAM/M.A.M.E. sound to WAV; --rom=SAMFILE
- added -b2i convert BIN/RAW(2352)/Mode2(2336) to ISO; --rom=BIN_IMAGE
- added -ppf apply PPF patch (<=2.0); --rom=ISO_IMAGE --file=PATCHFILE
- added -nppf change PPF description; --rom=PATCHFILE --file=DESCRIPTION
- added -mkppf create PPF patch; --rom=ISO_IMAGE --file=CHANGED_IMAGE
- added -ip extract ip0000.bin (GD-ROM header/256 bytes); --rom=/dev/<cdrom>
- added -fds convert Famicom Disk System file (diskimage) from FAM to FDS
- changed the FAQ a bit
- overworked the whole tool to make it easier to develop
- searched a new site for it (http://ucon64.sourceforge.net)

1.9.5
- after the update release of 1.9.4 I had a closer look at my sources and realized that my style heavily changed since 1.9.3 the result is that I had to make more changes in the source starting from ucon64.c
- Gilligan wrote a nice routine to read out NeoGeo Pocket roms (added)
- reorganized the whole source
- added Game Boy Advance support
- added (GBA) -n change ROM name; --file=NEWNAME
- added (GBA) -logo restore ROM logo character data 0x04-0x9F
- added (GBA) -chk fix ROM checksum
- added (GB/GameGear/NES) -gg apply Game Genie code (permanent)
- added (GB/GameGear/NES/GEN/SNES) -gge encode Game Genie code
- added (GB/GameGear/NES/GEN/SNES) -ggd decode Game Genie code
- added (LYNX) -lyx convert to LYX/RAW (strip 64 Bytes LNX header)
- added (LYNX) -lnx convert to LNX (uses default values for the header)
- added (LYNX) -n change ROM name (LNX only); --file=NEWNAME
- added (LYNX) -nrot set no rotation (LNX only)
- added (LYNX) -rotl set rotation left (LNX only)
- added (LYNX) -rotr set rotation right (LNX only)
- added (LYNX) -b0 change Bank0 kBytes size (LNX only); --file={0,64,128,256,512}
- added (LYNX) -b1 change Bank1 kBytes size (LNX only); --file={0,64,128,256,512}
- added -idppf change PPF FILE_ID.DIZ (2.0); --rom=PATCHFILE --file=FILE_ID.DIZ
- added -strip strip Bytes from end of ROM; --file=VALUE
- added -e emulate/run ROM (check INSTALL and $HOME/.ucon64rc for more)
- added (GBA) -sram patch ROM for SRAM saving
- added (GBA) -crp slow down Flash Advance Linker access for ROM (crash patch)
- added (GBA) -strip strip Bytes from end of ROM (use -ispad before); --file=VALUE
- added (GBA) -xfal send/receive to/from Flash Advance Linker; --file=PORT

1.9.6
- this release brings you full support for the Super Wild Card
- added (SNES) -xswc send/receive to/from Super Wild Card*/(all)SWC; --file=PORT (by dbjh)
- added (SNES) -xswcs send/receive SRAM to/from Super Wild Card*/(all)SWC; --file=PORT (by dbjh)
- added (Game Boy) -sgb convert from GB Xchanger/GB/GBC to Super Backup Card/GX/GBX (by NoisyB)
- added (Game Boy) -gbx convert from Super Backup Card/GX/GBX to GB Xchanger/GB/GBC (by NoisyB)
- made a few small bug fixes and code cleanups (by NoisyB; thanks to dbjh)
- DOS port of uCON64 available (by dbjh)
- BeOS port of uCON64 available (by dbjh)
- added wildcard support to -find find string in ROM (by NoisyB)
- added (SNES) some new NTSC/PAL and SlowROM fix codes (by NoisyB)
- added (SNES) -swcs convert Snes9x *.srm to Super Wild Card*/(all)SWC (by NoisyB)

1.9.7
- added (NES) -fdsl list Famicom Disk System/FDS (diskimage) contents (by NoisyB)
- updated (GBA) -xfal send/receive ROM to/from Flash Advance Linker; --file=PORT (by dbjh)
- added (GBA) -xfalc<n> specify chip size in mbits of ROM in Flash Advance Linker when receiving (by dbjh)
- added (GBA) -xfalm use SPP mode, default is EPP (by dbjh)
- added (Neo Geo) -bios convert NeoCD Bios to work with NeoCD emulator (by NoisyB; thanks to Caz)
- changed the whole internal ROM database code (by NoisyB)
- added -dbs search ROM database (all entries) by CRC32; --rom=0xCRC32 (by NoisyB)
- added (Virtual Boy) show info (by NoisyB)
- added (Wonder Swan) show info (by NoisyB)
- added (ColecoVision) show info (by NoisyB)
- added (Vectrex) show info (by NoisyB)
- added ROMs to database for Virtual Boy, Wonder Swan, ColecoVision and Vectrex (by NoisyB)
- added (Intellivision) show info (by NoisyB)
- made the internal ROM Database optional; compiled without DB uCON64 will be only ~250kB in size! (by NoisyB)
- updated (all) fixed -cs (file compare) (by dbjh)
- updated (SNES) fixed dumping of `special' SNES cartridges (for the meaning of special, see src/backup/swc.c) (by dbjh; thanks to Caz)
- updated (SNES) fixed -k (crack) (by dbjh)
- updated (SNES) fixed -f (NTSC/PAL fix) (by dbjh)
- uCON64 will recognize *ANY* kind of ROM or Console System via DB now...
give it a Atari2600 ROM and it will just recognize it :) (by NoisyB)
- updated the internal DB; it can recognize now 12387 different ROMs (by NoisyB)
- updated (SNES) fixed -s (split ROM) (by dbjh)
- updated (Genesis) fixed -s (by NoisyB)
- updated (all) fixed -swc & -ins (and others) for files with a size a multiple of 32kB (by dbjh)
- updated (SNES) fixed -swc when ROM file has a name that already has the extension .swc fixed the same problem for -smc and -fig (by dbjh)
- added -lsv like -ls but more verbose; --rom=DIRECTORY (by NoisyB)
- updated (SNES) fixed checksum output (by NoisyB)
- updated (SNES) fixed -j (join multi files) (by dbjh)
- updated (SNES) fixed checksum output for Broadcast Satellaview ROMs (by dbjh; thanks to Cowering)
- added (SNES) -figs convert Snes9x/ZSNES *.srm (SRAM) to *Pro Fighter*/(all)FIG (by dbjh; thanks to Caz)
- added (SNES) -ufos convert Snes9x/ZSNES *.srm (SRAM) to Super UFO (by dbjh; thanks to Caz)
- added (SNES) -int, -int2 & -nint force ROM is (not) in interleaved format (2) (by dbjh)
- added (SNES) -dint convert ROM to non-interleaved format (by dbjh)
- added 2830 new ROMs to internal ROM database (by NoisyB)
- added (Genesis) -xsmd send/receive ROM to/from Super Magic Drive/SMD; --file=PORT (by NoisyB)
- added (Genesis) -xsmds send/receive SRAM to/from Super Magic Drive/SMD; --file=PORT (by NoisyB)
- added support for CD based consoles again; uCON64 uses now cdrdao as burn engine (by NoisyB)
- added Dreamcast, PSX (one), PS2, Real3DO, CD-i, CD32 and Saturn support (by NoisyB)
- added (Genesis) -smds convert emulator (*.srm) SRAM to Super Magic Drive/SMD (by NoisyB)
- added -r2i convert RAW to ISO9660; --rom=RAW_IMAGE (by NoisyB)

1.9.8
- added more verbose WonderSwan ROM nfo (by NoisyB; thanks to dox)
- updated (GBA) used Jeff Frohwein's Flash Advance Linker code V1.72 (by dbjh)
- added (GBA) -xfals send/receive SRAM to/from Flash Advance Linker; --file=PORT (by dbjh)
- added (GBA) -xfalb<n> send/receive SRAM to/from Flash Advance Linker bank n; --file=PORT (by dbjh)
- removed (GBA) -xfalm (use SPP mode), because it is not needed anymore (by dbjh)
- updated (SNES) fixed checksum function for Far East of Eden Zero (J) (by dbjh)
- added (GBA) -multi{1,2,3} make multirom for Flash Advance Linker (by dbjh)
- updated/added (SNES) Game Doctor ROM file support (-gd3 & -s) (by John Weidman)
- updated (all) fixed DOS specific bug in IPS code (by dbjh)
- updated (SNES) fixed DOS specific problem for -swc, -fig and -smc (by dbjh)
- updated (all) fixed DOS specific bug in -ins code (by dbjh)
- introducing config file updates without overwrites of old values for more comfort (by NoisyB)
- added (WS/WSC) -chk fix ROM checksum (for WonderSwan(Color)) (by NoisyB; thanks to dox)
- updated (SNES) changed -swcs, -figs and -ufos to always create a file of 32.5 kB. This solves some problems where SRAM files created with an emulator would not work on a copier. (by dbjh; thanks to Caz for investigating the problem and providing a solution)
- added -mkcue generate CUE file; --rom=CD_IMAGE --file=TRACK_MODE (by NoisyB)
- ported the whole project to FreeBSD (by NoisyB)
- updated (GBA) changed -xfalb<n> to -xfalb <n> (space between option and argument) (by dbjh). Did the same thing for -xfalc<n>
- updated (GB) changed -xgbxb<n> to -xgbxb <n> (space between option and argument) (by dbjh)
- switched internal workflow to getopt() and made numerous cosmetical changes/clean ups (by NoisyB)
- added -hdn=BYTES force ROM has backup unit/emulator header with BYTES size (by NoisyB)
detects the correct TRACK_MODE of IMAGES w/o *.cue file
- added --rrom rename all ROMs in DIR to their internal names; --rom=DIR (by NoisyB)
- added --rr83 like --rrom but with 8.3 filenames; --rom=DIR (by NoisyB)
- added --stpn=N strip N Bytes from ROM beginning (by NoisyB)
- added --insn=N insert N Bytes (0x00) before ROM (by NoisyB)
- added --xmccl send/receive BYTES to/from Mad Catz Camera Link (experimental) (by NoisyB)
- speed --rrom, --rr83 and --ls have been sped up significantly
- updated (N64) added 512 Mb ROMs support for transfers to Doctor64Jr (by NoisyB; thanks to TenOfTen (tenoften@jahej.com))
- updated (SNES) fixed -fig to give the same output as a Super Pro Fighter (by dbjh; thanks to JohnDie for the information)
- updated (all) parallel port is only accessed for copier I/O (by dbjh)
- added (SNES) -bs & -nbs force ROM is a Broadcast Satellaview dump/regular cartridge dump (by dbjh)
- added (NES) -unif convert to UNIF format/UNF {iNES, UNIF}->UNIF (by dbjh)
- updated (NES) -ines convert to iNES format {iNES, UNIF, Pasofami}->iNES (by dbjh)
- added (NES) -dint convert ROM to non-interleaved format (by dbjh)
- added (NES) -pasofami convert to Pasofami format iNES->Pasofami (by dbjh)
- updated (NES) ROM information for iNES, UNIF, FFE and Pasofami (by dbjh)
- updated (NES) fixed -j so that it converts properly from Pasofami to iNES (by dbjh)
- updated (NES) fixed -s so that it converts properly from iNES to Pasofami (by dbjh)
- updated (NES) fixed -ineshd (extract iNES header to .hdr file) (by dbjh)
- added (NES) -ctrl set controller type for ROM (UNIF only) (by dbjh)
- added (NES) -ntsc set TV compatibility to NTSC (UNIF only) (by dbjh)
- added (NES) -pal set TV compatibility to PAL (UNIF only) (by dbjh)
- added (NES) -bat set battery backup (by dbjh)
- added (NES) -nbat set no battery backup (by dbjh)
- added (NES) -vram set VRAM override (UNIF only) (by dbjh)
- added (NES) -nvram set no VRAM override (UNIF only) (by dbjh)
- added (NES) -mirr set mirroring type (by dbjh)
- added (NES) -n change internal ROM name (UNIF only) (by dbjh)
- added (NES) -mapr=NAME specify board name or mapper number for conversion options (by dbjh)
- added (NES) -dumpinfo use dumper info when converting to UNIF (by dbjh)
- updated (NES) UNIF code works also on big endian machines now (by dbjh)
- updated (GBA) changed meaning of -xfalc. In order to dump N megabits of a cartridge specifying -xfalc=N <filename> is enough (by dbjh)
- updated (NES) fixed some minor format conversion problems (by dbjh)
- updated (LYNX) fixed some problems with endianess (by dbjh)
- added (LYNX) --lynxit send/receive ROM to/from Lynxit interface (by NoisyB)
- updated (SNES) fixed checksum function for Momotaro Dentetsu Happy (J) (by dbjh)
- updated (SNES) fixed SNES info for Dai Kaiju Monogatari 2 (J) (by dbjh)
- updated (SNES) improved SNES chip type info (by dbjh)
- added gzip support (by dbjh)
- updated (Genesis) fixed several bugs (header is correct after -j/-s, correct behaviour if switch -nbak is active, -smd/-mgd if already in SMD/MGD format, -lsv) (by dbjh)
- added --padn=N pad ROM to N Bytes (put Bytes with value 0x00 after end) (by dbjh)
- updated (NES) FDS images are now recognized without -fdsl (by dbjh)
- added (GBA) added -xfalmulti send multiple ROMs to Flash Advance Linker (by dbjh)
- updated (GBA) changed -multi so that it takes a size argument (by dbjh)
- removed (GBA) -multi{1,2,3}, -multi can be used instead (by dbjh)
- some code clean ups (by NoisyB)
- added read-only zip support (by dbjh) Note that only the first file inside the zip archive will be looked at. Use -ls{v} to see info about all files in the zip archive.
- added (SNES) NSRT header support (by dbjh)
- updated (SNES) fixed an SWC problem for HiROM games without SRAM (by dbjh)
- updated (SNES) -k now also cracks Killer Instinct (by dbjh)
- updated (SNES) -smc now writes a correct SMC header (by dbjh)
- added (SNES) -ctrl{2} specify type of controller in port 1/2 for emu when converting (by dbjh)
- updated (Genesis) replaced Charles MacDonald's SMD code with our own (by dbjh)
- added experimental (PSX/N64) --xdex send/receive BLOCK N to/from DexDrive (by NoisyB)
- added 664 new ROMs to the internal database (by NoisyB)
- updated (SNES) replaced Cowering's BS detection code with John Weidman's (by dbjh)
- updated (all) fixed two bugs in IPS creation code (by dbjh)
- updated (all) -mki now generates RLE compressed IPS files (by dbjh)
- updated (SNES) fixed split file detection for SWC and FIG dumps (by dbjh)
- updated (Genesis) fixed -s for RAW images (by dbjh)
- updated (SNES) added crack for Donkey Kong Country, Diddy's Kong Quest & Mega Man X (by dbjh; many thanks to CL of NSRT)
- updated (SNES) fixed bug in Game Genie code (by dbjh)
- updated (all) fixed subtle bug in function that is used for -k, -f, -l & -crp (by dbjh)
- updated (SNES) added crack for BS The Legend of Zelda Remix & Demon's Crest (by dbjh, based on info of John Weidman)
- updated (SNES) added crack for at least the following games: Breath of Fire II, Kirby's Dream Course (many thanks to John Weidman), Lufia II - Rise of the Sinistrals and Earthbound (thanks to CL) (by dbjh)
- updated (SNES) crack for Mega Man X should work (better) now (by dbjh)
- updated (SNES) added NTSC/PAL fix for at least the following games: Final Fight Guy, Gokujyou Parodius, Kirby No Kira Kizzu, Robotrek and Seiken Densetsu 3 (by dbjh)
- updated (SNES) added crack for Uniracers/Unirally and NTSC/PAL fix for Seiken Densetsu 2 and Secret of Mana (by dbjh, thanks to John Weidman)
- updated (all) fixed problem with reading environment variables under DOS and Windows (by dbjh)
- updated (all) environment variables now take precedence over configuration file variables (by dbjh)
- updated (SNES) fixed some problems with joining GD3 files (by dbjh)
- added (SNES) -xgd3 send ROM to Game Doctor SF3(SF6/SF7); --file=PORT (by John Weidman and dbjh)
- added (SNES) -dbuh display backup unit header and see if it matches with what uCON64 found while analyzing the ROM data (by dbjh, based on an idea by JohnDie)
- removed (SNES) -gdf (fix Game Doctor savegame problems) because -gd3 already provides this functionality (by dbjh)
- updated (SNES) fixed some -xgd3 problems, uppercase filenames sent to unit, buffer data now correct for all files, transfer file size fixed (by John)
- updated (SNES) checksums and deinterleaves for HiROM 24 Mbit Game Doctor format should now work (by John)
- added (SNES) -xswc2 send ROM to Super Wild Card and enable Real Time Save mode (by dbjh)
- updated (SNES) added NTSC/PAL fix for Live-a-Live (by dbjh)
- updated (all) added full wildcard support ("ucon64 -fig *.swc"). Don't forget to read the FAQ (by dbjh)
- added (all) -q be quiet (don't show ROM info) (by dbjh)
- updated (all) uCON64 now handles multiple options on the same command line (by dbjh)
- added (SNES) --ssize=SIZE specify split part size in Mbit (not for Game Doctor SF3) (by dbjh)