mirror of https://github.com/zeldaret/tp.git
113 lines
5.0 KiB
ArmAsm
113 lines
5.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 80360f98
|
|
|
|
|
|
.global GDInitGDLObj
|
|
GDInitGDLObj:
|
|
/* 80360F98 0035DED8 90 83 00 00 */ stw r4, 0(r3)
|
|
/* 80360F9C 0035DEDC 7C 04 2A 14 */ add r0, r4, r5
|
|
/* 80360FA0 0035DEE0 90 83 00 08 */ stw r4, 8(r3)
|
|
/* 80360FA4 0035DEE4 90 03 00 0C */ stw r0, 0xc(r3)
|
|
/* 80360FA8 0035DEE8 90 A3 00 04 */ stw r5, 4(r3)
|
|
/* 80360FAC 0035DEEC 4E 80 00 20 */ blr
|
|
|
|
.global GDFlushCurrToMem
|
|
GDFlushCurrToMem:
|
|
/* 80360FB0 0035DEF0 7C 08 02 A6 */ mflr r0
|
|
/* 80360FB4 0035DEF4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80360FB8 0035DEF8 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 80360FBC 0035DEFC 80 8D 94 00 */ lwz r4, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80360FC0 0035DF00 80 64 00 00 */ lwz r3, 0(r4)
|
|
/* 80360FC4 0035DF04 80 84 00 04 */ lwz r4, 4(r4)
|
|
/* 80360FC8 0035DF08 4B FD A5 E5 */ bl DCFlushRange
|
|
/* 80360FCC 0035DF0C 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 80360FD0 0035DF10 38 21 00 08 */ addi r1, r1, 8
|
|
/* 80360FD4 0035DF14 7C 08 03 A6 */ mtlr r0
|
|
/* 80360FD8 0035DF18 4E 80 00 20 */ blr
|
|
|
|
.global GDPadCurr32
|
|
GDPadCurr32:
|
|
/* 80360FDC 0035DF1C 80 6D 94 00 */ lwz r3, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80360FE0 0035DF20 80 03 00 08 */ lwz r0, 8(r3)
|
|
/* 80360FE4 0035DF24 54 00 06 FF */ clrlwi. r0, r0, 0x1b
|
|
/* 80360FE8 0035DF28 4D 82 00 20 */ beqlr
|
|
/* 80360FEC 0035DF2C 28 00 00 20 */ cmplwi r0, 0x20
|
|
/* 80360FF0 0035DF30 20 60 00 20 */ subfic r3, r0, 0x20
|
|
/* 80360FF4 0035DF34 38 C0 00 00 */ li r6, 0
|
|
/* 80360FF8 0035DF38 4C 80 00 20 */ bgelr
|
|
/* 80360FFC 0035DF3C 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
|
|
/* 80361000 0035DF40 7C 09 03 A6 */ mtctr r0
|
|
/* 80361004 0035DF44 41 82 00 B0 */ beq lbl_803610B4
|
|
lbl_80361008:
|
|
/* 80361008 0035DF48 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 8036100C 0035DF4C 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361010 0035DF50 38 04 00 01 */ addi r0, r4, 1
|
|
/* 80361014 0035DF54 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 80361018 0035DF58 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 8036101C 0035DF5C 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361020 0035DF60 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361024 0035DF64 38 04 00 01 */ addi r0, r4, 1
|
|
/* 80361028 0035DF68 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 8036102C 0035DF6C 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 80361030 0035DF70 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361034 0035DF74 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361038 0035DF78 38 04 00 01 */ addi r0, r4, 1
|
|
/* 8036103C 0035DF7C 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 80361040 0035DF80 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 80361044 0035DF84 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361048 0035DF88 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 8036104C 0035DF8C 38 04 00 01 */ addi r0, r4, 1
|
|
/* 80361050 0035DF90 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 80361054 0035DF94 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 80361058 0035DF98 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 8036105C 0035DF9C 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361060 0035DFA0 38 04 00 01 */ addi r0, r4, 1
|
|
/* 80361064 0035DFA4 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 80361068 0035DFA8 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 8036106C 0035DFAC 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361070 0035DFB0 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361074 0035DFB4 38 04 00 01 */ addi r0, r4, 1
|
|
/* 80361078 0035DFB8 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 8036107C 0035DFBC 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 80361080 0035DFC0 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361084 0035DFC4 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 80361088 0035DFC8 38 04 00 01 */ addi r0, r4, 1
|
|
/* 8036108C 0035DFCC 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 80361090 0035DFD0 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 80361094 0035DFD4 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 80361098 0035DFD8 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 8036109C 0035DFDC 38 04 00 01 */ addi r0, r4, 1
|
|
/* 803610A0 0035DFE0 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 803610A4 0035DFE4 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 803610A8 0035DFE8 42 00 FF 60 */ bdnz lbl_80361008
|
|
/* 803610AC 0035DFEC 70 63 00 07 */ andi. r3, r3, 7
|
|
/* 803610B0 0035DFF0 4D 82 00 20 */ beqlr
|
|
lbl_803610B4:
|
|
/* 803610B4 0035DFF4 7C 69 03 A6 */ mtctr r3
|
|
lbl_803610B8:
|
|
/* 803610B8 0035DFF8 80 AD 94 00 */ lwz r5, lbl_80451980-_SDA_BASE_(r13)
|
|
/* 803610BC 0035DFFC 80 85 00 08 */ lwz r4, 8(r5)
|
|
/* 803610C0 0035E000 38 04 00 01 */ addi r0, r4, 1
|
|
/* 803610C4 0035E004 90 05 00 08 */ stw r0, 8(r5)
|
|
/* 803610C8 0035E008 98 C4 00 00 */ stb r6, 0(r4)
|
|
/* 803610CC 0035E00C 42 00 FF EC */ bdnz lbl_803610B8
|
|
/* 803610D0 0035E010 4E 80 00 20 */ blr
|
|
|
|
.global GDOverflowed
|
|
GDOverflowed:
|
|
/* 803610D4 0035E014 7C 08 02 A6 */ mflr r0
|
|
/* 803610D8 0035E018 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 803610DC 0035E01C 94 21 FF F8 */ stwu r1, -8(r1)
|
|
/* 803610E0 0035E020 81 8D 94 04 */ lwz r12, lbl_80451984-_SDA_BASE_(r13)
|
|
/* 803610E4 0035E024 28 0C 00 00 */ cmplwi r12, 0
|
|
/* 803610E8 0035E028 41 82 00 0C */ beq lbl_803610F4
|
|
/* 803610EC 0035E02C 7D 88 03 A6 */ mtlr r12
|
|
/* 803610F0 0035E030 4E 80 00 21 */ blrl
|
|
lbl_803610F4:
|
|
/* 803610F4 0035E034 80 01 00 0C */ lwz r0, 0xc(r1)
|
|
/* 803610F8 0035E038 38 21 00 08 */ addi r1, r1, 8
|
|
/* 803610FC 0035E03C 7C 08 03 A6 */ mtlr r0
|
|
/* 80361100 0035E040 4E 80 00 20 */ blr
|
|
|