815 lines
35 KiB
ArmAsm
815 lines
35 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global __DSPHandler
|
|
__DSPHandler:
|
|
/* 800475A0 000433E0 94 21 FD 20 */ stwu r1, -0x2e0(r1)
|
|
/* 800475A4 000433E4 7C 08 02 A6 */ mflr r0
|
|
/* 800475A8 000433E8 3C C0 CC 00 */ lis r6, 0xCC00500A@ha
|
|
/* 800475AC 000433EC 90 01 02 E4 */ stw r0, 0x2e4(r1)
|
|
/* 800475B0 000433F0 38 00 FF D7 */ li r0, -0x29
|
|
/* 800475B4 000433F4 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800475B8 000433F8 93 E1 02 DC */ stw r31, 0x2dc(r1)
|
|
/* 800475BC 000433FC 7C 9F 23 78 */ mr r31, r4
|
|
/* 800475C0 00043400 A0 A6 50 0A */ lhz r5, 0xCC00500A@l(r6)
|
|
/* 800475C4 00043404 7C A0 00 38 */ and r0, r5, r0
|
|
/* 800475C8 00043408 60 00 00 80 */ ori r0, r0, 0x80
|
|
/* 800475CC 0004340C B0 06 50 0A */ sth r0, 0x500a(r6)
|
|
/* 800475D0 00043410 4B FD 5E 71 */ bl OSClearContext
|
|
/* 800475D4 00043414 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800475D8 00043418 4B FD 5C 29 */ bl OSSetCurrentContext
|
|
.global lbl_800475DC
|
|
lbl_800475DC:
|
|
/* 800475DC 0004341C 4B FF FD 25 */ bl DSPCheckMailFromDSP
|
|
/* 800475E0 00043420 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800475E4 00043424 41 82 FF F8 */ beq lbl_800475DC
|
|
/* 800475E8 00043428 4B FF FD 29 */ bl DSPReadMailFromDSP
|
|
/* 800475EC 0004342C 80 8D E8 BC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 800475F0 00043430 80 04 00 08 */ lwz r0, 0x8(r4)
|
|
/* 800475F4 00043434 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
|
|
/* 800475F8 00043438 41 82 00 18 */ beq lbl_80047610
|
|
/* 800475FC 0004343C 3C 03 23 2F */ addis r0, r3, 0x232f
|
|
/* 80047600 00043440 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 80047604 00043444 40 82 00 0C */ bne lbl_80047610
|
|
/* 80047608 00043448 3C 60 DC D1 */ lis r3, 0xDCD10003@ha
|
|
/* 8004760C 0004344C 38 63 00 03 */ addi r3, r3, 0xDCD10003@l
|
|
.global lbl_80047610
|
|
lbl_80047610:
|
|
/* 80047610 00043450 3C 03 23 2F */ addis r0, r3, 0x232f
|
|
/* 80047614 00043454 28 00 00 00 */ cmplwi r0, 0x0
|
|
/* 80047618 00043458 41 82 00 28 */ beq lbl_80047640
|
|
/* 8004761C 0004345C 28 00 00 01 */ cmplwi r0, 0x1
|
|
/* 80047620 00043460 41 82 00 44 */ beq lbl_80047664
|
|
/* 80047624 00043464 28 00 00 02 */ cmplwi r0, 0x2
|
|
/* 80047628 00043468 41 82 00 60 */ beq lbl_80047688
|
|
/* 8004762C 0004346C 28 00 00 03 */ cmplwi r0, 0x3
|
|
/* 80047630 00043470 41 82 01 C0 */ beq lbl_800477F0
|
|
/* 80047634 00043474 28 00 00 04 */ cmplwi r0, 0x4
|
|
/* 80047638 00043478 41 82 03 58 */ beq lbl_80047990
|
|
/* 8004763C 0004347C 48 00 03 6C */ b lbl_800479A8
|
|
.global lbl_80047640
|
|
lbl_80047640:
|
|
/* 80047640 00043480 38 00 00 01 */ li r0, 0x1
|
|
/* 80047644 00043484 90 04 00 00 */ stw r0, 0x0(r4)
|
|
/* 80047648 00043488 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 8004764C 0004348C 81 83 00 28 */ lwz r12, 0x28(r3)
|
|
/* 80047650 00043490 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047654 00043494 41 82 03 54 */ beq lbl_800479A8
|
|
/* 80047658 00043498 7D 89 03 A6 */ mtctr r12
|
|
/* 8004765C 0004349C 4E 80 04 21 */ bctrl
|
|
/* 80047660 000434A0 48 00 03 48 */ b lbl_800479A8
|
|
.global lbl_80047664
|
|
lbl_80047664:
|
|
/* 80047664 000434A4 38 00 00 01 */ li r0, 0x1
|
|
/* 80047668 000434A8 90 04 00 00 */ stw r0, 0x0(r4)
|
|
/* 8004766C 000434AC 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047670 000434B0 81 83 00 2C */ lwz r12, 0x2c(r3)
|
|
/* 80047674 000434B4 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047678 000434B8 41 82 03 30 */ beq lbl_800479A8
|
|
/* 8004767C 000434BC 7D 89 03 A6 */ mtctr r12
|
|
/* 80047680 000434C0 4E 80 04 21 */ bctrl
|
|
/* 80047684 000434C4 48 00 03 24 */ b lbl_800479A8
|
|
.global lbl_80047688
|
|
lbl_80047688:
|
|
/* 80047688 000434C8 80 0D E8 A8 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 8004768C 000434CC 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80047690 000434D0 41 82 00 98 */ beq lbl_80047728
|
|
/* 80047694 000434D4 80 0D E8 AC */ lwz r0, __DSP_rude_task@sda21(r13)
|
|
/* 80047698 000434D8 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8004769C 000434DC 40 82 00 44 */ bne lbl_800476E0
|
|
/* 800476A0 000434E0 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
|
|
/* 800476A4 000434E4 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
|
|
/* 800476A8 000434E8 4B FF FC 89 */ bl DSPSendMailToDSP
|
|
.global lbl_800476AC
|
|
lbl_800476AC:
|
|
/* 800476AC 000434EC 4B FF FC 45 */ bl DSPCheckMailToDSP
|
|
/* 800476B0 000434F0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800476B4 000434F4 40 82 FF F8 */ bne lbl_800476AC
|
|
/* 800476B8 000434F8 38 00 00 00 */ li r0, 0x0
|
|
/* 800476BC 000434FC 90 0D E8 AC */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 800476C0 00043500 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800476C4 00043504 90 0D E8 A8 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 800476C8 00043508 81 83 00 2C */ lwz r12, 0x2c(r3)
|
|
/* 800476CC 0004350C 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 800476D0 00043510 41 82 02 D8 */ beq lbl_800479A8
|
|
/* 800476D4 00043514 7D 89 03 A6 */ mtctr r12
|
|
/* 800476D8 00043518 4E 80 04 21 */ bctrl
|
|
/* 800476DC 0004351C 48 00 02 CC */ b lbl_800479A8
|
|
.global lbl_800476E0
|
|
lbl_800476E0:
|
|
/* 800476E0 00043520 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 800476E4 00043524 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 800476E8 00043528 4B FF FC 49 */ bl DSPSendMailToDSP
|
|
.global lbl_800476EC
|
|
lbl_800476EC:
|
|
/* 800476EC 0004352C 4B FF FC 05 */ bl DSPCheckMailToDSP
|
|
/* 800476F0 00043530 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800476F4 00043534 40 82 FF F8 */ bne lbl_800476EC
|
|
/* 800476F8 00043538 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800476FC 0004353C 80 8D E8 AC */ lwz r4, __DSP_rude_task@sda21(r13)
|
|
/* 80047700 00043540 48 00 02 D1 */ bl __DSP_exec_task
|
|
/* 80047704 00043544 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047708 00043548 38 80 00 02 */ li r4, 0x2
|
|
/* 8004770C 0004354C 38 00 00 00 */ li r0, 0x0
|
|
/* 80047710 00043550 90 83 00 00 */ stw r4, 0x0(r3)
|
|
/* 80047714 00043554 80 6D E8 AC */ lwz r3, __DSP_rude_task@sda21(r13)
|
|
/* 80047718 00043558 90 6D E8 BC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 8004771C 0004355C 90 0D E8 AC */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 80047720 00043560 90 0D E8 A8 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 80047724 00043564 48 00 02 84 */ b lbl_800479A8
|
|
.global lbl_80047728
|
|
lbl_80047728:
|
|
/* 80047728 00043568 80 04 00 38 */ lwz r0, 0x38(r4)
|
|
/* 8004772C 0004356C 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80047730 00043570 40 82 00 80 */ bne lbl_800477B0
|
|
/* 80047734 00043574 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 80047738 00043578 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8004773C 0004357C 40 82 00 38 */ bne lbl_80047774
|
|
/* 80047740 00043580 3C 60 CD D1 */ lis r3, 0xCDD10003@ha
|
|
/* 80047744 00043584 38 63 00 03 */ addi r3, r3, 0xCDD10003@l
|
|
/* 80047748 00043588 4B FF FB E9 */ bl DSPSendMailToDSP
|
|
.global lbl_8004774C
|
|
lbl_8004774C:
|
|
/* 8004774C 0004358C 4B FF FB A5 */ bl DSPCheckMailToDSP
|
|
/* 80047750 00043590 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047754 00043594 40 82 FF F8 */ bne lbl_8004774C
|
|
/* 80047758 00043598 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 8004775C 0004359C 81 83 00 2C */ lwz r12, 0x2c(r3)
|
|
/* 80047760 000435A0 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047764 000435A4 41 82 02 44 */ beq lbl_800479A8
|
|
/* 80047768 000435A8 7D 89 03 A6 */ mtctr r12
|
|
/* 8004776C 000435AC 4E 80 04 21 */ bctrl
|
|
/* 80047770 000435B0 48 00 02 38 */ b lbl_800479A8
|
|
.global lbl_80047774
|
|
lbl_80047774:
|
|
/* 80047774 000435B4 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 80047778 000435B8 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 8004777C 000435BC 4B FF FB B5 */ bl DSPSendMailToDSP
|
|
.global lbl_80047780
|
|
lbl_80047780:
|
|
/* 80047780 000435C0 4B FF FB 71 */ bl DSPCheckMailToDSP
|
|
/* 80047784 000435C4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047788 000435C8 40 82 FF F8 */ bne lbl_80047780
|
|
/* 8004778C 000435CC 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047790 000435D0 80 8D E8 B8 */ lwz r4, __DSP_first_task@sda21(r13)
|
|
/* 80047794 000435D4 48 00 02 3D */ bl __DSP_exec_task
|
|
/* 80047798 000435D8 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 8004779C 000435DC 38 00 00 02 */ li r0, 0x2
|
|
/* 800477A0 000435E0 90 03 00 00 */ stw r0, 0x0(r3)
|
|
/* 800477A4 000435E4 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 800477A8 000435E8 90 0D E8 BC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 800477AC 000435EC 48 00 01 FC */ b lbl_800479A8
|
|
.global lbl_800477B0
|
|
lbl_800477B0:
|
|
/* 800477B0 000435F0 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 800477B4 000435F4 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 800477B8 000435F8 4B FF FB 79 */ bl DSPSendMailToDSP
|
|
.global lbl_800477BC
|
|
lbl_800477BC:
|
|
/* 800477BC 000435FC 4B FF FB 35 */ bl DSPCheckMailToDSP
|
|
/* 800477C0 00043600 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800477C4 00043604 40 82 FF F8 */ bne lbl_800477BC
|
|
/* 800477C8 00043608 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800477CC 0004360C 80 83 00 38 */ lwz r4, 0x38(r3)
|
|
/* 800477D0 00043610 48 00 02 01 */ bl __DSP_exec_task
|
|
/* 800477D4 00043614 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800477D8 00043618 38 00 00 02 */ li r0, 0x2
|
|
/* 800477DC 0004361C 90 03 00 00 */ stw r0, 0x0(r3)
|
|
/* 800477E0 00043620 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800477E4 00043624 80 03 00 38 */ lwz r0, 0x38(r3)
|
|
/* 800477E8 00043628 90 0D E8 BC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 800477EC 0004362C 48 00 01 BC */ b lbl_800479A8
|
|
.global lbl_800477F0
|
|
lbl_800477F0:
|
|
/* 800477F0 00043630 80 0D E8 A8 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 800477F4 00043634 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800477F8 00043638 41 82 00 78 */ beq lbl_80047870
|
|
/* 800477FC 0004363C 80 0D E8 AC */ lwz r0, __DSP_rude_task@sda21(r13)
|
|
/* 80047800 00043640 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80047804 00043644 41 82 00 60 */ beq lbl_80047864
|
|
/* 80047808 00043648 81 84 00 30 */ lwz r12, 0x30(r4)
|
|
/* 8004780C 0004364C 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047810 00043650 41 82 00 10 */ beq lbl_80047820
|
|
/* 80047814 00043654 7C 83 23 78 */ mr r3, r4
|
|
/* 80047818 00043658 7D 89 03 A6 */ mtctr r12
|
|
/* 8004781C 0004365C 4E 80 04 21 */ bctrl
|
|
.global lbl_80047820
|
|
lbl_80047820:
|
|
/* 80047820 00043660 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 80047824 00043664 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 80047828 00043668 4B FF FB 09 */ bl DSPSendMailToDSP
|
|
.global lbl_8004782C
|
|
lbl_8004782C:
|
|
/* 8004782C 0004366C 4B FF FA C5 */ bl DSPCheckMailToDSP
|
|
/* 80047830 00043670 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047834 00043674 40 82 FF F8 */ bne lbl_8004782C
|
|
/* 80047838 00043678 80 8D E8 AC */ lwz r4, __DSP_rude_task@sda21(r13)
|
|
/* 8004783C 0004367C 38 60 00 00 */ li r3, 0x0
|
|
/* 80047840 00043680 48 00 01 91 */ bl __DSP_exec_task
|
|
/* 80047844 00043684 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047848 00043688 48 00 05 69 */ bl __DSP_remove_task
|
|
/* 8004784C 0004368C 80 6D E8 AC */ lwz r3, __DSP_rude_task@sda21(r13)
|
|
/* 80047850 00043690 38 00 00 00 */ li r0, 0x0
|
|
/* 80047854 00043694 90 6D E8 BC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047858 00043698 90 0D E8 AC */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 8004785C 0004369C 90 0D E8 A8 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 80047860 000436A0 48 00 01 48 */ b lbl_800479A8
|
|
.global lbl_80047864
|
|
lbl_80047864:
|
|
/* 80047864 000436A4 38 00 00 00 */ li r0, 0x0
|
|
/* 80047868 000436A8 90 0D E8 AC */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 8004786C 000436AC 90 0D E8 A8 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
.global lbl_80047870
|
|
lbl_80047870:
|
|
/* 80047870 000436B0 80 04 00 38 */ lwz r0, 0x38(r4)
|
|
/* 80047874 000436B4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80047878 000436B8 40 82 00 B4 */ bne lbl_8004792C
|
|
/* 8004787C 000436BC 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 80047880 000436C0 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80047884 000436C4 40 82 00 4C */ bne lbl_800478D0
|
|
/* 80047888 000436C8 81 84 00 30 */ lwz r12, 0x30(r4)
|
|
/* 8004788C 000436CC 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047890 000436D0 41 82 00 10 */ beq lbl_800478A0
|
|
/* 80047894 000436D4 7C 83 23 78 */ mr r3, r4
|
|
/* 80047898 000436D8 7D 89 03 A6 */ mtctr r12
|
|
/* 8004789C 000436DC 4E 80 04 21 */ bctrl
|
|
.global lbl_800478A0
|
|
lbl_800478A0:
|
|
/* 800478A0 000436E0 3C 60 CD D1 */ lis r3, 0xCDD10002@ha
|
|
/* 800478A4 000436E4 38 63 00 02 */ addi r3, r3, 0xCDD10002@l
|
|
/* 800478A8 000436E8 4B FF FA 89 */ bl DSPSendMailToDSP
|
|
.global lbl_800478AC
|
|
lbl_800478AC:
|
|
/* 800478AC 000436EC 4B FF FA 45 */ bl DSPCheckMailToDSP
|
|
/* 800478B0 000436F0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800478B4 000436F4 40 82 FF F8 */ bne lbl_800478AC
|
|
/* 800478B8 000436F8 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800478BC 000436FC 38 00 00 03 */ li r0, 0x3
|
|
/* 800478C0 00043700 90 03 00 00 */ stw r0, 0x0(r3)
|
|
/* 800478C4 00043704 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 800478C8 00043708 48 00 04 E9 */ bl __DSP_remove_task
|
|
/* 800478CC 0004370C 48 00 00 DC */ b lbl_800479A8
|
|
.global lbl_800478D0
|
|
lbl_800478D0:
|
|
/* 800478D0 00043710 81 84 00 30 */ lwz r12, 0x30(r4)
|
|
/* 800478D4 00043714 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 800478D8 00043718 41 82 00 10 */ beq lbl_800478E8
|
|
/* 800478DC 0004371C 7C 83 23 78 */ mr r3, r4
|
|
/* 800478E0 00043720 7D 89 03 A6 */ mtctr r12
|
|
/* 800478E4 00043724 4E 80 04 21 */ bctrl
|
|
.global lbl_800478E8
|
|
lbl_800478E8:
|
|
/* 800478E8 00043728 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 800478EC 0004372C 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 800478F0 00043730 4B FF FA 41 */ bl DSPSendMailToDSP
|
|
.global lbl_800478F4
|
|
lbl_800478F4:
|
|
/* 800478F4 00043734 4B FF F9 FD */ bl DSPCheckMailToDSP
|
|
/* 800478F8 00043738 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800478FC 0004373C 40 82 FF F8 */ bne lbl_800478F4
|
|
/* 80047900 00043740 80 8D E8 BC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 80047904 00043744 38 00 00 03 */ li r0, 0x3
|
|
/* 80047908 00043748 38 60 00 00 */ li r3, 0x0
|
|
/* 8004790C 0004374C 90 04 00 00 */ stw r0, 0x0(r4)
|
|
/* 80047910 00043750 80 8D E8 B8 */ lwz r4, __DSP_first_task@sda21(r13)
|
|
/* 80047914 00043754 48 00 00 BD */ bl __DSP_exec_task
|
|
/* 80047918 00043758 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 8004791C 0004375C 90 0D E8 BC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 80047920 00043760 80 6D E8 B4 */ lwz r3, __DSP_last_task@sda21(r13)
|
|
/* 80047924 00043764 48 00 04 8D */ bl __DSP_remove_task
|
|
/* 80047928 00043768 48 00 00 80 */ b lbl_800479A8
|
|
.global lbl_8004792C
|
|
lbl_8004792C:
|
|
/* 8004792C 0004376C 81 84 00 30 */ lwz r12, 0x30(r4)
|
|
/* 80047930 00043770 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047934 00043774 41 82 00 10 */ beq lbl_80047944
|
|
/* 80047938 00043778 7C 83 23 78 */ mr r3, r4
|
|
/* 8004793C 0004377C 7D 89 03 A6 */ mtctr r12
|
|
/* 80047940 00043780 4E 80 04 21 */ bctrl
|
|
.global lbl_80047944
|
|
lbl_80047944:
|
|
/* 80047944 00043784 3C 60 CD D1 */ lis r3, 0xCDD10001@ha
|
|
/* 80047948 00043788 38 63 00 01 */ addi r3, r3, 0xCDD10001@l
|
|
/* 8004794C 0004378C 4B FF F9 E5 */ bl DSPSendMailToDSP
|
|
.global lbl_80047950
|
|
lbl_80047950:
|
|
/* 80047950 00043790 4B FF F9 A1 */ bl DSPCheckMailToDSP
|
|
/* 80047954 00043794 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047958 00043798 40 82 FF F8 */ bne lbl_80047950
|
|
/* 8004795C 0004379C 80 8D E8 BC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 80047960 000437A0 38 00 00 03 */ li r0, 0x3
|
|
/* 80047964 000437A4 38 60 00 00 */ li r3, 0x0
|
|
/* 80047968 000437A8 90 04 00 00 */ stw r0, 0x0(r4)
|
|
/* 8004796C 000437AC 80 8D E8 BC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 80047970 000437B0 80 84 00 38 */ lwz r4, 0x38(r4)
|
|
/* 80047974 000437B4 48 00 00 5D */ bl __DSP_exec_task
|
|
/* 80047978 000437B8 80 6D E8 BC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 8004797C 000437BC 80 63 00 38 */ lwz r3, 0x38(r3)
|
|
/* 80047980 000437C0 90 6D E8 BC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047984 000437C4 80 63 00 3C */ lwz r3, 0x3c(r3)
|
|
/* 80047988 000437C8 48 00 04 29 */ bl __DSP_remove_task
|
|
/* 8004798C 000437CC 48 00 00 1C */ b lbl_800479A8
|
|
.global lbl_80047990
|
|
lbl_80047990:
|
|
/* 80047990 000437D0 81 84 00 34 */ lwz r12, 0x34(r4)
|
|
/* 80047994 000437D4 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80047998 000437D8 41 82 00 10 */ beq lbl_800479A8
|
|
/* 8004799C 000437DC 7C 83 23 78 */ mr r3, r4
|
|
/* 800479A0 000437E0 7D 89 03 A6 */ mtctr r12
|
|
/* 800479A4 000437E4 4E 80 04 21 */ bctrl
|
|
.global lbl_800479A8
|
|
lbl_800479A8:
|
|
/* 800479A8 000437E8 38 61 00 08 */ addi r3, r1, 0x8
|
|
/* 800479AC 000437EC 4B FD 5A 95 */ bl OSClearContext
|
|
/* 800479B0 000437F0 7F E3 FB 78 */ mr r3, r31
|
|
/* 800479B4 000437F4 4B FD 58 4D */ bl OSSetCurrentContext
|
|
/* 800479B8 000437F8 80 01 02 E4 */ lwz r0, 0x2e4(r1)
|
|
/* 800479BC 000437FC 83 E1 02 DC */ lwz r31, 0x2dc(r1)
|
|
/* 800479C0 00043800 7C 08 03 A6 */ mtlr r0
|
|
/* 800479C4 00043804 38 21 02 E0 */ addi r1, r1, 0x2e0
|
|
/* 800479C8 00043808 4E 80 00 20 */ blr
|
|
/* 800479CC 0004380C 00 00 00 00 */ .4byte 0x00000000
|
|
.global __DSP_exec_task
|
|
__DSP_exec_task:
|
|
/* 800479D0 00043810 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 800479D4 00043814 7C 08 02 A6 */ mflr r0
|
|
/* 800479D8 00043818 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 800479DC 0004381C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 800479E0 00043820 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 800479E4 00043824 7C 9F 23 78 */ mr r31, r4
|
|
/* 800479E8 00043828 93 C1 00 08 */ stw r30, 0x8(r1)
|
|
/* 800479EC 0004382C 7C 7E 1B 78 */ mr r30, r3
|
|
/* 800479F0 00043830 41 82 00 44 */ beq lbl_80047A34
|
|
/* 800479F4 00043834 80 63 00 18 */ lwz r3, 0x18(r3)
|
|
/* 800479F8 00043838 4B FF F9 39 */ bl DSPSendMailToDSP
|
|
.global lbl_800479FC
|
|
lbl_800479FC:
|
|
/* 800479FC 0004383C 4B FF F8 F5 */ bl DSPCheckMailToDSP
|
|
/* 80047A00 00043840 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A04 00043844 40 82 FF F8 */ bne lbl_800479FC
|
|
/* 80047A08 00043848 80 7E 00 1C */ lwz r3, 0x1c(r30)
|
|
/* 80047A0C 0004384C 4B FF F9 25 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A10
|
|
lbl_80047A10:
|
|
/* 80047A10 00043850 4B FF F8 E1 */ bl DSPCheckMailToDSP
|
|
/* 80047A14 00043854 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A18 00043858 40 82 FF F8 */ bne lbl_80047A10
|
|
/* 80047A1C 0004385C 80 7E 00 20 */ lwz r3, 0x20(r30)
|
|
/* 80047A20 00043860 4B FF F9 11 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A24
|
|
lbl_80047A24:
|
|
/* 80047A24 00043864 4B FF F8 CD */ bl DSPCheckMailToDSP
|
|
/* 80047A28 00043868 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A2C 0004386C 40 82 FF F8 */ bne lbl_80047A24
|
|
/* 80047A30 00043870 48 00 00 40 */ b lbl_80047A70
|
|
.global lbl_80047A34
|
|
lbl_80047A34:
|
|
/* 80047A34 00043874 38 60 00 00 */ li r3, 0x0
|
|
/* 80047A38 00043878 4B FF F8 F9 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A3C
|
|
lbl_80047A3C:
|
|
/* 80047A3C 0004387C 4B FF F8 B5 */ bl DSPCheckMailToDSP
|
|
/* 80047A40 00043880 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A44 00043884 40 82 FF F8 */ bne lbl_80047A3C
|
|
/* 80047A48 00043888 38 60 00 00 */ li r3, 0x0
|
|
/* 80047A4C 0004388C 4B FF F8 E5 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A50
|
|
lbl_80047A50:
|
|
/* 80047A50 00043890 4B FF F8 A1 */ bl DSPCheckMailToDSP
|
|
/* 80047A54 00043894 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A58 00043898 40 82 FF F8 */ bne lbl_80047A50
|
|
/* 80047A5C 0004389C 38 60 00 00 */ li r3, 0x0
|
|
/* 80047A60 000438A0 4B FF F8 D1 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A64
|
|
lbl_80047A64:
|
|
/* 80047A64 000438A4 4B FF F8 8D */ bl DSPCheckMailToDSP
|
|
/* 80047A68 000438A8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A6C 000438AC 40 82 FF F8 */ bne lbl_80047A64
|
|
.global lbl_80047A70
|
|
lbl_80047A70:
|
|
/* 80047A70 000438B0 80 7F 00 0C */ lwz r3, 0xc(r31)
|
|
/* 80047A74 000438B4 4B FF F8 BD */ bl DSPSendMailToDSP
|
|
.global lbl_80047A78
|
|
lbl_80047A78:
|
|
/* 80047A78 000438B8 4B FF F8 79 */ bl DSPCheckMailToDSP
|
|
/* 80047A7C 000438BC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A80 000438C0 40 82 FF F8 */ bne lbl_80047A78
|
|
/* 80047A84 000438C4 80 7F 00 10 */ lwz r3, 0x10(r31)
|
|
/* 80047A88 000438C8 4B FF F8 A9 */ bl DSPSendMailToDSP
|
|
.global lbl_80047A8C
|
|
lbl_80047A8C:
|
|
/* 80047A8C 000438CC 4B FF F8 65 */ bl DSPCheckMailToDSP
|
|
/* 80047A90 000438D0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047A94 000438D4 40 82 FF F8 */ bne lbl_80047A8C
|
|
/* 80047A98 000438D8 80 7F 00 14 */ lwz r3, 0x14(r31)
|
|
/* 80047A9C 000438DC 4B FF F8 95 */ bl DSPSendMailToDSP
|
|
.global lbl_80047AA0
|
|
lbl_80047AA0:
|
|
/* 80047AA0 000438E0 4B FF F8 51 */ bl DSPCheckMailToDSP
|
|
/* 80047AA4 000438E4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047AA8 000438E8 40 82 FF F8 */ bne lbl_80047AA0
|
|
/* 80047AAC 000438EC 80 1F 00 00 */ lwz r0, 0x0(r31)
|
|
/* 80047AB0 000438F0 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 80047AB4 000438F4 40 82 00 58 */ bne lbl_80047B0C
|
|
/* 80047AB8 000438F8 A0 7F 00 24 */ lhz r3, 0x24(r31)
|
|
/* 80047ABC 000438FC 4B FF F8 75 */ bl DSPSendMailToDSP
|
|
.global lbl_80047AC0
|
|
lbl_80047AC0:
|
|
/* 80047AC0 00043900 4B FF F8 31 */ bl DSPCheckMailToDSP
|
|
/* 80047AC4 00043904 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047AC8 00043908 40 82 FF F8 */ bne lbl_80047AC0
|
|
/* 80047ACC 0004390C 38 60 00 00 */ li r3, 0x0
|
|
/* 80047AD0 00043910 4B FF F8 61 */ bl DSPSendMailToDSP
|
|
.global lbl_80047AD4
|
|
lbl_80047AD4:
|
|
/* 80047AD4 00043914 4B FF F8 1D */ bl DSPCheckMailToDSP
|
|
/* 80047AD8 00043918 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047ADC 0004391C 40 82 FF F8 */ bne lbl_80047AD4
|
|
/* 80047AE0 00043920 38 60 00 00 */ li r3, 0x0
|
|
/* 80047AE4 00043924 4B FF F8 4D */ bl DSPSendMailToDSP
|
|
.global lbl_80047AE8
|
|
lbl_80047AE8:
|
|
/* 80047AE8 00043928 4B FF F8 09 */ bl DSPCheckMailToDSP
|
|
/* 80047AEC 0004392C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047AF0 00043930 40 82 FF F8 */ bne lbl_80047AE8
|
|
/* 80047AF4 00043934 38 60 00 00 */ li r3, 0x0
|
|
/* 80047AF8 00043938 4B FF F8 39 */ bl DSPSendMailToDSP
|
|
.global lbl_80047AFC
|
|
lbl_80047AFC:
|
|
/* 80047AFC 0004393C 4B FF F7 F5 */ bl DSPCheckMailToDSP
|
|
/* 80047B00 00043940 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047B04 00043944 40 82 FF F8 */ bne lbl_80047AFC
|
|
/* 80047B08 00043948 48 00 00 54 */ b lbl_80047B5C
|
|
.global lbl_80047B0C
|
|
lbl_80047B0C:
|
|
/* 80047B0C 0004394C A0 7F 00 26 */ lhz r3, 0x26(r31)
|
|
/* 80047B10 00043950 4B FF F8 21 */ bl DSPSendMailToDSP
|
|
.global lbl_80047B14
|
|
lbl_80047B14:
|
|
/* 80047B14 00043954 4B FF F7 DD */ bl DSPCheckMailToDSP
|
|
/* 80047B18 00043958 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047B1C 0004395C 40 82 FF F8 */ bne lbl_80047B14
|
|
/* 80047B20 00043960 80 7F 00 18 */ lwz r3, 0x18(r31)
|
|
/* 80047B24 00043964 4B FF F8 0D */ bl DSPSendMailToDSP
|
|
.global lbl_80047B28
|
|
lbl_80047B28:
|
|
/* 80047B28 00043968 4B FF F7 C9 */ bl DSPCheckMailToDSP
|
|
/* 80047B2C 0004396C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047B30 00043970 40 82 FF F8 */ bne lbl_80047B28
|
|
/* 80047B34 00043974 80 7F 00 1C */ lwz r3, 0x1c(r31)
|
|
/* 80047B38 00043978 4B FF F7 F9 */ bl DSPSendMailToDSP
|
|
.global lbl_80047B3C
|
|
lbl_80047B3C:
|
|
/* 80047B3C 0004397C 4B FF F7 B5 */ bl DSPCheckMailToDSP
|
|
/* 80047B40 00043980 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047B44 00043984 40 82 FF F8 */ bne lbl_80047B3C
|
|
/* 80047B48 00043988 80 7F 00 20 */ lwz r3, 0x20(r31)
|
|
/* 80047B4C 0004398C 4B FF F7 E5 */ bl DSPSendMailToDSP
|
|
.global lbl_80047B50
|
|
lbl_80047B50:
|
|
/* 80047B50 00043990 4B FF F7 A1 */ bl DSPCheckMailToDSP
|
|
/* 80047B54 00043994 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047B58 00043998 40 82 FF F8 */ bne lbl_80047B50
|
|
.global lbl_80047B5C
|
|
lbl_80047B5C:
|
|
/* 80047B5C 0004399C 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80047B60 000439A0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 80047B64 000439A4 83 C1 00 08 */ lwz r30, 0x8(r1)
|
|
/* 80047B68 000439A8 7C 08 03 A6 */ mtlr r0
|
|
/* 80047B6C 000439AC 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80047B70 000439B0 4E 80 00 20 */ blr
|
|
/* 80047B74 000439B4 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80047B78 000439B8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80047B7C 000439BC 00 00 00 00 */ .4byte 0x00000000
|
|
.global __DSP_boot_task
|
|
__DSP_boot_task:
|
|
/* 80047B80 000439C0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80047B84 000439C4 7C 08 02 A6 */ mflr r0
|
|
/* 80047B88 000439C8 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80047B8C 000439CC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80047B90 000439D0 3F E0 80 43 */ lis r31, "@2654"@ha
|
|
/* 80047B94 000439D4 3B FF 62 40 */ addi r31, r31, "@2654"@l
|
|
/* 80047B98 000439D8 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80047B9C 000439DC 7C 7E 1B 78 */ mr r30, r3
|
|
.global lbl_80047BA0
|
|
lbl_80047BA0:
|
|
/* 80047BA0 000439E0 4B FF F7 61 */ bl DSPCheckMailFromDSP
|
|
/* 80047BA4 000439E4 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047BA8 000439E8 41 82 FF F8 */ beq lbl_80047BA0
|
|
/* 80047BAC 000439EC 4B FF F7 65 */ bl DSPReadMailFromDSP
|
|
/* 80047BB0 000439F0 90 61 00 08 */ stw r3, 0x8(r1)
|
|
/* 80047BB4 000439F4 3C 60 80 F4 */ lis r3, 0x80F3A001@ha
|
|
/* 80047BB8 000439F8 38 63 A0 01 */ addi r3, r3, 0x80F3A001@l
|
|
/* 80047BBC 000439FC 4B FF F7 75 */ bl DSPSendMailToDSP
|
|
.global lbl_80047BC0
|
|
lbl_80047BC0:
|
|
/* 80047BC0 00043A00 4B FF F7 31 */ bl DSPCheckMailToDSP
|
|
/* 80047BC4 00043A04 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047BC8 00043A08 40 82 FF F8 */ bne lbl_80047BC0
|
|
/* 80047BCC 00043A0C 80 7E 00 0C */ lwz r3, 0xc(r30)
|
|
/* 80047BD0 00043A10 4B FF F7 61 */ bl DSPSendMailToDSP
|
|
.global lbl_80047BD4
|
|
lbl_80047BD4:
|
|
/* 80047BD4 00043A14 4B FF F7 1D */ bl DSPCheckMailToDSP
|
|
/* 80047BD8 00043A18 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047BDC 00043A1C 40 82 FF F8 */ bne lbl_80047BD4
|
|
/* 80047BE0 00043A20 3C 60 80 F4 */ lis r3, 0x80F3C002@ha
|
|
/* 80047BE4 00043A24 38 63 C0 02 */ addi r3, r3, 0x80F3C002@l
|
|
/* 80047BE8 00043A28 4B FF F7 49 */ bl DSPSendMailToDSP
|
|
.global lbl_80047BEC
|
|
lbl_80047BEC:
|
|
/* 80047BEC 00043A2C 4B FF F7 05 */ bl DSPCheckMailToDSP
|
|
/* 80047BF0 00043A30 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047BF4 00043A34 40 82 FF F8 */ bne lbl_80047BEC
|
|
/* 80047BF8 00043A38 80 1E 00 14 */ lwz r0, 0x14(r30)
|
|
/* 80047BFC 00043A3C 54 03 04 3E */ clrlwi r3, r0, 16
|
|
/* 80047C00 00043A40 4B FF F7 31 */ bl DSPSendMailToDSP
|
|
.global lbl_80047C04
|
|
lbl_80047C04:
|
|
/* 80047C04 00043A44 4B FF F6 ED */ bl DSPCheckMailToDSP
|
|
/* 80047C08 00043A48 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C0C 00043A4C 40 82 FF F8 */ bne lbl_80047C04
|
|
/* 80047C10 00043A50 3C 60 80 F4 */ lis r3, 0x80F3A002@ha
|
|
/* 80047C14 00043A54 38 63 A0 02 */ addi r3, r3, 0x80F3A002@l
|
|
/* 80047C18 00043A58 4B FF F7 19 */ bl DSPSendMailToDSP
|
|
.global lbl_80047C1C
|
|
lbl_80047C1C:
|
|
/* 80047C1C 00043A5C 4B FF F6 D5 */ bl DSPCheckMailToDSP
|
|
/* 80047C20 00043A60 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C24 00043A64 40 82 FF F8 */ bne lbl_80047C1C
|
|
/* 80047C28 00043A68 80 7E 00 10 */ lwz r3, 0x10(r30)
|
|
/* 80047C2C 00043A6C 4B FF F7 05 */ bl DSPSendMailToDSP
|
|
.global lbl_80047C30
|
|
lbl_80047C30:
|
|
/* 80047C30 00043A70 4B FF F6 C1 */ bl DSPCheckMailToDSP
|
|
/* 80047C34 00043A74 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C38 00043A78 40 82 FF F8 */ bne lbl_80047C30
|
|
/* 80047C3C 00043A7C 3C 60 80 F4 */ lis r3, 0x80F3B002@ha
|
|
/* 80047C40 00043A80 38 63 B0 02 */ addi r3, r3, 0x80F3B002@l
|
|
/* 80047C44 00043A84 4B FF F6 ED */ bl DSPSendMailToDSP
|
|
.global lbl_80047C48
|
|
lbl_80047C48:
|
|
/* 80047C48 00043A88 4B FF F6 A9 */ bl DSPCheckMailToDSP
|
|
/* 80047C4C 00043A8C 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C50 00043A90 40 82 FF F8 */ bne lbl_80047C48
|
|
/* 80047C54 00043A94 38 60 00 00 */ li r3, 0x0
|
|
/* 80047C58 00043A98 4B FF F6 D9 */ bl DSPSendMailToDSP
|
|
.global lbl_80047C5C
|
|
lbl_80047C5C:
|
|
/* 80047C5C 00043A9C 4B FF F6 95 */ bl DSPCheckMailToDSP
|
|
/* 80047C60 00043AA0 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C64 00043AA4 40 82 FF F8 */ bne lbl_80047C5C
|
|
/* 80047C68 00043AA8 3C 60 80 F4 */ lis r3, 0x80F3D001@ha
|
|
/* 80047C6C 00043AAC 38 63 D0 01 */ addi r3, r3, 0x80F3D001@l
|
|
/* 80047C70 00043AB0 4B FF F6 C1 */ bl DSPSendMailToDSP
|
|
.global lbl_80047C74
|
|
lbl_80047C74:
|
|
/* 80047C74 00043AB4 4B FF F6 7D */ bl DSPCheckMailToDSP
|
|
/* 80047C78 00043AB8 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C7C 00043ABC 40 82 FF F8 */ bne lbl_80047C74
|
|
/* 80047C80 00043AC0 A0 7E 00 24 */ lhz r3, 0x24(r30)
|
|
/* 80047C84 00043AC4 4B FF F6 AD */ bl DSPSendMailToDSP
|
|
.global lbl_80047C88
|
|
lbl_80047C88:
|
|
/* 80047C88 00043AC8 4B FF F6 69 */ bl DSPCheckMailToDSP
|
|
/* 80047C8C 00043ACC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047C90 00043AD0 40 82 FF F8 */ bne lbl_80047C88
|
|
/* 80047C94 00043AD4 7F C4 F3 78 */ mr r4, r30
|
|
/* 80047C98 00043AD8 38 7F 00 00 */ addi r3, r31, 0x0
|
|
/* 80047C9C 00043ADC 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CA0 00043AE0 4B FF F8 B1 */ bl __DSP_debug_printf
|
|
/* 80047CA4 00043AE4 80 9E 00 0C */ lwz r4, 0xc(r30)
|
|
/* 80047CA8 00043AE8 38 7F 00 20 */ addi r3, r31, 0x20
|
|
/* 80047CAC 00043AEC 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CB0 00043AF0 4B FF F8 A1 */ bl __DSP_debug_printf
|
|
/* 80047CB4 00043AF4 80 9E 00 14 */ lwz r4, 0x14(r30)
|
|
/* 80047CB8 00043AF8 38 7F 00 50 */ addi r3, r31, 0x50
|
|
/* 80047CBC 00043AFC 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CC0 00043B00 4B FF F8 91 */ bl __DSP_debug_printf
|
|
/* 80047CC4 00043B04 80 9E 00 10 */ lwz r4, 0x10(r30)
|
|
/* 80047CC8 00043B08 38 7F 00 80 */ addi r3, r31, 0x80
|
|
/* 80047CCC 00043B0C 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CD0 00043B10 4B FF F8 81 */ bl __DSP_debug_printf
|
|
/* 80047CD4 00043B14 80 9E 00 1C */ lwz r4, 0x1c(r30)
|
|
/* 80047CD8 00043B18 38 7F 00 B0 */ addi r3, r31, 0xb0
|
|
/* 80047CDC 00043B1C 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CE0 00043B20 4B FF F8 71 */ bl __DSP_debug_printf
|
|
/* 80047CE4 00043B24 A0 9E 00 24 */ lhz r4, 0x24(r30)
|
|
/* 80047CE8 00043B28 38 7F 00 E0 */ addi r3, r31, 0xe0
|
|
/* 80047CEC 00043B2C 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80047CF0 00043B30 4B FF F8 61 */ bl __DSP_debug_printf
|
|
/* 80047CF4 00043B34 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80047CF8 00043B38 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80047CFC 00043B3C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80047D00 00043B40 7C 08 03 A6 */ mtlr r0
|
|
/* 80047D04 00043B44 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80047D08 00043B48 4E 80 00 20 */ blr
|
|
/* 80047D0C 00043B4C 00 00 00 00 */ .4byte 0x00000000
|
|
.global __DSP_insert_task
|
|
__DSP_insert_task:
|
|
/* 80047D10 00043B50 80 AD E8 B8 */ lwz r5, __DSP_first_task@sda21(r13)
|
|
/* 80047D14 00043B54 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80047D18 00043B58 40 82 00 68 */ bne lbl_80047D80
|
|
/* 80047D1C 00043B5C 90 6D E8 BC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 80047D20 00043B60 38 00 00 00 */ li r0, 0x0
|
|
/* 80047D24 00043B64 90 6D E8 B4 */ stw r3, __DSP_last_task@sda21(r13)
|
|
/* 80047D28 00043B68 90 6D E8 B8 */ stw r3, __DSP_first_task@sda21(r13)
|
|
/* 80047D2C 00043B6C 90 03 00 3C */ stw r0, 0x3c(r3)
|
|
/* 80047D30 00043B70 90 03 00 38 */ stw r0, 0x38(r3)
|
|
/* 80047D34 00043B74 4E 80 00 20 */ blr
|
|
/* 80047D38 00043B78 48 00 00 48 */ b lbl_80047D80
|
|
/* 80047D3C 00043B7C 60 00 00 00 */ nop
|
|
.global lbl_80047D40
|
|
lbl_80047D40:
|
|
/* 80047D40 00043B80 80 83 00 04 */ lwz r4, 0x4(r3)
|
|
/* 80047D44 00043B84 80 05 00 04 */ lwz r0, 0x4(r5)
|
|
/* 80047D48 00043B88 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80047D4C 00043B8C 40 80 00 30 */ bge lbl_80047D7C
|
|
/* 80047D50 00043B90 80 05 00 3C */ lwz r0, 0x3c(r5)
|
|
/* 80047D54 00043B94 90 03 00 3C */ stw r0, 0x3c(r3)
|
|
/* 80047D58 00043B98 90 65 00 3C */ stw r3, 0x3c(r5)
|
|
/* 80047D5C 00043B9C 80 83 00 3C */ lwz r4, 0x3c(r3)
|
|
/* 80047D60 00043BA0 90 A3 00 38 */ stw r5, 0x38(r3)
|
|
/* 80047D64 00043BA4 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80047D68 00043BA8 40 82 00 0C */ bne lbl_80047D74
|
|
/* 80047D6C 00043BAC 90 6D E8 B8 */ stw r3, __DSP_first_task@sda21(r13)
|
|
/* 80047D70 00043BB0 48 00 00 18 */ b lbl_80047D88
|
|
.global lbl_80047D74
|
|
lbl_80047D74:
|
|
/* 80047D74 00043BB4 90 64 00 38 */ stw r3, 0x38(r4)
|
|
/* 80047D78 00043BB8 48 00 00 10 */ b lbl_80047D88
|
|
.global lbl_80047D7C
|
|
lbl_80047D7C:
|
|
/* 80047D7C 00043BBC 80 A5 00 38 */ lwz r5, 0x38(r5)
|
|
.global lbl_80047D80
|
|
lbl_80047D80:
|
|
/* 80047D80 00043BC0 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80047D84 00043BC4 40 82 FF BC */ bne lbl_80047D40
|
|
.global lbl_80047D88
|
|
lbl_80047D88:
|
|
/* 80047D88 00043BC8 2C 05 00 00 */ cmpwi r5, 0x0
|
|
/* 80047D8C 00043BCC 4C 82 00 20 */ bnelr
|
|
/* 80047D90 00043BD0 80 8D E8 B4 */ lwz r4, __DSP_last_task@sda21(r13)
|
|
/* 80047D94 00043BD4 38 00 00 00 */ li r0, 0x0
|
|
/* 80047D98 00043BD8 90 64 00 38 */ stw r3, 0x38(r4)
|
|
/* 80047D9C 00043BDC 90 03 00 38 */ stw r0, 0x38(r3)
|
|
/* 80047DA0 00043BE0 80 0D E8 B4 */ lwz r0, __DSP_last_task@sda21(r13)
|
|
/* 80047DA4 00043BE4 90 03 00 3C */ stw r0, 0x3c(r3)
|
|
/* 80047DA8 00043BE8 90 6D E8 B4 */ stw r3, __DSP_last_task@sda21(r13)
|
|
/* 80047DAC 00043BEC 4E 80 00 20 */ blr
|
|
.global __DSP_remove_task
|
|
__DSP_remove_task:
|
|
/* 80047DB0 00043BF0 38 80 00 00 */ li r4, 0x0
|
|
/* 80047DB4 00043BF4 90 83 00 08 */ stw r4, 0x8(r3)
|
|
/* 80047DB8 00043BF8 38 00 00 03 */ li r0, 0x3
|
|
/* 80047DBC 00043BFC 90 03 00 00 */ stw r0, 0x0(r3)
|
|
/* 80047DC0 00043C00 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 80047DC4 00043C04 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80047DC8 00043C08 40 82 00 2C */ bne lbl_80047DF4
|
|
/* 80047DCC 00043C0C 80 63 00 38 */ lwz r3, 0x38(r3)
|
|
/* 80047DD0 00043C10 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80047DD4 00043C14 41 82 00 10 */ beq lbl_80047DE4
|
|
/* 80047DD8 00043C18 90 6D E8 B8 */ stw r3, __DSP_first_task@sda21(r13)
|
|
/* 80047DDC 00043C1C 90 83 00 3C */ stw r4, 0x3c(r3)
|
|
/* 80047DE0 00043C20 4E 80 00 20 */ blr
|
|
.global lbl_80047DE4
|
|
lbl_80047DE4:
|
|
/* 80047DE4 00043C24 90 8D E8 BC */ stw r4, __DSP_curr_task@sda21(r13)
|
|
/* 80047DE8 00043C28 90 8D E8 B4 */ stw r4, __DSP_last_task@sda21(r13)
|
|
/* 80047DEC 00043C2C 90 8D E8 B8 */ stw r4, __DSP_first_task@sda21(r13)
|
|
/* 80047DF0 00043C30 4E 80 00 20 */ blr
|
|
.global lbl_80047DF4
|
|
lbl_80047DF4:
|
|
/* 80047DF4 00043C34 80 0D E8 B4 */ lwz r0, __DSP_last_task@sda21(r13)
|
|
/* 80047DF8 00043C38 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80047DFC 00043C3C 40 82 00 1C */ bne lbl_80047E18
|
|
/* 80047E00 00043C40 80 63 00 3C */ lwz r3, 0x3c(r3)
|
|
/* 80047E04 00043C44 90 6D E8 B4 */ stw r3, __DSP_last_task@sda21(r13)
|
|
/* 80047E08 00043C48 90 83 00 38 */ stw r4, 0x38(r3)
|
|
/* 80047E0C 00043C4C 80 0D E8 B8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 80047E10 00043C50 90 0D E8 BC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 80047E14 00043C54 4E 80 00 20 */ blr
|
|
.global lbl_80047E18
|
|
lbl_80047E18:
|
|
/* 80047E18 00043C58 80 03 00 38 */ lwz r0, 0x38(r3)
|
|
/* 80047E1C 00043C5C 90 0D E8 BC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 80047E20 00043C60 80 83 00 3C */ lwz r4, 0x3c(r3)
|
|
/* 80047E24 00043C64 90 04 00 38 */ stw r0, 0x38(r4)
|
|
/* 80047E28 00043C68 80 83 00 38 */ lwz r4, 0x38(r3)
|
|
/* 80047E2C 00043C6C 80 03 00 3C */ lwz r0, 0x3c(r3)
|
|
/* 80047E30 00043C70 90 04 00 3C */ stw r0, 0x3c(r4)
|
|
/* 80047E34 00043C74 4E 80 00 20 */ blr
|
|
/* 80047E38 00043C78 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80047E3C 00043C7C 00 00 00 00 */ .4byte 0x00000000
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@2654"
|
|
"@2654":
|
|
|
|
.4byte 0x44535020
|
|
.4byte 0x69732062
|
|
.4byte 0x6F6F7469
|
|
.4byte 0x6E672074
|
|
.4byte 0x61736B3A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F626F
|
|
.4byte 0x6F745F74
|
|
.4byte 0x61736B28
|
|
.4byte 0x2920203A
|
|
.4byte 0x20495241
|
|
.4byte 0x4D204D4D
|
|
.4byte 0x454D2041
|
|
.4byte 0x4444523A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F626F
|
|
.4byte 0x6F745F74
|
|
.4byte 0x61736B28
|
|
.4byte 0x2920203A
|
|
.4byte 0x20495241
|
|
.4byte 0x4D204453
|
|
.4byte 0x50204144
|
|
.4byte 0x4452203A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F626F
|
|
.4byte 0x6F745F74
|
|
.4byte 0x61736B28
|
|
.4byte 0x2920203A
|
|
.4byte 0x20495241
|
|
.4byte 0x4D204C45
|
|
.4byte 0x4E475448
|
|
.4byte 0x2020203A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F626F
|
|
.4byte 0x6F745F74
|
|
.4byte 0x61736B28
|
|
.4byte 0x2920203A
|
|
.4byte 0x20445241
|
|
.4byte 0x4D204D4D
|
|
.4byte 0x454D2041
|
|
.4byte 0x4444523A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F626F
|
|
.4byte 0x6F745F74
|
|
.4byte 0x61736B28
|
|
.4byte 0x2920203A
|
|
.4byte 0x20537461
|
|
.4byte 0x72742056
|
|
.4byte 0x6563746F
|
|
.4byte 0x7220203A
|
|
.4byte 0x20307825
|
|
.4byte 0x3038580A
|
|
.4byte 0
|
|
.4byte 0x5F5F4453
|
|
.4byte 0x505F6164
|
|
.4byte 0x645F7461
|
|
.4byte 0x736B2829
|
|
.4byte 0x203A2041
|
|
.4byte 0x64646564
|
|
.4byte 0x20746173
|
|
.4byte 0x6B202020
|
|
.4byte 0x203A2030
|
|
.4byte 0x78253038
|
|
.4byte 0x580A0000
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
.global __DSP_rude_task_pending
|
|
__DSP_rude_task_pending:
|
|
.skip 0x4
|
|
|
|
.global __DSP_rude_task
|
|
__DSP_rude_task:
|
|
.skip 0x4
|
|
|
|
.global __DSP_tmp_task
|
|
__DSP_tmp_task:
|
|
.skip 0x4
|
|
|
|
.global __DSP_last_task
|
|
__DSP_last_task:
|
|
.skip 0x4
|
|
|
|
.global __DSP_first_task
|
|
__DSP_first_task:
|
|
.skip 0x4
|
|
|
|
.global __DSP_curr_task
|
|
__DSP_curr_task:
|
|
.skip 0x4
|