2022-10-16 16:05:58 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCInit
|
|
|
|
IPCInit:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E730 0004A570 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 8004E734 0004A574 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 8004E738 0004A578 90 01 00 14 */ stw r0, 0x14(r1)
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004E73C 0004A57C 88 0D E8 F8 */ lbz r0, Initialized_8055CD18@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E740 0004A580 2C 00 00 00 */ cmpwi r0, 0x0
|
|
|
|
/* 8004E744 0004A584 40 82 00 28 */ bne lbl_8004E76C
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004E748 0004A588 4B FD 7A 79 */ bl __OSGetIPCBufferHi
|
|
|
|
/* 8004E74C 0004A58C 90 6D E9 08 */ stw r3, IPCBufferHi@sda21(r13)
|
|
|
|
/* 8004E750 0004A590 4B FD 7A 81 */ bl __OSGetIPCBufferLo
|
|
|
|
/* 8004E754 0004A594 80 8D E9 08 */ lwz r4, IPCBufferHi@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E758 0004A598 38 00 00 01 */ li r0, 0x1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004E75C 0004A59C 90 6D E9 04 */ stw r3, IPCBufferLo@sda21(r13)
|
|
|
|
/* 8004E760 0004A5A0 90 8D E9 00 */ stw r4, IPCCurrentBufferHi@sda21(r13)
|
|
|
|
/* 8004E764 0004A5A4 90 6D E8 FC */ stw r3, IPCCurrentBufferLo@sda21(r13)
|
|
|
|
/* 8004E768 0004A5A8 98 0D E8 F8 */ stb r0, Initialized_8055CD18@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
.global lbl_8004E76C
|
|
|
|
lbl_8004E76C:
|
|
|
|
/* 8004E76C 0004A5AC 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 8004E770 0004A5B0 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 8004E774 0004A5B4 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 8004E778 0004A5B8 4E 80 00 20 */ blr
|
|
|
|
/* 8004E77C 0004A5BC 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCReInit
|
|
|
|
IPCReInit:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E780 0004A5C0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
|
|
/* 8004E784 0004A5C4 7C 08 02 A6 */ mflr r0
|
|
|
|
/* 8004E788 0004A5C8 90 01 00 14 */ stw r0, 0x14(r1)
|
|
|
|
/* 8004E78C 0004A5CC 38 00 00 00 */ li r0, 0x0
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004E790 0004A5D0 98 0D E8 F8 */ stb r0, Initialized_8055CD18@sda21(r13)
|
|
|
|
/* 8004E794 0004A5D4 4B FD 7A 2D */ bl __OSGetIPCBufferHi
|
|
|
|
/* 8004E798 0004A5D8 90 6D E9 08 */ stw r3, IPCBufferHi@sda21(r13)
|
|
|
|
/* 8004E79C 0004A5DC 4B FD 7A 35 */ bl __OSGetIPCBufferLo
|
|
|
|
/* 8004E7A0 0004A5E0 80 8D E9 08 */ lwz r4, IPCBufferHi@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E7A4 0004A5E4 38 00 00 01 */ li r0, 0x1
|
2022-10-16 16:31:36 +00:00
|
|
|
/* 8004E7A8 0004A5E8 90 6D E9 04 */ stw r3, IPCBufferLo@sda21(r13)
|
|
|
|
/* 8004E7AC 0004A5EC 90 8D E9 00 */ stw r4, IPCCurrentBufferHi@sda21(r13)
|
|
|
|
/* 8004E7B0 0004A5F0 90 6D E8 FC */ stw r3, IPCCurrentBufferLo@sda21(r13)
|
|
|
|
/* 8004E7B4 0004A5F4 98 0D E8 F8 */ stb r0, Initialized_8055CD18@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E7B8 0004A5F8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
|
|
/* 8004E7BC 0004A5FC 7C 08 03 A6 */ mtlr r0
|
|
|
|
/* 8004E7C0 0004A600 38 21 00 10 */ addi r1, r1, 0x10
|
|
|
|
/* 8004E7C4 0004A604 4E 80 00 20 */ blr
|
|
|
|
/* 8004E7C8 0004A608 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004E7CC 0004A60C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCReadReg
|
|
|
|
IPCReadReg:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E7D0 0004A610 54 60 10 3A */ slwi r0, r3, 2
|
|
|
|
/* 8004E7D4 0004A614 3C 60 CD 00 */ lis r3, 0xcd00
|
|
|
|
/* 8004E7D8 0004A618 7C 63 00 2E */ lwzx r3, r3, r0
|
|
|
|
/* 8004E7DC 0004A61C 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCWriteReg
|
|
|
|
IPCWriteReg:
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E7E0 0004A620 54 60 10 3A */ slwi r0, r3, 2
|
|
|
|
/* 8004E7E4 0004A624 3C 60 CD 00 */ lis r3, 0xcd00
|
|
|
|
/* 8004E7E8 0004A628 7C 83 01 2E */ stwx r4, r3, r0
|
|
|
|
/* 8004E7EC 0004A62C 4E 80 00 20 */ blr
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCGetBufferHi
|
|
|
|
IPCGetBufferHi:
|
|
|
|
/* 8004E7F0 0004A630 80 6D E9 00 */ lwz r3, IPCCurrentBufferHi@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E7F4 0004A634 4E 80 00 20 */ blr
|
|
|
|
/* 8004E7F8 0004A638 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004E7FC 0004A63C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCGetBufferLo
|
|
|
|
IPCGetBufferLo:
|
|
|
|
/* 8004E800 0004A640 80 6D E8 FC */ lwz r3, IPCCurrentBufferLo@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E804 0004A644 4E 80 00 20 */ blr
|
|
|
|
/* 8004E808 0004A648 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004E80C 0004A64C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-16 16:31:36 +00:00
|
|
|
.global IPCSetBufferLo
|
|
|
|
IPCSetBufferLo:
|
|
|
|
/* 8004E810 0004A650 90 6D E8 FC */ stw r3, IPCCurrentBufferLo@sda21(r13)
|
2022-10-16 16:05:58 +00:00
|
|
|
/* 8004E814 0004A654 4E 80 00 20 */ blr
|
|
|
|
/* 8004E818 0004A658 00 00 00 00 */ .4byte 0x00000000
|
|
|
|
/* 8004E81C 0004A65C 00 00 00 00 */ .4byte 0x00000000
|
2022-10-17 08:28:21 +00:00
|
|
|
.include "macros.inc"
|
|
|
|
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
|
|
.global Initialized_8055CD18
|
|
|
|
Initialized_8055CD18:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global IPCCurrentBufferLo
|
|
|
|
IPCCurrentBufferLo:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global IPCCurrentBufferHi
|
|
|
|
IPCCurrentBufferHi:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global IPCBufferLo
|
|
|
|
IPCBufferLo:
|
|
|
|
.skip 0x4
|
|
|
|
|
|
|
|
.global IPCBufferHi
|
|
|
|
IPCBufferHi:
|
|
|
|
.skip 0x8
|