Files
tp/include/JSystem/JKernel/JKRDvdArchive/asm/func_802D826C.s
T
Jonathan Wase 86f892c3d3 JKernel (#20)
* JKRDvdArchive.s split

* JKRMemArchive.s split

* JKRAramArchive.s split

* JKRCompArchive.s split

* JKRDecomp.s split

* JKRDvdRipper.s split

* JKRAramBlock.s split

* JKRAramHeap.s split

* JKRAramPiece.s split

* JKRAramStream.s split

* removed unused .s files

* JKRDvdAramRipper.s split

* JKRAram.s split

* cleanup and making vtables easier to debug

* fixed merge errors

* fixed JKRFileLoader::fetchVolumeName

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2020-12-06 15:02:25 -05:00

144 lines
7.3 KiB
ArmAsm

/* fetchResource_subroutine__13JKRDvdArchiveFlUlUlPUcUlii __ct__13JKRDvdArchiveFlQ210JKRArchive15EMountDirection::fetchResource_subroutine(long, unsigned long, unsigned long, unsigned char *, unsigned long, int, int) */
/* JKRDvdArchive_NS_fetchResource_subroutine */
/* 802D826C 002D51AC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 802D8270 002D51B0 7C 08 02 A6 */ mflr r0
/* 802D8274 002D51B4 90 01 00 74 */ stw r0, 0x74(r1)
/* 802D8278 002D51B8 39 61 00 70 */ addi r11, r1, 0x70
/* 802D827C 002D51BC 48 08 9F 55 */ bl _savegpr_26
/* 802D8280 002D51C0 7C 7D 1B 78 */ mr r29, r3
/* 802D8284 002D51C4 7C 9E 23 78 */ mr r30, r4
/* 802D8288 002D51C8 7C BA 2B 78 */ mr r26, r5
/* 802D828C 002D51CC 7C DF 33 78 */ mr r31, r6
/* 802D8290 002D51D0 38 1A 00 1F */ addi r0, r26, 0x1f
/* 802D8294 002D51D4 54 1C 00 34 */ rlwinm r28, r0, 0, 0, 0x1a
/* 802D8298 002D51D8 54 FB 00 34 */ rlwinm r27, r7, 0, 0, 0x1a
/* 802D829C 002D51DC 2C 09 00 01 */ cmpwi r9, 1
/* 802D82A0 002D51E0 41 82 01 80 */ beq lbl_802D8420
/* 802D82A4 002D51E4 40 80 00 10 */ bge lbl_802D82B4
/* 802D82A8 002D51E8 2C 09 00 00 */ cmpwi r9, 0
/* 802D82AC 002D51EC 40 80 00 14 */ bge lbl_802D82C0
/* 802D82B0 002D51F0 48 00 01 8C */ b lbl_802D843C
lbl_802D82B4:
/* 802D82B4 002D51F4 2C 09 00 03 */ cmpwi r9, 3
/* 802D82B8 002D51F8 40 80 01 84 */ bge lbl_802D843C
/* 802D82BC 002D51FC 48 00 01 18 */ b lbl_802D83D4
lbl_802D82C0:
/* 802D82C0 002D5200 2C 08 00 00 */ cmpwi r8, 0
/* 802D82C4 002D5204 41 82 00 14 */ beq lbl_802D82D8
/* 802D82C8 002D5208 41 80 01 0C */ blt lbl_802D83D4
/* 802D82CC 002D520C 2C 08 00 03 */ cmpwi r8, 3
/* 802D82D0 002D5210 40 80 01 04 */ bge lbl_802D83D4
/* 802D82D4 002D5214 48 00 00 50 */ b lbl_802D8324
lbl_802D82D8:
/* 802D82D8 002D5218 7C 1C D8 40 */ cmplw r28, r27
/* 802D82DC 002D521C 40 81 00 08 */ ble lbl_802D82E4
/* 802D82E0 002D5220 7F 7C DB 78 */ mr r28, r27
lbl_802D82E4:
/* 802D82E4 002D5224 38 00 00 00 */ li r0, 0
/* 802D82E8 002D5228 90 01 00 08 */ stw r0, 8(r1)
/* 802D82EC 002D522C 7F A3 EB 78 */ mr r3, r29
/* 802D82F0 002D5230 7F E4 FB 78 */ mr r4, r31
/* 802D82F4 002D5234 38 A0 00 00 */ li r5, 0
/* 802D82F8 002D5238 7F 86 E3 78 */ mr r6, r28
/* 802D82FC 002D523C 38 E0 00 00 */ li r7, 0
/* 802D8300 002D5240 39 00 00 01 */ li r8, 1
/* 802D8304 002D5244 7F C9 F3 78 */ mr r9, r30
/* 802D8308 002D5248 39 40 00 00 */ li r10, 0
/* 802D830C 002D524C 48 00 19 49 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 802D8310 002D5250 7F E3 FB 78 */ mr r3, r31
/* 802D8314 002D5254 7F 84 E3 78 */ mr r4, r28
/* 802D8318 002D5258 48 06 32 69 */ bl DCInvalidateRange
/* 802D831C 002D525C 7F 83 E3 78 */ mr r3, r28
/* 802D8320 002D5260 48 00 01 3C */ b lbl_802D845C
lbl_802D8324:
/* 802D8324 002D5264 38 01 00 2F */ addi r0, r1, 0x2f
/* 802D8328 002D5268 54 1C 00 34 */ rlwinm r28, r0, 0, 0, 0x1a
/* 802D832C 002D526C 38 00 00 00 */ li r0, 0
/* 802D8330 002D5270 90 01 00 08 */ stw r0, 8(r1)
/* 802D8334 002D5274 7F 84 E3 78 */ mr r4, r28
/* 802D8338 002D5278 38 A0 00 02 */ li r5, 2
/* 802D833C 002D527C 38 C0 00 20 */ li r6, 0x20
/* 802D8340 002D5280 38 E0 00 00 */ li r7, 0
/* 802D8344 002D5284 39 00 00 01 */ li r8, 1
/* 802D8348 002D5288 7F C9 F3 78 */ mr r9, r30
/* 802D834C 002D528C 39 40 00 00 */ li r10, 0
/* 802D8350 002D5290 48 00 19 05 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 802D8354 002D5294 7F 83 E3 78 */ mr r3, r28
/* 802D8358 002D5298 38 80 00 20 */ li r4, 0x20
/* 802D835C 002D529C 48 06 32 25 */ bl DCInvalidateRange
/* 802D8360 002D52A0 88 BC 00 07 */ lbz r5, 7(r28)
/* 802D8364 002D52A4 88 9C 00 06 */ lbz r4, 6(r28)
/* 802D8368 002D52A8 88 7C 00 04 */ lbz r3, 4(r28)
/* 802D836C 002D52AC 88 1C 00 05 */ lbz r0, 5(r28)
/* 802D8370 002D52B0 54 00 80 1E */ slwi r0, r0, 0x10
/* 802D8374 002D52B4 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
/* 802D8378 002D52B8 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
/* 802D837C 002D52BC 7C BC 03 78 */ or r28, r5, r0
/* 802D8380 002D52C0 38 1C 00 1F */ addi r0, r28, 0x1f
/* 802D8384 002D52C4 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a
/* 802D8388 002D52C8 7C 1A D8 40 */ cmplw r26, r27
/* 802D838C 002D52CC 40 81 00 08 */ ble lbl_802D8394
/* 802D8390 002D52D0 7F 7A DB 78 */ mr r26, r27
lbl_802D8394:
/* 802D8394 002D52D4 38 00 00 00 */ li r0, 0
/* 802D8398 002D52D8 90 01 00 08 */ stw r0, 8(r1)
/* 802D839C 002D52DC 7F A3 EB 78 */ mr r3, r29
/* 802D83A0 002D52E0 7F E4 FB 78 */ mr r4, r31
/* 802D83A4 002D52E4 38 A0 00 01 */ li r5, 1
/* 802D83A8 002D52E8 7F 46 D3 78 */ mr r6, r26
/* 802D83AC 002D52EC 38 E0 00 00 */ li r7, 0
/* 802D83B0 002D52F0 39 00 00 01 */ li r8, 1
/* 802D83B4 002D52F4 7F C9 F3 78 */ mr r9, r30
/* 802D83B8 002D52F8 39 40 00 00 */ li r10, 0
/* 802D83BC 002D52FC 48 00 18 99 */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 802D83C0 002D5300 7F E3 FB 78 */ mr r3, r31
/* 802D83C4 002D5304 7F 44 D3 78 */ mr r4, r26
/* 802D83C8 002D5308 48 06 31 B9 */ bl DCInvalidateRange
/* 802D83CC 002D530C 7F 83 E3 78 */ mr r3, r28
/* 802D83D0 002D5310 48 00 00 8C */ b lbl_802D845C
lbl_802D83D4:
/* 802D83D4 002D5314 7C 1A D8 40 */ cmplw r26, r27
/* 802D83D8 002D5318 40 81 00 08 */ ble lbl_802D83E0
/* 802D83DC 002D531C 7F 7A DB 78 */ mr r26, r27
lbl_802D83E0:
/* 802D83E0 002D5320 38 00 00 00 */ li r0, 0
/* 802D83E4 002D5324 90 01 00 08 */ stw r0, 8(r1)
/* 802D83E8 002D5328 7F A3 EB 78 */ mr r3, r29
/* 802D83EC 002D532C 7F E4 FB 78 */ mr r4, r31
/* 802D83F0 002D5330 38 A0 00 01 */ li r5, 1
/* 802D83F4 002D5334 7F 46 D3 78 */ mr r6, r26
/* 802D83F8 002D5338 38 E0 00 00 */ li r7, 0
/* 802D83FC 002D533C 39 00 00 01 */ li r8, 1
/* 802D8400 002D5340 7F C9 F3 78 */ mr r9, r30
/* 802D8404 002D5344 39 40 00 00 */ li r10, 0
/* 802D8408 002D5348 48 00 18 4D */ bl loadToMainRAM__12JKRDvdRipperFlPUc15JKRExpandSwitchUlP7JKRHeapQ212JKRDvdRipper15EAllocDirectionUlPiPUl
/* 802D840C 002D534C 7F E3 FB 78 */ mr r3, r31
/* 802D8410 002D5350 7F 44 D3 78 */ mr r4, r26
/* 802D8414 002D5354 48 06 31 6D */ bl DCInvalidateRange
/* 802D8418 002D5358 7F 43 D3 78 */ mr r3, r26
/* 802D841C 002D535C 48 00 00 40 */ b lbl_802D845C
lbl_802D8420:
/* 802D8420 002D5360 3C 60 80 3A */ lis r3, lbl_8039D1B0@ha
/* 802D8424 002D5364 38 63 D1 B0 */ addi r3, r3, lbl_8039D1B0@l
/* 802D8428 002D5368 38 80 02 89 */ li r4, 0x289
/* 802D842C 002D536C 38 A3 00 12 */ addi r5, r3, 0x12
/* 802D8430 002D5370 38 C3 00 15 */ addi r6, r3, 0x15
/* 802D8434 002D5374 4C C6 31 82 */ crclr 6
/* 802D8438 002D5378 48 00 9D C5 */ bl JUTException_NS_panic_f
lbl_802D843C:
/* 802D843C 002D537C 3C 60 80 3A */ lis r3, lbl_8039D1B0@ha
/* 802D8440 002D5380 38 63 D1 B0 */ addi r3, r3, lbl_8039D1B0@l
/* 802D8444 002D5384 38 80 02 8D */ li r4, 0x28d
/* 802D8448 002D5388 38 A3 00 12 */ addi r5, r3, 0x12
/* 802D844C 002D538C 38 C3 00 3A */ addi r6, r3, 0x3a
/* 802D8450 002D5390 4C C6 31 82 */ crclr 6
/* 802D8454 002D5394 48 00 9D A9 */ bl JUTException_NS_panic_f
/* 802D8458 002D5398 38 60 00 00 */ li r3, 0
lbl_802D845C:
/* 802D845C 002D539C 39 61 00 70 */ addi r11, r1, 0x70
/* 802D8460 002D53A0 48 08 9D BD */ bl _restgpr_26
/* 802D8464 002D53A4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802D8468 002D53A8 7C 08 03 A6 */ mtlr r0
/* 802D846C 002D53AC 38 21 00 70 */ addi r1, r1, 0x70
/* 802D8470 002D53B0 4E 80 00 20 */ blr