mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-10 18:46:45 -04:00
82d5e0f796
* before __register_global_object * JKRThread::sThreadList, JKRHeap::sSystemHeap, etc. * cleanup and started on JKRDvdArchive * before changing JKRCompression * more JKRDvdArchive, abs, and memset * fixed JKRArchive::setExpandSize split * JKRArchive::sCurrentDirID, JKRDvdFile::sDvdList, and matching JKRDvdFile constructors * problems * merge fixes and formatting * updated clang version in clang-format-all to version 10 * Added OSPhysicalToCached and struct for global memory * remove useless __attribute__ * changed from defines and macros to const variable and function * changed FLAG_HAS to FLAG_ON * JKRAram, linking problems * fix JKRAram * remove nonmatching stuff * renamed static data * more static class members * JKRAramStream OK * formatting Co-authored-by: Julgodis <> Co-authored-by: Pheenoh <pheenoh@gmail.com>
102 lines
5.7 KiB
ArmAsm
102 lines
5.7 KiB
ArmAsm
/* JKRDecompressFromDVDToAram__FP10JKRDvdFileUlUlUlUlUlPUl JKRDecompressFromDVDToAram(JKRDvdFile *, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long *) */
|
|
/* JKRDecompressFromDVDToAram */
|
|
/* 802DAFE8 002D7F28 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 802DAFEC 002D7F2C 7C 08 02 A6 */ mflr r0
|
|
/* 802DAFF0 002D7F30 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 802DAFF4 002D7F34 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802DAFF8 002D7F38 48 08 71 D1 */ bl _savegpr_24
|
|
/* 802DAFFC 002D7F3C 7C 79 1B 78 */ mr r25, r3
|
|
/* 802DB000 002D7F40 7C 9A 23 78 */ mr r26, r4
|
|
/* 802DB004 002D7F44 7C BB 2B 78 */ mr r27, r5
|
|
/* 802DB008 002D7F48 7C DC 33 78 */ mr r28, r6
|
|
/* 802DB00C 002D7F4C 7C FD 3B 78 */ mr r29, r7
|
|
/* 802DB010 002D7F50 7D 1E 43 78 */ mr r30, r8
|
|
/* 802DB014 002D7F54 7D 3F 4B 78 */ mr r31, r9
|
|
/* 802DB018 002D7F58 48 06 26 DD */ bl __RAS_OSDisableInterrupts_begin
|
|
/* 802DB01C 002D7F5C 7C 78 1B 78 */ mr r24, r3
|
|
/* 802DB020 002D7F60 88 0D 8F 24 */ lbz r0, lbl_804514A4-_SDA_BASE_(r13)
|
|
/* 802DB024 002D7F64 28 00 00 00 */ cmplwi r0, 0
|
|
/* 802DB028 002D7F68 40 82 00 18 */ bne lbl_802DB040
|
|
/* 802DB02C 002D7F6C 3C 60 80 43 */ lis r3, lbl_804343C0@ha
|
|
/* 802DB030 002D7F70 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
|
|
/* 802DB034 002D7F74 48 06 3F D5 */ bl OSInitMutex
|
|
/* 802DB038 002D7F78 38 00 00 01 */ li r0, 1
|
|
/* 802DB03C 002D7F7C 98 0D 8F 24 */ stb r0, lbl_804514A4-_SDA_BASE_(r13)
|
|
lbl_802DB040:
|
|
/* 802DB040 002D7F80 7F 03 C3 78 */ mr r3, r24
|
|
/* 802DB044 002D7F84 48 06 26 D9 */ bl OSRestoreInterrupts
|
|
/* 802DB048 002D7F88 3C 60 80 43 */ lis r3, lbl_804343C0@ha
|
|
/* 802DB04C 002D7F8C 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
|
|
/* 802DB050 002D7F90 48 06 3F F1 */ bl OSLockMutex
|
|
/* 802DB054 002D7F94 83 0D 83 54 */ lwz r24, lbl_804508D4-_SDA_BASE_(r13)
|
|
/* 802DB058 002D7F98 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
|
/* 802DB05C 002D7F9C 7F 04 C3 78 */ mr r4, r24
|
|
/* 802DB060 002D7FA0 38 A0 00 20 */ li r5, 0x20
|
|
/* 802DB064 002D7FA4 4B FF 34 71 */ bl alloc__7JKRHeapFUli
|
|
/* 802DB068 002D7FA8 90 6D 8E E8 */ stw r3, lbl_80451468-_SDA_BASE_(r13)
|
|
/* 802DB06C 002D7FAC 7C 03 C2 14 */ add r0, r3, r24
|
|
/* 802DB070 002D7FB0 90 0D 8E EC */ stw r0, lbl_8045146C-_SDA_BASE_(r13)
|
|
/* 802DB074 002D7FB4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
|
/* 802DB078 002D7FB8 38 80 11 20 */ li r4, 0x1120
|
|
/* 802DB07C 002D7FBC 38 A0 00 00 */ li r5, 0
|
|
/* 802DB080 002D7FC0 4B FF 34 55 */ bl alloc__7JKRHeapFUli
|
|
/* 802DB084 002D7FC4 90 6D 8E F0 */ stw r3, lbl_80451470-_SDA_BASE_(r13)
|
|
/* 802DB088 002D7FC8 38 03 11 20 */ addi r0, r3, 0x1120
|
|
/* 802DB08C 002D7FCC 90 0D 8E F4 */ stw r0, lbl_80451474-_SDA_BASE_(r13)
|
|
/* 802DB090 002D7FD0 90 6D 8E F8 */ stw r3, lbl_80451478-_SDA_BASE_(r13)
|
|
/* 802DB094 002D7FD4 80 6D 8D F0 */ lwz r3, sSystemHeap__7JKRHeap-_SDA_BASE_(r13)
|
|
/* 802DB098 002D7FD8 38 80 01 00 */ li r4, 0x100
|
|
/* 802DB09C 002D7FDC 38 A0 00 20 */ li r5, 0x20
|
|
/* 802DB0A0 002D7FE0 4B FF 34 35 */ bl alloc__7JKRHeapFUli
|
|
/* 802DB0A4 002D7FE4 90 6D 8E FC */ stw r3, lbl_8045147C-_SDA_BASE_(r13)
|
|
/* 802DB0A8 002D7FE8 38 03 01 00 */ addi r0, r3, 0x100
|
|
/* 802DB0AC 002D7FEC 90 0D 8F 00 */ stw r0, lbl_80451480-_SDA_BASE_(r13)
|
|
/* 802DB0B0 002D7FF0 90 6D 8F 04 */ stw r3, lbl_80451484-_SDA_BASE_(r13)
|
|
/* 802DB0B4 002D7FF4 93 2D 8F 14 */ stw r25, lbl_80451494-_SDA_BASE_(r13)
|
|
/* 802DB0B8 002D7FF8 93 CD 8F 08 */ stw r30, lbl_80451488-_SDA_BASE_(r13)
|
|
/* 802DB0BC 002D7FFC 7C 1E D8 50 */ subf r0, r30, r27
|
|
/* 802DB0C0 002D8000 90 0D 8F 0C */ stw r0, lbl_8045148C-_SDA_BASE_(r13)
|
|
/* 802DB0C4 002D8004 93 AD 8F 18 */ stw r29, lbl_80451498-_SDA_BASE_(r13)
|
|
/* 802DB0C8 002D8008 38 00 00 00 */ li r0, 0
|
|
/* 802DB0CC 002D800C 90 0D 8F 1C */ stw r0, lbl_8045149C-_SDA_BASE_(r13)
|
|
/* 802DB0D0 002D8010 93 8D 8F 20 */ stw r28, lbl_804514A0-_SDA_BASE_(r13)
|
|
/* 802DB0D4 002D8014 28 1F 00 00 */ cmplwi r31, 0
|
|
/* 802DB0D8 002D8018 41 82 00 0C */ beq lbl_802DB0E4
|
|
/* 802DB0DC 002D801C 7F E3 FB 78 */ mr r3, r31
|
|
/* 802DB0E0 002D8020 48 00 00 08 */ b lbl_802DB0E8
|
|
lbl_802DB0E4:
|
|
/* 802DB0E4 002D8024 38 6D 8F 2C */ addi r3, r13, 0x804514AC-0x80458580
|
|
lbl_802DB0E8:
|
|
/* 802DB0E8 002D8028 90 6D 8F 28 */ stw r3, lbl_804514A8-_SDA_BASE_(r13)
|
|
/* 802DB0EC 002D802C 38 00 00 00 */ li r0, 0
|
|
/* 802DB0F0 002D8030 90 03 00 00 */ stw r0, 0(r3)
|
|
/* 802DB0F4 002D8034 48 00 02 F5 */ bl firstSrcData__Fv
|
|
/* 802DB0F8 002D8038 28 03 00 00 */ cmplwi r3, 0
|
|
/* 802DB0FC 002D803C 41 82 00 14 */ beq lbl_802DB110
|
|
/* 802DB100 002D8040 7F 44 D3 78 */ mr r4, r26
|
|
/* 802DB104 002D8044 48 00 00 5D */ bl decompSZS_subroutine__FPUcUl
|
|
/* 802DB108 002D8048 7C 79 1B 78 */ mr r25, r3
|
|
/* 802DB10C 002D804C 48 00 00 08 */ b lbl_802DB114
|
|
lbl_802DB110:
|
|
/* 802DB110 002D8050 3B 20 FF FF */ li r25, -1
|
|
lbl_802DB114:
|
|
/* 802DB114 002D8054 80 6D 8E E8 */ lwz r3, lbl_80451468-_SDA_BASE_(r13)
|
|
/* 802DB118 002D8058 38 80 00 00 */ li r4, 0
|
|
/* 802DB11C 002D805C 4B FF 33 E5 */ bl free__7JKRHeapFPvP7JKRHeap
|
|
/* 802DB120 002D8060 80 6D 8E F0 */ lwz r3, lbl_80451470-_SDA_BASE_(r13)
|
|
/* 802DB124 002D8064 38 80 00 00 */ li r4, 0
|
|
/* 802DB128 002D8068 4B FF 33 D9 */ bl free__7JKRHeapFPvP7JKRHeap
|
|
/* 802DB12C 002D806C 80 6D 8E FC */ lwz r3, lbl_8045147C-_SDA_BASE_(r13)
|
|
/* 802DB130 002D8070 38 80 00 00 */ li r4, 0
|
|
/* 802DB134 002D8074 4B FF 33 CD */ bl free__7JKRHeapFPvP7JKRHeap
|
|
/* 802DB138 002D8078 3C 60 80 43 */ lis r3, lbl_804343C0@ha
|
|
/* 802DB13C 002D807C 38 63 43 C0 */ addi r3, r3, lbl_804343C0@l
|
|
/* 802DB140 002D8080 48 06 3F DD */ bl OSUnlockMutex
|
|
/* 802DB144 002D8084 7F 23 CB 78 */ mr r3, r25
|
|
/* 802DB148 002D8088 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 802DB14C 002D808C 48 08 70 C9 */ bl _restgpr_24
|
|
/* 802DB150 002D8090 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 802DB154 002D8094 7C 08 03 A6 */ mtlr r0
|
|
/* 802DB158 002D8098 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 802DB15C 002D809C 4E 80 00 20 */ blr
|