mirror of https://github.com/zeldaret/tp.git
655 lines
32 KiB
ArmAsm
655 lines
32 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 8034fc70
|
|
|
|
|
|
.global AIRegisterDMACallback
|
|
AIRegisterDMACallback:
|
|
/* 8034FC70 0034CBB0 7C 08 02 A6 */ mflr r0
|
|
/* 8034FC74 0034CBB4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034FC78 0034CBB8 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 8034FC7C 0034CBBC 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 8034FC80 0034CBC0 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 8034FC84 0034CBC4 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8034FC88 0034CBC8 83 ED 92 FC */ lwz r31, lbl_8045187C-_SDA_BASE_(r13)
|
|
/* 8034FC8C 0034CBCC 4B FE DA 69 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 8034FC90 0034CBD0 93 CD 92 FC */ stw r30, lbl_8045187C-_SDA_BASE_(r13)
|
|
/* 8034FC94 0034CBD4 4B FE DA 89 */ bl OSRestoreInterrupts
|
|
/* 8034FC98 0034CBD8 7F E3 FB 78 */ mr r3, r31
|
|
/* 8034FC9C 0034CBDC 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 8034FCA0 0034CBE0 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 8034FCA4 0034CBE4 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 8034FCA8 0034CBE8 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 8034FCAC 0034CBEC 7C 08 03 A6 */ mtlr r0
|
|
/* 8034FCB0 0034CBF0 4E 80 00 20 */ blr
|
|
|
|
.global AIInitDMA
|
|
AIInitDMA:
|
|
/* 8034FCB4 0034CBF4 7C 08 02 A6 */ mflr r0
|
|
/* 8034FCB8 0034CBF8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034FCBC 0034CBFC 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 8034FCC0 0034CC00 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 8034FCC4 0034CC04 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8034FCC8 0034CC08 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 8034FCCC 0034CC0C 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8034FCD0 0034CC10 4B FE DA 25 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 8034FCD4 0034CC14 3C 80 CC 00 */ lis r4, 0xCC005030@ha
|
|
/* 8034FCD8 0034CC18 A0 04 50 30 */ lhz r0, 0xCC005030@l(r4)
|
|
/* 8034FCDC 0034CC1C 38 A4 50 00 */ addi r5, r4, 0x5000
|
|
/* 8034FCE0 0034CC20 38 C4 50 00 */ addi r6, r4, 0x5000
|
|
/* 8034FCE4 0034CC24 38 E4 50 00 */ addi r7, r4, 0x5000
|
|
/* 8034FCE8 0034CC28 54 04 00 2A */ rlwinm r4, r0, 0, 0, 0x15
|
|
/* 8034FCEC 0034CC2C 57 C0 84 3E */ srwi r0, r30, 0x10
|
|
/* 8034FCF0 0034CC30 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8034FCF4 0034CC34 B0 05 00 30 */ sth r0, 0x30(r5)
|
|
/* 8034FCF8 0034CC38 57 C0 04 3E */ clrlwi r0, r30, 0x10
|
|
/* 8034FCFC 0034CC3C A0 86 00 32 */ lhz r4, 0x32(r6)
|
|
/* 8034FD00 0034CC40 54 84 06 DE */ rlwinm r4, r4, 0, 0x1b, 0xf
|
|
/* 8034FD04 0034CC44 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8034FD08 0034CC48 B0 06 00 32 */ sth r0, 0x32(r6)
|
|
/* 8034FD0C 0034CC4C 57 E0 DC 3E */ rlwinm r0, r31, 0x1b, 0x10, 0x1f
|
|
/* 8034FD10 0034CC50 A0 87 00 36 */ lhz r4, 0x36(r7)
|
|
/* 8034FD14 0034CC54 54 84 00 20 */ rlwinm r4, r4, 0, 0, 0x10
|
|
/* 8034FD18 0034CC58 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8034FD1C 0034CC5C B0 07 00 36 */ sth r0, 0x36(r7)
|
|
/* 8034FD20 0034CC60 4B FE D9 FD */ bl OSRestoreInterrupts
|
|
/* 8034FD24 0034CC64 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 8034FD28 0034CC68 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 8034FD2C 0034CC6C 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 8034FD30 0034CC70 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 8034FD34 0034CC74 7C 08 03 A6 */ mtlr r0
|
|
/* 8034FD38 0034CC78 4E 80 00 20 */ blr
|
|
|
|
.global AIStartDMA
|
|
AIStartDMA:
|
|
/* 8034FD3C 0034CC7C 3C 60 CC 00 */ lis r3, 0xCC005000@ha
|
|
/* 8034FD40 0034CC80 38 63 50 00 */ addi r3, r3, 0xCC005000@l
|
|
/* 8034FD44 0034CC84 A0 03 00 36 */ lhz r0, 0x36(r3)
|
|
/* 8034FD48 0034CC88 60 00 80 00 */ ori r0, r0, 0x8000
|
|
/* 8034FD4C 0034CC8C B0 03 00 36 */ sth r0, 0x36(r3)
|
|
/* 8034FD50 0034CC90 4E 80 00 20 */ blr
|
|
|
|
.global AIStopDMA
|
|
AIStopDMA:
|
|
/* 8034FD54 0034CC94 3C 60 CC 00 */ lis r3, 0xCC005000@ha
|
|
/* 8034FD58 0034CC98 38 63 50 00 */ addi r3, r3, 0xCC005000@l
|
|
/* 8034FD5C 0034CC9C A0 03 00 36 */ lhz r0, 0x36(r3)
|
|
/* 8034FD60 0034CCA0 54 00 04 5E */ rlwinm r0, r0, 0, 0x11, 0xf
|
|
/* 8034FD64 0034CCA4 B0 03 00 36 */ sth r0, 0x36(r3)
|
|
/* 8034FD68 0034CCA8 4E 80 00 20 */ blr
|
|
|
|
.global AISetStreamPlayState
|
|
AISetStreamPlayState:
|
|
/* 8034FD6C 0034CCAC 7C 08 02 A6 */ mflr r0
|
|
/* 8034FD70 0034CCB0 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034FD74 0034CCB4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8034FD78 0034CCB8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 8034FD7C 0034CCBC 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 8034FD80 0034CCC0 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 8034FD84 0034CCC4 7C 7D 1B 78 */ mr r29, r3
|
|
/* 8034FD88 0034CCC8 48 00 00 BD */ bl AIGetStreamPlayState
|
|
/* 8034FD8C 0034CCCC 7C 1D 18 40 */ cmplw r29, r3
|
|
/* 8034FD90 0034CCD0 41 82 00 98 */ beq lbl_8034FE28
|
|
/* 8034FD94 0034CCD4 48 00 02 89 */ bl AIGetStreamSampleRate
|
|
/* 8034FD98 0034CCD8 28 03 00 00 */ cmplwi r3, 0
|
|
/* 8034FD9C 0034CCDC 40 82 00 78 */ bne lbl_8034FE14
|
|
/* 8034FDA0 0034CCE0 28 1D 00 01 */ cmplwi r29, 1
|
|
/* 8034FDA4 0034CCE4 40 82 00 70 */ bne lbl_8034FE14
|
|
/* 8034FDA8 0034CCE8 48 00 02 CD */ bl AIGetStreamVolRight
|
|
/* 8034FDAC 0034CCEC 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8034FDB0 0034CCF0 48 00 02 99 */ bl AIGetStreamVolLeft
|
|
/* 8034FDB4 0034CCF4 3B A3 00 00 */ addi r29, r3, 0
|
|
/* 8034FDB8 0034CCF8 38 60 00 00 */ li r3, 0
|
|
/* 8034FDBC 0034CCFC 48 00 02 9D */ bl AISetStreamVolRight
|
|
/* 8034FDC0 0034CD00 38 60 00 00 */ li r3, 0
|
|
/* 8034FDC4 0034CD04 48 00 02 69 */ bl AISetStreamVolLeft
|
|
/* 8034FDC8 0034CD08 4B FE D9 2D */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 8034FDCC 0034CD0C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8034FDD0 0034CD10 48 00 05 A1 */ bl __AI_SRC_INIT
|
|
/* 8034FDD4 0034CD14 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
|
|
/* 8034FDD8 0034CD18 80 04 6C 00 */ lwz r0, 0xCC006C00@l(r4)
|
|
/* 8034FDDC 0034CD1C 38 7F 00 00 */ addi r3, r31, 0
|
|
/* 8034FDE0 0034CD20 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
|
|
/* 8034FDE4 0034CD24 60 00 00 20 */ ori r0, r0, 0x20
|
|
/* 8034FDE8 0034CD28 90 04 6C 00 */ stw r0, 0x6c00(r4)
|
|
/* 8034FDEC 0034CD2C 80 04 6C 00 */ lwz r0, 0x6c00(r4)
|
|
/* 8034FDF0 0034CD30 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 8034FDF4 0034CD34 60 00 00 01 */ ori r0, r0, 1
|
|
/* 8034FDF8 0034CD38 90 04 6C 00 */ stw r0, 0x6c00(r4)
|
|
/* 8034FDFC 0034CD3C 4B FE D9 21 */ bl OSRestoreInterrupts
|
|
/* 8034FE00 0034CD40 7F C3 F3 78 */ mr r3, r30
|
|
/* 8034FE04 0034CD44 48 00 02 29 */ bl AISetStreamVolLeft
|
|
/* 8034FE08 0034CD48 7F A3 EB 78 */ mr r3, r29
|
|
/* 8034FE0C 0034CD4C 48 00 02 4D */ bl AISetStreamVolRight
|
|
/* 8034FE10 0034CD50 48 00 00 18 */ b lbl_8034FE28
|
|
lbl_8034FE14:
|
|
/* 8034FE14 0034CD54 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
|
|
/* 8034FE18 0034CD58 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
|
|
/* 8034FE1C 0034CD5C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 8034FE20 0034CD60 7C 00 EB 78 */ or r0, r0, r29
|
|
/* 8034FE24 0034CD64 90 03 6C 00 */ stw r0, 0x6c00(r3)
|
|
lbl_8034FE28:
|
|
/* 8034FE28 0034CD68 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8034FE2C 0034CD6C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 8034FE30 0034CD70 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 8034FE34 0034CD74 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 8034FE38 0034CD78 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8034FE3C 0034CD7C 7C 08 03 A6 */ mtlr r0
|
|
/* 8034FE40 0034CD80 4E 80 00 20 */ blr
|
|
|
|
.global AIGetStreamPlayState
|
|
AIGetStreamPlayState:
|
|
/* 8034FE44 0034CD84 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
|
|
/* 8034FE48 0034CD88 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
|
|
/* 8034FE4C 0034CD8C 54 03 07 FE */ clrlwi r3, r0, 0x1f
|
|
/* 8034FE50 0034CD90 4E 80 00 20 */ blr
|
|
|
|
.global AISetDSPSampleRate
|
|
AISetDSPSampleRate:
|
|
/* 8034FE54 0034CD94 7C 08 02 A6 */ mflr r0
|
|
/* 8034FE58 0034CD98 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034FE5C 0034CD9C 94 21 FF D8 */ stwu r1, -0x28(r1)
|
|
/* 8034FE60 0034CDA0 BF 41 00 10 */ stmw r26, 0x10(r1)
|
|
/* 8034FE64 0034CDA4 7C 7A 1B 78 */ mr r26, r3
|
|
/* 8034FE68 0034CDA8 48 00 00 CD */ bl AIGetDSPSampleRate
|
|
/* 8034FE6C 0034CDAC 7C 1A 18 40 */ cmplw r26, r3
|
|
/* 8034FE70 0034CDB0 41 82 00 B0 */ beq lbl_8034FF20
|
|
/* 8034FE74 0034CDB4 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
|
|
/* 8034FE78 0034CDB8 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
|
|
/* 8034FE7C 0034CDBC 28 1A 00 00 */ cmplwi r26, 0
|
|
/* 8034FE80 0034CDC0 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
|
|
/* 8034FE84 0034CDC4 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FE88 0034CDC8 40 82 00 98 */ bne lbl_8034FF20
|
|
/* 8034FE8C 0034CDCC 48 00 01 BD */ bl AIGetStreamVolLeft
|
|
/* 8034FE90 0034CDD0 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8034FE94 0034CDD4 48 00 01 E1 */ bl AIGetStreamVolRight
|
|
/* 8034FE98 0034CDD8 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 8034FE9C 0034CDDC 3B A3 00 00 */ addi r29, r3, 0
|
|
/* 8034FEA0 0034CDE0 54 1B 07 FE */ clrlwi r27, r0, 0x1f
|
|
/* 8034FEA4 0034CDE4 48 00 01 79 */ bl AIGetStreamSampleRate
|
|
/* 8034FEA8 0034CDE8 3B 83 00 00 */ addi r28, r3, 0
|
|
/* 8034FEAC 0034CDEC 38 60 00 00 */ li r3, 0
|
|
/* 8034FEB0 0034CDF0 48 00 01 7D */ bl AISetStreamVolLeft
|
|
/* 8034FEB4 0034CDF4 38 60 00 00 */ li r3, 0
|
|
/* 8034FEB8 0034CDF8 48 00 01 A1 */ bl AISetStreamVolRight
|
|
/* 8034FEBC 0034CDFC 4B FE D8 39 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 8034FEC0 0034CE00 7C 7A 1B 78 */ mr r26, r3
|
|
/* 8034FEC4 0034CE04 48 00 04 AD */ bl __AI_SRC_INIT
|
|
/* 8034FEC8 0034CE08 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
|
|
/* 8034FECC 0034CE0C 57 80 08 3C */ slwi r0, r28, 1
|
|
/* 8034FED0 0034CE10 38 7A 00 00 */ addi r3, r26, 0
|
|
/* 8034FED4 0034CE14 54 84 06 F2 */ rlwinm r4, r4, 0, 0x1b, 0x19
|
|
/* 8034FED8 0034CE18 60 84 00 20 */ ori r4, r4, 0x20
|
|
/* 8034FEDC 0034CE1C 90 9F 6C 00 */ stw r4, 0x6c00(r31)
|
|
/* 8034FEE0 0034CE20 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
|
|
/* 8034FEE4 0034CE24 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
|
|
/* 8034FEE8 0034CE28 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8034FEEC 0034CE2C 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FEF0 0034CE30 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 8034FEF4 0034CE34 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 8034FEF8 0034CE38 7C 00 DB 78 */ or r0, r0, r27
|
|
/* 8034FEFC 0034CE3C 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FF00 0034CE40 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 8034FF04 0034CE44 60 00 00 40 */ ori r0, r0, 0x40
|
|
/* 8034FF08 0034CE48 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FF0C 0034CE4C 4B FE D8 11 */ bl OSRestoreInterrupts
|
|
/* 8034FF10 0034CE50 7F C3 F3 78 */ mr r3, r30
|
|
/* 8034FF14 0034CE54 48 00 01 19 */ bl AISetStreamVolLeft
|
|
/* 8034FF18 0034CE58 7F A3 EB 78 */ mr r3, r29
|
|
/* 8034FF1C 0034CE5C 48 00 01 3D */ bl AISetStreamVolRight
|
|
lbl_8034FF20:
|
|
/* 8034FF20 0034CE60 BB 41 00 10 */ lmw r26, 0x10(r1)
|
|
/* 8034FF24 0034CE64 80 01 00 2C */ lwz r0, 0x2c(r1)
|
|
/* 8034FF28 0034CE68 38 21 00 28 */ addi r1, r1, 0x28
|
|
/* 8034FF2C 0034CE6C 7C 08 03 A6 */ mtlr r0
|
|
/* 8034FF30 0034CE70 4E 80 00 20 */ blr
|
|
|
|
.global AIGetDSPSampleRate
|
|
AIGetDSPSampleRate:
|
|
/* 8034FF34 0034CE74 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
|
|
/* 8034FF38 0034CE78 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
|
|
/* 8034FF3C 0034CE7C 54 00 D7 FE */ rlwinm r0, r0, 0x1a, 0x1f, 0x1f
|
|
/* 8034FF40 0034CE80 68 03 00 01 */ xori r3, r0, 1
|
|
/* 8034FF44 0034CE84 4E 80 00 20 */ blr
|
|
|
|
.global __AI_set_stream_sample_rate
|
|
__AI_set_stream_sample_rate:
|
|
/* 8034FF48 0034CE88 7C 08 02 A6 */ mflr r0
|
|
/* 8034FF4C 0034CE8C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8034FF50 0034CE90 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8034FF54 0034CE94 BF 21 00 14 */ stmw r25, 0x14(r1)
|
|
/* 8034FF58 0034CE98 7C 79 1B 78 */ mr r25, r3
|
|
/* 8034FF5C 0034CE9C 48 00 00 C1 */ bl AIGetStreamSampleRate
|
|
/* 8034FF60 0034CEA0 7C 19 18 40 */ cmplw r25, r3
|
|
/* 8034FF64 0034CEA4 41 82 00 A4 */ beq lbl_80350008
|
|
/* 8034FF68 0034CEA8 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
|
|
/* 8034FF6C 0034CEAC 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
|
|
/* 8034FF70 0034CEB0 54 00 07 FE */ clrlwi r0, r0, 0x1f
|
|
/* 8034FF74 0034CEB4 7C 1D 03 78 */ mr r29, r0
|
|
/* 8034FF78 0034CEB8 48 00 00 D1 */ bl AIGetStreamVolLeft
|
|
/* 8034FF7C 0034CEBC 7C 7C 1B 78 */ mr r28, r3
|
|
/* 8034FF80 0034CEC0 48 00 00 F5 */ bl AIGetStreamVolRight
|
|
/* 8034FF84 0034CEC4 3B 63 00 00 */ addi r27, r3, 0
|
|
/* 8034FF88 0034CEC8 38 60 00 00 */ li r3, 0
|
|
/* 8034FF8C 0034CECC 48 00 00 CD */ bl AISetStreamVolRight
|
|
/* 8034FF90 0034CED0 38 60 00 00 */ li r3, 0
|
|
/* 8034FF94 0034CED4 48 00 00 99 */ bl AISetStreamVolLeft
|
|
/* 8034FF98 0034CED8 80 7F 6C 00 */ lwz r3, 0x6c00(r31)
|
|
/* 8034FF9C 0034CEDC 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 8034FFA0 0034CEE0 54 7A 06 72 */ rlwinm r26, r3, 0, 0x19, 0x19
|
|
/* 8034FFA4 0034CEE4 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
|
|
/* 8034FFA8 0034CEE8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FFAC 0034CEEC 4B FE D7 49 */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 8034FFB0 0034CEF0 7C 7E 1B 78 */ mr r30, r3
|
|
/* 8034FFB4 0034CEF4 48 00 03 BD */ bl __AI_SRC_INIT
|
|
/* 8034FFB8 0034CEF8 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
|
|
/* 8034FFBC 0034CEFC 57 20 08 3C */ slwi r0, r25, 1
|
|
/* 8034FFC0 0034CF00 38 7E 00 00 */ addi r3, r30, 0
|
|
/* 8034FFC4 0034CF04 7C 84 D3 78 */ or r4, r4, r26
|
|
/* 8034FFC8 0034CF08 90 9F 6C 00 */ stw r4, 0x6c00(r31)
|
|
/* 8034FFCC 0034CF0C 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
|
|
/* 8034FFD0 0034CF10 54 84 06 F2 */ rlwinm r4, r4, 0, 0x1b, 0x19
|
|
/* 8034FFD4 0034CF14 60 84 00 20 */ ori r4, r4, 0x20
|
|
/* 8034FFD8 0034CF18 90 9F 6C 00 */ stw r4, 0x6c00(r31)
|
|
/* 8034FFDC 0034CF1C 80 9F 6C 00 */ lwz r4, 0x6c00(r31)
|
|
/* 8034FFE0 0034CF20 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
|
|
/* 8034FFE4 0034CF24 7C 80 03 78 */ or r0, r4, r0
|
|
/* 8034FFE8 0034CF28 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8034FFEC 0034CF2C 4B FE D7 31 */ bl OSRestoreInterrupts
|
|
/* 8034FFF0 0034CF30 7F A3 EB 78 */ mr r3, r29
|
|
/* 8034FFF4 0034CF34 4B FF FD 79 */ bl AISetStreamPlayState
|
|
/* 8034FFF8 0034CF38 7F 83 E3 78 */ mr r3, r28
|
|
/* 8034FFFC 0034CF3C 48 00 00 31 */ bl AISetStreamVolLeft
|
|
/* 80350000 0034CF40 7F 63 DB 78 */ mr r3, r27
|
|
/* 80350004 0034CF44 48 00 00 55 */ bl AISetStreamVolRight
|
|
lbl_80350008:
|
|
/* 80350008 0034CF48 BB 21 00 14 */ lmw r25, 0x14(r1)
|
|
/* 8035000C 0034CF4C 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80350010 0034CF50 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80350014 0034CF54 7C 08 03 A6 */ mtlr r0
|
|
/* 80350018 0034CF58 4E 80 00 20 */ blr
|
|
|
|
.global AIGetStreamSampleRate
|
|
AIGetStreamSampleRate:
|
|
/* 8035001C 0034CF5C 3C 60 CC 00 */ lis r3, 0xCC006C00@ha
|
|
/* 80350020 0034CF60 80 03 6C 00 */ lwz r0, 0xCC006C00@l(r3)
|
|
/* 80350024 0034CF64 54 03 FF FE */ rlwinm r3, r0, 0x1f, 0x1f, 0x1f
|
|
/* 80350028 0034CF68 4E 80 00 20 */ blr
|
|
|
|
.global AISetStreamVolLeft
|
|
AISetStreamVolLeft:
|
|
/* 8035002C 0034CF6C 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
|
|
/* 80350030 0034CF70 38 84 6C 00 */ addi r4, r4, 0xCC006C00@l
|
|
/* 80350034 0034CF74 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 80350038 0034CF78 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
|
|
/* 8035003C 0034CF7C 50 60 06 3E */ rlwimi r0, r3, 0, 0x18, 0x1f
|
|
/* 80350040 0034CF80 90 04 00 04 */ stw r0, 4(r4)
|
|
/* 80350044 0034CF84 4E 80 00 20 */ blr
|
|
|
|
.global AIGetStreamVolLeft
|
|
AIGetStreamVolLeft:
|
|
/* 80350048 0034CF88 3C 60 CC 00 */ lis r3, 0xCC006C04@ha
|
|
/* 8035004C 0034CF8C 80 03 6C 04 */ lwz r0, 0xCC006C04@l(r3)
|
|
/* 80350050 0034CF90 54 03 06 3E */ clrlwi r3, r0, 0x18
|
|
/* 80350054 0034CF94 4E 80 00 20 */ blr
|
|
|
|
.global AISetStreamVolRight
|
|
AISetStreamVolRight:
|
|
/* 80350058 0034CF98 3C 80 CC 00 */ lis r4, 0xCC006C00@ha
|
|
/* 8035005C 0034CF9C 38 84 6C 00 */ addi r4, r4, 0xCC006C00@l
|
|
/* 80350060 0034CFA0 80 04 00 04 */ lwz r0, 4(r4)
|
|
/* 80350064 0034CFA4 54 00 06 1E */ rlwinm r0, r0, 0, 0x18, 0xf
|
|
/* 80350068 0034CFA8 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
|
/* 8035006C 0034CFAC 90 04 00 04 */ stw r0, 4(r4)
|
|
/* 80350070 0034CFB0 4E 80 00 20 */ blr
|
|
|
|
.global AIGetStreamVolRight
|
|
AIGetStreamVolRight:
|
|
/* 80350074 0034CFB4 3C 60 CC 00 */ lis r3, 0xCC006C04@ha
|
|
/* 80350078 0034CFB8 80 03 6C 04 */ lwz r0, 0xCC006C04@l(r3)
|
|
/* 8035007C 0034CFBC 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
|
|
/* 80350080 0034CFC0 4E 80 00 20 */ blr
|
|
|
|
.global AIInit
|
|
AIInit:
|
|
/* 80350084 0034CFC4 7C 08 02 A6 */ mflr r0
|
|
/* 80350088 0034CFC8 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 8035008C 0034CFCC 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80350090 0034CFD0 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80350094 0034CFD4 93 C1 00 10 */ stw r30, 0x10(r1)
|
|
/* 80350098 0034CFD8 3B C3 00 00 */ addi r30, r3, 0
|
|
/* 8035009C 0034CFDC 80 0D 93 08 */ lwz r0, lbl_80451888-_SDA_BASE_(r13)
|
|
/* 803500A0 0034CFE0 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 803500A4 0034CFE4 41 82 01 34 */ beq lbl_803501D8
|
|
/* 803500A8 0034CFE8 80 6D 84 C0 */ lwz r3, lbl_80450A40-_SDA_BASE_(r13)
|
|
/* 803500AC 0034CFEC 4B FE A7 C9 */ bl OSRegisterVersion
|
|
/* 803500B0 0034CFF0 3C 60 80 00 */ lis r3, 0x800000F8@ha
|
|
/* 803500B4 0034CFF4 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
|
|
/* 803500B8 0034CFF8 3C 60 43 1C */ lis r3, 0x431BDE83@ha
|
|
/* 803500BC 0034CFFC 3C 80 00 01 */ lis r4, 0x0000A428@ha
|
|
/* 803500C0 0034D000 54 00 F0 BE */ srwi r0, r0, 2
|
|
/* 803500C4 0034D004 38 63 DE 83 */ addi r3, r3, 0x431BDE83@l
|
|
/* 803500C8 0034D008 7C 03 00 16 */ mulhwu r0, r3, r0
|
|
/* 803500CC 0034D00C 54 09 8B FE */ srwi r9, r0, 0xf
|
|
/* 803500D0 0034D010 38 A4 A4 28 */ addi r5, r4, 0x0000A428@l
|
|
/* 803500D4 0034D014 38 64 A4 10 */ addi r3, r4, -23536
|
|
/* 803500D8 0034D018 38 04 F6 18 */ addi r0, r4, -2536
|
|
/* 803500DC 0034D01C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
|
|
/* 803500E0 0034D020 7C E9 29 D6 */ mullw r7, r9, r5
|
|
/* 803500E4 0034D024 39 44 4D D3 */ addi r10, r4, 0x10624DD3@l
|
|
/* 803500E8 0034D028 7C A9 19 D6 */ mullw r5, r9, r3
|
|
/* 803500EC 0034D02C 7C 89 01 D6 */ mullw r4, r9, r0
|
|
/* 803500F0 0034D030 1D 09 7B 24 */ mulli r8, r9, 0x7b24
|
|
/* 803500F4 0034D034 1C 69 0B B8 */ mulli r3, r9, 0xbb8
|
|
/* 803500F8 0034D038 7D 0A 40 16 */ mulhwu r8, r10, r8
|
|
/* 803500FC 0034D03C 7C EA 38 16 */ mulhwu r7, r10, r7
|
|
/* 80350100 0034D040 7C AA 28 16 */ mulhwu r5, r10, r5
|
|
/* 80350104 0034D044 7C 8A 20 16 */ mulhwu r4, r10, r4
|
|
/* 80350108 0034D048 7C 6A 18 16 */ mulhwu r3, r10, r3
|
|
/* 8035010C 0034D04C 55 08 BA 7E */ srwi r8, r8, 9
|
|
/* 80350110 0034D050 54 E7 BA 7E */ srwi r7, r7, 9
|
|
/* 80350114 0034D054 91 0D 93 14 */ stw r8, lbl_80451894-_SDA_BASE_(r13)
|
|
/* 80350118 0034D058 54 A5 BA 7E */ srwi r5, r5, 9
|
|
/* 8035011C 0034D05C 54 84 BA 7E */ srwi r4, r4, 9
|
|
/* 80350120 0034D060 90 ED 93 1C */ stw r7, lbl_8045189C-_SDA_BASE_(r13)
|
|
/* 80350124 0034D064 3B E0 00 00 */ li r31, 0
|
|
/* 80350128 0034D068 54 63 BA 7E */ srwi r3, r3, 9
|
|
/* 8035012C 0034D06C 90 AD 93 24 */ stw r5, lbl_804518A4-_SDA_BASE_(r13)
|
|
/* 80350130 0034D070 3C C0 CC 00 */ lis r6, 0xCC006C00@ha
|
|
/* 80350134 0034D074 90 6D 93 34 */ stw r3, lbl_804518B4-_SDA_BASE_(r13)
|
|
/* 80350138 0034D078 38 60 00 01 */ li r3, 1
|
|
/* 8035013C 0034D07C 80 06 6C 00 */ lwz r0, 0xCC006C00@l(r6)
|
|
/* 80350140 0034D080 90 8D 93 2C */ stw r4, lbl_804518AC-_SDA_BASE_(r13)
|
|
/* 80350144 0034D084 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
|
|
/* 80350148 0034D088 60 00 00 20 */ ori r0, r0, 0x20
|
|
/* 8035014C 0034D08C 93 ED 93 10 */ stw r31, lbl_80451890-_SDA_BASE_(r13)
|
|
/* 80350150 0034D090 93 ED 93 18 */ stw r31, lbl_80451898-_SDA_BASE_(r13)
|
|
/* 80350154 0034D094 93 ED 93 20 */ stw r31, lbl_804518A0-_SDA_BASE_(r13)
|
|
/* 80350158 0034D098 93 ED 93 28 */ stw r31, lbl_804518A8-_SDA_BASE_(r13)
|
|
/* 8035015C 0034D09C 93 ED 93 30 */ stw r31, lbl_804518B0-_SDA_BASE_(r13)
|
|
/* 80350160 0034D0A0 80 A6 6C 04 */ lwz r5, 0x6c04(r6)
|
|
/* 80350164 0034D0A4 90 06 6C 00 */ stw r0, 0x6c00(r6)
|
|
/* 80350168 0034D0A8 54 A0 06 1E */ rlwinm r0, r5, 0, 0x18, 0xf
|
|
/* 8035016C 0034D0AC 60 00 00 00 */ nop
|
|
/* 80350170 0034D0B0 90 06 6C 04 */ stw r0, 0x6c04(r6)
|
|
/* 80350174 0034D0B4 80 06 6C 04 */ lwz r0, 0x6c04(r6)
|
|
/* 80350178 0034D0B8 54 00 00 2E */ rlwinm r0, r0, 0, 0, 0x17
|
|
/* 8035017C 0034D0BC 60 00 00 00 */ nop
|
|
/* 80350180 0034D0C0 90 06 6C 04 */ stw r0, 0x6c04(r6)
|
|
/* 80350184 0034D0C4 93 E6 6C 0C */ stw r31, 0x6c0c(r6)
|
|
/* 80350188 0034D0C8 4B FF FD C1 */ bl __AI_set_stream_sample_rate
|
|
/* 8035018C 0034D0CC 38 60 00 00 */ li r3, 0
|
|
/* 80350190 0034D0D0 4B FF FC C5 */ bl AISetDSPSampleRate
|
|
.global __AIDHandler
|
|
/* 80350194 0034D0D4 3C 60 80 35 */ lis r3, __AIDHandler@ha
|
|
/* 80350198 0034D0D8 93 ED 92 F8 */ stw r31, lbl_80451878-_SDA_BASE_(r13)
|
|
.global __AIDHandler
|
|
/* 8035019C 0034D0DC 38 83 02 6C */ addi r4, r3, __AIDHandler@l
|
|
/* 803501A0 0034D0E0 93 ED 92 FC */ stw r31, lbl_8045187C-_SDA_BASE_(r13)
|
|
/* 803501A4 0034D0E4 38 60 00 05 */ li r3, 5
|
|
/* 803501A8 0034D0E8 93 CD 93 00 */ stw r30, lbl_80451880-_SDA_BASE_(r13)
|
|
/* 803501AC 0034D0EC 4B FE D5 95 */ bl __OSSetInterruptHandler
|
|
/* 803501B0 0034D0F0 3C 60 04 00 */ lis r3, 0x400
|
|
/* 803501B4 0034D0F4 4B FE D9 91 */ bl __OSUnmaskInterrupts
|
|
.global __AISHandler
|
|
/* 803501B8 0034D0F8 3C 60 80 35 */ lis r3, __AISHandler@ha
|
|
.global __AISHandler
|
|
/* 803501BC 0034D0FC 38 83 01 F0 */ addi r4, r3, __AISHandler@l
|
|
/* 803501C0 0034D100 38 60 00 08 */ li r3, 8
|
|
/* 803501C4 0034D104 4B FE D5 7D */ bl __OSSetInterruptHandler
|
|
/* 803501C8 0034D108 3C 60 00 80 */ lis r3, 0x80
|
|
/* 803501CC 0034D10C 4B FE D9 79 */ bl __OSUnmaskInterrupts
|
|
/* 803501D0 0034D110 38 00 00 01 */ li r0, 1
|
|
/* 803501D4 0034D114 90 0D 93 08 */ stw r0, lbl_80451888-_SDA_BASE_(r13)
|
|
lbl_803501D8:
|
|
/* 803501D8 0034D118 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 803501DC 0034D11C 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 803501E0 0034D120 83 C1 00 10 */ lwz r30, 0x10(r1)
|
|
/* 803501E4 0034D124 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 803501E8 0034D128 7C 08 03 A6 */ mtlr r0
|
|
/* 803501EC 0034D12C 4E 80 00 20 */ blr
|
|
.global __AISHandler
|
|
__AISHandler:
|
|
/* 803501F0 0034D130 7C 08 02 A6 */ mflr r0
|
|
/* 803501F4 0034D134 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 803501F8 0034D138 94 21 FD 20 */ stwu r1, -0x2e0(r1)
|
|
/* 803501FC 0034D13C 93 E1 02 DC */ stw r31, 0x2dc(r1)
|
|
/* 80350200 0034D140 3F E0 CC 00 */ lis r31, 0xCC006C00@ha
|
|
/* 80350204 0034D144 80 1F 6C 00 */ lwz r0, 0xCC006C00@l(r31)
|
|
/* 80350208 0034D148 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 8035020C 0034D14C 93 C1 02 D8 */ stw r30, 0x2d8(r1)
|
|
/* 80350210 0034D150 60 00 00 08 */ ori r0, r0, 8
|
|
/* 80350214 0034D154 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 80350218 0034D158 3B C4 00 00 */ addi r30, r4, 0
|
|
/* 8035021C 0034D15C 4B FE BD E5 */ bl OSClearContext
|
|
/* 80350220 0034D160 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80350224 0034D164 4B FE BC 15 */ bl OSSetCurrentContext
|
|
/* 80350228 0034D168 81 8D 92 F8 */ lwz r12, lbl_80451878-_SDA_BASE_(r13)
|
|
/* 8035022C 0034D16C 28 0C 00 00 */ cmplwi r12, 0
|
|
/* 80350230 0034D170 41 82 00 14 */ beq lbl_80350244
|
|
/* 80350234 0034D174 38 7F 6C 00 */ addi r3, r31, 0x6c00
|
|
/* 80350238 0034D178 7D 88 03 A6 */ mtlr r12
|
|
/* 8035023C 0034D17C 80 63 00 08 */ lwz r3, 8(r3)
|
|
/* 80350240 0034D180 4E 80 00 21 */ blrl
|
|
lbl_80350244:
|
|
/* 80350244 0034D184 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 80350248 0034D188 4B FE BD B9 */ bl OSClearContext
|
|
/* 8035024C 0034D18C 7F C3 F3 78 */ mr r3, r30
|
|
/* 80350250 0034D190 4B FE BB E9 */ bl OSSetCurrentContext
|
|
/* 80350254 0034D194 80 01 02 E4 */ lwz r0, 0x2e4(r1)
|
|
/* 80350258 0034D198 83 E1 02 DC */ lwz r31, 0x2dc(r1)
|
|
/* 8035025C 0034D19C 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
|
|
/* 80350260 0034D1A0 38 21 02 E0 */ addi r1, r1, 0x2e0
|
|
/* 80350264 0034D1A4 7C 08 03 A6 */ mtlr r0
|
|
/* 80350268 0034D1A8 4E 80 00 20 */ blr
|
|
.global __AIDHandler
|
|
__AIDHandler:
|
|
/* 8035026C 0034D1AC 7C 08 02 A6 */ mflr r0
|
|
/* 80350270 0034D1B0 3C 60 CC 00 */ lis r3, 0xCC005000@ha
|
|
/* 80350274 0034D1B4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80350278 0034D1B8 38 63 50 00 */ addi r3, r3, 0xCC005000@l
|
|
/* 8035027C 0034D1BC 38 00 FF 5F */ li r0, -161
|
|
/* 80350280 0034D1C0 94 21 FD 20 */ stwu r1, -0x2e0(r1)
|
|
/* 80350284 0034D1C4 93 E1 02 DC */ stw r31, 0x2dc(r1)
|
|
/* 80350288 0034D1C8 3B E4 00 00 */ addi r31, r4, 0
|
|
/* 8035028C 0034D1CC A0 A3 00 0A */ lhz r5, 0xa(r3)
|
|
/* 80350290 0034D1D0 7C A0 00 38 */ and r0, r5, r0
|
|
/* 80350294 0034D1D4 60 00 00 08 */ ori r0, r0, 8
|
|
/* 80350298 0034D1D8 B0 03 00 0A */ sth r0, 0xa(r3)
|
|
/* 8035029C 0034D1DC 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 803502A0 0034D1E0 4B FE BD 61 */ bl OSClearContext
|
|
/* 803502A4 0034D1E4 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 803502A8 0034D1E8 4B FE BB 91 */ bl OSSetCurrentContext
|
|
/* 803502AC 0034D1EC 80 6D 92 FC */ lwz r3, lbl_8045187C-_SDA_BASE_(r13)
|
|
/* 803502B0 0034D1F0 28 03 00 00 */ cmplwi r3, 0
|
|
/* 803502B4 0034D1F4 41 82 00 40 */ beq lbl_803502F4
|
|
/* 803502B8 0034D1F8 80 0D 93 0C */ lwz r0, lbl_8045188C-_SDA_BASE_(r13)
|
|
/* 803502BC 0034D1FC 2C 00 00 00 */ cmpwi r0, 0
|
|
/* 803502C0 0034D200 40 82 00 34 */ bne lbl_803502F4
|
|
/* 803502C4 0034D204 80 0D 93 00 */ lwz r0, lbl_80451880-_SDA_BASE_(r13)
|
|
/* 803502C8 0034D208 38 80 00 01 */ li r4, 1
|
|
/* 803502CC 0034D20C 90 8D 93 0C */ stw r4, lbl_8045188C-_SDA_BASE_(r13)
|
|
/* 803502D0 0034D210 28 00 00 00 */ cmplwi r0, 0
|
|
/* 803502D4 0034D214 41 82 00 0C */ beq lbl_803502E0
|
|
/* 803502D8 0034D218 48 00 00 41 */ bl __AICallbackStackSwitch
|
|
/* 803502DC 0034D21C 48 00 00 10 */ b lbl_803502EC
|
|
lbl_803502E0:
|
|
/* 803502E0 0034D220 39 83 00 00 */ addi r12, r3, 0
|
|
/* 803502E4 0034D224 7D 88 03 A6 */ mtlr r12
|
|
/* 803502E8 0034D228 4E 80 00 21 */ blrl
|
|
lbl_803502EC:
|
|
/* 803502EC 0034D22C 38 00 00 00 */ li r0, 0
|
|
/* 803502F0 0034D230 90 0D 93 0C */ stw r0, lbl_8045188C-_SDA_BASE_(r13)
|
|
lbl_803502F4:
|
|
/* 803502F4 0034D234 38 61 00 10 */ addi r3, r1, 0x10
|
|
/* 803502F8 0034D238 4B FE BD 09 */ bl OSClearContext
|
|
/* 803502FC 0034D23C 7F E3 FB 78 */ mr r3, r31
|
|
/* 80350300 0034D240 4B FE BB 39 */ bl OSSetCurrentContext
|
|
/* 80350304 0034D244 80 01 02 E4 */ lwz r0, 0x2e4(r1)
|
|
/* 80350308 0034D248 83 E1 02 DC */ lwz r31, 0x2dc(r1)
|
|
/* 8035030C 0034D24C 38 21 02 E0 */ addi r1, r1, 0x2e0
|
|
/* 80350310 0034D250 7C 08 03 A6 */ mtlr r0
|
|
/* 80350314 0034D254 4E 80 00 20 */ blr
|
|
|
|
.global __AICallbackStackSwitch
|
|
__AICallbackStackSwitch:
|
|
/* 80350318 0034D258 7C 08 02 A6 */ mflr r0
|
|
/* 8035031C 0034D25C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80350320 0034D260 94 21 FF E8 */ stwu r1, -0x18(r1)
|
|
/* 80350324 0034D264 93 E1 00 14 */ stw r31, 0x14(r1)
|
|
/* 80350328 0034D268 7C 7F 1B 78 */ mr r31, r3
|
|
/* 8035032C 0034D26C 3C A0 80 45 */ lis r5, lbl_80451884@ha
|
|
/* 80350330 0034D270 38 A5 18 84 */ addi r5, r5, lbl_80451884@l
|
|
/* 80350334 0034D274 90 25 00 00 */ stw r1, 0(r5)
|
|
/* 80350338 0034D278 3C A0 80 45 */ lis r5, lbl_80451880@ha
|
|
/* 8035033C 0034D27C 38 A5 18 80 */ addi r5, r5, lbl_80451880@l
|
|
/* 80350340 0034D280 80 25 00 00 */ lwz r1, 0(r5)
|
|
/* 80350344 0034D284 38 21 FF F8 */ addi r1, r1, -8
|
|
/* 80350348 0034D288 7F E8 03 A6 */ mtlr r31
|
|
/* 8035034C 0034D28C 4E 80 00 21 */ blrl
|
|
/* 80350350 0034D290 3C A0 80 45 */ lis r5, lbl_80451884@ha
|
|
/* 80350354 0034D294 38 A5 18 84 */ addi r5, r5, lbl_80451884@l
|
|
/* 80350358 0034D298 80 25 00 00 */ lwz r1, 0(r5)
|
|
/* 8035035C 0034D29C 80 01 00 1C */ lwz r0, 0x1c(r1)
|
|
/* 80350360 0034D2A0 83 E1 00 14 */ lwz r31, 0x14(r1)
|
|
/* 80350364 0034D2A4 38 21 00 18 */ addi r1, r1, 0x18
|
|
/* 80350368 0034D2A8 7C 08 03 A6 */ mtlr r0
|
|
/* 8035036C 0034D2AC 4E 80 00 20 */ blr
|
|
|
|
.global __AI_SRC_INIT
|
|
__AI_SRC_INIT:
|
|
/* 80350370 0034D2B0 7C 08 02 A6 */ mflr r0
|
|
/* 80350374 0034D2B4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80350378 0034D2B8 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 8035037C 0034D2BC BF 41 00 18 */ stmw r26, 0x18(r1)
|
|
/* 80350380 0034D2C0 38 80 00 00 */ li r4, 0
|
|
/* 80350384 0034D2C4 38 60 00 00 */ li r3, 0
|
|
/* 80350388 0034D2C8 38 00 00 00 */ li r0, 0
|
|
/* 8035038C 0034D2CC 3B 80 00 00 */ li r28, 0
|
|
/* 80350390 0034D2D0 3B A0 00 00 */ li r29, 0
|
|
/* 80350394 0034D2D4 48 00 00 04 */ b lbl_80350398
|
|
lbl_80350398:
|
|
/* 80350398 0034D2D8 3F E0 CC 00 */ lis r31, 0xcc00
|
|
/* 8035039C 0034D2DC 48 00 00 04 */ b lbl_803503A0
|
|
lbl_803503A0:
|
|
/* 803503A0 0034D2E0 48 00 01 64 */ b lbl_80350504
|
|
lbl_803503A4:
|
|
/* 803503A4 0034D2E4 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 803503A8 0034D2E8 3B DF 6C 00 */ addi r30, r31, 0x6c00
|
|
/* 803503AC 0034D2EC 3B DE 00 08 */ addi r30, r30, 8
|
|
/* 803503B0 0034D2F0 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
|
|
/* 803503B4 0034D2F4 60 00 00 20 */ ori r0, r0, 0x20
|
|
/* 803503B8 0034D2F8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 803503BC 0034D2FC 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 803503C0 0034D300 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
|
|
/* 803503C4 0034D304 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 803503C8 0034D308 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 803503CC 0034D30C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 803503D0 0034D310 60 00 00 01 */ ori r0, r0, 1
|
|
/* 803503D4 0034D314 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 803503D8 0034D318 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 803503DC 0034D31C 48 00 00 04 */ b lbl_803503E0
|
|
lbl_803503E0:
|
|
/* 803503E0 0034D320 48 00 00 04 */ b lbl_803503E4
|
|
lbl_803503E4:
|
|
/* 803503E4 0034D324 80 1E 00 00 */ lwz r0, 0(r30)
|
|
/* 803503E8 0034D328 7C 03 00 40 */ cmplw r3, r0
|
|
/* 803503EC 0034D32C 41 82 FF F8 */ beq lbl_803503E4
|
|
/* 803503F0 0034D330 4B FF 23 0D */ bl OSGetTime
|
|
/* 803503F4 0034D334 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 803503F8 0034D338 7C 9A 23 78 */ mr r26, r4
|
|
/* 803503FC 0034D33C 7C 7B 1B 78 */ mr r27, r3
|
|
/* 80350400 0034D340 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
|
|
/* 80350404 0034D344 60 00 00 02 */ ori r0, r0, 2
|
|
/* 80350408 0034D348 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8035040C 0034D34C 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 80350410 0034D350 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 80350414 0034D354 60 00 00 01 */ ori r0, r0, 1
|
|
/* 80350418 0034D358 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8035041C 0034D35C 80 7E 00 00 */ lwz r3, 0(r30)
|
|
/* 80350420 0034D360 48 00 00 04 */ b lbl_80350424
|
|
lbl_80350424:
|
|
/* 80350424 0034D364 48 00 00 04 */ b lbl_80350428
|
|
lbl_80350428:
|
|
/* 80350428 0034D368 80 1E 00 00 */ lwz r0, 0(r30)
|
|
/* 8035042C 0034D36C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80350430 0034D370 41 82 FF F8 */ beq lbl_80350428
|
|
/* 80350434 0034D374 4B FF 22 C9 */ bl OSGetTime
|
|
/* 80350438 0034D378 7D 1A 20 10 */ subfc r8, r26, r4
|
|
/* 8035043C 0034D37C 81 8D 93 14 */ lwz r12, lbl_80451894-_SDA_BASE_(r13)
|
|
/* 80350440 0034D380 80 BF 6C 00 */ lwz r5, 0x6c00(r31)
|
|
/* 80350444 0034D384 7C FB 19 10 */ subfe r7, r27, r3
|
|
/* 80350448 0034D388 81 4D 93 34 */ lwz r10, lbl_804518B4-_SDA_BASE_(r13)
|
|
/* 8035044C 0034D38C 6C E7 80 00 */ xoris r7, r7, 0x8000
|
|
/* 80350450 0034D390 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d
|
|
/* 80350454 0034D394 81 6D 93 10 */ lwz r11, lbl_80451890-_SDA_BASE_(r13)
|
|
/* 80350458 0034D398 7C CA 60 10 */ subfc r6, r10, r12
|
|
/* 8035045C 0034D39C 81 2D 93 30 */ lwz r9, lbl_804518B0-_SDA_BASE_(r13)
|
|
/* 80350460 0034D3A0 90 BF 6C 00 */ stw r5, 0x6c00(r31)
|
|
/* 80350464 0034D3A4 7C 09 59 10 */ subfe r0, r9, r11
|
|
/* 80350468 0034D3A8 6C 05 80 00 */ xoris r5, r0, 0x8000
|
|
/* 8035046C 0034D3AC 7C 06 40 10 */ subfc r0, r6, r8
|
|
/* 80350470 0034D3B0 80 1F 6C 00 */ lwz r0, 0x6c00(r31)
|
|
/* 80350474 0034D3B4 7C A5 39 10 */ subfe r5, r5, r7
|
|
/* 80350478 0034D3B8 7C A7 39 10 */ subfe r5, r7, r7
|
|
/* 8035047C 0034D3BC 7C A5 00 D0 */ neg r5, r5
|
|
/* 80350480 0034D3C0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
|
/* 80350484 0034D3C4 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 80350488 0034D3C8 90 1F 6C 00 */ stw r0, 0x6c00(r31)
|
|
/* 8035048C 0034D3CC 41 82 00 14 */ beq lbl_803504A0
|
|
/* 80350490 0034D3D0 83 AD 93 20 */ lwz r29, lbl_804518A0-_SDA_BASE_(r13)
|
|
/* 80350494 0034D3D4 38 00 00 01 */ li r0, 1
|
|
/* 80350498 0034D3D8 83 8D 93 24 */ lwz r28, lbl_804518A4-_SDA_BASE_(r13)
|
|
/* 8035049C 0034D3DC 48 00 00 68 */ b lbl_80350504
|
|
lbl_803504A0:
|
|
/* 803504A0 0034D3E0 7C CC 50 14 */ addc r6, r12, r10
|
|
/* 803504A4 0034D3E4 7C 0B 49 14 */ adde r0, r11, r9
|
|
/* 803504A8 0034D3E8 6C 05 80 00 */ xoris r5, r0, 0x8000
|
|
/* 803504AC 0034D3EC 7C 06 40 10 */ subfc r0, r6, r8
|
|
/* 803504B0 0034D3F0 7C A5 39 10 */ subfe r5, r5, r7
|
|
/* 803504B4 0034D3F4 7C A7 39 10 */ subfe r5, r7, r7
|
|
/* 803504B8 0034D3F8 7C A5 00 D0 */ neg r5, r5
|
|
/* 803504BC 0034D3FC 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 803504C0 0034D400 40 82 00 40 */ bne lbl_80350500
|
|
/* 803504C4 0034D404 80 AD 93 1C */ lwz r5, lbl_8045189C-_SDA_BASE_(r13)
|
|
/* 803504C8 0034D408 80 0D 93 18 */ lwz r0, lbl_80451898-_SDA_BASE_(r13)
|
|
/* 803504CC 0034D40C 7C CA 28 10 */ subfc r6, r10, r5
|
|
/* 803504D0 0034D410 7C 09 01 10 */ subfe r0, r9, r0
|
|
/* 803504D4 0034D414 6C 05 80 00 */ xoris r5, r0, 0x8000
|
|
/* 803504D8 0034D418 7C 06 40 10 */ subfc r0, r6, r8
|
|
/* 803504DC 0034D41C 7C A5 39 10 */ subfe r5, r5, r7
|
|
/* 803504E0 0034D420 7C A7 39 10 */ subfe r5, r7, r7
|
|
/* 803504E4 0034D424 7C A5 00 D0 */ neg r5, r5
|
|
/* 803504E8 0034D428 2C 05 00 00 */ cmpwi r5, 0
|
|
/* 803504EC 0034D42C 41 82 00 14 */ beq lbl_80350500
|
|
/* 803504F0 0034D430 83 AD 93 28 */ lwz r29, lbl_804518A8-_SDA_BASE_(r13)
|
|
/* 803504F4 0034D434 38 00 00 01 */ li r0, 1
|
|
/* 803504F8 0034D438 83 8D 93 2C */ lwz r28, lbl_804518AC-_SDA_BASE_(r13)
|
|
/* 803504FC 0034D43C 48 00 00 08 */ b lbl_80350504
|
|
lbl_80350500:
|
|
/* 80350500 0034D440 38 00 00 00 */ li r0, 0
|
|
lbl_80350504:
|
|
/* 80350504 0034D444 28 00 00 00 */ cmplwi r0, 0
|
|
/* 80350508 0034D448 41 82 FE 9C */ beq lbl_803503A4
|
|
/* 8035050C 0034D44C 7F 64 E0 14 */ addc r27, r4, r28
|
|
/* 80350510 0034D450 7F 43 E9 14 */ adde r26, r3, r29
|
|
/* 80350514 0034D454 48 00 00 04 */ b lbl_80350518
|
|
lbl_80350518:
|
|
/* 80350518 0034D458 48 00 00 04 */ b lbl_8035051C
|
|
lbl_8035051C:
|
|
/* 8035051C 0034D45C 4B FF 21 E1 */ bl OSGetTime
|
|
/* 80350520 0034D460 6C 65 80 00 */ xoris r5, r3, 0x8000
|
|
/* 80350524 0034D464 6F 43 80 00 */ xoris r3, r26, 0x8000
|
|
/* 80350528 0034D468 7C 1B 20 10 */ subfc r0, r27, r4
|
|
/* 8035052C 0034D46C 7C 63 29 10 */ subfe r3, r3, r5
|
|
/* 80350530 0034D470 7C 65 29 10 */ subfe r3, r5, r5
|
|
/* 80350534 0034D474 7C 63 00 D0 */ neg r3, r3
|
|
/* 80350538 0034D478 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 8035053C 0034D47C 40 82 FF E0 */ bne lbl_8035051C
|
|
/* 80350540 0034D480 BB 41 00 18 */ lmw r26, 0x18(r1)
|
|
/* 80350544 0034D484 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80350548 0034D488 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 8035054C 0034D48C 7C 08 03 A6 */ mtlr r0
|
|
/* 80350550 0034D490 4E 80 00 20 */ blr
|
|
|