ntsc-1.0: Build matching ROM

This commit is contained in:
Ryan Dwyer 2020-04-23 23:58:03 +10:00
parent 3fc268b54d
commit bb23a88239
19 changed files with 5143 additions and 4033 deletions

View File

@ -43,6 +43,7 @@
build/ROMID/lib/lib_2fc60.o (section); \
build/ROMID/lib/lib_30ce0.o (section); \
build/ROMID/lib/lib_317f0.o (section); \
build/ROMID/lib/lib_34030.o (section); \
build/ROMID/lib/lib_37650.o (section); \
build/ROMID/lib/lib_37b00.o (section); \
build/ROMID/lib/lib_38d10.o (section); \

View File

@ -1,6 +1,13 @@
#include "gamefiles.inc"
#include "libfiles.inc"
#define VERSION_NTSC_BETA 0
#define VERSION_NTSC_1_0 1
#define VERSION_NTSC_FINAL 2
#define VERSION_PAL_BETA 3
#define VERSION_PAL_FINAL 4
#define VERSION_JAP_FINAL 5
OUTPUT_ARCH (mips)
SECTIONS
@ -15,6 +22,48 @@ SECTIONS
_rspMicrocodeStartPlusOne = 0x80059fe1;
_rspMicrocodeEnd = 0x8005afe0;
#if VERSION >= VERSION_NTSC_FINAL
_bssSegmentEnd = 0x7f1b99e0;
_val7f116f34 = 0x0339;
_val7f117634 = 0x0422;
_val7f1183f8 = 0x070a;
_val7f118a44 = 0x0801;
_val7f11a650 = 0x0d9e;
_val7f11a6c8 = 0x0da7;
_val7f11a88c = 0x0e0f;
_val7f11aa14 = 0x0e46;
_val7f11aae4 = 0x0e54;
_val7f11ad0c = 0x0ef5;
_val7f11ae0c = 0x0f19;
_val7f11aef4 = 0x0f31;
_val7f11b124 = 0x0f6c;
_val7f11b6c0 = 0x102c;
_val7f11bb48 = 0x112a;
_val7f11c1d0 = 0x1286;
_val7f11c378 = 0x12c1;
_checksum7f15c9ac = 0x2c7a82c8;
#else
_bssSegmentEnd = 0x7f1b9870;
_val7f116f34 = 0x0336;
_val7f117634 = 0x041f;
_val7f1183f8 = 0x06fc;
_val7f118a44 = 0x07e0;
_val7f11a650 = 0x0cda;
_val7f11a6c8 = 0x0ce3;
_val7f11a88c = 0x0d4b;
_val7f11aa14 = 0x0d83;
_val7f11aae4 = 0x0d91;
_val7f11ad0c = 0x0e32;
_val7f11ae0c = 0x0e56;
_val7f11aef4 = 0x0e6e;
_val7f11b124 = 0x0ea9;
_val7f11b6c0 = 0x0f69;
_val7f11bb48 = 0x1067;
_val7f11c1d0 = 0x11c3;
_val7f11c378 = 0x11fe;
_checksum7f15c9ac = 0x2c7b42f8;
#endif
_addr007e9d20 = 0x007e9d20;
_antipiracyUncloakWriteAddress = 0x7002a324;

View File

@ -110,8 +110,8 @@ glabel func000010a4
/* 10d8: 00042300 */ sll $a0,$a0,0xc
/* 10dc: 3c028009 */ lui $v0,%hi(var8008ae20)
/* 10e0: 8c42ae20 */ lw $v0,%lo(var8008ae20)($v0)
/* 10e4: 3c097f1c */ lui $t1,0x7f1c
/* 10e8: 252999e0 */ addiu $t1,$t1,-26144
/* 10e4: 3c097f1c */ lui $t1,%hi(_bssSegmentEnd)
/* 10e8: 252999e0 */ addiu $t1,$t1,%lo(_bssSegmentEnd)
/* 10ec: 3c0a7f00 */ lui $t2,%hi(func0f000000)
/* 10f0: 254a0000 */ addiu $t2,$t2,%lo(func0f000000)
/* 10f4: 012a4823 */ subu $t1,$t1,$t2

View File

@ -4503,7 +4503,7 @@ void chrUncloak(struct chrdata *chr, bool value)
i++;
}
if (checksum != 0x5874f34e) {
if (checksum != CHECKSUM_7F0225CC) {
extern volatile u32 _antipiracyUncloakWriteAddress[];
_antipiracyUncloakWriteAddress[-2] = 0;
}

View File

@ -14972,7 +14972,7 @@ s32 chrConsiderGrenadeThrow(struct chrdata *chr, u32 entitytype, u32 entityid)
i++;
}
if (checksum != 0x860badfe) {
if (checksum != CHECKSUM_7F03B7B4) {
// Make player explode continuously
g_Vars.currentplayer->bondexploding = true;
g_Vars.currentplayer->bondnextexplode = g_Vars.lvframe60 + 120;

View File

@ -979,7 +979,7 @@ struct prop *propAllocateEyespy(struct pad *pad, s16 room)
ptr++;
}
if (checksum != 0xa7be1bf0) {
if (checksum != CHECKSUM_7F02DC00) {
s32 *ptr2 = (s32 *)func00012914;
s32 *end2 = (s32 *)func00012a0c;

View File

@ -366,6 +366,7 @@ glabel func0f0dcef4
/* f0dd2a8: 00000000 */ sll $zero,$zero,0x0
);
#if VERSION >= VERSION_NTSC_FINAL
GLOBAL_ASM(
glabel func0f0dd2ac
/* f0dd2ac: 27bdff40 */ addiu $sp,$sp,-192
@ -551,8 +552,8 @@ glabel func0f0dd2ac
.L0f0dd530:
/* f0dd530: 3c057f1b */ lui $a1,%hi(var7f1ade80)
/* f0dd534: 3c067f1b */ lui $a2,%hi(var7f1ade8c)
/* f0dd538: 3c077f1b */ lui $a3,%hi(var7f1afb00)
/* f0dd53c: 24e7de90 */ addiu $a3,$a3,-8560
/* f0dd538: 3c077f1b */ lui $a3,%hi(var7f1ade90)
/* f0dd53c: 24e7de90 */ addiu $a3,$a3,%lo(var7f1ade90)
/* f0dd540: 24c6de8c */ addiu $a2,$a2,%lo(var7f1ade8c)
/* f0dd544: 24a5de80 */ addiu $a1,$a1,%lo(var7f1ade80)
/* f0dd548: f7a80010 */ sdc1 $f8,0x10($sp)
@ -749,6 +750,391 @@ glabel func0f0dd2ac
/* f0dd840: 03e00008 */ jr $ra
/* f0dd844: 00000000 */ sll $zero,$zero,0x0
);
#else
GLOBAL_ASM(
glabel func0f0dd2ac
/* f0dd28c: 27bdff40 */ addiu $sp,$sp,-192
/* f0dd290: afbf003c */ sw $ra,0x3c($sp)
/* f0dd294: afb00038 */ sw $s0,0x38($sp)
/* f0dd298: afa400c0 */ sw $a0,0xc0($sp)
/* f0dd29c: 0c002f44 */ jal 0xbd10
/* f0dd2a0: afa500c4 */ sw $a1,0xc4($sp)
/* f0dd2a4: 0c002f40 */ jal 0xbd00
/* f0dd2a8: afa200bc */ sw $v0,0xbc($sp)
/* f0dd2ac: 3c108008 */ lui $s0,0x8008
/* f0dd2b0: 2610fac0 */ addiu $s0,$s0,-1344
/* f0dd2b4: 8e0e0000 */ lw $t6,0x0($s0)
/* f0dd2b8: 004e001a */ div $zero,$v0,$t6
/* f0dd2bc: 00007812 */ mflo $t7
/* f0dd2c0: afaf00b8 */ sw $t7,0xb8($sp)
/* f0dd2c4: 15c00002 */ bnez $t6,.L0f0dd2d0_2
/* f0dd2c8: 00000000 */ sll $zero,$zero,0x0
/* f0dd2cc: 0007000d */ break 0x7
.L0f0dd2d0_2:
/* f0dd2d0: 2401ffff */ addiu $at,$zero,-1
/* f0dd2d4: 15c10004 */ bne $t6,$at,.L0f0dd2e8_2
/* f0dd2d8: 3c018000 */ lui $at,0x8000
/* f0dd2dc: 14410002 */ bne $v0,$at,.L0f0dd2e8_2
/* f0dd2e0: 00000000 */ sll $zero,$zero,0x0
/* f0dd2e4: 0006000d */ break 0x6
.L0f0dd2e8_2:
/* f0dd2e8: 0c002f22 */ jal 0xbc88
/* f0dd2ec: 00000000 */ sll $zero,$zero,0x0
/* f0dd2f0: 8e180000 */ lw $t8,0x0($s0)
/* f0dd2f4: 0058001a */ div $zero,$v0,$t8
/* f0dd2f8: 0000c812 */ mflo $t9
/* f0dd2fc: 00194843 */ sra $t1,$t9,0x1
/* f0dd300: 17000002 */ bnez $t8,.L0f0dd30c_2
/* f0dd304: 00000000 */ sll $zero,$zero,0x0
/* f0dd308: 0007000d */ break 0x7
.L0f0dd30c_2:
/* f0dd30c: 2401ffff */ addiu $at,$zero,-1
/* f0dd310: 17010004 */ bne $t8,$at,.L0f0dd324_2
/* f0dd314: 3c018000 */ lui $at,0x8000
/* f0dd318: 14410002 */ bne $v0,$at,.L0f0dd324_2
/* f0dd31c: 00000000 */ sll $zero,$zero,0x0
/* f0dd320: 0006000d */ break 0x6
.L0f0dd324_2:
/* f0dd324: afa900b4 */ sw $t1,0xb4($sp)
/* f0dd328: 0c002f26 */ jal 0xbc98
/* f0dd32c: 00000000 */ sll $zero,$zero,0x0
/* f0dd330: 3c06800a */ lui $a2,0x800a
/* f0dd334: 3c013f80 */ lui $at,0x3f80
/* f0dd338: 44812000 */ mtc1 $at,$f4
/* f0dd33c: 24c69fc0 */ addiu $a2,$a2,-24640
/* f0dd340: 8ccb0284 */ lw $t3,0x284($a2)
/* f0dd344: 8faa00bc */ lw $t2,0xbc($sp)
/* f0dd348: 8ccd006c */ lw $t5,0x6c($a2)
/* f0dd34c: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0dd350: 916c0638 */ lbu $t4,0x638($t3)
/* f0dd354: 004a8021 */ addu $s0,$v0,$t2
/* f0dd358: 2610ffff */ addiu $s0,$s0,-1
/* f0dd35c: 11a00003 */ beqz $t5,.L0f0dd36c_2
/* f0dd360: afac0080 */ sw $t4,0x80($sp)
/* f0dd364: 10000002 */ beqz $zero,.L0f0dd370_2
/* f0dd368: 24070001 */ addiu $a3,$zero,0x1
.L0f0dd36c_2:
/* f0dd36c: 00003825 */ or $a3,$zero,$zero
.L0f0dd370_2:
/* f0dd370: 8cce0068 */ lw $t6,0x68($a2)
/* f0dd374: 00002825 */ or $a1,$zero,$zero
/* f0dd378: 00001825 */ or $v1,$zero,$zero
/* f0dd37c: 11c00003 */ beqz $t6,.L0f0dd38c_2
/* f0dd380: 2610ffef */ addiu $s0,$s0,-17
/* f0dd384: 10000001 */ beqz $zero,.L0f0dd38c_2
/* f0dd388: 24050001 */ addiu $a1,$zero,0x1
.L0f0dd38c_2:
/* f0dd38c: 8ccf0064 */ lw $t7,0x64($a2)
/* f0dd390: 00002025 */ or $a0,$zero,$zero
/* f0dd394: 11e00003 */ beqz $t7,.L0f0dd3a4_2
/* f0dd398: 00000000 */ sll $zero,$zero,0x0
/* f0dd39c: 10000001 */ beqz $zero,.L0f0dd3a4_2
/* f0dd3a0: 24030001 */ addiu $v1,$zero,0x1
.L0f0dd3a4_2:
/* f0dd3a4: 8cd80070 */ lw $t8,0x70($a2)
/* f0dd3a8: 13000003 */ beqz $t8,.L0f0dd3b8_2
/* f0dd3ac: 00000000 */ sll $zero,$zero,0x0
/* f0dd3b0: 10000001 */ beqz $zero,.L0f0dd3b8_2
/* f0dd3b4: 24040001 */ addiu $a0,$zero,0x1
.L0f0dd3b8_2:
/* f0dd3b8: afa30058 */ sw $v1,0x58($sp)
/* f0dd3bc: afa4005c */ sw $a0,0x5c($sp)
/* f0dd3c0: afa50054 */ sw $a1,0x54($sp)
/* f0dd3c4: 0fc24211 */ jal 0xf090844
/* f0dd3c8: afa70050 */ sw $a3,0x50($sp)
/* f0dd3cc: 3c06800a */ lui $a2,0x800a
/* f0dd3d0: 24c69fc0 */ addiu $a2,$a2,-24640
/* f0dd3d4: 8fa30058 */ lw $v1,0x58($sp)
/* f0dd3d8: 8fa4005c */ lw $a0,0x5c($sp)
/* f0dd3dc: 8fa50054 */ lw $a1,0x54($sp)
/* f0dd3e0: 10400002 */ beqz $v0,.L0f0dd3ec_2
/* f0dd3e4: 8fa70050 */ lw $a3,0x50($sp)
/* f0dd3e8: 2610fff8 */ addiu $s0,$s0,-8
.L0f0dd3ec_2:
/* f0dd3ec: 0083c821 */ addu $t9,$a0,$v1
/* f0dd3f0: 03254821 */ addu $t1,$t9,$a1
/* f0dd3f4: 01271021 */ addu $v0,$t1,$a3
/* f0dd3f8: 24010002 */ addiu $at,$zero,0x2
/* f0dd3fc: 14410012 */ bne $v0,$at,.L0f0dd448_2
/* f0dd400: 3c0a8009 */ lui $t2,0x8009
/* f0dd404: 914a0af0 */ lbu $t2,0xaf0($t2)
/* f0dd408: 24010001 */ addiu $at,$zero,0x1
/* f0dd40c: 1141000a */ beq $t2,$at,.L0f0dd438_2
/* f0dd410: 00000000 */ sll $zero,$zero,0x0
/* f0dd414: 0fc54b41 */ jal 0xf152d04
/* f0dd418: 00000000 */ sll $zero,$zero,0x0
/* f0dd41c: 3c06800a */ lui $a2,0x800a
/* f0dd420: 24010001 */ addiu $at,$zero,0x1
/* f0dd424: 10410006 */ beq $v0,$at,.L0f0dd440_2
/* f0dd428: 24c69fc0 */ addiu $a2,$a2,-24640
/* f0dd42c: 8ccb028c */ lw $t3,0x28c($a2)
/* f0dd430: 15600003 */ bnez $t3,.L0f0dd440_2
/* f0dd434: 00000000 */ sll $zero,$zero,0x0
.L0f0dd438_2:
/* f0dd438: 10000013 */ beqz $zero,.L0f0dd488_2
/* f0dd43c: 2610000a */ addiu $s0,$s0,0xa
.L0f0dd440_2:
/* f0dd440: 10000011 */ beqz $zero,.L0f0dd488_2
/* f0dd444: 26100002 */ addiu $s0,$s0,0x2
.L0f0dd448_2:
/* f0dd448: 28410003 */ slti $at,$v0,0x3
/* f0dd44c: 14200009 */ bnez $at,.L0f0dd474_2
/* f0dd450: 00000000 */ sll $zero,$zero,0x0
/* f0dd454: 8ccc028c */ lw $t4,0x28c($a2)
/* f0dd458: 29810002 */ slti $at,$t4,0x2
/* f0dd45c: 10200003 */ beqz $at,.L0f0dd46c_2
/* f0dd460: 00000000 */ sll $zero,$zero,0x0
/* f0dd464: 10000008 */ beqz $zero,.L0f0dd488_2
/* f0dd468: 2610000a */ addiu $s0,$s0,0xa
.L0f0dd46c_2:
/* f0dd46c: 10000006 */ beqz $zero,.L0f0dd488_2
/* f0dd470: 26100002 */ addiu $s0,$s0,0x2
.L0f0dd474_2:
/* f0dd474: 0fc54ad4 */ jal 0xf152b50
/* f0dd478: 00000000 */ sll $zero,$zero,0x0
/* f0dd47c: 10400002 */ beqz $v0,.L0f0dd488_2
/* f0dd480: 00000000 */ sll $zero,$zero,0x0
/* f0dd484: 26100008 */ addiu $s0,$s0,0x8
.L0f0dd488_2:
/* f0dd488: 0fc2c536 */ jal 0xf0b14d8
/* f0dd48c: 00000000 */ sll $zero,$zero,0x0
/* f0dd490: 44803000 */ mtc1 $zero,$f6
/* f0dd494: 3c06800a */ lui $a2,0x800a
/* f0dd498: 24c69fc0 */ addiu $a2,$a2,-24640
/* f0dd49c: 46060032 */ c.eq.s $f0,$f6
/* f0dd4a0: 8ccd0284 */ lw $t5,0x284($a2)
/* f0dd4a4: 3c014270 */ lui $at,0x4270
/* f0dd4a8: 8fae0080 */ lw $t6,0x80($sp)
/* f0dd4ac: 45010006 */ bc1t .L0f0dd4c8_2
/* f0dd4b0: c5ae1848 */ lwc1 $f14,0x1848($t5)
/* f0dd4b4: 44818000 */ mtc1 $at,$f16
/* f0dd4b8: 00000000 */ sll $zero,$zero,0x0
/* f0dd4bc: 46100032 */ c.eq.s $f0,$f16
/* f0dd4c0: 00000000 */ sll $zero,$zero,0x0
/* f0dd4c4: 45000008 */ bc1f .L0f0dd4e8_2
.L0f0dd4c8_2:
/* f0dd4c8: 24010015 */ addiu $at,$zero,0x15
/* f0dd4cc: 15c10004 */ bne $t6,$at,.L0f0dd4e0_2
/* f0dd4d0: 3c013f80 */ lui $at,0x3f80
/* f0dd4d4: 44816000 */ mtc1 $at,$f12
/* f0dd4d8: 1000000d */ beqz $zero,.L0f0dd510_2
/* f0dd4dc: 46006221 */ cvt.d.s $f8,$f12
.L0f0dd4e0_2:
/* f0dd4e0: 100000cc */ beqz $zero,.L0f0dd814_2
/* f0dd4e4: 8fa200c0 */ lw $v0,0xc0($sp)
.L0f0dd4e8_2:
/* f0dd4e8: 460e0283 */ div.s $f10,$f0,$f14
/* f0dd4ec: 3c013f80 */ lui $at,0x3f80
/* f0dd4f0: 44814000 */ mtc1 $at,$f8
/* f0dd4f4: 44813000 */ mtc1 $at,$f6
/* f0dd4f8: 46008083 */ div.s $f2,$f16,$f0
/* f0dd4fc: 460a4483 */ div.s $f18,$f8,$f10
/* f0dd500: e7a2009c */ swc1 $f2,0x9c($sp)
/* f0dd504: 46121101 */ sub.s $f4,$f2,$f18
/* f0dd508: 46062300 */ add.s $f12,$f4,$f6
/* f0dd50c: 46006221 */ cvt.d.s $f8,$f12
.L0f0dd510_2:
/* f0dd510: 3c057f1b */ lui $a1,0x7f1b
/* f0dd514: 3c067f1b */ lui $a2,0x7f1b
/* f0dd518: 3c077f1b */ lui $a3,0x7f1b
/* f0dd51c: 24e7dc50 */ addiu $a3,$a3,-9136
/* f0dd520: 24c6dc4c */ addiu $a2,$a2,-9140
/* f0dd524: 24a5dc40 */ addiu $a1,$a1,-9152
/* f0dd528: f7a80010 */ sdc1 $f8,0x10($sp)
/* f0dd52c: 0c004dad */ jal 0x136b4
/* f0dd530: 27a40084 */ addiu $a0,$sp,0x84
/* f0dd534: 3c0f8008 */ lui $t7,0x8008
/* f0dd538: 8deffafc */ lw $t7,-0x504($t7)
/* f0dd53c: 3c078008 */ lui $a3,0x8008
/* f0dd540: 8ce7fb00 */ lw $a3,-0x500($a3)
/* f0dd544: 27a4006c */ addiu $a0,$sp,0x6c
/* f0dd548: 27a50070 */ addiu $a1,$sp,0x70
/* f0dd54c: 27a60084 */ addiu $a2,$sp,0x84
/* f0dd550: afa00014 */ sw $zero,0x14($sp)
/* f0dd554: 0fc55c32 */ jal 0xf1570c8
/* f0dd558: afaf0010 */ sw $t7,0x10($sp)
/* f0dd55c: 8fb800b8 */ lw $t8,0xb8($sp)
/* f0dd560: 8fb900b4 */ lw $t9,0xb4($sp)
/* f0dd564: 8fa80070 */ lw $t0,0x70($sp)
/* f0dd568: 8faa006c */ lw $t2,0x6c($sp)
/* f0dd56c: 03191821 */ addu $v1,$t8,$t9
/* f0dd570: 00681023 */ subu $v0,$v1,$t0
/* f0dd574: 2442fffb */ addiu $v0,$v0,-5
/* f0dd578: 27ac0064 */ addiu $t4,$sp,0x64
/* f0dd57c: 00484821 */ addu $t1,$v0,$t0
/* f0dd580: 020a5821 */ addu $t3,$s0,$t2
/* f0dd584: afb00074 */ sw $s0,0x74($sp)
/* f0dd588: afa90068 */ sw $t1,0x68($sp)
/* f0dd58c: afab0064 */ sw $t3,0x64($sp)
/* f0dd590: afac0010 */ sw $t4,0x10($sp)
/* f0dd594: afa20078 */ sw $v0,0x78($sp)
/* f0dd598: afa30044 */ sw $v1,0x44($sp)
/* f0dd59c: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd5a0: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd5a4: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd5a8: 0fc54dad */ jal 0xf1536b4
/* f0dd5ac: 27a70068 */ addiu $a3,$sp,0x68
/* f0dd5b0: 0c002f02 */ jal 0xbc08
/* f0dd5b4: afa200c0 */ sw $v0,0xc0($sp)
/* f0dd5b8: 0c002f06 */ jal 0xbc18
/* f0dd5bc: a7a2004c */ sh $v0,0x4c($sp)
/* f0dd5c0: 8fa300c4 */ lw $v1,0xc4($sp)
/* f0dd5c4: 240100ff */ addiu $at,$zero,0xff
/* f0dd5c8: 3c0d8008 */ lui $t5,0x8008
/* f0dd5cc: 00037880 */ sll $t7,$v1,0x2
/* f0dd5d0: 01e37821 */ addu $t7,$t7,$v1
/* f0dd5d4: 000f7940 */ sll $t7,$t7,0x5
/* f0dd5d8: 01e1001b */ divu $zero,$t7,$at
/* f0dd5dc: 3c0e8008 */ lui $t6,0x8008
/* f0dd5e0: 8dcefafc */ lw $t6,-0x504($t6)
/* f0dd5e4: 8dadfb00 */ lw $t5,-0x500($t5)
/* f0dd5e8: 87aa004c */ lh $t2,0x4c($sp)
/* f0dd5ec: 0000c012 */ mflo $t8
/* f0dd5f0: 3c0100ff */ lui $at,0xff
/* f0dd5f4: 03011825 */ or $v1,$t8,$at
/* f0dd5f8: 240900a0 */ addiu $t1,$zero,0xa0
/* f0dd5fc: afa9001c */ sw $t1,0x1c($sp)
/* f0dd600: afa30018 */ sw $v1,0x18($sp)
/* f0dd604: afa30048 */ sw $v1,0x48($sp)
/* f0dd608: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd60c: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd610: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd614: 27a70084 */ addiu $a3,$sp,0x84
/* f0dd618: afa20024 */ sw $v0,0x24($sp)
/* f0dd61c: afa00028 */ sw $zero,0x28($sp)
/* f0dd620: afa0002c */ sw $zero,0x2c($sp)
/* f0dd624: afae0014 */ sw $t6,0x14($sp)
/* f0dd628: afad0010 */ sw $t5,0x10($sp)
/* f0dd62c: 0fc55b06 */ jal 0xf156c18
/* f0dd630: afaa0020 */ sw $t2,0x20($sp)
/* f0dd634: 3c057f1b */ lui $a1,0x7f1b
/* f0dd638: afa200c0 */ sw $v0,0xc0($sp)
/* f0dd63c: 24a5dc54 */ addiu $a1,$a1,-9132
/* f0dd640: 0c004dad */ jal 0x136b4
/* f0dd644: 27a40084 */ addiu $a0,$sp,0x84
/* f0dd648: 3c0b8008 */ lui $t3,0x8008
/* f0dd64c: 8d6bfafc */ lw $t3,-0x504($t3)
/* f0dd650: 3c078008 */ lui $a3,0x8008
/* f0dd654: 8ce7fb00 */ lw $a3,-0x500($a3)
/* f0dd658: 27a4006c */ addiu $a0,$sp,0x6c
/* f0dd65c: 27a50070 */ addiu $a1,$sp,0x70
/* f0dd660: 27a60084 */ addiu $a2,$sp,0x84
/* f0dd664: afa00014 */ sw $zero,0x14($sp)
/* f0dd668: 0fc55c32 */ jal 0xf1570c8
/* f0dd66c: afab0010 */ sw $t3,0x10($sp)
/* f0dd670: 8fa80070 */ lw $t0,0x70($sp)
/* f0dd674: 8fac0044 */ lw $t4,0x44($sp)
/* f0dd678: 8faf006c */ lw $t7,0x6c($sp)
/* f0dd67c: 00086843 */ sra $t5,$t0,0x1
/* f0dd680: 018d1023 */ subu $v0,$t4,$t5
/* f0dd684: 27b90064 */ addiu $t9,$sp,0x64
/* f0dd688: 00487021 */ addu $t6,$v0,$t0
/* f0dd68c: 020fc021 */ addu $t8,$s0,$t7
/* f0dd690: afb00074 */ sw $s0,0x74($sp)
/* f0dd694: afae0068 */ sw $t6,0x68($sp)
/* f0dd698: afb80064 */ sw $t8,0x64($sp)
/* f0dd69c: afb90010 */ sw $t9,0x10($sp)
/* f0dd6a0: afa20078 */ sw $v0,0x78($sp)
/* f0dd6a4: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd6a8: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd6ac: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd6b0: 0fc54dad */ jal 0xf1536b4
/* f0dd6b4: 27a70068 */ addiu $a3,$sp,0x68
/* f0dd6b8: 0c002f02 */ jal 0xbc08
/* f0dd6bc: afa200c0 */ sw $v0,0xc0($sp)
/* f0dd6c0: 0c002f06 */ jal 0xbc18
/* f0dd6c4: a7a2004c */ sh $v0,0x4c($sp)
/* f0dd6c8: 3c098008 */ lui $t1,0x8008
/* f0dd6cc: 3c0a8008 */ lui $t2,0x8008
/* f0dd6d0: 8d4afafc */ lw $t2,-0x504($t2)
/* f0dd6d4: 8d29fb00 */ lw $t1,-0x500($t1)
/* f0dd6d8: 8fab0048 */ lw $t3,0x48($sp)
/* f0dd6dc: 87ad004c */ lh $t5,0x4c($sp)
/* f0dd6e0: 240c00a0 */ addiu $t4,$zero,0xa0
/* f0dd6e4: afac001c */ sw $t4,0x1c($sp)
/* f0dd6e8: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd6ec: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd6f0: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd6f4: 27a70084 */ addiu $a3,$sp,0x84
/* f0dd6f8: afa20024 */ sw $v0,0x24($sp)
/* f0dd6fc: afa00028 */ sw $zero,0x28($sp)
/* f0dd700: afa0002c */ sw $zero,0x2c($sp)
/* f0dd704: afaa0014 */ sw $t2,0x14($sp)
/* f0dd708: afa90010 */ sw $t1,0x10($sp)
/* f0dd70c: afab0018 */ sw $t3,0x18($sp)
/* f0dd710: 0fc55b06 */ jal 0xf156c18
/* f0dd714: afad0020 */ sw $t5,0x20($sp)
/* f0dd718: c7aa009c */ lwc1 $f10,0x9c($sp)
/* f0dd71c: 3c057f1b */ lui $a1,0x7f1b
/* f0dd720: 3c067f1b */ lui $a2,0x7f1b
/* f0dd724: 460054a1 */ cvt.d.s $f18,$f10
/* f0dd728: 3c077f1b */ lui $a3,0x7f1b
/* f0dd72c: afa200c0 */ sw $v0,0xc0($sp)
/* f0dd730: 24e7dc68 */ addiu $a3,$a3,-9112
/* f0dd734: f7b20010 */ sdc1 $f18,0x10($sp)
/* f0dd738: 24c6dc64 */ addiu $a2,$a2,-9116
/* f0dd73c: 24a5dc58 */ addiu $a1,$a1,-9128
/* f0dd740: 0c004dad */ jal 0x136b4
/* f0dd744: 27a40084 */ addiu $a0,$sp,0x84
/* f0dd748: 3c0e8008 */ lui $t6,0x8008
/* f0dd74c: 8dcefafc */ lw $t6,-0x504($t6)
/* f0dd750: 3c078008 */ lui $a3,0x8008
/* f0dd754: 8ce7fb00 */ lw $a3,-0x500($a3)
/* f0dd758: 27a4006c */ addiu $a0,$sp,0x6c
/* f0dd75c: 27a50070 */ addiu $a1,$sp,0x70
/* f0dd760: 27a60084 */ addiu $a2,$sp,0x84
/* f0dd764: afa00014 */ sw $zero,0x14($sp)
/* f0dd768: 0fc55c32 */ jal 0xf1570c8
/* f0dd76c: afae0010 */ sw $t6,0x10($sp)
/* f0dd770: 8fa20044 */ lw $v0,0x44($sp)
/* f0dd774: 8fa80070 */ lw $t0,0x70($sp)
/* f0dd778: 8fb8006c */ lw $t8,0x6c($sp)
/* f0dd77c: 24420005 */ addiu $v0,$v0,0x5
/* f0dd780: 27a90064 */ addiu $t1,$sp,0x64
/* f0dd784: 00487821 */ addu $t7,$v0,$t0
/* f0dd788: 0218c821 */ addu $t9,$s0,$t8
/* f0dd78c: afb00074 */ sw $s0,0x74($sp)
/* f0dd790: afaf0068 */ sw $t7,0x68($sp)
/* f0dd794: afb90064 */ sw $t9,0x64($sp)
/* f0dd798: afa90010 */ sw $t1,0x10($sp)
/* f0dd79c: afa20078 */ sw $v0,0x78($sp)
/* f0dd7a0: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd7a4: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd7a8: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd7ac: 0fc54dad */ jal 0xf1536b4
/* f0dd7b0: 27a70068 */ addiu $a3,$sp,0x68
/* f0dd7b4: 0c002f02 */ jal 0xbc08
/* f0dd7b8: afa200c0 */ sw $v0,0xc0($sp)
/* f0dd7bc: 0c002f06 */ jal 0xbc18
/* f0dd7c0: a7a2004c */ sh $v0,0x4c($sp)
/* f0dd7c4: 3c0a8008 */ lui $t2,0x8008
/* f0dd7c8: 3c0b8008 */ lui $t3,0x8008
/* f0dd7cc: 8d6bfafc */ lw $t3,-0x504($t3)
/* f0dd7d0: 8d4afb00 */ lw $t2,-0x500($t2)
/* f0dd7d4: 8fac0048 */ lw $t4,0x48($sp)
/* f0dd7d8: 87ae004c */ lh $t6,0x4c($sp)
/* f0dd7dc: 240d00a0 */ addiu $t5,$zero,0xa0
/* f0dd7e0: afad001c */ sw $t5,0x1c($sp)
/* f0dd7e4: 8fa400c0 */ lw $a0,0xc0($sp)
/* f0dd7e8: 27a50078 */ addiu $a1,$sp,0x78
/* f0dd7ec: 27a60074 */ addiu $a2,$sp,0x74
/* f0dd7f0: 27a70084 */ addiu $a3,$sp,0x84
/* f0dd7f4: afa20024 */ sw $v0,0x24($sp)
/* f0dd7f8: afa00028 */ sw $zero,0x28($sp)
/* f0dd7fc: afa0002c */ sw $zero,0x2c($sp)
/* f0dd800: afab0014 */ sw $t3,0x14($sp)
/* f0dd804: afaa0010 */ sw $t2,0x10($sp)
/* f0dd808: afac0018 */ sw $t4,0x18($sp)
/* f0dd80c: 0fc55b06 */ jal 0xf156c18
/* f0dd810: afae0020 */ sw $t6,0x20($sp)
.L0f0dd814_2:
/* f0dd814: 8fbf003c */ lw $ra,0x3c($sp)
/* f0dd818: 8fb00038 */ lw $s0,0x38($sp)
/* f0dd81c: 27bd00c0 */ addiu $sp,$sp,0xc0
/* f0dd820: 03e00008 */ jr $ra
/* f0dd824: 00000000 */ sll $zero,$zero,0x0
);
#endif
GLOBAL_ASM(
glabel func0f0dd848

View File

@ -6630,8 +6630,8 @@ glabel func0f15c920
/* f15c9a4: 1420fff7 */ bnez $at,.L0f15c984
/* f15c9a8: 006a1826 */ xor $v1,$v1,$t2
.L0f15c9ac:
/* f15c9ac: 3c012c7b */ lui $at,0x2c7b
/* f15c9b0: 342182c8 */ ori $at,$at,0x82c8
/* f15c9ac: 3c012c7b */ lui $at,%hi(_checksum7f15c9ac)
/* f15c9b0: 342182c8 */ ori $at,$at,%lo(_checksum7f15c9ac)
/* f15c9b4: 1061000e */ beq $v1,$at,.L0f15c9f0
/* f15c9b8: 3c027f16 */ lui $v0,%hi(func0f15b908)
/* f15c9bc: 2442b908 */ addiu $v0,$v0,%lo(func0f15b908)
@ -6679,7 +6679,7 @@ glabel func0f15c920
// ptr++;
// }
//
// if (checksum != 0x2c7b82c8) {
// if (checksum != CHECKSUM_7F15C9AC) {
// ptr = (s32 *)&func0f15b908 + 20;
// end = &ptr[4];
//

View File

@ -502,7 +502,7 @@ void func0f167e7c(s32 stagenum)
i++;
}
if (checksum != 0xfa4223f2) {
if (checksum != CHECKSUM_7F168500) {
u32 address = 0;
u32 buffer[4];
buffer[0] = 0xbb8b80bd;

View File

@ -1054,7 +1054,7 @@ glabel func0f116e84
/* f116f28: 8fa4002c */ lw $a0,0x2c($sp)
/* f116f2c: 24060001 */ addiu $a2,$zero,0x1
/* f116f30: 0fc470e7 */ jal func0f11c39c
/* f116f34: 24070339 */ addiu $a3,$zero,0x339
/* f116f34: 24070339 */ addiu $a3,$zero,_val7f116f34
/* f116f38: 10400011 */ beqz $v0,.L0f116f80
/* f116f3c: 00105080 */ sll $t2,$s0,0x2
/* f116f40: 01505023 */ subu $t2,$t2,$s0
@ -1535,7 +1535,7 @@ glabel func0f117520
/* f117628: 83a5007b */ lb $a1,0x7b($sp)
/* f11762c: 24060001 */ addiu $a2,$zero,0x1
/* f117630: 0fc470e7 */ jal func0f11c39c
/* f117634: 24070422 */ addiu $a3,$zero,0x422
/* f117634: 24070422 */ addiu $a3,$zero,_val7f117634
/* f117638: 14400009 */ bnez $v0,.L0f117660
/* f11763c: 8fa40064 */ lw $a0,0x64($sp)
/* f117640: 8faf005c */ lw $t7,0x5c($sp)
@ -2539,7 +2539,7 @@ glabel func0f118334
/* f1183ec: 00402025 */ or $a0,$v0,$zero
/* f1183f0: 24060001 */ addiu $a2,$zero,0x1
/* f1183f4: 0fc470e7 */ jal func0f11c39c
/* f1183f8: 2407070a */ addiu $a3,$zero,0x70a
/* f1183f8: 2407070a */ addiu $a3,$zero,_val7f1183f8
/* f1183fc: 8fac004c */ lw $t4,0x4c($sp)
/* f118400: 00106880 */ sll $t5,$s0,0x2
/* f118404: 01b06823 */ subu $t5,$t5,$s0
@ -3317,7 +3317,7 @@ glabel func0f1189d8
/* f118a38: 00044603 */ sra $t0,$a0,0x18
/* f118a3c: 01002025 */ or $a0,$t0,$zero
/* f118a40: 24050007 */ addiu $a1,$zero,0x7
/* f118a44: 24060801 */ addiu $a2,$zero,0x801
/* f118a44: 24060801 */ addiu $a2,$zero,_val7f118a44
/* f118a48: 0fc468cb */ jal func0f11a32c
/* f118a4c: 02203825 */ or $a3,$s1,$zero
/* f118a50: 26100001 */ addiu $s0,$s0,0x1
@ -5789,7 +5789,7 @@ glabel func0f11a574
/* f11a644: 00402025 */ or $a0,$v0,$zero
/* f11a648: 24060001 */ addiu $a2,$zero,0x1
/* f11a64c: 0fc470e7 */ jal func0f11c39c
/* f11a650: 24070d9e */ addiu $a3,$zero,0xd9e
/* f11a650: 24070d9e */ addiu $a3,$zero,_val7f11a650
/* f11a654: 14400006 */ bnez $v0,.L0f11a670
/* f11a658: 00000000 */ sll $zero,$zero,0x0
/* f11a65c: 928c02b8 */ lbu $t4,0x2b8($s4)
@ -5822,7 +5822,7 @@ glabel func0f11a574
/* f11a6bc: 00402025 */ or $a0,$v0,$zero
/* f11a6c0: 24060001 */ addiu $a2,$zero,0x1
/* f11a6c4: 0fc470e7 */ jal func0f11c39c
/* f11a6c8: 24070da7 */ addiu $a3,$zero,0xda7
/* f11a6c8: 24070da7 */ addiu $a3,$zero,_val7f11a6c8
/* f11a6cc: 14400006 */ bnez $v0,.L0f11a6e8
/* f11a6d0: 00008025 */ or $s0,$zero,$zero
/* f11a6d4: 928a02b8 */ lbu $t2,0x2b8($s4)
@ -5950,7 +5950,7 @@ glabel func0f11a7dc
/* f11a880: 8fa40028 */ lw $a0,0x28($sp)
/* f11a884: 24060001 */ addiu $a2,$zero,0x1
/* f11a888: 0fc470e7 */ jal func0f11c39c
/* f11a88c: 24070e0f */ addiu $a3,$zero,0xe0f
/* f11a88c: 24070e0f */ addiu $a3,$zero,_val7f11a88c
/* f11a890: 10400013 */ beqz $v0,.L0f11a8e0
/* f11a894: 8faa002c */ lw $t2,0x2c($sp)
/* f11a898: 00112600 */ sll $a0,$s1,0x18
@ -5980,6 +5980,7 @@ glabel func0f11a7dc
/* f11a8f0: 27bd0050 */ addiu $sp,$sp,0x50
);
#if VERSION >= VERSION_NTSC_FINAL
GLOBAL_ASM(
glabel func0f11a8f4
/* f11a8f4: 27bdefa0 */ addiu $sp,$sp,-4192
@ -6057,7 +6058,7 @@ glabel func0f11a8f4
/* f11aa08: 03002825 */ or $a1,$t8,$zero
/* f11aa0c: 00003025 */ or $a2,$zero,$zero
/* f11aa10: 0fc470e7 */ jal func0f11c39c
/* f11aa14: 24070e46 */ addiu $a3,$zero,0xe46
/* f11aa14: 24070e46 */ addiu $a3,$zero,_val7f11aa14
/* f11aa18: 9619025a */ lhu $t9,0x25a($s0)
/* f11aa1c: 24090001 */ addiu $t1,$zero,0x1
/* f11aa20: 24080002 */ addiu $t0,$zero,0x2
@ -6112,7 +6113,7 @@ glabel func0f11a8f4
/* f11aad8: 01402825 */ or $a1,$t2,$zero
/* f11aadc: 24060001 */ addiu $a2,$zero,0x1
/* f11aae0: 0fc470e7 */ jal func0f11c39c
/* f11aae4: 24070e54 */ addiu $a3,$zero,0xe54
/* f11aae4: 24070e54 */ addiu $a3,$zero,_val7f11aae4
/* f11aae8: 10400003 */ beqz $v0,.L0f11aaf8
/* f11aaec: 240b0001 */ addiu $t3,$zero,0x1
/* f11aaf0: 10000003 */ beqz $zero,.L0f11ab00
@ -6229,6 +6230,257 @@ glabel func0f11a8f4
/* f11ac74: 03e00008 */ jr $ra
/* f11ac78: 27bd1060 */ addiu $sp,$sp,0x1060
);
#else
GLOBAL_ASM(
glabel func0f11a8f4
/* f11a674: 27bdef98 */ addiu $sp,$sp,-4200
/* f11a678: afb10028 */ sw $s1,0x28($sp)
/* f11a67c: 00048e00 */ sll $s1,$a0,0x18
/* f11a680: 00117603 */ sra $t6,$s1,0x18
/* f11a684: 000e7880 */ sll $t7,$t6,0x2
/* f11a688: 01ee7823 */ subu $t7,$t7,$t6
/* f11a68c: 000f7880 */ sll $t7,$t7,0x2
/* f11a690: 01ee7823 */ subu $t7,$t7,$t6
/* f11a694: 000f7880 */ sll $t7,$t7,0x2
/* f11a698: 01ee7821 */ addu $t7,$t7,$t6
/* f11a69c: 000f7880 */ sll $t7,$t7,0x2
/* f11a6a0: 01ee7823 */ subu $t7,$t7,$t6
/* f11a6a4: 3c18800a */ lui $t8,0x800a
/* f11a6a8: afb00024 */ sw $s0,0x24($sp)
/* f11a6ac: 27182380 */ addiu $t8,$t8,0x2380
/* f11a6b0: 000f7880 */ sll $t7,$t7,0x2
/* f11a6b4: 01f88021 */ addu $s0,$t7,$t8
/* f11a6b8: 920902b8 */ lbu $t1,0x2b8($s0)
/* f11a6bc: afa41068 */ sw $a0,0x1068($sp)
/* f11a6c0: 000e2600 */ sll $a0,$t6,0x18
/* f11a6c4: afbf002c */ sw $ra,0x2c($sp)
/* f11a6c8: 24190002 */ addiu $t9,$zero,0x2
/* f11a6cc: 00045e03 */ sra $t3,$a0,0x18
/* f11a6d0: 352a0040 */ ori $t2,$t1,0x40
/* f11a6d4: 01c08825 */ or $s1,$t6,$zero
/* f11a6d8: afa0105c */ sw $zero,0x105c($sp)
/* f11a6dc: afa01058 */ sw $zero,0x1058($sp)
/* f11a6e0: ae190000 */ sw $t9,0x0($s0)
/* f11a6e4: a20a02b8 */ sb $t2,0x2b8($s0)
/* f11a6e8: 0fc468bd */ jal 0xf11a2f4
/* f11a6ec: 01602025 */ or $a0,$t3,$zero
/* f11a6f0: 8e0c0010 */ lw $t4,0x10($s0)
/* f11a6f4: 24010001 */ addiu $at,$zero,0x1
/* f11a6f8: 15810003 */ bne $t4,$at,.L0f11a708_2
/* f11a6fc: 00000000 */ sll $zero,$zero,0x0
/* f11a700: 100000b9 */ beqz $zero,.L0f11a9e8_2
/* f11a704: 00001025 */ or $v0,$zero,$zero
.L0f11a708_2:
/* f11a708: 0c00543a */ jal 0x150e8
/* f11a70c: 00000000 */ sll $zero,$zero,0x0
/* f11a710: 24010004 */ addiu $at,$zero,0x4
/* f11a714: 16210003 */ bne $s1,$at,.L0f11a724_2
/* f11a718: 24053459 */ addiu $a1,$zero,0x3459
/* f11a71c: 10000009 */ beqz $zero,.L0f11a744_2
/* f11a720: 00002025 */ or $a0,$zero,$zero
.L0f11a724_2:
/* f11a724: 00116880 */ sll $t5,$s1,0x2
/* f11a728: 01b16823 */ subu $t5,$t5,$s1
/* f11a72c: 000d6880 */ sll $t5,$t5,0x2
/* f11a730: 01b16821 */ addu $t5,$t5,$s1
/* f11a734: 3c0e800a */ lui $t6,0x800a
/* f11a738: 25ce3180 */ addiu $t6,$t6,0x3180
/* f11a73c: 000d68c0 */ sll $t5,$t5,0x3
/* f11a740: 01ae2021 */ addu $a0,$t5,$t6
.L0f11a744_2:
/* f11a744: 3c0f8007 */ lui $t7,0x8007
/* f11a748: 25ef5d08 */ addiu $t7,$t7,0x5d08
/* f11a74c: 3c064e50 */ lui $a2,0x4e50
/* f11a750: 3c078007 */ lui $a3,0x8007
/* f11a754: 2602029c */ addiu $v0,$s0,0x29c
/* f11a758: afa20014 */ sw $v0,0x14($sp)
/* f11a75c: afa20034 */ sw $v0,0x34($sp)
/* f11a760: 24e75cf8 */ addiu $a3,$a3,0x5cf8
/* f11a764: 34c64445 */ ori $a2,$a2,0x4445
/* f11a768: 0fc45f76 */ jal 0xf117dd8
/* f11a76c: afaf0010 */ sw $t7,0x10($sp)
/* f11a770: 0c005451 */ jal 0x15144
/* f11a774: afa2004c */ sw $v0,0x4c($sp)
/* f11a778: 8fa4004c */ lw $a0,0x4c($sp)
/* f11a77c: 00112e00 */ sll $a1,$s1,0x18
/* f11a780: 0005c603 */ sra $t8,$a1,0x18
/* f11a784: 1080003e */ beqz $a0,.L0f11a880_2
/* f11a788: 03002825 */ or $a1,$t8,$zero
/* f11a78c: 00003025 */ or $a2,$zero,$zero
/* f11a790: 0fc47047 */ jal 0xf11c11c
/* f11a794: 24070d83 */ addiu $a3,$zero,0xd83
/* f11a798: 9619025a */ lhu $t9,0x25a($s0)
/* f11a79c: 24090001 */ addiu $t1,$zero,0x1
/* f11a7a0: 24080002 */ addiu $t0,$zero,0x2
/* f11a7a4: 2b210081 */ slti $at,$t9,0x81
/* f11a7a8: 54200004 */ bnezl $at,.L0f11a7bc_2
/* f11a7ac: a20902bc */ sb $t1,0x2bc($s0)
/* f11a7b0: 10000002 */ beqz $zero,.L0f11a7bc_2
/* f11a7b4: a20802bc */ sb $t0,0x2bc($s0)
/* f11a7b8: a20902bc */ sb $t1,0x2bc($s0)
.L0f11a7bc_2:
/* f11a7bc: 920a02bc */ lbu $t2,0x2bc($s0)
/* f11a7c0: 000a58c0 */ sll $t3,$t2,0x3
/* f11a7c4: 016a5823 */ subu $t3,$t3,$t2
/* f11a7c8: 000b5a80 */ sll $t3,$t3,0xa
/* f11a7cc: 0c00543a */ jal 0x150e8
/* f11a7d0: afab0048 */ sw $t3,0x48($sp)
/* f11a7d4: 24010004 */ addiu $at,$zero,0x4
/* f11a7d8: 16210003 */ bne $s1,$at,.L0f11a7e8_2
/* f11a7dc: 24053459 */ addiu $a1,$zero,0x3459
/* f11a7e0: 10000009 */ beqz $zero,.L0f11a808_2
/* f11a7e4: 00002025 */ or $a0,$zero,$zero
.L0f11a7e8_2:
/* f11a7e8: 00116080 */ sll $t4,$s1,0x2
/* f11a7ec: 01916023 */ subu $t4,$t4,$s1
/* f11a7f0: 000c6080 */ sll $t4,$t4,0x2
/* f11a7f4: 01916021 */ addu $t4,$t4,$s1
/* f11a7f8: 3c0d800a */ lui $t5,0x800a
/* f11a7fc: 25ad3180 */ addiu $t5,$t5,0x3180
/* f11a800: 000c60c0 */ sll $t4,$t4,0x3
/* f11a804: 018d2021 */ addu $a0,$t4,$t5
.L0f11a808_2:
/* f11a808: 8faf0048 */ lw $t7,0x48($sp)
/* f11a80c: 8fb80034 */ lw $t8,0x34($sp)
/* f11a810: 3c0e8007 */ lui $t6,0x8007
/* f11a814: 25ce5d08 */ addiu $t6,$t6,0x5d08
/* f11a818: 3c064e50 */ lui $a2,0x4e50
/* f11a81c: 3c078007 */ lui $a3,0x8007
/* f11a820: 24e75cf8 */ addiu $a3,$a3,0x5cf8
/* f11a824: 34c64445 */ ori $a2,$a2,0x4445
/* f11a828: afae0010 */ sw $t6,0x10($sp)
/* f11a82c: afaf0014 */ sw $t7,0x14($sp)
/* f11a830: 0fc45f44 */ jal 0xf117d10
/* f11a834: afb80018 */ sw $t8,0x18($sp)
/* f11a838: 0c005451 */ jal 0x15144
/* f11a83c: afa2004c */ sw $v0,0x4c($sp)
/* f11a840: 920802b8 */ lbu $t0,0x2b8($s0)
/* f11a844: 00112e00 */ sll $a1,$s1,0x18
/* f11a848: 8fa4004c */ lw $a0,0x4c($sp)
/* f11a84c: 00055603 */ sra $t2,$a1,0x18
/* f11a850: 35090040 */ ori $t1,$t0,0x40
/* f11a854: a20902b8 */ sb $t1,0x2b8($s0)
/* f11a858: 01402825 */ or $a1,$t2,$zero
/* f11a85c: 24060001 */ addiu $a2,$zero,0x1
/* f11a860: 0fc47047 */ jal 0xf11c11c
/* f11a864: 24070d91 */ addiu $a3,$zero,0xd91
/* f11a868: 10400003 */ beqz $v0,.L0f11a878_2
/* f11a86c: 240b0001 */ addiu $t3,$zero,0x1
/* f11a870: 10000003 */ beqz $zero,.L0f11a880_2
/* f11a874: afab105c */ sw $t3,0x105c($sp)
.L0f11a878_2:
/* f11a878: 1000005b */ beqz $zero,.L0f11a9e8_2
/* f11a87c: 00001025 */ or $v0,$zero,$zero
.L0f11a880_2:
/* f11a880: 00112600 */ sll $a0,$s1,0x18
/* f11a884: 00046603 */ sra $t4,$a0,0x18
/* f11a888: 0fc468bd */ jal 0xf11a2f4
/* f11a88c: 01802025 */ or $a0,$t4,$zero
/* f11a890: 00112600 */ sll $a0,$s1,0x18
/* f11a894: 00046e03 */ sra $t5,$a0,0x18
/* f11a898: 0fc46957 */ jal 0xf11a55c
/* f11a89c: 01a02025 */ or $a0,$t5,$zero
/* f11a8a0: 920e02b8 */ lbu $t6,0x2b8($s0)
/* f11a8a4: 2418000b */ addiu $t8,$zero,0xb
/* f11a8a8: a20002be */ sb $zero,0x2be($s0)
/* f11a8ac: 31cffffd */ andi $t7,$t6,0xfffd
/* f11a8b0: a20f02b8 */ sb $t7,0x2b8($s0)
/* f11a8b4: ae180010 */ sw $t8,0x10($s0)
/* f11a8b8: 8fb9105c */ lw $t9,0x105c($sp)
/* f11a8bc: 00112600 */ sll $a0,$s1,0x18
/* f11a8c0: 00044603 */ sra $t0,$a0,0x18
/* f11a8c4: 5320000a */ beqzl $t9,.L0f11a8f0_2
/* f11a8c8: 8faa1058 */ lw $t2,0x1058($sp)
/* f11a8cc: 0fc46cb2 */ jal 0xf11b2c8
/* f11a8d0: 01002025 */ or $a0,$t0,$zero
/* f11a8d4: 2401ffff */ addiu $at,$zero,-1
/* f11a8d8: 10410003 */ beq $v0,$at,.L0f11a8e8_2
/* f11a8dc: 24090001 */ addiu $t1,$zero,0x1
/* f11a8e0: 10000002 */ beqz $zero,.L0f11a8ec_2
/* f11a8e4: ae020260 */ sw $v0,0x260($s0)
.L0f11a8e8_2:
/* f11a8e8: afa91058 */ sw $t1,0x1058($sp)
.L0f11a8ec_2:
/* f11a8ec: 8faa1058 */ lw $t2,0x1058($sp)
.L0f11a8f0_2:
/* f11a8f0: 00112600 */ sll $a0,$s1,0x18
/* f11a8f4: 00045e03 */ sra $t3,$a0,0x18
/* f11a8f8: 55400016 */ bnezl $t2,.L0f11a954_2
/* f11a8fc: 8fb91058 */ lw $t9,0x1058($sp)
/* f11a900: 0fc46579 */ jal 0xf1195e4
/* f11a904: 01602025 */ or $a0,$t3,$zero
/* f11a908: 2401ffff */ addiu $at,$zero,-1
/* f11a90c: 14410010 */ bne $v0,$at,.L0f11a950_2
/* f11a910: 00112600 */ sll $a0,$s1,0x18
/* f11a914: 00046603 */ sra $t4,$a0,0x18
/* f11a918: 0fc46cb2 */ jal 0xf11b2c8
/* f11a91c: 01802025 */ or $a0,$t4,$zero
/* f11a920: 2401ffff */ addiu $at,$zero,-1
/* f11a924: 10410003 */ beq $v0,$at,.L0f11a934_2
/* f11a928: 240d0001 */ addiu $t5,$zero,0x1
/* f11a92c: 10000002 */ beqz $zero,.L0f11a938_2
/* f11a930: ae020260 */ sw $v0,0x260($s0)
.L0f11a934_2:
/* f11a934: afad1058 */ sw $t5,0x1058($sp)
.L0f11a938_2:
/* f11a938: 24010004 */ addiu $at,$zero,0x4
/* f11a93c: 52210005 */ beql $s1,$at,.L0f11a954_2
/* f11a940: 8fb91058 */ lw $t9,0x1058($sp)
/* f11a944: 920f02b8 */ lbu $t7,0x2b8($s0)
/* f11a948: 35f80002 */ ori $t8,$t7,0x2
/* f11a94c: a21802b8 */ sb $t8,0x2b8($s0)
.L0f11a950_2:
/* f11a950: 8fb91058 */ lw $t9,0x1058($sp)
.L0f11a954_2:
/* f11a954: 00112600 */ sll $a0,$s1,0x18
/* f11a958: 00044603 */ sra $t0,$a0,0x18
/* f11a95c: 5720001e */ bnezl $t9,.L0f11a9d8_2
/* f11a960: 240d0016 */ addiu $t5,$zero,0x16
/* f11a964: 0fc4679a */ jal 0xf119e68
/* f11a968: 01002025 */ or $a0,$t0,$zero
/* f11a96c: 2401ffff */ addiu $at,$zero,-1
/* f11a970: 10410018 */ beq $v0,$at,.L0f11a9d4_2
/* f11a974: 00112600 */ sll $a0,$s1,0x18
/* f11a978: 00044e03 */ sra $t1,$a0,0x18
/* f11a97c: ae02025c */ sw $v0,0x25c($s0)
/* f11a980: 01202025 */ or $a0,$t1,$zero
/* f11a984: 24050004 */ addiu $a1,$zero,0x4
/* f11a988: 0fc459cc */ jal 0xf116730
/* f11a98c: 27a60054 */ addiu $a2,$sp,0x54
/* f11a990: 14400010 */ bnez $v0,.L0f11a9d4_2
/* f11a994: 00112600 */ sll $a0,$s1,0x18
/* f11a998: 00045603 */ sra $t2,$a0,0x18
/* f11a99c: 0fc46703 */ jal 0xf119c0c
/* f11a9a0: 01402025 */ or $a0,$t2,$zero
/* f11a9a4: 1040000b */ beqz $v0,.L0f11a9d4_2
/* f11a9a8: 24010004 */ addiu $at,$zero,0x4
/* f11a9ac: 16210004 */ bne $s1,$at,.L0f11a9c0_2
/* f11a9b0: 240c0006 */ addiu $t4,$zero,0x6
/* f11a9b4: 240b000b */ addiu $t3,$zero,0xb
/* f11a9b8: 10000002 */ beqz $zero,.L0f11a9c4_2
/* f11a9bc: ae0b0010 */ sw $t3,0x10($s0)
.L0f11a9c0_2:
/* f11a9c0: ae0c0010 */ sw $t4,0x10($s0)
.L0f11a9c4_2:
/* f11a9c4: 0fc44344 */ jal 0xf110d10
/* f11a9c8: 02202025 */ or $a0,$s1,$zero
/* f11a9cc: 10000006 */ beqz $zero,.L0f11a9e8_2
/* f11a9d0: 24020001 */ addiu $v0,$zero,0x1
.L0f11a9d4_2:
/* f11a9d4: 240d0016 */ addiu $t5,$zero,0x16
.L0f11a9d8_2:
/* f11a9d8: ae0d0010 */ sw $t5,0x10($s0)
/* f11a9dc: 0fc44344 */ jal 0xf110d10
/* f11a9e0: 02202025 */ or $a0,$s1,$zero
/* f11a9e4: 00001025 */ or $v0,$zero,$zero
.L0f11a9e8_2:
/* f11a9e8: 8fbf002c */ lw $ra,0x2c($sp)
/* f11a9ec: 8fb00024 */ lw $s0,0x24($sp)
/* f11a9f0: 8fb10028 */ lw $s1,0x28($sp)
/* f11a9f4: 03e00008 */ jr $ra
/* f11a9f8: 27bd1068 */ addiu $sp,$sp,0x1068
);
#endif
GLOBAL_ASM(
glabel func0f11ac7c
@ -6270,7 +6522,7 @@ glabel func0f11ac7c
/* f11ad00: 00402025 */ or $a0,$v0,$zero
/* f11ad04: 24060001 */ addiu $a2,$zero,0x1
/* f11ad08: 0fc470e7 */ jal func0f11c39c
/* f11ad0c: 24070ef5 */ addiu $a3,$zero,0xef5
/* f11ad0c: 24070ef5 */ addiu $a3,$zero,_val7f11ad0c
/* f11ad10: 1040001b */ beqz $v0,.L0f11ad80
/* f11ad14: 8fa30024 */ lw $v1,0x24($sp)
/* f11ad18: 00104880 */ sll $t1,$s0,0x2
@ -6340,7 +6592,7 @@ glabel func0f11ac7c
/* f11ae00: 00402025 */ or $a0,$v0,$zero
/* f11ae04: 00003025 */ or $a2,$zero,$zero
/* f11ae08: 0fc470e7 */ jal func0f11c39c
/* f11ae0c: 24070f19 */ addiu $a3,$zero,0xf19
/* f11ae0c: 24070f19 */ addiu $a3,$zero,_val7f11ae0c
/* f11ae10: 1040001a */ beqz $v0,.L0f11ae7c
/* f11ae14: 8fa30024 */ lw $v1,0x24($sp)
/* f11ae18: 00107880 */ sll $t7,$s0,0x2
@ -6402,7 +6654,7 @@ glabel func0f11ac7c
/* f11aee8: 00402025 */ or $a0,$v0,$zero
/* f11aeec: 00003025 */ or $a2,$zero,$zero
/* f11aef0: 0fc470e7 */ jal func0f11c39c
/* f11aef4: 24070f31 */ addiu $a3,$zero,0xf31
/* f11aef4: 24070f31 */ addiu $a3,$zero,_val7f11aef4
/* f11aef8: 10400022 */ beqz $v0,.L0f11af84
/* f11aefc: 8fa80028 */ lw $t0,0x28($sp)
/* f11af00: 0010c880 */ sll $t9,$s0,0x2
@ -6554,7 +6806,7 @@ glabel func0f11afb0
/* f11b118: 00402025 */ or $a0,$v0,$zero
/* f11b11c: 24060001 */ addiu $a2,$zero,0x1
/* f11b120: 0fc470e7 */ jal func0f11c39c
/* f11b124: 24070f6c */ addiu $a3,$zero,0xf6c
/* f11b124: 24070f6c */ addiu $a3,$zero,_val7f11b124
/* f11b128: 14400004 */ bnez $v0,.L0f11b13c
/* f11b12c: 8fa800f0 */ lw $t0,0xf0($sp)
/* f11b130: 2419ffff */ addiu $t9,$zero,-1
@ -6948,7 +7200,7 @@ glabel func0f11b548
/* f11b6b4: 00402025 */ or $a0,$v0,$zero
/* f11b6b8: 24060001 */ addiu $a2,$zero,0x1
/* f11b6bc: 0fc470e7 */ jal func0f11c39c
/* f11b6c0: 2407102c */ addiu $a3,$zero,0x102c
/* f11b6c0: 2407102c */ addiu $a3,$zero,_val7f11b6c0
/* f11b6c4: 14400003 */ bnez $v0,.L0f11b6d4
/* f11b6c8: 8fb10034 */ lw $s1,0x34($sp)
/* f11b6cc: 10000002 */ beqz $zero,.L0f11b6d8
@ -7274,7 +7526,7 @@ glabel func0f11b86c
/* f11bb3c: 00402025 */ or $a0,$v0,$zero
/* f11bb40: 24060001 */ addiu $a2,$zero,0x1
/* f11bb44: 0fc470e7 */ jal func0f11c39c
/* f11bb48: 2407112a */ addiu $a3,$zero,0x112a
/* f11bb48: 2407112a */ addiu $a3,$zero,_val7f11bb48
/* f11bb4c: 5440000b */ bnezl $v0,.L0f11bb7c
/* f11bb50: 2e010010 */ sltiu $at,$s0,0x10
/* f11bb54: 0c005451 */ jal func00015144
@ -7744,7 +7996,7 @@ glabel func0f11bc54
/* f11c1c4: 00402025 */ or $a0,$v0,$zero
/* f11c1c8: 24060001 */ addiu $a2,$zero,0x1
/* f11c1cc: 0fc470e7 */ jal func0f11c39c
/* f11c1d0: 24071286 */ addiu $a3,$zero,0x1286
/* f11c1d0: 24071286 */ addiu $a3,$zero,_val7f11c1d0
/* f11c1d4: 5440000b */ bnezl $v0,.L0f11c204
/* f11c1d8: 8fb80098 */ lw $t8,0x98($sp)
/* f11c1dc: 0c005451 */ jal func00015144
@ -7864,7 +8116,7 @@ glabel pakRepair
/* f11c370: ad490010 */ sw $t1,0x10($t2)
.L0f11c374:
/* f11c374: 0fc470e7 */ jal func0f11c39c
/* f11c378: 240712c1 */ addiu $a3,$zero,0x12c1
/* f11c378: 240712c1 */ addiu $a3,$zero,_val7f11c378
/* f11c37c: 8fac001c */ lw $t4,0x1c($sp)
/* f11c380: 240b0016 */ addiu $t3,$zero,0x16
/* f11c384: ad8b0010 */ sw $t3,0x10($t4)
@ -11054,6 +11306,7 @@ glabel func0f11e7f0
/* f11e840: 00000000 */ sll $zero,$zero,0x0
);
#if VERSION >= VERSION_NTSC_FINAL
GLOBAL_ASM(
glabel func0f11e844
/* f11e844: 00043e00 */ sll $a3,$a0,0x18
@ -11193,6 +11446,149 @@ glabel func0f11e844
/* f11ea2c: 03e00008 */ jr $ra
/* f11ea30: 00000000 */ sll $zero,$zero,0x0
);
#else
GLOBAL_ASM(
glabel func0f11e844
/* f11e614: 00043e00 */ sll $a3,$a0,0x18
/* f11e618: 00077603 */ sra $t6,$a3,0x18
/* f11e61c: 000ec080 */ sll $t8,$t6,0x2
/* f11e620: 030ec023 */ subu $t8,$t8,$t6
/* f11e624: 0018c080 */ sll $t8,$t8,0x2
/* f11e628: 030ec023 */ subu $t8,$t8,$t6
/* f11e62c: 0018c080 */ sll $t8,$t8,0x2
/* f11e630: 030ec021 */ addu $t8,$t8,$t6
/* f11e634: 0018c080 */ sll $t8,$t8,0x2
/* f11e638: 030ec023 */ subu $t8,$t8,$t6
/* f11e63c: 3c19800a */ lui $t9,0x800a
/* f11e640: 27392380 */ addiu $t9,$t9,0x2380
/* f11e644: 0018c080 */ sll $t8,$t8,0x2
/* f11e648: 27bdff78 */ addiu $sp,$sp,-136
/* f11e64c: 03191821 */ addu $v1,$t8,$t9
/* f11e650: 8c680000 */ lw $t0,0x0($v1)
/* f11e654: 240f0001 */ addiu $t7,$zero,0x1
/* f11e658: 24010003 */ addiu $at,$zero,0x3
/* f11e65c: afbf0014 */ sw $ra,0x14($sp)
/* f11e660: afa40088 */ sw $a0,0x88($sp)
/* f11e664: 01c03825 */ or $a3,$t6,$zero
/* f11e668: afa0002c */ sw $zero,0x2c($sp)
/* f11e66c: afa00028 */ sw $zero,0x28($sp)
/* f11e670: 11010003 */ beq $t0,$at,.L0f11e680
/* f11e674: afaf0024 */ sw $t7,0x24($sp)
/* f11e678: 1000005f */ beqz $zero,.L0f11e7f8
/* f11e67c: 00001025 */ or $v0,$zero,$zero
.L0f11e680:
/* f11e680: afa3001c */ sw $v1,0x1c($sp)
/* f11e684: 0c00543a */ jal 0x150e8
/* f11e688: a3a7008b */ sb $a3,0x8b($sp)
/* f11e68c: 83a7008b */ lb $a3,0x8b($sp)
/* f11e690: 24010004 */ addiu $at,$zero,0x4
/* f11e694: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e698: 14e10003 */ bne $a3,$at,.L0f11e6a8
/* f11e69c: 27a50038 */ addiu $a1,$sp,0x38
/* f11e6a0: 10000009 */ beqz $zero,.L0f11e6c8
/* f11e6a4: 00002025 */ or $a0,$zero,$zero
.L0f11e6a8:
/* f11e6a8: 00074880 */ sll $t1,$a3,0x2
/* f11e6ac: 01274823 */ subu $t1,$t1,$a3
/* f11e6b0: 00094880 */ sll $t1,$t1,0x2
/* f11e6b4: 01274821 */ addu $t1,$t1,$a3
/* f11e6b8: 3c0a800a */ lui $t2,0x800a
/* f11e6bc: 254a3180 */ addiu $t2,$t2,0x3180
/* f11e6c0: 000948c0 */ sll $t1,$t1,0x3
/* f11e6c4: 012a2021 */ addu $a0,$t1,$t2
.L0f11e6c8:
/* f11e6c8: 27a60037 */ addiu $a2,$sp,0x37
/* f11e6cc: afa3001c */ sw $v1,0x1c($sp)
/* f11e6d0: 0c014358 */ jal 0x50d60
/* f11e6d4: a3a7008b */ sb $a3,0x8b($sp)
/* f11e6d8: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e6dc: 10400003 */ beqz $v0,.L0f11e6ec
/* f11e6e0: 83a7008b */ lb $a3,0x8b($sp)
/* f11e6e4: 10000003 */ beqz $zero,.L0f11e6f4
/* f11e6e8: afa00024 */ sw $zero,0x24($sp)
.L0f11e6ec:
/* f11e6ec: 240b0001 */ addiu $t3,$zero,0x1
/* f11e6f0: afab0028 */ sw $t3,0x28($sp)
.L0f11e6f4:
/* f11e6f4: 3c0d8007 */ lui $t5,0x8007
/* f11e6f8: 95ad5cb0 */ lhu $t5,0x5cb0($t5)
/* f11e6fc: 97ac007c */ lhu $t4,0x7c($sp)
/* f11e700: 3c048007 */ lui $a0,0x8007
/* f11e704: 24845cb4 */ addiu $a0,$a0,0x5cb4
/* f11e708: 158d0017 */ bne $t4,$t5,.L0f11e768
/* f11e70c: 27a5006c */ addiu $a1,$sp,0x6c
/* f11e710: afa3001c */ sw $v1,0x1c($sp)
/* f11e714: 0fc47970 */ jal 0xf11e5c0
/* f11e718: a3a7008b */ sb $a3,0x8b($sp)
/* f11e71c: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e720: 1440000a */ bnez $v0,.L0f11e74c
/* f11e724: 83a7008b */ lb $a3,0x8b($sp)
/* f11e728: 3c048007 */ lui $a0,0x8007
/* f11e72c: 24845cc0 */ addiu $a0,$a0,0x5cc0
/* f11e730: 27a5006c */ addiu $a1,$sp,0x6c
/* f11e734: afa3001c */ sw $v1,0x1c($sp)
/* f11e738: 0fc47970 */ jal 0xf11e5c0
/* f11e73c: a3a7008b */ sb $a3,0x8b($sp)
/* f11e740: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e744: 10400008 */ beqz $v0,.L0f11e768
/* f11e748: 83a7008b */ lb $a3,0x8b($sp)
.L0f11e74c:
/* f11e74c: 906e02b8 */ lbu $t6,0x2b8($v1)
/* f11e750: 24090002 */ addiu $t1,$zero,0x2
/* f11e754: afa9002c */ sw $t1,0x2c($sp)
/* f11e758: 31d9ffdf */ andi $t9,$t6,0xffdf
/* f11e75c: a07902b8 */ sb $t9,0x2b8($v1)
/* f11e760: 37280010 */ ori $t0,$t9,0x10
/* f11e764: a06802b8 */ sb $t0,0x2b8($v1)
.L0f11e768:
/* f11e768: 8faa002c */ lw $t2,0x2c($sp)
/* f11e76c: 24010002 */ addiu $at,$zero,0x2
/* f11e770: 00002825 */ or $a1,$zero,$zero
/* f11e774: 51410003 */ beql $t2,$at,.L0f11e784
/* f11e778: 8fab0028 */ lw $t3,0x28($sp)
/* f11e77c: afa00024 */ sw $zero,0x24($sp)
/* f11e780: 8fab0028 */ lw $t3,0x28($sp)
.L0f11e784:
/* f11e784: 24010004 */ addiu $at,$zero,0x4
/* f11e788: 11600011 */ beqz $t3,.L0f11e7d0
/* f11e78c: 00000000 */ sll $zero,$zero,0x0
/* f11e790: 14e10003 */ bne $a3,$at,.L0f11e7a0
/* f11e794: 00076080 */ sll $t4,$a3,0x2
/* f11e798: 10000008 */ beqz $zero,.L0f11e7bc
/* f11e79c: 00002025 */ or $a0,$zero,$zero
.L0f11e7a0:
/* f11e7a0: 01876023 */ subu $t4,$t4,$a3
/* f11e7a4: 000c6080 */ sll $t4,$t4,0x2
/* f11e7a8: 01876021 */ addu $t4,$t4,$a3
/* f11e7ac: 3c0d800a */ lui $t5,0x800a
/* f11e7b0: 25ad3180 */ addiu $t5,$t5,0x3180
/* f11e7b4: 000c60c0 */ sll $t4,$t4,0x3
/* f11e7b8: 018d2021 */ addu $a0,$t4,$t5
.L0f11e7bc:
/* f11e7bc: 0c0018cc */ jal 0x6330
/* f11e7c0: afa3001c */ sw $v1,0x1c($sp)
/* f11e7c4: 10400002 */ beqz $v0,.L0f11e7d0
/* f11e7c8: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e7cc: afa00024 */ sw $zero,0x24($sp)
.L0f11e7d0:
/* f11e7d0: 0c005451 */ jal 0x15144
/* f11e7d4: afa3001c */ sw $v1,0x1c($sp)
/* f11e7d8: 8fae0024 */ lw $t6,0x24($sp)
/* f11e7dc: 8fa3001c */ lw $v1,0x1c($sp)
/* f11e7e0: 240f001a */ addiu $t7,$zero,0x1a
/* f11e7e4: 11c00003 */ beqz $t6,.L0f11e7f4
/* f11e7e8: 00001025 */ or $v0,$zero,$zero
/* f11e7ec: 10000002 */ beqz $zero,.L0f11e7f8
/* f11e7f0: 8fa2002c */ lw $v0,0x2c($sp)
.L0f11e7f4:
/* f11e7f4: ac6f0010 */ sw $t7,0x10($v1)
.L0f11e7f8:
/* f11e7f8: 8fbf0014 */ lw $ra,0x14($sp)
/* f11e7fc: 27bd0088 */ addiu $sp,$sp,0x88
/* f11e800: 03e00008 */ jr $ra
/* f11e804: 00000000 */ sll $zero,$zero,0x0
);
#endif
GLOBAL_ASM(
glabel func0f11ea34
@ -11380,5 +11776,4 @@ glabel func0f11ea34
/* f11ece0: 27bd0040 */ addiu $sp,$sp,0x40
/* f11ece4: 03e00008 */ jr $ra
/* f11ece8: 00000000 */ sll $zero,$zero,0x0
/* f11ecec: 00000000 */ sll $zero,$zero,0x0
);

View File

@ -2585,3 +2585,23 @@
#define VERSION_PAL_BETA 3
#define VERSION_PAL_FINAL 4
#define VERSION_JAP_FINAL 5
#if VERSION == VERSION_NTSC_1_0
#define CHECKSUM_7F0225CC 0x5874fe3a
#define CHECKSUM_7F02DC00 0x27be1bf0
#define CHECKSUM_7F03B7B4 0x1cc65d52
#define CHECKSUM_7F15C9AC 0x2c7b42f8
#define CHECKSUM_7F168500 0xfa4221b2
#elif VERSION == VERSION_NTSC_FINAL
#define CHECKSUM_7F0225CC 0x5874f34e
#define CHECKSUM_7F02DC00 0xa7be1bf0
#define CHECKSUM_7F03B7B4 0x860badfe
#define CHECKSUM_7F15C9AC 0x2c7b82c8
#define CHECKSUM_7F168500 0xfa4223f2
#else
#define CHECKSUM_7F0225CC 0
#define CHECKSUM_7F02DC00 0
#define CHECKSUM_7F03B7B4 0
#define CHECKSUM_7F15C9AC 0
#define CHECKSUM_7F168500 0
#endif

View File

@ -26,16 +26,5 @@ u32 func00033ec4(void);
u32 func00033f08(void);
u32 func00033f24(void);
u32 func00033f44(void);
u32 func00034030(void);
u32 func00034104(void);
u32 func00034240(void);
u32 func00034df8(void);
u32 func00034f0c(void);
u32 func00034fb8(void);
u32 func00035110(void);
u32 func00037220(void);
u32 func00037460(void);
u32 func00037554(void);
u32 func0003759c(void);
#endif

View File

@ -0,0 +1,18 @@
#ifndef _IN_LIB_LIB_34030_H
#define _IN_LIB_LIB_34030_H
#include <ultra64.h>
#include "types.h"
u32 func00034030(void);
u32 func00034104(void);
u32 func00034240(void);
u32 func00034df8(void);
u32 func00034f0c(void);
u32 func00034fb8(void);
u32 func00035110(void);
u32 func00037220(void);
u32 func00037460(void);
u32 func00037554(void);
u32 func0003759c(void);
#endif

View File

@ -38,11 +38,11 @@ glabel func000070d0
/* 7114: 34210001 */ ori $at,$at,0x1
/* 7118: 0041082a */ slt $at,$v0,$at
/* 711c: 10200074 */ beqz $at,.L000072f0
/* 7120: 3c087f1c */ lui $t0,0x7f1c
/* 7124: 3c087f1c */ lui $t0,0x7f1c
/* 7120: 3c087f1c */ lui $t0,%hi(_bssSegmentEnd)
/* 7124: 3c087f1c */ lui $t0,%hi(_bssSegmentEnd)
/* 7128: 3c097f00 */ lui $t1,%hi(func0f000000)
/* 712c: 25290000 */ addiu $t1,$t1,%lo(func0f000000)
/* 7130: 250899e0 */ addiu $t0,$t0,-26144
/* 7130: 250899e0 */ addiu $t0,$t0,%lo(_bssSegmentEnd)
/* 7134: 3c018009 */ lui $at,%hi(g_Is4Mb)
/* 7138: 01097023 */ subu $t6,$t0,$t1
/* 713c: a0300af0 */ sb $s0,%lo(g_Is4Mb)($at)
@ -165,7 +165,7 @@ glabel func000070d0
.L000072f0:
/* 72f0: 3c097f00 */ lui $t1,%hi(func0f000000)
/* 72f4: 25290000 */ addiu $t1,$t1,%lo(func0f000000)
/* 72f8: 250899e0 */ addiu $t0,$t0,-26144
/* 72f8: 250899e0 */ addiu $t0,$t0,%lo(_bssSegmentEnd)
/* 72fc: 0109c823 */ subu $t9,$t0,$t1
/* 7300: 272c003f */ addiu $t4,$t9,0x3f
/* 7304: 01091023 */ subu $v0,$t0,$t1
@ -297,4 +297,4 @@ glabel func000070d0
/* 74e4: 00000000 */ sll $zero,$zero,0x0
/* 74e8: 00000000 */ sll $zero,$zero,0x0
/* 74ec: 00000000 */ sll $zero,$zero,0x0
);
);

View File

@ -795,6 +795,7 @@ glabel func00014238
/* 142ec: 27bd0028 */ addiu $sp,$sp,0x28
);
#if VERSION >= VERSION_NTSC_FINAL
GLOBAL_ASM(
glabel func000142f0
/* 142f0: 27bdffe8 */ addiu $sp,$sp,-24
@ -865,6 +866,78 @@ glabel func000142f0
/* 143e0: 03e00008 */ jr $ra
/* 143e4: 00000000 */ sll $zero,$zero,0x0
);
#else
GLOBAL_ASM(
glabel func000142f0
/* 142f0: 27bdffe8 */ addiu $sp,$sp,-24
/* 142f4: afbf0014 */ sw $ra,0x14($sp)
/* 142f8: 3c047005 */ lui $a0,%hi(var700540a8)
/* 142fc: 3c058006 */ lui $a1,%hi(var8005ef08)
/* 14300: 24a5ef08 */ addiu $a1,$a1,%lo(var8005ef08)
/* 14304: 0c0036cc */ jal func0000db30
/* 14308: 248440a8 */ addiu $a0,$a0,%lo(var700540a8)
/* 1430c: 3c0e800a */ lui $t6,%hi(g_Vars+0x4d0)
/* 14310: 91cea490 */ lbu $t6,%lo(g_Vars+0x4d0)($t6)
/* 14314: 11c00003 */ beqz $t6,.L00014324
/* 14318: 00000000 */ sll $zero,$zero,0x0
/* 1431c: 0c004eae */ jal func00013ab8
/* 14320: 24040001 */ addiu $a0,$zero,0x1
.L00014324:
/* 14324: 3c028006 */ lui $v0,%hi(var8005eec4)
/* 14328: 8c42eec4 */ lw $v0,%lo(var8005eec4)($v0)
/* 1432c: 3c04800a */ lui $a0,%hi(var80099c64)
/* 14330: 24849c64 */ addiu $a0,$a0,%lo(var80099c64)
/* 14334: 10400008 */ beqz $v0,.L00014358
/* 14338: 3c05800a */ lui $a1,%hi(var80099e44)
/* 1433c: 0040f809 */ jalr $v0
/* 14340: 8ca59e44 */ lw $a1,%lo(var80099e44)($a1)
/* 14344: 3c01800a */ lui $at,%hi(var80099e4c)
/* 14348: 3c04800a */ lui $a0,%hi(var80099c64)
/* 1434c: ac229e4c */ sw $v0,%lo(var80099e4c)($at)
/* 14350: 0c005016 */ jal func00014058
/* 14354: 24849c64 */ addiu $a0,$a0,%lo(var80099c64)
.L00014358:
/* 14358: 3c04800a */ lui $a0,%hi(var80099a60)
/* 1435c: 0c005016 */ jal func00014058
/* 14360: 24849a60 */ addiu $a0,$a0,%lo(var80099a60)
/* 14364: 3c028006 */ lui $v0,%hi(var8005eec8)
/* 14368: 8c42eec8 */ lw $v0,%lo(var8005eec8)($v0)
/* 1436c: 3c04800a */ lui $a0,%hi(var80099a60)
/* 14370: 24849a60 */ addiu $a0,$a0,%lo(var80099a60)
/* 14374: 10400004 */ beqz $v0,.L00014388
/* 14378: 00000000 */ sll $zero,$zero,0x0
/* 1437c: 8c8501e4 */ lw $a1,0x1e4($a0)
/* 14380: 0040f809 */ jalr $v0
/* 14384: 8c8601e0 */ lw $a2,0x1e0($a0)
.L00014388:
/* 14388: 0c005431 */ jal func000150c4
/* 1438c: 00000000 */ sll $zero,$zero,0x0
/* 14390: 10400011 */ beqz $v0,.L000143d8
/* 14394: 3c0f8006 */ lui $t7,%hi(var8005eec0)
/* 14398: 8defeec0 */ lw $t7,%lo(var8005eec0)($t7)
/* 1439c: 51e0000f */ beqzl $t7,.L000143dc
/* 143a0: 8fbf0014 */ lw $ra,0x14($sp)
/* 143a4: 0c005207 */ jal func0001481c
/* 143a8: 00000000 */ sll $zero,$zero,0x0
/* 143ac: 5c40000b */ bgtzl $v0,.L000143dc
/* 143b0: 8fbf0014 */ lw $ra,0x14($sp)
/* 143b4: 0c00543a */ jal func000150e8
/* 143b8: 00000000 */ sll $zero,$zero,0x0
/* 143bc: 0c005451 */ jal func00015144
/* 143c0: 00000000 */ sll $zero,$zero,0x0
/* 143c4: 3c04800a */ lui $a0,%hi(var80099a60)
/* 143c8: 0c005016 */ jal func00014058
/* 143cc: 24849a60 */ addiu $a0,$a0,%lo(var80099a60)
/* 143d0: 0c00508e */ jal func00014238
/* 143d4: 00000000 */ sll $zero,$zero,0x0
.L000143d8:
/* 143d8: 8fbf0014 */ lw $ra,0x14($sp)
.L000143dc:
/* 143dc: 27bd0018 */ addiu $sp,$sp,0x18
/* 143e0: 03e00008 */ jr $ra
/* 143e4: 00000000 */ sll $zero,$zero,0x0
);
#endif
GLOBAL_ASM(
glabel func000143e8

File diff suppressed because it is too large Load Diff

3927
src/lib/lib_34030.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,13 @@ def main():
# of it is repeated at 0x2ea6c - 0x30a60. The truncated parts are not read
# by the ROM; they are likely a side effect of Rare's linker copying things
# around in the ROM.
write_binary(fd, 0x2ea1c, get_boot())
write_binary(fd, 0x30a6c, get_lib()[:0x8df0])
if os.environ['ROMID'] == 'ntsc-final':
write_binary(fd, 0x2ea1c, get_boot())
write_binary(fd, 0x30a6c, get_lib()[:0x8df0])
else:
write_binary(fd, 0x30a20, get_lib()[:0x52])
write_binary(fd, 0x2ea22, get_boot())
write_binary(fd, 0x30a72, get_lib()[:0x8df0])
write_binary(fd, 0x157120, get_unknown())
write_binary(fd, 0, get_header())
@ -52,7 +57,7 @@ def get_header():
binary.extend(b'\x00\x00\x00\x00')
binary.extend(b'\x00\x00\x00')
binary.extend(b'NPDE')
binary.extend(b'\x01')
binary.extend(b'\x01' if os.environ['ROMID'] in ['ntsc-beta', 'ntsc-final'] else b'\x00')
return binary
def get_rspboot():

View File

@ -39,7 +39,7 @@ def main():
for index, zip in enumerate(zips):
if pos % 2 == 1:
try:
pad_value = padding[padding_index]
pad_value = padding[os.environ['ROMID']][padding_index]
except IndexError:
pad_value = 0
fd.write(pad_value.to_bytes(1, 'big'))
@ -48,7 +48,7 @@ def main():
pos += 1
try:
checksum = checksumsmaybe[index]
checksum = checksumsmaybe[os.environ['ROMID']][index]
except IndexError:
checksum = 0
fd.write(checksum.to_bytes(2, 'big'))
@ -56,6 +56,12 @@ def main():
fd.write(zip)
pos += len(zip)
try:
checksum = checksumsmaybe[os.environ['ROMID']][index + 1]
except IndexError:
checksum = 0
fd.write(checksum.to_bytes(2, 'big'))
fd.close()
def get_filecontents(filename):
@ -73,92 +79,184 @@ def zip(binary):
obj = zlib.compressobj(level=9, wbits=-15)
return b'\x11\x73' + len(binary).to_bytes(3, 'big') + obj.compress(binary) + obj.flush()
checksumsmaybe = [
0x94f1, 0xb0c7, 0x6f10, 0x0d50, 0x2361, 0xe64a, 0x7c32, 0xf8f5,
0x8d57, 0x08bf, 0x7ebe, 0xd019, 0x181b, 0xaf2b, 0x1ced, 0xd81c,
0xf9cf, 0xdf5c, 0xbb7d, 0x28ab, 0x7107, 0xef7c, 0x671e, 0x6a34,
0x01d2, 0x54e3, 0x69a8, 0x523e, 0x5547, 0xb295, 0x4dc9, 0x7e6c,
0x3c24, 0x8881, 0x0ebe, 0x7632, 0xaa69, 0x009d, 0x8348, 0xcee0,
0xedc5, 0x2554, 0xfa94, 0x75f4, 0x950d, 0xb140, 0x97df, 0x2b99,
0xa2a3, 0x847c, 0x557f, 0x7e76, 0x2365, 0x546f, 0x76b8, 0x156f,
0x41c3, 0x3903, 0xd96d, 0x8b7c, 0x01ff, 0xf71c, 0xdc78, 0x633a,
0xa6b8, 0x7d63, 0xf57b, 0xd3e3, 0xed34, 0xf6e3, 0x4aac, 0x6372,
0x12eb, 0x7561, 0xf7e8, 0xc75e, 0xd432, 0x0453, 0x2746, 0x0c38,
0x6a9d, 0xf293, 0x53f7, 0xb231, 0x9c55, 0xd107, 0xa106, 0xf5ed,
0xc5a9, 0x915f, 0x0673, 0x7f9b, 0x150f, 0x6af0, 0xb018, 0x20b2,
0x2504, 0x3d10, 0x11a7, 0xc62e, 0x368a, 0x3b48, 0xf668, 0xddea,
0x2ba9, 0xd265, 0xed1a, 0xed92, 0x1439, 0x33d4, 0xbe72, 0x547b,
0x13e6, 0xdf3d, 0xc3b3, 0xd04e, 0x7b7a, 0x521f, 0x5f0a, 0xd1af,
0xa7fb, 0xcc9a, 0xffe1, 0xa06f, 0xe354, 0xb57c, 0xbd77, 0x686e,
0xb747, 0x3e2d, 0xf883, 0x135e, 0x161d, 0x92f7, 0x7422, 0x1e7f,
0x3bef, 0x9f6c, 0x4eda, 0xacd8, 0x0574, 0x4277, 0xc814, 0xa2e0,
0x155c, 0x5bf7, 0x545e, 0x8a4f, 0x2cd5, 0x7c52, 0x94a7, 0x423e,
0x69f4, 0x6402, 0xd3cb, 0x142f, 0x1774, 0x22f9, 0x2bf2, 0x0bc8,
0x57f0, 0x80c6, 0x3201, 0x578d, 0xd123, 0x7a2a, 0x7789, 0x6f56,
0xef5d, 0xa920, 0xeb3f, 0x0aee, 0xe022, 0x92fc, 0x3b5d, 0x2cb1,
0x18ba, 0xc647, 0x830e, 0x6d77, 0xc92b, 0x26a1, 0xe118, 0x3eb0,
0xd9af, 0x85ba, 0x0b4f, 0x4af7, 0x5ed7, 0xe071, 0x2f50, 0x6a91,
0x2311, 0x4f9d, 0x4455, 0xfb64, 0xbed3, 0x118d, 0xe117, 0x1cc4,
0x3e27, 0xb43e, 0xec01, 0xf2b0, 0x37da, 0x2800, 0xc531, 0xd63f,
0x7fcd, 0xb361, 0xd265, 0x7700, 0xa774, 0x1f29, 0x58a1, 0x7866,
0x0a3c, 0x6ee2, 0x598d, 0x9386, 0xa123, 0x8b36, 0xb54b, 0xcf5e,
0x865b, 0x306d, 0x84e4, 0x9a6e, 0x0cc4, 0x5d88, 0xf586, 0x2714,
0x5fc0, 0xf0e5, 0x3265, 0x9908, 0x1b5e, 0xcd12, 0xc68c, 0x9850,
0xb2dc, 0xcff0, 0x8e41, 0x8fb5, 0xdf13, 0xc46e, 0x08f5, 0x3c18,
0x48d7, 0xd98b, 0x8790, 0xf416, 0x7c5c, 0x301f, 0xd40f, 0x2f1f,
0xb385, 0x2f7d, 0x646b, 0x5433, 0x2b90, 0x74d4, 0x5ea9, 0xd811,
0xc4c8, 0x03ce, 0x056f, 0x84fa, 0x3555, 0x34c8, 0x69e6, 0x8f18,
0xa6df, 0xe03e, 0x22c9, 0x3fca, 0x8c43, 0x8fb1, 0x0c68, 0xf91c,
0x2858, 0x1123, 0x061b, 0xfcea, 0xfcd5, 0x688e, 0xb033, 0xfe83,
0x8d7b, 0xcb4e, 0xdd38, 0xa602, 0xb60d, 0xd447, 0x6f55, 0x40d5,
0x83f7, 0x49bc, 0x8923, 0xec93, 0x3242, 0x3db1, 0x0462, 0x5f44,
0xab72, 0xcd4c, 0x352b, 0xd602, 0x556a, 0xc7c7, 0x227e, 0x780f,
0x46f1, 0xb296, 0xed78, 0x7949, 0x7617, 0x444f, 0x7f4a, 0x612b,
0xe63d, 0xb286, 0xe1d2, 0x42e1, 0xd136, 0xddf0, 0x3a29, 0xa623,
0x0107, 0xf839, 0x506a, 0xfc70, 0x0410, 0x24fb, 0x35e6, 0x08a1,
0x668f, 0xffbe, 0xf4cf, 0xd093, 0xcf0a, 0x6bc4, 0xa173, 0xa12e,
0xb552, 0x8da1, 0xa0f5, 0xa909, 0x40d5, 0xcbb3, 0x8e23, 0xe87e,
0x3532, 0xcc6b, 0x00ca, 0x98d5, 0x9dbd, 0xa205, 0xb458, 0x2a0d,
0xa580, 0xcf78, 0xb691, 0x22e2, 0x0455, 0xcfa7, 0x8505, 0x3387,
0xf6e6, 0x98de, 0x736e, 0xa5a8, 0x3cf1, 0x4dd8, 0xf44c, 0xd7ba,
0x1c78, 0xb226, 0x6bd6, 0xa3e3, 0xee95, 0x4993, 0x174f, 0x355f,
0xb614, 0x6599, 0xb16a, 0x20d4, 0xc414, 0xc0d4, 0x5a48, 0x66b6,
0xf118, 0x5ba9, 0x083b, 0x9c9b, 0xa53b, 0x257c, 0xdd0d, 0xbe59,
0x8069, 0x06fc, 0xdd59, 0x38e2, 0x0abc, 0xf175, 0x3017, 0xed5d,
0x0d10, 0xe322, 0x8a99, 0xe560, 0x943c, 0x4054, 0x28c3, 0xa9ac,
0x80d9, 0x6fdb, 0xeb49, 0x3800, 0xe65d, 0xbb45, 0xca90, 0x4af8,
0xe1a3, 0x9a50, 0xbc1c, 0xaf92, 0xa169, 0x465e, 0x0000, 0x0000,
0x0000, 0x101c, 0x7ca7, 0x0831, 0x0a52, 0x4cb1, 0x7a86, 0xeff6,
0xeecb, 0xbf74,
]
checksumsmaybe = {
'ntsc-1.0': [
0x8771, 0xa4fb, 0x5c84, 0xfd94, 0x1701, 0xe0aa, 0x6ada, 0xe275,
0x6ef7, 0xefff, 0x66fc, 0xc431, 0x181b, 0x9b35, 0x0dd8, 0xc3db,
0xeb0b, 0xd57c, 0xa805, 0x2283, 0x6b95, 0xeafc, 0x50b6, 0x3438,
0xe492, 0x264b, 0x478c, 0x45ea, 0x45af, 0x9d13, 0x479a, 0x6008,
0x218c, 0x542d, 0x006d, 0x6d36, 0x9c5d, 0xefbb, 0x7e4c, 0xc9f4,
0xe689, 0x1864, 0xe1d4, 0x75f4, 0x89c5, 0x1c30, 0x87ff, 0x24d9,
0xa2a3, 0x7404, 0x3b17, 0x74ea, 0x0ebd, 0x373d, 0x6d14, 0x01af,
0x3733, 0xfa97, 0xcd7c, 0xc14f, 0xe42f, 0xec78, 0xa4d4, 0x0ffa,
0x9398, 0x71af, 0xc36b, 0xcae3, 0xb734, 0xd2e3, 0x458c, 0x523a,
0xf1a7, 0x5541, 0xdebe, 0xb010, 0xc9c6, 0xf407, 0x262e, 0x0c38,
0x64fb, 0xe98f, 0x480f, 0xa9b1, 0x9bc9, 0xc90b, 0x992a, 0xe898,
0xb739, 0x810f, 0xfc27, 0x78db, 0x1023, 0x6938, 0x9bb8, 0x194a,
0x1150, 0x2f2a, 0x09ab, 0xbbeb, 0x2b18, 0x38ce, 0xf41a, 0xddca,
0x2709, 0xc20d, 0xd7bd, 0xdfea, 0x0d85, 0x21d4, 0x9c22, 0x4dcf,
0x10f6, 0xb1dd, 0x8013, 0xa472, 0x551a, 0x466b, 0x441a, 0xbea5,
0x502d, 0x933e, 0xd2f9, 0x45e3, 0xbc8c, 0x9024, 0xb869, 0x5a52,
0xac98, 0x2deb, 0x97e3, 0xa75e, 0x0560, 0x8a93, 0x5ce6, 0x0547,
0x2148, 0x904d, 0x4c0a, 0x9c58, 0xf104, 0x3585, 0xbf08, 0x8c40,
0xfe94, 0x4d27, 0x47f5, 0x81b7, 0x0b15, 0x6a26, 0x5bd7, 0x3312,
0x6334, 0x6136, 0xbd49, 0x031b, 0x0b16, 0xf171, 0x2022, 0xe7be,
0x4168, 0x7f12, 0x24d5, 0x1fe5, 0x9463, 0x6e5a, 0x6587, 0x688a,
0xe09d, 0x9e4c, 0xdf7b, 0xf51a, 0xbe62, 0x764c, 0xf985, 0x0e51,
0x03cc, 0xbe67, 0x830e, 0x6bc7, 0xb9fb, 0x2471, 0xd339, 0x2c75,
0xc868, 0x71c1, 0xe298, 0x4348, 0x5a5f, 0xc986, 0x1fce, 0x5040,
0x8494, 0x10ef, 0x5fa8, 0x8819, 0xb2b3, 0x5a5e, 0x3c47, 0x1052,
0x55b5, 0x0c0d, 0xd2a6, 0x36ab, 0x986e, 0xa66e, 0x3af8, 0x42c5,
0xeb9f, 0x5fb0, 0xc907, 0xc844, 0xc62f, 0x8f88, 0x2ac1, 0x73ee,
0xa477, 0x9657, 0x2f77, 0x15f8, 0xc290, 0xe9b2, 0x4c13, 0x3f92,
0x7a79, 0x4c26, 0x3a12, 0x7db1, 0x447c, 0xce14, 0xf3a1, 0xda71,
0x42f0, 0x005d, 0x712f, 0x351e, 0xc7bc, 0x41cf, 0x8692, 0x58ae,
0xbf1d, 0xe486, 0x8b94, 0x96e4, 0xdde7, 0xe5be, 0xd875, 0xa0d3,
0x00f3, 0x8fa5, 0x9bac, 0x7c7b, 0xcc91, 0x2e98, 0x2c68, 0xd914,
0x2fb7, 0xc053, 0x877b, 0x5013, 0xe89a, 0x93ce, 0xc46a, 0x816d,
0xe53b, 0x75ce, 0x3912, 0x352c, 0x8317, 0xd656, 0x2d43, 0xdf03,
0x4d09, 0xa527, 0xc32e, 0x6e02, 0x8d14, 0xcb69, 0x2706, 0xc34b,
0xb84e, 0xc7ff, 0xc4bb, 0x2f93, 0x9abe, 0x3ccc, 0x0679, 0x5202,
0xc143, 0x72f8, 0x670d, 0xf02d, 0x3538, 0xdec1, 0x9ca8, 0x8320,
0x051f, 0x930f, 0xed41, 0x207c, 0x05c0, 0x88ef, 0xa2a6, 0x324c,
0x94f9, 0xdfbf, 0x5a94, 0xd8eb, 0xb047, 0x509e, 0xc3bd, 0xfbb0,
0x8801, 0xfa90, 0x2619, 0x094b, 0x9e32, 0xe3e5, 0x8c5c, 0x21d2,
0x307b, 0x211e, 0xd978, 0x7f4d, 0x061b, 0xdf01, 0xba5b, 0x018e,
0x3357, 0x6b35, 0xdce3, 0x7ff3, 0x87f5, 0x8d6f, 0x5c17, 0xb9ad,
0xf322, 0x09bf, 0x1ad5, 0x1a34, 0xb50f, 0x3383, 0xe2ad, 0xc715,
0xee1d, 0x79c6, 0xd9a9, 0x36c9, 0x085a, 0xbf78, 0x73d7, 0x22cb,
0xa0d7, 0xeae3, 0xbee2, 0x2dba, 0xac57, 0x2e4d, 0x0746, 0xf958,
0x2cc2, 0xb747, 0x8a7b, 0x6220, 0x120e, 0x9a16, 0x9209, 0x6862,
0xb29b, 0xd9d9, 0x3d37, 0x5437, 0xc359, 0x22ed, 0x58bc, 0x326c,
0x1b92, 0x24f0, 0x2f17, 0xc23f, 0xbed2, 0xa325, 0x188d, 0xb1a0,
0xf866, 0xde92, 0x381e, 0x360a, 0x349f, 0x9862, 0xdb23, 0xf615,
0xac3b, 0x67c6, 0x615a, 0x7f30, 0xe343, 0x7b70, 0xd4f4, 0xcc14,
0x899d, 0x6db2, 0x981d, 0x69d2, 0x0b86, 0xaa2f, 0xeb5d, 0x327a,
0x2442, 0x0563, 0x762d, 0x0302, 0x790e, 0xc6bd, 0xc22f, 0xc186,
0x8f10, 0x52be, 0xb809, 0x7de5, 0xf3c4, 0x775b, 0xd18e, 0x380e,
0xd5fb, 0x6b76, 0x0d68, 0x69ef, 0xdee9, 0xb1e3, 0x0000, 0x0000,
0x0000, 0x0921, 0x287f, 0xc49f, 0x9767, 0xf7fe, 0x14eb, 0x5bbd,
0x56a1, 0x8617, 0xbf01,
],
'ntsc-final': [
0x94f1, 0xb0c7, 0x6f10, 0x0d50, 0x2361, 0xe64a, 0x7c32, 0xf8f5,
0x8d57, 0x08bf, 0x7ebe, 0xd019, 0x181b, 0xaf2b, 0x1ced, 0xd81c,
0xf9cf, 0xdf5c, 0xbb7d, 0x28ab, 0x7107, 0xef7c, 0x671e, 0x6a34,
0x01d2, 0x54e3, 0x69a8, 0x523e, 0x5547, 0xb295, 0x4dc9, 0x7e6c,
0x3c24, 0x8881, 0x0ebe, 0x7632, 0xaa69, 0x009d, 0x8348, 0xcee0,
0xedc5, 0x2554, 0xfa94, 0x75f4, 0x950d, 0xb140, 0x97df, 0x2b99,
0xa2a3, 0x847c, 0x557f, 0x7e76, 0x2365, 0x546f, 0x76b8, 0x156f,
0x41c3, 0x3903, 0xd96d, 0x8b7c, 0x01ff, 0xf71c, 0xdc78, 0x633a,
0xa6b8, 0x7d63, 0xf57b, 0xd3e3, 0xed34, 0xf6e3, 0x4aac, 0x6372,
0x12eb, 0x7561, 0xf7e8, 0xc75e, 0xd432, 0x0453, 0x2746, 0x0c38,
0x6a9d, 0xf293, 0x53f7, 0xb231, 0x9c55, 0xd107, 0xa106, 0xf5ed,
0xc5a9, 0x915f, 0x0673, 0x7f9b, 0x150f, 0x6af0, 0xb018, 0x20b2,
0x2504, 0x3d10, 0x11a7, 0xc62e, 0x368a, 0x3b48, 0xf668, 0xddea,
0x2ba9, 0xd265, 0xed1a, 0xed92, 0x1439, 0x33d4, 0xbe72, 0x547b,
0x13e6, 0xdf3d, 0xc3b3, 0xd04e, 0x7b7a, 0x521f, 0x5f0a, 0xd1af,
0xa7fb, 0xcc9a, 0xffe1, 0xa06f, 0xe354, 0xb57c, 0xbd77, 0x686e,
0xb747, 0x3e2d, 0xf883, 0x135e, 0x161d, 0x92f7, 0x7422, 0x1e7f,
0x3bef, 0x9f6c, 0x4eda, 0xacd8, 0x0574, 0x4277, 0xc814, 0xa2e0,
0x155c, 0x5bf7, 0x545e, 0x8a4f, 0x2cd5, 0x7c52, 0x94a7, 0x423e,
0x69f4, 0x6402, 0xd3cb, 0x142f, 0x1774, 0x22f9, 0x2bf2, 0x0bc8,
0x57f0, 0x80c6, 0x3201, 0x578d, 0xd123, 0x7a2a, 0x7789, 0x6f56,
0xef5d, 0xa920, 0xeb3f, 0x0aee, 0xe022, 0x92fc, 0x3b5d, 0x2cb1,
0x18ba, 0xc647, 0x830e, 0x6d77, 0xc92b, 0x26a1, 0xe118, 0x3eb0,
0xd9af, 0x85ba, 0x0b4f, 0x4af7, 0x5ed7, 0xe071, 0x2f50, 0x6a91,
0x2311, 0x4f9d, 0x4455, 0xfb64, 0xbed3, 0x118d, 0xe117, 0x1cc4,
0x3e27, 0xb43e, 0xec01, 0xf2b0, 0x37da, 0x2800, 0xc531, 0xd63f,
0x7fcd, 0xb361, 0xd265, 0x7700, 0xa774, 0x1f29, 0x58a1, 0x7866,
0x0a3c, 0x6ee2, 0x598d, 0x9386, 0xa123, 0x8b36, 0xb54b, 0xcf5e,
0x865b, 0x306d, 0x84e4, 0x9a6e, 0x0cc4, 0x5d88, 0xf586, 0x2714,
0x5fc0, 0xf0e5, 0x3265, 0x9908, 0x1b5e, 0xcd12, 0xc68c, 0x9850,
0xb2dc, 0xcff0, 0x8e41, 0x8fb5, 0xdf13, 0xc46e, 0x08f5, 0x3c18,
0x48d7, 0xd98b, 0x8790, 0xf416, 0x7c5c, 0x301f, 0xd40f, 0x2f1f,
0xb385, 0x2f7d, 0x646b, 0x5433, 0x2b90, 0x74d4, 0x5ea9, 0xd811,
0xc4c8, 0x03ce, 0x056f, 0x84fa, 0x3555, 0x34c8, 0x69e6, 0x8f18,
0xa6df, 0xe03e, 0x22c9, 0x3fca, 0x8c43, 0x8fb1, 0x0c68, 0xf91c,
0x2858, 0x1123, 0x061b, 0xfcea, 0xfcd5, 0x688e, 0xb033, 0xfe83,
0x8d7b, 0xcb4e, 0xdd38, 0xa602, 0xb60d, 0xd447, 0x6f55, 0x40d5,
0x83f7, 0x49bc, 0x8923, 0xec93, 0x3242, 0x3db1, 0x0462, 0x5f44,
0xab72, 0xcd4c, 0x352b, 0xd602, 0x556a, 0xc7c7, 0x227e, 0x780f,
0x46f1, 0xb296, 0xed78, 0x7949, 0x7617, 0x444f, 0x7f4a, 0x612b,
0xe63d, 0xb286, 0xe1d2, 0x42e1, 0xd136, 0xddf0, 0x3a29, 0xa623,
0x0107, 0xf839, 0x506a, 0xfc70, 0x0410, 0x24fb, 0x35e6, 0x08a1,
0x668f, 0xffbe, 0xf4cf, 0xd093, 0xcf0a, 0x6bc4, 0xa173, 0xa12e,
0xb552, 0x8da1, 0xa0f5, 0xa909, 0x40d5, 0xcbb3, 0x8e23, 0xe87e,
0x3532, 0xcc6b, 0x00ca, 0x98d5, 0x9dbd, 0xa205, 0xb458, 0x2a0d,
0xa580, 0xcf78, 0xb691, 0x22e2, 0x0455, 0xcfa7, 0x8505, 0x3387,
0xf6e6, 0x98de, 0x736e, 0xa5a8, 0x3cf1, 0x4dd8, 0xf44c, 0xd7ba,
0x1c78, 0xb226, 0x6bd6, 0xa3e3, 0xee95, 0x4993, 0x174f, 0x355f,
0xb614, 0x6599, 0xb16a, 0x20d4, 0xc414, 0xc0d4, 0x5a48, 0x66b6,
0xf118, 0x5ba9, 0x083b, 0x9c9b, 0xa53b, 0x257c, 0xdd0d, 0xbe59,
0x8069, 0x06fc, 0xdd59, 0x38e2, 0x0abc, 0xf175, 0x3017, 0xed5d,
0x0d10, 0xe322, 0x8a99, 0xe560, 0x943c, 0x4054, 0x28c3, 0xa9ac,
0x80d9, 0x6fdb, 0xeb49, 0x3800, 0xe65d, 0xbb45, 0xca90, 0x4af8,
0xe1a3, 0x9a50, 0xbc1c, 0xaf92, 0xa169, 0x465e, 0x0000, 0x0000,
0x0000, 0x101c, 0x7ca7, 0x0831, 0x0a52, 0x4cb1, 0x7a86, 0xeff6,
0xeecb, 0xbf74, 0xfd01,
],
}
padding = [
0x00, 0xc2, 0xf9, 0x3a, 0x4d, 0x18, 0x8a, 0x07,
0x4c, 0x68, 0x38, 0x17, 0x3c, 0x94, 0x98, 0x25,
0x82, 0x6f, 0xf7, 0x2e, 0x41, 0xed, 0xe4, 0x88,
0xf5, 0x48, 0x59, 0x5a, 0x7a, 0xb4, 0x3b, 0xf9,
0xc7, 0xc7, 0xab, 0xf6, 0xef, 0x23, 0x8b, 0x6a,
0x58, 0xb0, 0x27, 0x84, 0x77, 0x88, 0xe1, 0x34,
0xf5, 0xf4, 0xa9, 0xb9, 0x30, 0x8a, 0x64, 0x23,
0xb5, 0x6c, 0x87, 0xff, 0xd4, 0x84, 0xe4, 0x7c,
0x93, 0xa0, 0x5b, 0x41, 0x28, 0xfa, 0x65, 0x3e,
0xad, 0x51, 0x35, 0xf9, 0xec, 0x6a, 0xe9, 0xaf,
0xe0, 0x7f, 0xe5, 0x8e, 0x0e, 0x6b, 0x42, 0x97,
0xee, 0xad, 0x5d, 0xba, 0x91, 0x7c, 0xd6, 0x91,
0xb3, 0xbd, 0x5f, 0x3d, 0x48, 0xd1, 0x37, 0xba,
0xfc, 0x83, 0x51, 0x2b, 0xcb, 0x2f, 0x6b, 0xbf,
0xb0, 0xe5, 0x9c, 0xac, 0x1d, 0x63, 0xcb, 0xa5,
0x5e, 0x66, 0x24, 0x2d, 0xe3, 0x86, 0x3e, 0x0c,
0xcf, 0x1a, 0x57, 0xc9, 0x4b, 0x29, 0x70, 0x31,
0xbb, 0x55, 0xc4, 0x42, 0x62, 0x5e, 0x9a, 0xa0,
0xff, 0x41, 0xf5, 0x62, 0x9f, 0xc9, 0x61, 0xee,
0xbe, 0x7b, 0x0e, 0xf2, 0xd7, 0xf1, 0x90, 0x69,
0xfa, 0xff, 0xf7, 0xb1, 0x3a, 0x27, 0xac, 0xc2,
0x57, 0x7e, 0xcc, 0x92, 0xdd, 0x2d, 0x63, 0xa0,
0x53, 0x74, 0x35, 0xbb, 0x24, 0xde, 0x6d, 0xbb,
0x2c, 0xe5, 0xff, 0xeb, 0x37, 0xde, 0xd0, 0x6e,
0x96, 0xfa, 0xbe, 0x79, 0xe3, 0x1e, 0x7f, 0xff,
0x67, 0x86, 0x86, 0x86, 0x15, 0x6e,
]
padding = {
'ntsc-1.0': [
0x00, 0x00, 0x00, 0x73, 0x75, 0x47, 0xa4, 0x79,
0x91, 0x1e, 0xd8, 0xd8, 0x7b, 0xe2, 0x13, 0x51,
0xaa, 0x2a, 0xa1, 0x5a, 0xbd, 0x24, 0x87, 0x0d,
0xdc, 0x50, 0xd3, 0xe2, 0x39, 0x9f, 0x1a, 0x86,
0x73, 0xc5, 0x72, 0xdd, 0xc8, 0xa9, 0xd9, 0x21,
0xf2, 0xd4, 0x66, 0xa5, 0xbb, 0xfa, 0xbe, 0x6d,
0xc4, 0xce, 0x63, 0x6f, 0xba, 0xf7, 0xe3, 0xc9,
0xd4, 0xd3, 0xfb, 0x9c, 0xff, 0x76, 0xcf, 0x20,
0x6e, 0xbb, 0x2c, 0x90, 0xd3, 0xc1, 0xc4, 0x9f,
0xb4, 0x70, 0x38, 0xe3, 0x22, 0x3e, 0xec, 0x5c,
0xa4, 0xdc, 0x39, 0xe8, 0x8b, 0x5e, 0xcc, 0x3e,
0xa2, 0x62, 0x87, 0x20, 0xd3, 0x05, 0x1c, 0xa5,
0xd4, 0xca, 0x0e, 0xef, 0xed, 0x23, 0x67, 0xc6,
0xff, 0x69, 0x66, 0x66, 0x9d, 0xaf, 0xb1, 0x2e,
0x61, 0xc7, 0x9c, 0x56, 0x60, 0xe6, 0x95, 0xf8,
0x21, 0x79, 0x93, 0x37, 0xe1, 0x8c, 0xb2, 0xcf,
0x26, 0x01, 0x9d, 0xf8, 0x6a, 0x8b, 0x71, 0x79,
0x57, 0xef, 0xaf, 0xb2, 0x27, 0xad, 0x4a, 0xf2,
0xcc, 0x46, 0x3e, 0x34, 0x0f, 0x31, 0xec, 0xe3,
0xc2, 0x11, 0xee, 0xb1, 0x4e, 0x3b, 0xcc, 0xd1,
0xad, 0x4f, 0xbe, 0xef, 0x7b, 0x39, 0xd6, 0x97,
0xf5, 0xf7, 0x02, 0xa8, 0x36, 0xa1, 0xd7, 0x50,
0xd6, 0xaf, 0xdf, 0xb9, 0x22, 0x73, 0x4a, 0x37,
0xf9, 0x46, 0x9d, 0x30, 0x1d, 0x1a, 0x13, 0x1c,
0x9a, 0xa1, 0x22, 0xa7, 0xb4, 0x9b, 0x88, 0x19,
0xd4, 0x00, 0xb9, 0xcf, 0xe6, 0xce, 0xf2, 0xd8,
0xfd, 0x9c, 0x26, 0xe9, 0x4c, 0x59, 0x3d, 0xa6,
0xa6, 0xa6, 0x07, 0x29, 0x24, 0x7a, 0xba,
],
'ntsc-final': [
0x00, 0xc2, 0xf9, 0x3a, 0x4d, 0x18, 0x8a, 0x07,
0x4c, 0x68, 0x38, 0x17, 0x3c, 0x94, 0x98, 0x25,
0x82, 0x6f, 0xf7, 0x2e, 0x41, 0xed, 0xe4, 0x88,
0xf5, 0x48, 0x59, 0x5a, 0x7a, 0xb4, 0x3b, 0xf9,
0xc7, 0xc7, 0xab, 0xf6, 0xef, 0x23, 0x8b, 0x6a,
0x58, 0xb0, 0x27, 0x84, 0x77, 0x88, 0xe1, 0x34,
0xf5, 0xf4, 0xa9, 0xb9, 0x30, 0x8a, 0x64, 0x23,
0xb5, 0x6c, 0x87, 0xff, 0xd4, 0x84, 0xe4, 0x7c,
0x93, 0xa0, 0x5b, 0x41, 0x28, 0xfa, 0x65, 0x3e,
0xad, 0x51, 0x35, 0xf9, 0xec, 0x6a, 0xe9, 0xaf,
0xe0, 0x7f, 0xe5, 0x8e, 0x0e, 0x6b, 0x42, 0x97,
0xee, 0xad, 0x5d, 0xba, 0x91, 0x7c, 0xd6, 0x91,
0xb3, 0xbd, 0x5f, 0x3d, 0x48, 0xd1, 0x37, 0xba,
0xfc, 0x83, 0x51, 0x2b, 0xcb, 0x2f, 0x6b, 0xbf,
0xb0, 0xe5, 0x9c, 0xac, 0x1d, 0x63, 0xcb, 0xa5,
0x5e, 0x66, 0x24, 0x2d, 0xe3, 0x86, 0x3e, 0x0c,
0xcf, 0x1a, 0x57, 0xc9, 0x4b, 0x29, 0x70, 0x31,
0xbb, 0x55, 0xc4, 0x42, 0x62, 0x5e, 0x9a, 0xa0,
0xff, 0x41, 0xf5, 0x62, 0x9f, 0xc9, 0x61, 0xee,
0xbe, 0x7b, 0x0e, 0xf2, 0xd7, 0xf1, 0x90, 0x69,
0xfa, 0xff, 0xf7, 0xb1, 0x3a, 0x27, 0xac, 0xc2,
0x57, 0x7e, 0xcc, 0x92, 0xdd, 0x2d, 0x63, 0xa0,
0x53, 0x74, 0x35, 0xbb, 0x24, 0xde, 0x6d, 0xbb,
0x2c, 0xe5, 0xff, 0xeb, 0x37, 0xde, 0xd0, 0x6e,
0x96, 0xfa, 0xbe, 0x79, 0xe3, 0x1e, 0x7f, 0xff,
0x67, 0x86, 0x86, 0x86, 0x15, 0x6e,
]
}
main()