update enemy HP bars patch

This commit is contained in:
Martin Michelsen
2024-06-28 19:24:39 -07:00
parent 2ff9df19c8
commit c250a2dbc4
18 changed files with 665 additions and 106 deletions
+37 -8
View File
@@ -754,15 +754,44 @@ Show Enemy HP Bars
EnemyHPBars
*** name=Enemy HP bars
*** desc=Show HP bars in\nenemy info windows
JP12------------- JP13------------- JP14------------- JP15------------- US10------------- US11------------- US12------------- EU--------------- DISASSEMBLY (US10)
JP12------------- JP13------------- JP14------------- JP15------------- US10------------- US11------------- US12------------- EU--------------- DISASSEMBLY (US12)
802612C4 4BFE1541 80261E9C 4BFE1349 80262EE4 4BFE0665 80262C98 4BFE1241 80261B9C 4BFE1545 80261B9C 4BFE1545 80262F5C 4BFE12B1 802627A4 4BFE12B1 bl -0x0001EABC /* 802430E0 */
804CAF00 42300000 804CE650 42300000 804D0BA0 42300000 804D0940 42300000 804CB6D0 42300000 804CBBB0 42300000 804D0218 42300000 804D0608 42300000 bdnz cr4, +0x00000000 /* 804CB6D0 */
804CAF1C FF00FF15 804CE66C FF00FF15 804D0BBC FF00FF15 804D095C FF00FF15 804CB6EC FF00FF15 804CBBCC FF00FF15 804D0234 FF00FF15 804D0624 FF00FF15 .invalid FC, 0
805CBFBC 42A00000 805D65BC 42A00000 805DDA5C 42A00000 805DD7FC 42A00000 805CC8C4 42A00000 805D38E4 42A00000 805DD104 42A00000 805D9344 42A00000 b +0x00000000 /* 805CC8C4 */
804CAE40 42640000 804CE590 42640000 804D0AE0 42640000 804D0880 42640000 804CB610 42640000 804CBAF0 42640000 804D0158 42640000 804D0548 42640000 bc 19, 4, +0x00000000 /* 804CB610 */
804CAE4C 42640000 804CE59C 42640000 804D0AEC 42640000 804D088C 42640000 804CB61C 42640000 804CBAFC 42640000 804D0164 42640000 804D0554 42640000 bc 19, 4, +0x00000000 /* 804CB61C */
804CAE58 42640000 804CE5A8 42640000 804D0AF8 42640000 804D0898 42640000 804CB628 42640000 804CBB08 42640000 804D0170 42640000 804D0560 42640000 bc 19, 4, +0x00000000 /* 804CB628 */
804CAE64 42640000 804CE5B4 42640000 804D0B04 42640000 804D08A4 42640000 804CB634 42640000 804CBB14 42640000 804D017C 42640000 804D056C 42640000 bc 19, 4, +0x00000000 /* 804CB634 */
804CAF00 42780000 804CE650 42780000 804D0BA0 42780000 804D0940 42780000 804CB6D0 42780000 804CBBB0 42780000 804D0218 42780000 804D0608 42780000
804CAF1C FF00FF15 804CE66C FF00FF15 804D0BBC FF00FF15 804D095C FF00FF15 804CB6EC FF00FF15 804CBBCC FF00FF15 804D0234 FF00FF15 804D0624 FF00FF15
805CBFBC 42C00000 805D65BC 42C00000 805DDA5C 42C00000 805DD7FC 42C00000 805CC8C4 42C00000 805D38E4 42C00000 805DD104 42C00000 805D9344 42C00000
804CAE40 42960000 804CE590 42960000 804D0AE0 42960000 804D0880 42960000 804CB610 42960000 804CBAF0 42960000 804D0158 42960000 804D0548 42960000
804CAE4C 42960000 804CE59C 42960000 804D0AEC 42960000 804D088C 42960000 804CB61C 42960000 804CBAFC 42960000 804D0164 42960000 804D0554 42960000
804CAE58 42960000 804CE5A8 42960000 804D0AF8 42960000 804D0898 42960000 804CB628 42960000 804CBB08 42960000 804D0170 42960000 804D0560 42960000
804CAE64 42960000 804CE5B4 42960000 804D0B04 42960000 804D08A4 42960000 804CB634 42960000 804CBB14 42960000 804D017C 42960000 804D056C 42960000
80261260 4BDAA3F1 80261E38 4BDA9819 80262E80 4BDA87D1 80262C34 4BDA8A1D 80261B38 4BDA9B19 80261B38 4BDA9B19 80262EF8 4BDA8759 80262740 4BDA8F11 bl -0x002578A8 /* 8000B650 */
80261420 4BDAA245 80261FF8 4BDA966D 80263040 4BDA8625 80262DF4 4BDA8871 80261CF8 4BDA996D 80261CF8 4BDA996D 802630B8 4BDA85AD 80262900 4BDA8D65 bl -0x00257A54 /* 8000B664 */
8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 8000B650 3CA08001 lis r5, 0x8001
8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC 8000B654 8065B6BC lwz r3, [r5 - 0x4944]
8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 8000B658 7FFEFB78 mr r30, r31
8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C 8000B65C A8DE032C lha r6, [r30 + 0x032C]
8000B660 48000010 8000B660 48000010 8000B660 48000010 8000B660 48000010 8000B660 48000010 8000B660 48000010 8000B660 48000010 8000B660 48000010 b +0x00000010 /* 8000B670 */
8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 8000B664 A8DE02B8 lha r6, [r30 + 0x02B8]
8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 8000B668 3CA08001 lis r5, 0x8001
8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC 8000B66C 9065B6BC stw [r5 - 0x4944], r3
8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 8000B670 7C0802A6 mflr r0
8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 8000B674 9005B6C0 stw [r5 - 0x4940], r0
8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 8000B678 7C651B78 mr r5, r3
8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 8000B67C A8FE02B8 lha r7, [r30 + 0x02B8]
8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 8000B680 3C808000 lis r4, 0x8000
8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC 8000B684 6084B6AC ori r4, r4, 0xB6AC
8000B688 38640018 8000B688 38640018 8000B688 38640018 8000B688 38640018 8000B688 38640018 8000B688 38640018 8000B688 38640018 8000B688 38640018 addi r3, r4, 0x0018
8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 8000B68C 4CC63182 crxor crb6, crb6, crb6
8000B690 4838A86D 8000B690 4838D275 8000B690 4838F115 8000B690 4838EEC5 8000B690 4838BB3D 8000B690 4838BB95 8000B690 4838F295 8000B690 4838DD85 bl sprintf /* 8039A924 */
8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 8000B694 3C808000 lis r4, 0x8000
8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 8000B698 6084B6C4 ori r4, r4, 0xB6C4
8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 8000B69C 7F83E378 mr r3, r28
8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC 8000B6A0 8004FFFC lwz r0, [r4 - 0x0004]
8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 8000B6A4 7C0803A6 mtlr r0
8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 8000B6A8 4E800020 blr
8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A 8000B6AC 25730A0A .invalid
8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 8000B6B0 48503A25 bl +0x00503A24 /* 8050F0D4 */
8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 8000B6B4 642F2564 oris r15, r1, 0x2564
8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 8000B6B8 00000000 .invalid
PSO DC Reticle Colours
DCReticleColors
@@ -0,0 +1,30 @@
ret
# Call table: 2 functions (on_window_created, on_hp_updated)
jmp on_window_created
on_hp_updated:
call rewrite_string
movsx ecx, word [ebp + 0x02BC] # Replaced opcode at callsite
ret
on_window_created:
mov [0x00010C08], eax # prev_desc
push ebp
mov ebp, ebx
call rewrite_string
pop ebp
mov dword [esp + 4], 0x00010C1C # Change first argument to desc_buf
jmp [0x00010C04] # Call original function
rewrite_string:
movsx eax, word [ebp + 0x02BC] # max HP
push eax
movsx eax, word [ebp + 0x0330] # current HP
push eax
push dword [0x00010C08] # prev_desc
push 0x00010C0C # desc_template
push 0x00010C1C # desc_buf
call [0x00010C00] # sprintf
add esp, 0x14
ret
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838BB3D # 8000B690 => bl +0x0038BB3C /* 803971CC */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80261B38 (4 bytes)
.data 0x80261B38 # address
.data 0x00000004 # size
.data 0x4BDA9B19 # 80261B38 => bl -0x002564E8 /* 8000B650 */
# region @ 80261B9C (4 bytes)
.data 0x80261B9C # address
.data 0x00000004 # size
.data 0x4BFE1545 # 80261B9C => bl -0x0001EABC /* 802430E0 */
# region @ 80261CF8 (4 bytes)
.data 0x80261CF8 # address
.data 0x00000004 # size
.data 0x4BDA996D # 80261CF8 => bl -0x00256694 /* 8000B664 */
# region @ 804CB610 (4 bytes)
.data 0x804CB610 # address
.data 0x00000004 # size
.data 0x42640000 # 804CB610 => bc 19, 4, +0x00000000 /* 804CB610 */
.data 0x42960000 # 804CB610 => bc 20, 22, +0x00000000 /* 804CB610 */
# region @ 804CB61C (4 bytes)
.data 0x804CB61C # address
.data 0x00000004 # size
.data 0x42640000 # 804CB61C => bc 19, 4, +0x00000000 /* 804CB61C */
.data 0x42960000 # 804CB61C => bc 20, 22, +0x00000000 /* 804CB61C */
# region @ 804CB628 (4 bytes)
.data 0x804CB628 # address
.data 0x00000004 # size
.data 0x42640000 # 804CB628 => bc 19, 4, +0x00000000 /* 804CB628 */
.data 0x42960000 # 804CB628 => bc 20, 22, +0x00000000 /* 804CB628 */
# region @ 804CB634 (4 bytes)
.data 0x804CB634 # address
.data 0x00000004 # size
.data 0x42640000 # 804CB634 => bc 19, 4, +0x00000000 /* 804CB634 */
.data 0x42960000 # 804CB634 => bc 20, 22, +0x00000000 /* 804CB634 */
# region @ 804CB6D0 (4 bytes)
.data 0x804CB6D0 # address
.data 0x00000004 # size
.data 0x42300000 # 804CB6D0 => bdnz cr4, +0x00000000 /* 804CB6D0 */
.data 0x42780000 # 804CB6D0 => bc 19, 24, +0x00000000 /* 804CB6D0 */
# region @ 804CB6EC (4 bytes)
.data 0x804CB6EC # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805CC8C4 (4 bytes)
.data 0x805CC8C4 # address
.data 0x00000004 # size
.data 0x42A00000 # 805CC8C4 => b +0x00000000 /* 805CC8C4 */
.data 0x42C00000 # 805CC8C4 => b +0x00000000 /* 805CC8C4 */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838BB95 # 8000B690 => bl +0x0038BB94 /* 80397224 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80261B38 (4 bytes)
.data 0x80261B38 # address
.data 0x00000004 # size
.data 0x4BDA9B19 # 80261B38 => bl -0x002564E8 /* 8000B650 */
# region @ 80261B9C (4 bytes)
.data 0x80261B9C # address
.data 0x00000004 # size
.data 0x4BFE1545 # 80261B9C => bl -0x0001EABC /* 802430E0 */
# region @ 80261CF8 (4 bytes)
.data 0x80261CF8 # address
.data 0x00000004 # size
.data 0x4BDA996D # 80261CF8 => bl -0x00256694 /* 8000B664 */
# region @ 804CBAF0 (4 bytes)
.data 0x804CBAF0 # address
.data 0x00000004 # size
.data 0x42640000 # 804CBAF0 => bc 19, 4, +0x00000000 /* 804CBAF0 */
.data 0x42960000 # 804CBAF0 => bc 20, 22, +0x00000000 /* 804CBAF0 */
# region @ 804CBAFC (4 bytes)
.data 0x804CBAFC # address
.data 0x00000004 # size
.data 0x42640000 # 804CBAFC => bc 19, 4, +0x00000000 /* 804CBAFC */
.data 0x42960000 # 804CBAFC => bc 20, 22, +0x00000000 /* 804CBAFC */
# region @ 804CBB08 (4 bytes)
.data 0x804CBB08 # address
.data 0x00000004 # size
.data 0x42640000 # 804CBB08 => bc 19, 4, +0x00000000 /* 804CBB08 */
.data 0x42960000 # 804CBB08 => bc 20, 22, +0x00000000 /* 804CBB08 */
# region @ 804CBB14 (4 bytes)
.data 0x804CBB14 # address
.data 0x00000004 # size
.data 0x42640000 # 804CBB14 => bc 19, 4, +0x00000000 /* 804CBB14 */
.data 0x42960000 # 804CBB14 => bc 20, 22, +0x00000000 /* 804CBB14 */
# region @ 804CBBB0 (4 bytes)
.data 0x804CBBB0 # address
.data 0x00000004 # size
.data 0x42300000 # 804CBBB0 => bdnz cr4, +0x00000000 /* 804CBBB0 */
.data 0x42780000 # 804CBBB0 => bc 19, 24, +0x00000000 /* 804CBBB0 */
# region @ 804CBBCC (4 bytes)
.data 0x804CBBCC # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805D38E4 (4 bytes)
.data 0x805D38E4 # address
.data 0x00000004 # size
.data 0x42A00000 # 805D38E4 => b +0x00000000 /* 805D38E4 */
.data 0x42C00000 # 805D38E4 => b +0x00000000 /* 805D38E4 */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838F295 # 8000B690 => bl +0x0038F294 /* 8039A924 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80262EF8 (4 bytes)
.data 0x80262EF8 # address
.data 0x00000004 # size
.data 0x4BDA8759 # 80262EF8 => bl -0x002578A8 /* 8000B650 */
# region @ 80262F5C (4 bytes)
.data 0x80262F5C # address
.data 0x00000004 # size
.data 0x4BFE12B1 # 80262F5C => bl -0x0001ED50 /* 8024420C */
# region @ 802630B8 (4 bytes)
.data 0x802630B8 # address
.data 0x00000004 # size
.data 0x4BDA85AD # 802630B8 => bl -0x00257A54 /* 8000B664 */
# region @ 804D0158 (4 bytes)
.data 0x804D0158 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0158 => bc 19, 4, +0x00000000 /* 804D0158 */
.data 0x42960000 # 804D0158 => bc 20, 22, +0x00000000 /* 804D0158 */
# region @ 804D0164 (4 bytes)
.data 0x804D0164 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0164 => bc 19, 4, +0x00000000 /* 804D0164 */
.data 0x42960000 # 804D0164 => bc 20, 22, +0x00000000 /* 804D0164 */
# region @ 804D0170 (4 bytes)
.data 0x804D0170 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0170 => bc 19, 4, +0x00000000 /* 804D0170 */
.data 0x42960000 # 804D0170 => bc 20, 22, +0x00000000 /* 804D0170 */
# region @ 804D017C (4 bytes)
.data 0x804D017C # address
.data 0x00000004 # size
.data 0x42640000 # 804D017C => bc 19, 4, +0x00000000 /* 804D017C */
.data 0x42960000 # 804D017C => bc 20, 22, +0x00000000 /* 804D017C */
# region @ 804D0218 (4 bytes)
.data 0x804D0218 # address
.data 0x00000004 # size
.data 0x42300000 # 804D0218 => bdnz cr4, +0x00000000 /* 804D0218 */
.data 0x42780000 # 804D0218 => bc 19, 24, +0x00000000 /* 804D0218 */
# region @ 804D0234 (4 bytes)
.data 0x804D0234 # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805DD104 (4 bytes)
.data 0x805DD104 # address
.data 0x00000004 # size
.data 0x42A00000 # 805DD104 => b +0x00000000 /* 805DD104 */
.data 0x42C00000 # 805DD104 => b +0x00000000 /* 805DD104 */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838A86D # 8000B690 => bl +0x0038A86C /* 80395EFC */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80261260 (4 bytes)
.data 0x80261260 # address
.data 0x00000004 # size
.data 0x4BDAA3F1 # 80261260 => bl -0x00255C10 /* 8000B650 */
# region @ 802612C4 (4 bytes)
.data 0x802612C4 # address
.data 0x00000004 # size
.data 0x4BFE1541 # 802612C4 => bl -0x0001EAC0 /* 80242804 */
# region @ 80261420 (4 bytes)
.data 0x80261420 # address
.data 0x00000004 # size
.data 0x4BDAA245 # 80261420 => bl -0x00255DBC /* 8000B664 */
# region @ 804CAE40 (4 bytes)
.data 0x804CAE40 # address
.data 0x00000004 # size
.data 0x42640000 # 804CAE40 => bc 19, 4, +0x00000000 /* 804CAE40 */
.data 0x42960000 # 804CAE40 => bc 20, 22, +0x00000000 /* 804CAE40 */
# region @ 804CAE4C (4 bytes)
.data 0x804CAE4C # address
.data 0x00000004 # size
.data 0x42640000 # 804CAE4C => bc 19, 4, +0x00000000 /* 804CAE4C */
.data 0x42960000 # 804CAE4C => bc 20, 22, +0x00000000 /* 804CAE4C */
# region @ 804CAE58 (4 bytes)
.data 0x804CAE58 # address
.data 0x00000004 # size
.data 0x42640000 # 804CAE58 => bc 19, 4, +0x00000000 /* 804CAE58 */
.data 0x42960000 # 804CAE58 => bc 20, 22, +0x00000000 /* 804CAE58 */
# region @ 804CAE64 (4 bytes)
.data 0x804CAE64 # address
.data 0x00000004 # size
.data 0x42640000 # 804CAE64 => bc 19, 4, +0x00000000 /* 804CAE64 */
.data 0x42960000 # 804CAE64 => bc 20, 22, +0x00000000 /* 804CAE64 */
# region @ 804CAF00 (4 bytes)
.data 0x804CAF00 # address
.data 0x00000004 # size
.data 0x42300000 # 804CAF00 => bdnz cr4, +0x00000000 /* 804CAF00 */
.data 0x42780000 # 804CAF00 => bc 19, 24, +0x00000000 /* 804CAF00 */
# region @ 804CAF1C (4 bytes)
.data 0x804CAF1C # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805CBFBC (4 bytes)
.data 0x805CBFBC # address
.data 0x00000004 # size
.data 0x42A00000 # 805CBFBC => b +0x00000000 /* 805CBFBC */
.data 0x42C00000 # 805CBFBC => b +0x00000000 /* 805CBFBC */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838D275 # 8000B690 => bl +0x0038D274 /* 80398904 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80261E38 (4 bytes)
.data 0x80261E38 # address
.data 0x00000004 # size
.data 0x4BDA9819 # 80261E38 => bl -0x002567E8 /* 8000B650 */
# region @ 80261E9C (4 bytes)
.data 0x80261E9C # address
.data 0x00000004 # size
.data 0x4BFE1349 # 80261E9C => bl -0x0001ECB8 /* 802431E4 */
# region @ 80261FF8 (4 bytes)
.data 0x80261FF8 # address
.data 0x00000004 # size
.data 0x4BDA966D # 80261FF8 => bl -0x00256994 /* 8000B664 */
# region @ 804CE590 (4 bytes)
.data 0x804CE590 # address
.data 0x00000004 # size
.data 0x42640000 # 804CE590 => bc 19, 4, +0x00000000 /* 804CE590 */
.data 0x42960000 # 804CE590 => bc 20, 22, +0x00000000 /* 804CE590 */
# region @ 804CE59C (4 bytes)
.data 0x804CE59C # address
.data 0x00000004 # size
.data 0x42640000 # 804CE59C => bc 19, 4, +0x00000000 /* 804CE59C */
.data 0x42960000 # 804CE59C => bc 20, 22, +0x00000000 /* 804CE59C */
# region @ 804CE5A8 (4 bytes)
.data 0x804CE5A8 # address
.data 0x00000004 # size
.data 0x42640000 # 804CE5A8 => bc 19, 4, +0x00000000 /* 804CE5A8 */
.data 0x42960000 # 804CE5A8 => bc 20, 22, +0x00000000 /* 804CE5A8 */
# region @ 804CE5B4 (4 bytes)
.data 0x804CE5B4 # address
.data 0x00000004 # size
.data 0x42640000 # 804CE5B4 => bc 19, 4, +0x00000000 /* 804CE5B4 */
.data 0x42960000 # 804CE5B4 => bc 20, 22, +0x00000000 /* 804CE5B4 */
# region @ 804CE650 (4 bytes)
.data 0x804CE650 # address
.data 0x00000004 # size
.data 0x42300000 # 804CE650 => bdnz cr4, +0x00000000 /* 804CE650 */
.data 0x42780000 # 804CE650 => bc 19, 24, +0x00000000 /* 804CE650 */
# region @ 804CE66C (4 bytes)
.data 0x804CE66C # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805D65BC (4 bytes)
.data 0x805D65BC # address
.data 0x00000004 # size
.data 0x42A00000 # 805D65BC => b +0x00000000 /* 805D65BC */
.data 0x42C00000 # 805D65BC => b +0x00000000 /* 805D65BC */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838F115 # 8000B690 => bl +0x0038F114 /* 8039A7A4 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80262E80 (4 bytes)
.data 0x80262E80 # address
.data 0x00000004 # size
.data 0x4BDA87D1 # 80262E80 => bl -0x00257830 /* 8000B650 */
# region @ 80262EE4 (4 bytes)
.data 0x80262EE4 # address
.data 0x00000004 # size
.data 0x4BFE0665 # 80262EE4 => bl -0x0001F99C /* 80243548 */
# region @ 80263040 (4 bytes)
.data 0x80263040 # address
.data 0x00000004 # size
.data 0x4BDA8625 # 80263040 => bl -0x002579DC /* 8000B664 */
# region @ 804D0AE0 (4 bytes)
.data 0x804D0AE0 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0AE0 => bc 19, 4, +0x00000000 /* 804D0AE0 */
.data 0x42960000 # 804D0AE0 => bc 20, 22, +0x00000000 /* 804D0AE0 */
# region @ 804D0AEC (4 bytes)
.data 0x804D0AEC # address
.data 0x00000004 # size
.data 0x42640000 # 804D0AEC => bc 19, 4, +0x00000000 /* 804D0AEC */
.data 0x42960000 # 804D0AEC => bc 20, 22, +0x00000000 /* 804D0AEC */
# region @ 804D0AF8 (4 bytes)
.data 0x804D0AF8 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0AF8 => bc 19, 4, +0x00000000 /* 804D0AF8 */
.data 0x42960000 # 804D0AF8 => bc 20, 22, +0x00000000 /* 804D0AF8 */
# region @ 804D0B04 (4 bytes)
.data 0x804D0B04 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0B04 => bc 19, 4, +0x00000000 /* 804D0B04 */
.data 0x42960000 # 804D0B04 => bc 20, 22, +0x00000000 /* 804D0B04 */
# region @ 804D0BA0 (4 bytes)
.data 0x804D0BA0 # address
.data 0x00000004 # size
.data 0x42300000 # 804D0BA0 => bdnz cr4, +0x00000000 /* 804D0BA0 */
.data 0x42780000 # 804D0BA0 => bc 19, 24, +0x00000000 /* 804D0BA0 */
# region @ 804D0BBC (4 bytes)
.data 0x804D0BBC # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805DDA5C (4 bytes)
.data 0x805DDA5C # address
.data 0x00000004 # size
.data 0x42A00000 # 805DDA5C => b +0x00000000 /* 805DDA5C */
.data 0x42C00000 # 805DDA5C => b +0x00000000 /* 805DDA5C */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838EEC5 # 8000B690 => bl +0x0038EEC4 /* 8039A554 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80262C34 (4 bytes)
.data 0x80262C34 # address
.data 0x00000004 # size
.data 0x4BDA8A1D # 80262C34 => bl -0x002575E4 /* 8000B650 */
# region @ 80262C98 (4 bytes)
.data 0x80262C98 # address
.data 0x00000004 # size
.data 0x4BFE1241 # 80262C98 => bl -0x0001EDC0 /* 80243ED8 */
# region @ 80262DF4 (4 bytes)
.data 0x80262DF4 # address
.data 0x00000004 # size
.data 0x4BDA8871 # 80262DF4 => bl -0x00257790 /* 8000B664 */
# region @ 804D0880 (4 bytes)
.data 0x804D0880 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0880 => bc 19, 4, +0x00000000 /* 804D0880 */
.data 0x42960000 # 804D0880 => bc 20, 22, +0x00000000 /* 804D0880 */
# region @ 804D088C (4 bytes)
.data 0x804D088C # address
.data 0x00000004 # size
.data 0x42640000 # 804D088C => bc 19, 4, +0x00000000 /* 804D088C */
.data 0x42960000 # 804D088C => bc 20, 22, +0x00000000 /* 804D088C */
# region @ 804D0898 (4 bytes)
.data 0x804D0898 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0898 => bc 19, 4, +0x00000000 /* 804D0898 */
.data 0x42960000 # 804D0898 => bc 20, 22, +0x00000000 /* 804D0898 */
# region @ 804D08A4 (4 bytes)
.data 0x804D08A4 # address
.data 0x00000004 # size
.data 0x42640000 # 804D08A4 => bc 19, 4, +0x00000000 /* 804D08A4 */
.data 0x42960000 # 804D08A4 => bc 20, 22, +0x00000000 /* 804D08A4 */
# region @ 804D0940 (4 bytes)
.data 0x804D0940 # address
.data 0x00000004 # size
.data 0x42300000 # 804D0940 => bdnz cr4, +0x00000000 /* 804D0940 */
.data 0x42780000 # 804D0940 => bc 19, 24, +0x00000000 /* 804D0940 */
# region @ 804D095C (4 bytes)
.data 0x804D095C # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805DD7FC (4 bytes)
.data 0x805DD7FC # address
.data 0x00000004 # size
.data 0x42A00000 # 805DD7FC => b +0x00000000 /* 805DD7FC */
.data 0x42C00000 # 805DD7FC => b +0x00000000 /* 805DD7FC */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -9,30 +9,68 @@ reloc0:
.offsetof start
start:
.include WriteCodeBlocksGC
# region @ 8000B650 (108 bytes)
.data 0x8000B650 # address
.data 0x0000006C # size
.data 0x3CA08001 # 8000B650 => lis r5, 0x8001
.data 0x8065B6BC # 8000B654 => lwz r3, [r5 - 0x4944]
.data 0x7FFEFB78 # 8000B658 => mr r30, r31
.data 0xA8DE032C # 8000B65C => lha r6, [r30 + 0x032C]
.data 0x48000010 # 8000B660 => b +0x00000010 /* 8000B670 */
.data 0xA8DE02B8 # 8000B664 => lha r6, [r30 + 0x02B8]
.data 0x3CA08001 # 8000B668 => lis r5, 0x8001
.data 0x9065B6BC # 8000B66C => stw [r5 - 0x4944], r3
.data 0x7C0802A6 # 8000B670 => mflr r0
.data 0x9005B6C0 # 8000B674 => stw [r5 - 0x4940], r0
.data 0x7C651B78 # 8000B678 => mr r5, r3
.data 0xA8FE02B8 # 8000B67C => lha r7, [r30 + 0x02B8]
.data 0x3C808000 # 8000B680 => lis r4, 0x8000
.data 0x6084B6AC # 8000B684 => ori r4, r4, 0xB6AC
.data 0x38640018 # 8000B688 => addi r3, r4, 0x0018
.data 0x4CC63182 # 8000B68C => crxor crb6, crb6, crb6
.data 0x4838DD85 # 8000B690 => bl +0x0038DD84 /* 80399414 */
.data 0x3C808000 # 8000B694 => lis r4, 0x8000
.data 0x6084B6C4 # 8000B698 => ori r4, r4, 0xB6C4
.data 0x7F83E378 # 8000B69C => mr r3, r28
.data 0x8004FFFC # 8000B6A0 => lwz r0, [r4 - 0x0004]
.data 0x7C0803A6 # 8000B6A4 => mtlr r0
.data 0x4E800020 # 8000B6A8 => blr
.data 0x25730A0A # 8000B6AC => .invalid
.data 0x48503A25 # 8000B6B0 => bl +0x00503A24 /* 8050F0D4 */
.data 0x642F2564 # 8000B6B4 => oris r15, r1, 0x2564
.data 0x00000000 # 8000B6B8 => .invalid
# region @ 80262740 (4 bytes)
.data 0x80262740 # address
.data 0x00000004 # size
.data 0x4BDA8F11 # 80262740 => bl -0x002570F0 /* 8000B650 */
# region @ 802627A4 (4 bytes)
.data 0x802627A4 # address
.data 0x00000004 # size
.data 0x4BFE12B1 # 802627A4 => bl -0x0001ED50 /* 80243A54 */
# region @ 80262900 (4 bytes)
.data 0x80262900 # address
.data 0x00000004 # size
.data 0x4BDA8D65 # 80262900 => bl -0x0025729C /* 8000B664 */
# region @ 804D0548 (4 bytes)
.data 0x804D0548 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0548 => bc 19, 4, +0x00000000 /* 804D0548 */
.data 0x42960000 # 804D0548 => bc 20, 22, +0x00000000 /* 804D0548 */
# region @ 804D0554 (4 bytes)
.data 0x804D0554 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0554 => bc 19, 4, +0x00000000 /* 804D0554 */
.data 0x42960000 # 804D0554 => bc 20, 22, +0x00000000 /* 804D0554 */
# region @ 804D0560 (4 bytes)
.data 0x804D0560 # address
.data 0x00000004 # size
.data 0x42640000 # 804D0560 => bc 19, 4, +0x00000000 /* 804D0560 */
.data 0x42960000 # 804D0560 => bc 20, 22, +0x00000000 /* 804D0560 */
# region @ 804D056C (4 bytes)
.data 0x804D056C # address
.data 0x00000004 # size
.data 0x42640000 # 804D056C => bc 19, 4, +0x00000000 /* 804D056C */
.data 0x42960000 # 804D056C => bc 20, 22, +0x00000000 /* 804D056C */
# region @ 804D0608 (4 bytes)
.data 0x804D0608 # address
.data 0x00000004 # size
.data 0x42300000 # 804D0608 => bdnz cr4, +0x00000000 /* 804D0608 */
.data 0x42780000 # 804D0608 => bc 19, 24, +0x00000000 /* 804D0608 */
# region @ 804D0624 (4 bytes)
.data 0x804D0624 # address
.data 0x00000004 # size
@@ -40,7 +78,7 @@ start:
# region @ 805D9344 (4 bytes)
.data 0x805D9344 # address
.data 0x00000004 # size
.data 0x42A00000 # 805D9344 => b +0x00000000 /* 805D9344 */
.data 0x42C00000 # 805D9344 => b +0x00000000 /* 805D9344 */
# end sentinel
.data 0x00000000 # address
.data 0x00000000 # size
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026B063
.data 0x00000001
.binary A0
.binary C0
.data 0x0026B06C
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B266
.data 0x00000004
.binary 836004FD
.data 0x0054A92C
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A938
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A944
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A950
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A9EC
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x0054AA08
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00318308 # sprintf
.data 0x00264E80 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002DB050
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B241
.data 0x00000007
nop
nop
.binary E80BFE0600 # call 002DB053 (on_hp_updated)
.data 0x0026B028
.data 0x00000005
.binary E824000700 # call 002DB051 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026B193
.data 0x00000001
.binary A0
.binary C0
.data 0x0026B19C
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B396
.data 0x00000004
.binary 836004FD
.data 0x0054A1CC
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A1D8
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A1E4
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A1F0
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A28C
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x0054A2A8
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00317D7A # sprintf
.data 0x00264F80 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002DB550
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B371
.data 0x00000007
nop
nop
.binary E8DB010700 # call 002DB553 (on_hp_updated)
.data 0x0026B158
.data 0x00000005
.binary E8F4030700 # call 002DB551 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026ABA3
.data 0x00000001
.binary A0
.binary C0
.data 0x0026ABAC
.data 0x00000001
.binary DA
.binary FA
.data 0x0026ADA6
.data 0x00000004
.binary 836004FD
.data 0x00545334
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x00545340
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054534C
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x00545358
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x005453F4
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x00545410
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00313B22 # sprintf
.data 0x002649C0 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002D90E0
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026AD81
.data 0x00000007
nop
nop
.binary E85BE30600 # call 002D90E3 (on_hp_updated)
.data 0x0026AB68
.data 0x00000005
.binary E874E50600 # call 002D90E1 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026AF13
.data 0x00000001
.binary A0
.binary C0
.data 0x0026AF1C
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B116
.data 0x00000004
.binary 836004FD
.data 0x005459C4
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x005459D0
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x005459DC
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x005459E8
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x00545A84
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x00545AA0
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00314722 # sprintf
.data 0x00264D80 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002D9CB0
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B0F1
.data 0x00000007
nop
nop
.binary E8BBEB0600 # call 002D9CB3 (on_hp_updated)
.data 0x0026AED8
.data 0x00000005
.binary E8D4ED0600 # call 002D9CB1 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026B2F3
.data 0x00000001
.binary A0
.binary C0
.data 0x0026B2FC
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B4F6
.data 0x00000004
.binary 836004FD
.data 0x0054D4AC
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054D4B8
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054D4C4
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054D4D0
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054D56C
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x0054D588
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00317D7A # sprintf
.data 0x00265130 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002DB580
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B4D1
.data 0x00000007
nop
nop
.binary E8AB000700 # call 002DB583 (on_hp_updated)
.data 0x0026B2B8
.data 0x00000005
.binary E8C4020700 # call 002DB581 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026B083
.data 0x00000001
.binary A0
.binary C0
.data 0x0026B08C
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B286
.data 0x00000004
.binary 836004FD
.data 0x0054A92C
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A938
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A944
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A950
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054A9EC
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x0054AA08
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00318338 # sprintf
.data 0x00264EA0 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002DB080
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B261
.data 0x00000007
nop
nop
.binary E81BFE0600 # call 002DB083 (on_hp_updated)
.data 0x0026B048
.data 0x00000005
.binary E834000700 # call 002DB081 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -12,30 +12,58 @@ start:
.include WriteCodeBlocksXB
.data 0x0026B193
.data 0x00000001
.binary A0
.binary C0
.data 0x0026B19C
.data 0x00000001
.binary DA
.binary FA
.data 0x0026B396
.data 0x00000004
.binary 836004FD
.data 0x0054ACCC
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054ACD8
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054ACE4
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054ACF0
.data 0x00000004
.data 0x42640000
.data 0x42960000
.data 0x0054AD8C
.data 0x00000004
.data 0x42300000
.data 0x42780000
.data 0x0054ADA8
.data 0x00000004
.data 0xFF00FF15
.data 0x00010C00
.deltaof str_data_start, str_data_end
str_data_start:
.data 0x00318858 # sprintf
.data 0x00264FD0 # Original function for on_window_created callsite
.data 0x00000000
.binary "%s\n\nHP:%d/%d"
.data 0x00000000
.data 0x00000000
str_data_end:
.data 0x002DB5D0
.deltaof new_code_start, new_code_end
new_code_start:
.include EnemyHPBars-TextHandlerXB
new_code_end:
.data 0x0026B371
.data 0x00000007
nop
nop
.binary E85B020700 # call 002DB5D3 (on_hp_updated)
.data 0x0026B158
.data 0x00000005
.binary E874040700 # call 002DB5D1 (on_window_created)
.data 0x00000000
.data 0x00000000
@@ -1,5 +1,5 @@
# Returns the client specific_version in eax and the address of the
# MmSetAddressProtect function pointer in ecx, which is immediately followed by
# MmSetAddressProtect function pointer in edx, which is immediately followed by
# the MmQueryAddressProtect function pointer.
start: