mirror of
https://github.com/encounter/oot-gc.git
synced 2026-03-30 11:33:44 -07:00
699 lines
31 KiB
ArmAsm
699 lines
31 KiB
ArmAsm
# dsp_task.c
|
|
.include "macros.inc"
|
|
|
|
.section .text, "ax"
|
|
|
|
.balign 4
|
|
|
|
glabel __DSPHandler
|
|
/* 0B4F38 800BA4D8 7C0802A6 */ mflr r0
|
|
/* 0B4F3C 800BA4DC 3C60CC00 */ lis r3, DSP_REGS_BASE@ha
|
|
/* 0B4F40 800BA4E0 90010004 */ stw r0, 4(r1)
|
|
/* 0B4F44 800BA4E4 38635000 */ addi r3, r3, DSP_REGS_BASE@l
|
|
/* 0B4F48 800BA4E8 3800FFD7 */ li r0, -41
|
|
/* 0B4F4C 800BA4EC 9421FD18 */ stwu r1, -0x2e8(r1)
|
|
/* 0B4F50 800BA4F0 93E102E4 */ stw r31, 0x2e4(r1)
|
|
/* 0B4F54 800BA4F4 3BE40000 */ addi r31, r4, 0
|
|
/* 0B4F58 800BA4F8 A0A3000A */ lhz r5, DSP_0A(r3)
|
|
/* 0B4F5C 800BA4FC 7CA00038 */ and r0, r5, r0
|
|
/* 0B4F60 800BA500 60000080 */ ori r0, r0, 0x80
|
|
/* 0B4F64 800BA504 B003000A */ sth r0, DSP_0A(r3)
|
|
/* 0B4F68 800BA508 38610010 */ addi r3, r1, 0x10
|
|
/* 0B4F6C 800BA50C 4BFE3C99 */ bl OSClearContext
|
|
/* 0B4F70 800BA510 38610010 */ addi r3, r1, 0x10
|
|
/* 0B4F74 800BA514 4BFE3AC9 */ bl OSSetCurrentContext
|
|
lbl_800BA518:
|
|
/* 0B4F78 800BA518 4BFFFE01 */ bl DSPCheckMailFromDSP
|
|
/* 0B4F7C 800BA51C 28030000 */ cmplwi r3, 0
|
|
/* 0B4F80 800BA520 4182FFF8 */ beq lbl_800BA518
|
|
/* 0B4F84 800BA524 4BFFFE05 */ bl DSPReadMailFromDSP
|
|
/* 0B4F88 800BA528 80AD8EAC */ lwz r5, __DSP_curr_task@sda21(r13)
|
|
/* 0B4F8C 800BA52C 80050008 */ lwz r0, 8(r5)
|
|
/* 0B4F90 800BA530 540007BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
|
/* 0B4F94 800BA534 41820018 */ beq lbl_800BA54C
|
|
/* 0B4F98 800BA538 3C03232F */ addis r0, r3, 0x232f
|
|
/* 0B4F9C 800BA53C 28000002 */ cmplwi r0, 2
|
|
/* 0B4FA0 800BA540 4082000C */ bne lbl_800BA54C
|
|
/* 0B4FA4 800BA544 3C60DCD1 */ lis r3, 0xdcd1
|
|
/* 0B4FA8 800BA548 38630003 */ addi r3, r3, 3
|
|
lbl_800BA54C:
|
|
/* 0B4FAC 800BA54C 3C80DCD1 */ lis r4, 0xdcd1
|
|
/* 0B4FB0 800BA550 38040002 */ addi r0, r4, 2
|
|
/* 0B4FB4 800BA554 7C030000 */ cmpw r3, r0
|
|
/* 0B4FB8 800BA558 41820074 */ beq lbl_800BA5CC
|
|
/* 0B4FBC 800BA55C 40800014 */ bge lbl_800BA570
|
|
/* 0B4FC0 800BA560 7C032000 */ cmpw r3, r4
|
|
/* 0B4FC4 800BA564 41820020 */ beq lbl_800BA584
|
|
/* 0B4FC8 800BA568 40800040 */ bge lbl_800BA5A8
|
|
/* 0B4FCC 800BA56C 4800036C */ b lbl_800BA8D8
|
|
lbl_800BA570:
|
|
/* 0B4FD0 800BA570 38040004 */ addi r0, r4, 4
|
|
/* 0B4FD4 800BA574 7C030000 */ cmpw r3, r0
|
|
/* 0B4FD8 800BA578 41820348 */ beq lbl_800BA8C0
|
|
/* 0B4FDC 800BA57C 4080035C */ bge lbl_800BA8D8
|
|
/* 0B4FE0 800BA580 480001B4 */ b lbl_800BA734
|
|
lbl_800BA584:
|
|
/* 0B4FE4 800BA584 38000001 */ li r0, 1
|
|
/* 0B4FE8 800BA588 90050000 */ stw r0, 0(r5)
|
|
/* 0B4FEC 800BA58C 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B4FF0 800BA590 81830028 */ lwz r12, 0x28(r3)
|
|
/* 0B4FF4 800BA594 280C0000 */ cmplwi r12, 0
|
|
/* 0B4FF8 800BA598 41820340 */ beq lbl_800BA8D8
|
|
/* 0B4FFC 800BA59C 7D8803A6 */ mtlr r12
|
|
/* 0B5000 800BA5A0 4E800021 */ blrl
|
|
/* 0B5004 800BA5A4 48000334 */ b lbl_800BA8D8
|
|
lbl_800BA5A8:
|
|
/* 0B5008 800BA5A8 38000001 */ li r0, 1
|
|
/* 0B500C 800BA5AC 90050000 */ stw r0, 0(r5)
|
|
/* 0B5010 800BA5B0 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5014 800BA5B4 8183002C */ lwz r12, 0x2c(r3)
|
|
/* 0B5018 800BA5B8 280C0000 */ cmplwi r12, 0
|
|
/* 0B501C 800BA5BC 4182031C */ beq lbl_800BA8D8
|
|
/* 0B5020 800BA5C0 7D8803A6 */ mtlr r12
|
|
/* 0B5024 800BA5C4 4E800021 */ blrl
|
|
/* 0B5028 800BA5C8 48000310 */ b lbl_800BA8D8
|
|
lbl_800BA5CC:
|
|
/* 0B502C 800BA5CC 800D8E98 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 0B5030 800BA5D0 2C000000 */ cmpwi r0, 0
|
|
/* 0B5034 800BA5D4 41820098 */ beq lbl_800BA66C
|
|
/* 0B5038 800BA5D8 800D8E9C */ lwz r0, __DSP_rude_task@sda21(r13)
|
|
/* 0B503C 800BA5DC 7C050040 */ cmplw r5, r0
|
|
/* 0B5040 800BA5E0 40820044 */ bne lbl_800BA624
|
|
/* 0B5044 800BA5E4 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B5048 800BA5E8 38630003 */ addi r3, r3, 3
|
|
/* 0B504C 800BA5EC 4BFFFD55 */ bl DSPSendMailToDSP
|
|
lbl_800BA5F0:
|
|
/* 0B5050 800BA5F0 4BFFFD19 */ bl DSPCheckMailToDSP
|
|
/* 0B5054 800BA5F4 28030000 */ cmplwi r3, 0
|
|
/* 0B5058 800BA5F8 4082FFF8 */ bne lbl_800BA5F0
|
|
/* 0B505C 800BA5FC 38000000 */ li r0, 0
|
|
/* 0B5060 800BA600 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5064 800BA604 900D8E9C */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 0B5068 800BA608 900D8E98 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 0B506C 800BA60C 8183002C */ lwz r12, 0x2c(r3)
|
|
/* 0B5070 800BA610 280C0000 */ cmplwi r12, 0
|
|
/* 0B5074 800BA614 418202C4 */ beq lbl_800BA8D8
|
|
/* 0B5078 800BA618 7D8803A6 */ mtlr r12
|
|
/* 0B507C 800BA61C 4E800021 */ blrl
|
|
/* 0B5080 800BA620 480002B8 */ b lbl_800BA8D8
|
|
lbl_800BA624:
|
|
/* 0B5084 800BA624 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B5088 800BA628 38630001 */ addi r3, r3, 1
|
|
/* 0B508C 800BA62C 4BFFFD15 */ bl DSPSendMailToDSP
|
|
lbl_800BA630:
|
|
/* 0B5090 800BA630 4BFFFCD9 */ bl DSPCheckMailToDSP
|
|
/* 0B5094 800BA634 28030000 */ cmplwi r3, 0
|
|
/* 0B5098 800BA638 4082FFF8 */ bne lbl_800BA630
|
|
/* 0B509C 800BA63C 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B50A0 800BA640 808D8E9C */ lwz r4, __DSP_rude_task@sda21(r13)
|
|
/* 0B50A4 800BA644 480002B9 */ bl __DSP_exec_task
|
|
/* 0B50A8 800BA648 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B50AC 800BA64C 38800002 */ li r4, 2
|
|
/* 0B50B0 800BA650 38000000 */ li r0, 0
|
|
/* 0B50B4 800BA654 90830000 */ stw r4, 0(r3)
|
|
/* 0B50B8 800BA658 806D8E9C */ lwz r3, __DSP_rude_task@sda21(r13)
|
|
/* 0B50BC 800BA65C 900D8E98 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 0B50C0 800BA660 906D8EAC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B50C4 800BA664 900D8E9C */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 0B50C8 800BA668 48000270 */ b lbl_800BA8D8
|
|
lbl_800BA66C:
|
|
/* 0B50CC 800BA66C 80050038 */ lwz r0, 0x38(r5)
|
|
/* 0B50D0 800BA670 28000000 */ cmplwi r0, 0
|
|
/* 0B50D4 800BA674 40820080 */ bne lbl_800BA6F4
|
|
/* 0B50D8 800BA678 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B50DC 800BA67C 7C050040 */ cmplw r5, r0
|
|
/* 0B50E0 800BA680 40820038 */ bne lbl_800BA6B8
|
|
/* 0B50E4 800BA684 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B50E8 800BA688 38630003 */ addi r3, r3, 3
|
|
/* 0B50EC 800BA68C 4BFFFCB5 */ bl DSPSendMailToDSP
|
|
lbl_800BA690:
|
|
/* 0B50F0 800BA690 4BFFFC79 */ bl DSPCheckMailToDSP
|
|
/* 0B50F4 800BA694 28030000 */ cmplwi r3, 0
|
|
/* 0B50F8 800BA698 4082FFF8 */ bne lbl_800BA690
|
|
/* 0B50FC 800BA69C 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5100 800BA6A0 8183002C */ lwz r12, 0x2c(r3)
|
|
/* 0B5104 800BA6A4 280C0000 */ cmplwi r12, 0
|
|
/* 0B5108 800BA6A8 41820230 */ beq lbl_800BA8D8
|
|
/* 0B510C 800BA6AC 7D8803A6 */ mtlr r12
|
|
/* 0B5110 800BA6B0 4E800021 */ blrl
|
|
/* 0B5114 800BA6B4 48000224 */ b lbl_800BA8D8
|
|
lbl_800BA6B8:
|
|
/* 0B5118 800BA6B8 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B511C 800BA6BC 38630001 */ addi r3, r3, 1
|
|
/* 0B5120 800BA6C0 4BFFFC81 */ bl DSPSendMailToDSP
|
|
lbl_800BA6C4:
|
|
/* 0B5124 800BA6C4 4BFFFC45 */ bl DSPCheckMailToDSP
|
|
/* 0B5128 800BA6C8 28030000 */ cmplwi r3, 0
|
|
/* 0B512C 800BA6CC 4082FFF8 */ bne lbl_800BA6C4
|
|
/* 0B5130 800BA6D0 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5134 800BA6D4 808D8EA8 */ lwz r4, __DSP_first_task@sda21(r13)
|
|
/* 0B5138 800BA6D8 48000225 */ bl __DSP_exec_task
|
|
/* 0B513C 800BA6DC 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5140 800BA6E0 38000002 */ li r0, 2
|
|
/* 0B5144 800BA6E4 90030000 */ stw r0, 0(r3)
|
|
/* 0B5148 800BA6E8 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B514C 800BA6EC 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B5150 800BA6F0 480001E8 */ b lbl_800BA8D8
|
|
lbl_800BA6F4:
|
|
/* 0B5154 800BA6F4 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B5158 800BA6F8 38630001 */ addi r3, r3, 1
|
|
/* 0B515C 800BA6FC 4BFFFC45 */ bl DSPSendMailToDSP
|
|
lbl_800BA700:
|
|
/* 0B5160 800BA700 4BFFFC09 */ bl DSPCheckMailToDSP
|
|
/* 0B5164 800BA704 28030000 */ cmplwi r3, 0
|
|
/* 0B5168 800BA708 4082FFF8 */ bne lbl_800BA700
|
|
/* 0B516C 800BA70C 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5170 800BA710 80830038 */ lwz r4, 0x38(r3)
|
|
/* 0B5174 800BA714 480001E9 */ bl __DSP_exec_task
|
|
/* 0B5178 800BA718 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B517C 800BA71C 38000002 */ li r0, 2
|
|
/* 0B5180 800BA720 90030000 */ stw r0, 0(r3)
|
|
/* 0B5184 800BA724 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5188 800BA728 80030038 */ lwz r0, 0x38(r3)
|
|
/* 0B518C 800BA72C 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B5190 800BA730 480001A8 */ b lbl_800BA8D8
|
|
lbl_800BA734:
|
|
/* 0B5194 800BA734 800D8E98 */ lwz r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 0B5198 800BA738 2C000000 */ cmpwi r0, 0
|
|
/* 0B519C 800BA73C 41820060 */ beq lbl_800BA79C
|
|
/* 0B51A0 800BA740 81850030 */ lwz r12, 0x30(r5)
|
|
/* 0B51A4 800BA744 280C0000 */ cmplwi r12, 0
|
|
/* 0B51A8 800BA748 41820010 */ beq lbl_800BA758
|
|
/* 0B51AC 800BA74C 7D8803A6 */ mtlr r12
|
|
/* 0B51B0 800BA750 38650000 */ addi r3, r5, 0
|
|
/* 0B51B4 800BA754 4E800021 */ blrl
|
|
lbl_800BA758:
|
|
/* 0B51B8 800BA758 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B51BC 800BA75C 38630001 */ addi r3, r3, 1
|
|
/* 0B51C0 800BA760 4BFFFBE1 */ bl DSPSendMailToDSP
|
|
lbl_800BA764:
|
|
/* 0B51C4 800BA764 4BFFFBA5 */ bl DSPCheckMailToDSP
|
|
/* 0B51C8 800BA768 28030000 */ cmplwi r3, 0
|
|
/* 0B51CC 800BA76C 4082FFF8 */ bne lbl_800BA764
|
|
/* 0B51D0 800BA770 38600000 */ li r3, 0
|
|
/* 0B51D4 800BA774 808D8E9C */ lwz r4, __DSP_rude_task@sda21(r13)
|
|
/* 0B51D8 800BA778 48000185 */ bl __DSP_exec_task
|
|
/* 0B51DC 800BA77C 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B51E0 800BA780 48000549 */ bl __DSP_remove_task
|
|
/* 0B51E4 800BA784 806D8E9C */ lwz r3, __DSP_rude_task@sda21(r13)
|
|
/* 0B51E8 800BA788 38000000 */ li r0, 0
|
|
/* 0B51EC 800BA78C 900D8E98 */ stw r0, __DSP_rude_task_pending@sda21(r13)
|
|
/* 0B51F0 800BA790 906D8EAC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B51F4 800BA794 900D8E9C */ stw r0, __DSP_rude_task@sda21(r13)
|
|
/* 0B51F8 800BA798 48000140 */ b lbl_800BA8D8
|
|
lbl_800BA79C:
|
|
/* 0B51FC 800BA79C 80050038 */ lwz r0, 0x38(r5)
|
|
/* 0B5200 800BA7A0 28000000 */ cmplwi r0, 0
|
|
/* 0B5204 800BA7A4 408200B4 */ bne lbl_800BA858
|
|
/* 0B5208 800BA7A8 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B520C 800BA7AC 7C050040 */ cmplw r5, r0
|
|
/* 0B5210 800BA7B0 4082004C */ bne lbl_800BA7FC
|
|
/* 0B5214 800BA7B4 81850030 */ lwz r12, 0x30(r5)
|
|
/* 0B5218 800BA7B8 280C0000 */ cmplwi r12, 0
|
|
/* 0B521C 800BA7BC 41820010 */ beq lbl_800BA7CC
|
|
/* 0B5220 800BA7C0 7D8803A6 */ mtlr r12
|
|
/* 0B5224 800BA7C4 38650000 */ addi r3, r5, 0
|
|
/* 0B5228 800BA7C8 4E800021 */ blrl
|
|
lbl_800BA7CC:
|
|
/* 0B522C 800BA7CC 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B5230 800BA7D0 38630002 */ addi r3, r3, 2
|
|
/* 0B5234 800BA7D4 4BFFFB6D */ bl DSPSendMailToDSP
|
|
lbl_800BA7D8:
|
|
/* 0B5238 800BA7D8 4BFFFB31 */ bl DSPCheckMailToDSP
|
|
/* 0B523C 800BA7DC 28030000 */ cmplwi r3, 0
|
|
/* 0B5240 800BA7E0 4082FFF8 */ bne lbl_800BA7D8
|
|
/* 0B5244 800BA7E4 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5248 800BA7E8 38000003 */ li r0, 3
|
|
/* 0B524C 800BA7EC 90030000 */ stw r0, 0(r3)
|
|
/* 0B5250 800BA7F0 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5254 800BA7F4 480004D5 */ bl __DSP_remove_task
|
|
/* 0B5258 800BA7F8 480000E0 */ b lbl_800BA8D8
|
|
lbl_800BA7FC:
|
|
/* 0B525C 800BA7FC 81850030 */ lwz r12, 0x30(r5)
|
|
/* 0B5260 800BA800 280C0000 */ cmplwi r12, 0
|
|
/* 0B5264 800BA804 41820010 */ beq lbl_800BA814
|
|
/* 0B5268 800BA808 7D8803A6 */ mtlr r12
|
|
/* 0B526C 800BA80C 38650000 */ addi r3, r5, 0
|
|
/* 0B5270 800BA810 4E800021 */ blrl
|
|
lbl_800BA814:
|
|
/* 0B5274 800BA814 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B5278 800BA818 38630001 */ addi r3, r3, 1
|
|
/* 0B527C 800BA81C 4BFFFB25 */ bl DSPSendMailToDSP
|
|
lbl_800BA820:
|
|
/* 0B5280 800BA820 4BFFFAE9 */ bl DSPCheckMailToDSP
|
|
/* 0B5284 800BA824 28030000 */ cmplwi r3, 0
|
|
/* 0B5288 800BA828 4082FFF8 */ bne lbl_800BA820
|
|
/* 0B528C 800BA82C 808D8EAC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 0B5290 800BA830 38000003 */ li r0, 3
|
|
/* 0B5294 800BA834 38600000 */ li r3, 0
|
|
/* 0B5298 800BA838 90040000 */ stw r0, 0(r4)
|
|
/* 0B529C 800BA83C 808D8EA8 */ lwz r4, __DSP_first_task@sda21(r13)
|
|
/* 0B52A0 800BA840 480000BD */ bl __DSP_exec_task
|
|
/* 0B52A4 800BA844 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B52A8 800BA848 806D8EA4 */ lwz r3, __DSP_last_task@sda21(r13)
|
|
/* 0B52AC 800BA84C 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B52B0 800BA850 48000479 */ bl __DSP_remove_task
|
|
/* 0B52B4 800BA854 48000084 */ b lbl_800BA8D8
|
|
lbl_800BA858:
|
|
/* 0B52B8 800BA858 81850030 */ lwz r12, 0x30(r5)
|
|
/* 0B52BC 800BA85C 280C0000 */ cmplwi r12, 0
|
|
/* 0B52C0 800BA860 41820010 */ beq lbl_800BA870
|
|
/* 0B52C4 800BA864 7D8803A6 */ mtlr r12
|
|
/* 0B52C8 800BA868 38650000 */ addi r3, r5, 0
|
|
/* 0B52CC 800BA86C 4E800021 */ blrl
|
|
lbl_800BA870:
|
|
/* 0B52D0 800BA870 3C60CDD1 */ lis r3, 0xcdd1
|
|
/* 0B52D4 800BA874 38630001 */ addi r3, r3, 1
|
|
/* 0B52D8 800BA878 4BFFFAC9 */ bl DSPSendMailToDSP
|
|
lbl_800BA87C:
|
|
/* 0B52DC 800BA87C 4BFFFA8D */ bl DSPCheckMailToDSP
|
|
/* 0B52E0 800BA880 28030000 */ cmplwi r3, 0
|
|
/* 0B52E4 800BA884 4082FFF8 */ bne lbl_800BA87C
|
|
/* 0B52E8 800BA888 808D8EAC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 0B52EC 800BA88C 38000003 */ li r0, 3
|
|
/* 0B52F0 800BA890 38600000 */ li r3, 0
|
|
/* 0B52F4 800BA894 90040000 */ stw r0, 0(r4)
|
|
/* 0B52F8 800BA898 808D8EAC */ lwz r4, __DSP_curr_task@sda21(r13)
|
|
/* 0B52FC 800BA89C 80840038 */ lwz r4, 0x38(r4)
|
|
/* 0B5300 800BA8A0 4800005D */ bl __DSP_exec_task
|
|
/* 0B5304 800BA8A4 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5308 800BA8A8 80030038 */ lwz r0, 0x38(r3)
|
|
/* 0B530C 800BA8AC 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B5310 800BA8B0 806D8EAC */ lwz r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5314 800BA8B4 8063003C */ lwz r3, 0x3c(r3)
|
|
/* 0B5318 800BA8B8 48000411 */ bl __DSP_remove_task
|
|
/* 0B531C 800BA8BC 4800001C */ b lbl_800BA8D8
|
|
lbl_800BA8C0:
|
|
/* 0B5320 800BA8C0 81850034 */ lwz r12, 0x34(r5)
|
|
/* 0B5324 800BA8C4 280C0000 */ cmplwi r12, 0
|
|
/* 0B5328 800BA8C8 41820010 */ beq lbl_800BA8D8
|
|
/* 0B532C 800BA8CC 7D8803A6 */ mtlr r12
|
|
/* 0B5330 800BA8D0 38650000 */ addi r3, r5, 0
|
|
/* 0B5334 800BA8D4 4E800021 */ blrl
|
|
lbl_800BA8D8:
|
|
/* 0B5338 800BA8D8 38610010 */ addi r3, r1, 0x10
|
|
/* 0B533C 800BA8DC 4BFE38C9 */ bl OSClearContext
|
|
/* 0B5340 800BA8E0 7FE3FB78 */ mr r3, r31
|
|
/* 0B5344 800BA8E4 4BFE36F9 */ bl OSSetCurrentContext
|
|
/* 0B5348 800BA8E8 800102EC */ lwz r0, 0x2ec(r1)
|
|
/* 0B534C 800BA8EC 83E102E4 */ lwz r31, 0x2e4(r1)
|
|
/* 0B5350 800BA8F0 382102E8 */ addi r1, r1, 0x2e8
|
|
/* 0B5354 800BA8F4 7C0803A6 */ mtlr r0
|
|
/* 0B5358 800BA8F8 4E800020 */ blr
|
|
|
|
glabel __DSP_exec_task
|
|
/* 0B535C 800BA8FC 7C0802A6 */ mflr r0
|
|
/* 0B5360 800BA900 90010004 */ stw r0, 4(r1)
|
|
/* 0B5364 800BA904 9421FFE8 */ stwu r1, -0x18(r1)
|
|
/* 0B5368 800BA908 93E10014 */ stw r31, 0x14(r1)
|
|
/* 0B536C 800BA90C 3BE40000 */ addi r31, r4, 0
|
|
/* 0B5370 800BA910 93C10010 */ stw r30, 0x10(r1)
|
|
/* 0B5374 800BA914 7C7E1B79 */ or. r30, r3, r3
|
|
/* 0B5378 800BA918 41820044 */ beq lbl_800BA95C
|
|
/* 0B537C 800BA91C 807E0018 */ lwz r3, 0x18(r30)
|
|
/* 0B5380 800BA920 4BFFFA21 */ bl DSPSendMailToDSP
|
|
lbl_800BA924:
|
|
/* 0B5384 800BA924 4BFFF9E5 */ bl DSPCheckMailToDSP
|
|
/* 0B5388 800BA928 28030000 */ cmplwi r3, 0
|
|
/* 0B538C 800BA92C 4082FFF8 */ bne lbl_800BA924
|
|
/* 0B5390 800BA930 807E001C */ lwz r3, 0x1c(r30)
|
|
/* 0B5394 800BA934 4BFFFA0D */ bl DSPSendMailToDSP
|
|
lbl_800BA938:
|
|
/* 0B5398 800BA938 4BFFF9D1 */ bl DSPCheckMailToDSP
|
|
/* 0B539C 800BA93C 28030000 */ cmplwi r3, 0
|
|
/* 0B53A0 800BA940 4082FFF8 */ bne lbl_800BA938
|
|
/* 0B53A4 800BA944 807E0020 */ lwz r3, 0x20(r30)
|
|
/* 0B53A8 800BA948 4BFFF9F9 */ bl DSPSendMailToDSP
|
|
lbl_800BA94C:
|
|
/* 0B53AC 800BA94C 4BFFF9BD */ bl DSPCheckMailToDSP
|
|
/* 0B53B0 800BA950 28030000 */ cmplwi r3, 0
|
|
/* 0B53B4 800BA954 4082FFF8 */ bne lbl_800BA94C
|
|
/* 0B53B8 800BA958 48000040 */ b lbl_800BA998
|
|
lbl_800BA95C:
|
|
/* 0B53BC 800BA95C 38600000 */ li r3, 0
|
|
/* 0B53C0 800BA960 4BFFF9E1 */ bl DSPSendMailToDSP
|
|
lbl_800BA964:
|
|
/* 0B53C4 800BA964 4BFFF9A5 */ bl DSPCheckMailToDSP
|
|
/* 0B53C8 800BA968 28030000 */ cmplwi r3, 0
|
|
/* 0B53CC 800BA96C 4082FFF8 */ bne lbl_800BA964
|
|
/* 0B53D0 800BA970 38600000 */ li r3, 0
|
|
/* 0B53D4 800BA974 4BFFF9CD */ bl DSPSendMailToDSP
|
|
lbl_800BA978:
|
|
/* 0B53D8 800BA978 4BFFF991 */ bl DSPCheckMailToDSP
|
|
/* 0B53DC 800BA97C 28030000 */ cmplwi r3, 0
|
|
/* 0B53E0 800BA980 4082FFF8 */ bne lbl_800BA978
|
|
/* 0B53E4 800BA984 38600000 */ li r3, 0
|
|
/* 0B53E8 800BA988 4BFFF9B9 */ bl DSPSendMailToDSP
|
|
lbl_800BA98C:
|
|
/* 0B53EC 800BA98C 4BFFF97D */ bl DSPCheckMailToDSP
|
|
/* 0B53F0 800BA990 28030000 */ cmplwi r3, 0
|
|
/* 0B53F4 800BA994 4082FFF8 */ bne lbl_800BA98C
|
|
lbl_800BA998:
|
|
/* 0B53F8 800BA998 807F000C */ lwz r3, 0xc(r31)
|
|
/* 0B53FC 800BA99C 4BFFF9A5 */ bl DSPSendMailToDSP
|
|
lbl_800BA9A0:
|
|
/* 0B5400 800BA9A0 4BFFF969 */ bl DSPCheckMailToDSP
|
|
/* 0B5404 800BA9A4 28030000 */ cmplwi r3, 0
|
|
/* 0B5408 800BA9A8 4082FFF8 */ bne lbl_800BA9A0
|
|
/* 0B540C 800BA9AC 807F0010 */ lwz r3, 0x10(r31)
|
|
/* 0B5410 800BA9B0 4BFFF991 */ bl DSPSendMailToDSP
|
|
lbl_800BA9B4:
|
|
/* 0B5414 800BA9B4 4BFFF955 */ bl DSPCheckMailToDSP
|
|
/* 0B5418 800BA9B8 28030000 */ cmplwi r3, 0
|
|
/* 0B541C 800BA9BC 4082FFF8 */ bne lbl_800BA9B4
|
|
/* 0B5420 800BA9C0 807F0014 */ lwz r3, 0x14(r31)
|
|
/* 0B5424 800BA9C4 4BFFF97D */ bl DSPSendMailToDSP
|
|
lbl_800BA9C8:
|
|
/* 0B5428 800BA9C8 4BFFF941 */ bl DSPCheckMailToDSP
|
|
/* 0B542C 800BA9CC 28030000 */ cmplwi r3, 0
|
|
/* 0B5430 800BA9D0 4082FFF8 */ bne lbl_800BA9C8
|
|
/* 0B5434 800BA9D4 801F0000 */ lwz r0, 0(r31)
|
|
/* 0B5438 800BA9D8 28000000 */ cmplwi r0, 0
|
|
/* 0B543C 800BA9DC 40820058 */ bne lbl_800BAA34
|
|
/* 0B5440 800BA9E0 A07F0024 */ lhz r3, 0x24(r31)
|
|
/* 0B5444 800BA9E4 4BFFF95D */ bl DSPSendMailToDSP
|
|
lbl_800BA9E8:
|
|
/* 0B5448 800BA9E8 4BFFF921 */ bl DSPCheckMailToDSP
|
|
/* 0B544C 800BA9EC 28030000 */ cmplwi r3, 0
|
|
/* 0B5450 800BA9F0 4082FFF8 */ bne lbl_800BA9E8
|
|
/* 0B5454 800BA9F4 38600000 */ li r3, 0
|
|
/* 0B5458 800BA9F8 4BFFF949 */ bl DSPSendMailToDSP
|
|
lbl_800BA9FC:
|
|
/* 0B545C 800BA9FC 4BFFF90D */ bl DSPCheckMailToDSP
|
|
/* 0B5460 800BAA00 28030000 */ cmplwi r3, 0
|
|
/* 0B5464 800BAA04 4082FFF8 */ bne lbl_800BA9FC
|
|
/* 0B5468 800BAA08 38600000 */ li r3, 0
|
|
/* 0B546C 800BAA0C 4BFFF935 */ bl DSPSendMailToDSP
|
|
lbl_800BAA10:
|
|
/* 0B5470 800BAA10 4BFFF8F9 */ bl DSPCheckMailToDSP
|
|
/* 0B5474 800BAA14 28030000 */ cmplwi r3, 0
|
|
/* 0B5478 800BAA18 4082FFF8 */ bne lbl_800BAA10
|
|
/* 0B547C 800BAA1C 38600000 */ li r3, 0
|
|
/* 0B5480 800BAA20 4BFFF921 */ bl DSPSendMailToDSP
|
|
lbl_800BAA24:
|
|
/* 0B5484 800BAA24 4BFFF8E5 */ bl DSPCheckMailToDSP
|
|
/* 0B5488 800BAA28 28030000 */ cmplwi r3, 0
|
|
/* 0B548C 800BAA2C 4082FFF8 */ bne lbl_800BAA24
|
|
/* 0B5490 800BAA30 48000054 */ b lbl_800BAA84
|
|
lbl_800BAA34:
|
|
/* 0B5494 800BAA34 A07F0026 */ lhz r3, 0x26(r31)
|
|
/* 0B5498 800BAA38 4BFFF909 */ bl DSPSendMailToDSP
|
|
lbl_800BAA3C:
|
|
/* 0B549C 800BAA3C 4BFFF8CD */ bl DSPCheckMailToDSP
|
|
/* 0B54A0 800BAA40 28030000 */ cmplwi r3, 0
|
|
/* 0B54A4 800BAA44 4082FFF8 */ bne lbl_800BAA3C
|
|
/* 0B54A8 800BAA48 807F0018 */ lwz r3, 0x18(r31)
|
|
/* 0B54AC 800BAA4C 4BFFF8F5 */ bl DSPSendMailToDSP
|
|
lbl_800BAA50:
|
|
/* 0B54B0 800BAA50 4BFFF8B9 */ bl DSPCheckMailToDSP
|
|
/* 0B54B4 800BAA54 28030000 */ cmplwi r3, 0
|
|
/* 0B54B8 800BAA58 4082FFF8 */ bne lbl_800BAA50
|
|
/* 0B54BC 800BAA5C 807F001C */ lwz r3, 0x1c(r31)
|
|
/* 0B54C0 800BAA60 4BFFF8E1 */ bl DSPSendMailToDSP
|
|
lbl_800BAA64:
|
|
/* 0B54C4 800BAA64 4BFFF8A5 */ bl DSPCheckMailToDSP
|
|
/* 0B54C8 800BAA68 28030000 */ cmplwi r3, 0
|
|
/* 0B54CC 800BAA6C 4082FFF8 */ bne lbl_800BAA64
|
|
/* 0B54D0 800BAA70 807F0020 */ lwz r3, 0x20(r31)
|
|
/* 0B54D4 800BAA74 4BFFF8CD */ bl DSPSendMailToDSP
|
|
lbl_800BAA78:
|
|
/* 0B54D8 800BAA78 4BFFF891 */ bl DSPCheckMailToDSP
|
|
/* 0B54DC 800BAA7C 28030000 */ cmplwi r3, 0
|
|
/* 0B54E0 800BAA80 4082FFF8 */ bne lbl_800BAA78
|
|
lbl_800BAA84:
|
|
/* 0B54E4 800BAA84 8001001C */ lwz r0, 0x1c(r1)
|
|
/* 0B54E8 800BAA88 83E10014 */ lwz r31, 0x14(r1)
|
|
/* 0B54EC 800BAA8C 83C10010 */ lwz r30, 0x10(r1)
|
|
/* 0B54F0 800BAA90 38210018 */ addi r1, r1, 0x18
|
|
/* 0B54F4 800BAA94 7C0803A6 */ mtlr r0
|
|
/* 0B54F8 800BAA98 4E800020 */ blr
|
|
|
|
glabel __DSP_boot_task
|
|
/* 0B54FC 800BAA9C 7C0802A6 */ mflr r0
|
|
/* 0B5500 800BAAA0 3C80800F */ lis r4, D_800F3698@ha
|
|
/* 0B5504 800BAAA4 90010004 */ stw r0, 4(r1)
|
|
/* 0B5508 800BAAA8 9421FFE8 */ stwu r1, -0x18(r1)
|
|
/* 0B550C 800BAAAC 93E10014 */ stw r31, 0x14(r1)
|
|
/* 0B5510 800BAAB0 3BE43698 */ addi r31, r4, D_800F3698@l
|
|
/* 0B5514 800BAAB4 93C10010 */ stw r30, 0x10(r1)
|
|
/* 0B5518 800BAAB8 3BC30000 */ addi r30, r3, 0
|
|
lbl_800BAABC:
|
|
/* 0B551C 800BAABC 4BFFF85D */ bl DSPCheckMailFromDSP
|
|
/* 0B5520 800BAAC0 28030000 */ cmplwi r3, 0
|
|
/* 0B5524 800BAAC4 4182FFF8 */ beq lbl_800BAABC
|
|
/* 0B5528 800BAAC8 4BFFF861 */ bl DSPReadMailFromDSP
|
|
/* 0B552C 800BAACC 9061000C */ stw r3, 0xc(r1)
|
|
/* 0B5530 800BAAD0 3C6080F4 */ lis r3, 0x80f4
|
|
/* 0B5534 800BAAD4 3863A001 */ addi r3, r3, -24575
|
|
/* 0B5538 800BAAD8 4BFFF869 */ bl DSPSendMailToDSP
|
|
lbl_800BAADC:
|
|
/* 0B553C 800BAADC 4BFFF82D */ bl DSPCheckMailToDSP
|
|
/* 0B5540 800BAAE0 28030000 */ cmplwi r3, 0
|
|
/* 0B5544 800BAAE4 4082FFF8 */ bne lbl_800BAADC
|
|
/* 0B5548 800BAAE8 807E000C */ lwz r3, 0xc(r30)
|
|
/* 0B554C 800BAAEC 4BFFF855 */ bl DSPSendMailToDSP
|
|
lbl_800BAAF0:
|
|
/* 0B5550 800BAAF0 4BFFF819 */ bl DSPCheckMailToDSP
|
|
/* 0B5554 800BAAF4 28030000 */ cmplwi r3, 0
|
|
/* 0B5558 800BAAF8 4082FFF8 */ bne lbl_800BAAF0
|
|
/* 0B555C 800BAAFC 3C6080F4 */ lis r3, 0x80f4
|
|
/* 0B5560 800BAB00 3863C002 */ addi r3, r3, -16382
|
|
/* 0B5564 800BAB04 4BFFF83D */ bl DSPSendMailToDSP
|
|
lbl_800BAB08:
|
|
/* 0B5568 800BAB08 4BFFF801 */ bl DSPCheckMailToDSP
|
|
/* 0B556C 800BAB0C 28030000 */ cmplwi r3, 0
|
|
/* 0B5570 800BAB10 4082FFF8 */ bne lbl_800BAB08
|
|
/* 0B5574 800BAB14 801E0014 */ lwz r0, 0x14(r30)
|
|
/* 0B5578 800BAB18 5403043E */ clrlwi r3, r0, 0x10
|
|
/* 0B557C 800BAB1C 4BFFF825 */ bl DSPSendMailToDSP
|
|
lbl_800BAB20:
|
|
/* 0B5580 800BAB20 4BFFF7E9 */ bl DSPCheckMailToDSP
|
|
/* 0B5584 800BAB24 28030000 */ cmplwi r3, 0
|
|
/* 0B5588 800BAB28 4082FFF8 */ bne lbl_800BAB20
|
|
/* 0B558C 800BAB2C 3C6080F4 */ lis r3, 0x80f4
|
|
/* 0B5590 800BAB30 3863A002 */ addi r3, r3, -24574
|
|
/* 0B5594 800BAB34 4BFFF80D */ bl DSPSendMailToDSP
|
|
lbl_800BAB38:
|
|
/* 0B5598 800BAB38 4BFFF7D1 */ bl DSPCheckMailToDSP
|
|
/* 0B559C 800BAB3C 28030000 */ cmplwi r3, 0
|
|
/* 0B55A0 800BAB40 4082FFF8 */ bne lbl_800BAB38
|
|
/* 0B55A4 800BAB44 807E0010 */ lwz r3, 0x10(r30)
|
|
/* 0B55A8 800BAB48 4BFFF7F9 */ bl DSPSendMailToDSP
|
|
lbl_800BAB4C:
|
|
/* 0B55AC 800BAB4C 4BFFF7BD */ bl DSPCheckMailToDSP
|
|
/* 0B55B0 800BAB50 28030000 */ cmplwi r3, 0
|
|
/* 0B55B4 800BAB54 4082FFF8 */ bne lbl_800BAB4C
|
|
/* 0B55B8 800BAB58 3C6080F4 */ lis r3, 0x80f4
|
|
/* 0B55BC 800BAB5C 3863B002 */ addi r3, r3, -20478
|
|
/* 0B55C0 800BAB60 4BFFF7E1 */ bl DSPSendMailToDSP
|
|
lbl_800BAB64:
|
|
/* 0B55C4 800BAB64 4BFFF7A5 */ bl DSPCheckMailToDSP
|
|
/* 0B55C8 800BAB68 28030000 */ cmplwi r3, 0
|
|
/* 0B55CC 800BAB6C 4082FFF8 */ bne lbl_800BAB64
|
|
/* 0B55D0 800BAB70 38600000 */ li r3, 0
|
|
/* 0B55D4 800BAB74 4BFFF7CD */ bl DSPSendMailToDSP
|
|
lbl_800BAB78:
|
|
/* 0B55D8 800BAB78 4BFFF791 */ bl DSPCheckMailToDSP
|
|
/* 0B55DC 800BAB7C 28030000 */ cmplwi r3, 0
|
|
/* 0B55E0 800BAB80 4082FFF8 */ bne lbl_800BAB78
|
|
/* 0B55E4 800BAB84 3C6080F4 */ lis r3, 0x80f4
|
|
/* 0B55E8 800BAB88 3863D001 */ addi r3, r3, -12287
|
|
/* 0B55EC 800BAB8C 4BFFF7B5 */ bl DSPSendMailToDSP
|
|
lbl_800BAB90:
|
|
/* 0B55F0 800BAB90 4BFFF779 */ bl DSPCheckMailToDSP
|
|
/* 0B55F4 800BAB94 28030000 */ cmplwi r3, 0
|
|
/* 0B55F8 800BAB98 4082FFF8 */ bne lbl_800BAB90
|
|
/* 0B55FC 800BAB9C A07E0024 */ lhz r3, 0x24(r30)
|
|
/* 0B5600 800BABA0 4BFFF7A1 */ bl DSPSendMailToDSP
|
|
lbl_800BABA4:
|
|
/* 0B5604 800BABA4 4BFFF765 */ bl DSPCheckMailToDSP
|
|
/* 0B5608 800BABA8 28030000 */ cmplwi r3, 0
|
|
/* 0B560C 800BABAC 4082FFF8 */ bne lbl_800BABA4
|
|
/* 0B5610 800BABB0 387F0000 */ addi r3, r31, 0
|
|
/* 0B5614 800BABB4 4CC63182 */ crclr 6
|
|
/* 0B5618 800BABB8 389E0000 */ addi r4, r30, 0
|
|
/* 0B561C 800BABBC 4BFFF8CD */ bl __DSP_debug_printf
|
|
/* 0B5620 800BABC0 809E000C */ lwz r4, 0xc(r30)
|
|
/* 0B5624 800BABC4 387F0020 */ addi r3, r31, 0x20
|
|
/* 0B5628 800BABC8 4CC63182 */ crclr 6
|
|
/* 0B562C 800BABCC 4BFFF8BD */ bl __DSP_debug_printf
|
|
/* 0B5630 800BABD0 809E0014 */ lwz r4, 0x14(r30)
|
|
/* 0B5634 800BABD4 387F0050 */ addi r3, r31, 0x50
|
|
/* 0B5638 800BABD8 4CC63182 */ crclr 6
|
|
/* 0B563C 800BABDC 4BFFF8AD */ bl __DSP_debug_printf
|
|
/* 0B5640 800BABE0 809E0010 */ lwz r4, 0x10(r30)
|
|
/* 0B5644 800BABE4 387F0080 */ addi r3, r31, 0x80
|
|
/* 0B5648 800BABE8 4CC63182 */ crclr 6
|
|
/* 0B564C 800BABEC 4BFFF89D */ bl __DSP_debug_printf
|
|
/* 0B5650 800BABF0 809E001C */ lwz r4, 0x1c(r30)
|
|
/* 0B5654 800BABF4 387F00B0 */ addi r3, r31, 0xb0
|
|
/* 0B5658 800BABF8 4CC63182 */ crclr 6
|
|
/* 0B565C 800BABFC 4BFFF88D */ bl __DSP_debug_printf
|
|
/* 0B5660 800BAC00 A09E0024 */ lhz r4, 0x24(r30)
|
|
/* 0B5664 800BAC04 387F00E0 */ addi r3, r31, 0xe0
|
|
/* 0B5668 800BAC08 4CC63182 */ crclr 6
|
|
/* 0B566C 800BAC0C 4BFFF87D */ bl __DSP_debug_printf
|
|
/* 0B5670 800BAC10 8001001C */ lwz r0, 0x1c(r1)
|
|
/* 0B5674 800BAC14 83E10014 */ lwz r31, 0x14(r1)
|
|
/* 0B5678 800BAC18 83C10010 */ lwz r30, 0x10(r1)
|
|
/* 0B567C 800BAC1C 38210018 */ addi r1, r1, 0x18
|
|
/* 0B5680 800BAC20 7C0803A6 */ mtlr r0
|
|
/* 0B5684 800BAC24 4E800020 */ blr
|
|
|
|
glabel __DSP_insert_task
|
|
/* 0B5688 800BAC28 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B568C 800BAC2C 28000000 */ cmplwi r0, 0
|
|
/* 0B5690 800BAC30 40820020 */ bne lbl_800BAC50
|
|
/* 0B5694 800BAC34 906D8EAC */ stw r3, __DSP_curr_task@sda21(r13)
|
|
/* 0B5698 800BAC38 38000000 */ li r0, 0
|
|
/* 0B569C 800BAC3C 906D8EA4 */ stw r3, __DSP_last_task@sda21(r13)
|
|
/* 0B56A0 800BAC40 906D8EA8 */ stw r3, __DSP_first_task@sda21(r13)
|
|
/* 0B56A4 800BAC44 9003003C */ stw r0, 0x3c(r3)
|
|
/* 0B56A8 800BAC48 90030038 */ stw r0, 0x38(r3)
|
|
/* 0B56AC 800BAC4C 4E800020 */ blr
|
|
lbl_800BAC50:
|
|
/* 0B56B0 800BAC50 7C050378 */ mr r5, r0
|
|
/* 0B56B4 800BAC54 48000044 */ b lbl_800BAC98
|
|
lbl_800BAC58:
|
|
/* 0B56B8 800BAC58 80830004 */ lwz r4, 4(r3)
|
|
/* 0B56BC 800BAC5C 80050004 */ lwz r0, 4(r5)
|
|
/* 0B56C0 800BAC60 7C040040 */ cmplw r4, r0
|
|
/* 0B56C4 800BAC64 40800030 */ bge lbl_800BAC94
|
|
/* 0B56C8 800BAC68 8005003C */ lwz r0, 0x3c(r5)
|
|
/* 0B56CC 800BAC6C 9003003C */ stw r0, 0x3c(r3)
|
|
/* 0B56D0 800BAC70 9065003C */ stw r3, 0x3c(r5)
|
|
/* 0B56D4 800BAC74 90A30038 */ stw r5, 0x38(r3)
|
|
/* 0B56D8 800BAC78 8083003C */ lwz r4, 0x3c(r3)
|
|
/* 0B56DC 800BAC7C 28040000 */ cmplwi r4, 0
|
|
/* 0B56E0 800BAC80 4082000C */ bne lbl_800BAC8C
|
|
/* 0B56E4 800BAC84 906D8EA8 */ stw r3, __DSP_first_task@sda21(r13)
|
|
/* 0B56E8 800BAC88 48000018 */ b lbl_800BACA0
|
|
lbl_800BAC8C:
|
|
/* 0B56EC 800BAC8C 90640038 */ stw r3, 0x38(r4)
|
|
/* 0B56F0 800BAC90 48000010 */ b lbl_800BACA0
|
|
lbl_800BAC94:
|
|
/* 0B56F4 800BAC94 80A50038 */ lwz r5, 0x38(r5)
|
|
lbl_800BAC98:
|
|
/* 0B56F8 800BAC98 28050000 */ cmplwi r5, 0
|
|
/* 0B56FC 800BAC9C 4082FFBC */ bne lbl_800BAC58
|
|
lbl_800BACA0:
|
|
/* 0B5700 800BACA0 28050000 */ cmplwi r5, 0
|
|
/* 0B5704 800BACA4 4C820020 */ bnelr
|
|
/* 0B5708 800BACA8 808D8EA4 */ lwz r4, __DSP_last_task@sda21(r13)
|
|
/* 0B570C 800BACAC 38000000 */ li r0, 0
|
|
/* 0B5710 800BACB0 90640038 */ stw r3, 0x38(r4)
|
|
/* 0B5714 800BACB4 90030038 */ stw r0, 0x38(r3)
|
|
/* 0B5718 800BACB8 800D8EA4 */ lwz r0, __DSP_last_task@sda21(r13)
|
|
/* 0B571C 800BACBC 9003003C */ stw r0, 0x3c(r3)
|
|
/* 0B5720 800BACC0 906D8EA4 */ stw r3, __DSP_last_task@sda21(r13)
|
|
/* 0B5724 800BACC4 4E800020 */ blr
|
|
|
|
glabel __DSP_remove_task
|
|
/* 0B5728 800BACC8 38800000 */ li r4, 0
|
|
/* 0B572C 800BACCC 90830008 */ stw r4, 8(r3)
|
|
/* 0B5730 800BACD0 38000003 */ li r0, 3
|
|
/* 0B5734 800BACD4 90030000 */ stw r0, 0(r3)
|
|
/* 0B5738 800BACD8 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B573C 800BACDC 7C001840 */ cmplw r0, r3
|
|
/* 0B5740 800BACE0 40820030 */ bne lbl_800BAD10
|
|
/* 0B5744 800BACE4 80030038 */ lwz r0, 0x38(r3)
|
|
/* 0B5748 800BACE8 28000000 */ cmplwi r0, 0
|
|
/* 0B574C 800BACEC 41820014 */ beq lbl_800BAD00
|
|
/* 0B5750 800BACF0 900D8EA8 */ stw r0, __DSP_first_task@sda21(r13)
|
|
/* 0B5754 800BACF4 80630038 */ lwz r3, 0x38(r3)
|
|
/* 0B5758 800BACF8 9083003C */ stw r4, 0x3c(r3)
|
|
/* 0B575C 800BACFC 4E800020 */ blr
|
|
lbl_800BAD00:
|
|
/* 0B5760 800BAD00 908D8EAC */ stw r4, __DSP_curr_task@sda21(r13)
|
|
/* 0B5764 800BAD04 908D8EA4 */ stw r4, __DSP_last_task@sda21(r13)
|
|
/* 0B5768 800BAD08 908D8EA8 */ stw r4, __DSP_first_task@sda21(r13)
|
|
/* 0B576C 800BAD0C 4E800020 */ blr
|
|
lbl_800BAD10:
|
|
/* 0B5770 800BAD10 800D8EA4 */ lwz r0, __DSP_last_task@sda21(r13)
|
|
/* 0B5774 800BAD14 7C001840 */ cmplw r0, r3
|
|
/* 0B5778 800BAD18 40820020 */ bne lbl_800BAD38
|
|
/* 0B577C 800BAD1C 8003003C */ lwz r0, 0x3c(r3)
|
|
/* 0B5780 800BAD20 900D8EA4 */ stw r0, __DSP_last_task@sda21(r13)
|
|
/* 0B5784 800BAD24 8063003C */ lwz r3, 0x3c(r3)
|
|
/* 0B5788 800BAD28 90830038 */ stw r4, 0x38(r3)
|
|
/* 0B578C 800BAD2C 800D8EA8 */ lwz r0, __DSP_first_task@sda21(r13)
|
|
/* 0B5790 800BAD30 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B5794 800BAD34 4E800020 */ blr
|
|
lbl_800BAD38:
|
|
/* 0B5798 800BAD38 80030038 */ lwz r0, 0x38(r3)
|
|
/* 0B579C 800BAD3C 900D8EAC */ stw r0, __DSP_curr_task@sda21(r13)
|
|
/* 0B57A0 800BAD40 80030038 */ lwz r0, 0x38(r3)
|
|
/* 0B57A4 800BAD44 8083003C */ lwz r4, 0x3c(r3)
|
|
/* 0B57A8 800BAD48 90040038 */ stw r0, 0x38(r4)
|
|
/* 0B57AC 800BAD4C 8003003C */ lwz r0, 0x3c(r3)
|
|
/* 0B57B0 800BAD50 80630038 */ lwz r3, 0x38(r3)
|
|
/* 0B57B4 800BAD54 9003003C */ stw r0, 0x3c(r3)
|
|
/* 0B57B8 800BAD58 4E800020 */ blr
|
|
|
|
.section .data, "wa"
|
|
|
|
.balign 8
|
|
|
|
/* 000F0718 800F3698 001D */
|
|
D_800F3698:
|
|
.asciz "DSP is booting task: 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F0738 800F36B8 002D */
|
|
D_800F36B8:
|
|
.asciz "__DSP_boot_task() : IRAM MMEM ADDR: 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F0768 800F36E8 002D */
|
|
D_800F36E8:
|
|
.asciz "__DSP_boot_task() : IRAM DSP ADDR : 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F0798 800F3718 002D */
|
|
D_800F3718:
|
|
.asciz "__DSP_boot_task() : IRAM LENGTH : 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F07C8 800F3748 002D */
|
|
D_800F3748:
|
|
.asciz "__DSP_boot_task() : DRAM MMEM ADDR: 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F07F8 800F3778 002D */
|
|
D_800F3778:
|
|
.asciz "__DSP_boot_task() : Start Vector : 0x%08X\n"
|
|
.balign 4
|
|
|
|
/* 000F0828 800F37A8 002B */
|
|
D_800F37A8:
|
|
.asciz "__DSP_add_task() : Added task : 0x%08X\n"
|
|
.balign 4
|
|
|
|
.section .sbss, "wa"
|
|
|
|
.balign 8
|
|
|
|
/* 000F1DF8 80135B78 0004 */
|
|
glabel __DSP_rude_task_pending
|
|
.skip 4
|
|
|
|
/* 000F1DFC 80135B7C 0004 */
|
|
glabel __DSP_rude_task
|
|
.skip 4
|
|
|
|
/* 000F1E00 80135B80 0004 */
|
|
glabel __DSP_tmp_task
|
|
.skip 4
|
|
|
|
/* 000F1E04 80135B84 0004 */
|
|
glabel __DSP_last_task
|
|
.skip 4
|
|
|
|
/* 000F1E08 80135B88 0004 */
|
|
glabel __DSP_first_task
|
|
.skip 4
|
|
|
|
/* 000F1E0C 80135B8C 0004 */
|
|
glabel __DSP_curr_task
|
|
.skip 4
|