Does that mean we can edit the text at least? If so that could be kinda funny.
Probably not until someone figures out the checksum.
Ok, you're right -- there is a checksum. I tried editing UC050DAT.USA and reburning it, then used the service mode menu to force-update the application flash. It worked, but when the unit restarted, it said "beginning program update", tried to reflash (again) off the same DVD, said that the update was corrupt, and then rebooted -- I had to eject the DVD to get it out of a loop.
(Maybe this isn't news, but) I think the checksum is the last 16 bits of the file. Here's what I make of the header:
0000000: a55a 5aa5 7300 0002 5543 3035 3044 4154 .ZZ.s...UC050DAT
0000010: 0000 0000 5553 4100 2ead 0000 4000 0000 ....USA.....@...
0000020: b074 0000 aaaa aaaa aaaa aaaa aaaa aaaa .t..............
0000030: aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa ................
a55a 5aa5 = magic number
7300 0002 = version number (2.00.0073)
5543 3035 3044 4154 = filename 'UC050DAT'
0000 0000 = padding?
5554 4100 = extension 'USA'
2ead 0000 = 0x0000dae2 = 44334 (filesize)
4000 0000 ? (same for all three languages)
b074 0000 = 0x74b0 ?? this is 0x7ee8 for .ESP and 0x7dec
aaa... padding out to 64 bytes
End of file:
000ad20: 2201 ffff 0000 0000 0000 0000 700c "...........p.
I think the 700c is the checksum.
Unfortunately, the program files look similar:
0000000: a55a 5aa5 5000 0102 4555 3035 3041 504c .ZZ.P...EU050APL
0000010: 0000 0000 5052 4700 0000 4400 0100 0000 ....PRG...D.....
0000020: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000030: ffff ffff ffff ffff ffff ffff ffff ffff ................
a55a 5aa5 = magic number
5000 0102 = version number (2.01.0050?)
4555 3035 3041 504c = filename 'EU050APL'
0000 0000 = padding?
5052 4170 = extension 'PRG'
0000 4400 = 0x00440000 = 4,456,448 (filesize)
0100 0000 ? attributes or flags, maybe?
ffff... padding out to 64 bytes.
End of the file:
043fff0: ffff ffff ffff ffff ffff ffff ffff d8c8 ................
checksum = d8c8?
Any guesses as to how they're calculating that value?