summaryrefslogtreecommitdiff
path: root/asm/SDK/NdevExi2A
diff options
context:
space:
mode:
Diffstat (limited to 'asm/SDK/NdevExi2A')
-rw-r--r--asm/SDK/NdevExi2A/DebuggerDriver.s242
-rw-r--r--asm/SDK/NdevExi2A/exi2.s539
2 files changed, 781 insertions, 0 deletions
diff --git a/asm/SDK/NdevExi2A/DebuggerDriver.s b/asm/SDK/NdevExi2A/DebuggerDriver.s
new file mode 100644
index 0000000..bf83ef9
--- /dev/null
+++ b/asm/SDK/NdevExi2A/DebuggerDriver.s
@@ -0,0 +1,242 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DBMtrHandler
+__DBMtrHandler:
+/* 801D9F70 001D5BD0 81 8D 9F F0 */ lwz r12, lbl_8063F2B0-_SDA_BASE_(r13)
+/* 801D9F74 001D5BD4 38 00 00 01 */ li r0, 1
+/* 801D9F78 001D5BD8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13)
+/* 801D9F7C 001D5BDC 2C 0C 00 00 */ cmpwi r12, 0
+/* 801D9F80 001D5BE0 4D 82 00 20 */ beqlr
+/* 801D9F84 001D5BE4 38 60 00 00 */ li r3, 0
+/* 801D9F88 001D5BE8 7D 89 03 A6 */ mtctr r12
+/* 801D9F8C 001D5BEC 4E 80 04 20 */ bctr
+/* 801D9F90 001D5BF0 4E 80 00 20 */ blr
+
+.global __DBIntrHandler
+__DBIntrHandler:
+/* 801D9F94 001D5BF4 38 00 10 00 */ li r0, 0x1000
+/* 801D9F98 001D5BF8 3C A0 CC 00 */ lis r5, 0xCC003000@ha
+/* 801D9F9C 001D5BFC 90 05 30 00 */ stw r0, 0xCC003000@l(r5)
+/* 801D9FA0 001D5C00 81 8D 9F F4 */ lwz r12, lbl_8063F2B4-_SDA_BASE_(r13)
+/* 801D9FA4 001D5C04 2C 0C 00 00 */ cmpwi r12, 0
+/* 801D9FA8 001D5C08 4D 82 00 20 */ beqlr
+/* 801D9FAC 001D5C0C 7D 89 03 A6 */ mtctr r12
+/* 801D9FB0 001D5C10 4E 80 04 20 */ bctr
+/* 801D9FB4 001D5C14 4E 80 00 20 */ blr
+
+.global DBInitComm
+DBInitComm:
+/* 801D9FB8 001D5C18 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801D9FBC 001D5C1C 7C 08 02 A6 */ mflr r0
+/* 801D9FC0 001D5C20 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801D9FC4 001D5C24 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801D9FC8 001D5C28 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801D9FCC 001D5C2C 7C 9E 23 78 */ mr r30, r4
+/* 801D9FD0 001D5C30 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801D9FD4 001D5C34 7C 7D 1B 78 */ mr r29, r3
+/* 801D9FD8 001D5C38 48 09 47 85 */ bl OSDisableInterrupts
+/* 801D9FDC 001D5C3C 38 0D 9F F8 */ addi r0, r13, lbl_8063F2B8-_SDA_BASE_
+/* 801D9FE0 001D5C40 7C 7F 1B 78 */ mr r31, r3
+/* 801D9FE4 001D5C44 90 1D 00 00 */ stw r0, 0(r29)
+/* 801D9FE8 001D5C48 93 CD 9F F0 */ stw r30, lbl_8063F2B0-_SDA_BASE_(r13)
+/* 801D9FEC 001D5C4C 48 00 05 A1 */ bl __DBEXIInit
+/* 801D9FF0 001D5C50 7F E3 FB 78 */ mr r3, r31
+/* 801D9FF4 001D5C54 48 09 47 91 */ bl OSRestoreInterrupts
+/* 801D9FF8 001D5C58 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801D9FFC 001D5C5C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA000 001D5C60 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801DA004 001D5C64 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801DA008 001D5C68 7C 08 03 A6 */ mtlr r0
+/* 801DA00C 001D5C6C 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA010 001D5C70 4E 80 00 20 */ blr
+
+.global DBInitInterrupts
+DBInitInterrupts:
+/* 801DA014 001D5C74 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801DA018 001D5C78 7C 08 02 A6 */ mflr r0
+/* 801DA01C 001D5C7C 3C 60 00 02 */ lis r3, 0x00018000@ha
+/* 801DA020 001D5C80 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801DA024 001D5C84 38 63 80 00 */ addi r3, r3, 0x00018000@l
+/* 801DA028 001D5C88 48 09 4A C5 */ bl __OSMaskInterrupts
+/* 801DA02C 001D5C8C 38 60 00 40 */ li r3, 0x40
+/* 801DA030 001D5C90 48 09 4A BD */ bl __OSMaskInterrupts
+/* 801DA034 001D5C94 3C 60 80 1E */ lis r3, __DBMtrHandler@ha
+/* 801DA038 001D5C98 3C 80 80 1E */ lis r4, __DBIntrHandler@ha
+/* 801DA03C 001D5C9C 38 63 9F 70 */ addi r3, r3, __DBMtrHandler@l
+/* 801DA040 001D5CA0 90 6D 9F F4 */ stw r3, lbl_8063F2B4-_SDA_BASE_(r13)
+/* 801DA044 001D5CA4 38 84 9F 94 */ addi r4, r4, __DBIntrHandler@l
+/* 801DA048 001D5CA8 38 60 00 19 */ li r3, 0x19
+/* 801DA04C 001D5CAC 48 09 47 5D */ bl __OSSetInterruptHandler
+/* 801DA050 001D5CB0 38 60 00 40 */ li r3, 0x40
+/* 801DA054 001D5CB4 48 09 4B 19 */ bl __OSUnmaskInterrupts
+/* 801DA058 001D5CB8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801DA05C 001D5CBC 7C 08 03 A6 */ mtlr r0
+/* 801DA060 001D5CC0 38 21 00 10 */ addi r1, r1, 0x10
+/* 801DA064 001D5CC4 4E 80 00 20 */ blr
+
+.global DBQueryData
+DBQueryData:
+/* 801DA068 001D5CC8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA06C 001D5CCC 7C 08 02 A6 */ mflr r0
+/* 801DA070 001D5CD0 38 60 00 00 */ li r3, 0
+/* 801DA074 001D5CD4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA078 001D5CD8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA07C 001D5CDC 80 0D A0 00 */ lwz r0, lbl_8063F2C0-_SDA_BASE_(r13)
+/* 801DA080 001D5CE0 98 6D 9F F8 */ stb r3, lbl_8063F2B8-_SDA_BASE_(r13)
+/* 801DA084 001D5CE4 2C 00 00 00 */ cmpwi r0, 0
+/* 801DA088 001D5CE8 40 82 00 6C */ bne lbl_801DA0F4
+/* 801DA08C 001D5CEC 48 09 46 D1 */ bl OSDisableInterrupts
+/* 801DA090 001D5CF0 7C 7F 1B 78 */ mr r31, r3
+/* 801DA094 001D5CF4 38 81 00 08 */ addi r4, r1, 8
+/* 801DA098 001D5CF8 3C 60 34 00 */ lis r3, 0x3400
+/* 801DA09C 001D5CFC 38 A0 00 01 */ li r5, 1
+/* 801DA0A0 001D5D00 48 00 05 A9 */ bl __DBEXIReadReg
+/* 801DA0A4 001D5D04 88 01 00 08 */ lbz r0, 8(r1)
+/* 801DA0A8 001D5D08 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
+/* 801DA0AC 001D5D0C 40 82 00 40 */ bne lbl_801DA0EC
+/* 801DA0B0 001D5D10 3C 60 34 00 */ lis r3, 0x34000200@ha
+/* 801DA0B4 001D5D14 38 81 00 0C */ addi r4, r1, 0xc
+/* 801DA0B8 001D5D18 38 63 02 00 */ addi r3, r3, 0x34000200@l
+/* 801DA0BC 001D5D1C 38 A0 00 04 */ li r5, 4
+/* 801DA0C0 001D5D20 48 00 05 89 */ bl __DBEXIReadReg
+/* 801DA0C4 001D5D24 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 801DA0C8 001D5D28 54 83 00 CE */ rlwinm r3, r4, 0, 3, 7
+/* 801DA0CC 001D5D2C 3C 03 E1 00 */ addis r0, r3, 0xe100
+/* 801DA0D0 001D5D30 28 00 00 00 */ cmplwi r0, 0
+/* 801DA0D4 001D5D34 40 82 00 18 */ bne lbl_801DA0EC
+/* 801DA0D8 001D5D38 54 83 04 FE */ clrlwi r3, r4, 0x13
+/* 801DA0DC 001D5D3C 38 00 00 01 */ li r0, 1
+/* 801DA0E0 001D5D40 90 8D 9F FC */ stw r4, lbl_8063F2BC-_SDA_BASE_(r13)
+/* 801DA0E4 001D5D44 90 6D A0 00 */ stw r3, lbl_8063F2C0-_SDA_BASE_(r13)
+/* 801DA0E8 001D5D48 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13)
+lbl_801DA0EC:
+/* 801DA0EC 001D5D4C 7F E3 FB 78 */ mr r3, r31
+/* 801DA0F0 001D5D50 48 09 46 95 */ bl OSRestoreInterrupts
+lbl_801DA0F4:
+/* 801DA0F4 001D5D54 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA0F8 001D5D58 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA0FC 001D5D5C 80 6D A0 00 */ lwz r3, lbl_8063F2C0-_SDA_BASE_(r13)
+/* 801DA100 001D5D60 7C 08 03 A6 */ mtlr r0
+/* 801DA104 001D5D64 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA108 001D5D68 4E 80 00 20 */ blr
+
+.global DBRead
+DBRead:
+/* 801DA10C 001D5D6C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 801DA110 001D5D70 7C 08 02 A6 */ mflr r0
+/* 801DA114 001D5D74 90 01 00 14 */ stw r0, 0x14(r1)
+/* 801DA118 001D5D78 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 801DA11C 001D5D7C 7C 9F 23 78 */ mr r31, r4
+/* 801DA120 001D5D80 93 C1 00 08 */ stw r30, 8(r1)
+/* 801DA124 001D5D84 7C 7E 1B 78 */ mr r30, r3
+/* 801DA128 001D5D88 48 09 46 35 */ bl OSDisableInterrupts
+/* 801DA12C 001D5D8C 80 AD 9F FC */ lwz r5, lbl_8063F2BC-_SDA_BASE_(r13)
+/* 801DA130 001D5D90 38 1F 00 03 */ addi r0, r31, 3
+/* 801DA134 001D5D94 7C 7F 1B 78 */ mr r31, r3
+/* 801DA138 001D5D98 7F C4 F3 78 */ mr r4, r30
+/* 801DA13C 001D5D9C 54 A3 87 FE */ rlwinm r3, r5, 0x10, 0x1f, 0x1f
+/* 801DA140 001D5DA0 54 05 00 3A */ rlwinm r5, r0, 0, 0, 0x1d
+/* 801DA144 001D5DA4 7C 03 00 D0 */ neg r0, r3
+/* 801DA148 001D5DA8 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14
+/* 801DA14C 001D5DAC 3C 63 00 D1 */ addis r3, r3, 0xd1
+/* 801DA150 001D5DB0 38 03 10 00 */ addi r0, r3, 0x1000
+/* 801DA154 001D5DB4 54 03 30 AE */ rlwinm r3, r0, 6, 2, 0x17
+/* 801DA158 001D5DB8 48 00 07 19 */ bl __DBEXIReadRam
+/* 801DA15C 001D5DBC 38 00 00 00 */ li r0, 0
+/* 801DA160 001D5DC0 7F E3 FB 78 */ mr r3, r31
+/* 801DA164 001D5DC4 90 0D A0 00 */ stw r0, lbl_8063F2C0-_SDA_BASE_(r13)
+/* 801DA168 001D5DC8 98 0D 9F F8 */ stb r0, lbl_8063F2B8-_SDA_BASE_(r13)
+/* 801DA16C 001D5DCC 48 09 46 19 */ bl OSRestoreInterrupts
+/* 801DA170 001D5DD0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 801DA174 001D5DD4 38 60 00 00 */ li r3, 0
+/* 801DA178 001D5DD8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 801DA17C 001D5DDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801DA180 001D5DE0 7C 08 03 A6 */ mtlr r0
+/* 801DA184 001D5DE4 38 21 00 10 */ addi r1, r1, 0x10
+/* 801DA188 001D5DE8 4E 80 00 20 */ blr
+
+.global DBWrite
+DBWrite:
+/* 801DA18C 001D5DEC 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 801DA190 001D5DF0 7C 08 02 A6 */ mflr r0
+/* 801DA194 001D5DF4 90 01 00 34 */ stw r0, 0x34(r1)
+/* 801DA198 001D5DF8 39 61 00 30 */ addi r11, r1, 0x30
+/* 801DA19C 001D5DFC 4B FE CF 8D */ bl _savegpr_27
+/* 801DA1A0 001D5E00 7C 7B 1B 78 */ mr r27, r3
+/* 801DA1A4 001D5E04 7C 9C 23 78 */ mr r28, r4
+/* 801DA1A8 001D5E08 48 09 45 B5 */ bl OSDisableInterrupts
+/* 801DA1AC 001D5E0C 7C 7F 1B 78 */ mr r31, r3
+lbl_801DA1B0:
+/* 801DA1B0 001D5E10 38 81 00 0A */ addi r4, r1, 0xa
+/* 801DA1B4 001D5E14 3C 60 34 00 */ lis r3, 0x3400
+/* 801DA1B8 001D5E18 38 A0 00 01 */ li r5, 1
+/* 801DA1BC 001D5E1C 48 00 04 8D */ bl __DBEXIReadReg
+/* 801DA1C0 001D5E20 88 01 00 0A */ lbz r0, 0xa(r1)
+/* 801DA1C4 001D5E24 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 801DA1C8 001D5E28 40 82 FF E8 */ bne lbl_801DA1B0
+/* 801DA1CC 001D5E2C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13)
+/* 801DA1D0 001D5E30 38 1C 00 03 */ addi r0, r28, 3
+/* 801DA1D4 001D5E34 54 1D 00 3A */ rlwinm r29, r0, 0, 0, 0x1d
+/* 801DA1D8 001D5E38 38 63 00 01 */ addi r3, r3, 1
+/* 801DA1DC 001D5E3C 54 60 07 FE */ clrlwi r0, r3, 0x1f
+/* 801DA1E0 001D5E40 98 6D 84 08 */ stb r3, lbl_8063D6C8-_SDA_BASE_(r13)
+/* 801DA1E4 001D5E44 7C 00 00 D0 */ neg r0, r0
+/* 801DA1E8 001D5E48 54 03 05 28 */ rlwinm r3, r0, 0, 0x14, 0x14
+/* 801DA1EC 001D5E4C 3C 03 00 D1 */ addis r0, r3, 0xd1
+/* 801DA1F0 001D5E50 54 00 30 AE */ rlwinm r0, r0, 6, 2, 0x17
+/* 801DA1F4 001D5E54 64 1E 80 00 */ oris r30, r0, 0x8000
+lbl_801DA1F8:
+/* 801DA1F8 001D5E58 7F C3 F3 78 */ mr r3, r30
+/* 801DA1FC 001D5E5C 7F 64 DB 78 */ mr r4, r27
+/* 801DA200 001D5E60 7F A5 EB 78 */ mr r5, r29
+/* 801DA204 001D5E64 48 00 07 4D */ bl __DBEXIWriteRam
+/* 801DA208 001D5E68 2C 03 00 00 */ cmpwi r3, 0
+/* 801DA20C 001D5E6C 41 82 FF EC */ beq lbl_801DA1F8
+lbl_801DA210:
+/* 801DA210 001D5E70 38 81 00 09 */ addi r4, r1, 9
+/* 801DA214 001D5E74 3C 60 34 00 */ lis r3, 0x3400
+/* 801DA218 001D5E78 38 A0 00 01 */ li r5, 1
+/* 801DA21C 001D5E7C 48 00 04 2D */ bl __DBEXIReadReg
+/* 801DA220 001D5E80 88 01 00 09 */ lbz r0, 9(r1)
+/* 801DA224 001D5E84 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 801DA228 001D5E88 40 82 FF E8 */ bne lbl_801DA210
+/* 801DA22C 001D5E8C 88 6D 84 08 */ lbz r3, lbl_8063D6C8-_SDA_BASE_(r13)
+/* 801DA230 001D5E90 57 80 04 FE */ clrlwi r0, r28, 0x13
+/* 801DA234 001D5E94 64 1D 1F 00 */ oris r29, r0, 0x1f00
+/* 801DA238 001D5E98 3F C0 B4 00 */ lis r30, 0xB4000100@ha
+/* 801DA23C 001D5E9C 50 7D 82 1E */ rlwimi r29, r3, 0x10, 8, 0xf
+lbl_801DA240:
+/* 801DA240 001D5EA0 93 A1 00 0C */ stw r29, 0xc(r1)
+/* 801DA244 001D5EA4 38 7E 01 00 */ addi r3, r30, 0xB4000100@l
+/* 801DA248 001D5EA8 38 81 00 0C */ addi r4, r1, 0xc
+/* 801DA24C 001D5EAC 38 A0 00 04 */ li r5, 4
+/* 801DA250 001D5EB0 48 00 05 1D */ bl __DBEXIWriteReg
+/* 801DA254 001D5EB4 2C 03 00 00 */ cmpwi r3, 0
+/* 801DA258 001D5EB8 41 82 FF E8 */ beq lbl_801DA240
+lbl_801DA25C:
+/* 801DA25C 001D5EBC 38 81 00 08 */ addi r4, r1, 8
+/* 801DA260 001D5EC0 3C 60 34 00 */ lis r3, 0x3400
+/* 801DA264 001D5EC4 38 A0 00 01 */ li r5, 1
+/* 801DA268 001D5EC8 48 00 03 E1 */ bl __DBEXIReadReg
+/* 801DA26C 001D5ECC 88 01 00 08 */ lbz r0, 8(r1)
+/* 801DA270 001D5ED0 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 801DA274 001D5ED4 40 82 FF E8 */ bne lbl_801DA25C
+/* 801DA278 001D5ED8 7F E3 FB 78 */ mr r3, r31
+/* 801DA27C 001D5EDC 48 09 45 09 */ bl OSRestoreInterrupts
+/* 801DA280 001D5EE0 39 61 00 30 */ addi r11, r1, 0x30
+/* 801DA284 001D5EE4 38 60 00 00 */ li r3, 0
+/* 801DA288 001D5EE8 4B FE CE ED */ bl _restgpr_27
+/* 801DA28C 001D5EEC 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 801DA290 001D5EF0 7C 08 03 A6 */ mtlr r0
+/* 801DA294 001D5EF4 38 21 00 30 */ addi r1, r1, 0x30
+/* 801DA298 001D5EF8 4E 80 00 20 */ blr
+
+.global DBOpen
+DBOpen:
+/* 801DA29C 001D5EFC 4E 80 00 20 */ blr
+
+.global DBClose
+DBClose:
+/* 801DA2A0 001D5F00 4E 80 00 20 */ blr
diff --git a/asm/SDK/NdevExi2A/exi2.s b/asm/SDK/NdevExi2A/exi2.s
new file mode 100644
index 0000000..d69761e
--- /dev/null
+++ b/asm/SDK/NdevExi2A/exi2.s
@@ -0,0 +1,539 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __EXI2Imm
+__EXI2Imm:
+/* 801DA2A4 001D5F04 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA2A8 001D5F08 7C 08 02 A6 */ mflr r0
+/* 801DA2AC 001D5F0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA2B0 001D5F10 39 61 00 20 */ addi r11, r1, 0x20
+/* 801DA2B4 001D5F14 4B FE CE 71 */ bl _savegpr_26
+/* 801DA2B8 001D5F18 2C 05 00 00 */ cmpwi r5, 0
+/* 801DA2BC 001D5F1C 41 82 01 5C */ beq lbl_801DA418
+/* 801DA2C0 001D5F20 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 801DA2C4 001D5F24 38 00 00 00 */ li r0, 0
+/* 801DA2C8 001D5F28 38 E0 00 00 */ li r7, 0
+/* 801DA2CC 001D5F2C 40 85 01 44 */ ble cr1, lbl_801DA410
+/* 801DA2D0 001D5F30 2C 04 00 08 */ cmpwi r4, 8
+/* 801DA2D4 001D5F34 39 24 FF F8 */ addi r9, r4, -8
+/* 801DA2D8 001D5F38 40 81 01 04 */ ble lbl_801DA3DC
+/* 801DA2DC 001D5F3C 39 00 00 00 */ li r8, 0
+/* 801DA2E0 001D5F40 41 84 00 18 */ blt cr1, lbl_801DA2F8
+/* 801DA2E4 001D5F44 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
+/* 801DA2E8 001D5F48 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l
+/* 801DA2EC 001D5F4C 7C 04 30 00 */ cmpw r4, r6
+/* 801DA2F0 001D5F50 41 81 00 08 */ bgt lbl_801DA2F8
+/* 801DA2F4 001D5F54 39 00 00 01 */ li r8, 1
+lbl_801DA2F8:
+/* 801DA2F8 001D5F58 2C 08 00 00 */ cmpwi r8, 0
+/* 801DA2FC 001D5F5C 41 82 00 E0 */ beq lbl_801DA3DC
+/* 801DA300 001D5F60 39 09 00 07 */ addi r8, r9, 7
+/* 801DA304 001D5F64 7C 66 1B 78 */ mr r6, r3
+/* 801DA308 001D5F68 55 08 E8 FE */ srwi r8, r8, 3
+/* 801DA30C 001D5F6C 7D 09 03 A6 */ mtctr r8
+/* 801DA310 001D5F70 2C 09 00 00 */ cmpwi r9, 0
+/* 801DA314 001D5F74 40 81 00 C8 */ ble lbl_801DA3DC
+lbl_801DA318:
+/* 801DA318 001D5F78 21 27 00 03 */ subfic r9, r7, 3
+/* 801DA31C 001D5F7C 39 07 00 01 */ addi r8, r7, 1
+/* 801DA320 001D5F80 23 88 00 03 */ subfic r28, r8, 3
+/* 801DA324 001D5F84 89 46 00 00 */ lbz r10, 0(r6)
+/* 801DA328 001D5F88 39 07 00 02 */ addi r8, r7, 2
+/* 801DA32C 001D5F8C 8B 66 00 01 */ lbz r27, 1(r6)
+/* 801DA330 001D5F90 23 A8 00 03 */ subfic r29, r8, 3
+/* 801DA334 001D5F94 57 9C 18 38 */ slwi r28, r28, 3
+/* 801DA338 001D5F98 55 28 18 38 */ slwi r8, r9, 3
+/* 801DA33C 001D5F9C 7D 87 00 D0 */ neg r12, r7
+/* 801DA340 001D5FA0 7D 5A 40 30 */ slw r26, r10, r8
+/* 801DA344 001D5FA4 57 BE 18 38 */ slwi r30, r29, 3
+/* 801DA348 001D5FA8 8B E6 00 02 */ lbz r31, 2(r6)
+/* 801DA34C 001D5FAC 39 07 00 04 */ addi r8, r7, 4
+/* 801DA350 001D5FB0 21 68 00 03 */ subfic r11, r8, 3
+/* 801DA354 001D5FB4 7C 00 D3 78 */ or r0, r0, r26
+/* 801DA358 001D5FB8 7F 7C E0 30 */ slw r28, r27, r28
+/* 801DA35C 001D5FBC 39 07 00 05 */ addi r8, r7, 5
+/* 801DA360 001D5FC0 7F FF F0 30 */ slw r31, r31, r30
+/* 801DA364 001D5FC4 8B A6 00 03 */ lbz r29, 3(r6)
+/* 801DA368 001D5FC8 55 8C 18 38 */ slwi r12, r12, 3
+/* 801DA36C 001D5FCC 7C 00 E3 78 */ or r0, r0, r28
+/* 801DA370 001D5FD0 21 48 00 03 */ subfic r10, r8, 3
+/* 801DA374 001D5FD4 39 07 00 06 */ addi r8, r7, 6
+/* 801DA378 001D5FD8 7F BD 60 30 */ slw r29, r29, r12
+/* 801DA37C 001D5FDC 7C 00 FB 78 */ or r0, r0, r31
+/* 801DA380 001D5FE0 21 28 00 03 */ subfic r9, r8, 3
+/* 801DA384 001D5FE4 39 07 00 07 */ addi r8, r7, 7
+/* 801DA388 001D5FE8 55 4C 18 38 */ slwi r12, r10, 3
+/* 801DA38C 001D5FEC 8B E6 00 05 */ lbz r31, 5(r6)
+/* 801DA390 001D5FF0 21 08 00 03 */ subfic r8, r8, 3
+/* 801DA394 001D5FF4 55 2A 18 38 */ slwi r10, r9, 3
+/* 801DA398 001D5FF8 8B C6 00 04 */ lbz r30, 4(r6)
+/* 801DA39C 001D5FFC 55 6B 18 38 */ slwi r11, r11, 3
+/* 801DA3A0 001D6000 7C 00 EB 78 */ or r0, r0, r29
+/* 801DA3A4 001D6004 89 26 00 07 */ lbz r9, 7(r6)
+/* 801DA3A8 001D6008 7F DE 58 30 */ slw r30, r30, r11
+/* 801DA3AC 001D600C 89 66 00 06 */ lbz r11, 6(r6)
+/* 801DA3B0 001D6010 55 08 18 38 */ slwi r8, r8, 3
+/* 801DA3B4 001D6014 7F EC 60 30 */ slw r12, r31, r12
+/* 801DA3B8 001D6018 7C 00 F3 78 */ or r0, r0, r30
+/* 801DA3BC 001D601C 7D 6A 50 30 */ slw r10, r11, r10
+/* 801DA3C0 001D6020 7C 00 63 78 */ or r0, r0, r12
+/* 801DA3C4 001D6024 7D 28 40 30 */ slw r8, r9, r8
+/* 801DA3C8 001D6028 7C 00 53 78 */ or r0, r0, r10
+/* 801DA3CC 001D602C 38 E7 00 08 */ addi r7, r7, 8
+/* 801DA3D0 001D6030 7C 00 43 78 */ or r0, r0, r8
+/* 801DA3D4 001D6034 38 C6 00 08 */ addi r6, r6, 8
+/* 801DA3D8 001D6038 42 00 FF 40 */ bdnz lbl_801DA318
+lbl_801DA3DC:
+/* 801DA3DC 001D603C 7C C7 20 50 */ subf r6, r7, r4
+/* 801DA3E0 001D6040 7D 23 3A 14 */ add r9, r3, r7
+/* 801DA3E4 001D6044 7C C9 03 A6 */ mtctr r6
+/* 801DA3E8 001D6048 7C 07 20 00 */ cmpw r7, r4
+/* 801DA3EC 001D604C 40 80 00 24 */ bge lbl_801DA410
+lbl_801DA3F0:
+/* 801DA3F0 001D6050 20 C7 00 03 */ subfic r6, r7, 3
+/* 801DA3F4 001D6054 89 09 00 00 */ lbz r8, 0(r9)
+/* 801DA3F8 001D6058 54 C6 18 38 */ slwi r6, r6, 3
+/* 801DA3FC 001D605C 39 29 00 01 */ addi r9, r9, 1
+/* 801DA400 001D6060 7D 06 30 30 */ slw r6, r8, r6
+/* 801DA404 001D6064 38 E7 00 01 */ addi r7, r7, 1
+/* 801DA408 001D6068 7C 00 33 78 */ or r0, r0, r6
+/* 801DA40C 001D606C 42 00 FF E4 */ bdnz lbl_801DA3F0
+lbl_801DA410:
+/* 801DA410 001D6070 3C C0 CD 00 */ lis r6, 0xCD006838@ha
+/* 801DA414 001D6074 90 06 68 38 */ stw r0, 0xCD006838@l(r6)
+lbl_801DA418:
+/* 801DA418 001D6078 54 A6 10 3A */ slwi r6, r5, 2
+/* 801DA41C 001D607C 38 04 FF FF */ addi r0, r4, -1
+/* 801DA420 001D6080 60 C7 00 01 */ ori r7, r6, 1
+/* 801DA424 001D6084 54 00 20 36 */ slwi r0, r0, 4
+/* 801DA428 001D6088 3C C0 CD 00 */ lis r6, 0xCD006834@ha
+/* 801DA42C 001D608C 7C E0 03 78 */ or r0, r7, r0
+/* 801DA430 001D6090 90 06 68 34 */ stw r0, 0xCD006834@l(r6)
+lbl_801DA434:
+/* 801DA434 001D6094 80 06 68 34 */ lwz r0, 0x6834(r6)
+/* 801DA438 001D6098 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA43C 001D609C 40 82 FF F8 */ bne lbl_801DA434
+/* 801DA440 001D60A0 2C 05 00 00 */ cmpwi r5, 0
+/* 801DA444 001D60A4 40 82 01 2C */ bne lbl_801DA570
+/* 801DA448 001D60A8 3C A0 CD 00 */ lis r5, 0xCD006838@ha
+/* 801DA44C 001D60AC 2C 84 00 00 */ cmpwi cr1, r4, 0
+/* 801DA450 001D60B0 80 05 68 38 */ lwz r0, 0xCD006838@l(r5)
+/* 801DA454 001D60B4 38 A0 00 00 */ li r5, 0
+/* 801DA458 001D60B8 40 85 01 18 */ ble cr1, lbl_801DA570
+/* 801DA45C 001D60BC 2C 04 00 08 */ cmpwi r4, 8
+/* 801DA460 001D60C0 38 E4 FF F8 */ addi r7, r4, -8
+/* 801DA464 001D60C4 40 81 00 E0 */ ble lbl_801DA544
+/* 801DA468 001D60C8 39 00 00 00 */ li r8, 0
+/* 801DA46C 001D60CC 41 84 00 18 */ blt cr1, lbl_801DA484
+/* 801DA470 001D60D0 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
+/* 801DA474 001D60D4 38 C6 FF FE */ addi r6, r6, 0x7FFFFFFE@l
+/* 801DA478 001D60D8 7C 04 30 00 */ cmpw r4, r6
+/* 801DA47C 001D60DC 41 81 00 08 */ bgt lbl_801DA484
+/* 801DA480 001D60E0 39 00 00 01 */ li r8, 1
+lbl_801DA484:
+/* 801DA484 001D60E4 2C 08 00 00 */ cmpwi r8, 0
+/* 801DA488 001D60E8 41 82 00 BC */ beq lbl_801DA544
+/* 801DA48C 001D60EC 38 C7 00 07 */ addi r6, r7, 7
+/* 801DA490 001D60F0 54 C6 E8 FE */ srwi r6, r6, 3
+/* 801DA494 001D60F4 7C C9 03 A6 */ mtctr r6
+/* 801DA498 001D60F8 2C 07 00 00 */ cmpwi r7, 0
+/* 801DA49C 001D60FC 40 81 00 A8 */ ble lbl_801DA544
+lbl_801DA4A0:
+/* 801DA4A0 001D6100 20 C5 00 03 */ subfic r6, r5, 3
+/* 801DA4A4 001D6104 38 E5 00 01 */ addi r7, r5, 1
+/* 801DA4A8 001D6108 54 C8 18 38 */ slwi r8, r6, 3
+/* 801DA4AC 001D610C 7C 09 44 30 */ srw r9, r0, r8
+/* 801DA4B0 001D6110 20 E7 00 03 */ subfic r7, r7, 3
+/* 801DA4B4 001D6114 54 E8 18 38 */ slwi r8, r7, 3
+/* 801DA4B8 001D6118 99 23 00 00 */ stb r9, 0(r3)
+/* 801DA4BC 001D611C 38 E5 00 02 */ addi r7, r5, 2
+/* 801DA4C0 001D6120 7C C5 00 D0 */ neg r6, r5
+/* 801DA4C4 001D6124 7C 09 44 30 */ srw r9, r0, r8
+/* 801DA4C8 001D6128 54 C8 18 38 */ slwi r8, r6, 3
+/* 801DA4CC 001D612C 20 E7 00 03 */ subfic r7, r7, 3
+/* 801DA4D0 001D6130 54 E6 18 38 */ slwi r6, r7, 3
+/* 801DA4D4 001D6134 99 23 00 01 */ stb r9, 1(r3)
+/* 801DA4D8 001D6138 7C 09 34 30 */ srw r9, r0, r6
+/* 801DA4DC 001D613C 7C 08 44 30 */ srw r8, r0, r8
+/* 801DA4E0 001D6140 38 C5 00 04 */ addi r6, r5, 4
+/* 801DA4E4 001D6144 99 23 00 02 */ stb r9, 2(r3)
+/* 801DA4E8 001D6148 20 E6 00 03 */ subfic r7, r6, 3
+/* 801DA4EC 001D614C 38 C5 00 05 */ addi r6, r5, 5
+/* 801DA4F0 001D6150 99 03 00 03 */ stb r8, 3(r3)
+/* 801DA4F4 001D6154 54 E7 18 38 */ slwi r7, r7, 3
+/* 801DA4F8 001D6158 7C 09 3C 30 */ srw r9, r0, r7
+/* 801DA4FC 001D615C 20 C6 00 03 */ subfic r6, r6, 3
+/* 801DA500 001D6160 54 C8 18 38 */ slwi r8, r6, 3
+/* 801DA504 001D6164 99 23 00 04 */ stb r9, 4(r3)
+/* 801DA508 001D6168 38 C5 00 06 */ addi r6, r5, 6
+/* 801DA50C 001D616C 20 E6 00 03 */ subfic r7, r6, 3
+/* 801DA510 001D6170 7C 08 44 30 */ srw r8, r0, r8
+/* 801DA514 001D6174 38 C5 00 07 */ addi r6, r5, 7
+/* 801DA518 001D6178 99 03 00 05 */ stb r8, 5(r3)
+/* 801DA51C 001D617C 54 E7 18 38 */ slwi r7, r7, 3
+/* 801DA520 001D6180 38 A5 00 08 */ addi r5, r5, 8
+/* 801DA524 001D6184 20 C6 00 03 */ subfic r6, r6, 3
+/* 801DA528 001D6188 7C 07 3C 30 */ srw r7, r0, r7
+/* 801DA52C 001D618C 54 C6 18 38 */ slwi r6, r6, 3
+/* 801DA530 001D6190 98 E3 00 06 */ stb r7, 6(r3)
+/* 801DA534 001D6194 7C 06 34 30 */ srw r6, r0, r6
+/* 801DA538 001D6198 98 C3 00 07 */ stb r6, 7(r3)
+/* 801DA53C 001D619C 38 63 00 08 */ addi r3, r3, 8
+/* 801DA540 001D61A0 42 00 FF 60 */ bdnz lbl_801DA4A0
+lbl_801DA544:
+/* 801DA544 001D61A4 7C C5 20 50 */ subf r6, r5, r4
+/* 801DA548 001D61A8 7C C9 03 A6 */ mtctr r6
+/* 801DA54C 001D61AC 7C 05 20 00 */ cmpw r5, r4
+/* 801DA550 001D61B0 40 80 00 20 */ bge lbl_801DA570
+lbl_801DA554:
+/* 801DA554 001D61B4 20 85 00 03 */ subfic r4, r5, 3
+/* 801DA558 001D61B8 38 A5 00 01 */ addi r5, r5, 1
+/* 801DA55C 001D61BC 54 84 18 38 */ slwi r4, r4, 3
+/* 801DA560 001D61C0 7C 04 24 30 */ srw r4, r0, r4
+/* 801DA564 001D61C4 98 83 00 00 */ stb r4, 0(r3)
+/* 801DA568 001D61C8 38 63 00 01 */ addi r3, r3, 1
+/* 801DA56C 001D61CC 42 00 FF E8 */ bdnz lbl_801DA554
+lbl_801DA570:
+/* 801DA570 001D61D0 39 61 00 20 */ addi r11, r1, 0x20
+/* 801DA574 001D61D4 38 60 00 01 */ li r3, 1
+/* 801DA578 001D61D8 4B FE CB F9 */ bl _restgpr_26
+/* 801DA57C 001D61DC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA580 001D61E0 7C 08 03 A6 */ mtlr r0
+/* 801DA584 001D61E4 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA588 001D61E8 4E 80 00 20 */ blr
+
+.global __DBEXIInit
+__DBEXIInit:
+/* 801DA58C 001D61EC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA590 001D61F0 7C 08 02 A6 */ mflr r0
+/* 801DA594 001D61F4 3C 60 00 02 */ lis r3, 0x00018000@ha
+/* 801DA598 001D61F8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA59C 001D61FC 38 63 80 00 */ addi r3, r3, 0x00018000@l
+/* 801DA5A0 001D6200 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA5A4 001D6204 48 09 45 49 */ bl __OSMaskInterrupts
+/* 801DA5A8 001D6208 3C 60 CD 00 */ lis r3, 0xCD006834@ha
+lbl_801DA5AC:
+/* 801DA5AC 001D620C 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
+/* 801DA5B0 001D6210 54 00 07 FE */ clrlwi r0, r0, 0x1f
+/* 801DA5B4 001D6214 28 00 00 01 */ cmplwi r0, 1
+/* 801DA5B8 001D6218 41 82 FF F4 */ beq lbl_801DA5AC
+/* 801DA5BC 001D621C 3F E0 CD 00 */ lis r31, 0xCD006828@ha
+/* 801DA5C0 001D6220 38 00 00 00 */ li r0, 0
+/* 801DA5C4 001D6224 90 1F 68 28 */ stw r0, 0xCD006828@l(r31)
+/* 801DA5C8 001D6228 3C 60 B4 00 */ lis r3, 0xb400
+/* 801DA5CC 001D622C 3C 00 D4 00 */ lis r0, 0xd400
+/* 801DA5D0 001D6230 38 80 00 04 */ li r4, 4
+/* 801DA5D4 001D6234 90 61 00 0C */ stw r3, 0xc(r1)
+/* 801DA5D8 001D6238 38 61 00 0C */ addi r3, r1, 0xc
+/* 801DA5DC 001D623C 38 A0 00 01 */ li r5, 1
+/* 801DA5E0 001D6240 90 01 00 08 */ stw r0, 8(r1)
+/* 801DA5E4 001D6244 80 1F 68 28 */ lwz r0, 0x6828(r31)
+/* 801DA5E8 001D6248 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA5EC 001D624C 60 00 00 C0 */ ori r0, r0, 0xc0
+/* 801DA5F0 001D6250 90 1F 68 28 */ stw r0, 0x6828(r31)
+/* 801DA5F4 001D6254 4B FF FC B1 */ bl __EXI2Imm
+lbl_801DA5F8:
+/* 801DA5F8 001D6258 80 1F 68 34 */ lwz r0, 0x6834(r31)
+/* 801DA5FC 001D625C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA600 001D6260 40 82 FF F8 */ bne lbl_801DA5F8
+/* 801DA604 001D6264 38 61 00 08 */ addi r3, r1, 8
+/* 801DA608 001D6268 38 80 00 04 */ li r4, 4
+/* 801DA60C 001D626C 38 A0 00 01 */ li r5, 1
+/* 801DA610 001D6270 4B FF FC 95 */ bl __EXI2Imm
+/* 801DA614 001D6274 3C 60 CD 00 */ lis r3, 0xCD006834@ha
+lbl_801DA618:
+/* 801DA618 001D6278 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
+/* 801DA61C 001D627C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA620 001D6280 40 82 FF F8 */ bne lbl_801DA618
+/* 801DA624 001D6284 3C 60 CD 00 */ lis r3, 0xCD006828@ha
+/* 801DA628 001D6288 80 03 68 28 */ lwz r0, 0xCD006828@l(r3)
+/* 801DA62C 001D628C 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA630 001D6290 90 03 68 28 */ stw r0, 0x6828(r3)
+/* 801DA634 001D6294 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA638 001D6298 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA63C 001D629C 7C 08 03 A6 */ mtlr r0
+/* 801DA640 001D62A0 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA644 001D62A4 4E 80 00 20 */ blr
+
+.global __DBEXIReadReg
+__DBEXIReadReg:
+/* 801DA648 001D62A8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA64C 001D62AC 7C 08 02 A6 */ mflr r0
+/* 801DA650 001D62B0 38 C0 00 00 */ li r6, 0
+/* 801DA654 001D62B4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA658 001D62B8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA65C 001D62BC 7C BF 2B 78 */ mr r31, r5
+/* 801DA660 001D62C0 38 A0 00 01 */ li r5, 1
+/* 801DA664 001D62C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801DA668 001D62C8 7C 9E 23 78 */ mr r30, r4
+/* 801DA66C 001D62CC 38 80 00 04 */ li r4, 4
+/* 801DA670 001D62D0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801DA674 001D62D4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 801DA678 001D62D8 3F 80 CD 00 */ lis r28, 0xCD006828@ha
+/* 801DA67C 001D62DC 90 61 00 08 */ stw r3, 8(r1)
+/* 801DA680 001D62E0 38 61 00 08 */ addi r3, r1, 8
+/* 801DA684 001D62E4 90 C1 00 0C */ stw r6, 0xc(r1)
+/* 801DA688 001D62E8 80 1C 68 28 */ lwz r0, 0xCD006828@l(r28)
+/* 801DA68C 001D62EC 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA690 001D62F0 60 00 00 C0 */ ori r0, r0, 0xc0
+/* 801DA694 001D62F4 90 1C 68 28 */ stw r0, 0x6828(r28)
+/* 801DA698 001D62F8 4B FF FC 0D */ bl __EXI2Imm
+/* 801DA69C 001D62FC 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA6A0 001D6300 54 1D D9 7E */ srwi r29, r0, 5
+lbl_801DA6A4:
+/* 801DA6A4 001D6304 80 1C 68 34 */ lwz r0, 0x6834(r28)
+/* 801DA6A8 001D6308 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA6AC 001D630C 40 82 FF F8 */ bne lbl_801DA6A4
+/* 801DA6B0 001D6310 38 61 00 0C */ addi r3, r1, 0xc
+/* 801DA6B4 001D6314 38 80 00 04 */ li r4, 4
+/* 801DA6B8 001D6318 38 A0 00 00 */ li r5, 0
+/* 801DA6BC 001D631C 4B FF FB E9 */ bl __EXI2Imm
+/* 801DA6C0 001D6320 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA6C4 001D6324 3C 60 CD 00 */ lis r3, 0xCD006834@ha
+/* 801DA6C8 001D6328 54 00 D9 7E */ srwi r0, r0, 5
+/* 801DA6CC 001D632C 7F A6 03 78 */ or r6, r29, r0
+lbl_801DA6D0:
+/* 801DA6D0 001D6330 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
+/* 801DA6D4 001D6334 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA6D8 001D6338 40 82 FF F8 */ bne lbl_801DA6D0
+/* 801DA6DC 001D633C 3C 60 CD 00 */ lis r3, 0xCD006828@ha
+/* 801DA6E0 001D6340 2C 9F 00 02 */ cmpwi cr1, r31, 2
+/* 801DA6E4 001D6344 80 03 68 28 */ lwz r0, 0xCD006828@l(r3)
+/* 801DA6E8 001D6348 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA6EC 001D634C 90 03 68 28 */ stw r0, 0x6828(r3)
+/* 801DA6F0 001D6350 41 86 00 24 */ beq cr1, lbl_801DA714
+/* 801DA6F4 001D6354 40 84 00 34 */ bge cr1, lbl_801DA728
+/* 801DA6F8 001D6358 2C 1F 00 01 */ cmpwi r31, 1
+/* 801DA6FC 001D635C 40 80 00 08 */ bge lbl_801DA704
+/* 801DA700 001D6360 48 00 00 28 */ b lbl_801DA728
+lbl_801DA704:
+/* 801DA704 001D6364 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801DA708 001D6368 54 00 46 3E */ srwi r0, r0, 0x18
+/* 801DA70C 001D636C 98 1E 00 00 */ stb r0, 0(r30)
+/* 801DA710 001D6370 48 00 00 34 */ b lbl_801DA744
+lbl_801DA714:
+/* 801DA714 001D6374 80 61 00 0C */ lwz r3, 0xc(r1)
+/* 801DA718 001D6378 54 60 C4 2E */ rlwinm r0, r3, 0x18, 0x10, 0x17
+/* 801DA71C 001D637C 50 60 46 3E */ rlwimi r0, r3, 8, 0x18, 0x1f
+/* 801DA720 001D6380 B0 1E 00 00 */ sth r0, 0(r30)
+/* 801DA724 001D6384 48 00 00 20 */ b lbl_801DA744
+lbl_801DA728:
+/* 801DA728 001D6388 80 81 00 0C */ lwz r4, 0xc(r1)
+/* 801DA72C 001D638C 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
+/* 801DA730 001D6390 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
+/* 801DA734 001D6394 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
+/* 801DA738 001D6398 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
+/* 801DA73C 001D639C 7C 60 03 78 */ or r0, r3, r0
+/* 801DA740 001D63A0 90 1E 00 00 */ stw r0, 0(r30)
+lbl_801DA744:
+/* 801DA744 001D63A4 7C C0 00 34 */ cntlzw r0, r6
+/* 801DA748 001D63A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA74C 001D63AC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801DA750 001D63B0 54 03 D9 7E */ srwi r3, r0, 5
+/* 801DA754 001D63B4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801DA758 001D63B8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 801DA75C 001D63BC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA760 001D63C0 7C 08 03 A6 */ mtlr r0
+/* 801DA764 001D63C4 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA768 001D63C8 4E 80 00 20 */ blr
+
+.global __DBEXIWriteReg
+__DBEXIWriteReg:
+/* 801DA76C 001D63CC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA770 001D63D0 7C 08 02 A6 */ mflr r0
+/* 801DA774 001D63D4 2C 05 00 02 */ cmpwi r5, 2
+/* 801DA778 001D63D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA77C 001D63DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA780 001D63E0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801DA784 001D63E4 90 61 00 08 */ stw r3, 8(r1)
+/* 801DA788 001D63E8 41 82 00 24 */ beq lbl_801DA7AC
+/* 801DA78C 001D63EC 40 80 00 34 */ bge lbl_801DA7C0
+/* 801DA790 001D63F0 2C 05 00 01 */ cmpwi r5, 1
+/* 801DA794 001D63F4 40 80 00 08 */ bge lbl_801DA79C
+/* 801DA798 001D63F8 48 00 00 28 */ b lbl_801DA7C0
+lbl_801DA79C:
+/* 801DA79C 001D63FC 88 04 00 00 */ lbz r0, 0(r4)
+/* 801DA7A0 001D6400 54 00 C0 0E */ slwi r0, r0, 0x18
+/* 801DA7A4 001D6404 90 01 00 0C */ stw r0, 0xc(r1)
+/* 801DA7A8 001D6408 48 00 00 34 */ b lbl_801DA7DC
+lbl_801DA7AC:
+/* 801DA7AC 001D640C A0 64 00 00 */ lhz r3, 0(r4)
+/* 801DA7B0 001D6410 54 60 42 1E */ rlwinm r0, r3, 8, 8, 0xf
+/* 801DA7B4 001D6414 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
+/* 801DA7B8 001D6418 90 01 00 0C */ stw r0, 0xc(r1)
+/* 801DA7BC 001D641C 48 00 00 20 */ b lbl_801DA7DC
+lbl_801DA7C0:
+/* 801DA7C0 001D6420 80 84 00 00 */ lwz r4, 0(r4)
+/* 801DA7C4 001D6424 54 83 42 1E */ rlwinm r3, r4, 8, 8, 0xf
+/* 801DA7C8 001D6428 54 80 C4 2E */ rlwinm r0, r4, 0x18, 0x10, 0x17
+/* 801DA7CC 001D642C 50 83 C0 0E */ rlwimi r3, r4, 0x18, 0, 7
+/* 801DA7D0 001D6430 50 80 46 3E */ rlwimi r0, r4, 8, 0x18, 0x1f
+/* 801DA7D4 001D6434 7C 60 03 78 */ or r0, r3, r0
+/* 801DA7D8 001D6438 90 01 00 0C */ stw r0, 0xc(r1)
+lbl_801DA7DC:
+/* 801DA7DC 001D643C 3F C0 CD 00 */ lis r30, 0xCD006828@ha
+/* 801DA7E0 001D6440 38 61 00 08 */ addi r3, r1, 8
+/* 801DA7E4 001D6444 80 1E 68 28 */ lwz r0, 0xCD006828@l(r30)
+/* 801DA7E8 001D6448 38 80 00 04 */ li r4, 4
+/* 801DA7EC 001D644C 38 A0 00 01 */ li r5, 1
+/* 801DA7F0 001D6450 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA7F4 001D6454 60 00 00 C0 */ ori r0, r0, 0xc0
+/* 801DA7F8 001D6458 90 1E 68 28 */ stw r0, 0x6828(r30)
+/* 801DA7FC 001D645C 4B FF FA A9 */ bl __EXI2Imm
+/* 801DA800 001D6460 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA804 001D6464 54 1F D9 7E */ srwi r31, r0, 5
+lbl_801DA808:
+/* 801DA808 001D6468 80 1E 68 34 */ lwz r0, 0x6834(r30)
+/* 801DA80C 001D646C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA810 001D6470 40 82 FF F8 */ bne lbl_801DA808
+/* 801DA814 001D6474 38 61 00 0C */ addi r3, r1, 0xc
+/* 801DA818 001D6478 38 80 00 04 */ li r4, 4
+/* 801DA81C 001D647C 38 A0 00 01 */ li r5, 1
+/* 801DA820 001D6480 4B FF FA 85 */ bl __EXI2Imm
+/* 801DA824 001D6484 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA828 001D6488 3C 60 CD 00 */ lis r3, 0xCD006834@ha
+/* 801DA82C 001D648C 54 00 D9 7E */ srwi r0, r0, 5
+/* 801DA830 001D6490 7F E5 03 78 */ or r5, r31, r0
+lbl_801DA834:
+/* 801DA834 001D6494 80 03 68 34 */ lwz r0, 0xCD006834@l(r3)
+/* 801DA838 001D6498 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA83C 001D649C 40 82 FF F8 */ bne lbl_801DA834
+/* 801DA840 001D64A0 3C 80 CD 00 */ lis r4, 0xCD006828@ha
+/* 801DA844 001D64A4 7C A0 00 34 */ cntlzw r0, r5
+/* 801DA848 001D64A8 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
+/* 801DA84C 001D64AC 54 03 D9 7E */ srwi r3, r0, 5
+/* 801DA850 001D64B0 70 A0 04 05 */ andi. r0, r5, 0x405
+/* 801DA854 001D64B4 90 04 68 28 */ stw r0, 0x6828(r4)
+/* 801DA858 001D64B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA85C 001D64BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA860 001D64C0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801DA864 001D64C4 7C 08 03 A6 */ mtlr r0
+/* 801DA868 001D64C8 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA86C 001D64CC 4E 80 00 20 */ blr
+
+.global __DBEXIReadRam
+__DBEXIReadRam:
+/* 801DA870 001D64D0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA874 001D64D4 7C 08 02 A6 */ mflr r0
+/* 801DA878 001D64D8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA87C 001D64DC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA880 001D64E0 3F E0 CD 00 */ lis r31, 0xCD006828@ha
+/* 801DA884 001D64E4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801DA888 001D64E8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801DA88C 001D64EC 7C 9D 23 78 */ mr r29, r4
+/* 801DA890 001D64F0 38 80 00 04 */ li r4, 4
+/* 801DA894 001D64F4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 801DA898 001D64F8 7C BC 2B 78 */ mr r28, r5
+/* 801DA89C 001D64FC 38 A0 00 01 */ li r5, 1
+/* 801DA8A0 001D6500 90 61 00 08 */ stw r3, 8(r1)
+/* 801DA8A4 001D6504 38 61 00 08 */ addi r3, r1, 8
+/* 801DA8A8 001D6508 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31)
+/* 801DA8AC 001D650C 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA8B0 001D6510 60 00 00 C0 */ ori r0, r0, 0xc0
+/* 801DA8B4 001D6514 90 1F 68 28 */ stw r0, 0x6828(r31)
+/* 801DA8B8 001D6518 4B FF F9 ED */ bl __EXI2Imm
+/* 801DA8BC 001D651C 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA8C0 001D6520 54 1E D9 7E */ srwi r30, r0, 5
+lbl_801DA8C4:
+/* 801DA8C4 001D6524 80 1F 68 34 */ lwz r0, 0x6834(r31)
+/* 801DA8C8 001D6528 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA8CC 001D652C 40 82 FF F8 */ bne lbl_801DA8C4
+/* 801DA8D0 001D6530 3F E0 CD 00 */ lis r31, 0xcd00
+/* 801DA8D4 001D6534 48 00 00 3C */ b lbl_801DA910
+lbl_801DA8D8:
+/* 801DA8D8 001D6538 38 61 00 0C */ addi r3, r1, 0xc
+/* 801DA8DC 001D653C 38 80 00 04 */ li r4, 4
+/* 801DA8E0 001D6540 38 A0 00 00 */ li r5, 0
+/* 801DA8E4 001D6544 4B FF F9 C1 */ bl __EXI2Imm
+/* 801DA8E8 001D6548 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA8EC 001D654C 54 00 D9 7E */ srwi r0, r0, 5
+/* 801DA8F0 001D6550 7F DE 03 78 */ or r30, r30, r0
+lbl_801DA8F4:
+/* 801DA8F4 001D6554 80 1F 68 34 */ lwz r0, 0x6834(r31)
+/* 801DA8F8 001D6558 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA8FC 001D655C 40 82 FF F8 */ bne lbl_801DA8F4
+/* 801DA900 001D6560 80 01 00 0C */ lwz r0, 0xc(r1)
+/* 801DA904 001D6564 3B 9C FF FC */ addi r28, r28, -4
+/* 801DA908 001D6568 90 1D 00 00 */ stw r0, 0(r29)
+/* 801DA90C 001D656C 3B BD 00 04 */ addi r29, r29, 4
+lbl_801DA910:
+/* 801DA910 001D6570 2C 1C 00 00 */ cmpwi r28, 0
+/* 801DA914 001D6574 41 81 FF C4 */ bgt lbl_801DA8D8
+/* 801DA918 001D6578 3C 80 CD 00 */ lis r4, 0xCD006828@ha
+/* 801DA91C 001D657C 7F C0 00 34 */ cntlzw r0, r30
+/* 801DA920 001D6580 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
+/* 801DA924 001D6584 54 03 D9 7E */ srwi r3, r0, 5
+/* 801DA928 001D6588 70 A0 04 05 */ andi. r0, r5, 0x405
+/* 801DA92C 001D658C 90 04 68 28 */ stw r0, 0x6828(r4)
+/* 801DA930 001D6590 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DA934 001D6594 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DA938 001D6598 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801DA93C 001D659C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801DA940 001D65A0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 801DA944 001D65A4 7C 08 03 A6 */ mtlr r0
+/* 801DA948 001D65A8 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DA94C 001D65AC 4E 80 00 20 */ blr
+
+.global __DBEXIWriteRam
+__DBEXIWriteRam:
+/* 801DA950 001D65B0 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801DA954 001D65B4 7C 08 02 A6 */ mflr r0
+/* 801DA958 001D65B8 90 01 00 24 */ stw r0, 0x24(r1)
+/* 801DA95C 001D65BC 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 801DA960 001D65C0 3F E0 CD 00 */ lis r31, 0xCD006828@ha
+/* 801DA964 001D65C4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 801DA968 001D65C8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 801DA96C 001D65CC 7C 9D 23 78 */ mr r29, r4
+/* 801DA970 001D65D0 38 80 00 04 */ li r4, 4
+/* 801DA974 001D65D4 93 81 00 10 */ stw r28, 0x10(r1)
+/* 801DA978 001D65D8 7C BC 2B 78 */ mr r28, r5
+/* 801DA97C 001D65DC 38 A0 00 01 */ li r5, 1
+/* 801DA980 001D65E0 90 61 00 08 */ stw r3, 8(r1)
+/* 801DA984 001D65E4 38 61 00 08 */ addi r3, r1, 8
+/* 801DA988 001D65E8 80 1F 68 28 */ lwz r0, 0xCD006828@l(r31)
+/* 801DA98C 001D65EC 70 00 04 05 */ andi. r0, r0, 0x405
+/* 801DA990 001D65F0 60 00 00 C0 */ ori r0, r0, 0xc0
+/* 801DA994 001D65F4 90 1F 68 28 */ stw r0, 0x6828(r31)
+/* 801DA998 001D65F8 4B FF F9 0D */ bl __EXI2Imm
+/* 801DA99C 001D65FC 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA9A0 001D6600 54 1E D9 7E */ srwi r30, r0, 5
+lbl_801DA9A4:
+/* 801DA9A4 001D6604 80 1F 68 34 */ lwz r0, 0x6834(r31)
+/* 801DA9A8 001D6608 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA9AC 001D660C 40 82 FF F8 */ bne lbl_801DA9A4
+/* 801DA9B0 001D6610 3F E0 CD 00 */ lis r31, 0xcd00
+/* 801DA9B4 001D6614 48 00 00 3C */ b lbl_801DA9F0
+lbl_801DA9B8:
+/* 801DA9B8 001D6618 80 1D 00 00 */ lwz r0, 0(r29)
+/* 801DA9BC 001D661C 38 61 00 0C */ addi r3, r1, 0xc
+/* 801DA9C0 001D6620 38 80 00 04 */ li r4, 4
+/* 801DA9C4 001D6624 38 A0 00 01 */ li r5, 1
+/* 801DA9C8 001D6628 90 01 00 0C */ stw r0, 0xc(r1)
+/* 801DA9CC 001D662C 3B BD 00 04 */ addi r29, r29, 4
+/* 801DA9D0 001D6630 4B FF F8 D5 */ bl __EXI2Imm
+/* 801DA9D4 001D6634 7C 60 00 34 */ cntlzw r0, r3
+/* 801DA9D8 001D6638 54 00 D9 7E */ srwi r0, r0, 5
+/* 801DA9DC 001D663C 7F DE 03 78 */ or r30, r30, r0
+lbl_801DA9E0:
+/* 801DA9E0 001D6640 80 1F 68 34 */ lwz r0, 0x6834(r31)
+/* 801DA9E4 001D6644 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 801DA9E8 001D6648 40 82 FF F8 */ bne lbl_801DA9E0
+/* 801DA9EC 001D664C 3B 9C FF FC */ addi r28, r28, -4
+lbl_801DA9F0:
+/* 801DA9F0 001D6650 2C 1C 00 00 */ cmpwi r28, 0
+/* 801DA9F4 001D6654 41 81 FF C4 */ bgt lbl_801DA9B8
+/* 801DA9F8 001D6658 3C 80 CD 00 */ lis r4, 0xCD006828@ha
+/* 801DA9FC 001D665C 7F C0 00 34 */ cntlzw r0, r30
+/* 801DAA00 001D6660 80 A4 68 28 */ lwz r5, 0xCD006828@l(r4)
+/* 801DAA04 001D6664 54 03 D9 7E */ srwi r3, r0, 5
+/* 801DAA08 001D6668 70 A0 04 05 */ andi. r0, r5, 0x405
+/* 801DAA0C 001D666C 90 04 68 28 */ stw r0, 0x6828(r4)
+/* 801DAA10 001D6670 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 801DAA14 001D6674 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 801DAA18 001D6678 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 801DAA1C 001D667C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 801DAA20 001D6680 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 801DAA24 001D6684 7C 08 03 A6 */ mtlr r0
+/* 801DAA28 001D6688 38 21 00 20 */ addi r1, r1, 0x20
+/* 801DAA2C 001D668C 4E 80 00 20 */ blr