Presenting: emulators/ucon64, the multipurpose game backup utility
2013-08-05 20:08
uCON64 is a multipurpose video game backup utility now available in FreeBSD Ports as emulators/ucon64 .
It can, for example, toggle region flags on a Sega Saturn disc image, convert images for use on flash carts and classic HK copiers, pad ROM images, check ROM images against your DATabase , or apply fan-made fix and translation patches in IPS, APS, PPF.
To demonstrate, I applied J2s’s Final Fantasy IV translation patch to a Japanese Final Fantasy IV ROM image and converted it for play on my copier:
unzip ff4ev321.zip Archive: ff4ev321.zip
inflating: FF4EV321.IPS
inflating: ff4ev321.txt
ucon64 Final\ Fantasy\ IV.smc -i FF4EV321.IPS uCON64 2.0.0 Unix (FreeBSD) 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
Wrote backup to: Final Fantasy IV.bak
Applying IPS patch...
Patching complete
Wrote output to: Final Fantasy IV.smc
NOTE: Sometimes you have to add/strip a 512 bytes header when you patch a ROM
This means you must modify for example a SNES ROM with -swc or -stp or
the patch will not work
Fixed the header checksum:
ucon64 --snes --chk Final\ Fantasy\ IV.smc uCON64 2.0.0 Unix (FreeBSD) 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
/usr/home/nicole/ff4/Final Fantasy IV.smc
Super Com Pro/Super Magicom/SMC/Super Wild Card (1.6XC/2.7CC/2.8CC/DX/DX2)/SWC
000081b0 20 bc fe 60 ad e3 0f 20 bc fe 60 ff 20 f0 94 6b ..`... ..`. ..k
000081c0 46 69 6e 61 6c 20 46 61 6e 74 61 73 79 20 34 20 Final Fantasy 4
000081d0 28 4a 32 65 29 20 02 0a 03 00 c3 01 33 53 cc ac (J2e) ......3S..
Super Nintendo Entertainment System/SNES/Super Famicom
Final Fantasy 4 (J2e)
Square
Japan
1572864 Bytes (12.0000 Mb)
Padded: Maybe, 16 Bytes (0.0001 Mb)
Interleaved/Swapped: No
Backup unit/emulator header: Yes, 512 Bytes
HiROM: No
Internal size: 8 Mb
ROM type: (2) ROM + SRAM + Battery
ROM speed: 200 ns (SlowROM)
SRAM: Yes, 8 kBytes
Version: 1.1
Checksum: Bad, 0xcdef (calculated) != 0xaccc (internal)
Inverse checksum: Bad, 0x3210 (calculated) != 0x5333 (internal)
Checksum (CRC32): 0x3b97b364
Wrote backup to: Final Fantasy IV.bak
000081dc 10 32 ef cd .2..
Wrote output to: Final Fantasy IV.smc
Converted it to Game Doctor format for my GD-SFIII:
ucon64 -q -gd3 Final\ Fantasy\ IV.smc -o . uCON64 2.0.0 Unix (FreeBSD) 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
Wrote backup to: ./sf12Fin.bak
Wrote output to: ./sf12Fin
Split the image to fit on 1.4MB diskettes:
ucon64 -s sf12Fin -o . uCON64 2.0.0 Unix (FreeBSD) 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
/usr/home/nicole/ff4/sf12Fin
Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
000081b0 20 bc fe 60 ad e3 0f 20 bc fe 60 ff 20 f0 94 6b ..`... ..`. ..k
000081c0 46 69 6e 61 6c 20 46 61 6e 74 61 73 79 20 34 20 Final Fantasy 4
000081d0 28 4a 32 65 29 20 02 0a 03 00 c3 01 10 32 ef cd (J2e) .......2..
Super Nintendo Entertainment System/SNES/Super Famicom
Final Fantasy 4 (J2e)
Square
Japan
1572864 Bytes (12.0000 Mb)
Padded: Maybe, 16 Bytes (0.0001 Mb)
Interleaved/Swapped: No
Backup unit/emulator header: Yes, 512 Bytes
HiROM: No
Internal size: 8 Mb
ROM type: (2) ROM + SRAM + Battery
ROM speed: 200 ns (SlowROM)
SRAM: Yes, 8 kBytes
Version: 1.1
Checksum: Ok, 0xcdef (calculated) == 0xcdef (internal)
Inverse checksum: Ok, 0x3210 (calculated) == 0x3210 (internal)
Checksum (CRC32): 0x857d14c8
Wrote output to: ./SF12FINA.078
Wrote output to: ./SF12FINB.078
Then, copied over to two 3.5” diskettes:
Loaded it:
And played!