summaryrefslogtreecommitdiff
path: root/asm/SDK/SC/scapi.s
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-07 17:41:10 -0400
committerMax <mparisi@stevens.edu>2020-10-07 17:41:10 -0400
commit8bdbd1d2b5b2527689139dfda3f641c99c9b78ef (patch)
tree0451d5383057aafc4ebb6ccde36805a15bb524b9 /asm/SDK/SC/scapi.s
parent4043dc5ee3c5457fb332042acccaa6e4ec132332 (diff)
split scapi, scapi_prdinfo, wenc, and arc
Diffstat (limited to 'asm/SDK/SC/scapi.s')
-rw-r--r--asm/SDK/SC/scapi.s363
1 files changed, 363 insertions, 0 deletions
diff --git a/asm/SDK/SC/scapi.s b/asm/SDK/SC/scapi.s
new file mode 100644
index 0000000..1700de2
--- /dev/null
+++ b/asm/SDK/SC/scapi.s
@@ -0,0 +1,363 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global SCGetAspectRatio
+SCGetAspectRatio:
+/* 802EC320 002E7F80 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC324 002E7F84 7C 08 02 A6 */ mflr r0
+/* 802EC328 002E7F88 38 80 00 01 */ li r4, 1
+/* 802EC32C 002E7F8C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC330 002E7F90 38 61 00 08 */ addi r3, r1, 8
+/* 802EC334 002E7F94 4B FF F7 75 */ bl SCFindU8Item
+/* 802EC338 002E7F98 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC33C 002E7F9C 40 82 00 10 */ bne lbl_802EC34C
+/* 802EC340 002E7FA0 38 00 00 00 */ li r0, 0
+/* 802EC344 002E7FA4 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC348 002E7FA8 48 00 00 18 */ b lbl_802EC360
+lbl_802EC34C:
+/* 802EC34C 002E7FAC 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC350 002E7FB0 28 00 00 01 */ cmplwi r0, 1
+/* 802EC354 002E7FB4 41 82 00 0C */ beq lbl_802EC360
+/* 802EC358 002E7FB8 38 00 00 00 */ li r0, 0
+/* 802EC35C 002E7FBC 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC360:
+/* 802EC360 002E7FC0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC364 002E7FC4 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC368 002E7FC8 7C 08 03 A6 */ mtlr r0
+/* 802EC36C 002E7FCC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC370 002E7FD0 4E 80 00 20 */ blr
+
+.global SCGetDisplayOffsetH
+SCGetDisplayOffsetH:
+/* 802EC374 002E7FD4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC378 002E7FD8 7C 08 02 A6 */ mflr r0
+/* 802EC37C 002E7FDC 38 80 00 05 */ li r4, 5
+/* 802EC380 002E7FE0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC384 002E7FE4 38 61 00 08 */ addi r3, r1, 8
+/* 802EC388 002E7FE8 4B FF F7 F5 */ bl SCFindS8Item
+/* 802EC38C 002E7FEC 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC390 002E7FF0 40 82 00 10 */ bne lbl_802EC3A0
+/* 802EC394 002E7FF4 38 00 00 00 */ li r0, 0
+/* 802EC398 002E7FF8 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC39C 002E7FFC 48 00 00 30 */ b lbl_802EC3CC
+lbl_802EC3A0:
+/* 802EC3A0 002E8000 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC3A4 002E8004 7C 00 07 74 */ extsb r0, r0
+/* 802EC3A8 002E8008 2C 00 FF E0 */ cmpwi r0, -32
+/* 802EC3AC 002E800C 40 80 00 10 */ bge lbl_802EC3BC
+/* 802EC3B0 002E8010 38 00 FF E0 */ li r0, -32
+/* 802EC3B4 002E8014 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC3B8 002E8018 48 00 00 14 */ b lbl_802EC3CC
+lbl_802EC3BC:
+/* 802EC3BC 002E801C 2C 00 00 20 */ cmpwi r0, 0x20
+/* 802EC3C0 002E8020 40 81 00 0C */ ble lbl_802EC3CC
+/* 802EC3C4 002E8024 38 00 00 20 */ li r0, 0x20
+/* 802EC3C8 002E8028 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC3CC:
+/* 802EC3CC 002E802C 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC3D0 002E8030 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
+/* 802EC3D4 002E8034 7C 03 07 74 */ extsb r3, r0
+/* 802EC3D8 002E8038 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC3DC 002E803C 7C 08 03 A6 */ mtlr r0
+/* 802EC3E0 002E8040 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC3E4 002E8044 4E 80 00 20 */ blr
+
+.global SCGetEuRgb60Mode
+SCGetEuRgb60Mode:
+/* 802EC3E8 002E8048 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC3EC 002E804C 7C 08 02 A6 */ mflr r0
+/* 802EC3F0 002E8050 38 80 00 06 */ li r4, 6
+/* 802EC3F4 002E8054 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC3F8 002E8058 38 61 00 08 */ addi r3, r1, 8
+/* 802EC3FC 002E805C 4B FF F6 AD */ bl SCFindU8Item
+/* 802EC400 002E8060 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC404 002E8064 40 82 00 10 */ bne lbl_802EC414
+/* 802EC408 002E8068 38 00 00 00 */ li r0, 0
+/* 802EC40C 002E806C 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC410 002E8070 48 00 00 18 */ b lbl_802EC428
+lbl_802EC414:
+/* 802EC414 002E8074 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC418 002E8078 28 00 00 01 */ cmplwi r0, 1
+/* 802EC41C 002E807C 41 82 00 0C */ beq lbl_802EC428
+/* 802EC420 002E8080 38 00 00 00 */ li r0, 0
+/* 802EC424 002E8084 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC428:
+/* 802EC428 002E8088 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC42C 002E808C 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC430 002E8090 7C 08 03 A6 */ mtlr r0
+/* 802EC434 002E8094 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC438 002E8098 4E 80 00 20 */ blr
+
+.global SCGetIdleMode
+SCGetIdleMode:
+/* 802EC43C 002E809C 38 80 00 02 */ li r4, 2
+/* 802EC440 002E80A0 38 A0 00 09 */ li r5, 9
+/* 802EC444 002E80A4 4B FF F3 48 */ b SCFindByteArrayItem
+
+.global SCGetLanguage
+SCGetLanguage:
+/* 802EC448 002E80A8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC44C 002E80AC 7C 08 02 A6 */ mflr r0
+/* 802EC450 002E80B0 38 80 00 0B */ li r4, 0xb
+/* 802EC454 002E80B4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC458 002E80B8 38 61 00 08 */ addi r3, r1, 8
+/* 802EC45C 002E80BC 4B FF F6 4D */ bl SCFindU8Item
+/* 802EC460 002E80C0 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC464 002E80C4 40 82 00 28 */ bne lbl_802EC48C
+/* 802EC468 002E80C8 48 00 04 91 */ bl SCGetProductArea
+/* 802EC46C 002E80CC 7C 60 07 75 */ extsb. r0, r3
+/* 802EC470 002E80D0 40 82 00 10 */ bne lbl_802EC480
+/* 802EC474 002E80D4 38 00 00 00 */ li r0, 0
+/* 802EC478 002E80D8 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC47C 002E80DC 48 00 00 24 */ b lbl_802EC4A0
+lbl_802EC480:
+/* 802EC480 002E80E0 38 00 00 01 */ li r0, 1
+/* 802EC484 002E80E4 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC488 002E80E8 48 00 00 18 */ b lbl_802EC4A0
+lbl_802EC48C:
+/* 802EC48C 002E80EC 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC490 002E80F0 28 00 00 09 */ cmplwi r0, 9
+/* 802EC494 002E80F4 40 81 00 0C */ ble lbl_802EC4A0
+/* 802EC498 002E80F8 38 00 00 01 */ li r0, 1
+/* 802EC49C 002E80FC 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC4A0:
+/* 802EC4A0 002E8100 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC4A4 002E8104 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC4A8 002E8108 7C 08 03 A6 */ mtlr r0
+/* 802EC4AC 002E810C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC4B0 002E8110 4E 80 00 20 */ blr
+
+.global SCGetProgressiveMode
+SCGetProgressiveMode:
+/* 802EC4B4 002E8114 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC4B8 002E8118 7C 08 02 A6 */ mflr r0
+/* 802EC4BC 002E811C 38 80 00 0E */ li r4, 0xe
+/* 802EC4C0 002E8120 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC4C4 002E8124 38 61 00 08 */ addi r3, r1, 8
+/* 802EC4C8 002E8128 4B FF F5 E1 */ bl SCFindU8Item
+/* 802EC4CC 002E812C 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC4D0 002E8130 40 82 00 10 */ bne lbl_802EC4E0
+/* 802EC4D4 002E8134 38 00 00 00 */ li r0, 0
+/* 802EC4D8 002E8138 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC4DC 002E813C 48 00 00 18 */ b lbl_802EC4F4
+lbl_802EC4E0:
+/* 802EC4E0 002E8140 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC4E4 002E8144 28 00 00 01 */ cmplwi r0, 1
+/* 802EC4E8 002E8148 41 82 00 0C */ beq lbl_802EC4F4
+/* 802EC4EC 002E814C 38 00 00 00 */ li r0, 0
+/* 802EC4F0 002E8150 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC4F4:
+/* 802EC4F4 002E8154 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC4F8 002E8158 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC4FC 002E815C 7C 08 03 A6 */ mtlr r0
+/* 802EC500 002E8160 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC504 002E8164 4E 80 00 20 */ blr
+
+.global SCGetScreenSaverMode
+SCGetScreenSaverMode:
+/* 802EC508 002E8168 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC50C 002E816C 7C 08 02 A6 */ mflr r0
+/* 802EC510 002E8170 38 80 00 0F */ li r4, 0xf
+/* 802EC514 002E8174 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC518 002E8178 38 61 00 08 */ addi r3, r1, 8
+/* 802EC51C 002E817C 4B FF F5 8D */ bl SCFindU8Item
+/* 802EC520 002E8180 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC524 002E8184 40 82 00 10 */ bne lbl_802EC534
+/* 802EC528 002E8188 38 00 00 01 */ li r0, 1
+/* 802EC52C 002E818C 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC530 002E8190 48 00 00 18 */ b lbl_802EC548
+lbl_802EC534:
+/* 802EC534 002E8194 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC538 002E8198 28 00 00 01 */ cmplwi r0, 1
+/* 802EC53C 002E819C 41 82 00 0C */ beq lbl_802EC548
+/* 802EC540 002E81A0 38 00 00 00 */ li r0, 0
+/* 802EC544 002E81A4 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC548:
+/* 802EC548 002E81A8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC54C 002E81AC 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC550 002E81B0 7C 08 03 A6 */ mtlr r0
+/* 802EC554 002E81B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC558 002E81B8 4E 80 00 20 */ blr
+
+.global SCGetSoundMode
+SCGetSoundMode:
+/* 802EC55C 002E81BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC560 002E81C0 7C 08 02 A6 */ mflr r0
+/* 802EC564 002E81C4 38 80 00 11 */ li r4, 0x11
+/* 802EC568 002E81C8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC56C 002E81CC 38 61 00 08 */ addi r3, r1, 8
+/* 802EC570 002E81D0 4B FF F5 39 */ bl SCFindU8Item
+/* 802EC574 002E81D4 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC578 002E81D8 40 82 00 10 */ bne lbl_802EC588
+/* 802EC57C 002E81DC 38 00 00 01 */ li r0, 1
+/* 802EC580 002E81E0 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC584 002E81E4 48 00 00 28 */ b lbl_802EC5AC
+lbl_802EC588:
+/* 802EC588 002E81E8 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC58C 002E81EC 2C 00 00 00 */ cmpwi r0, 0
+/* 802EC590 002E81F0 41 82 00 1C */ beq lbl_802EC5AC
+/* 802EC594 002E81F4 28 00 00 01 */ cmplwi r0, 1
+/* 802EC598 002E81F8 41 82 00 14 */ beq lbl_802EC5AC
+/* 802EC59C 002E81FC 28 00 00 02 */ cmplwi r0, 2
+/* 802EC5A0 002E8200 41 82 00 0C */ beq lbl_802EC5AC
+/* 802EC5A4 002E8204 38 00 00 01 */ li r0, 1
+/* 802EC5A8 002E8208 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC5AC:
+/* 802EC5AC 002E820C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC5B0 002E8210 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC5B4 002E8214 7C 08 03 A6 */ mtlr r0
+/* 802EC5B8 002E8218 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC5BC 002E821C 4E 80 00 20 */ blr
+
+.global SCGetCounterBias
+SCGetCounterBias:
+/* 802EC5C0 002E8220 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC5C4 002E8224 7C 08 02 A6 */ mflr r0
+/* 802EC5C8 002E8228 38 80 00 00 */ li r4, 0
+/* 802EC5CC 002E822C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC5D0 002E8230 38 61 00 08 */ addi r3, r1, 8
+/* 802EC5D4 002E8234 4B FF F6 7D */ bl SCFindU32Item
+/* 802EC5D8 002E8238 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC5DC 002E823C 40 82 00 10 */ bne lbl_802EC5EC
+/* 802EC5E0 002E8240 3C 60 0B 4A */ lis r3, 0x0B49D800@ha
+/* 802EC5E4 002E8244 38 03 D8 00 */ addi r0, r3, 0x0B49D800@l
+/* 802EC5E8 002E8248 90 01 00 08 */ stw r0, 8(r1)
+lbl_802EC5EC:
+/* 802EC5EC 002E824C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC5F0 002E8250 80 61 00 08 */ lwz r3, 8(r1)
+/* 802EC5F4 002E8254 7C 08 03 A6 */ mtlr r0
+/* 802EC5F8 002E8258 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC5FC 002E825C 4E 80 00 20 */ blr
+
+.global SCGetBtDeviceInfoArray
+SCGetBtDeviceInfoArray:
+/* 802EC600 002E8260 38 80 04 61 */ li r4, 0x461
+/* 802EC604 002E8264 38 A0 00 1C */ li r5, 0x1c
+/* 802EC608 002E8268 4B FF F1 84 */ b SCFindByteArrayItem
+
+.global SCSetBtDeviceInfoArray
+SCSetBtDeviceInfoArray:
+/* 802EC60C 002E826C 38 80 04 61 */ li r4, 0x461
+/* 802EC610 002E8270 38 A0 00 1C */ li r5, 0x1c
+/* 802EC614 002E8274 4B FF F2 58 */ b SCReplaceByteArrayItem
+
+.global SCGetBtDpdSensibility
+SCGetBtDpdSensibility:
+/* 802EC618 002E8278 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC61C 002E827C 7C 08 02 A6 */ mflr r0
+/* 802EC620 002E8280 38 80 00 1D */ li r4, 0x1d
+/* 802EC624 002E8284 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC628 002E8288 38 61 00 08 */ addi r3, r1, 8
+/* 802EC62C 002E828C 4B FF F6 25 */ bl SCFindU32Item
+/* 802EC630 002E8290 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC634 002E8294 40 82 00 10 */ bne lbl_802EC644
+/* 802EC638 002E8298 38 00 00 02 */ li r0, 2
+/* 802EC63C 002E829C 90 01 00 08 */ stw r0, 8(r1)
+/* 802EC640 002E82A0 48 00 00 2C */ b lbl_802EC66C
+lbl_802EC644:
+/* 802EC644 002E82A4 80 01 00 08 */ lwz r0, 8(r1)
+/* 802EC648 002E82A8 28 00 00 01 */ cmplwi r0, 1
+/* 802EC64C 002E82AC 40 80 00 10 */ bge lbl_802EC65C
+/* 802EC650 002E82B0 38 00 00 01 */ li r0, 1
+/* 802EC654 002E82B4 90 01 00 08 */ stw r0, 8(r1)
+/* 802EC658 002E82B8 48 00 00 14 */ b lbl_802EC66C
+lbl_802EC65C:
+/* 802EC65C 002E82BC 28 00 00 05 */ cmplwi r0, 5
+/* 802EC660 002E82C0 40 81 00 0C */ ble lbl_802EC66C
+/* 802EC664 002E82C4 38 00 00 05 */ li r0, 5
+/* 802EC668 002E82C8 90 01 00 08 */ stw r0, 8(r1)
+lbl_802EC66C:
+/* 802EC66C 002E82CC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC670 002E82D0 80 61 00 08 */ lwz r3, 8(r1)
+/* 802EC674 002E82D4 7C 08 03 A6 */ mtlr r0
+/* 802EC678 002E82D8 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC67C 002E82DC 4E 80 00 20 */ blr
+
+.global SCGetWpadMotorMode
+SCGetWpadMotorMode:
+/* 802EC680 002E82E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC684 002E82E4 7C 08 02 A6 */ mflr r0
+/* 802EC688 002E82E8 38 80 00 1F */ li r4, 0x1f
+/* 802EC68C 002E82EC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC690 002E82F0 38 61 00 08 */ addi r3, r1, 8
+/* 802EC694 002E82F4 4B FF F4 15 */ bl SCFindU8Item
+/* 802EC698 002E82F8 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC69C 002E82FC 40 82 00 10 */ bne lbl_802EC6AC
+/* 802EC6A0 002E8300 38 00 00 01 */ li r0, 1
+/* 802EC6A4 002E8304 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC6A8 002E8308 48 00 00 18 */ b lbl_802EC6C0
+lbl_802EC6AC:
+/* 802EC6AC 002E830C 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC6B0 002E8310 28 00 00 01 */ cmplwi r0, 1
+/* 802EC6B4 002E8314 41 82 00 0C */ beq lbl_802EC6C0
+/* 802EC6B8 002E8318 38 00 00 00 */ li r0, 0
+/* 802EC6BC 002E831C 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC6C0:
+/* 802EC6C0 002E8320 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC6C4 002E8324 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC6C8 002E8328 7C 08 03 A6 */ mtlr r0
+/* 802EC6CC 002E832C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC6D0 002E8330 4E 80 00 20 */ blr
+
+.global SCSetWpadMotorMode
+SCSetWpadMotorMode:
+/* 802EC6D4 002E8334 38 80 00 1F */ li r4, 0x1f
+/* 802EC6D8 002E8338 4B FF F6 4C */ b SCReplaceU8Item
+
+.global SCGetWpadSensorBarPosition
+SCGetWpadSensorBarPosition:
+/* 802EC6DC 002E833C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC6E0 002E8340 7C 08 02 A6 */ mflr r0
+/* 802EC6E4 002E8344 38 80 00 20 */ li r4, 0x20
+/* 802EC6E8 002E8348 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC6EC 002E834C 38 61 00 08 */ addi r3, r1, 8
+/* 802EC6F0 002E8350 4B FF F3 B9 */ bl SCFindU8Item
+/* 802EC6F4 002E8354 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC6F8 002E8358 40 82 00 10 */ bne lbl_802EC708
+/* 802EC6FC 002E835C 38 00 00 00 */ li r0, 0
+/* 802EC700 002E8360 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC704 002E8364 48 00 00 18 */ b lbl_802EC71C
+lbl_802EC708:
+/* 802EC708 002E8368 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC70C 002E836C 28 00 00 01 */ cmplwi r0, 1
+/* 802EC710 002E8370 41 82 00 0C */ beq lbl_802EC71C
+/* 802EC714 002E8374 38 00 00 00 */ li r0, 0
+/* 802EC718 002E8378 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC71C:
+/* 802EC71C 002E837C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC720 002E8380 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC724 002E8384 7C 08 03 A6 */ mtlr r0
+/* 802EC728 002E8388 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC72C 002E838C 4E 80 00 20 */ blr
+
+.global SCGetWpadSpeakerVolume
+SCGetWpadSpeakerVolume:
+/* 802EC730 002E8390 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802EC734 002E8394 7C 08 02 A6 */ mflr r0
+/* 802EC738 002E8398 38 80 00 1E */ li r4, 0x1e
+/* 802EC73C 002E839C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802EC740 002E83A0 38 61 00 08 */ addi r3, r1, 8
+/* 802EC744 002E83A4 4B FF F3 65 */ bl SCFindU8Item
+/* 802EC748 002E83A8 2C 03 00 00 */ cmpwi r3, 0
+/* 802EC74C 002E83AC 40 82 00 10 */ bne lbl_802EC75C
+/* 802EC750 002E83B0 38 00 00 59 */ li r0, 0x59
+/* 802EC754 002E83B4 98 01 00 08 */ stb r0, 8(r1)
+/* 802EC758 002E83B8 48 00 00 18 */ b lbl_802EC770
+lbl_802EC75C:
+/* 802EC75C 002E83BC 88 01 00 08 */ lbz r0, 8(r1)
+/* 802EC760 002E83C0 28 00 00 7F */ cmplwi r0, 0x7f
+/* 802EC764 002E83C4 40 81 00 0C */ ble lbl_802EC770
+/* 802EC768 002E83C8 38 00 00 7F */ li r0, 0x7f
+/* 802EC76C 002E83CC 98 01 00 08 */ stb r0, 8(r1)
+lbl_802EC770:
+/* 802EC770 002E83D0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802EC774 002E83D4 88 61 00 08 */ lbz r3, 8(r1)
+/* 802EC778 002E83D8 7C 08 03 A6 */ mtlr r0
+/* 802EC77C 002E83DC 38 21 00 10 */ addi r1, r1, 0x10
+/* 802EC780 002E83E0 4E 80 00 20 */ blr
+
+.global SCSetWpadSpeakerVolume
+SCSetWpadSpeakerVolume:
+/* 802EC784 002E83E4 38 80 00 1E */ li r4, 0x1e
+/* 802EC788 002E83E8 4B FF F5 9C */ b SCReplaceU8Item