From fb1217e3f95c64dc5dcc096c246704f26803c2ac Mon Sep 17 00:00:00 2001 From: Jonathan Wase Date: Sat, 5 Dec 2020 18:45:10 +0100 Subject: [PATCH] Types and functions for JKRThread, JKRFile, JKRDvdFile, JKRFileCache... (#17) * Added JSUListIterator and decompiled JKRHeap::dispose_subroutine * JKRDisposer! * only 4 functions not OK in JKRHeap * JKRThread asm functions * more JKRThread * JKRThreadSwitch * JKRThread::JKRThread * More JKRTHread functions and vtable * fixed bad merge * update JKRThread and JKRThreadSwitch to use new virtual inheritance * save before asmsplit.py script * JKRFile * JKRDvdFile * JKRFileCache * JKRFileFinder * JKRFileLoader * JKRAssertHeap * JKRExpHeap * JKRSolidHeap * fixed type and functions definitions * JKRArchive (Pub) * missed file * JKRArchive * forgot obj_files.mk * fixed merge error and class members * class members * removed unused asm files * added names to global variables * class members for JKRHeap, JKRExpHeap, JKRSolidHeap, and JKRFileCache. --- asm/DynamicLink.s | 14 +- asm/J2DGraph/J2DScreen.s | 4 +- asm/JAudio2/JASAudioThread.s | 4 +- asm/JAudio2/JASHeapCtrl.s | 2 +- asm/JAudio2/JASResArcLoader.s | 6 +- asm/JAudio2/JASTaskThread.s | 4 +- asm/JAudio2/JAUInitializer.s | 4 +- asm/JAudio2/JAUSectionHeap.s | 2 +- asm/JFramework/JFWSystem.s | 6 +- asm/JKernel/JKRAram.s | 4 +- asm/JKernel/JKRAramArchive.s | 10 +- asm/JKernel/JKRAramStream.s | 4 +- asm/JKernel/JKRArchivePri.s | 518 +--------- asm/JKernel/JKRArchivePub.s | 841 --------------- asm/JKernel/JKRAssertHeap.s | 10 +- asm/JKernel/JKRCompArchive.s | 10 +- asm/JKernel/JKRDecomp.s | 4 +- asm/JKernel/JKRDvdAramRipper.s | 8 +- asm/JKernel/JKRDvdArchive.s | 8 +- asm/JKernel/JKRDvdFile.s | 398 +------ asm/JKernel/JKRDvdRipper.s | 16 +- asm/JKernel/JKRExpHeap.s | 206 ++-- asm/JKernel/JKRFileCache.s | 974 ------------------ asm/JKernel/JKRFileFinder.s | 243 ----- asm/JKernel/JKRFileLoader.s | 304 +----- asm/JKernel/JKRMemArchive.s | 10 +- asm/JKernel/JKRSolidHeap.s | 597 ----------- asm/JKernel/JKRThread.s | 668 +----------- asm/JUtility/JUTException.s | 4 +- asm/JUtility/JUTResource.s | 6 +- asm/Z2AudioLib/Z2AudioArcLoader.s | 2 +- asm/Z2AudioLib/Z2FxLineMgr.s | 4 +- asm/c/c_dylink.s | 10 +- asm/clib.s | 2 + asm/d/a/d_a_alink.s | 22 +- asm/d/a/d_a_player.s | 2 +- asm/d/com/inf/d_com_inf_game.s | 2 +- asm/d/d_drawlist.s | 2 +- asm/d/d_lib.s | 2 +- asm/d/d_name.s | 4 +- asm/d/d_particle.s | 2 +- asm/d/d_resorce.s | 16 +- asm/d/d_stage.s | 2 +- asm/d/d_timer.s | 2 +- asm/d/file/d_file_select.s | 40 +- asm/d/file/sel/d_file_sel_warning.s | 2 +- asm/d/menu/d_menu_collect.s | 6 +- asm/d/menu/d_menu_dmap.s | 6 +- asm/d/menu/d_menu_fmap.s | 2 +- asm/d/menu/d_menu_fmap2D.s | 4 +- asm/d/menu/d_menu_option.s | 6 +- asm/d/menu/d_menu_save.s | 10 +- asm/d/meter/d_meter_haihai.s | 6 +- asm/d/meter/d_meter_string.s | 2 +- asm/d/meter2/d_meter2_draw.s | 16 +- asm/d/meter2/d_meter2_info.s | 24 +- asm/d/msg/scrn/d_msg_scrn_3select.s | 6 +- asm/d/msg/scrn/d_msg_scrn_arrow.s | 4 +- asm/d/msg/scrn/d_msg_scrn_item.s | 8 +- asm/d/msg/scrn/d_msg_scrn_kanban.s | 4 +- asm/d/msg/scrn/d_msg_scrn_light.s | 4 +- asm/d/msg/scrn/d_msg_scrn_tree.s | 6 +- asm/d/msg/string/d_msg_string_base.s | 2 +- asm/d/s/d_s_logo.s | 4 +- asm/d/s/d_s_name.s | 2 +- asm/d/select/d_select_cursor.s | 8 +- asm/f/op/msg/f_op_msg_mng.s | 2 +- asm/m/Do/dvd/m_Do_dvd_thread.s | 6 +- asm/m/Do/m_Do_DVDError.s | 4 +- asm/m/Do/m_Do_MemCard.s | 4 +- asm/m/Do/m_Do_audio.s | 2 +- asm/m/Do/m_Do_ext.s | 26 +- asm/m/Do/m_Do_machine.s | 4 +- .../JSystem/JKernel/JKRArchive/JKRArchive.h | 118 ++- .../JKernel/JKRArchive/asm/func_802D5778.s | 33 + .../JKernel/JKRArchive/asm/func_802D57E4.s | 27 + .../JKernel/JKRArchive/asm/func_802D5840.s | 40 + .../JKernel/JKRArchive/asm/func_802D58C8.s | 109 ++ .../JKernel/JKRArchive/asm/func_802D5A38.s | 40 + .../JKernel/JKRArchive/asm/func_802D5AC0.s | 34 + .../JKernel/JKRArchive/asm/func_802D5B38.s | 52 + .../JKernel/JKRArchive/asm/func_802D5BE8.s | 37 + .../JKernel/JKRArchive/asm/func_802D5C64.s | 39 + .../JKernel/JKRArchive/asm/func_802D5CE4.s | 25 + .../JKernel/JKRArchive/asm/func_802D5D38.s | 25 + .../JKernel/JKRArchive/asm/func_802D5D8C.s | 48 + .../JKernel/JKRArchive/asm/func_802D5E30.s | 45 + .../JKernel/JKRArchive/asm/func_802D5ECC.s | 33 + .../JKernel/JKRArchive/asm/func_802D5F40.s | 33 + .../JKernel/JKRArchive/asm/func_802D5FB4.s | 40 + .../JKernel/JKRArchive/asm/func_802D603C.s | 28 + .../JKernel/JKRArchive/asm/func_802D609C.s | 19 + .../JKernel/JKRArchive/asm/func_802D60D8.s | 17 + .../JKernel/JKRArchive/asm/func_802D610C.s | 22 + .../JKernel/JKRArchive/asm/func_802D6150.s | 31 + .../JKernel/JKRArchive/asm/func_802D61B0.s | 51 + .../JKernel/JKRArchive/asm/func_802D625C.s | 18 + .../JKernel/JKRArchive/asm/func_802D6294.s | 44 + .../JKernel/JKRArchive/asm/func_802D6334.s | 27 + .../JKernel/JKRArchive/asm/func_802D6394.s | 23 + .../JKernel/JKRArchive/asm/func_802D63E0.s | 20 + .../JKernel/JKRArchive/asm/func_802D641C.s | 62 ++ .../JKernel/JKRArchive/asm/func_802D64F4.s | 51 + .../JKernel/JKRArchive/asm/func_802D65A4.s | 65 ++ .../JKernel/JKRArchive/asm/func_802D6684.s | 13 + .../JKernel/JKRArchive/asm/func_802D66AC.s | 40 + .../JKernel/JKRArchive/asm/func_802D6734.s | 20 + .../JKernel/JKRArchive/asm/func_802D6770.s | 39 + .../JKernel/JKRArchive/asm/func_802D67F4.s | 41 + .../JKernel/JKRArchive/asm/func_802D6884.s | 54 + .../JKernel/JKRArchive/asm/func_802D693C.s | 19 + .../JKernel/JKRArchive/asm/func_802D6978.s | 20 + .../JKernel/JKRAssertHeap/JKRAssertHeap.h | 33 + .../JKernel/JKRAssertHeap/asm/func_802D12C4.s | 17 + .../JKernel/JKRAssertHeap/asm/func_802D1300.s | 29 + .../JKernel/JKRAssertHeap/asm/func_802D1368.s | 34 + .../JKernel/JKRAssertHeap/asm/func_802D13D8.s | 14 + .../JKernel/JKRAssertHeap/asm/func_802D1408.s | 5 + .../JKernel/JKRAssertHeap/asm/func_802D1414.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D141C.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D1424.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D142C.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D1434.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D143C.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D1444.s | 3 + .../JKernel/JKRAssertHeap/asm/func_802D1448.s | 3 + .../JKernel/JKRAssertHeap/asm/func_802D144C.s | 3 + .../JKernel/JKRAssertHeap/asm/func_802D1450.s | 3 + .../JKernel/JKRAssertHeap/asm/func_802D1454.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D145C.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D1464.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D146C.s | 4 + .../JKernel/JKRAssertHeap/asm/func_802D1474.s | 4 + .../JSystem/JKernel/JKRDisposer/JKRDisposer.h | 1 - .../JSystem/JKernel/JKRDvdFile/JKRDvdFile.h | 59 ++ .../JKernel/JKRDvdFile/asm/func_802D9584.s | 31 + .../JKernel/JKRDvdFile/asm/func_802D95F8.s | 46 + .../JKernel/JKRDvdFile/asm/func_802D96A0.s | 46 + .../JKernel/JKRDvdFile/asm/func_802D9748.s | 44 + .../JKernel/JKRDvdFile/asm/func_802D97E4.s | 29 + .../JKernel/JKRDvdFile/asm/func_802D9850.s | 32 + .../JKernel/JKRDvdFile/asm/func_802D98C4.s | 32 + .../JKernel/JKRDvdFile/asm/func_802D9938.s | 35 + .../JKernel/JKRDvdFile/asm/func_802D99B4.s | 50 + .../JKernel/JKRDvdFile/asm/func_802D9A68.s | 4 + .../JKernel/JKRDvdFile/asm/func_802D9A70.s | 23 + .../JKernel/JKRDvdFile/asm/func_802D9AC4.s | 15 + .../JKernel/JKRDvdFile/asm/func_802D9AF8.s | 4 + .../JKernel/JKRDvdFile/asm/func_802D9B00.s | 19 + .../JKernel/JKRDvdFile/asm/func_802D9B44.s | 24 + .../JSystem/JKernel/JKRExpHeap/JKRExpHeap.h | 111 +- .../JKernel/JKRExpHeap/asm/func_802CEDB4.s | 34 + .../JKernel/JKRExpHeap/asm/func_802CEE2C.s | 62 ++ .../JKernel/JKRExpHeap/asm/func_802CEF00.s | 50 + .../JKernel/JKRExpHeap/asm/func_802CEFAC.s | 37 + .../JKernel/JKRExpHeap/asm/func_802CF030.s | 38 + .../JKernel/JKRExpHeap/asm/func_802CF0C0.s | 29 + .../JKernel/JKRExpHeap/asm/func_802CF128.s | 75 ++ .../JKernel/JKRExpHeap/asm/func_802CF234.s | 168 +++ .../JKernel/JKRExpHeap/asm/func_802CF490.s | 67 ++ .../JKernel/JKRExpHeap/asm/func_802CF574.s | 98 ++ .../JKernel/JKRExpHeap/asm/func_802CF6D4.s | 65 ++ .../JKernel/JKRExpHeap/asm/func_802CF7AC.s | 32 + .../JKernel/JKRExpHeap/asm/func_802CF820.s | 33 + .../JKernel/JKRExpHeap/asm/func_802CF89C.s | 39 + .../JKernel/JKRExpHeap/asm/func_802CF924.s | 3 + .../JKernel/JKRExpHeap/asm/func_802CF928.s | 22 + .../JKernel/JKRExpHeap/asm/func_802CF978.s | 121 +++ .../JKernel/JKRExpHeap/asm/func_802CFB24.s | 37 + .../JKernel/JKRExpHeap/asm/func_802CFBA4.s | 32 + .../JKernel/JKRExpHeap/asm/func_802CFC10.s | 34 + .../JKernel/JKRExpHeap/asm/func_802CFC84.s | 29 + .../JKernel/JKRExpHeap/asm/func_802CFCE8.s | 36 + .../JKernel/JKRExpHeap/asm/func_802CFD64.s | 30 + .../JKernel/JKRExpHeap/asm/func_802CFDCC.s | 45 + .../JKernel/JKRExpHeap/asm/func_802CFE68.s | 25 + .../JKernel/JKRExpHeap/asm/func_802CFEB4.s | 18 + .../JKernel/JKRExpHeap/asm/func_802CFEE8.s | 18 + .../JKernel/JKRExpHeap/asm/func_802CFF1C.s | 112 ++ .../JKernel/JKRExpHeap/asm/func_802D00B4.s | 59 ++ .../JKernel/JKRExpHeap/asm/func_802D0190.s | 154 +++ .../JKernel/JKRExpHeap/asm/func_802D03B8.s | 144 +++ .../JKernel/JKRExpHeap/asm/func_802D05CC.s | 158 +++ .../JKernel/JKRExpHeap/asm/func_802D0810.s | 10 + .../JKernel/JKRExpHeap/asm/func_802D0830.s | 20 + .../JKernel/JKRExpHeap/asm/func_802D0874.s | 26 + .../JKernel/JKRExpHeap/asm/func_802D08CC.s | 22 + .../JKernel/JKRExpHeap/asm/func_802D091C.s | 10 + .../JKernel/JKRExpHeap/asm/func_802D0938.s | 50 + .../JKernel/JKRExpHeap/asm/func_802D09E0.s | 15 + .../JKernel/JKRExpHeap/asm/func_802D0A10.s | 5 + .../JKernel/JKRExpHeap/asm/func_802D0A1C.s | 4 + include/JSystem/JKernel/JKRFile/JKRFile.h | 26 + .../JKernel/JKRFile/asm/func_802D9518.s | 14 +- .../JKernel/JKRFileCache/JKRFileCache.h | 50 + .../JKernel/JKRFileCache/asm/func_802D49B4.s | 73 ++ .../JKernel/JKRFileCache/asm/func_802D4AB4.s | 117 +++ .../JKernel/JKRFileCache/asm/func_802D4C70.s | 60 ++ .../JKernel/JKRFileCache/asm/func_802D4D44.s | 41 + .../JKernel/JKRFileCache/asm/func_802D4DD8.s | 70 ++ .../JKernel/JKRFileCache/asm/func_802D4EDC.s | 38 + .../JKernel/JKRFileCache/asm/func_802D4F64.s | 60 ++ .../JKernel/JKRFileCache/asm/func_802D503C.s | 42 + .../JKernel/JKRFileCache/asm/func_802D50D4.s | 41 + .../JKernel/JKRFileCache/asm/func_802D5164.s | 43 + .../JKernel/JKRFileCache/asm/func_802D51F8.s | 35 + .../JKernel/JKRFileCache/asm/func_802D526C.s | 17 + .../JKernel/JKRFileCache/asm/func_802D52A0.s | 36 + .../JKernel/JKRFileCache/asm/func_802D531C.s | 45 + .../JKernel/JKRFileCache/asm/func_802D53B8.s | 15 + .../JKernel/JKRFileCache/asm/func_802D53E4.s | 15 + .../JKernel/JKRFileCache/asm/func_802D5410.s | 74 ++ .../JKernel/JKRFileCache/asm/func_802D551C.s | 71 ++ .../JKernel/JKRFileCache/asm/func_802D5624.s | 22 + .../JKernel/JKRFileCache/asm/func_802D566C.s | 25 + .../JKernel/JKRFileCache/asm/func_802D56C8.s | 13 + .../JKernel/JKRFileCache/asm/func_802D56F4.s | 13 + .../JKernel/JKRFileCache/asm/func_802D5720.s | 13 + .../JKernel/JKRFileCache/asm/func_802D574C.s | 13 + .../JKernel/JKRFileFinder/JKRFileFinder.h | 58 ++ .../JKernel/JKRFileFinder/asm/func_802D4638.s | 37 + .../JKernel/JKRFileFinder/asm/func_802D46C4.s | 46 + .../JKernel/JKRFileFinder/asm/func_802D4770.s | 35 + .../JKernel/JKRFileFinder/asm/func_802D47F4.s | 37 + .../JKernel/JKRFileFinder/asm/func_802D4874.s | 43 + .../JKernel/JKRFileFinder/asm/func_802D4910.s | 21 + .../JKernel/JKRFileFinder/asm/func_802D4958.s | 27 + .../JKernel/JKRFileLoader/JKRFileLoader.h | 49 + .../JKernel/JKRFileLoader/asm/func_802D40F0.s | 24 + .../JKernel/JKRFileLoader/asm/func_802D4148.s | 40 + .../JKernel/JKRFileLoader/asm/func_802D41D4.s | 23 + .../JKernel/JKRFileLoader/asm/func_802D4224.s | 23 + .../JKernel/JKRFileLoader/asm/func_802D4270.s | 44 + .../JKernel/JKRFileLoader/asm/func_802D4308.s | 45 + .../JKernel/JKRFileLoader/asm/func_802D43A0.s | 45 + .../JKernel/JKRFileLoader/asm/func_802D4438.s | 42 + .../JKernel/JKRFileLoader/asm/func_802D44C4.s | 66 ++ .../JKernel/JKRFileLoader/asm/func_802D45A0.s | 19 + .../JKernel/JKRFileLoader/asm/func_802D45E4.s | 24 + include/JSystem/JKernel/JKRHeap/JKRHeap.h | 141 ++- .../JKernel/JKRSolidHeap/JKRSolidHeap.h | 40 +- .../JKernel/JKRSolidHeap/asm/func_802D0A24.s | 51 + .../JKernel/JKRSolidHeap/asm/func_802D0AD0.s | 27 + .../JKernel/JKRSolidHeap/asm/func_802D0B30.s | 25 + .../JKernel/JKRSolidHeap/asm/func_802D0B8C.s | 29 + .../JKernel/JKRSolidHeap/asm/func_802D0BF4.s | 52 + .../JKernel/JKRSolidHeap/asm/func_802D0CB0.s | 49 + .../JKernel/JKRSolidHeap/asm/func_802D0D58.s | 54 + .../JKernel/JKRSolidHeap/asm/func_802D0E20.s | 53 + .../JKernel/JKRSolidHeap/asm/func_802D0EE4.s | 14 + .../JKernel/JKRSolidHeap/asm/func_802D0F14.s | 26 + .../JKernel/JKRSolidHeap/asm/func_802D0F74.s | 40 + .../JKernel/JKRSolidHeap/asm/func_802D1000.s | 3 + .../JKernel/JKRSolidHeap/asm/func_802D1004.s | 15 + .../JKernel/JKRSolidHeap/asm/func_802D1038.s | 15 + .../JKernel/JKRSolidHeap/asm/func_802D106C.s | 39 + .../JKernel/JKRSolidHeap/asm/func_802D10FC.s | 66 ++ .../JKernel/JKRSolidHeap/asm/func_802D11FC.s | 25 + .../JKernel/JKRSolidHeap/asm/func_802D1258.s | 15 + .../JKernel/JKRSolidHeap/asm/func_802D1288.s | 5 + .../JKernel/JKRSolidHeap/asm/func_802D1294.s | 4 + .../JKernel/JKRSolidHeap/asm/func_802D129C.s | 4 + .../JKernel/JKRSolidHeap/asm/func_802D12A4.s | 10 + include/JSystem/JKernel/JKRThread/JKRThread.h | 87 ++ .../JKernel/JKRThread/asm/func_802D1568.s | 43 + .../JKernel/JKRThread/asm/func_802D1610.s | 43 + .../JKernel/JKRThread/asm/func_802D16B8.s | 40 + .../JKernel/JKRThread/asm/func_802D1758.s | 58 ++ .../JKernel/JKRThread/asm/func_802D1830.s | 29 + .../JKernel/JKRThread/asm/func_802D18A4.s | 36 + .../JKernel/JKRThread/asm/func_802D1934.s | 11 + .../JKernel/JKRThread/asm/func_802D1960.s | 18 + .../JKernel/JKRThread/asm/func_802D199C.s | 30 + .../JKernel/JKRThread/asm/func_802D1A14.s | 25 + .../JKernel/JKRThread/asm/func_802D1A70.s | 32 + .../JKernel/JKRThread/asm/func_802D1AE4.s | 113 ++ .../JKernel/JKRThread/asm/func_802D1C74.s | 113 ++ .../JKernel/JKRThread/asm/func_802D1E14.s | 2 + .../JKernel/JKRThread/asm/func_802D1E1C.s | 12 + .../JKernel/JKRThread/asm/func_802D1E4C.s | 19 + include/JSystem/JSupport/JSUList/JSUList.h | 2 +- include/functions.h | 335 +++++- include/m_Do/m_Do_main/asm/func_8000628C.s | 2 +- include/variables.h | 74 +- ldscript.lcf | 100 ++ libs/JSystem/JKernel/JKRArchivePri.cpp | 80 +- libs/JSystem/JKernel/JKRArchivePub.cpp | 118 ++- libs/JSystem/JKernel/JKRAssertHeap.cpp | 103 +- libs/JSystem/JKernel/JKRDvdFile.cpp | 69 +- libs/JSystem/JKernel/JKRExpHeap.cpp | 209 +++- libs/JSystem/JKernel/JKRFile.cpp | 9 +- libs/JSystem/JKernel/JKRFileCache.cpp | 123 ++- libs/JSystem/JKernel/JKRFileFinder.cpp | 39 +- libs/JSystem/JKernel/JKRFileLoader.cpp | 54 +- libs/JSystem/JKernel/JKRHeap.cpp | 23 +- libs/JSystem/JKernel/JKRSolidHeap.cpp | 114 +- libs/JSystem/JKernel/JKRThread.cpp | 148 ++- obj_files.mk | 18 +- src/m_Do/m_Do_main.cpp | 2 +- 299 files changed, 9551 insertions(+), 4958 deletions(-) delete mode 100644 asm/JKernel/JKRArchivePub.s delete mode 100644 asm/JKernel/JKRFileCache.s delete mode 100644 asm/JKernel/JKRFileFinder.s delete mode 100644 asm/JKernel/JKRSolidHeap.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5778.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D57E4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5840.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D58C8.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5A38.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5AC0.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5B38.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5BE8.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5C64.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5CE4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5D38.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5D8C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5E30.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5ECC.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5F40.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D5FB4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D603C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D609C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D60D8.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D610C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6150.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D61B0.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D625C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6294.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6334.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6394.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D63E0.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D641C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D64F4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D65A4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6684.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D66AC.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6734.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6770.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D67F4.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6884.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D693C.s create mode 100644 include/JSystem/JKernel/JKRArchive/asm/func_802D6978.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/JKRAssertHeap.h create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D12C4.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1300.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1368.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D13D8.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1408.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1414.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D141C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1424.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D142C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1434.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D143C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1444.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1448.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D144C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1450.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1454.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D145C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1464.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D146C.s create mode 100644 include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1474.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9584.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9748.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D97E4.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D99B4.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A68.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A70.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AC4.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s create mode 100644 include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B44.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CEFAC.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF030.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF0C0.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF128.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF234.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF490.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF574.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF6D4.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF7AC.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF820.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF924.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF928.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CF978.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFB24.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFBA4.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC10.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC84.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFCE8.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFD64.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFDCC.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFE68.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEB4.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEE8.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802CFF1C.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0190.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D03B8.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D05CC.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0810.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0830.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0874.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D08CC.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D091C.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D09E0.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A10.s create mode 100644 include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A1C.s create mode 100644 include/JSystem/JKernel/JKRFile/JKRFile.h rename asm/JKernel/JKRFile.s => include/JSystem/JKernel/JKRFile/asm/func_802D9518.s (87%) create mode 100644 include/JSystem/JKernel/JKRFileCache/JKRFileCache.h create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4EDC.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D503C.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D50D4.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D5164.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D51F8.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D526C.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D53B8.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D53E4.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D5410.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D5624.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D566C.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D56C8.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D56F4.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D5720.s create mode 100644 include/JSystem/JKernel/JKRFileCache/asm/func_802D574C.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/JKRFileFinder.h create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D4638.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D46C4.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D4770.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D47F4.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D4874.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D4910.s create mode 100644 include/JSystem/JKernel/JKRFileFinder/asm/func_802D4958.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D40F0.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D41D4.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D4224.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D44C4.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s create mode 100644 include/JSystem/JKernel/JKRFileLoader/asm/func_802D45E4.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0AD0.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B30.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B8C.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0BF4.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0CB0.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0D58.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0E20.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0EE4.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F14.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F74.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1000.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1004.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1038.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D106C.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D10FC.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D11FC.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1258.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1288.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1294.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D129C.s create mode 100644 include/JSystem/JKernel/JKRSolidHeap/asm/func_802D12A4.s create mode 100644 include/JSystem/JKernel/JKRThread/JKRThread.h create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1568.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1610.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1758.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1830.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D18A4.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1934.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1960.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D199C.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1A70.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1E14.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1E1C.s create mode 100644 include/JSystem/JKernel/JKRThread/asm/func_802D1E4C.s diff --git a/asm/DynamicLink.s b/asm/DynamicLink.s index 4678545e9d..be8cc85fb4 100644 --- a/asm/DynamicLink.s +++ b/asm/DynamicLink.s @@ -387,7 +387,7 @@ DynamicModuleControl_NS_mountCallback: /* 802626F0 0025F630 38 63 00 E0 */ addi r3, r3, 0xe0 /* 802626F4 0025F634 7F E4 FB 78 */ mr r4, r31 /* 802626F8 0025F638 38 A0 00 00 */ li r5, 0 -/* 802626FC 0025F63C 48 07 22 B9 */ bl JKRFileCache_NS_mount +/* 802626FC 0025F63C 48 07 22 B9 */ bl mount__12JKRFileCacheFPCcP7JKRHeapPCc /* 80262700 0025F640 90 6D 8B C8 */ stw r3, lbl_80451148-_SDA_BASE_(r13) /* 80262704 0025F644 3C 60 80 3A */ lis r3, lbl_8039A4A0@ha /* 80262708 0025F648 38 63 A4 A0 */ addi r3, r3, lbl_8039A4A0@l @@ -395,7 +395,7 @@ DynamicModuleControl_NS_mountCallback: /* 80262710 0025F650 38 80 00 04 */ li r4, 4 /* 80262714 0025F654 7F E5 FB 78 */ mr r5, r31 /* 80262718 0025F658 38 C0 00 01 */ li r6, 1 -/* 8026271C 0025F65C 48 07 30 C9 */ bl JKRArchive_NS_mount +/* 8026271C 0025F65C 48 07 30 C9 */ bl mount__10JKRArchiveFPCcQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection /* 80262720 0025F660 90 6D 8B C4 */ stw r3, lbl_80451144-_SDA_BASE_(r13) /* 80262724 0025F664 28 03 00 00 */ cmplwi r3, 0 /* 80262728 0025F668 40 82 00 1C */ bne lbl_80262744 @@ -500,7 +500,7 @@ lbl_80262844: /* 8026287C 0025F7BC 3C 60 4D 4D */ lis r3, 0x4D4D454D@ha /* 80262880 0025F7C0 38 63 45 4D */ addi r3, r3, 0x4D4D454D@l /* 80262884 0025F7C4 38 81 00 10 */ addi r4, r1, 0x10 -/* 80262888 0025F7C8 48 07 32 B1 */ bl JKRArchive_NS_getGlbResource +/* 80262888 0025F7C8 48 07 32 B1 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8026288C 0025F7CC 90 7C 00 10 */ stw r3, 0x10(r28) /* 80262890 0025F7D0 80 1C 00 10 */ lwz r0, 0x10(r28) /* 80262894 0025F7D4 28 00 00 00 */ cmplwi r0, 0 @@ -515,7 +515,7 @@ lbl_802628A4: /* 802628B4 0025F7F4 38 63 45 4D */ addi r3, r3, 0x414D454D@l /* 802628B8 0025F7F8 38 81 00 10 */ addi r4, r1, 0x10 /* 802628BC 0025F7FC 80 AD 8B C4 */ lwz r5, lbl_80451144-_SDA_BASE_(r13) -/* 802628C0 0025F800 48 07 32 79 */ bl JKRArchive_NS_getGlbResource +/* 802628C0 0025F800 48 07 32 79 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 802628C4 0025F804 90 7C 00 10 */ stw r3, 0x10(r28) /* 802628C8 0025F808 80 1C 00 10 */ lwz r0, 0x10(r28) /* 802628CC 0025F80C 28 00 00 00 */ cmplwi r0, 0 @@ -530,7 +530,7 @@ lbl_802628DC: /* 802628EC 0025F82C 38 63 45 4D */ addi r3, r3, 0x444D454D@l /* 802628F0 0025F830 38 81 00 10 */ addi r4, r1, 0x10 /* 802628F4 0025F834 80 AD 8B C4 */ lwz r5, lbl_80451144-_SDA_BASE_(r13) -/* 802628F8 0025F838 48 07 32 41 */ bl JKRArchive_NS_getGlbResource +/* 802628F8 0025F838 48 07 32 41 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 802628FC 0025F83C 90 7C 00 10 */ stw r3, 0x10(r28) /* 80262900 0025F840 80 1C 00 10 */ lwz r0, 0x10(r28) /* 80262904 0025F844 28 00 00 00 */ cmplwi r0, 0 @@ -549,7 +549,7 @@ lbl_80262914: /* 80262934 0025F874 90 7C 00 24 */ stw r3, 0x24(r28) /* 80262938 0025F878 80 7C 00 10 */ lwz r3, 0x10(r28) /* 8026293C 0025F87C 38 80 00 00 */ li r4, 0 -/* 80262940 0025F880 48 07 1A 61 */ bl JKRFileLoader_NS_detachResource +/* 80262940 0025F880 48 07 1A 61 */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader /* 80262944 0025F884 48 00 00 D4 */ b lbl_80262A18 lbl_80262948: /* 80262948 0025F888 40 82 00 70 */ bne lbl_802629B8 @@ -604,7 +604,7 @@ lbl_802629B8: /* 80262A08 0025F948 98 1C 00 20 */ stb r0, 0x20(r28) /* 80262A0C 0025F94C 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80262A10 0025F950 38 80 00 00 */ li r4, 0 -/* 80262A14 0025F954 48 07 19 8D */ bl JKRFileLoader_NS_detachResource +/* 80262A14 0025F954 48 07 19 8D */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader lbl_80262A18: /* 80262A18 0025F958 80 7C 00 10 */ lwz r3, 0x10(r28) /* 80262A1C 0025F95C 28 03 00 00 */ cmplwi r3, 0 diff --git a/asm/J2DGraph/J2DScreen.s b/asm/J2DGraph/J2DScreen.s index bf5fcbbc1a..b9b6af9f51 100644 --- a/asm/J2DGraph/J2DScreen.s +++ b/asm/J2DGraph/J2DScreen.s @@ -138,7 +138,7 @@ J2DScreen_NS_setPriority: lbl_802F8674: /* 802F8674 002F55B4 7C 83 23 78 */ mr r3, r4 /* 802F8678 002F55B8 7F E4 FB 78 */ mr r4, r31 -/* 802F867C 002F55BC 4B FD BB F5 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802F867C 002F55BC 4B FD BB F5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802F8680 002F55C0 7C 7C 1B 79 */ or. r28, r3, r3 /* 802F8684 002F55C4 41 82 00 A8 */ beq lbl_802F872C /* 802F8688 002F55C8 7F E3 FB 78 */ mr r3, r31 @@ -1270,7 +1270,7 @@ J2DScreen_NS_getNameResource: /* 802F964C 002F658C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802F9650 002F6590 7C 7F 1B 78 */ mr r31, r3 /* 802F9654 002F6594 38 80 00 00 */ li r4, 0 -/* 802F9658 002F6598 4B FD AC 19 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802F9658 002F6598 4B FD AC 19 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802F965C 002F659C 28 03 00 00 */ cmplwi r3, 0 /* 802F9660 002F65A0 40 82 00 1C */ bne lbl_802F967C /* 802F9664 002F65A4 80 0D 90 10 */ lwz r0, lbl_80451590-_SDA_BASE_(r13) diff --git a/asm/JAudio2/JASAudioThread.s b/asm/JAudio2/JASAudioThread.s index ae5ab3e7f3..2553c5ca3d 100644 --- a/asm/JAudio2/JASAudioThread.s +++ b/asm/JAudio2/JASAudioThread.s @@ -15,7 +15,7 @@ JASAudioThread: /* 8029CCF8 00299C38 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13) /* 8029CCFC 00299C3C 7C C5 33 78 */ mr r5, r6 /* 8029CD00 00299C40 7C 06 03 78 */ mr r6, r0 -/* 8029CD04 00299C44 48 03 49 0D */ bl JKRThread_X1_ +/* 8029CD04 00299C44 48 03 49 0D */ bl __ct__9JKRThreadFP7JKRHeapUlii /* 8029CD08 00299C48 34 7F 00 7C */ addic. r3, r31, 0x7c /* 8029CD0C 00299C4C 41 82 00 08 */ beq lbl_8029CD14 /* 8029CD10 00299C50 38 63 FF 84 */ addi r3, r3, -124 @@ -272,7 +272,7 @@ lbl_8029D068: lbl_8029D07C: /* 8029D07C 00299FBC 7F C3 F3 78 */ mr r3, r30 /* 8029D080 00299FC0 38 80 00 00 */ li r4, 0 -/* 8029D084 00299FC4 48 03 46 D5 */ bl JKRThread_NS_dtor +/* 8029D084 00299FC4 48 03 46 D5 */ bl __dt__9JKRThreadFv /* 8029D088 00299FC8 7F E0 07 35 */ extsh. r0, r31 /* 8029D08C 00299FCC 40 81 00 0C */ ble lbl_8029D098 /* 8029D090 00299FD0 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JAudio2/JASHeapCtrl.s b/asm/JAudio2/JASHeapCtrl.s index db3e291d4c..4816606a39 100644 --- a/asm/JAudio2/JASHeapCtrl.s +++ b/asm/JAudio2/JASHeapCtrl.s @@ -646,7 +646,7 @@ JASKernel_NS_setupRootHeap: /* 802909D0 0028D910 7C 83 23 78 */ mr r3, r4 /* 802909D4 0028D914 7F A4 EB 78 */ mr r4, r29 /* 802909D8 0028D918 38 A0 00 00 */ li r5, 0 -/* 802909DC 0028D91C 48 03 E4 51 */ bl JKRExpHeap_NS_create +/* 802909DC 0028D91C 48 03 E4 51 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 802909E0 0028D920 90 6D 8C 98 */ stw r3, lbl_80451218-_SDA_BASE_(r13) /* 802909E4 0028D924 38 60 00 1C */ li r3, 0x1c /* 802909E8 0028D928 7F A4 EB 78 */ mr r4, r29 diff --git a/asm/JAudio2/JASResArcLoader.s b/asm/JAudio2/JASResArcLoader.s index 3b7ae6af4c..bf70fc2422 100644 --- a/asm/JAudio2/JASResArcLoader.s +++ b/asm/JAudio2/JASResArcLoader.s @@ -8,7 +8,7 @@ JASResArcLoader_NS_getResSize: /* 80290BD0 0028DB10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80290BD4 0028DB14 7C 08 02 A6 */ mflr r0 /* 80290BD8 0028DB18 90 01 00 14 */ stw r0, 0x14(r1) -/* 80290BDC 0028DB1C 48 04 5B 95 */ bl JKRArchive_NS_findIdResource +/* 80290BDC 0028DB1C 48 04 5B 95 */ bl findIdResource__10JKRArchiveCFUs /* 80290BE0 0028DB20 28 03 00 00 */ cmplwi r3, 0 /* 80290BE4 0028DB24 40 82 00 0C */ bne lbl_80290BF0 /* 80290BE8 0028DB28 38 60 00 00 */ li r3, 0 @@ -37,7 +37,7 @@ JASResArcLoader_NS_getResMaxSize: lbl_80290C30: /* 80290C30 0028DB70 7F 83 E3 78 */ mr r3, r28 /* 80290C34 0028DB74 7F A4 EB 78 */ mr r4, r29 -/* 80290C38 0028DB78 48 04 5A 4D */ bl JKRArchive_NS_findIdxResource +/* 80290C38 0028DB78 48 04 5A 4D */ bl findIdxResource__10JKRArchiveCFUl /* 80290C3C 0028DB7C 28 03 00 00 */ cmplwi r3, 0 /* 80290C40 0028DB80 41 82 00 14 */ beq lbl_80290C54 /* 80290C44 0028DB84 80 03 00 0C */ lwz r0, 0xc(r3) @@ -68,7 +68,7 @@ JASResArcLoader_NS_loadResourceCallback: /* 80290C98 0028DBD8 80 9E 00 08 */ lwz r4, 8(r30) /* 80290C9C 0028DBDC 80 BE 00 0C */ lwz r5, 0xc(r30) /* 80290CA0 0028DBE0 A0 DE 00 04 */ lhz r6, 4(r30) -/* 80290CA4 0028DBE4 48 04 52 9D */ bl JKRArchive_NS_readResource_X2_ +/* 80290CA4 0028DBE4 48 04 52 9D */ bl readResource__10JKRArchiveFPvUlUs /* 80290CA8 0028DBE8 7C 7F 1B 78 */ mr r31, r3 /* 80290CAC 0028DBEC 81 9E 00 10 */ lwz r12, 0x10(r30) /* 80290CB0 0028DBF0 28 0C 00 00 */ cmplwi r12, 0 diff --git a/asm/JAudio2/JASTaskThread.s b/asm/JAudio2/JASTaskThread.s index fda898de42..1aa2b948db 100644 --- a/asm/JAudio2/JASTaskThread.s +++ b/asm/JAudio2/JASTaskThread.s @@ -15,7 +15,7 @@ JASTaskThread: /* 8028F6E0 0028C620 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13) /* 8028F6E4 0028C624 7C C5 33 78 */ mr r5, r6 /* 8028F6E8 0028C628 7C 06 03 78 */ mr r6, r0 -/* 8028F6EC 0028C62C 48 04 1F 25 */ bl JKRThread_X1_ +/* 8028F6EC 0028C62C 48 04 1F 25 */ bl __ct__9JKRThreadFP7JKRHeapUlii /* 8028F6F0 0028C630 3C 60 80 3C */ lis r3, lbl_803C5B58@ha /* 8028F6F4 0028C634 38 03 5B 58 */ addi r0, r3, lbl_803C5B58@l /* 8028F6F8 0028C638 90 1F 00 00 */ stw r0, 0(r31) @@ -100,7 +100,7 @@ lbl_8028F804: lbl_8028F818: /* 8028F818 0028C758 7F C3 F3 78 */ mr r3, r30 /* 8028F81C 0028C75C 38 80 00 00 */ li r4, 0 -/* 8028F820 0028C760 48 04 1F 39 */ bl JKRThread_NS_dtor +/* 8028F820 0028C760 48 04 1F 39 */ bl __dt__9JKRThreadFv /* 8028F824 0028C764 7F E0 07 35 */ extsh. r0, r31 /* 8028F828 0028C768 40 81 00 0C */ ble lbl_8028F834 /* 8028F82C 0028C76C 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JAudio2/JAUInitializer.s b/asm/JAudio2/JAUInitializer.s index 40d8d58f1c..278feba4cc 100644 --- a/asm/JAudio2/JAUInitializer.s +++ b/asm/JAudio2/JAUInitializer.s @@ -138,14 +138,14 @@ lbl_802A4C74: /* 802A4CA8 002A1BE8 7C 64 1B 78 */ mr r4, r3 /* 802A4CAC 002A1BEC 7F C3 F3 78 */ mr r3, r30 /* 802A4CB0 002A1BF0 7F A5 EB 78 */ mr r5, r29 -/* 802A4CB4 002A1BF4 48 02 CD BD */ bl JKRThreadSwitch_NS_enter +/* 802A4CB4 002A1BF4 48 02 CD BD */ bl enter__15JKRThreadSwitchFP9JKRThreadi lbl_802A4CB8: /* 802A4CB8 002A1BF8 80 BF 00 18 */ lwz r5, 0x18(r31) /* 802A4CBC 002A1BFC 2C 05 00 00 */ cmpwi r5, 0 /* 802A4CC0 002A1C00 41 80 00 10 */ blt lbl_802A4CD0 /* 802A4CC4 002A1C04 7F C3 F3 78 */ mr r3, r30 /* 802A4CC8 002A1C08 80 8D 86 0C */ lwz r4, lbl_80450B8C-_SDA_BASE_(r13) -/* 802A4CCC 002A1C0C 48 02 CD A5 */ bl JKRThreadSwitch_NS_enter +/* 802A4CCC 002A1C0C 48 02 CD A5 */ bl enter__15JKRThreadSwitchFP9JKRThreadi lbl_802A4CD0: /* 802A4CD0 002A1C10 C0 3F 00 2C */ lfs f1, 0x2c(r31) /* 802A4CD4 002A1C14 4B FF 94 5D */ bl JASDriver_NS_setDSPLevel diff --git a/asm/JAudio2/JAUSectionHeap.s b/asm/JAudio2/JAUSectionHeap.s index 6fc1f671a9..2aa1821810 100644 --- a/asm/JAudio2/JAUSectionHeap.s +++ b/asm/JAudio2/JAUSectionHeap.s @@ -1225,7 +1225,7 @@ JAUNewSectionHeap_X1_: /* 802A5FB4 002A2EF4 48 02 87 79 */ bl getFreeSize__7JKRHeapFv /* 802A5FB8 002A2EF8 80 8D 8C 90 */ lwz r4, lbl_80451210-_SDA_BASE_(r13) /* 802A5FBC 002A2EFC 38 A0 00 01 */ li r5, 1 -/* 802A5FC0 002A2F00 48 02 AA 65 */ bl JKRSolidHeap_NS_create +/* 802A5FC0 002A2F00 48 02 AA 65 */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 802A5FC4 002A2F04 7F E4 FB 78 */ mr r4, r31 /* 802A5FC8 002A2F08 4B FF FF 5D */ bl JAUNewSectionHeap /* 802A5FCC 002A2F0C 83 E1 00 0C */ lwz r31, 0xc(r1) diff --git a/asm/JFramework/JFWSystem.s b/asm/JFramework/JFWSystem.s index f58e9ac3b6..f995e1dfd3 100644 --- a/asm/JFramework/JFWSystem.s +++ b/asm/JFramework/JFWSystem.s @@ -12,12 +12,12 @@ JFWSystem_NS_firstInit: /* 80271CE0 0026EC20 48 0D 74 11 */ bl DVDInit /* 80271CE4 0026EC24 80 6D 81 F0 */ lwz r3, lbl_80450770-_SDA_BASE_(r13) /* 80271CE8 0026EC28 38 80 00 00 */ li r4, 0 -/* 80271CEC 0026EC2C 48 05 D0 C9 */ bl JKRExpHeap_NS_createRoot +/* 80271CEC 0026EC2C 48 05 D0 C9 */ bl createRoot__10JKRExpHeapFib /* 80271CF0 0026EC30 7C 64 1B 78 */ mr r4, r3 /* 80271CF4 0026EC34 90 8D 8C 20 */ stw r4, lbl_804511A0-_SDA_BASE_(r13) /* 80271CF8 0026EC38 80 6D 81 F4 */ lwz r3, lbl_80450774-_SDA_BASE_(r13) /* 80271CFC 0026EC3C 38 A0 00 00 */ li r5, 0 -/* 80271D00 0026EC40 48 05 D1 2D */ bl JKRExpHeap_NS_create +/* 80271D00 0026EC40 48 05 D1 2D */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 80271D04 0026EC44 90 6D 8C 24 */ stw r3, lbl_804511A4-_SDA_BASE_(r13) /* 80271D08 0026EC48 80 01 00 14 */ lwz r0, 0x14(r1) /* 80271D0C 0026EC4C 7C 08 03 A6 */ mtlr r0 @@ -54,7 +54,7 @@ lbl_80271D44: /* 80271D78 0026ECB8 7C 64 1B 78 */ mr r4, r3 /* 80271D7C 0026ECBC 7F E3 FB 78 */ mr r3, r31 /* 80271D80 0026ECC0 38 A0 00 04 */ li r5, 4 -/* 80271D84 0026ECC4 48 05 F9 35 */ bl JKRThread_X2_ +/* 80271D84 0026ECC4 48 05 F9 35 */ bl __ct__9JKRThreadFP8OSThreadi /* 80271D88 0026ECC8 7C 7F 1B 78 */ mr r31, r3 lbl_80271D8C: /* 80271D8C 0026ECCC 93 ED 8C 28 */ stw r31, lbl_804511A8-_SDA_BASE_(r13) diff --git a/asm/JKernel/JKRAram.s b/asm/JKernel/JKRAram.s index 43ea518d88..d5ff50a252 100644 --- a/asm/JKernel/JKRAram.s +++ b/asm/JKernel/JKRAram.s @@ -59,7 +59,7 @@ JKRAram: /* 802D205C 002CEF9C 7C BE 2B 78 */ mr r30, r5 /* 802D2060 002CEFA0 38 80 0C 00 */ li r4, 0xc00 /* 802D2064 002CEFA4 38 A0 00 10 */ li r5, 0x10 -/* 802D2068 002CEFA8 4B FF F5 01 */ bl JKRThread +/* 802D2068 002CEFA8 4B FF F5 01 */ bl __ct__9JKRThreadFUlii /* 802D206C 002CEFAC 3C 60 80 3D */ lis r3, lbl_803CC158@ha /* 802D2070 002CEFB0 38 03 C1 58 */ addi r0, r3, lbl_803CC158@l /* 802D2074 002CEFB4 90 1C 00 00 */ stw r0, 0(r28) @@ -146,7 +146,7 @@ lbl_802D212C: lbl_802D21A4: /* 802D21A4 002CF0E4 7F C3 F3 78 */ mr r3, r30 /* 802D21A8 002CF0E8 38 80 00 00 */ li r4, 0 -/* 802D21AC 002CF0EC 4B FF F5 AD */ bl JKRThread_NS_dtor +/* 802D21AC 002CF0EC 4B FF F5 AD */ bl __dt__9JKRThreadFv /* 802D21B0 002CF0F0 7F E0 07 35 */ extsh. r0, r31 /* 802D21B4 002CF0F4 40 81 00 0C */ ble lbl_802D21C0 /* 802D21B8 002CF0F8 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JKernel/JKRAramArchive.s b/asm/JKernel/JKRAramArchive.s index 6c2f9cc79e..b49242c1da 100644 --- a/asm/JKernel/JKRAramArchive.s +++ b/asm/JKernel/JKRAramArchive.s @@ -14,7 +14,7 @@ JKRAramArchive: /* 802D70D8 002D4018 7C 9E 23 78 */ mr r30, r4 /* 802D70DC 002D401C 7C BF 2B 78 */ mr r31, r5 /* 802D70E0 002D4020 38 A0 00 02 */ li r5, 2 -/* 802D70E4 002D4024 4B FF F1 B1 */ bl JKRArchive +/* 802D70E4 002D4024 4B FF F1 B1 */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode /* 802D70E8 002D4028 3C 60 80 3D */ lis r3, lbl_803CC348@ha /* 802D70EC 002D402C 38 03 C3 48 */ addi r0, r3, lbl_803CC348@l /* 802D70F0 002D4030 90 1D 00 00 */ stw r0, 0(r29) @@ -125,7 +125,7 @@ lbl_802D7258: lbl_802D7270: /* 802D7270 002D41B0 7F C3 F3 78 */ mr r3, r30 /* 802D7274 002D41B4 38 80 00 00 */ li r4, 0 -/* 802D7278 002D41B8 4B FF F0 BD */ bl JKRArchive_NS_dtor +/* 802D7278 002D41B8 4B FF F0 BD */ bl __dt__10JKRArchiveFv /* 802D727C 002D41BC 7F E0 07 35 */ extsh. r0, r31 /* 802D7280 002D41C0 40 81 00 0C */ ble lbl_802D728C /* 802D7284 002D41C4 7F C3 F3 78 */ mr r3, r30 @@ -166,7 +166,7 @@ lbl_802D72F8: /* 802D72FC 002D423C 7C 60 1B 79 */ or. r0, r3, r3 /* 802D7300 002D4240 41 82 00 10 */ beq lbl_802D7310 /* 802D7304 002D4244 7F 84 E3 78 */ mr r4, r28 -/* 802D7308 002D4248 48 00 23 99 */ bl JKRDvdFile_X2_ +/* 802D7308 002D4248 48 00 23 99 */ bl __ct__10JKRDvdFileFl /* 802D730C 002D424C 7C 60 1B 78 */ mr r0, r3 lbl_802D7310: /* 802D7310 002D4250 90 1F 00 68 */ stw r0, 0x68(r31) @@ -540,7 +540,7 @@ JKRAramArchive_NS_getAramAddress: /* 802D7828 002D4768 93 E1 00 0C */ stw r31, 0xc(r1) /* 802D782C 002D476C 7C 7F 1B 78 */ mr r31, r3 /* 802D7830 002D4770 38 A0 00 00 */ li r5, 0 -/* 802D7834 002D4774 4B FF ED 71 */ bl JKRArchive_NS_findFsResource +/* 802D7834 002D4774 4B FF ED 71 */ bl findFsResource__10JKRArchiveCFPCcUl /* 802D7838 002D4778 7C 64 1B 78 */ mr r4, r3 /* 802D783C 002D477C 7F E3 FB 78 */ mr r3, r31 /* 802D7840 002D4780 4B FF FF B9 */ bl JKRAramArchive_NS_getAramAddress_Entry @@ -711,7 +711,7 @@ lbl_802D7A4C: /* 802D7A98 002D49D8 4E 80 04 21 */ bctrl /* 802D7A9C 002D49DC 48 00 00 DC */ b lbl_802D7B78 lbl_802D7AA0: -/* 802D7AA0 002D49E0 4B FF EC 95 */ bl JKRArchive_NS_findPtrResource +/* 802D7AA0 002D49E0 4B FF EC 95 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D7AA4 002D49E4 7C 7D 1B 79 */ or. r29, r3, r3 /* 802D7AA8 002D49E8 40 82 00 0C */ bne lbl_802D7AB4 /* 802D7AAC 002D49EC 38 60 FF FF */ li r3, -1 diff --git a/asm/JKernel/JKRAramStream.s b/asm/JKernel/JKRAramStream.s index 4c79420444..3373572a4d 100644 --- a/asm/JKernel/JKRAramStream.s +++ b/asm/JKernel/JKRAramStream.s @@ -46,7 +46,7 @@ JKRAramStream: /* 802D3BCC 002D0B0C 7C 86 23 78 */ mr r6, r4 /* 802D3BD0 002D0B10 38 80 0C 00 */ li r4, 0xc00 /* 802D3BD4 002D0B14 38 A0 00 10 */ li r5, 0x10 -/* 802D3BD8 002D0B18 4B FF D9 91 */ bl JKRThread +/* 802D3BD8 002D0B18 4B FF D9 91 */ bl __ct__9JKRThreadFUlii /* 802D3BDC 002D0B1C 3C 60 80 3D */ lis r3, lbl_803CC1B8@ha /* 802D3BE0 002D0B20 38 03 C1 B8 */ addi r0, r3, lbl_803CC1B8@l /* 802D3BE4 002D0B24 90 1F 00 00 */ stw r0, 0(r31) @@ -70,7 +70,7 @@ JKRAramStream: /* 802D3C2C 002D0B6C 38 04 C1 B8 */ addi r0, r4, lbl_803CC1B8@l /* 802D3C30 002D0B70 90 1E 00 00 */ stw r0, 0(r30) /* 802D3C34 002D0B74 38 80 00 00 */ li r4, 0 -/* 802D3C38 002D0B78 4B FF DB 21 */ bl JKRThread_NS_dtor +/* 802D3C38 002D0B78 4B FF DB 21 */ bl __dt__9JKRThreadFv /* 802D3C3C 002D0B7C 7F E0 07 35 */ extsh. r0, r31 /* 802D3C40 002D0B80 40 81 00 0C */ ble lbl_802D3C4C /* 802D3C44 002D0B84 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JKernel/JKRArchivePri.s b/asm/JKernel/JKRArchivePri.s index cc36f82e8e..3351e79757 100644 --- a/asm/JKernel/JKRArchivePri.s +++ b/asm/JKernel/JKRArchivePri.s @@ -1,519 +1,7 @@ .include "macros.inc" -.section .text, "ax" # 802d6294 - - -.global JKRArchive -JKRArchive: -/* 802D6294 002D31D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D6298 002D31D8 7C 08 02 A6 */ mflr r0 -/* 802D629C 002D31DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D62A0 002D31E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D62A4 002D31E4 48 08 BF 39 */ bl _savegpr_29 -/* 802D62A8 002D31E8 7C 7D 1B 78 */ mr r29, r3 -/* 802D62AC 002D31EC 7C 9E 23 78 */ mr r30, r4 -/* 802D62B0 002D31F0 7C BF 2B 78 */ mr r31, r5 -/* 802D62B4 002D31F4 4B FF DE 3D */ bl JKRFileLoader -/* 802D62B8 002D31F8 3C 60 80 3D */ lis r3, lbl_803CC288@ha -/* 802D62BC 002D31FC 38 03 C2 88 */ addi r0, r3, lbl_803CC288@l -/* 802D62C0 002D3200 90 1D 00 00 */ stw r0, 0(r29) -/* 802D62C4 002D3204 38 00 00 00 */ li r0, 0 -/* 802D62C8 002D3208 98 1D 00 30 */ stb r0, 0x30(r29) -/* 802D62CC 002D320C 9B FD 00 3C */ stb r31, 0x3c(r29) -/* 802D62D0 002D3210 38 00 00 01 */ li r0, 1 -/* 802D62D4 002D3214 90 1D 00 34 */ stw r0, 0x34(r29) -/* 802D62D8 002D3218 90 1D 00 58 */ stw r0, 0x58(r29) -/* 802D62DC 002D321C 7F A3 EB 78 */ mr r3, r29 -/* 802D62E0 002D3220 4B FF 85 5D */ bl findFromRoot__7JKRHeapFPv -/* 802D62E4 002D3224 90 7D 00 38 */ stw r3, 0x38(r29) -/* 802D62E8 002D3228 80 1D 00 38 */ lwz r0, 0x38(r29) -/* 802D62EC 002D322C 28 00 00 00 */ cmplwi r0, 0 -/* 802D62F0 002D3230 40 82 00 0C */ bne lbl_802D62FC -/* 802D62F4 002D3234 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) -/* 802D62F8 002D3238 90 1D 00 38 */ stw r0, 0x38(r29) -lbl_802D62FC: -/* 802D62FC 002D323C 93 DD 00 40 */ stw r30, 0x40(r29) -/* 802D6300 002D3240 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13) -/* 802D6304 002D3244 28 00 00 00 */ cmplwi r0, 0 -/* 802D6308 002D3248 40 82 00 10 */ bne lbl_802D6318 -/* 802D630C 002D324C 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13) -/* 802D6310 002D3250 38 00 00 00 */ li r0, 0 -/* 802D6314 002D3254 90 0D 8E A0 */ stw r0, lbl_80451420-_SDA_BASE_(r13) -lbl_802D6318: -/* 802D6318 002D3258 7F A3 EB 78 */ mr r3, r29 -/* 802D631C 002D325C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6320 002D3260 48 08 BF 09 */ bl _restgpr_29 -/* 802D6324 002D3264 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D6328 002D3268 7C 08 03 A6 */ mtlr r0 -/* 802D632C 002D326C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D6330 002D3270 4E 80 00 20 */ blr - -.global JKRArchive_NS_dtor -JKRArchive_NS_dtor: -/* 802D6334 002D3274 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D6338 002D3278 7C 08 02 A6 */ mflr r0 -/* 802D633C 002D327C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D6340 002D3280 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D6344 002D3284 93 C1 00 08 */ stw r30, 8(r1) -/* 802D6348 002D3288 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D634C 002D328C 7C 9F 23 78 */ mr r31, r4 -/* 802D6350 002D3290 41 82 00 28 */ beq lbl_802D6378 -/* 802D6354 002D3294 3C 80 80 3D */ lis r4, lbl_803CC288@ha -/* 802D6358 002D3298 38 04 C2 88 */ addi r0, r4, lbl_803CC288@l -/* 802D635C 002D329C 90 1E 00 00 */ stw r0, 0(r30) -/* 802D6360 002D32A0 38 80 00 00 */ li r4, 0 -/* 802D6364 002D32A4 4B FF DD E5 */ bl JKRFileLoader_NS_dtor -/* 802D6368 002D32A8 7F E0 07 35 */ extsh. r0, r31 -/* 802D636C 002D32AC 40 81 00 0C */ ble lbl_802D6378 -/* 802D6370 002D32B0 7F C3 F3 78 */ mr r3, r30 -/* 802D6374 002D32B4 4B FF 89 C9 */ bl __dl__FPv -lbl_802D6378: -/* 802D6378 002D32B8 7F C3 F3 78 */ mr r3, r30 -/* 802D637C 002D32BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D6380 002D32C0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D6384 002D32C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D6388 002D32C8 7C 08 03 A6 */ mtlr r0 -/* 802D638C 002D32CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D6390 002D32D0 4E 80 00 20 */ blr - -.global JKRArchive_NS_isSameName -JKRArchive_NS_isSameName: -/* 802D6394 002D32D4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D6398 002D32D8 7C 08 02 A6 */ mflr r0 -/* 802D639C 002D32DC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D63A0 002D32E0 A0 E4 00 00 */ lhz r7, 0(r4) -/* 802D63A4 002D32E4 54 C0 04 3E */ clrlwi r0, r6, 0x10 -/* 802D63A8 002D32E8 7C 07 00 40 */ cmplw r7, r0 -/* 802D63AC 002D32EC 41 82 00 0C */ beq lbl_802D63B8 -/* 802D63B0 002D32F0 38 60 00 00 */ li r3, 0 -/* 802D63B4 002D32F4 48 00 00 1C */ b lbl_802D63D0 -lbl_802D63B8: -/* 802D63B8 002D32F8 80 03 00 54 */ lwz r0, 0x54(r3) -/* 802D63BC 002D32FC 7C 60 2A 14 */ add r3, r0, r5 -/* 802D63C0 002D3300 38 84 00 04 */ addi r4, r4, 4 -/* 802D63C4 002D3304 48 09 25 D1 */ bl strcmp -/* 802D63C8 002D3308 7C 60 00 34 */ cntlzw r0, r3 -/* 802D63CC 002D330C 54 03 D9 7E */ srwi r3, r0, 5 -lbl_802D63D0: -/* 802D63D0 002D3310 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D63D4 002D3314 7C 08 03 A6 */ mtlr r0 -/* 802D63D8 002D3318 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D63DC 002D331C 4E 80 00 20 */ blr - -.global JKRArchive_NS_findResType -JKRArchive_NS_findResType: -/* 802D63E0 002D3320 80 A3 00 48 */ lwz r5, 0x48(r3) -/* 802D63E4 002D3324 80 63 00 44 */ lwz r3, 0x44(r3) -/* 802D63E8 002D3328 80 03 00 00 */ lwz r0, 0(r3) -/* 802D63EC 002D332C 7C 09 03 A6 */ mtctr r0 -/* 802D63F0 002D3330 28 00 00 00 */ cmplwi r0, 0 -/* 802D63F4 002D3334 40 81 00 20 */ ble lbl_802D6414 -lbl_802D63F8: -/* 802D63F8 002D3338 80 05 00 00 */ lwz r0, 0(r5) -/* 802D63FC 002D333C 7C 00 20 40 */ cmplw r0, r4 -/* 802D6400 002D3340 40 82 00 0C */ bne lbl_802D640C -/* 802D6404 002D3344 7C A3 2B 78 */ mr r3, r5 -/* 802D6408 002D3348 4E 80 00 20 */ blr -lbl_802D640C: -/* 802D640C 002D334C 38 A5 00 10 */ addi r5, r5, 0x10 -/* 802D6410 002D3350 42 00 FF E8 */ bdnz lbl_802D63F8 -lbl_802D6414: -/* 802D6414 002D3354 38 60 00 00 */ li r3, 0 -/* 802D6418 002D3358 4E 80 00 20 */ blr - -.global JKRArchive_NS_findDirectory -JKRArchive_NS_findDirectory: -/* 802D641C 002D335C 94 21 FE D0 */ stwu r1, -0x130(r1) -/* 802D6420 002D3360 7C 08 02 A6 */ mflr r0 -/* 802D6424 002D3364 90 01 01 34 */ stw r0, 0x134(r1) -/* 802D6428 002D3368 39 61 01 30 */ addi r11, r1, 0x130 -/* 802D642C 002D336C 48 08 BD A9 */ bl _savegpr_27 -/* 802D6430 002D3370 7C 7B 1B 78 */ mr r27, r3 -/* 802D6434 002D3374 7C BD 2B 78 */ mr r29, r5 -/* 802D6438 002D3378 28 04 00 00 */ cmplwi r4, 0 -/* 802D643C 002D337C 40 82 00 14 */ bne lbl_802D6450 -/* 802D6440 002D3380 80 7B 00 48 */ lwz r3, 0x48(r27) -/* 802D6444 002D3384 57 A0 20 36 */ slwi r0, r29, 4 -/* 802D6448 002D3388 7C 63 02 14 */ add r3, r3, r0 -/* 802D644C 002D338C 48 00 00 90 */ b lbl_802D64DC -lbl_802D6450: -/* 802D6450 002D3390 38 61 00 08 */ addi r3, r1, 8 -/* 802D6454 002D3394 38 A0 00 2F */ li r5, 0x2f -/* 802D6458 002D3398 48 00 04 2D */ bl JKRArchive_NS_CArcName_NS_store_X1_ -/* 802D645C 002D339C 7C 7C 1B 78 */ mr r28, r3 -/* 802D6460 002D33A0 80 7B 00 48 */ lwz r3, 0x48(r27) -/* 802D6464 002D33A4 57 A0 20 36 */ slwi r0, r29, 4 -/* 802D6468 002D33A8 7F E3 02 14 */ add r31, r3, r0 -/* 802D646C 002D33AC 80 7B 00 4C */ lwz r3, 0x4c(r27) -/* 802D6470 002D33B0 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 802D6474 002D33B4 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 802D6478 002D33B8 7F C3 02 14 */ add r30, r3, r0 -/* 802D647C 002D33BC 3B A0 00 00 */ li r29, 0 -/* 802D6480 002D33C0 48 00 00 4C */ b lbl_802D64CC -lbl_802D6484: -/* 802D6484 002D33C4 7F 63 DB 78 */ mr r3, r27 -/* 802D6488 002D33C8 38 81 00 08 */ addi r4, r1, 8 -/* 802D648C 002D33CC 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D6490 002D33D0 54 05 02 3E */ clrlwi r5, r0, 8 -/* 802D6494 002D33D4 A0 DE 00 02 */ lhz r6, 2(r30) -/* 802D6498 002D33D8 4B FF FE FD */ bl JKRArchive_NS_isSameName -/* 802D649C 002D33DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D64A0 002D33E0 41 82 00 24 */ beq lbl_802D64C4 -/* 802D64A4 002D33E4 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D64A8 002D33E8 54 00 47 BD */ rlwinm. r0, r0, 8, 0x1e, 0x1e -/* 802D64AC 002D33EC 41 82 00 2C */ beq lbl_802D64D8 -/* 802D64B0 002D33F0 7F 63 DB 78 */ mr r3, r27 -/* 802D64B4 002D33F4 7F 84 E3 78 */ mr r4, r28 -/* 802D64B8 002D33F8 80 BE 00 08 */ lwz r5, 8(r30) -/* 802D64BC 002D33FC 4B FF FF 61 */ bl JKRArchive_NS_findDirectory -/* 802D64C0 002D3400 48 00 00 1C */ b lbl_802D64DC -lbl_802D64C4: -/* 802D64C4 002D3404 3B DE 00 14 */ addi r30, r30, 0x14 -/* 802D64C8 002D3408 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D64CC: -/* 802D64CC 002D340C A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 802D64D0 002D3410 7C 1D 00 00 */ cmpw r29, r0 -/* 802D64D4 002D3414 41 80 FF B0 */ blt lbl_802D6484 -lbl_802D64D8: -/* 802D64D8 002D3418 38 60 00 00 */ li r3, 0 -lbl_802D64DC: -/* 802D64DC 002D341C 39 61 01 30 */ addi r11, r1, 0x130 -/* 802D64E0 002D3420 48 08 BD 41 */ bl _restgpr_27 -/* 802D64E4 002D3424 80 01 01 34 */ lwz r0, 0x134(r1) -/* 802D64E8 002D3428 7C 08 03 A6 */ mtlr r0 -/* 802D64EC 002D342C 38 21 01 30 */ addi r1, r1, 0x130 -/* 802D64F0 002D3430 4E 80 00 20 */ blr - -.global JKRArchive_NS_findTypeResource -JKRArchive_NS_findTypeResource: -/* 802D64F4 002D3434 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D64F8 002D3438 7C 08 02 A6 */ mflr r0 -/* 802D64FC 002D343C 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D6500 002D3440 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D6504 002D3444 48 08 BC D5 */ bl _savegpr_28 -/* 802D6508 002D3448 7C 7C 1B 78 */ mr r28, r3 -/* 802D650C 002D344C 7C 9D 23 79 */ or. r29, r4, r4 -/* 802D6510 002D3450 41 82 00 78 */ beq lbl_802D6588 -/* 802D6514 002D3454 38 61 00 08 */ addi r3, r1, 8 -/* 802D6518 002D3458 7C A4 2B 78 */ mr r4, r5 -/* 802D651C 002D345C 48 00 02 D9 */ bl JKRArchive_NS_CArcName_NS_store -/* 802D6520 002D3460 7F 83 E3 78 */ mr r3, r28 -/* 802D6524 002D3464 7F A4 EB 78 */ mr r4, r29 -/* 802D6528 002D3468 4B FF FE B9 */ bl JKRArchive_NS_findResType -/* 802D652C 002D346C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D6530 002D3470 41 82 00 58 */ beq lbl_802D6588 -/* 802D6534 002D3474 80 7C 00 4C */ lwz r3, 0x4c(r28) -/* 802D6538 002D3478 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 802D653C 002D347C 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 802D6540 002D3480 7F C3 02 14 */ add r30, r3, r0 -/* 802D6544 002D3484 3B A0 00 00 */ li r29, 0 -/* 802D6548 002D3488 48 00 00 34 */ b lbl_802D657C -lbl_802D654C: -/* 802D654C 002D348C 7F 83 E3 78 */ mr r3, r28 -/* 802D6550 002D3490 38 81 00 08 */ addi r4, r1, 8 -/* 802D6554 002D3494 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D6558 002D3498 54 05 02 3E */ clrlwi r5, r0, 8 -/* 802D655C 002D349C A0 DE 00 02 */ lhz r6, 2(r30) -/* 802D6560 002D34A0 4B FF FE 35 */ bl JKRArchive_NS_isSameName -/* 802D6564 002D34A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D6568 002D34A8 41 82 00 0C */ beq lbl_802D6574 -/* 802D656C 002D34AC 7F C3 F3 78 */ mr r3, r30 -/* 802D6570 002D34B0 48 00 00 1C */ b lbl_802D658C -lbl_802D6574: -/* 802D6574 002D34B4 3B DE 00 14 */ addi r30, r30, 0x14 -/* 802D6578 002D34B8 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D657C: -/* 802D657C 002D34BC A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 802D6580 002D34C0 7C 1D 00 00 */ cmpw r29, r0 -/* 802D6584 002D34C4 41 80 FF C8 */ blt lbl_802D654C -lbl_802D6588: -/* 802D6588 002D34C8 38 60 00 00 */ li r3, 0 -lbl_802D658C: -/* 802D658C 002D34CC 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D6590 002D34D0 48 08 BC 95 */ bl _restgpr_28 -/* 802D6594 002D34D4 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D6598 002D34D8 7C 08 03 A6 */ mtlr r0 -/* 802D659C 002D34DC 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D65A0 002D34E0 4E 80 00 20 */ blr - -.global JKRArchive_NS_findFsResource -JKRArchive_NS_findFsResource: -/* 802D65A4 002D34E4 94 21 FE D0 */ stwu r1, -0x130(r1) -/* 802D65A8 002D34E8 7C 08 02 A6 */ mflr r0 -/* 802D65AC 002D34EC 90 01 01 34 */ stw r0, 0x134(r1) -/* 802D65B0 002D34F0 39 61 01 30 */ addi r11, r1, 0x130 -/* 802D65B4 002D34F4 48 08 BC 21 */ bl _savegpr_27 -/* 802D65B8 002D34F8 7C 7B 1B 78 */ mr r27, r3 -/* 802D65BC 002D34FC 7C BD 2B 78 */ mr r29, r5 -/* 802D65C0 002D3500 28 04 00 00 */ cmplwi r4, 0 -/* 802D65C4 002D3504 41 82 00 A4 */ beq lbl_802D6668 -/* 802D65C8 002D3508 38 61 00 08 */ addi r3, r1, 8 -/* 802D65CC 002D350C 38 A0 00 2F */ li r5, 0x2f -/* 802D65D0 002D3510 48 00 02 B5 */ bl JKRArchive_NS_CArcName_NS_store_X1_ -/* 802D65D4 002D3514 7C 7C 1B 78 */ mr r28, r3 -/* 802D65D8 002D3518 80 7B 00 48 */ lwz r3, 0x48(r27) -/* 802D65DC 002D351C 57 A0 20 36 */ slwi r0, r29, 4 -/* 802D65E0 002D3520 7F E3 02 14 */ add r31, r3, r0 -/* 802D65E4 002D3524 80 7B 00 4C */ lwz r3, 0x4c(r27) -/* 802D65E8 002D3528 80 1F 00 0C */ lwz r0, 0xc(r31) -/* 802D65EC 002D352C 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 802D65F0 002D3530 7F C3 02 14 */ add r30, r3, r0 -/* 802D65F4 002D3534 3B A0 00 00 */ li r29, 0 -/* 802D65F8 002D3538 48 00 00 64 */ b lbl_802D665C -lbl_802D65FC: -/* 802D65FC 002D353C 7F 63 DB 78 */ mr r3, r27 -/* 802D6600 002D3540 38 81 00 08 */ addi r4, r1, 8 -/* 802D6604 002D3544 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D6608 002D3548 54 05 02 3E */ clrlwi r5, r0, 8 -/* 802D660C 002D354C A0 DE 00 02 */ lhz r6, 2(r30) -/* 802D6610 002D3550 4B FF FD 85 */ bl JKRArchive_NS_isSameName -/* 802D6614 002D3554 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D6618 002D3558 41 82 00 3C */ beq lbl_802D6654 -/* 802D661C 002D355C 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D6620 002D3560 54 00 47 BD */ rlwinm. r0, r0, 8, 0x1e, 0x1e -/* 802D6624 002D3564 41 82 00 18 */ beq lbl_802D663C -/* 802D6628 002D3568 7F 63 DB 78 */ mr r3, r27 -/* 802D662C 002D356C 7F 84 E3 78 */ mr r4, r28 -/* 802D6630 002D3570 80 BE 00 08 */ lwz r5, 8(r30) -/* 802D6634 002D3574 4B FF FF 71 */ bl JKRArchive_NS_findFsResource -/* 802D6638 002D3578 48 00 00 34 */ b lbl_802D666C -lbl_802D663C: -/* 802D663C 002D357C 28 1C 00 00 */ cmplwi r28, 0 -/* 802D6640 002D3580 40 82 00 0C */ bne lbl_802D664C -/* 802D6644 002D3584 7F C3 F3 78 */ mr r3, r30 -/* 802D6648 002D3588 48 00 00 24 */ b lbl_802D666C -lbl_802D664C: -/* 802D664C 002D358C 38 60 00 00 */ li r3, 0 -/* 802D6650 002D3590 48 00 00 1C */ b lbl_802D666C -lbl_802D6654: -/* 802D6654 002D3594 3B DE 00 14 */ addi r30, r30, 0x14 -/* 802D6658 002D3598 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D665C: -/* 802D665C 002D359C A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 802D6660 002D35A0 7C 1D 00 00 */ cmpw r29, r0 -/* 802D6664 002D35A4 41 80 FF 98 */ blt lbl_802D65FC -lbl_802D6668: -/* 802D6668 002D35A8 38 60 00 00 */ li r3, 0 -lbl_802D666C: -/* 802D666C 002D35AC 39 61 01 30 */ addi r11, r1, 0x130 -/* 802D6670 002D35B0 48 08 BB B1 */ bl _restgpr_27 -/* 802D6674 002D35B4 80 01 01 34 */ lwz r0, 0x134(r1) -/* 802D6678 002D35B8 7C 08 03 A6 */ mtlr r0 -/* 802D667C 002D35BC 38 21 01 30 */ addi r1, r1, 0x130 -/* 802D6680 002D35C0 4E 80 00 20 */ blr - -.global JKRArchive_NS_findIdxResource -JKRArchive_NS_findIdxResource: -/* 802D6684 002D35C4 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 802D6688 002D35C8 80 05 00 08 */ lwz r0, 8(r5) -/* 802D668C 002D35CC 7C 04 00 40 */ cmplw r4, r0 -/* 802D6690 002D35D0 40 80 00 14 */ bge lbl_802D66A4 -/* 802D6694 002D35D4 80 63 00 4C */ lwz r3, 0x4c(r3) -/* 802D6698 002D35D8 1C 04 00 14 */ mulli r0, r4, 0x14 -/* 802D669C 002D35DC 7C 63 02 14 */ add r3, r3, r0 -/* 802D66A0 002D35E0 4E 80 00 20 */ blr -lbl_802D66A4: -/* 802D66A4 002D35E4 38 60 00 00 */ li r3, 0 -/* 802D66A8 002D35E8 4E 80 00 20 */ blr - -.global JKRArchive_NS_findNameResource -JKRArchive_NS_findNameResource: -/* 802D66AC 002D35EC 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D66B0 002D35F0 7C 08 02 A6 */ mflr r0 -/* 802D66B4 002D35F4 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D66B8 002D35F8 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D66BC 002D35FC 48 08 BB 1D */ bl _savegpr_28 -/* 802D66C0 002D3600 7C 7C 1B 78 */ mr r28, r3 -/* 802D66C4 002D3604 83 C3 00 4C */ lwz r30, 0x4c(r3) -/* 802D66C8 002D3608 38 61 00 08 */ addi r3, r1, 8 -/* 802D66CC 002D360C 48 00 01 29 */ bl JKRArchive_NS_CArcName_NS_store -/* 802D66D0 002D3610 3B A0 00 00 */ li r29, 0 -/* 802D66D4 002D3614 83 FC 00 44 */ lwz r31, 0x44(r28) -/* 802D66D8 002D3618 48 00 00 34 */ b lbl_802D670C -lbl_802D66DC: -/* 802D66DC 002D361C 7F 83 E3 78 */ mr r3, r28 -/* 802D66E0 002D3620 38 81 00 08 */ addi r4, r1, 8 -/* 802D66E4 002D3624 80 1E 00 04 */ lwz r0, 4(r30) -/* 802D66E8 002D3628 54 05 02 3E */ clrlwi r5, r0, 8 -/* 802D66EC 002D362C A0 DE 00 02 */ lhz r6, 2(r30) -/* 802D66F0 002D3630 4B FF FC A5 */ bl JKRArchive_NS_isSameName -/* 802D66F4 002D3634 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D66F8 002D3638 41 82 00 0C */ beq lbl_802D6704 -/* 802D66FC 002D363C 7F C3 F3 78 */ mr r3, r30 -/* 802D6700 002D3640 48 00 00 1C */ b lbl_802D671C -lbl_802D6704: -/* 802D6704 002D3644 3B DE 00 14 */ addi r30, r30, 0x14 -/* 802D6708 002D3648 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D670C: -/* 802D670C 002D364C 80 1F 00 08 */ lwz r0, 8(r31) -/* 802D6710 002D3650 7C 1D 00 40 */ cmplw r29, r0 -/* 802D6714 002D3654 41 80 FF C8 */ blt lbl_802D66DC -/* 802D6718 002D3658 38 60 00 00 */ li r3, 0 -lbl_802D671C: -/* 802D671C 002D365C 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D6720 002D3660 48 08 BB 05 */ bl _restgpr_28 -/* 802D6724 002D3664 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D6728 002D3668 7C 08 03 A6 */ mtlr r0 -/* 802D672C 002D366C 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D6730 002D3670 4E 80 00 20 */ blr - -.global JKRArchive_NS_findPtrResource -JKRArchive_NS_findPtrResource: -/* 802D6734 002D3674 80 A3 00 4C */ lwz r5, 0x4c(r3) -/* 802D6738 002D3678 80 63 00 44 */ lwz r3, 0x44(r3) -/* 802D673C 002D367C 80 03 00 08 */ lwz r0, 8(r3) -/* 802D6740 002D3680 7C 09 03 A6 */ mtctr r0 -/* 802D6744 002D3684 28 00 00 00 */ cmplwi r0, 0 -/* 802D6748 002D3688 40 81 00 20 */ ble lbl_802D6768 -lbl_802D674C: -/* 802D674C 002D368C 80 05 00 10 */ lwz r0, 0x10(r5) -/* 802D6750 002D3690 7C 00 20 40 */ cmplw r0, r4 -/* 802D6754 002D3694 40 82 00 0C */ bne lbl_802D6760 -/* 802D6758 002D3698 7C A3 2B 78 */ mr r3, r5 -/* 802D675C 002D369C 4E 80 00 20 */ blr -lbl_802D6760: -/* 802D6760 002D36A0 38 A5 00 14 */ addi r5, r5, 0x14 -/* 802D6764 002D36A4 42 00 FF E8 */ bdnz lbl_802D674C -lbl_802D6768: -/* 802D6768 002D36A8 38 60 00 00 */ li r3, 0 -/* 802D676C 002D36AC 4E 80 00 20 */ blr - -.global JKRArchive_NS_findIdResource -JKRArchive_NS_findIdResource: -/* 802D6770 002D36B0 54 86 04 3E */ clrlwi r6, r4, 0x10 -/* 802D6774 002D36B4 28 06 FF FF */ cmplwi r6, 0xffff -/* 802D6778 002D36B8 41 82 00 74 */ beq lbl_802D67EC -/* 802D677C 002D36BC 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 802D6780 002D36C0 80 E5 00 08 */ lwz r7, 8(r5) -/* 802D6784 002D36C4 7C 06 38 40 */ cmplw r6, r7 -/* 802D6788 002D36C8 40 80 00 30 */ bge lbl_802D67B8 -/* 802D678C 002D36CC 80 A3 00 4C */ lwz r5, 0x4c(r3) -/* 802D6790 002D36D0 1C 06 00 14 */ mulli r0, r6, 0x14 -/* 802D6794 002D36D4 7C A5 02 14 */ add r5, r5, r0 -/* 802D6798 002D36D8 A0 05 00 00 */ lhz r0, 0(r5) -/* 802D679C 002D36DC 7C 00 30 40 */ cmplw r0, r6 -/* 802D67A0 002D36E0 40 82 00 18 */ bne lbl_802D67B8 -/* 802D67A4 002D36E4 80 05 00 04 */ lwz r0, 4(r5) -/* 802D67A8 002D36E8 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f -/* 802D67AC 002D36EC 41 82 00 0C */ beq lbl_802D67B8 -/* 802D67B0 002D36F0 7C A3 2B 78 */ mr r3, r5 -/* 802D67B4 002D36F4 4E 80 00 20 */ blr -lbl_802D67B8: -/* 802D67B8 002D36F8 80 63 00 4C */ lwz r3, 0x4c(r3) -/* 802D67BC 002D36FC 54 84 04 3E */ clrlwi r4, r4, 0x10 -/* 802D67C0 002D3700 7C E9 03 A6 */ mtctr r7 -/* 802D67C4 002D3704 28 07 00 00 */ cmplwi r7, 0 -/* 802D67C8 002D3708 40 81 00 24 */ ble lbl_802D67EC -lbl_802D67CC: -/* 802D67CC 002D370C A0 03 00 00 */ lhz r0, 0(r3) -/* 802D67D0 002D3710 7C 00 20 40 */ cmplw r0, r4 -/* 802D67D4 002D3714 40 82 00 10 */ bne lbl_802D67E4 -/* 802D67D8 002D3718 80 03 00 04 */ lwz r0, 4(r3) -/* 802D67DC 002D371C 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f -/* 802D67E0 002D3720 4C 82 00 20 */ bnelr -lbl_802D67E4: -/* 802D67E4 002D3724 38 63 00 14 */ addi r3, r3, 0x14 -/* 802D67E8 002D3728 42 00 FF E4 */ bdnz lbl_802D67CC -lbl_802D67EC: -/* 802D67EC 002D372C 38 60 00 00 */ li r3, 0 -/* 802D67F0 002D3730 4E 80 00 20 */ blr - -.global JKRArchive_NS_CArcName_NS_store -JKRArchive_NS_CArcName_NS_store: -/* 802D67F4 002D3734 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D67F8 002D3738 7C 08 02 A6 */ mflr r0 -/* 802D67FC 002D373C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D6800 002D3740 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6804 002D3744 48 08 B9 D9 */ bl _savegpr_29 -/* 802D6808 002D3748 7C 7D 1B 78 */ mr r29, r3 -/* 802D680C 002D374C 7C 9E 23 78 */ mr r30, r4 -/* 802D6810 002D3750 38 00 00 00 */ li r0, 0 -/* 802D6814 002D3754 B0 03 00 00 */ sth r0, 0(r3) -/* 802D6818 002D3758 3B E0 00 00 */ li r31, 0 -/* 802D681C 002D375C 48 00 00 34 */ b lbl_802D6850 -lbl_802D6820: -/* 802D6820 002D3760 7C 63 07 74 */ extsb r3, r3 -/* 802D6824 002D3764 48 08 EC 4D */ bl func_80365470 -/* 802D6828 002D3768 A0 1D 00 00 */ lhz r0, 0(r29) -/* 802D682C 002D376C 1C 00 00 03 */ mulli r0, r0, 3 -/* 802D6830 002D3770 7C 03 02 14 */ add r0, r3, r0 -/* 802D6834 002D3774 B0 1D 00 00 */ sth r0, 0(r29) -/* 802D6838 002D3778 2C 1F 01 00 */ cmpwi r31, 0x100 -/* 802D683C 002D377C 40 80 00 10 */ bge lbl_802D684C -/* 802D6840 002D3780 38 1F 00 04 */ addi r0, r31, 4 -/* 802D6844 002D3784 7C 7D 01 AE */ stbx r3, r29, r0 -/* 802D6848 002D3788 3B FF 00 01 */ addi r31, r31, 1 -lbl_802D684C: -/* 802D684C 002D378C 3B DE 00 01 */ addi r30, r30, 1 -lbl_802D6850: -/* 802D6850 002D3790 88 7E 00 00 */ lbz r3, 0(r30) -/* 802D6854 002D3794 7C 60 07 75 */ extsb. r0, r3 -/* 802D6858 002D3798 40 82 FF C8 */ bne lbl_802D6820 -/* 802D685C 002D379C B3 FD 00 02 */ sth r31, 2(r29) -/* 802D6860 002D37A0 38 00 00 00 */ li r0, 0 -/* 802D6864 002D37A4 7C 7D FA 14 */ add r3, r29, r31 -/* 802D6868 002D37A8 98 03 00 04 */ stb r0, 4(r3) -/* 802D686C 002D37AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6870 002D37B0 48 08 B9 B9 */ bl _restgpr_29 -/* 802D6874 002D37B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D6878 002D37B8 7C 08 03 A6 */ mtlr r0 -/* 802D687C 002D37BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D6880 002D37C0 4E 80 00 20 */ blr - -.global JKRArchive_NS_CArcName_NS_store_X1_ -JKRArchive_NS_CArcName_NS_store_X1_: -/* 802D6884 002D37C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D6888 002D37C8 7C 08 02 A6 */ mflr r0 -/* 802D688C 002D37CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D6890 002D37D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6894 002D37D4 48 08 B9 45 */ bl _savegpr_28 -/* 802D6898 002D37D8 7C 7C 1B 78 */ mr r28, r3 -/* 802D689C 002D37DC 7C 9D 23 78 */ mr r29, r4 -/* 802D68A0 002D37E0 38 00 00 00 */ li r0, 0 -/* 802D68A4 002D37E4 B0 03 00 00 */ sth r0, 0(r3) -/* 802D68A8 002D37E8 3B C0 00 00 */ li r30, 0 -/* 802D68AC 002D37EC 7C BF 07 74 */ extsb r31, r5 -/* 802D68B0 002D37F0 48 00 00 34 */ b lbl_802D68E4 -lbl_802D68B4: -/* 802D68B4 002D37F4 7C 63 07 74 */ extsb r3, r3 -/* 802D68B8 002D37F8 48 08 EB B9 */ bl func_80365470 -/* 802D68BC 002D37FC A0 1C 00 00 */ lhz r0, 0(r28) -/* 802D68C0 002D3800 1C 00 00 03 */ mulli r0, r0, 3 -/* 802D68C4 002D3804 7C 03 02 14 */ add r0, r3, r0 -/* 802D68C8 002D3808 B0 1C 00 00 */ sth r0, 0(r28) -/* 802D68CC 002D380C 2C 1E 01 00 */ cmpwi r30, 0x100 -/* 802D68D0 002D3810 40 80 00 10 */ bge lbl_802D68E0 -/* 802D68D4 002D3814 38 1E 00 04 */ addi r0, r30, 4 -/* 802D68D8 002D3818 7C 7C 01 AE */ stbx r3, r28, r0 -/* 802D68DC 002D381C 3B DE 00 01 */ addi r30, r30, 1 -lbl_802D68E0: -/* 802D68E0 002D3820 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D68E4: -/* 802D68E4 002D3824 88 7D 00 00 */ lbz r3, 0(r29) -/* 802D68E8 002D3828 7C 60 07 75 */ extsb. r0, r3 -/* 802D68EC 002D382C 41 82 00 10 */ beq lbl_802D68FC -/* 802D68F0 002D3830 7C 60 07 74 */ extsb r0, r3 -/* 802D68F4 002D3834 7C 00 F8 00 */ cmpw r0, r31 -/* 802D68F8 002D3838 40 82 FF BC */ bne lbl_802D68B4 -lbl_802D68FC: -/* 802D68FC 002D383C B3 DC 00 02 */ sth r30, 2(r28) -/* 802D6900 002D3840 38 00 00 00 */ li r0, 0 -/* 802D6904 002D3844 7C 7C F2 14 */ add r3, r28, r30 -/* 802D6908 002D3848 98 03 00 04 */ stb r0, 4(r3) -/* 802D690C 002D384C 88 1D 00 00 */ lbz r0, 0(r29) -/* 802D6910 002D3850 7C 00 07 75 */ extsb. r0, r0 -/* 802D6914 002D3854 40 82 00 0C */ bne lbl_802D6920 -/* 802D6918 002D3858 38 60 00 00 */ li r3, 0 -/* 802D691C 002D385C 48 00 00 08 */ b lbl_802D6924 -lbl_802D6920: -/* 802D6920 002D3860 38 7D 00 01 */ addi r3, r29, 1 -lbl_802D6924: -/* 802D6924 002D3864 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6928 002D3868 48 08 B8 FD */ bl _restgpr_28 -/* 802D692C 002D386C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D6930 002D3870 7C 08 03 A6 */ mtlr r0 -/* 802D6934 002D3874 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D6938 002D3878 4E 80 00 20 */ blr +.section .text, "ax" # 802D693C + /* 802D693C 002D387C 80 03 00 4C */ lwz r0, 0x4c(r3) /* 802D6940 002D3880 7C 80 20 50 */ subf r4, r0, r4 /* 802D6944 002D3884 38 00 00 14 */ li r0, 0x14 @@ -530,6 +18,8 @@ lbl_802D696C: /* 802D696C 002D38AC 54 C0 10 3A */ slwi r0, r6, 2 /* 802D6970 002D38B0 7C A4 01 2E */ stwx r5, r4, r0 /* 802D6974 002D38B4 4E 80 00 20 */ blr + + /* 802D6978 002D38B8 80 03 00 4C */ lwz r0, 0x4c(r3) /* 802D697C 002D38BC 7C 80 20 50 */ subf r4, r0, r4 /* 802D6980 002D38C0 38 00 00 14 */ li r0, 0x14 diff --git a/asm/JKernel/JKRArchivePub.s b/asm/JKernel/JKRArchivePub.s deleted file mode 100644 index 0d8b61fbf9..0000000000 --- a/asm/JKernel/JKRArchivePub.s +++ /dev/null @@ -1,841 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802d5778 - - -.global JKRArchive_NS_check_mount_already -JKRArchive_NS_check_mount_already: -/* 802D5778 002D26B8 28 04 00 00 */ cmplwi r4, 0 -/* 802D577C 002D26BC 40 82 00 08 */ bne lbl_802D5784 -/* 802D5780 002D26C0 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) -lbl_802D5784: -/* 802D5784 002D26C4 3C A0 80 43 */ lis r5, lbl_80434354@ha -/* 802D5788 002D26C8 80 C5 43 54 */ lwz r6, lbl_80434354@l(r5) -/* 802D578C 002D26CC 48 00 00 48 */ b lbl_802D57D4 -lbl_802D5790: -/* 802D5790 002D26D0 80 E6 00 00 */ lwz r7, 0(r6) -/* 802D5794 002D26D4 80 A7 00 2C */ lwz r5, 0x2c(r7) -/* 802D5798 002D26D8 3C 05 AD BF */ addis r0, r5, 0xadbf -/* 802D579C 002D26DC 28 00 52 43 */ cmplwi r0, 0x5243 -/* 802D57A0 002D26E0 40 82 00 30 */ bne lbl_802D57D0 -/* 802D57A4 002D26E4 80 07 00 40 */ lwz r0, 0x40(r7) -/* 802D57A8 002D26E8 7C 00 18 00 */ cmpw r0, r3 -/* 802D57AC 002D26EC 40 82 00 24 */ bne lbl_802D57D0 -/* 802D57B0 002D26F0 80 07 00 38 */ lwz r0, 0x38(r7) -/* 802D57B4 002D26F4 7C 00 20 40 */ cmplw r0, r4 -/* 802D57B8 002D26F8 40 82 00 18 */ bne lbl_802D57D0 -/* 802D57BC 002D26FC 80 67 00 34 */ lwz r3, 0x34(r7) -/* 802D57C0 002D2700 38 03 00 01 */ addi r0, r3, 1 -/* 802D57C4 002D2704 90 07 00 34 */ stw r0, 0x34(r7) -/* 802D57C8 002D2708 7C E3 3B 78 */ mr r3, r7 -/* 802D57CC 002D270C 4E 80 00 20 */ blr -lbl_802D57D0: -/* 802D57D0 002D2710 80 C6 00 0C */ lwz r6, 0xc(r6) -lbl_802D57D4: -/* 802D57D4 002D2714 28 06 00 00 */ cmplwi r6, 0 -/* 802D57D8 002D2718 40 82 FF B8 */ bne lbl_802D5790 -/* 802D57DC 002D271C 38 60 00 00 */ li r3, 0 -/* 802D57E0 002D2720 4E 80 00 20 */ blr - -.global JKRArchive_NS_mount -JKRArchive_NS_mount: -/* 802D57E4 002D2724 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D57E8 002D2728 7C 08 02 A6 */ mflr r0 -/* 802D57EC 002D272C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D57F0 002D2730 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D57F4 002D2734 48 08 C9 E9 */ bl _savegpr_29 -/* 802D57F8 002D2738 7C 9D 23 78 */ mr r29, r4 -/* 802D57FC 002D273C 7C BE 2B 78 */ mr r30, r5 -/* 802D5800 002D2740 7C DF 33 78 */ mr r31, r6 -/* 802D5804 002D2744 48 07 2D 25 */ bl DVDConvertPathToEntrynum -/* 802D5808 002D2748 2C 03 00 00 */ cmpwi r3, 0 -/* 802D580C 002D274C 40 80 00 0C */ bge lbl_802D5818 -/* 802D5810 002D2750 38 60 00 00 */ li r3, 0 -/* 802D5814 002D2754 48 00 00 14 */ b lbl_802D5828 -lbl_802D5818: -/* 802D5818 002D2758 7F A4 EB 78 */ mr r4, r29 -/* 802D581C 002D275C 7F C5 F3 78 */ mr r5, r30 -/* 802D5820 002D2760 7F E6 FB 78 */ mr r6, r31 -/* 802D5824 002D2764 48 00 00 A5 */ bl JKRArchive_NS_mount_X2_ -lbl_802D5828: -/* 802D5828 002D2768 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D582C 002D276C 48 08 C9 FD */ bl _restgpr_29 -/* 802D5830 002D2770 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5834 002D2774 7C 08 03 A6 */ mtlr r0 -/* 802D5838 002D2778 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D583C 002D277C 4E 80 00 20 */ blr - -.global JKRArchive_NS_mount_X1_ -JKRArchive_NS_mount_X1_: -/* 802D5840 002D2780 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5844 002D2784 7C 08 02 A6 */ mflr r0 -/* 802D5848 002D2788 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D584C 002D278C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5850 002D2790 48 08 C9 8D */ bl _savegpr_29 -/* 802D5854 002D2794 7C 7D 1B 78 */ mr r29, r3 -/* 802D5858 002D2798 7C 9E 23 78 */ mr r30, r4 -/* 802D585C 002D279C 7C BF 2B 78 */ mr r31, r5 -/* 802D5860 002D27A0 4B FF FF 19 */ bl JKRArchive_NS_check_mount_already -/* 802D5864 002D27A4 28 03 00 00 */ cmplwi r3, 0 -/* 802D5868 002D27A8 41 82 00 08 */ beq lbl_802D5870 -/* 802D586C 002D27AC 48 00 00 44 */ b lbl_802D58B0 -lbl_802D5870: -/* 802D5870 002D27B0 38 60 00 70 */ li r3, 0x70 -/* 802D5874 002D27B4 7F C4 F3 78 */ mr r4, r30 -/* 802D5878 002D27B8 2C 1F 00 01 */ cmpwi r31, 1 -/* 802D587C 002D27BC 38 A0 FF FC */ li r5, -4 -/* 802D5880 002D27C0 40 82 00 08 */ bne lbl_802D5888 -/* 802D5884 002D27C4 38 A0 00 04 */ li r5, 4 -lbl_802D5888: -/* 802D5888 002D27C8 4B FF 94 11 */ bl __nw__FUlP7JKRHeapi -/* 802D588C 002D27CC 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D5890 002D27D0 41 82 00 1C */ beq lbl_802D58AC -/* 802D5894 002D27D4 7F A4 EB 78 */ mr r4, r29 -/* 802D5898 002D27D8 3C A0 00 01 */ lis r5, 0x0000FFFF@ha -/* 802D589C 002D27DC 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l -/* 802D58A0 002D27E0 38 C0 00 00 */ li r6, 0 -/* 802D58A4 002D27E4 48 00 11 C9 */ bl JKRMemArchive_X1_ -/* 802D58A8 002D27E8 7C 60 1B 78 */ mr r0, r3 -lbl_802D58AC: -/* 802D58AC 002D27EC 7C 03 03 78 */ mr r3, r0 -lbl_802D58B0: -/* 802D58B0 002D27F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D58B4 002D27F4 48 08 C9 75 */ bl _restgpr_29 -/* 802D58B8 002D27F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D58BC 002D27FC 7C 08 03 A6 */ mtlr r0 -/* 802D58C0 002D2800 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D58C4 002D2804 4E 80 00 20 */ blr - -.global JKRArchive_NS_mount_X2_ -JKRArchive_NS_mount_X2_: -/* 802D58C8 002D2808 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D58CC 002D280C 7C 08 02 A6 */ mflr r0 -/* 802D58D0 002D2810 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D58D4 002D2814 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D58D8 002D2818 48 08 C8 FD */ bl _savegpr_27 -/* 802D58DC 002D281C 7C 7B 1B 78 */ mr r27, r3 -/* 802D58E0 002D2820 7C 9C 23 78 */ mr r28, r4 -/* 802D58E4 002D2824 7C BD 2B 78 */ mr r29, r5 -/* 802D58E8 002D2828 7C DE 33 78 */ mr r30, r6 -/* 802D58EC 002D282C 7F A4 EB 78 */ mr r4, r29 -/* 802D58F0 002D2830 4B FF FE 89 */ bl JKRArchive_NS_check_mount_already -/* 802D58F4 002D2834 28 03 00 00 */ cmplwi r3, 0 -/* 802D58F8 002D2838 41 82 00 08 */ beq lbl_802D5900 -/* 802D58FC 002D283C 48 00 01 24 */ b lbl_802D5A20 -lbl_802D5900: -/* 802D5900 002D2840 2C 1E 00 01 */ cmpwi r30, 1 -/* 802D5904 002D2844 38 A0 FF FC */ li r5, -4 -/* 802D5908 002D2848 40 82 00 08 */ bne lbl_802D5910 -/* 802D590C 002D284C 38 A0 00 04 */ li r5, 4 -lbl_802D5910: -/* 802D5910 002D2850 2C 1C 00 03 */ cmpwi r28, 3 -/* 802D5914 002D2854 41 82 00 7C */ beq lbl_802D5990 -/* 802D5918 002D2858 40 80 00 14 */ bge lbl_802D592C -/* 802D591C 002D285C 2C 1C 00 01 */ cmpwi r28, 1 -/* 802D5920 002D2860 41 82 00 18 */ beq lbl_802D5938 -/* 802D5924 002D2864 40 80 00 40 */ bge lbl_802D5964 -/* 802D5928 002D2868 48 00 00 BC */ b lbl_802D59E4 -lbl_802D592C: -/* 802D592C 002D286C 2C 1C 00 05 */ cmpwi r28, 5 -/* 802D5930 002D2870 40 80 00 B4 */ bge lbl_802D59E4 -/* 802D5934 002D2874 48 00 00 88 */ b lbl_802D59BC -lbl_802D5938: -/* 802D5938 002D2878 38 60 00 70 */ li r3, 0x70 -/* 802D593C 002D287C 7F A4 EB 78 */ mr r4, r29 -/* 802D5940 002D2880 4B FF 93 59 */ bl __nw__FUlP7JKRHeapi -/* 802D5944 002D2884 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D5948 002D2888 41 82 00 14 */ beq lbl_802D595C -/* 802D594C 002D288C 7F 64 DB 78 */ mr r4, r27 -/* 802D5950 002D2890 7F C5 F3 78 */ mr r5, r30 -/* 802D5954 002D2894 48 00 10 65 */ bl JKRMemArchive -/* 802D5958 002D2898 7C 60 1B 78 */ mr r0, r3 -lbl_802D595C: -/* 802D595C 002D289C 7C 1F 03 78 */ mr r31, r0 -/* 802D5960 002D28A0 48 00 00 84 */ b lbl_802D59E4 -lbl_802D5964: -/* 802D5964 002D28A4 38 60 00 6C */ li r3, 0x6c -/* 802D5968 002D28A8 7F A4 EB 78 */ mr r4, r29 -/* 802D596C 002D28AC 4B FF 93 2D */ bl __nw__FUlP7JKRHeapi -/* 802D5970 002D28B0 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D5974 002D28B4 41 82 00 14 */ beq lbl_802D5988 -/* 802D5978 002D28B8 7F 64 DB 78 */ mr r4, r27 -/* 802D597C 002D28BC 7F C5 F3 78 */ mr r5, r30 -/* 802D5980 002D28C0 48 00 17 41 */ bl JKRAramArchive -/* 802D5984 002D28C4 7C 60 1B 78 */ mr r0, r3 -lbl_802D5988: -/* 802D5988 002D28C8 7C 1F 03 78 */ mr r31, r0 -/* 802D598C 002D28CC 48 00 00 58 */ b lbl_802D59E4 -lbl_802D5990: -/* 802D5990 002D28D0 38 60 00 6C */ li r3, 0x6c -/* 802D5994 002D28D4 7F A4 EB 78 */ mr r4, r29 -/* 802D5998 002D28D8 4B FF 93 01 */ bl __nw__FUlP7JKRHeapi -/* 802D599C 002D28DC 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D59A0 002D28E0 41 82 00 14 */ beq lbl_802D59B4 -/* 802D59A4 002D28E4 7F 64 DB 78 */ mr r4, r27 -/* 802D59A8 002D28E8 7F C5 F3 78 */ mr r5, r30 -/* 802D59AC 002D28EC 48 00 22 45 */ bl JKRDvdArchive -/* 802D59B0 002D28F0 7C 60 1B 78 */ mr r0, r3 -lbl_802D59B4: -/* 802D59B4 002D28F4 7C 1F 03 78 */ mr r31, r0 -/* 802D59B8 002D28F8 48 00 00 2C */ b lbl_802D59E4 -lbl_802D59BC: -/* 802D59BC 002D28FC 38 60 00 80 */ li r3, 0x80 -/* 802D59C0 002D2900 7F A4 EB 78 */ mr r4, r29 -/* 802D59C4 002D2904 4B FF 92 D5 */ bl __nw__FUlP7JKRHeapi -/* 802D59C8 002D2908 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D59CC 002D290C 41 82 00 14 */ beq lbl_802D59E0 -/* 802D59D0 002D2910 7F 64 DB 78 */ mr r4, r27 -/* 802D59D4 002D2914 7F C5 F3 78 */ mr r5, r30 -/* 802D59D8 002D2918 48 00 2D FD */ bl JKRCompArchive -/* 802D59DC 002D291C 7C 60 1B 78 */ mr r0, r3 -lbl_802D59E0: -/* 802D59E0 002D2920 7C 1F 03 78 */ mr r31, r0 -lbl_802D59E4: -/* 802D59E4 002D2924 28 1F 00 00 */ cmplwi r31, 0 -/* 802D59E8 002D2928 41 82 00 34 */ beq lbl_802D5A1C -/* 802D59EC 002D292C 88 1F 00 3C */ lbz r0, 0x3c(r31) -/* 802D59F0 002D2930 28 00 00 00 */ cmplwi r0, 0 -/* 802D59F4 002D2934 40 82 00 28 */ bne lbl_802D5A1C -/* 802D59F8 002D2938 28 1F 00 00 */ cmplwi r31, 0 -/* 802D59FC 002D293C 41 82 00 1C */ beq lbl_802D5A18 -/* 802D5A00 002D2940 7F E3 FB 78 */ mr r3, r31 -/* 802D5A04 002D2944 38 80 00 01 */ li r4, 1 -/* 802D5A08 002D2948 81 9F 00 00 */ lwz r12, 0(r31) -/* 802D5A0C 002D294C 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D5A10 002D2950 7D 89 03 A6 */ mtctr r12 -/* 802D5A14 002D2954 4E 80 04 21 */ bctrl -lbl_802D5A18: -/* 802D5A18 002D2958 3B E0 00 00 */ li r31, 0 -lbl_802D5A1C: -/* 802D5A1C 002D295C 7F E3 FB 78 */ mr r3, r31 -lbl_802D5A20: -/* 802D5A20 002D2960 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5A24 002D2964 48 08 C7 FD */ bl _restgpr_27 -/* 802D5A28 002D2968 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5A2C 002D296C 7C 08 03 A6 */ mtlr r0 -/* 802D5A30 002D2970 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5A34 002D2974 4E 80 00 20 */ blr -/* 802D5A38 002D2978 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5A3C 002D297C 7C 08 02 A6 */ mflr r0 -/* 802D5A40 002D2980 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5A44 002D2984 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5A48 002D2988 7C 7F 1B 78 */ mr r31, r3 -/* 802D5A4C 002D298C 88 04 00 00 */ lbz r0, 0(r4) -/* 802D5A50 002D2990 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D5A54 002D2994 40 82 00 24 */ bne lbl_802D5A78 -/* 802D5A58 002D2998 8C 04 00 01 */ lbzu r0, 1(r4) -/* 802D5A5C 002D299C 7C 00 07 75 */ extsb. r0, r0 -/* 802D5A60 002D29A0 40 82 00 08 */ bne lbl_802D5A68 -/* 802D5A64 002D29A4 38 80 00 00 */ li r4, 0 -lbl_802D5A68: -/* 802D5A68 002D29A8 7F E3 FB 78 */ mr r3, r31 -/* 802D5A6C 002D29AC 38 A0 00 00 */ li r5, 0 -/* 802D5A70 002D29B0 48 00 09 AD */ bl JKRArchive_NS_findDirectory -/* 802D5A74 002D29B4 48 00 00 0C */ b lbl_802D5A80 -lbl_802D5A78: -/* 802D5A78 002D29B8 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) -/* 802D5A7C 002D29BC 48 00 09 A1 */ bl JKRArchive_NS_findDirectory -lbl_802D5A80: -/* 802D5A80 002D29C0 30 03 FF FF */ addic r0, r3, -1 -/* 802D5A84 002D29C4 7C 80 19 10 */ subfe r4, r0, r3 -/* 802D5A88 002D29C8 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802D5A8C 002D29CC 41 82 00 1C */ beq lbl_802D5AA8 -/* 802D5A90 002D29D0 93 ED 8E 98 */ stw r31, lbl_80451418-_SDA_BASE_(r13) -/* 802D5A94 002D29D4 80 1F 00 48 */ lwz r0, 0x48(r31) -/* 802D5A98 002D29D8 7C 00 18 50 */ subf r0, r0, r3 -/* 802D5A9C 002D29DC 7C 00 26 70 */ srawi r0, r0, 4 -/* 802D5AA0 002D29E0 7C 00 01 94 */ addze r0, r0 -/* 802D5AA4 002D29E4 90 0D 8E A0 */ stw r0, lbl_80451420-_SDA_BASE_(r13) -lbl_802D5AA8: -/* 802D5AA8 002D29E8 7C 83 23 78 */ mr r3, r4 -/* 802D5AAC 002D29EC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5AB0 002D29F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5AB4 002D29F4 7C 08 03 A6 */ mtlr r0 -/* 802D5AB8 002D29F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5ABC 002D29FC 4E 80 00 20 */ blr - -.global JKRArchive_NS_getDirEntry -JKRArchive_NS_getDirEntry: -/* 802D5AC0 002D2A00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5AC4 002D2A04 7C 08 02 A6 */ mflr r0 -/* 802D5AC8 002D2A08 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5ACC 002D2A0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5AD0 002D2A10 93 C1 00 08 */ stw r30, 8(r1) -/* 802D5AD4 002D2A14 7C 7E 1B 78 */ mr r30, r3 -/* 802D5AD8 002D2A18 7C 9F 23 78 */ mr r31, r4 -/* 802D5ADC 002D2A1C 7C A4 2B 78 */ mr r4, r5 -/* 802D5AE0 002D2A20 48 00 0B A5 */ bl JKRArchive_NS_findIdxResource -/* 802D5AE4 002D2A24 28 03 00 00 */ cmplwi r3, 0 -/* 802D5AE8 002D2A28 40 82 00 0C */ bne lbl_802D5AF4 -/* 802D5AEC 002D2A2C 38 60 00 00 */ li r3, 0 -/* 802D5AF0 002D2A30 48 00 00 30 */ b lbl_802D5B20 -lbl_802D5AF4: -/* 802D5AF4 002D2A34 80 03 00 04 */ lwz r0, 4(r3) -/* 802D5AF8 002D2A38 54 00 46 3E */ srwi r0, r0, 0x18 -/* 802D5AFC 002D2A3C 98 1F 00 00 */ stb r0, 0(r31) -/* 802D5B00 002D2A40 A0 03 00 00 */ lhz r0, 0(r3) -/* 802D5B04 002D2A44 B0 1F 00 02 */ sth r0, 2(r31) -/* 802D5B08 002D2A48 80 9E 00 54 */ lwz r4, 0x54(r30) -/* 802D5B0C 002D2A4C 80 03 00 04 */ lwz r0, 4(r3) -/* 802D5B10 002D2A50 54 00 02 3E */ clrlwi r0, r0, 8 -/* 802D5B14 002D2A54 7C 04 02 14 */ add r0, r4, r0 -/* 802D5B18 002D2A58 90 1F 00 04 */ stw r0, 4(r31) -/* 802D5B1C 002D2A5C 38 60 00 01 */ li r3, 1 -lbl_802D5B20: -/* 802D5B20 002D2A60 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5B24 002D2A64 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D5B28 002D2A68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5B2C 002D2A6C 7C 08 03 A6 */ mtlr r0 -/* 802D5B30 002D2A70 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5B34 002D2A74 4E 80 00 20 */ blr - -.global JKRArchive_NS_getGlbResource -JKRArchive_NS_getGlbResource: -/* 802D5B38 002D2A78 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5B3C 002D2A7C 7C 08 02 A6 */ mflr r0 -/* 802D5B40 002D2A80 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5B44 002D2A84 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5B48 002D2A88 48 08 C6 95 */ bl _savegpr_29 -/* 802D5B4C 002D2A8C 7C 7D 1B 78 */ mr r29, r3 -/* 802D5B50 002D2A90 7C 9E 23 78 */ mr r30, r4 -/* 802D5B54 002D2A94 38 C0 00 00 */ li r6, 0 -/* 802D5B58 002D2A98 28 05 00 00 */ cmplwi r5, 0 -/* 802D5B5C 002D2A9C 41 82 00 24 */ beq lbl_802D5B80 -/* 802D5B60 002D2AA0 7C A3 2B 78 */ mr r3, r5 -/* 802D5B64 002D2AA4 7F A4 EB 78 */ mr r4, r29 -/* 802D5B68 002D2AA8 7F C5 F3 78 */ mr r5, r30 -/* 802D5B6C 002D2AAC 81 83 00 00 */ lwz r12, 0(r3) -/* 802D5B70 002D2AB0 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802D5B74 002D2AB4 7D 89 03 A6 */ mtctr r12 -/* 802D5B78 002D2AB8 4E 80 04 21 */ bctrl -/* 802D5B7C 002D2ABC 48 00 00 54 */ b lbl_802D5BD0 -lbl_802D5B80: -/* 802D5B80 002D2AC0 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D5B84 002D2AC4 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) -/* 802D5B88 002D2AC8 48 00 00 3C */ b lbl_802D5BC4 -lbl_802D5B8C: -/* 802D5B8C 002D2ACC 80 7F 00 00 */ lwz r3, 0(r31) -/* 802D5B90 002D2AD0 80 83 00 2C */ lwz r4, 0x2c(r3) -/* 802D5B94 002D2AD4 3C 04 AD BF */ addis r0, r4, 0xadbf -/* 802D5B98 002D2AD8 28 00 52 43 */ cmplwi r0, 0x5243 -/* 802D5B9C 002D2ADC 40 82 00 24 */ bne lbl_802D5BC0 -/* 802D5BA0 002D2AE0 7F A4 EB 78 */ mr r4, r29 -/* 802D5BA4 002D2AE4 7F C5 F3 78 */ mr r5, r30 -/* 802D5BA8 002D2AE8 81 83 00 00 */ lwz r12, 0(r3) -/* 802D5BAC 002D2AEC 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802D5BB0 002D2AF0 7D 89 03 A6 */ mtctr r12 -/* 802D5BB4 002D2AF4 4E 80 04 21 */ bctrl -/* 802D5BB8 002D2AF8 7C 66 1B 79 */ or. r6, r3, r3 -/* 802D5BBC 002D2AFC 40 82 00 10 */ bne lbl_802D5BCC -lbl_802D5BC0: -/* 802D5BC0 002D2B00 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802D5BC4: -/* 802D5BC4 002D2B04 28 1F 00 00 */ cmplwi r31, 0 -/* 802D5BC8 002D2B08 40 82 FF C4 */ bne lbl_802D5B8C -lbl_802D5BCC: -/* 802D5BCC 002D2B0C 7C C3 33 78 */ mr r3, r6 -lbl_802D5BD0: -/* 802D5BD0 002D2B10 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5BD4 002D2B14 48 08 C6 55 */ bl _restgpr_29 -/* 802D5BD8 002D2B18 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5BDC 002D2B1C 7C 08 03 A6 */ mtlr r0 -/* 802D5BE0 002D2B20 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5BE4 002D2B24 4E 80 00 20 */ blr -/* 802D5BE8 002D2B28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5BEC 002D2B2C 7C 08 02 A6 */ mflr r0 -/* 802D5BF0 002D2B30 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5BF4 002D2B34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5BF8 002D2B38 7C 7F 1B 78 */ mr r31, r3 -/* 802D5BFC 002D2B3C 88 04 00 00 */ lbz r0, 0(r4) -/* 802D5C00 002D2B40 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D5C04 002D2B44 40 82 00 18 */ bne lbl_802D5C1C -/* 802D5C08 002D2B48 38 84 00 01 */ addi r4, r4, 1 -/* 802D5C0C 002D2B4C 38 A0 00 00 */ li r5, 0 -/* 802D5C10 002D2B50 48 00 09 95 */ bl JKRArchive_NS_findFsResource -/* 802D5C14 002D2B54 7C 64 1B 78 */ mr r4, r3 -/* 802D5C18 002D2B58 48 00 00 10 */ b lbl_802D5C28 -lbl_802D5C1C: -/* 802D5C1C 002D2B5C 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) -/* 802D5C20 002D2B60 48 00 09 85 */ bl JKRArchive_NS_findFsResource -/* 802D5C24 002D2B64 7C 64 1B 78 */ mr r4, r3 -lbl_802D5C28: -/* 802D5C28 002D2B68 28 04 00 00 */ cmplwi r4, 0 -/* 802D5C2C 002D2B6C 41 82 00 20 */ beq lbl_802D5C4C -/* 802D5C30 002D2B70 7F E3 FB 78 */ mr r3, r31 -/* 802D5C34 002D2B74 38 A0 00 00 */ li r5, 0 -/* 802D5C38 002D2B78 81 9F 00 00 */ lwz r12, 0(r31) -/* 802D5C3C 002D2B7C 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802D5C40 002D2B80 7D 89 03 A6 */ mtctr r12 -/* 802D5C44 002D2B84 4E 80 04 21 */ bctrl -/* 802D5C48 002D2B88 48 00 00 08 */ b lbl_802D5C50 -lbl_802D5C4C: -/* 802D5C4C 002D2B8C 38 60 00 00 */ li r3, 0 -lbl_802D5C50: -/* 802D5C50 002D2B90 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5C54 002D2B94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5C58 002D2B98 7C 08 03 A6 */ mtlr r0 -/* 802D5C5C 002D2B9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5C60 002D2BA0 4E 80 00 20 */ blr -/* 802D5C64 002D2BA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5C68 002D2BA8 7C 08 02 A6 */ mflr r0 -/* 802D5C6C 002D2BAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5C70 002D2BB0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5C74 002D2BB4 7C 7F 1B 78 */ mr r31, r3 -/* 802D5C78 002D2BB8 28 04 00 00 */ cmplwi r4, 0 -/* 802D5C7C 002D2BBC 41 82 00 10 */ beq lbl_802D5C8C -/* 802D5C80 002D2BC0 3C 04 C0 C1 */ addis r0, r4, 0xc0c1 -/* 802D5C84 002D2BC4 28 00 3F 3F */ cmplwi r0, 0x3f3f -/* 802D5C88 002D2BC8 40 82 00 18 */ bne lbl_802D5CA0 -lbl_802D5C8C: -/* 802D5C8C 002D2BCC 7F E3 FB 78 */ mr r3, r31 -/* 802D5C90 002D2BD0 7C A4 2B 78 */ mr r4, r5 -/* 802D5C94 002D2BD4 48 00 0A 19 */ bl JKRArchive_NS_findNameResource -/* 802D5C98 002D2BD8 7C 64 1B 78 */ mr r4, r3 -/* 802D5C9C 002D2BDC 48 00 00 0C */ b lbl_802D5CA8 -lbl_802D5CA0: -/* 802D5CA0 002D2BE0 48 00 08 55 */ bl JKRArchive_NS_findTypeResource -/* 802D5CA4 002D2BE4 7C 64 1B 78 */ mr r4, r3 -lbl_802D5CA8: -/* 802D5CA8 002D2BE8 28 04 00 00 */ cmplwi r4, 0 -/* 802D5CAC 002D2BEC 41 82 00 20 */ beq lbl_802D5CCC -/* 802D5CB0 002D2BF0 7F E3 FB 78 */ mr r3, r31 -/* 802D5CB4 002D2BF4 38 A0 00 00 */ li r5, 0 -/* 802D5CB8 002D2BF8 81 9F 00 00 */ lwz r12, 0(r31) -/* 802D5CBC 002D2BFC 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802D5CC0 002D2C00 7D 89 03 A6 */ mtctr r12 -/* 802D5CC4 002D2C04 4E 80 04 21 */ bctrl -/* 802D5CC8 002D2C08 48 00 00 08 */ b lbl_802D5CD0 -lbl_802D5CCC: -/* 802D5CCC 002D2C0C 38 60 00 00 */ li r3, 0 -lbl_802D5CD0: -/* 802D5CD0 002D2C10 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5CD4 002D2C14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5CD8 002D2C18 7C 08 03 A6 */ mtlr r0 -/* 802D5CDC 002D2C1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5CE0 002D2C20 4E 80 00 20 */ blr - -.global JKRArchive_NS_getIdxResource -JKRArchive_NS_getIdxResource: -/* 802D5CE4 002D2C24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5CE8 002D2C28 7C 08 02 A6 */ mflr r0 -/* 802D5CEC 002D2C2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5CF0 002D2C30 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5CF4 002D2C34 7C 7F 1B 78 */ mr r31, r3 -/* 802D5CF8 002D2C38 48 00 09 8D */ bl JKRArchive_NS_findIdxResource -/* 802D5CFC 002D2C3C 7C 64 1B 79 */ or. r4, r3, r3 -/* 802D5D00 002D2C40 41 82 00 20 */ beq lbl_802D5D20 -/* 802D5D04 002D2C44 7F E3 FB 78 */ mr r3, r31 -/* 802D5D08 002D2C48 38 A0 00 00 */ li r5, 0 -/* 802D5D0C 002D2C4C 81 9F 00 00 */ lwz r12, 0(r31) -/* 802D5D10 002D2C50 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802D5D14 002D2C54 7D 89 03 A6 */ mtctr r12 -/* 802D5D18 002D2C58 4E 80 04 21 */ bctrl -/* 802D5D1C 002D2C5C 48 00 00 08 */ b lbl_802D5D24 -lbl_802D5D20: -/* 802D5D20 002D2C60 38 60 00 00 */ li r3, 0 -lbl_802D5D24: -/* 802D5D24 002D2C64 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5D28 002D2C68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5D2C 002D2C6C 7C 08 03 A6 */ mtlr r0 -/* 802D5D30 002D2C70 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5D34 002D2C74 4E 80 00 20 */ blr - -.global JKRArchive_NS_getResource_X2_ -JKRArchive_NS_getResource_X2_: -/* 802D5D38 002D2C78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5D3C 002D2C7C 7C 08 02 A6 */ mflr r0 -/* 802D5D40 002D2C80 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5D44 002D2C84 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5D48 002D2C88 7C 7F 1B 78 */ mr r31, r3 -/* 802D5D4C 002D2C8C 48 00 0A 25 */ bl JKRArchive_NS_findIdResource -/* 802D5D50 002D2C90 7C 64 1B 79 */ or. r4, r3, r3 -/* 802D5D54 002D2C94 41 82 00 20 */ beq lbl_802D5D74 -/* 802D5D58 002D2C98 7F E3 FB 78 */ mr r3, r31 -/* 802D5D5C 002D2C9C 38 A0 00 00 */ li r5, 0 -/* 802D5D60 002D2CA0 81 9F 00 00 */ lwz r12, 0(r31) -/* 802D5D64 002D2CA4 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802D5D68 002D2CA8 7D 89 03 A6 */ mtctr r12 -/* 802D5D6C 002D2CAC 4E 80 04 21 */ bctrl -/* 802D5D70 002D2CB0 48 00 00 08 */ b lbl_802D5D78 -lbl_802D5D74: -/* 802D5D74 002D2CB4 38 60 00 00 */ li r3, 0 -lbl_802D5D78: -/* 802D5D78 002D2CB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5D7C 002D2CBC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5D80 002D2CC0 7C 08 03 A6 */ mtlr r0 -/* 802D5D84 002D2CC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5D88 002D2CC8 4E 80 00 20 */ blr -/* 802D5D8C 002D2CCC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5D90 002D2CD0 7C 08 02 A6 */ mflr r0 -/* 802D5D94 002D2CD4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5D98 002D2CD8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5D9C 002D2CDC 48 08 C4 41 */ bl _savegpr_29 -/* 802D5DA0 002D2CE0 7C 7D 1B 78 */ mr r29, r3 -/* 802D5DA4 002D2CE4 7C 9E 23 78 */ mr r30, r4 -/* 802D5DA8 002D2CE8 7C BF 2B 78 */ mr r31, r5 -/* 802D5DAC 002D2CEC 28 06 00 00 */ cmplwi r6, 0 -/* 802D5DB0 002D2CF0 41 82 00 10 */ beq lbl_802D5DC0 -/* 802D5DB4 002D2CF4 3C 06 C0 C1 */ addis r0, r6, 0xc0c1 -/* 802D5DB8 002D2CF8 28 00 3F 3F */ cmplwi r0, 0x3f3f -/* 802D5DBC 002D2CFC 40 82 00 18 */ bne lbl_802D5DD4 -lbl_802D5DC0: -/* 802D5DC0 002D2D00 7F A3 EB 78 */ mr r3, r29 -/* 802D5DC4 002D2D04 7C E4 3B 78 */ mr r4, r7 -/* 802D5DC8 002D2D08 48 00 08 E5 */ bl JKRArchive_NS_findNameResource -/* 802D5DCC 002D2D0C 7C 66 1B 78 */ mr r6, r3 -/* 802D5DD0 002D2D10 48 00 00 14 */ b lbl_802D5DE4 -lbl_802D5DD4: -/* 802D5DD4 002D2D14 7C C4 33 78 */ mr r4, r6 -/* 802D5DD8 002D2D18 7C E5 3B 78 */ mr r5, r7 -/* 802D5DDC 002D2D1C 48 00 07 19 */ bl JKRArchive_NS_findTypeResource -/* 802D5DE0 002D2D20 7C 66 1B 78 */ mr r6, r3 -lbl_802D5DE4: -/* 802D5DE4 002D2D24 28 06 00 00 */ cmplwi r6, 0 -/* 802D5DE8 002D2D28 41 82 00 2C */ beq lbl_802D5E14 -/* 802D5DEC 002D2D2C 7F A3 EB 78 */ mr r3, r29 -/* 802D5DF0 002D2D30 7F C4 F3 78 */ mr r4, r30 -/* 802D5DF4 002D2D34 7F E5 FB 78 */ mr r5, r31 -/* 802D5DF8 002D2D38 38 E1 00 08 */ addi r7, r1, 8 -/* 802D5DFC 002D2D3C 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D5E00 002D2D40 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802D5E04 002D2D44 7D 89 03 A6 */ mtctr r12 -/* 802D5E08 002D2D48 4E 80 04 21 */ bctrl -/* 802D5E0C 002D2D4C 80 61 00 08 */ lwz r3, 8(r1) -/* 802D5E10 002D2D50 48 00 00 08 */ b lbl_802D5E18 -lbl_802D5E14: -/* 802D5E14 002D2D54 38 60 00 00 */ li r3, 0 -lbl_802D5E18: -/* 802D5E18 002D2D58 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5E1C 002D2D5C 48 08 C4 0D */ bl _restgpr_29 -/* 802D5E20 002D2D60 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5E24 002D2D64 7C 08 03 A6 */ mtlr r0 -/* 802D5E28 002D2D68 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5E2C 002D2D6C 4E 80 00 20 */ blr -/* 802D5E30 002D2D70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5E34 002D2D74 7C 08 02 A6 */ mflr r0 -/* 802D5E38 002D2D78 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5E3C 002D2D7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5E40 002D2D80 48 08 C3 9D */ bl _savegpr_29 -/* 802D5E44 002D2D84 7C 7D 1B 78 */ mr r29, r3 -/* 802D5E48 002D2D88 7C 9E 23 78 */ mr r30, r4 -/* 802D5E4C 002D2D8C 7C BF 2B 78 */ mr r31, r5 -/* 802D5E50 002D2D90 88 06 00 00 */ lbz r0, 0(r6) -/* 802D5E54 002D2D94 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D5E58 002D2D98 40 82 00 18 */ bne lbl_802D5E70 -/* 802D5E5C 002D2D9C 38 86 00 01 */ addi r4, r6, 1 -/* 802D5E60 002D2DA0 38 A0 00 00 */ li r5, 0 -/* 802D5E64 002D2DA4 48 00 07 41 */ bl JKRArchive_NS_findFsResource -/* 802D5E68 002D2DA8 7C 66 1B 78 */ mr r6, r3 -/* 802D5E6C 002D2DAC 48 00 00 14 */ b lbl_802D5E80 -lbl_802D5E70: -/* 802D5E70 002D2DB0 7C C4 33 78 */ mr r4, r6 -/* 802D5E74 002D2DB4 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) -/* 802D5E78 002D2DB8 48 00 07 2D */ bl JKRArchive_NS_findFsResource -/* 802D5E7C 002D2DBC 7C 66 1B 78 */ mr r6, r3 -lbl_802D5E80: -/* 802D5E80 002D2DC0 28 06 00 00 */ cmplwi r6, 0 -/* 802D5E84 002D2DC4 41 82 00 2C */ beq lbl_802D5EB0 -/* 802D5E88 002D2DC8 7F A3 EB 78 */ mr r3, r29 -/* 802D5E8C 002D2DCC 7F C4 F3 78 */ mr r4, r30 -/* 802D5E90 002D2DD0 7F E5 FB 78 */ mr r5, r31 -/* 802D5E94 002D2DD4 38 E1 00 08 */ addi r7, r1, 8 -/* 802D5E98 002D2DD8 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D5E9C 002D2DDC 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802D5EA0 002D2DE0 7D 89 03 A6 */ mtctr r12 -/* 802D5EA4 002D2DE4 4E 80 04 21 */ bctrl -/* 802D5EA8 002D2DE8 80 61 00 08 */ lwz r3, 8(r1) -/* 802D5EAC 002D2DEC 48 00 00 08 */ b lbl_802D5EB4 -lbl_802D5EB0: -/* 802D5EB0 002D2DF0 38 60 00 00 */ li r3, 0 -lbl_802D5EB4: -/* 802D5EB4 002D2DF4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5EB8 002D2DF8 48 08 C3 71 */ bl _restgpr_29 -/* 802D5EBC 002D2DFC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5EC0 002D2E00 7C 08 03 A6 */ mtlr r0 -/* 802D5EC4 002D2E04 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5EC8 002D2E08 4E 80 00 20 */ blr - -.global JKRArchive_NS_readIdxResource -JKRArchive_NS_readIdxResource: -/* 802D5ECC 002D2E0C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5ED0 002D2E10 7C 08 02 A6 */ mflr r0 -/* 802D5ED4 002D2E14 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5ED8 002D2E18 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5EDC 002D2E1C 48 08 C3 01 */ bl _savegpr_29 -/* 802D5EE0 002D2E20 7C 7D 1B 78 */ mr r29, r3 -/* 802D5EE4 002D2E24 7C 9E 23 78 */ mr r30, r4 -/* 802D5EE8 002D2E28 7C BF 2B 78 */ mr r31, r5 -/* 802D5EEC 002D2E2C 7C C4 33 78 */ mr r4, r6 -/* 802D5EF0 002D2E30 48 00 07 95 */ bl JKRArchive_NS_findIdxResource -/* 802D5EF4 002D2E34 7C 66 1B 79 */ or. r6, r3, r3 -/* 802D5EF8 002D2E38 41 82 00 2C */ beq lbl_802D5F24 -/* 802D5EFC 002D2E3C 7F A3 EB 78 */ mr r3, r29 -/* 802D5F00 002D2E40 7F C4 F3 78 */ mr r4, r30 -/* 802D5F04 002D2E44 7F E5 FB 78 */ mr r5, r31 -/* 802D5F08 002D2E48 38 E1 00 08 */ addi r7, r1, 8 -/* 802D5F0C 002D2E4C 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D5F10 002D2E50 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802D5F14 002D2E54 7D 89 03 A6 */ mtctr r12 -/* 802D5F18 002D2E58 4E 80 04 21 */ bctrl -/* 802D5F1C 002D2E5C 80 61 00 08 */ lwz r3, 8(r1) -/* 802D5F20 002D2E60 48 00 00 08 */ b lbl_802D5F28 -lbl_802D5F24: -/* 802D5F24 002D2E64 38 60 00 00 */ li r3, 0 -lbl_802D5F28: -/* 802D5F28 002D2E68 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5F2C 002D2E6C 48 08 C2 FD */ bl _restgpr_29 -/* 802D5F30 002D2E70 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5F34 002D2E74 7C 08 03 A6 */ mtlr r0 -/* 802D5F38 002D2E78 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5F3C 002D2E7C 4E 80 00 20 */ blr - -.global JKRArchive_NS_readResource_X2_ -JKRArchive_NS_readResource_X2_: -/* 802D5F40 002D2E80 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5F44 002D2E84 7C 08 02 A6 */ mflr r0 -/* 802D5F48 002D2E88 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5F4C 002D2E8C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5F50 002D2E90 48 08 C2 8D */ bl _savegpr_29 -/* 802D5F54 002D2E94 7C 7D 1B 78 */ mr r29, r3 -/* 802D5F58 002D2E98 7C 9E 23 78 */ mr r30, r4 -/* 802D5F5C 002D2E9C 7C BF 2B 78 */ mr r31, r5 -/* 802D5F60 002D2EA0 7C C4 33 78 */ mr r4, r6 -/* 802D5F64 002D2EA4 48 00 08 0D */ bl JKRArchive_NS_findIdResource -/* 802D5F68 002D2EA8 7C 66 1B 79 */ or. r6, r3, r3 -/* 802D5F6C 002D2EAC 41 82 00 2C */ beq lbl_802D5F98 -/* 802D5F70 002D2EB0 7F A3 EB 78 */ mr r3, r29 -/* 802D5F74 002D2EB4 7F C4 F3 78 */ mr r4, r30 -/* 802D5F78 002D2EB8 7F E5 FB 78 */ mr r5, r31 -/* 802D5F7C 002D2EBC 38 E1 00 08 */ addi r7, r1, 8 -/* 802D5F80 002D2EC0 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D5F84 002D2EC4 81 8C 00 44 */ lwz r12, 0x44(r12) -/* 802D5F88 002D2EC8 7D 89 03 A6 */ mtctr r12 -/* 802D5F8C 002D2ECC 4E 80 04 21 */ bctrl -/* 802D5F90 002D2ED0 80 61 00 08 */ lwz r3, 8(r1) -/* 802D5F94 002D2ED4 48 00 00 08 */ b lbl_802D5F9C -lbl_802D5F98: -/* 802D5F98 002D2ED8 38 60 00 00 */ li r3, 0 -lbl_802D5F9C: -/* 802D5F9C 002D2EDC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5FA0 002D2EE0 48 08 C2 89 */ bl _restgpr_29 -/* 802D5FA4 002D2EE4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5FA8 002D2EE8 7C 08 03 A6 */ mtlr r0 -/* 802D5FAC 002D2EEC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5FB0 002D2EF0 4E 80 00 20 */ blr -/* 802D5FB4 002D2EF4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5FB8 002D2EF8 7C 08 02 A6 */ mflr r0 -/* 802D5FBC 002D2EFC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5FC0 002D2F00 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5FC4 002D2F04 48 08 C2 15 */ bl _savegpr_28 -/* 802D5FC8 002D2F08 7C 7C 1B 78 */ mr r28, r3 -/* 802D5FCC 002D2F0C 80 03 00 44 */ lwz r0, 0x44(r3) -/* 802D5FD0 002D2F10 28 00 00 00 */ cmplwi r0, 0 -/* 802D5FD4 002D2F14 41 82 00 50 */ beq lbl_802D6024 -/* 802D5FD8 002D2F18 88 1C 00 3C */ lbz r0, 0x3c(r28) -/* 802D5FDC 002D2F1C 28 00 00 01 */ cmplwi r0, 1 -/* 802D5FE0 002D2F20 41 82 00 44 */ beq lbl_802D6024 -/* 802D5FE4 002D2F24 83 DC 00 4C */ lwz r30, 0x4c(r28) -/* 802D5FE8 002D2F28 3B A0 00 00 */ li r29, 0 -/* 802D5FEC 002D2F2C 3B E0 00 00 */ li r31, 0 -/* 802D5FF0 002D2F30 48 00 00 24 */ b lbl_802D6014 -lbl_802D5FF4: -/* 802D5FF4 002D2F34 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 802D5FF8 002D2F38 28 03 00 00 */ cmplwi r3, 0 -/* 802D5FFC 002D2F3C 41 82 00 10 */ beq lbl_802D600C -/* 802D6000 002D2F40 80 9C 00 38 */ lwz r4, 0x38(r28) -/* 802D6004 002D2F44 4B FF 84 FD */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D6008 002D2F48 93 FE 00 10 */ stw r31, 0x10(r30) -lbl_802D600C: -/* 802D600C 002D2F4C 3B DE 00 14 */ addi r30, r30, 0x14 -/* 802D6010 002D2F50 3B BD 00 01 */ addi r29, r29, 1 -lbl_802D6014: -/* 802D6014 002D2F54 80 7C 00 44 */ lwz r3, 0x44(r28) -/* 802D6018 002D2F58 80 03 00 08 */ lwz r0, 8(r3) -/* 802D601C 002D2F5C 7C 1D 00 40 */ cmplw r29, r0 -/* 802D6020 002D2F60 41 80 FF D4 */ blt lbl_802D5FF4 -lbl_802D6024: -/* 802D6024 002D2F64 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D6028 002D2F68 48 08 C1 FD */ bl _restgpr_28 -/* 802D602C 002D2F6C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D6030 002D2F70 7C 08 03 A6 */ mtlr r0 -/* 802D6034 002D2F74 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D6038 002D2F78 4E 80 00 20 */ blr -/* 802D603C 002D2F7C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D6040 002D2F80 7C 08 02 A6 */ mflr r0 -/* 802D6044 002D2F84 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D6048 002D2F88 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D604C 002D2F8C 93 C1 00 08 */ stw r30, 8(r1) -/* 802D6050 002D2F90 7C 7E 1B 78 */ mr r30, r3 -/* 802D6054 002D2F94 7C 9F 23 78 */ mr r31, r4 -/* 802D6058 002D2F98 48 00 06 DD */ bl JKRArchive_NS_findPtrResource -/* 802D605C 002D2F9C 28 03 00 00 */ cmplwi r3, 0 -/* 802D6060 002D2FA0 40 82 00 0C */ bne lbl_802D606C -/* 802D6064 002D2FA4 38 60 00 00 */ li r3, 0 -/* 802D6068 002D2FA8 48 00 00 1C */ b lbl_802D6084 -lbl_802D606C: -/* 802D606C 002D2FAC 38 00 00 00 */ li r0, 0 -/* 802D6070 002D2FB0 90 03 00 10 */ stw r0, 0x10(r3) -/* 802D6074 002D2FB4 7F E3 FB 78 */ mr r3, r31 -/* 802D6078 002D2FB8 80 9E 00 38 */ lwz r4, 0x38(r30) -/* 802D607C 002D2FBC 4B FF 84 85 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D6080 002D2FC0 38 60 00 01 */ li r3, 1 -lbl_802D6084: -/* 802D6084 002D2FC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D6088 002D2FC8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D608C 002D2FCC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D6090 002D2FD0 7C 08 03 A6 */ mtlr r0 -/* 802D6094 002D2FD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D6098 002D2FD8 4E 80 00 20 */ blr -/* 802D609C 002D2FDC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D60A0 002D2FE0 7C 08 02 A6 */ mflr r0 -/* 802D60A4 002D2FE4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D60A8 002D2FE8 48 00 06 8D */ bl JKRArchive_NS_findPtrResource -/* 802D60AC 002D2FEC 28 03 00 00 */ cmplwi r3, 0 -/* 802D60B0 002D2FF0 40 82 00 0C */ bne lbl_802D60BC -/* 802D60B4 002D2FF4 38 60 00 00 */ li r3, 0 -/* 802D60B8 002D2FF8 48 00 00 10 */ b lbl_802D60C8 -lbl_802D60BC: -/* 802D60BC 002D2FFC 38 00 00 00 */ li r0, 0 -/* 802D60C0 002D3000 90 03 00 10 */ stw r0, 0x10(r3) -/* 802D60C4 002D3004 38 60 00 01 */ li r3, 1 -lbl_802D60C8: -/* 802D60C8 002D3008 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D60CC 002D300C 7C 08 03 A6 */ mtlr r0 -/* 802D60D0 002D3010 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D60D4 002D3014 4E 80 00 20 */ blr -/* 802D60D8 002D3018 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D60DC 002D301C 7C 08 02 A6 */ mflr r0 -/* 802D60E0 002D3020 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D60E4 002D3024 48 00 06 51 */ bl JKRArchive_NS_findPtrResource -/* 802D60E8 002D3028 28 03 00 00 */ cmplwi r3, 0 -/* 802D60EC 002D302C 40 82 00 0C */ bne lbl_802D60F8 -/* 802D60F0 002D3030 38 60 FF FF */ li r3, -1 -/* 802D60F4 002D3034 48 00 00 08 */ b lbl_802D60FC -lbl_802D60F8: -/* 802D60F8 002D3038 80 63 00 0C */ lwz r3, 0xc(r3) -lbl_802D60FC: -/* 802D60FC 002D303C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D6100 002D3040 7C 08 03 A6 */ mtlr r0 -/* 802D6104 002D3044 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D6108 002D3048 4E 80 00 20 */ blr - -.global JKRArchive_NS_countResource -JKRArchive_NS_countResource: -/* 802D610C 002D304C 38 C0 00 00 */ li r6, 0 -/* 802D6110 002D3050 38 80 00 00 */ li r4, 0 -/* 802D6114 002D3054 80 A3 00 44 */ lwz r5, 0x44(r3) -/* 802D6118 002D3058 80 05 00 08 */ lwz r0, 8(r5) -/* 802D611C 002D305C 80 63 00 4C */ lwz r3, 0x4c(r3) -/* 802D6120 002D3060 7C 09 03 A6 */ mtctr r0 -/* 802D6124 002D3064 28 00 00 00 */ cmplwi r0, 0 -/* 802D6128 002D3068 40 81 00 20 */ ble lbl_802D6148 -lbl_802D612C: -/* 802D612C 002D306C 38 04 00 04 */ addi r0, r4, 4 -/* 802D6130 002D3070 7C 03 00 2E */ lwzx r0, r3, r0 -/* 802D6134 002D3074 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f -/* 802D6138 002D3078 41 82 00 08 */ beq lbl_802D6140 -/* 802D613C 002D307C 38 C6 00 01 */ addi r6, r6, 1 -lbl_802D6140: -/* 802D6140 002D3080 38 84 00 14 */ addi r4, r4, 0x14 -/* 802D6144 002D3084 42 00 FF E8 */ bdnz lbl_802D612C -lbl_802D6148: -/* 802D6148 002D3088 7C C3 33 78 */ mr r3, r6 -/* 802D614C 002D308C 4E 80 00 20 */ blr -/* 802D6150 002D3090 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D6154 002D3094 7C 08 02 A6 */ mflr r0 -/* 802D6158 002D3098 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D615C 002D309C 88 04 00 00 */ lbz r0, 0(r4) -/* 802D6160 002D30A0 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D6164 002D30A4 40 82 00 20 */ bne lbl_802D6184 -/* 802D6168 002D30A8 8C 04 00 01 */ lbzu r0, 1(r4) -/* 802D616C 002D30AC 7C 00 07 75 */ extsb. r0, r0 -/* 802D6170 002D30B0 40 82 00 08 */ bne lbl_802D6178 -/* 802D6174 002D30B4 38 80 00 00 */ li r4, 0 -lbl_802D6178: -/* 802D6178 002D30B8 38 A0 00 00 */ li r5, 0 -/* 802D617C 002D30BC 48 00 02 A1 */ bl JKRArchive_NS_findDirectory -/* 802D6180 002D30C0 48 00 00 0C */ b lbl_802D618C -lbl_802D6184: -/* 802D6184 002D30C4 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) -/* 802D6188 002D30C8 48 00 02 95 */ bl JKRArchive_NS_findDirectory -lbl_802D618C: -/* 802D618C 002D30CC 28 03 00 00 */ cmplwi r3, 0 -/* 802D6190 002D30D0 41 82 00 0C */ beq lbl_802D619C -/* 802D6194 002D30D4 A0 63 00 0A */ lhz r3, 0xa(r3) -/* 802D6198 002D30D8 48 00 00 08 */ b lbl_802D61A0 -lbl_802D619C: -/* 802D619C 002D30DC 38 60 00 00 */ li r3, 0 -lbl_802D61A0: -/* 802D61A0 002D30E0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D61A4 002D30E4 7C 08 03 A6 */ mtlr r0 -/* 802D61A8 002D30E8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D61AC 002D30EC 4E 80 00 20 */ blr -/* 802D61B0 002D30F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D61B4 002D30F4 7C 08 02 A6 */ mflr r0 -/* 802D61B8 002D30F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D61BC 002D30FC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D61C0 002D3100 93 C1 00 08 */ stw r30, 8(r1) -/* 802D61C4 002D3104 7C 7E 1B 78 */ mr r30, r3 -/* 802D61C8 002D3108 88 04 00 00 */ lbz r0, 0(r4) -/* 802D61CC 002D310C 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D61D0 002D3110 40 82 00 28 */ bne lbl_802D61F8 -/* 802D61D4 002D3114 8C 04 00 01 */ lbzu r0, 1(r4) -/* 802D61D8 002D3118 7C 00 07 75 */ extsb. r0, r0 -/* 802D61DC 002D311C 40 82 00 08 */ bne lbl_802D61E4 -/* 802D61E0 002D3120 38 80 00 00 */ li r4, 0 -lbl_802D61E4: -/* 802D61E4 002D3124 7F C3 F3 78 */ mr r3, r30 -/* 802D61E8 002D3128 38 A0 00 00 */ li r5, 0 -/* 802D61EC 002D312C 48 00 02 31 */ bl JKRArchive_NS_findDirectory -/* 802D61F0 002D3130 7C 7F 1B 78 */ mr r31, r3 -/* 802D61F4 002D3134 48 00 00 10 */ b lbl_802D6204 -lbl_802D61F8: -/* 802D61F8 002D3138 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) -/* 802D61FC 002D313C 48 00 02 21 */ bl JKRArchive_NS_findDirectory -/* 802D6200 002D3140 7C 7F 1B 78 */ mr r31, r3 -lbl_802D6204: -/* 802D6204 002D3144 28 1F 00 00 */ cmplwi r31, 0 -/* 802D6208 002D3148 41 82 00 38 */ beq lbl_802D6240 -/* 802D620C 002D314C 38 60 00 24 */ li r3, 0x24 -/* 802D6210 002D3150 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) -/* 802D6214 002D3154 38 A0 00 00 */ li r5, 0 -/* 802D6218 002D3158 4B FF 8A 81 */ bl __nw__FUlP7JKRHeapi -/* 802D621C 002D315C 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D6220 002D3160 41 82 00 18 */ beq lbl_802D6238 -/* 802D6224 002D3164 7F C4 F3 78 */ mr r4, r30 -/* 802D6228 002D3168 80 BF 00 0C */ lwz r5, 0xc(r31) -/* 802D622C 002D316C A0 DF 00 0A */ lhz r6, 0xa(r31) -/* 802D6230 002D3170 4B FF E4 09 */ bl JKRArcFinder -/* 802D6234 002D3174 7C 60 1B 78 */ mr r0, r3 -lbl_802D6238: -/* 802D6238 002D3178 7C 03 03 78 */ mr r3, r0 -/* 802D623C 002D317C 48 00 00 08 */ b lbl_802D6244 -lbl_802D6240: -/* 802D6240 002D3180 38 60 00 00 */ li r3, 0 -lbl_802D6244: -/* 802D6244 002D3184 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D6248 002D3188 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D624C 002D318C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D6250 002D3190 7C 08 03 A6 */ mtlr r0 -/* 802D6254 002D3194 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D6258 002D3198 4E 80 00 20 */ blr - -.global JKRArchive_NS_getFileAttribute -JKRArchive_NS_getFileAttribute: -/* 802D625C 002D319C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D6260 002D31A0 7C 08 02 A6 */ mflr r0 -/* 802D6264 002D31A4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D6268 002D31A8 48 00 04 1D */ bl JKRArchive_NS_findIdxResource -/* 802D626C 002D31AC 28 03 00 00 */ cmplwi r3, 0 -/* 802D6270 002D31B0 41 82 00 10 */ beq lbl_802D6280 -/* 802D6274 002D31B4 80 03 00 04 */ lwz r0, 4(r3) -/* 802D6278 002D31B8 54 03 46 3E */ srwi r3, r0, 0x18 -/* 802D627C 002D31BC 48 00 00 08 */ b lbl_802D6284 -lbl_802D6280: -/* 802D6280 002D31C0 38 60 00 00 */ li r3, 0 -lbl_802D6284: -/* 802D6284 002D31C4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D6288 002D31C8 7C 08 03 A6 */ mtlr r0 -/* 802D628C 002D31CC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D6290 002D31D0 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRAssertHeap.s b/asm/JKernel/JKRAssertHeap.s index aeb6667ade..6910d246e2 100644 --- a/asm/JKernel/JKRAssertHeap.s +++ b/asm/JKernel/JKRAssertHeap.s @@ -3,8 +3,8 @@ .section .text, "ax" # 802d12c4 -.global JKRAssertHeap -JKRAssertHeap: +.global __ct__13JKRAssertHeapFPvUlP7JKRHeapb +__ct__13JKRAssertHeapFPvUlP7JKRHeapb: /* 802D12C4 002CE204 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D12C8 002CE208 7C 08 02 A6 */ mflr r0 /* 802D12CC 002CE20C 90 01 00 14 */ stw r0, 0x14(r1) @@ -48,8 +48,8 @@ lbl_802D134C: /* 802D1360 002CE2A0 38 21 00 10 */ addi r1, r1, 0x10 /* 802D1364 002CE2A4 4E 80 00 20 */ blr -.global JKRAssertHeap_NS_create -JKRAssertHeap_NS_create: +.global create__13JKRAssertHeapFP7JKRHeap +create__13JKRAssertHeapFP7JKRHeap: /* 802D1368 002CE2A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D136C 002CE2AC 7C 08 02 A6 */ mflr r0 /* 802D1370 002CE2B0 90 01 00 14 */ stw r0, 0x14(r1) @@ -72,7 +72,7 @@ lbl_802D13A4: /* 802D13AC 002CE2EC 38 A0 00 00 */ li r5, 0 /* 802D13B0 002CE2F0 7F E6 FB 78 */ mr r6, r31 /* 802D13B4 002CE2F4 38 E0 00 00 */ li r7, 0 -/* 802D13B8 002CE2F8 4B FF FF 0D */ bl JKRAssertHeap +/* 802D13B8 002CE2F8 4B FF FF 0D */ bl __ct__13JKRAssertHeapFPvUlP7JKRHeapb /* 802D13BC 002CE2FC 7C 60 1B 78 */ mr r0, r3 lbl_802D13C0: /* 802D13C0 002CE300 7C 03 03 78 */ mr r3, r0 diff --git a/asm/JKernel/JKRCompArchive.s b/asm/JKernel/JKRCompArchive.s index d9cc1a3a73..2411ab8a3a 100644 --- a/asm/JKernel/JKRCompArchive.s +++ b/asm/JKernel/JKRCompArchive.s @@ -14,7 +14,7 @@ JKRCompArchive: /* 802D87EC 002D572C 7C 9E 23 78 */ mr r30, r4 /* 802D87F0 002D5730 7C BF 2B 78 */ mr r31, r5 /* 802D87F4 002D5734 38 A0 00 04 */ li r5, 4 -/* 802D87F8 002D5738 4B FF DA 9D */ bl JKRArchive +/* 802D87F8 002D5738 4B FF DA 9D */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode /* 802D87FC 002D573C 3C 60 80 3D */ lis r3, lbl_803CC3E8@ha /* 802D8800 002D5740 38 03 C3 E8 */ addi r0, r3, lbl_803CC3E8@l /* 802D8804 002D5744 90 1D 00 00 */ stw r0, 0(r29) @@ -124,7 +124,7 @@ lbl_802D896C: /* 802D8980 002D58C0 98 1E 00 30 */ stb r0, 0x30(r30) /* 802D8984 002D58C4 7F C3 F3 78 */ mr r3, r30 /* 802D8988 002D58C8 38 80 00 00 */ li r4, 0 -/* 802D898C 002D58CC 4B FF D9 A9 */ bl JKRArchive_NS_dtor +/* 802D898C 002D58CC 4B FF D9 A9 */ bl __dt__10JKRArchiveFv /* 802D8990 002D58D0 7F E0 07 35 */ extsh. r0, r31 /* 802D8994 002D58D4 40 81 00 0C */ ble lbl_802D89A0 /* 802D8998 002D58D8 7F C3 F3 78 */ mr r3, r30 @@ -165,7 +165,7 @@ JKRCompArchive_NS_open: /* 802D8A14 002D5954 7C 60 1B 79 */ or. r0, r3, r3 /* 802D8A18 002D5958 41 82 00 10 */ beq lbl_802D8A28 /* 802D8A1C 002D595C 7F 44 D3 78 */ mr r4, r26 -/* 802D8A20 002D5960 48 00 0C 81 */ bl JKRDvdFile_X2_ +/* 802D8A20 002D5960 48 00 0C 81 */ bl __ct__10JKRDvdFileFl /* 802D8A24 002D5964 7C 60 1B 78 */ mr r0, r3 lbl_802D8A28: /* 802D8A28 002D5968 90 1F 00 70 */ stw r0, 0x70(r31) @@ -788,7 +788,7 @@ lbl_802D92DC: /* 802D9304 002D6244 48 08 8E D9 */ bl _savegpr_29 /* 802D9308 002D6248 7C 7D 1B 78 */ mr r29, r3 /* 802D930C 002D624C 7C 9E 23 78 */ mr r30, r4 -/* 802D9310 002D6250 4B FF D4 25 */ bl JKRArchive_NS_findPtrResource +/* 802D9310 002D6250 4B FF D4 25 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D9314 002D6254 7C 7F 1B 79 */ or. r31, r3, r3 /* 802D9318 002D6258 40 82 00 0C */ bne lbl_802D9324 /* 802D931C 002D625C 38 60 00 00 */ li r3, 0 @@ -827,7 +827,7 @@ lbl_802D9348: /* 802D9394 002D62D4 4E 80 04 21 */ bctrl /* 802D9398 002D62D8 48 00 01 68 */ b lbl_802D9500 lbl_802D939C: -/* 802D939C 002D62DC 4B FF D3 99 */ bl JKRArchive_NS_findPtrResource +/* 802D939C 002D62DC 4B FF D3 99 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D93A0 002D62E0 7C 7F 1B 79 */ or. r31, r3, r3 /* 802D93A4 002D62E4 40 82 00 0C */ bne lbl_802D93B0 /* 802D93A8 002D62E8 38 60 FF FF */ li r3, -1 diff --git a/asm/JKernel/JKRDecomp.s b/asm/JKernel/JKRDecomp.s index 67f02ba70b..20755718f0 100644 --- a/asm/JKernel/JKRDecomp.s +++ b/asm/JKernel/JKRDecomp.s @@ -42,7 +42,7 @@ JKRDecomp: /* 802DB6F4 002D8634 7C 86 23 78 */ mr r6, r4 /* 802DB6F8 002D8638 38 80 08 00 */ li r4, 0x800 /* 802DB6FC 002D863C 38 A0 00 10 */ li r5, 0x10 -/* 802DB700 002D8640 4B FF 5E 69 */ bl JKRThread +/* 802DB700 002D8640 4B FF 5E 69 */ bl __ct__9JKRThreadFUlii /* 802DB704 002D8644 3C 60 80 3D */ lis r3, lbl_803CC4A0@ha /* 802DB708 002D8648 38 03 C4 A0 */ addi r0, r3, lbl_803CC4A0@l /* 802DB70C 002D864C 90 1F 00 00 */ stw r0, 0(r31) @@ -66,7 +66,7 @@ JKRDecomp: /* 802DB754 002D8694 38 04 C4 A0 */ addi r0, r4, lbl_803CC4A0@l /* 802DB758 002D8698 90 1E 00 00 */ stw r0, 0(r30) /* 802DB75C 002D869C 38 80 00 00 */ li r4, 0 -/* 802DB760 002D86A0 4B FF 5F F9 */ bl JKRThread_NS_dtor +/* 802DB760 002D86A0 4B FF 5F F9 */ bl __dt__9JKRThreadFv /* 802DB764 002D86A4 7F E0 07 35 */ extsh. r0, r31 /* 802DB768 002D86A8 40 81 00 0C */ ble lbl_802DB774 /* 802DB76C 002D86AC 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JKernel/JKRDvdAramRipper.s b/asm/JKernel/JKRDvdAramRipper.s index 7138d31847..98b6e41f63 100644 --- a/asm/JKernel/JKRDvdAramRipper.s +++ b/asm/JKernel/JKRDvdAramRipper.s @@ -17,15 +17,15 @@ JKRDvdAramRipper_NS_loadToAram: /* 802DA898 002D77D8 7C FE 3B 78 */ mr r30, r7 /* 802DA89C 002D77DC 7D 1F 43 78 */ mr r31, r8 /* 802DA8A0 002D77E0 38 61 00 08 */ addi r3, r1, 8 -/* 802DA8A4 002D77E4 4B FF EC E1 */ bl JKRDvdFile +/* 802DA8A4 002D77E4 4B FF EC E1 */ bl __ct__10JKRDvdFileFv /* 802DA8A8 002D77E8 38 61 00 08 */ addi r3, r1, 8 /* 802DA8AC 002D77EC 7F 44 D3 78 */ mr r4, r26 -/* 802DA8B0 002D77F0 4B FF F0 15 */ bl JKRDvdFile_NS_open_X1_ +/* 802DA8B0 002D77F0 4B FF F0 15 */ bl open__10JKRDvdFileFl /* 802DA8B4 002D77F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802DA8B8 002D77F8 40 82 00 18 */ bne lbl_802DA8D0 /* 802DA8BC 002D77FC 38 61 00 08 */ addi r3, r1, 8 /* 802DA8C0 002D7800 38 80 FF FF */ li r4, -1 -/* 802DA8C4 002D7804 4B FF EE 85 */ bl JKRDvdFile_NS_dtor +/* 802DA8C4 002D7804 4B FF EE 85 */ bl __dt__10JKRDvdFileFv /* 802DA8C8 002D7808 38 60 00 00 */ li r3, 0 /* 802DA8CC 002D780C 48 00 00 34 */ b lbl_802DA900 lbl_802DA8D0: @@ -39,7 +39,7 @@ lbl_802DA8D0: /* 802DA8EC 002D782C 7C 7F 1B 78 */ mr r31, r3 /* 802DA8F0 002D7830 38 61 00 08 */ addi r3, r1, 8 /* 802DA8F4 002D7834 38 80 FF FF */ li r4, -1 -/* 802DA8F8 002D7838 4B FF EE 51 */ bl JKRDvdFile_NS_dtor +/* 802DA8F8 002D7838 4B FF EE 51 */ bl __dt__10JKRDvdFileFv /* 802DA8FC 002D783C 7F E3 FB 78 */ mr r3, r31 lbl_802DA900: /* 802DA900 002D7840 39 61 01 20 */ addi r11, r1, 0x120 diff --git a/asm/JKernel/JKRDvdArchive.s b/asm/JKernel/JKRDvdArchive.s index bd9644cba0..2fbee2de7e 100644 --- a/asm/JKernel/JKRDvdArchive.s +++ b/asm/JKernel/JKRDvdArchive.s @@ -14,7 +14,7 @@ JKRDvdArchive: /* 802D7C08 002D4B48 7C 9E 23 78 */ mr r30, r4 /* 802D7C0C 002D4B4C 7C BF 2B 78 */ mr r31, r5 /* 802D7C10 002D4B50 38 A0 00 03 */ li r5, 3 -/* 802D7C14 002D4B54 4B FF E6 81 */ bl JKRArchive +/* 802D7C14 002D4B54 4B FF E6 81 */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode /* 802D7C18 002D4B58 3C 60 80 3D */ lis r3, lbl_803CC398@ha /* 802D7C1C 002D4B5C 38 03 C3 98 */ addi r0, r3, lbl_803CC398@l /* 802D7C20 002D4B60 90 1D 00 00 */ stw r0, 0(r29) @@ -115,7 +115,7 @@ lbl_802D7D64: lbl_802D7D7C: /* 802D7D7C 002D4CBC 7F E3 FB 78 */ mr r3, r31 /* 802D7D80 002D4CC0 38 80 00 00 */ li r4, 0 -/* 802D7D84 002D4CC4 4B FF E5 B1 */ bl JKRArchive_NS_dtor +/* 802D7D84 002D4CC4 4B FF E5 B1 */ bl __dt__10JKRArchiveFv /* 802D7D88 002D4CC8 7F 80 07 35 */ extsh. r0, r28 /* 802D7D8C 002D4CCC 40 81 00 0C */ ble lbl_802D7D98 /* 802D7D90 002D4CD0 7F E3 FB 78 */ mr r3, r31 @@ -151,7 +151,7 @@ JKRDvdArchive_NS_open: /* 802D7DF8 002D4D38 7C 60 1B 79 */ or. r0, r3, r3 /* 802D7DFC 002D4D3C 41 82 00 10 */ beq lbl_802D7E0C /* 802D7E00 002D4D40 7F 84 E3 78 */ mr r4, r28 -/* 802D7E04 002D4D44 48 00 18 9D */ bl JKRDvdFile_X2_ +/* 802D7E04 002D4D44 48 00 18 9D */ bl __ct__10JKRDvdFileFl /* 802D7E08 002D4D48 7C 60 1B 78 */ mr r0, r3 lbl_802D7E0C: /* 802D7E0C 002D4D4C 90 1D 00 68 */ stw r0, 0x68(r29) @@ -773,7 +773,7 @@ lbl_802D8680: /* 802D86CC 002D560C 4E 80 04 21 */ bctrl /* 802D86D0 002D5610 48 00 00 EC */ b lbl_802D87BC lbl_802D86D4: -/* 802D86D4 002D5614 4B FF E0 61 */ bl JKRArchive_NS_findPtrResource +/* 802D86D4 002D5614 4B FF E0 61 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D86D8 002D5618 7C 7D 1B 79 */ or. r29, r3, r3 /* 802D86DC 002D561C 40 82 00 0C */ bne lbl_802D86E8 /* 802D86E0 002D5620 38 60 FF FF */ li r3, -1 diff --git a/asm/JKernel/JKRDvdFile.s b/asm/JKernel/JKRDvdFile.s index de4f87fe4e..4d618874c3 100644 --- a/asm/JKernel/JKRDvdFile.s +++ b/asm/JKernel/JKRDvdFile.s @@ -1,400 +1,9 @@ .include "macros.inc" -.section .text, "ax" # 802d9584 +.section .text, "ax" # 802D9B00 - -.global JKRDvdFile -JKRDvdFile: -/* 802D9584 002D64C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D9588 002D64C8 7C 08 02 A6 */ mflr r0 -/* 802D958C 002D64CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9590 002D64D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D9594 002D64D4 93 C1 00 08 */ stw r30, 8(r1) -/* 802D9598 002D64D8 7C 7E 1B 78 */ mr r30, r3 -/* 802D959C 002D64DC 7F C0 F3 78 */ mr r0, r30 -/* 802D95A0 002D64E0 7C 1F 03 78 */ mr r31, r0 -/* 802D95A4 002D64E4 4B FF 7E D9 */ bl __ct__11JKRDisposerFv -/* 802D95A8 002D64E8 3C 60 80 3D */ lis r3, lbl_803CC328@ha -/* 802D95AC 002D64EC 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l -/* 802D95B0 002D64F0 90 1F 00 00 */ stw r0, 0(r31) -/* 802D95B4 002D64F4 38 00 00 00 */ li r0, 0 -/* 802D95B8 002D64F8 98 1F 00 18 */ stb r0, 0x18(r31) -/* 802D95BC 002D64FC 3C 60 80 3D */ lis r3, lbl_803CC438@ha -/* 802D95C0 002D6500 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l -/* 802D95C4 002D6504 90 1E 00 00 */ stw r0, 0(r30) -/* 802D95C8 002D6508 38 7E 00 E4 */ addi r3, r30, 0xe4 -/* 802D95CC 002D650C 7F C4 F3 78 */ mr r4, r30 -/* 802D95D0 002D6510 48 00 28 2D */ bl __ct__10JSUPtrLinkFPv -/* 802D95D4 002D6514 7F C3 F3 78 */ mr r3, r30 -/* 802D95D8 002D6518 48 00 02 0D */ bl JKRDvdFile_NS_initiate -/* 802D95DC 002D651C 7F C3 F3 78 */ mr r3, r30 -/* 802D95E0 002D6520 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D95E4 002D6524 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D95E8 002D6528 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D95EC 002D652C 7C 08 03 A6 */ mtlr r0 -/* 802D95F0 002D6530 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D95F4 002D6534 4E 80 00 20 */ blr - -.global JKRDvdFile_X1_ -JKRDvdFile_X1_: -/* 802D95F8 002D6538 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D95FC 002D653C 7C 08 02 A6 */ mflr r0 -/* 802D9600 002D6540 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D9604 002D6544 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D9608 002D6548 48 08 8B D5 */ bl _savegpr_29 -/* 802D960C 002D654C 7C 7D 1B 78 */ mr r29, r3 -/* 802D9610 002D6550 7C 9F 23 78 */ mr r31, r4 -/* 802D9614 002D6554 7F A0 EB 78 */ mr r0, r29 -/* 802D9618 002D6558 7C 1E 03 78 */ mr r30, r0 -/* 802D961C 002D655C 4B FF 7E 61 */ bl __ct__11JKRDisposerFv -/* 802D9620 002D6560 3C 60 80 3D */ lis r3, lbl_803CC328@ha -/* 802D9624 002D6564 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l -/* 802D9628 002D6568 90 1E 00 00 */ stw r0, 0(r30) -/* 802D962C 002D656C 38 00 00 00 */ li r0, 0 -/* 802D9630 002D6570 98 1E 00 18 */ stb r0, 0x18(r30) -/* 802D9634 002D6574 3C 60 80 3D */ lis r3, lbl_803CC438@ha -/* 802D9638 002D6578 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l -/* 802D963C 002D657C 90 1D 00 00 */ stw r0, 0(r29) -/* 802D9640 002D6580 38 7D 00 E4 */ addi r3, r29, 0xe4 -/* 802D9644 002D6584 7F A4 EB 78 */ mr r4, r29 -/* 802D9648 002D6588 48 00 27 B5 */ bl __ct__10JSUPtrLinkFPv -/* 802D964C 002D658C 7F A3 EB 78 */ mr r3, r29 -/* 802D9650 002D6590 48 00 01 95 */ bl JKRDvdFile_NS_initiate -/* 802D9654 002D6594 7F A3 EB 78 */ mr r3, r29 -/* 802D9658 002D6598 7F E4 FB 78 */ mr r4, r31 -/* 802D965C 002D659C 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D9660 002D65A0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802D9664 002D65A4 7D 89 03 A6 */ mtctr r12 -/* 802D9668 002D65A8 4E 80 04 21 */ bctrl -/* 802D966C 002D65AC 98 7D 00 18 */ stb r3, 0x18(r29) -/* 802D9670 002D65B0 88 1D 00 18 */ lbz r0, 0x18(r29) -/* 802D9674 002D65B4 28 00 00 00 */ cmplwi r0, 0 -/* 802D9678 002D65B8 41 82 00 0C */ beq lbl_802D9684 -/* 802D967C 002D65BC 7F A3 EB 78 */ mr r3, r29 -/* 802D9680 002D65C0 48 00 00 08 */ b lbl_802D9688 -lbl_802D9684: -/* 802D9684 002D65C4 7F A3 EB 78 */ mr r3, r29 -lbl_802D9688: -/* 802D9688 002D65C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D968C 002D65CC 48 08 8B 9D */ bl _restgpr_29 -/* 802D9690 002D65D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D9694 002D65D4 7C 08 03 A6 */ mtlr r0 -/* 802D9698 002D65D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D969C 002D65DC 4E 80 00 20 */ blr - -.global JKRDvdFile_X2_ -JKRDvdFile_X2_: -/* 802D96A0 002D65E0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D96A4 002D65E4 7C 08 02 A6 */ mflr r0 -/* 802D96A8 002D65E8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D96AC 002D65EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D96B0 002D65F0 48 08 8B 2D */ bl _savegpr_29 -/* 802D96B4 002D65F4 7C 7D 1B 78 */ mr r29, r3 -/* 802D96B8 002D65F8 7C 9F 23 78 */ mr r31, r4 -/* 802D96BC 002D65FC 7F A0 EB 78 */ mr r0, r29 -/* 802D96C0 002D6600 7C 1E 03 78 */ mr r30, r0 -/* 802D96C4 002D6604 4B FF 7D B9 */ bl __ct__11JKRDisposerFv -/* 802D96C8 002D6608 3C 60 80 3D */ lis r3, lbl_803CC328@ha -/* 802D96CC 002D660C 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l -/* 802D96D0 002D6610 90 1E 00 00 */ stw r0, 0(r30) -/* 802D96D4 002D6614 38 00 00 00 */ li r0, 0 -/* 802D96D8 002D6618 98 1E 00 18 */ stb r0, 0x18(r30) -/* 802D96DC 002D661C 3C 60 80 3D */ lis r3, lbl_803CC438@ha -/* 802D96E0 002D6620 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l -/* 802D96E4 002D6624 90 1D 00 00 */ stw r0, 0(r29) -/* 802D96E8 002D6628 38 7D 00 E4 */ addi r3, r29, 0xe4 -/* 802D96EC 002D662C 7F A4 EB 78 */ mr r4, r29 -/* 802D96F0 002D6630 48 00 27 0D */ bl __ct__10JSUPtrLinkFPv -/* 802D96F4 002D6634 7F A3 EB 78 */ mr r3, r29 -/* 802D96F8 002D6638 48 00 00 ED */ bl JKRDvdFile_NS_initiate -/* 802D96FC 002D663C 7F A3 EB 78 */ mr r3, r29 -/* 802D9700 002D6640 7F E4 FB 78 */ mr r4, r31 -/* 802D9704 002D6644 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D9708 002D6648 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 802D970C 002D664C 7D 89 03 A6 */ mtctr r12 -/* 802D9710 002D6650 4E 80 04 21 */ bctrl -/* 802D9714 002D6654 98 7D 00 18 */ stb r3, 0x18(r29) -/* 802D9718 002D6658 88 1D 00 18 */ lbz r0, 0x18(r29) -/* 802D971C 002D665C 28 00 00 00 */ cmplwi r0, 0 -/* 802D9720 002D6660 41 82 00 0C */ beq lbl_802D972C -/* 802D9724 002D6664 7F A3 EB 78 */ mr r3, r29 -/* 802D9728 002D6668 48 00 00 08 */ b lbl_802D9730 -lbl_802D972C: -/* 802D972C 002D666C 7F A3 EB 78 */ mr r3, r29 -lbl_802D9730: -/* 802D9730 002D6670 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D9734 002D6674 48 08 8A F5 */ bl _restgpr_29 -/* 802D9738 002D6678 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D973C 002D667C 7C 08 03 A6 */ mtlr r0 -/* 802D9740 002D6680 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D9744 002D6684 4E 80 00 20 */ blr - -.global JKRDvdFile_NS_dtor -JKRDvdFile_NS_dtor: -/* 802D9748 002D6688 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D974C 002D668C 7C 08 02 A6 */ mflr r0 -/* 802D9750 002D6690 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9754 002D6694 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D9758 002D6698 93 C1 00 08 */ stw r30, 8(r1) -/* 802D975C 002D669C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D9760 002D66A0 7C 9F 23 78 */ mr r31, r4 -/* 802D9764 002D66A4 41 82 00 64 */ beq lbl_802D97C8 -/* 802D9768 002D66A8 3C 80 80 3D */ lis r4, lbl_803CC438@ha -/* 802D976C 002D66AC 38 04 C4 38 */ addi r0, r4, lbl_803CC438@l -/* 802D9770 002D66B0 90 1E 00 00 */ stw r0, 0(r30) -/* 802D9774 002D66B4 81 83 00 00 */ lwz r12, 0(r3) -/* 802D9778 002D66B8 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802D977C 002D66BC 7D 89 03 A6 */ mtctr r12 -/* 802D9780 002D66C0 4E 80 04 21 */ bctrl -/* 802D9784 002D66C4 34 1E 00 E4 */ addic. r0, r30, 0xe4 -/* 802D9788 002D66C8 41 82 00 10 */ beq lbl_802D9798 -/* 802D978C 002D66CC 38 7E 00 E4 */ addi r3, r30, 0xe4 -/* 802D9790 002D66D0 38 80 00 00 */ li r4, 0 -/* 802D9794 002D66D4 48 00 26 81 */ bl __dt__10JSUPtrLinkFv -lbl_802D9798: -/* 802D9798 002D66D8 28 1E 00 00 */ cmplwi r30, 0 -/* 802D979C 002D66DC 41 82 00 1C */ beq lbl_802D97B8 -/* 802D97A0 002D66E0 3C 60 80 3D */ lis r3, lbl_803CC328@ha -/* 802D97A4 002D66E4 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l -/* 802D97A8 002D66E8 90 1E 00 00 */ stw r0, 0(r30) -/* 802D97AC 002D66EC 7F C3 F3 78 */ mr r3, r30 -/* 802D97B0 002D66F0 38 80 00 00 */ li r4, 0 -/* 802D97B4 002D66F4 4B FF 7D 31 */ bl __dt__11JKRDisposerFv -lbl_802D97B8: -/* 802D97B8 002D66F8 7F E0 07 35 */ extsh. r0, r31 -/* 802D97BC 002D66FC 40 81 00 0C */ ble lbl_802D97C8 -/* 802D97C0 002D6700 7F C3 F3 78 */ mr r3, r30 -/* 802D97C4 002D6704 4B FF 55 79 */ bl __dl__FPv -lbl_802D97C8: -/* 802D97C8 002D6708 7F C3 F3 78 */ mr r3, r30 -/* 802D97CC 002D670C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D97D0 002D6710 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D97D4 002D6714 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D97D8 002D6718 7C 08 03 A6 */ mtlr r0 -/* 802D97DC 002D671C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D97E0 002D6720 4E 80 00 20 */ blr - -.global JKRDvdFile_NS_initiate -JKRDvdFile_NS_initiate: -/* 802D97E4 002D6724 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D97E8 002D6728 7C 08 02 A6 */ mflr r0 -/* 802D97EC 002D672C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D97F0 002D6730 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D97F4 002D6734 7C 7F 1B 78 */ mr r31, r3 -/* 802D97F8 002D6738 93 E3 00 98 */ stw r31, 0x98(r3) -/* 802D97FC 002D673C 38 7F 00 1C */ addi r3, r31, 0x1c -/* 802D9800 002D6740 48 06 58 09 */ bl OSInitMutex -/* 802D9804 002D6744 38 7F 00 34 */ addi r3, r31, 0x34 -/* 802D9808 002D6748 48 06 58 01 */ bl OSInitMutex -/* 802D980C 002D674C 38 7F 00 C0 */ addi r3, r31, 0xc0 -/* 802D9810 002D6750 38 9F 00 E0 */ addi r4, r31, 0xe0 -/* 802D9814 002D6754 38 A0 00 01 */ li r5, 1 -/* 802D9818 002D6758 48 06 51 7D */ bl OSInitMessageQueue -/* 802D981C 002D675C 38 7F 00 9C */ addi r3, r31, 0x9c -/* 802D9820 002D6760 38 9F 00 BC */ addi r4, r31, 0xbc -/* 802D9824 002D6764 38 A0 00 01 */ li r5, 1 -/* 802D9828 002D6768 48 06 51 6D */ bl OSInitMessageQueue -/* 802D982C 002D676C 38 00 00 00 */ li r0, 0 -/* 802D9830 002D6770 90 1F 00 F4 */ stw r0, 0xf4(r31) -/* 802D9834 002D6774 90 1F 00 50 */ stw r0, 0x50(r31) -/* 802D9838 002D6778 90 1F 00 58 */ stw r0, 0x58(r31) -/* 802D983C 002D677C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D9840 002D6780 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D9844 002D6784 7C 08 03 A6 */ mtlr r0 -/* 802D9848 002D6788 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D984C 002D678C 4E 80 00 20 */ blr - -.global JKRDvdFile_NS_open -JKRDvdFile_NS_open: -/* 802D9850 002D6790 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D9854 002D6794 7C 08 02 A6 */ mflr r0 -/* 802D9858 002D6798 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D985C 002D679C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D9860 002D67A0 7C 7F 1B 78 */ mr r31, r3 -/* 802D9864 002D67A4 88 03 00 18 */ lbz r0, 0x18(r3) -/* 802D9868 002D67A8 28 00 00 00 */ cmplwi r0, 0 -/* 802D986C 002D67AC 40 82 00 40 */ bne lbl_802D98AC -/* 802D9870 002D67B0 7C 83 23 78 */ mr r3, r4 -/* 802D9874 002D67B4 38 9F 00 5C */ addi r4, r31, 0x5c -/* 802D9878 002D67B8 48 06 F0 19 */ bl DVDOpen -/* 802D987C 002D67BC 30 03 FF FF */ addic r0, r3, -1 -/* 802D9880 002D67C0 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D9884 002D67C4 98 1F 00 18 */ stb r0, 0x18(r31) -/* 802D9888 002D67C8 88 1F 00 18 */ lbz r0, 0x18(r31) -/* 802D988C 002D67CC 28 00 00 00 */ cmplwi r0, 0 -/* 802D9890 002D67D0 41 82 00 1C */ beq lbl_802D98AC -/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, lbl_8043436C@l -/* 802D989C 002D67DC 38 9F 00 E4 */ addi r4, r31, 0xe4 -/* 802D98A0 002D67E0 48 00 26 AD */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802D98A4 002D67E4 38 7F 00 5C */ addi r3, r31, 0x5c -/* 802D98A8 002D67E8 48 07 18 D5 */ bl DVDGetCommandBlockStatus -lbl_802D98AC: -/* 802D98AC 002D67EC 88 7F 00 18 */ lbz r3, 0x18(r31) -/* 802D98B0 002D67F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D98B4 002D67F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D98B8 002D67F8 7C 08 03 A6 */ mtlr r0 -/* 802D98BC 002D67FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D98C0 002D6800 4E 80 00 20 */ blr - -.global JKRDvdFile_NS_open_X1_ -JKRDvdFile_NS_open_X1_: -/* 802D98C4 002D6804 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D98C8 002D6808 7C 08 02 A6 */ mflr r0 -/* 802D98CC 002D680C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D98D0 002D6810 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D98D4 002D6814 7C 7F 1B 78 */ mr r31, r3 -/* 802D98D8 002D6818 88 03 00 18 */ lbz r0, 0x18(r3) -/* 802D98DC 002D681C 28 00 00 00 */ cmplwi r0, 0 -/* 802D98E0 002D6820 40 82 00 40 */ bne lbl_802D9920 -/* 802D98E4 002D6824 7C 83 23 78 */ mr r3, r4 -/* 802D98E8 002D6828 38 9F 00 5C */ addi r4, r31, 0x5c -/* 802D98EC 002D682C 48 06 EF 31 */ bl DVDFastOpen -/* 802D98F0 002D6830 30 03 FF FF */ addic r0, r3, -1 -/* 802D98F4 002D6834 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D98F8 002D6838 98 1F 00 18 */ stb r0, 0x18(r31) -/* 802D98FC 002D683C 88 1F 00 18 */ lbz r0, 0x18(r31) -/* 802D9900 002D6840 28 00 00 00 */ cmplwi r0, 0 -/* 802D9904 002D6844 41 82 00 1C */ beq lbl_802D9920 -/* 802D9908 002D6848 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l -/* 802D9910 002D6850 38 9F 00 E4 */ addi r4, r31, 0xe4 -/* 802D9914 002D6854 48 00 26 39 */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802D9918 002D6858 38 7F 00 5C */ addi r3, r31, 0x5c -/* 802D991C 002D685C 48 07 18 61 */ bl DVDGetCommandBlockStatus -lbl_802D9920: -/* 802D9920 002D6860 88 7F 00 18 */ lbz r3, 0x18(r31) -/* 802D9924 002D6864 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D9928 002D6868 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D992C 002D686C 7C 08 03 A6 */ mtlr r0 -/* 802D9930 002D6870 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D9934 002D6874 4E 80 00 20 */ blr -/* 802D9938 002D6878 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D993C 002D687C 7C 08 02 A6 */ mflr r0 -/* 802D9940 002D6880 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9944 002D6884 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D9948 002D6888 7C 7F 1B 78 */ mr r31, r3 -/* 802D994C 002D688C 88 03 00 18 */ lbz r0, 0x18(r3) -/* 802D9950 002D6890 28 00 00 00 */ cmplwi r0, 0 -/* 802D9954 002D6894 41 82 00 4C */ beq lbl_802D99A0 -/* 802D9958 002D6898 38 7F 00 5C */ addi r3, r31, 0x5c -/* 802D995C 002D689C 48 06 EF FD */ bl DVDClose -/* 802D9960 002D68A0 2C 03 00 00 */ cmpwi r3, 0 -/* 802D9964 002D68A4 41 82 00 20 */ beq lbl_802D9984 -/* 802D9968 002D68A8 38 00 00 00 */ li r0, 0 -/* 802D996C 002D68AC 98 1F 00 18 */ stb r0, 0x18(r31) -/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, lbl_8043436C@ha -/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, lbl_8043436C@l -/* 802D9978 002D68B8 38 9F 00 E4 */ addi r4, r31, 0xe4 -/* 802D997C 002D68BC 48 00 27 E1 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D9980 002D68C0 48 00 00 20 */ b lbl_802D99A0 -lbl_802D9984: -/* 802D9984 002D68C4 3C 60 80 3A */ lis r3, lbl_8039D260@ha -/* 802D9988 002D68C8 38 63 D2 60 */ addi r3, r3, lbl_8039D260@l -/* 802D998C 002D68CC 38 80 00 D5 */ li r4, 0xd5 -/* 802D9990 002D68D0 38 A3 00 0F */ addi r5, r3, 0xf -/* 802D9994 002D68D4 38 C3 00 12 */ addi r6, r3, 0x12 -/* 802D9998 002D68D8 4C C6 31 82 */ crclr 6 -/* 802D999C 002D68DC 48 00 88 61 */ bl JUTException_NS_panic_f -lbl_802D99A0: -/* 802D99A0 002D68E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D99A4 002D68E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D99A8 002D68E8 7C 08 03 A6 */ mtlr r0 -/* 802D99AC 002D68EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D99B0 002D68F0 4E 80 00 20 */ blr -/* 802D99B4 002D68F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D99B8 002D68F8 7C 08 02 A6 */ mflr r0 -/* 802D99BC 002D68FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D99C0 002D6900 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D99C4 002D6904 48 08 88 11 */ bl _savegpr_27 -/* 802D99C8 002D6908 7C 7B 1B 78 */ mr r27, r3 -/* 802D99CC 002D690C 7C 9C 23 78 */ mr r28, r4 -/* 802D99D0 002D6910 7C BD 2B 78 */ mr r29, r5 -/* 802D99D4 002D6914 7C DE 33 78 */ mr r30, r6 -/* 802D99D8 002D6918 38 7B 00 1C */ addi r3, r27, 0x1c -/* 802D99DC 002D691C 48 06 56 65 */ bl OSLockMutex -/* 802D99E0 002D6920 80 1B 00 F4 */ lwz r0, 0xf4(r27) -/* 802D99E4 002D6924 28 00 00 00 */ cmplwi r0, 0 -/* 802D99E8 002D6928 41 82 00 14 */ beq lbl_802D99FC -/* 802D99EC 002D692C 38 7B 00 1C */ addi r3, r27, 0x1c -/* 802D99F0 002D6930 48 06 57 2D */ bl OSUnlockMutex -/* 802D99F4 002D6934 38 60 FF FF */ li r3, -1 -/* 802D99F8 002D6938 48 00 00 58 */ b lbl_802D9A50 -lbl_802D99FC: -/* 802D99FC 002D693C 48 06 72 89 */ bl OSGetCurrentThread -/* 802D9A00 002D6940 90 7B 00 F4 */ stw r3, 0xf4(r27) -/* 802D9A04 002D6944 3B E0 FF FF */ li r31, -1 -/* 802D9A08 002D6948 38 7B 00 5C */ addi r3, r27, 0x5c -/* 802D9A0C 002D694C 7F 84 E3 78 */ mr r4, r28 -/* 802D9A10 002D6950 7F A5 EB 78 */ mr r5, r29 -/* 802D9A14 002D6954 7F C6 F3 78 */ mr r6, r30 -.global JKRDvdFile_NS_doneProcess -/* 802D9A18 002D6958 3C E0 80 2E */ lis r7, JKRDvdFile_NS_doneProcess@ha -.global JKRDvdFile_NS_doneProcess -/* 802D9A1C 002D695C 38 E7 9A C4 */ addi r7, r7, JKRDvdFile_NS_doneProcess@l -/* 802D9A20 002D6960 39 00 00 02 */ li r8, 2 -/* 802D9A24 002D6964 48 06 F3 31 */ bl DVDReadAsyncPrio -/* 802D9A28 002D6968 2C 03 00 00 */ cmpwi r3, 0 -/* 802D9A2C 002D696C 41 82 00 10 */ beq lbl_802D9A3C -/* 802D9A30 002D6970 7F 63 DB 78 */ mr r3, r27 -/* 802D9A34 002D6974 48 00 00 3D */ bl JKRDvdFile_NS_sync -/* 802D9A38 002D6978 7C 7F 1B 78 */ mr r31, r3 -lbl_802D9A3C: -/* 802D9A3C 002D697C 38 00 00 00 */ li r0, 0 -/* 802D9A40 002D6980 90 1B 00 F4 */ stw r0, 0xf4(r27) -/* 802D9A44 002D6984 38 7B 00 1C */ addi r3, r27, 0x1c -/* 802D9A48 002D6988 48 06 56 D5 */ bl OSUnlockMutex -/* 802D9A4C 002D698C 7F E3 FB 78 */ mr r3, r31 -lbl_802D9A50: -/* 802D9A50 002D6990 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D9A54 002D6994 48 08 87 CD */ bl _restgpr_27 -/* 802D9A58 002D6998 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D9A5C 002D699C 7C 08 03 A6 */ mtlr r0 -/* 802D9A60 002D69A0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D9A64 002D69A4 4E 80 00 20 */ blr -/* 802D9A68 002D69A8 38 60 FF FF */ li r3, -1 -/* 802D9A6C 002D69AC 4E 80 00 20 */ blr - -.global JKRDvdFile_NS_sync -JKRDvdFile_NS_sync: -/* 802D9A70 002D69B0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D9A74 002D69B4 7C 08 02 A6 */ mflr r0 -/* 802D9A78 002D69B8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D9A7C 002D69BC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802D9A80 002D69C0 7C 7F 1B 78 */ mr r31, r3 -/* 802D9A84 002D69C4 38 7F 00 1C */ addi r3, r31, 0x1c -/* 802D9A88 002D69C8 48 06 55 B9 */ bl OSLockMutex -/* 802D9A8C 002D69CC 38 7F 00 C0 */ addi r3, r31, 0xc0 -/* 802D9A90 002D69D0 38 81 00 08 */ addi r4, r1, 8 -/* 802D9A94 002D69D4 38 A0 00 01 */ li r5, 1 -/* 802D9A98 002D69D8 48 06 50 25 */ bl OSReceiveMessage -/* 802D9A9C 002D69DC 38 00 00 00 */ li r0, 0 -/* 802D9AA0 002D69E0 90 1F 00 F4 */ stw r0, 0xf4(r31) -/* 802D9AA4 002D69E4 38 7F 00 1C */ addi r3, r31, 0x1c -/* 802D9AA8 002D69E8 48 06 56 75 */ bl OSUnlockMutex -/* 802D9AAC 002D69EC 80 61 00 08 */ lwz r3, 8(r1) -/* 802D9AB0 002D69F0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802D9AB4 002D69F4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D9AB8 002D69F8 7C 08 03 A6 */ mtlr r0 -/* 802D9ABC 002D69FC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D9AC0 002D6A00 4E 80 00 20 */ blr -.global JKRDvdFile_NS_doneProcess -JKRDvdFile_NS_doneProcess: -/* 802D9AC4 002D6A04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D9AC8 002D6A08 7C 08 02 A6 */ mflr r0 -/* 802D9ACC 002D6A0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D9AD0 002D6A10 7C 60 1B 78 */ mr r0, r3 -/* 802D9AD4 002D6A14 80 64 00 3C */ lwz r3, 0x3c(r4) -/* 802D9AD8 002D6A18 38 63 00 C0 */ addi r3, r3, 0xc0 -/* 802D9ADC 002D6A1C 7C 04 03 78 */ mr r4, r0 -/* 802D9AE0 002D6A20 38 A0 00 00 */ li r5, 0 -/* 802D9AE4 002D6A24 48 06 4F 11 */ bl OSSendMessage -/* 802D9AE8 002D6A28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D9AEC 002D6A2C 7C 08 03 A6 */ mtlr r0 -/* 802D9AF0 002D6A30 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D9AF4 002D6A34 4E 80 00 20 */ blr -/* 802D9AF8 002D6A38 80 63 00 90 */ lwz r3, 0x90(r3) -/* 802D9AFC 002D6A3C 4E 80 00 20 */ blr +.global __sinit_JKRDvdFile_cpp +__sinit_JKRDvdFile_cpp: /* 802D9B00 002D6A40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D9B04 002D6A44 7C 08 02 A6 */ mflr r0 /* 802D9B08 002D6A48 90 01 00 14 */ stw r0, 0x14(r1) @@ -414,6 +23,7 @@ JKRDvdFile_NS_doneProcess: /* 802D9B38 002D6A78 7C 08 03 A6 */ mtlr r0 /* 802D9B3C 002D6A7C 38 21 00 10 */ addi r1, r1, 0x10 /* 802D9B40 002D6A80 4E 80 00 20 */ blr + .global JSUList_NS_dtor_X7_ JSUList_NS_dtor_X7_: /* 802D9B44 002D6A84 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/asm/JKernel/JKRDvdRipper.s b/asm/JKernel/JKRDvdRipper.s index 9d33f38b55..9a71d0b48d 100644 --- a/asm/JKernel/JKRDvdRipper.s +++ b/asm/JKernel/JKRDvdRipper.s @@ -20,15 +20,15 @@ JKRDvdRipper_NS_loadToMainRAM: /* 802D9BC8 002D6B08 7D 5E 53 78 */ mr r30, r10 /* 802D9BCC 002D6B0C 83 E1 01 38 */ lwz r31, 0x138(r1) /* 802D9BD0 002D6B10 38 61 00 10 */ addi r3, r1, 0x10 -/* 802D9BD4 002D6B14 4B FF F9 B1 */ bl JKRDvdFile +/* 802D9BD4 002D6B14 4B FF F9 B1 */ bl __ct__10JKRDvdFileFv /* 802D9BD8 002D6B18 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9BDC 002D6B1C 7E E4 BB 78 */ mr r4, r23 -/* 802D9BE0 002D6B20 4B FF FC 71 */ bl JKRDvdFile_NS_open +/* 802D9BE0 002D6B20 4B FF FC 71 */ bl open__10JKRDvdFileFPCc /* 802D9BE4 002D6B24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D9BE8 002D6B28 40 82 00 18 */ bne lbl_802D9C00 /* 802D9BEC 002D6B2C 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9BF0 002D6B30 38 80 FF FF */ li r4, -1 -/* 802D9BF4 002D6B34 4B FF FB 55 */ bl JKRDvdFile_NS_dtor +/* 802D9BF4 002D6B34 4B FF FB 55 */ bl __dt__10JKRDvdFileFv /* 802D9BF8 002D6B38 38 60 00 00 */ li r3, 0 /* 802D9BFC 002D6B3C 48 00 00 40 */ b lbl_802D9C3C lbl_802D9C00: @@ -45,7 +45,7 @@ lbl_802D9C00: /* 802D9C28 002D6B68 7C 7F 1B 78 */ mr r31, r3 /* 802D9C2C 002D6B6C 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9C30 002D6B70 38 80 FF FF */ li r4, -1 -/* 802D9C34 002D6B74 4B FF FB 15 */ bl JKRDvdFile_NS_dtor +/* 802D9C34 002D6B74 4B FF FB 15 */ bl __dt__10JKRDvdFileFv /* 802D9C38 002D6B78 7F E3 FB 78 */ mr r3, r31 lbl_802D9C3C: /* 802D9C3C 002D6B7C 39 61 01 30 */ addi r11, r1, 0x130 @@ -72,15 +72,15 @@ JKRDvdRipper_NS_loadToMainRAM_X1_: /* 802D9C84 002D6BC4 7D 5E 53 78 */ mr r30, r10 /* 802D9C88 002D6BC8 83 E1 01 38 */ lwz r31, 0x138(r1) /* 802D9C8C 002D6BCC 38 61 00 10 */ addi r3, r1, 0x10 -/* 802D9C90 002D6BD0 4B FF F8 F5 */ bl JKRDvdFile +/* 802D9C90 002D6BD0 4B FF F8 F5 */ bl __ct__10JKRDvdFileFv /* 802D9C94 002D6BD4 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9C98 002D6BD8 7E E4 BB 78 */ mr r4, r23 -/* 802D9C9C 002D6BDC 4B FF FC 29 */ bl JKRDvdFile_NS_open_X1_ +/* 802D9C9C 002D6BDC 4B FF FC 29 */ bl open__10JKRDvdFileFl /* 802D9CA0 002D6BE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802D9CA4 002D6BE4 40 82 00 18 */ bne lbl_802D9CBC /* 802D9CA8 002D6BE8 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9CAC 002D6BEC 38 80 FF FF */ li r4, -1 -/* 802D9CB0 002D6BF0 4B FF FA 99 */ bl JKRDvdFile_NS_dtor +/* 802D9CB0 002D6BF0 4B FF FA 99 */ bl __dt__10JKRDvdFileFv /* 802D9CB4 002D6BF4 38 60 00 00 */ li r3, 0 /* 802D9CB8 002D6BF8 48 00 00 40 */ b lbl_802D9CF8 lbl_802D9CBC: @@ -97,7 +97,7 @@ lbl_802D9CBC: /* 802D9CE4 002D6C24 7C 7F 1B 78 */ mr r31, r3 /* 802D9CE8 002D6C28 38 61 00 10 */ addi r3, r1, 0x10 /* 802D9CEC 002D6C2C 38 80 FF FF */ li r4, -1 -/* 802D9CF0 002D6C30 4B FF FA 59 */ bl JKRDvdFile_NS_dtor +/* 802D9CF0 002D6C30 4B FF FA 59 */ bl __dt__10JKRDvdFileFv /* 802D9CF4 002D6C34 7F E3 FB 78 */ mr r3, r31 lbl_802D9CF8: /* 802D9CF8 002D6C38 39 61 01 30 */ addi r11, r1, 0x130 diff --git a/asm/JKernel/JKRExpHeap.s b/asm/JKernel/JKRExpHeap.s index fc2e29ee6d..f6e5437673 100644 --- a/asm/JKernel/JKRExpHeap.s +++ b/asm/JKernel/JKRExpHeap.s @@ -3,8 +3,8 @@ .section .text, "ax" # 802cedb4 -.global JKRExpHeap_NS_createRoot -JKRExpHeap_NS_createRoot: +.global createRoot__10JKRExpHeapFib +createRoot__10JKRExpHeapFib: /* 802CEDB4 002CBCF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CEDB8 002CBCF8 7C 08 02 A6 */ mflr r0 /* 802CEDBC 002CBCFC 90 01 00 24 */ stw r0, 0x24(r1) @@ -26,7 +26,7 @@ JKRExpHeap_NS_createRoot: /* 802CEDFC 002CBD3C 41 82 00 10 */ beq lbl_802CEE0C /* 802CEE00 002CBD40 38 C0 00 00 */ li r6, 0 /* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31 -/* 802CEE08 002CBD48 48 00 02 29 */ bl JKRExpHeap +/* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb lbl_802CEE0C: /* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13) lbl_802CEE10: @@ -38,8 +38,8 @@ lbl_802CEE10: /* 802CEE24 002CBD64 38 21 00 20 */ addi r1, r1, 0x20 /* 802CEE28 002CBD68 4E 80 00 20 */ blr -.global JKRExpHeap_NS_create -JKRExpHeap_NS_create: +.global create__10JKRExpHeapFUlP7JKRHeapb +create__10JKRExpHeapFUlP7JKRHeapb: /* 802CEE2C 002CBD6C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CEE30 002CBD70 7C 08 02 A6 */ mflr r0 /* 802CEE34 002CBD74 90 01 00 24 */ stw r0, 0x24(r1) @@ -79,7 +79,7 @@ lbl_802CEEA4: /* 802CEEAC 002CBDEC 38 BF FF 70 */ addi r5, r31, -144 /* 802CEEB0 002CBDF0 7F 86 E3 78 */ mr r6, r28 /* 802CEEB4 002CBDF4 7F A7 EB 78 */ mr r7, r29 -/* 802CEEB8 002CBDF8 48 00 01 79 */ bl JKRExpHeap +/* 802CEEB8 002CBDF8 48 00 01 79 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb /* 802CEEBC 002CBDFC 7C 65 1B 78 */ mr r5, r3 lbl_802CEEC0: /* 802CEEC0 002CBE00 28 05 00 00 */ cmplwi r5, 0 @@ -101,8 +101,8 @@ lbl_802CEEE8: /* 802CEEF8 002CBE38 38 21 00 20 */ addi r1, r1, 0x20 /* 802CEEFC 002CBE3C 4E 80 00 20 */ blr -.global JKRExpHeap_NS_create_X1_ -JKRExpHeap_NS_create_X1_: +.global create__10JKRExpHeapFPvUlP7JKRHeapb +create__10JKRExpHeapFPvUlP7JKRHeapb: /* 802CEF00 002CBE40 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CEF04 002CBE44 7C 08 02 A6 */ mflr r0 /* 802CEF08 002CBE48 90 01 00 24 */ stw r0, 0x24(r1) @@ -138,7 +138,7 @@ lbl_802CEF5C: /* 802CEF74 002CBEB4 7F A3 EB 78 */ mr r3, r29 /* 802CEF78 002CBEB8 41 82 00 0C */ beq lbl_802CEF84 /* 802CEF7C 002CBEBC 7F E7 FB 78 */ mr r7, r31 -/* 802CEF80 002CBEC0 48 00 00 B1 */ bl JKRExpHeap +/* 802CEF80 002CBEC0 48 00 00 B1 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb lbl_802CEF84: /* 802CEF84 002CBEC4 38 00 00 01 */ li r0, 1 /* 802CEF88 002CBEC8 98 03 00 6E */ stb r0, 0x6e(r3) @@ -187,8 +187,8 @@ lbl_802CF018: /* 802CF028 002CBF68 38 21 00 10 */ addi r1, r1, 0x10 /* 802CF02C 002CBF6C 4E 80 00 20 */ blr -.global JKRExpHeap -JKRExpHeap: +.global __ct__10JKRExpHeapFPvUlP7JKRHeapb +__ct__10JKRExpHeapFPvUlP7JKRHeapb: /* 802CF030 002CBF70 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CF034 002CBF74 7C 08 02 A6 */ mflr r0 /* 802CF038 002CBF78 90 01 00 24 */ stw r0, 0x24(r1) @@ -214,7 +214,7 @@ JKRExpHeap: /* 802CF088 002CBFC8 38 DF FF F0 */ addi r6, r31, -16 /* 802CF08C 002CBFCC 38 E0 00 00 */ li r7, 0 /* 802CF090 002CBFD0 39 00 00 00 */ li r8, 0 -/* 802CF094 002CBFD4 48 00 17 7D */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CF094 002CBFD4 48 00 17 7D */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CF098 002CBFD8 38 00 00 00 */ li r0, 0 /* 802CF09C 002CBFDC 90 1D 00 80 */ stw r0, 0x80(r29) /* 802CF0A0 002CBFE0 90 1D 00 84 */ stw r0, 0x84(r29) @@ -272,14 +272,14 @@ lbl_802CF15C: /* 802CF168 002CC0A8 41 81 00 18 */ bgt lbl_802CF180 /* 802CF16C 002CC0AC 7F 83 E3 78 */ mr r3, r28 /* 802CF170 002CC0B0 7F A4 EB 78 */ mr r4, r29 -/* 802CF174 002CC0B4 48 00 03 1D */ bl JKRExpHeap_NS_allocFromHead_X1_ +/* 802CF174 002CC0B4 48 00 03 1D */ bl allocFromHead__10JKRExpHeapFUl /* 802CF178 002CC0B8 7C 7F 1B 78 */ mr r31, r3 /* 802CF17C 002CC0BC 48 00 00 4C */ b lbl_802CF1C8 lbl_802CF180: /* 802CF180 002CC0C0 7F 83 E3 78 */ mr r3, r28 /* 802CF184 002CC0C4 7F A4 EB 78 */ mr r4, r29 /* 802CF188 002CC0C8 7F C5 F3 78 */ mr r5, r30 -/* 802CF18C 002CC0CC 48 00 00 A9 */ bl JKRExpHeap_NS_allocFromHead +/* 802CF18C 002CC0CC 48 00 00 A9 */ bl allocFromHead__10JKRExpHeapFUli /* 802CF190 002CC0D0 7C 7F 1B 78 */ mr r31, r3 /* 802CF194 002CC0D4 48 00 00 34 */ b lbl_802CF1C8 lbl_802CF198: @@ -288,13 +288,13 @@ lbl_802CF198: /* 802CF1A0 002CC0E0 41 81 00 18 */ bgt lbl_802CF1B8 /* 802CF1A4 002CC0E4 7F 83 E3 78 */ mr r3, r28 /* 802CF1A8 002CC0E8 7F A4 EB 78 */ mr r4, r29 -/* 802CF1AC 002CC0EC 48 00 05 29 */ bl JKRExpHeap_NS_allocFromTail_X1_ +/* 802CF1AC 002CC0EC 48 00 05 29 */ bl allocFromTail__10JKRExpHeapFUl /* 802CF1B0 002CC0F0 7C 7F 1B 78 */ mr r31, r3 /* 802CF1B4 002CC0F4 48 00 00 14 */ b lbl_802CF1C8 lbl_802CF1B8: /* 802CF1B8 002CC0F8 7F 83 E3 78 */ mr r3, r28 /* 802CF1BC 002CC0FC 7F A4 EB 78 */ mr r4, r29 -/* 802CF1C0 002CC100 48 00 03 B5 */ bl JKRExpHeap_NS_allocFromTail +/* 802CF1C0 002CC100 48 00 03 B5 */ bl allocFromTail__10JKRExpHeapFUli /* 802CF1C4 002CC104 7C 7F 1B 78 */ mr r31, r3 lbl_802CF1C8: /* 802CF1C8 002CC108 28 1F 00 00 */ cmplwi r31, 0 @@ -326,8 +326,8 @@ lbl_802CF210: /* 802CF22C 002CC16C 38 21 00 20 */ addi r1, r1, 0x20 /* 802CF230 002CC170 4E 80 00 20 */ blr -.global JKRExpHeap_NS_allocFromHead -JKRExpHeap_NS_allocFromHead: +.global allocFromHead__10JKRExpHeapFUli +allocFromHead__10JKRExpHeapFUli: /* 802CF234 002CC174 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802CF238 002CC178 7C 08 02 A6 */ mflr r0 /* 802CF23C 002CC17C 90 01 00 34 */ stw r0, 0x34(r1) @@ -383,7 +383,7 @@ lbl_802CF2C4: /* 802CF2F4 002CC234 38 C0 00 00 */ li r6, 0 /* 802CF2F8 002CC238 38 E0 00 00 */ li r7, 0 /* 802CF2FC 002CC23C 39 00 00 00 */ li r8, 0 -/* 802CF300 002CC240 48 00 15 31 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CF300 002CC240 48 00 15 31 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF304 002CC244 7C 7C 1B 79 */ or. r28, r3, r3 /* 802CF308 002CC248 41 82 00 24 */ beq lbl_802CF32C /* 802CF30C 002CC24C 7F C4 F3 78 */ mr r4, r30 @@ -391,7 +391,7 @@ lbl_802CF2C4: /* 802CF314 002CC254 38 C0 00 00 */ li r6, 0 /* 802CF318 002CC258 38 E0 00 00 */ li r7, 0 /* 802CF31C 002CC25C 39 00 00 00 */ li r8, 0 -/* 802CF320 002CC260 48 00 15 11 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CF320 002CC260 48 00 15 11 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF324 002CC264 7C 66 1B 78 */ mr r6, r3 /* 802CF328 002CC268 48 00 00 08 */ b lbl_802CF330 lbl_802CF32C: @@ -403,14 +403,14 @@ lbl_802CF330: /* 802CF33C 002CC27C 7F A3 EB 78 */ mr r3, r29 /* 802CF340 002CC280 7F E4 FB 78 */ mr r4, r31 /* 802CF344 002CC284 7F 45 D3 78 */ mr r5, r26 -/* 802CF348 002CC288 48 00 0B 21 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF348 002CC288 48 00 0B 21 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock /* 802CF34C 002CC28C 48 00 00 18 */ b lbl_802CF364 lbl_802CF350: /* 802CF350 002CC290 7F A3 EB 78 */ mr r3, r29 /* 802CF354 002CC294 7F E4 FB 78 */ mr r4, r31 /* 802CF358 002CC298 7F 45 D3 78 */ mr r5, r26 /* 802CF35C 002CC29C 7F 26 CB 78 */ mr r6, r25 -/* 802CF360 002CC2A0 48 00 0B 09 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF360 002CC2A0 48 00 0B 09 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802CF364: /* 802CF364 002CC2A4 28 1B 00 00 */ cmplwi r27, 0 /* 802CF368 002CC2A8 41 82 00 18 */ beq lbl_802CF380 @@ -418,11 +418,11 @@ lbl_802CF364: /* 802CF370 002CC2B0 7F 64 DB 78 */ mr r4, r27 /* 802CF374 002CC2B4 7F E5 FB 78 */ mr r5, r31 /* 802CF378 002CC2B8 7F 26 CB 78 */ mr r6, r25 -/* 802CF37C 002CC2BC 48 00 0A ED */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF37C 002CC2BC 48 00 0A ED */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802CF380: /* 802CF380 002CC2C0 7F A3 EB 78 */ mr r3, r29 /* 802CF384 002CC2C4 7F 84 E3 78 */ mr r4, r28 -/* 802CF388 002CC2C8 48 00 0A 45 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF388 002CC2C8 48 00 0A 45 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF38C 002CC2CC 93 6D 8E 24 */ stw r27, lbl_804513A4-_SDA_BASE_(r13) /* 802CF390 002CC2D0 93 8D 8E 28 */ stw r28, lbl_804513A8-_SDA_BASE_(r13) /* 802CF394 002CC2D4 38 7C 00 10 */ addi r3, r28, 0x10 @@ -434,7 +434,7 @@ lbl_802CF39C: /* 802CF3A8 002CC2E8 83 5F 00 0C */ lwz r26, 0xc(r31) /* 802CF3AC 002CC2EC 7F A3 EB 78 */ mr r3, r29 /* 802CF3B0 002CC2F0 7F E4 FB 78 */ mr r4, r31 -/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF3B8 002CC2F8 7F 9F DA 14 */ add r28, r31, r27 /* 802CF3BC 002CC2FC 80 1F 00 04 */ lwz r0, 4(r31) /* 802CF3C0 002CC300 7C 1B 00 50 */ subf r0, r27, r0 @@ -445,17 +445,17 @@ lbl_802CF39C: /* 802CF3D4 002CC314 57 66 06 3E */ clrlwi r6, r27, 0x18 /* 802CF3D8 002CC318 38 E0 00 00 */ li r7, 0 /* 802CF3DC 002CC31C 39 00 00 00 */ li r8, 0 -/* 802CF3E0 002CC320 48 00 14 51 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CF3E0 002CC320 48 00 14 51 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF3E4 002CC324 7C 64 1B 79 */ or. r4, r3, r3 /* 802CF3E8 002CC328 41 82 00 14 */ beq lbl_802CF3FC /* 802CF3EC 002CC32C 7F A3 EB 78 */ mr r3, r29 /* 802CF3F0 002CC330 7F 25 CB 78 */ mr r5, r25 /* 802CF3F4 002CC334 7F 46 D3 78 */ mr r6, r26 -/* 802CF3F8 002CC338 48 00 0A 71 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF3F8 002CC338 48 00 0A 71 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802CF3FC: /* 802CF3FC 002CC33C 7F A3 EB 78 */ mr r3, r29 /* 802CF400 002CC340 7F 84 E3 78 */ mr r4, r28 -/* 802CF404 002CC344 48 00 09 C9 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF404 002CC344 48 00 09 C9 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF408 002CC348 38 7C 00 10 */ addi r3, r28, 0x10 /* 802CF40C 002CC34C 48 00 00 6C */ b lbl_802CF478 lbl_802CF410: @@ -467,22 +467,22 @@ lbl_802CF410: /* 802CF424 002CC364 38 C0 00 00 */ li r6, 0 /* 802CF428 002CC368 38 E0 00 00 */ li r7, 0 /* 802CF42C 002CC36C 39 00 00 00 */ li r8, 0 -/* 802CF430 002CC370 48 00 14 01 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CF430 002CC370 48 00 14 01 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF434 002CC374 7C 7E 1B 78 */ mr r30, r3 /* 802CF438 002CC378 7F A3 EB 78 */ mr r3, r29 /* 802CF43C 002CC37C 7F E4 FB 78 */ mr r4, r31 -/* 802CF440 002CC380 48 00 0A 75 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF440 002CC380 48 00 0A 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF444 002CC384 28 1E 00 00 */ cmplwi r30, 0 /* 802CF448 002CC388 41 82 00 18 */ beq lbl_802CF460 /* 802CF44C 002CC38C 7F A3 EB 78 */ mr r3, r29 /* 802CF450 002CC390 7F C4 F3 78 */ mr r4, r30 /* 802CF454 002CC394 7F 25 CB 78 */ mr r5, r25 /* 802CF458 002CC398 7F 46 D3 78 */ mr r6, r26 -/* 802CF45C 002CC39C 48 00 0A 0D */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF45C 002CC39C 48 00 0A 0D */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802CF460: /* 802CF460 002CC3A0 7F A3 EB 78 */ mr r3, r29 /* 802CF464 002CC3A4 7F E4 FB 78 */ mr r4, r31 -/* 802CF468 002CC3A8 48 00 09 65 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF468 002CC3A8 48 00 09 65 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF46C 002CC3AC 38 7F 00 10 */ addi r3, r31, 0x10 /* 802CF470 002CC3B0 48 00 00 08 */ b lbl_802CF478 lbl_802CF474: @@ -495,8 +495,8 @@ lbl_802CF478: /* 802CF488 002CC3C8 38 21 00 30 */ addi r1, r1, 0x30 /* 802CF48C 002CC3CC 4E 80 00 20 */ blr -.global JKRExpHeap_NS_allocFromHead_X1_ -JKRExpHeap_NS_allocFromHead_X1_: +.global allocFromHead__10JKRExpHeapFUl +allocFromHead__10JKRExpHeapFUl: /* 802CF490 002CC3D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CF494 002CC3D4 7C 08 02 A6 */ mflr r0 /* 802CF498 002CC3D8 90 01 00 14 */ stw r0, 0x14(r1) @@ -535,22 +535,22 @@ lbl_802CF4FC: /* 802CF50C 002CC44C 38 C0 00 00 */ li r6, 0 /* 802CF510 002CC450 38 E0 00 00 */ li r7, 0 /* 802CF514 002CC454 39 00 00 00 */ li r8, 0 -/* 802CF518 002CC458 48 00 13 19 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CF518 002CC458 48 00 13 19 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF51C 002CC45C 7C 64 1B 79 */ or. r4, r3, r3 /* 802CF520 002CC460 41 82 00 18 */ beq lbl_802CF538 /* 802CF524 002CC464 7F C3 F3 78 */ mr r3, r30 /* 802CF528 002CC468 80 BF 00 08 */ lwz r5, 8(r31) /* 802CF52C 002CC46C 80 DF 00 0C */ lwz r6, 0xc(r31) -/* 802CF530 002CC470 48 00 09 39 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF530 002CC470 48 00 09 39 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock /* 802CF534 002CC474 48 00 00 10 */ b lbl_802CF544 lbl_802CF538: /* 802CF538 002CC478 7F C3 F3 78 */ mr r3, r30 /* 802CF53C 002CC47C 7F E4 FB 78 */ mr r4, r31 -/* 802CF540 002CC480 48 00 09 75 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF540 002CC480 48 00 09 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock lbl_802CF544: /* 802CF544 002CC484 7F C3 F3 78 */ mr r3, r30 /* 802CF548 002CC488 7F E4 FB 78 */ mr r4, r31 -/* 802CF54C 002CC48C 48 00 08 81 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF54C 002CC48C 48 00 08 81 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF550 002CC490 38 7F 00 10 */ addi r3, r31, 0x10 /* 802CF554 002CC494 48 00 00 08 */ b lbl_802CF55C lbl_802CF558: @@ -563,8 +563,8 @@ lbl_802CF55C: /* 802CF56C 002CC4AC 38 21 00 10 */ addi r1, r1, 0x10 /* 802CF570 002CC4B0 4E 80 00 20 */ blr -.global JKRExpHeap_NS_allocFromTail -JKRExpHeap_NS_allocFromTail: +.global allocFromTail__10JKRExpHeapFUli +allocFromTail__10JKRExpHeapFUli: /* 802CF574 002CC4B4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CF578 002CC4B8 7C 08 02 A6 */ mflr r0 /* 802CF57C 002CC4BC 90 01 00 24 */ stw r0, 0x24(r1) @@ -607,14 +607,14 @@ lbl_802CF5E4: /* 802CF600 002CC540 7F 86 E3 78 */ mr r6, r28 /* 802CF604 002CC544 88 FB 00 6D */ lbz r7, 0x6d(r27) /* 802CF608 002CC548 39 00 00 80 */ li r8, 0x80 -/* 802CF60C 002CC54C 48 00 12 05 */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CF60C 002CC54C 48 00 12 05 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CF610 002CC550 80 1E 00 04 */ lwz r0, 4(r30) /* 802CF614 002CC554 7C 7C 00 50 */ subf r3, r28, r0 /* 802CF618 002CC558 38 03 FF F0 */ addi r0, r3, -16 /* 802CF61C 002CC55C 90 1E 00 04 */ stw r0, 4(r30) /* 802CF620 002CC560 7F 63 DB 78 */ mr r3, r27 /* 802CF624 002CC564 7F A4 EB 78 */ mr r4, r29 -/* 802CF628 002CC568 48 00 07 A5 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF628 002CC568 48 00 07 A5 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF62C 002CC56C 38 7D 00 10 */ addi r3, r29, 0x10 /* 802CF630 002CC570 48 00 00 8C */ b lbl_802CF6BC lbl_802CF634: @@ -622,7 +622,7 @@ lbl_802CF634: /* 802CF638 002CC578 41 82 00 44 */ beq lbl_802CF67C /* 802CF63C 002CC57C 7F 63 DB 78 */ mr r3, r27 /* 802CF640 002CC580 7F C4 F3 78 */ mr r4, r30 -/* 802CF644 002CC584 48 00 08 71 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF644 002CC584 48 00 08 71 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF648 002CC588 7F A3 EB 78 */ mr r3, r29 /* 802CF64C 002CC58C 38 80 00 00 */ li r4, 0 /* 802CF650 002CC590 38 A0 00 00 */ li r5, 0 @@ -630,26 +630,26 @@ lbl_802CF634: /* 802CF658 002CC598 88 FB 00 6D */ lbz r7, 0x6d(r27) /* 802CF65C 002CC59C 63 E0 00 80 */ ori r0, r31, 0x80 /* 802CF660 002CC5A0 54 08 06 3E */ clrlwi r8, r0, 0x18 -/* 802CF664 002CC5A4 48 00 11 AD */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CF664 002CC5A4 48 00 11 AD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CF668 002CC5A8 7F 63 DB 78 */ mr r3, r27 /* 802CF66C 002CC5AC 7F A4 EB 78 */ mr r4, r29 -/* 802CF670 002CC5B0 48 00 07 5D */ bl JKRExpHeap_NS_appendUsedList +/* 802CF670 002CC5B0 48 00 07 5D */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF674 002CC5B4 38 7D 00 10 */ addi r3, r29, 0x10 /* 802CF678 002CC5B8 48 00 00 44 */ b lbl_802CF6BC lbl_802CF67C: /* 802CF67C 002CC5BC 7F 63 DB 78 */ mr r3, r27 /* 802CF680 002CC5C0 7F C4 F3 78 */ mr r4, r30 -/* 802CF684 002CC5C4 48 00 08 31 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF684 002CC5C4 48 00 08 31 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF688 002CC5C8 7F A3 EB 78 */ mr r3, r29 /* 802CF68C 002CC5CC 38 80 00 00 */ li r4, 0 /* 802CF690 002CC5D0 38 A0 00 00 */ li r5, 0 /* 802CF694 002CC5D4 7F 86 E3 78 */ mr r6, r28 /* 802CF698 002CC5D8 88 FB 00 6D */ lbz r7, 0x6d(r27) /* 802CF69C 002CC5DC 39 00 00 80 */ li r8, 0x80 -/* 802CF6A0 002CC5E0 48 00 11 71 */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CF6A0 002CC5E0 48 00 11 71 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CF6A4 002CC5E4 7F 63 DB 78 */ mr r3, r27 /* 802CF6A8 002CC5E8 7F A4 EB 78 */ mr r4, r29 -/* 802CF6AC 002CC5EC 48 00 07 21 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF6AC 002CC5EC 48 00 07 21 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF6B0 002CC5F0 38 7D 00 10 */ addi r3, r29, 0x10 /* 802CF6B4 002CC5F4 48 00 00 08 */ b lbl_802CF6BC lbl_802CF6B8: @@ -662,8 +662,8 @@ lbl_802CF6BC: /* 802CF6CC 002CC60C 38 21 00 20 */ addi r1, r1, 0x20 /* 802CF6D0 002CC610 4E 80 00 20 */ blr -.global JKRExpHeap_NS_allocFromTail_X1_ -JKRExpHeap_NS_allocFromTail_X1_: +.global allocFromTail__10JKRExpHeapFUl +allocFromTail__10JKRExpHeapFUl: /* 802CF6D4 002CC614 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CF6D8 002CC618 7C 08 02 A6 */ mflr r0 /* 802CF6DC 002CC61C 90 01 00 24 */ stw r0, 0x24(r1) @@ -694,7 +694,7 @@ lbl_802CF720: /* 802CF730 002CC670 38 C0 00 00 */ li r6, 0 /* 802CF734 002CC674 88 FD 00 6D */ lbz r7, 0x6d(r29) /* 802CF738 002CC678 39 00 00 00 */ li r8, 0 -/* 802CF73C 002CC67C 48 00 11 39 */ bl JKRExpHeap_NS_CMemBlock_NS_allocBack +/* 802CF73C 002CC67C 48 00 11 39 */ bl allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CF740 002CC680 7C 7E 1B 79 */ or. r30, r3, r3 /* 802CF744 002CC684 41 82 00 0C */ beq lbl_802CF750 /* 802CF748 002CC688 7F E4 FB 78 */ mr r4, r31 @@ -702,7 +702,7 @@ lbl_802CF720: lbl_802CF750: /* 802CF750 002CC690 7F A3 EB 78 */ mr r3, r29 /* 802CF754 002CC694 7F E4 FB 78 */ mr r4, r31 -/* 802CF758 002CC698 48 00 07 5D */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CF758 002CC698 48 00 07 5D */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF75C 002CC69C 7F FE FB 78 */ mr r30, r31 /* 802CF760 002CC6A0 38 80 00 00 */ li r4, 0 lbl_802CF764: @@ -711,11 +711,11 @@ lbl_802CF764: /* 802CF76C 002CC6AC 7F A3 EB 78 */ mr r3, r29 /* 802CF770 002CC6B0 80 BF 00 08 */ lwz r5, 8(r31) /* 802CF774 002CC6B4 80 DF 00 0C */ lwz r6, 0xc(r31) -/* 802CF778 002CC6B8 48 00 06 F1 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CF778 002CC6B8 48 00 06 F1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802CF77C: /* 802CF77C 002CC6BC 7F A3 EB 78 */ mr r3, r29 /* 802CF780 002CC6C0 7F C4 F3 78 */ mr r4, r30 -/* 802CF784 002CC6C4 48 00 06 49 */ bl JKRExpHeap_NS_appendUsedList +/* 802CF784 002CC6C4 48 00 06 49 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CF788 002CC6C8 38 7E 00 10 */ addi r3, r30, 0x10 /* 802CF78C 002CC6CC 48 00 00 08 */ b lbl_802CF794 lbl_802CF790: @@ -743,11 +743,11 @@ lbl_802CF794: /* 802CF7E0 002CC720 7C 1F 00 40 */ cmplw r31, r0 /* 802CF7E4 002CC724 41 81 00 1C */ bgt lbl_802CF800 /* 802CF7E8 002CC728 7F E3 FB 78 */ mr r3, r31 -/* 802CF7EC 002CC72C 48 00 11 31 */ bl JKRExpHeap_NS_CMemBlock_NS_getHeapBlock +/* 802CF7EC 002CC72C 48 00 11 31 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv /* 802CF7F0 002CC730 28 03 00 00 */ cmplwi r3, 0 /* 802CF7F4 002CC734 41 82 00 0C */ beq lbl_802CF800 /* 802CF7F8 002CC738 7F C4 F3 78 */ mr r4, r30 -/* 802CF7FC 002CC73C 48 00 10 D1 */ bl JKRExpHeap_NS_CMemBlock_NS_free +/* 802CF7FC 002CC73C 48 00 10 D1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap lbl_802CF800: /* 802CF800 002CC740 38 7E 00 18 */ addi r3, r30, 0x18 /* 802CF804 002CC744 48 06 F9 19 */ bl OSUnlockMutex @@ -777,7 +777,7 @@ lbl_802CF800: /* 802CF864 002CC7A4 38 C6 FF F0 */ addi r6, r6, -16 /* 802CF868 002CC7A8 38 E0 00 00 */ li r7, 0 /* 802CF86C 002CC7AC 39 00 00 00 */ li r8, 0 -/* 802CF870 002CC7B0 48 00 0F A1 */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CF870 002CC7B0 48 00 0F A1 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CF874 002CC7B4 38 00 00 00 */ li r0, 0 /* 802CF878 002CC7B8 90 1F 00 80 */ stw r0, 0x80(r31) /* 802CF87C 002CC7BC 90 1F 00 84 */ stw r0, 0x84(r31) @@ -809,7 +809,7 @@ lbl_802CF8C4: /* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31) /* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31 /* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29 -/* 802CF8EC 002CC82C 48 00 0F E1 */ bl JKRExpHeap_NS_CMemBlock_NS_free +/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap /* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30 /* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC lbl_802CF8F8: @@ -857,7 +857,7 @@ lbl_802CF8FC: /* 802CF998 002CC8D8 38 7D 00 18 */ addi r3, r29, 0x18 /* 802CF99C 002CC8DC 48 06 F6 A5 */ bl OSLockMutex /* 802CF9A0 002CC8E0 7F 83 E3 78 */ mr r3, r28 -/* 802CF9A4 002CC8E4 48 00 0F 79 */ bl JKRExpHeap_NS_CMemBlock_NS_getHeapBlock +/* 802CF9A4 002CC8E4 48 00 0F 79 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv /* 802CF9A8 002CC8E8 7C 7F 1B 79 */ or. r31, r3, r3 /* 802CF9AC 002CC8EC 41 82 00 1C */ beq lbl_802CF9C8 /* 802CF9B0 002CC8F0 80 1D 00 30 */ lwz r0, 0x30(r29) @@ -918,7 +918,7 @@ lbl_802CFA48: lbl_802CFA6C: /* 802CFA6C 002CC9AC 7F A3 EB 78 */ mr r3, r29 /* 802CFA70 002CC9B0 7F 84 E3 78 */ mr r4, r28 -/* 802CFA74 002CC9B4 48 00 04 41 */ bl JKRExpHeap_NS_removeFreeBlock +/* 802CFA74 002CC9B4 48 00 04 41 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CFA78 002CC9B8 80 7F 00 04 */ lwz r3, 4(r31) /* 802CFA7C 002CC9BC 80 1C 00 04 */ lwz r0, 4(r28) /* 802CFA80 002CC9C0 7C 60 1A 14 */ add r3, r0, r3 @@ -934,11 +934,11 @@ lbl_802CFA6C: /* 802CFAA8 002CC9E8 88 DF 00 02 */ lbz r6, 2(r31) /* 802CFAAC 002CC9EC 38 E0 00 00 */ li r7, 0 /* 802CFAB0 002CC9F0 39 00 00 00 */ li r8, 0 -/* 802CFAB4 002CC9F4 48 00 0D 7D */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CFAB4 002CC9F4 48 00 0D 7D */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CFAB8 002CC9F8 7C 64 1B 79 */ or. r4, r3, r3 /* 802CFABC 002CC9FC 41 82 00 44 */ beq lbl_802CFB00 /* 802CFAC0 002CCA00 7F A3 EB 78 */ mr r3, r29 -/* 802CFAC4 002CCA04 48 00 04 59 */ bl JKRExpHeap_NS_recycleFreeBlock +/* 802CFAC4 002CCA04 48 00 04 59 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CFAC8 002CCA08 48 00 00 38 */ b lbl_802CFB00 lbl_802CFACC: /* 802CFACC 002CCA0C 7C 1E 20 50 */ subf r0, r30, r4 @@ -949,11 +949,11 @@ lbl_802CFACC: /* 802CFAE0 002CCA20 88 DF 00 02 */ lbz r6, 2(r31) /* 802CFAE4 002CCA24 38 E0 00 00 */ li r7, 0 /* 802CFAE8 002CCA28 39 00 00 00 */ li r8, 0 -/* 802CFAEC 002CCA2C 48 00 0D 45 */ bl JKRExpHeap_NS_CMemBlock_NS_allocFore +/* 802CFAEC 002CCA2C 48 00 0D 45 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc /* 802CFAF0 002CCA30 7C 64 1B 79 */ or. r4, r3, r3 /* 802CFAF4 002CCA34 41 82 00 0C */ beq lbl_802CFB00 /* 802CFAF8 002CCA38 7F A3 EB 78 */ mr r3, r29 -/* 802CFAFC 002CCA3C 48 00 04 21 */ bl JKRExpHeap_NS_recycleFreeBlock +/* 802CFAFC 002CCA3C 48 00 04 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock lbl_802CFB00: /* 802CFB00 002CCA40 38 7D 00 18 */ addi r3, r29, 0x18 /* 802CFB04 002CCA44 48 06 F6 19 */ bl OSUnlockMutex @@ -975,7 +975,7 @@ lbl_802CFB0C: /* 802CFB40 002CCA80 38 7D 00 18 */ addi r3, r29, 0x18 /* 802CFB44 002CCA84 48 06 F4 FD */ bl OSLockMutex /* 802CFB48 002CCA88 7F C3 F3 78 */ mr r3, r30 -/* 802CFB4C 002CCA8C 48 00 0D D1 */ bl JKRExpHeap_NS_CMemBlock_NS_getHeapBlock +/* 802CFB4C 002CCA8C 48 00 0D D1 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv /* 802CFB50 002CCA90 7C 7F 1B 79 */ or. r31, r3, r3 /* 802CFB54 002CCA94 41 82 00 1C */ beq lbl_802CFB70 /* 802CFB58 002CCA98 80 1D 00 30 */ lwz r0, 0x30(r29) @@ -1090,8 +1090,8 @@ lbl_802CFCBC: /* 802CFCE0 002CCC20 38 21 00 10 */ addi r1, r1, 0x10 /* 802CFCE4 002CCC24 4E 80 00 20 */ blr -.global JKRExpHeap_NS_getUsedSize -JKRExpHeap_NS_getUsedSize: +.global getUsedSize__10JKRExpHeapCFUc +getUsedSize__10JKRExpHeapCFUc: /* 802CFCE8 002CCC28 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CFCEC 002CCC2C 7C 08 02 A6 */ mflr r0 /* 802CFCF0 002CCC30 90 01 00 24 */ stw r0, 0x24(r1) @@ -1158,8 +1158,8 @@ lbl_802CFDA0: /* 802CFDC4 002CCD04 38 21 00 10 */ addi r1, r1, 0x10 /* 802CFDC8 002CCD08 4E 80 00 20 */ blr -.global JKRExpHeap_NS_appendUsedList -JKRExpHeap_NS_appendUsedList: +.global appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: /* 802CFDCC 002CCD0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802CFDD0 002CCD10 7C 08 02 A6 */ mflr r0 /* 802CFDD4 002CCD14 90 01 00 14 */ stw r0, 0x14(r1) @@ -1204,8 +1204,8 @@ lbl_802CFE48: /* 802CFE60 002CCDA0 38 21 00 10 */ addi r1, r1, 0x10 /* 802CFE64 002CCDA4 4E 80 00 20 */ blr -.global JKRExpHeap_NS_setFreeBlock -JKRExpHeap_NS_setFreeBlock: +.global setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock: /* 802CFE68 002CCDA8 28 05 00 00 */ cmplwi r5, 0 /* 802CFE6C 002CCDAC 40 82 00 14 */ bne lbl_802CFE80 /* 802CFE70 002CCDB0 90 83 00 78 */ stw r4, 0x78(r3) @@ -1230,8 +1230,8 @@ lbl_802CFEA8: /* 802CFEAC 002CCDEC B0 04 00 00 */ sth r0, 0(r4) /* 802CFEB0 002CCDF0 4E 80 00 20 */ blr -.global JKRExpHeap_NS_removeFreeBlock -JKRExpHeap_NS_removeFreeBlock: +.global removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: /* 802CFEB4 002CCDF4 80 A4 00 08 */ lwz r5, 8(r4) /* 802CFEB8 002CCDF8 80 84 00 0C */ lwz r4, 0xc(r4) /* 802CFEBC 002CCDFC 28 05 00 00 */ cmplwi r5, 0 @@ -1249,8 +1249,8 @@ lbl_802CFEE0: /* 802CFEE0 002CCE20 90 A4 00 08 */ stw r5, 8(r4) /* 802CFEE4 002CCE24 4E 80 00 20 */ blr -.global JKRExpHeap_NS_removeUsedBlock -JKRExpHeap_NS_removeUsedBlock: +.global removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: /* 802CFEE8 002CCE28 80 A4 00 08 */ lwz r5, 8(r4) /* 802CFEEC 002CCE2C 80 84 00 0C */ lwz r4, 0xc(r4) /* 802CFEF0 002CCE30 28 05 00 00 */ cmplwi r5, 0 @@ -1268,8 +1268,8 @@ lbl_802CFF14: /* 802CFF14 002CCE54 90 A4 00 08 */ stw r5, 8(r4) /* 802CFF18 002CCE58 4E 80 00 20 */ blr -.global JKRExpHeap_NS_recycleFreeBlock -JKRExpHeap_NS_recycleFreeBlock: +.global recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: /* 802CFF1C 002CCE5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802CFF20 002CCE60 7C 08 02 A6 */ mflr r0 /* 802CFF24 002CCE64 90 01 00 24 */ stw r0, 0x24(r1) @@ -1299,14 +1299,14 @@ lbl_802CFF6C: /* 802CFF80 002CCEC0 38 A0 00 00 */ li r5, 0 /* 802CFF84 002CCEC4 38 E0 00 00 */ li r7, 0 /* 802CFF88 002CCEC8 39 00 00 00 */ li r8, 0 -/* 802CFF8C 002CCECC 48 00 08 85 */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CFF8C 002CCECC 48 00 08 85 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CFF90 002CCED0 93 FD 00 78 */ stw r31, 0x78(r29) /* 802CFF94 002CCED4 93 FD 00 7C */ stw r31, 0x7c(r29) /* 802CFF98 002CCED8 7F A3 EB 78 */ mr r3, r29 /* 802CFF9C 002CCEDC 7F E4 FB 78 */ mr r4, r31 /* 802CFFA0 002CCEE0 38 A0 00 00 */ li r5, 0 /* 802CFFA4 002CCEE4 38 C0 00 00 */ li r6, 0 -/* 802CFFA8 002CCEE8 4B FF FE C1 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CFFA8 002CCEE8 4B FF FE C1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock /* 802CFFAC 002CCEEC 48 00 00 F0 */ b lbl_802D009C lbl_802CFFB0: /* 802CFFB0 002CCEF0 7C 03 28 40 */ cmplw r3, r5 @@ -1316,15 +1316,15 @@ lbl_802CFFB0: /* 802CFFC0 002CCF00 38 A0 00 00 */ li r5, 0 /* 802CFFC4 002CCF04 38 E0 00 00 */ li r7, 0 /* 802CFFC8 002CCF08 39 00 00 00 */ li r8, 0 -/* 802CFFCC 002CCF0C 48 00 08 45 */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802CFFCC 002CCF0C 48 00 08 45 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802CFFD0 002CCF10 7F A3 EB 78 */ mr r3, r29 /* 802CFFD4 002CCF14 7F E4 FB 78 */ mr r4, r31 /* 802CFFD8 002CCF18 38 A0 00 00 */ li r5, 0 /* 802CFFDC 002CCF1C 80 DD 00 78 */ lwz r6, 0x78(r29) -/* 802CFFE0 002CCF20 4B FF FE 89 */ bl JKRExpHeap_NS_setFreeBlock +/* 802CFFE0 002CCF20 4B FF FE 89 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock /* 802CFFE4 002CCF24 7F A3 EB 78 */ mr r3, r29 /* 802CFFE8 002CCF28 7F E4 FB 78 */ mr r4, r31 -/* 802CFFEC 002CCF2C 48 00 00 C9 */ bl JKRExpHeap_NS_joinTwoBlocks +/* 802CFFEC 002CCF2C 48 00 00 C9 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802CFFF0 002CCF30 48 00 00 AC */ b lbl_802D009C lbl_802CFFF4: /* 802CFFF4 002CCF34 80 1D 00 7C */ lwz r0, 0x7c(r29) @@ -1335,15 +1335,15 @@ lbl_802CFFF4: /* 802D0008 002CCF48 38 A0 00 00 */ li r5, 0 /* 802D000C 002CCF4C 38 E0 00 00 */ li r7, 0 /* 802D0010 002CCF50 39 00 00 00 */ li r8, 0 -/* 802D0014 002CCF54 48 00 07 FD */ bl JKRExpHeap_NS_CMemBlock_NS_initiate +/* 802D0014 002CCF54 48 00 07 FD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc /* 802D0018 002CCF58 7F A3 EB 78 */ mr r3, r29 /* 802D001C 002CCF5C 7F E4 FB 78 */ mr r4, r31 /* 802D0020 002CCF60 80 BD 00 7C */ lwz r5, 0x7c(r29) /* 802D0024 002CCF64 38 C0 00 00 */ li r6, 0 -/* 802D0028 002CCF68 4B FF FE 41 */ bl JKRExpHeap_NS_setFreeBlock +/* 802D0028 002CCF68 4B FF FE 41 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock /* 802D002C 002CCF6C 7F A3 EB 78 */ mr r3, r29 /* 802D0030 002CCF70 80 9F 00 08 */ lwz r4, 8(r31) -/* 802D0034 002CCF74 48 00 00 81 */ bl JKRExpHeap_NS_joinTwoBlocks +/* 802D0034 002CCF74 48 00 00 81 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802D0038 002CCF78 48 00 00 64 */ b lbl_802D009C lbl_802D003C: /* 802D003C 002CCF7C 7C 7E 1B 78 */ mr r30, r3 @@ -1363,10 +1363,10 @@ lbl_802D0044: /* 802D0070 002CCFB0 98 1F 00 03 */ stb r0, 3(r31) /* 802D0074 002CCFB4 7F A3 EB 78 */ mr r3, r29 /* 802D0078 002CCFB8 7F E4 FB 78 */ mr r4, r31 -/* 802D007C 002CCFBC 48 00 00 39 */ bl JKRExpHeap_NS_joinTwoBlocks +/* 802D007C 002CCFBC 48 00 00 39 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802D0080 002CCFC0 7F A3 EB 78 */ mr r3, r29 /* 802D0084 002CCFC4 7F C4 F3 78 */ mr r4, r30 -/* 802D0088 002CCFC8 48 00 00 2D */ bl JKRExpHeap_NS_joinTwoBlocks +/* 802D0088 002CCFC8 48 00 00 2D */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802D008C 002CCFCC 48 00 00 10 */ b lbl_802D009C lbl_802D0090: /* 802D0090 002CCFD0 83 DE 00 0C */ lwz r30, 0xc(r30) @@ -1381,8 +1381,8 @@ lbl_802D009C: /* 802D00AC 002CCFEC 38 21 00 20 */ addi r1, r1, 0x20 /* 802D00B0 002CCFF0 4E 80 00 20 */ blr -.global JKRExpHeap_NS_joinTwoBlocks -JKRExpHeap_NS_joinTwoBlocks: +.global joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock: /* 802D00B4 002CCFF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D00B8 002CCFF8 7C 08 02 A6 */ mflr r0 /* 802D00BC 002CCFFC 90 01 00 24 */ stw r0, 0x24(r1) @@ -1432,7 +1432,7 @@ lbl_802D013C: /* 802D0168 002CD0A8 7F E4 FB 78 */ mr r4, r31 /* 802D016C 002CD0AC 80 BF 00 08 */ lwz r5, 8(r31) /* 802D0170 002CD0B0 80 DC 00 0C */ lwz r6, 0xc(r28) -/* 802D0174 002CD0B4 4B FF FC F5 */ bl JKRExpHeap_NS_setFreeBlock +/* 802D0174 002CD0B4 4B FF FC F5 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock lbl_802D0178: /* 802D0178 002CD0B8 39 61 00 20 */ addi r11, r1, 0x20 /* 802D017C 002CD0BC 48 09 20 A5 */ bl _restgpr_27 @@ -1891,8 +1891,8 @@ lbl_802D078C: /* 802D0808 002CD748 38 21 00 40 */ addi r1, r1, 0x40 /* 802D080C 002CD74C 4E 80 00 20 */ blr -.global JKRExpHeap_NS_CMemBlock_NS_initiate -JKRExpHeap_NS_CMemBlock_NS_initiate: +.global initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc: /* 802D0810 002CD750 38 00 48 4D */ li r0, 0x484d /* 802D0814 002CD754 B0 03 00 00 */ sth r0, 0(r3) /* 802D0818 002CD758 99 03 00 02 */ stb r8, 2(r3) @@ -1902,8 +1902,8 @@ JKRExpHeap_NS_CMemBlock_NS_initiate: /* 802D0828 002CD768 90 A3 00 0C */ stw r5, 0xc(r3) /* 802D082C 002CD76C 4E 80 00 20 */ blr -.global JKRExpHeap_NS_CMemBlock_NS_allocFore -JKRExpHeap_NS_CMemBlock_NS_allocFore: +.global allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc: /* 802D0830 002CD770 39 20 00 00 */ li r9, 0 /* 802D0834 002CD774 98 A3 00 03 */ stb r5, 3(r3) /* 802D0838 002CD778 98 C3 00 02 */ stb r6, 2(r3) @@ -1923,8 +1923,8 @@ lbl_802D086C: /* 802D086C 002CD7AC 7D 23 4B 78 */ mr r3, r9 /* 802D0870 002CD7B0 4E 80 00 20 */ blr -.global JKRExpHeap_NS_CMemBlock_NS_allocBack -JKRExpHeap_NS_CMemBlock_NS_allocBack: +.global allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc: /* 802D0874 002CD7B4 39 40 00 00 */ li r10, 0 /* 802D0878 002CD7B8 80 03 00 04 */ lwz r0, 4(r3) /* 802D087C 002CD7BC 39 24 00 10 */ addi r9, r4, 0x10 @@ -1950,8 +1950,8 @@ lbl_802D08C4: /* 802D08C4 002CD804 7D 43 53 78 */ mr r3, r10 /* 802D08C8 002CD808 4E 80 00 20 */ blr -.global JKRExpHeap_NS_CMemBlock_NS_free -JKRExpHeap_NS_CMemBlock_NS_free: +.global free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap +free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap: /* 802D08CC 002CD80C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D08D0 002CD810 7C 08 02 A6 */ mflr r0 /* 802D08D4 002CD814 90 01 00 14 */ stw r0, 0x14(r1) @@ -1961,10 +1961,10 @@ JKRExpHeap_NS_CMemBlock_NS_free: /* 802D08E4 002CD824 7C 9F 23 78 */ mr r31, r4 /* 802D08E8 002CD828 7F E3 FB 78 */ mr r3, r31 /* 802D08EC 002CD82C 7F C4 F3 78 */ mr r4, r30 -/* 802D08F0 002CD830 4B FF F5 F9 */ bl JKRExpHeap_NS_removeUsedBlock +/* 802D08F0 002CD830 4B FF F5 F9 */ bl removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802D08F4 002CD834 7F E3 FB 78 */ mr r3, r31 /* 802D08F8 002CD838 7F C4 F3 78 */ mr r4, r30 -/* 802D08FC 002CD83C 4B FF F6 21 */ bl JKRExpHeap_NS_recycleFreeBlock +/* 802D08FC 002CD83C 4B FF F6 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock /* 802D0900 002CD840 38 60 00 00 */ li r3, 0 /* 802D0904 002CD844 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802D0908 002CD848 83 C1 00 08 */ lwz r30, 8(r1) @@ -1973,8 +1973,8 @@ JKRExpHeap_NS_CMemBlock_NS_free: /* 802D0914 002CD854 38 21 00 10 */ addi r1, r1, 0x10 /* 802D0918 002CD858 4E 80 00 20 */ blr -.global JKRExpHeap_NS_CMemBlock_NS_getHeapBlock -JKRExpHeap_NS_CMemBlock_NS_getHeapBlock: +.global getHeapBlock__Q210JKRExpHeap9CMemBlockFPv +getHeapBlock__Q210JKRExpHeap9CMemBlockFPv: /* 802D091C 002CD85C 28 03 00 00 */ cmplwi r3, 0 /* 802D0920 002CD860 41 82 00 10 */ beq lbl_802D0930 /* 802D0924 002CD864 A4 03 FF F0 */ lhzu r0, -0x10(r3) @@ -1995,7 +1995,7 @@ lbl_802D0930: /* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff /* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974 /* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18 -/* 802D0968 002CD8A8 4B FF F3 81 */ bl JKRExpHeap_NS_getUsedSize +/* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc /* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30) /* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984 lbl_802D0974: diff --git a/asm/JKernel/JKRFileCache.s b/asm/JKernel/JKRFileCache.s deleted file mode 100644 index 863dff83bb..0000000000 --- a/asm/JKernel/JKRFileCache.s +++ /dev/null @@ -1,974 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802d49b4 - - -.global JKRFileCache_NS_mount -JKRFileCache_NS_mount: -/* 802D49B4 002D18F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D49B8 002D18F8 7C 08 02 A6 */ mflr r0 -/* 802D49BC 002D18FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D49C0 002D1900 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D49C4 002D1904 48 08 D8 11 */ bl _savegpr_27 -/* 802D49C8 002D1908 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D49CC 002D190C 7C 9B 23 78 */ mr r27, r4 -/* 802D49D0 002D1910 7C BF 2B 78 */ mr r31, r5 -/* 802D49D4 002D1914 41 82 00 10 */ beq lbl_802D49E4 -/* 802D49D8 002D1918 88 1E 00 00 */ lbz r0, 0(r30) -/* 802D49DC 002D191C 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D49E0 002D1920 41 82 00 0C */ beq lbl_802D49EC -lbl_802D49E4: -/* 802D49E4 002D1924 38 60 00 00 */ li r3, 0 -/* 802D49E8 002D1928 48 00 00 B4 */ b lbl_802D4A9C -lbl_802D49EC: -/* 802D49EC 002D192C 48 09 41 F9 */ bl func_80368BE4 -/* 802D49F0 002D1930 28 03 00 01 */ cmplwi r3, 1 -/* 802D49F4 002D1934 41 82 00 1C */ beq lbl_802D4A10 -/* 802D49F8 002D1938 7C 7E 1A 14 */ add r3, r30, r3 -/* 802D49FC 002D193C 88 03 FF FF */ lbz r0, -1(r3) -/* 802D4A00 002D1940 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D4A04 002D1944 40 82 00 0C */ bne lbl_802D4A10 -/* 802D4A08 002D1948 38 60 00 00 */ li r3, 0 -/* 802D4A0C 002D194C 48 00 00 90 */ b lbl_802D4A9C -lbl_802D4A10: -/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, lbl_80434354@l(r3) -/* 802D4A18 002D1958 48 00 00 50 */ b lbl_802D4A68 -lbl_802D4A1C: -/* 802D4A1C 002D195C 80 9D 00 00 */ lwz r4, 0(r29) -/* 802D4A20 002D1960 80 64 00 2C */ lwz r3, 0x2c(r4) -/* 802D4A24 002D1964 3C 03 BC BF */ addis r0, r3, 0xbcbf -/* 802D4A28 002D1968 28 00 53 48 */ cmplwi r0, 0x5348 -/* 802D4A2C 002D196C 40 82 00 38 */ bne lbl_802D4A64 -/* 802D4A30 002D1970 7C 9C 23 78 */ mr r28, r4 -/* 802D4A34 002D1974 80 64 00 48 */ lwz r3, 0x48(r4) -/* 802D4A38 002D1978 28 03 00 00 */ cmplwi r3, 0 -/* 802D4A3C 002D197C 41 82 00 28 */ beq lbl_802D4A64 -/* 802D4A40 002D1980 7F C4 F3 78 */ mr r4, r30 -/* 802D4A44 002D1984 48 09 3F 51 */ bl strcmp -/* 802D4A48 002D1988 2C 03 00 00 */ cmpwi r3, 0 -/* 802D4A4C 002D198C 40 82 00 18 */ bne lbl_802D4A64 -/* 802D4A50 002D1990 80 7C 00 34 */ lwz r3, 0x34(r28) -/* 802D4A54 002D1994 38 03 00 01 */ addi r0, r3, 1 -/* 802D4A58 002D1998 90 1C 00 34 */ stw r0, 0x34(r28) -/* 802D4A5C 002D199C 7F 83 E3 78 */ mr r3, r28 -/* 802D4A60 002D19A0 48 00 00 3C */ b lbl_802D4A9C -lbl_802D4A64: -/* 802D4A64 002D19A4 83 BD 00 0C */ lwz r29, 0xc(r29) -lbl_802D4A68: -/* 802D4A68 002D19A8 28 1D 00 00 */ cmplwi r29, 0 -/* 802D4A6C 002D19AC 40 82 FF B0 */ bne lbl_802D4A1C -/* 802D4A70 002D19B0 38 60 00 54 */ li r3, 0x54 -/* 802D4A74 002D19B4 7F 64 DB 78 */ mr r4, r27 -/* 802D4A78 002D19B8 38 A0 00 00 */ li r5, 0 -/* 802D4A7C 002D19BC 4B FF A2 1D */ bl __nw__FUlP7JKRHeapi -/* 802D4A80 002D19C0 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D4A84 002D19C4 41 82 00 14 */ beq lbl_802D4A98 -/* 802D4A88 002D19C8 7F C4 F3 78 */ mr r4, r30 -/* 802D4A8C 002D19CC 7F E5 FB 78 */ mr r5, r31 -/* 802D4A90 002D19D0 48 00 00 25 */ bl JKRFileCache -/* 802D4A94 002D19D4 7C 60 1B 78 */ mr r0, r3 -lbl_802D4A98: -/* 802D4A98 002D19D8 7C 03 03 78 */ mr r3, r0 -lbl_802D4A9C: -/* 802D4A9C 002D19DC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D4AA0 002D19E0 48 08 D7 81 */ bl _restgpr_27 -/* 802D4AA4 002D19E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4AA8 002D19E8 7C 08 03 A6 */ mtlr r0 -/* 802D4AAC 002D19EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D4AB0 002D19F0 4E 80 00 20 */ blr - -.global JKRFileCache -JKRFileCache: -/* 802D4AB4 002D19F4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D4AB8 002D19F8 7C 08 02 A6 */ mflr r0 -/* 802D4ABC 002D19FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D4AC0 002D1A00 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D4AC4 002D1A04 48 08 D7 15 */ bl _savegpr_28 -/* 802D4AC8 002D1A08 7C 7F 1B 78 */ mr r31, r3 -/* 802D4ACC 002D1A0C 7C 9C 23 78 */ mr r28, r4 -/* 802D4AD0 002D1A10 7C BD 2B 78 */ mr r29, r5 -/* 802D4AD4 002D1A14 4B FF F6 1D */ bl JKRFileLoader -/* 802D4AD8 002D1A18 3C 60 80 3D */ lis r3, lbl_803CC238@ha -/* 802D4ADC 002D1A1C 38 03 C2 38 */ addi r0, r3, lbl_803CC238@l -/* 802D4AE0 002D1A20 90 1F 00 00 */ stw r0, 0(r31) -/* 802D4AE4 002D1A24 38 7F 00 3C */ addi r3, r31, 0x3c -/* 802D4AE8 002D1A28 48 00 74 2D */ bl initiate__10JSUPtrListFv -/* 802D4AEC 002D1A2C 7F E3 FB 78 */ mr r3, r31 -/* 802D4AF0 002D1A30 4B FF 9D 4D */ bl findFromRoot__7JKRHeapFPv -/* 802D4AF4 002D1A34 90 7F 00 38 */ stw r3, 0x38(r31) -/* 802D4AF8 002D1A38 38 00 00 01 */ li r0, 1 -/* 802D4AFC 002D1A3C 90 1F 00 34 */ stw r0, 0x34(r31) -/* 802D4B00 002D1A40 3C 60 43 41 */ lis r3, 0x43415348@ha -/* 802D4B04 002D1A44 38 03 53 48 */ addi r0, r3, 0x43415348@l -/* 802D4B08 002D1A48 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 802D4B0C 002D1A4C 7F 83 E3 78 */ mr r3, r28 -/* 802D4B10 002D1A50 48 09 40 D5 */ bl func_80368BE4 -/* 802D4B14 002D1A54 7C 7E 1B 78 */ mr r30, r3 -/* 802D4B18 002D1A58 38 7E 00 01 */ addi r3, r30, 1 -/* 802D4B1C 002D1A5C 38 80 00 01 */ li r4, 1 -/* 802D4B20 002D1A60 80 BF 00 38 */ lwz r5, 0x38(r31) -/* 802D4B24 002D1A64 4B FF 99 51 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D4B28 002D1A68 90 7F 00 48 */ stw r3, 0x48(r31) -/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4B30 002D1A70 38 9E 00 02 */ addi r4, r30, 2 -/* 802D4B34 002D1A74 38 A0 00 01 */ li r5, 1 -/* 802D4B38 002D1A78 4B FF 99 9D */ bl alloc__7JKRHeapFUli -/* 802D4B3C 002D1A7C 90 7F 00 4C */ stw r3, 0x4c(r31) -/* 802D4B40 002D1A80 80 7F 00 48 */ lwz r3, 0x48(r31) -/* 802D4B44 002D1A84 7F 84 E3 78 */ mr r4, r28 -/* 802D4B48 002D1A88 48 09 3F E5 */ bl strcpy -/* 802D4B4C 002D1A8C 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 802D4B50 002D1A90 7F 84 E3 78 */ mr r4, r28 -/* 802D4B54 002D1A94 48 09 3F D9 */ bl strcpy -/* 802D4B58 002D1A98 88 1C 00 01 */ lbz r0, 1(r28) -/* 802D4B5C 002D1A9C 7C 00 07 75 */ extsb. r0, r0 -/* 802D4B60 002D1AA0 41 82 00 88 */ beq lbl_802D4BE8 -/* 802D4B64 002D1AA4 7F E3 FB 78 */ mr r3, r31 -/* 802D4B68 002D1AA8 80 9F 00 48 */ lwz r4, 0x48(r31) -/* 802D4B6C 002D1AAC 48 00 0A B9 */ bl JKRFileCache_NS_convStrLower -/* 802D4B70 002D1AB0 7F E3 FB 78 */ mr r3, r31 -/* 802D4B74 002D1AB4 80 9F 00 4C */ lwz r4, 0x4c(r31) -/* 802D4B78 002D1AB8 48 00 0A AD */ bl JKRFileCache_NS_convStrLower -/* 802D4B7C 002D1ABC 80 7F 00 4C */ lwz r3, 0x4c(r31) -/* 802D4B80 002D1AC0 3C 80 80 3A */ lis r4, lbl_8039D158@ha -/* 802D4B84 002D1AC4 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l -/* 802D4B88 002D1AC8 48 09 3F 35 */ bl func_80368ABC -/* 802D4B8C 002D1ACC 7F BE EB 78 */ mr r30, r29 -/* 802D4B90 002D1AD0 28 1D 00 00 */ cmplwi r29, 0 -/* 802D4B94 002D1AD4 40 82 00 14 */ bne lbl_802D4BA8 -/* 802D4B98 002D1AD8 80 7F 00 48 */ lwz r3, 0x48(r31) -/* 802D4B9C 002D1ADC 38 80 00 2F */ li r4, 0x2f -/* 802D4BA0 002D1AE0 48 09 3D 3D */ bl func_803688DC -/* 802D4BA4 002D1AE4 3B C3 00 01 */ addi r30, r3, 1 -lbl_802D4BA8: -/* 802D4BA8 002D1AE8 7F C3 F3 78 */ mr r3, r30 -/* 802D4BAC 002D1AEC 48 09 40 39 */ bl func_80368BE4 -/* 802D4BB0 002D1AF0 38 83 00 01 */ addi r4, r3, 1 -/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4BB8 002D1AF8 38 A0 00 00 */ li r5, 0 -/* 802D4BBC 002D1AFC 4B FF 99 19 */ bl alloc__7JKRHeapFUli -/* 802D4BC0 002D1B00 90 7F 00 50 */ stw r3, 0x50(r31) -/* 802D4BC4 002D1B04 80 7F 00 50 */ lwz r3, 0x50(r31) -/* 802D4BC8 002D1B08 7F C4 F3 78 */ mr r4, r30 -/* 802D4BCC 002D1B0C 48 09 3F 61 */ bl strcpy -/* 802D4BD0 002D1B10 7F E3 FB 78 */ mr r3, r31 -/* 802D4BD4 002D1B14 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 802D4BD8 002D1B18 48 00 0A 4D */ bl JKRFileCache_NS_convStrLower -/* 802D4BDC 002D1B1C 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 802D4BE0 002D1B20 90 1F 00 28 */ stw r0, 0x28(r31) -/* 802D4BE4 002D1B24 48 00 00 58 */ b lbl_802D4C3C -lbl_802D4BE8: -/* 802D4BE8 002D1B28 7F BE EB 78 */ mr r30, r29 -/* 802D4BEC 002D1B2C 28 1D 00 00 */ cmplwi r29, 0 -/* 802D4BF0 002D1B30 40 82 00 10 */ bne lbl_802D4C00 -/* 802D4BF4 002D1B34 3C 60 80 3A */ lis r3, lbl_8039D158@ha -/* 802D4BF8 002D1B38 38 63 D1 58 */ addi r3, r3, lbl_8039D158@l -/* 802D4BFC 002D1B3C 3B C3 00 02 */ addi r30, r3, 2 -lbl_802D4C00: -/* 802D4C00 002D1B40 7F C3 F3 78 */ mr r3, r30 -/* 802D4C04 002D1B44 48 09 3F E1 */ bl func_80368BE4 -/* 802D4C08 002D1B48 38 83 00 01 */ addi r4, r3, 1 -/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4C10 002D1B50 38 A0 00 00 */ li r5, 0 -/* 802D4C14 002D1B54 4B FF 98 C1 */ bl alloc__7JKRHeapFUli -/* 802D4C18 002D1B58 90 7F 00 50 */ stw r3, 0x50(r31) -/* 802D4C1C 002D1B5C 80 7F 00 50 */ lwz r3, 0x50(r31) -/* 802D4C20 002D1B60 7F C4 F3 78 */ mr r4, r30 -/* 802D4C24 002D1B64 48 09 3F 09 */ bl strcpy -/* 802D4C28 002D1B68 7F E3 FB 78 */ mr r3, r31 -/* 802D4C2C 002D1B6C 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 802D4C30 002D1B70 48 00 09 F5 */ bl JKRFileCache_NS_convStrLower -/* 802D4C34 002D1B74 80 1F 00 50 */ lwz r0, 0x50(r31) -/* 802D4C38 002D1B78 90 1F 00 28 */ stw r0, 0x28(r31) -lbl_802D4C3C: -/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, lbl_80434354@l -/* 802D4C44 002D1B84 38 9F 00 18 */ addi r4, r31, 0x18 -/* 802D4C48 002D1B88 48 00 73 A9 */ bl prepend__10JSUPtrListFP10JSUPtrLink -/* 802D4C4C 002D1B8C 38 00 00 01 */ li r0, 1 -/* 802D4C50 002D1B90 98 1F 00 30 */ stb r0, 0x30(r31) -/* 802D4C54 002D1B94 7F E3 FB 78 */ mr r3, r31 -/* 802D4C58 002D1B98 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D4C5C 002D1B9C 48 08 D5 C9 */ bl _restgpr_28 -/* 802D4C60 002D1BA0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4C64 002D1BA4 7C 08 03 A6 */ mtlr r0 -/* 802D4C68 002D1BA8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D4C6C 002D1BAC 4E 80 00 20 */ blr -/* 802D4C70 002D1BB0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D4C74 002D1BB4 7C 08 02 A6 */ mflr r0 -/* 802D4C78 002D1BB8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4C7C 002D1BBC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4C80 002D1BC0 93 C1 00 08 */ stw r30, 8(r1) -/* 802D4C84 002D1BC4 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D4C88 002D1BC8 7C 9F 23 78 */ mr r31, r4 -/* 802D4C8C 002D1BCC 41 82 00 9C */ beq lbl_802D4D28 -/* 802D4C90 002D1BD0 3C 80 80 3D */ lis r4, lbl_803CC238@ha -/* 802D4C94 002D1BD4 38 04 C2 38 */ addi r0, r4, lbl_803CC238@l -/* 802D4C98 002D1BD8 90 1E 00 00 */ stw r0, 0(r30) -/* 802D4C9C 002D1BDC 81 83 00 00 */ lwz r12, 0(r3) -/* 802D4CA0 002D1BE0 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 802D4CA4 002D1BE4 7D 89 03 A6 */ mtctr r12 -/* 802D4CA8 002D1BE8 4E 80 04 21 */ bctrl -/* 802D4CAC 002D1BEC 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 802D4CB0 002D1BF0 28 03 00 00 */ cmplwi r3, 0 -/* 802D4CB4 002D1BF4 41 82 00 0C */ beq lbl_802D4CC0 -/* 802D4CB8 002D1BF8 80 9E 00 38 */ lwz r4, 0x38(r30) -/* 802D4CBC 002D1BFC 4B FF 98 45 */ bl free__7JKRHeapFPvP7JKRHeap -lbl_802D4CC0: -/* 802D4CC0 002D1C00 80 9E 00 4C */ lwz r4, 0x4c(r30) -/* 802D4CC4 002D1C04 28 04 00 00 */ cmplwi r4, 0 -/* 802D4CC8 002D1C08 41 82 00 0C */ beq lbl_802D4CD4 -/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4CD0 002D1C10 4B FF 98 79 */ bl free__7JKRHeapFPv -lbl_802D4CD4: -/* 802D4CD4 002D1C14 80 9E 00 50 */ lwz r4, 0x50(r30) -/* 802D4CD8 002D1C18 28 04 00 00 */ cmplwi r4, 0 -/* 802D4CDC 002D1C1C 41 82 00 0C */ beq lbl_802D4CE8 -/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4CE4 002D1C24 4B FF 98 65 */ bl free__7JKRHeapFPv -lbl_802D4CE8: -/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, lbl_80434354@l -/* 802D4CF0 002D1C30 38 9E 00 18 */ addi r4, r30, 0x18 -/* 802D4CF4 002D1C34 48 00 74 69 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D4CF8 002D1C38 34 1E 00 3C */ addic. r0, r30, 0x3c -/* 802D4CFC 002D1C3C 41 82 00 10 */ beq lbl_802D4D0C -/* 802D4D00 002D1C40 38 7E 00 3C */ addi r3, r30, 0x3c -/* 802D4D04 002D1C44 38 80 00 00 */ li r4, 0 -/* 802D4D08 002D1C48 48 00 71 A5 */ bl __dt__10JSUPtrListFv -lbl_802D4D0C: -/* 802D4D0C 002D1C4C 7F C3 F3 78 */ mr r3, r30 -/* 802D4D10 002D1C50 38 80 00 00 */ li r4, 0 -/* 802D4D14 002D1C54 4B FF F4 35 */ bl JKRFileLoader_NS_dtor -/* 802D4D18 002D1C58 7F E0 07 35 */ extsh. r0, r31 -/* 802D4D1C 002D1C5C 40 81 00 0C */ ble lbl_802D4D28 -/* 802D4D20 002D1C60 7F C3 F3 78 */ mr r3, r30 -/* 802D4D24 002D1C64 4B FF A0 19 */ bl __dl__FPv -lbl_802D4D28: -/* 802D4D28 002D1C68 7F C3 F3 78 */ mr r3, r30 -/* 802D4D2C 002D1C6C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D4D30 002D1C70 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D4D34 002D1C74 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D4D38 002D1C78 7C 08 03 A6 */ mtlr r0 -/* 802D4D3C 002D1C7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4D40 002D1C80 4E 80 00 20 */ blr -/* 802D4D44 002D1C84 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D4D48 002D1C88 7C 08 02 A6 */ mflr r0 -/* 802D4D4C 002D1C8C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D4D50 002D1C90 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D4D54 002D1C94 48 08 D4 89 */ bl _savegpr_29 -/* 802D4D58 002D1C98 7C 7D 1B 78 */ mr r29, r3 -/* 802D4D5C 002D1C9C 48 00 07 C1 */ bl JKRFileCache_NS_getDvdPathName -/* 802D4D60 002D1CA0 7C 7F 1B 78 */ mr r31, r3 -/* 802D4D64 002D1CA4 48 07 3F 91 */ bl DVDChangeDir -/* 802D4D68 002D1CA8 30 03 FF FF */ addic r0, r3, -1 -/* 802D4D6C 002D1CAC 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D4D70 002D1CB0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802D4D74 002D1CB4 7C 1E 03 78 */ mr r30, r0 -/* 802D4D78 002D1CB8 41 82 00 38 */ beq lbl_802D4DB0 -/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13) -/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4D84 002D1CC4 80 9D 00 4C */ lwz r4, 0x4c(r29) -/* 802D4D88 002D1CC8 4B FF 97 C1 */ bl free__7JKRHeapFPv -/* 802D4D8C 002D1CCC 93 FD 00 4C */ stw r31, 0x4c(r29) -/* 802D4D90 002D1CD0 80 7D 00 4C */ lwz r3, 0x4c(r29) -/* 802D4D94 002D1CD4 88 03 00 01 */ lbz r0, 1(r3) -/* 802D4D98 002D1CD8 7C 00 07 75 */ extsb. r0, r0 -/* 802D4D9C 002D1CDC 41 82 00 20 */ beq lbl_802D4DBC -/* 802D4DA0 002D1CE0 3C 80 80 3A */ lis r4, lbl_8039D158@ha -/* 802D4DA4 002D1CE4 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l -/* 802D4DA8 002D1CE8 48 09 3D 15 */ bl func_80368ABC -/* 802D4DAC 002D1CEC 48 00 00 10 */ b lbl_802D4DBC -lbl_802D4DB0: -/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4DB4 002D1CF4 7F E4 FB 78 */ mr r4, r31 -/* 802D4DB8 002D1CF8 4B FF 97 91 */ bl free__7JKRHeapFPv -lbl_802D4DBC: -/* 802D4DBC 002D1CFC 7F C3 F3 78 */ mr r3, r30 -/* 802D4DC0 002D1D00 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D4DC4 002D1D04 48 08 D4 65 */ bl _restgpr_29 -/* 802D4DC8 002D1D08 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4DCC 002D1D0C 7C 08 03 A6 */ mtlr r0 -/* 802D4DD0 002D1D10 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D4DD4 002D1D14 4E 80 00 20 */ blr -/* 802D4DD8 002D1D18 94 21 FE F0 */ stwu r1, -0x110(r1) -/* 802D4DDC 002D1D1C 7C 08 02 A6 */ mflr r0 -/* 802D4DE0 002D1D20 90 01 01 14 */ stw r0, 0x114(r1) -/* 802D4DE4 002D1D24 39 61 01 10 */ addi r11, r1, 0x110 -/* 802D4DE8 002D1D28 48 08 D3 F1 */ bl _savegpr_28 -/* 802D4DEC 002D1D2C 7C 7C 1B 78 */ mr r28, r3 -/* 802D4DF0 002D1D30 3B E0 00 00 */ li r31, 0 -/* 802D4DF4 002D1D34 48 00 07 29 */ bl JKRFileCache_NS_getDvdPathName -/* 802D4DF8 002D1D38 7C 7E 1B 78 */ mr r30, r3 -/* 802D4DFC 002D1D3C 38 61 00 08 */ addi r3, r1, 8 -/* 802D4E00 002D1D40 7F C4 F3 78 */ mr r4, r30 -/* 802D4E04 002D1D44 48 00 47 F5 */ bl JKRDvdFile_X1_ -/* 802D4E08 002D1D48 88 01 00 20 */ lbz r0, 0x20(r1) -/* 802D4E0C 002D1D4C 28 00 00 00 */ cmplwi r0, 0 -/* 802D4E10 002D1D50 41 82 00 98 */ beq lbl_802D4EA8 -/* 802D4E14 002D1D54 7F 83 E3 78 */ mr r3, r28 -/* 802D4E18 002D1D58 80 81 00 94 */ lwz r4, 0x94(r1) -/* 802D4E1C 002D1D5C 48 00 05 C9 */ bl JKRFileCache_NS_findCacheBlock_X1_ -/* 802D4E20 002D1D60 28 03 00 00 */ cmplwi r3, 0 -/* 802D4E24 002D1D64 40 82 00 74 */ bne lbl_802D4E98 -/* 802D4E28 002D1D68 80 61 00 98 */ lwz r3, 0x98(r1) -/* 802D4E2C 002D1D6C 38 03 00 1F */ addi r0, r3, 0x1f -/* 802D4E30 002D1D70 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a -/* 802D4E34 002D1D74 7F A3 EB 78 */ mr r3, r29 -/* 802D4E38 002D1D78 38 80 00 20 */ li r4, 0x20 -/* 802D4E3C 002D1D7C 80 BC 00 38 */ lwz r5, 0x38(r28) -/* 802D4E40 002D1D80 4B FF 96 35 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D4E44 002D1D84 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D4E48 002D1D88 41 82 00 60 */ beq lbl_802D4EA8 -/* 802D4E4C 002D1D8C 38 61 00 08 */ addi r3, r1, 8 -/* 802D4E50 002D1D90 7F E4 FB 78 */ mr r4, r31 -/* 802D4E54 002D1D94 7F A5 EB 78 */ mr r5, r29 -/* 802D4E58 002D1D98 38 C0 00 00 */ li r6, 0 -/* 802D4E5C 002D1D9C 48 00 46 BD */ bl JKRFile_NS_read -/* 802D4E60 002D1DA0 38 60 00 20 */ li r3, 0x20 -/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) -/* 802D4E68 002D1DA8 38 A0 00 00 */ li r5, 0 -/* 802D4E6C 002D1DAC 4B FF 9E 2D */ bl __nw__FUlP7JKRHeapi -/* 802D4E70 002D1DB0 7C 64 1B 79 */ or. r4, r3, r3 -/* 802D4E74 002D1DB4 41 82 00 18 */ beq lbl_802D4E8C -/* 802D4E78 002D1DB8 80 81 00 94 */ lwz r4, 0x94(r1) -/* 802D4E7C 002D1DBC 80 A1 00 98 */ lwz r5, 0x98(r1) -/* 802D4E80 002D1DC0 7F E6 FB 78 */ mr r6, r31 -/* 802D4E84 002D1DC4 48 00 07 E9 */ bl JKRFileCache_NS_CCacheBlock -/* 802D4E88 002D1DC8 7C 64 1B 78 */ mr r4, r3 -lbl_802D4E8C: -/* 802D4E8C 002D1DCC 38 7C 00 3C */ addi r3, r28, 0x3c -/* 802D4E90 002D1DD0 48 00 70 BD */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802D4E94 002D1DD4 48 00 00 14 */ b lbl_802D4EA8 -lbl_802D4E98: -/* 802D4E98 002D1DD8 80 83 00 10 */ lwz r4, 0x10(r3) -/* 802D4E9C 002D1DDC 38 04 00 01 */ addi r0, r4, 1 -/* 802D4EA0 002D1DE0 90 03 00 10 */ stw r0, 0x10(r3) -/* 802D4EA4 002D1DE4 83 E3 00 1C */ lwz r31, 0x1c(r3) -lbl_802D4EA8: -/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D4EAC 002D1DEC 7F C4 F3 78 */ mr r4, r30 -/* 802D4EB0 002D1DF0 4B FF 96 99 */ bl free__7JKRHeapFPv -/* 802D4EB4 002D1DF4 38 61 00 08 */ addi r3, r1, 8 -/* 802D4EB8 002D1DF8 38 80 FF FF */ li r4, -1 -/* 802D4EBC 002D1DFC 48 00 48 8D */ bl JKRDvdFile_NS_dtor -/* 802D4EC0 002D1E00 7F E3 FB 78 */ mr r3, r31 -/* 802D4EC4 002D1E04 39 61 01 10 */ addi r11, r1, 0x110 -/* 802D4EC8 002D1E08 48 08 D3 5D */ bl _restgpr_28 -/* 802D4ECC 002D1E0C 80 01 01 14 */ lwz r0, 0x114(r1) -/* 802D4ED0 002D1E10 7C 08 03 A6 */ mtlr r0 -/* 802D4ED4 002D1E14 38 21 01 10 */ addi r1, r1, 0x110 -/* 802D4ED8 002D1E18 4E 80 00 20 */ blr -/* 802D4EDC 002D1E1C 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D4EE0 002D1E20 7C 08 02 A6 */ mflr r0 -/* 802D4EE4 002D1E24 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D4EE8 002D1E28 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D4EEC 002D1E2C 48 08 D2 F1 */ bl _savegpr_29 -/* 802D4EF0 002D1E30 7C 7D 1B 78 */ mr r29, r3 -/* 802D4EF4 002D1E34 7C BE 2B 78 */ mr r30, r5 -/* 802D4EF8 002D1E38 80 63 00 48 */ lwz r3, 0x48(r3) -/* 802D4EFC 002D1E3C 48 09 3C E9 */ bl func_80368BE4 -/* 802D4F00 002D1E40 3B E1 00 08 */ addi r31, r1, 8 -/* 802D4F04 002D1E44 7F FF 1A 14 */ add r31, r31, r3 -/* 802D4F08 002D1E48 38 61 00 08 */ addi r3, r1, 8 -/* 802D4F0C 002D1E4C 80 9D 00 48 */ lwz r4, 0x48(r29) -/* 802D4F10 002D1E50 48 09 3C 1D */ bl strcpy -/* 802D4F14 002D1E54 7F A3 EB 78 */ mr r3, r29 -/* 802D4F18 002D1E58 38 81 00 08 */ addi r4, r1, 8 -/* 802D4F1C 002D1E5C 7F C5 F3 78 */ mr r5, r30 -/* 802D4F20 002D1E60 48 00 04 F1 */ bl JKRFileCache_NS_findFile -/* 802D4F24 002D1E64 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D4F28 002D1E68 41 82 00 20 */ beq lbl_802D4F48 -/* 802D4F2C 002D1E6C 7F A3 EB 78 */ mr r3, r29 -/* 802D4F30 002D1E70 7F E4 FB 78 */ mr r4, r31 -/* 802D4F34 002D1E74 81 9D 00 00 */ lwz r12, 0(r29) -/* 802D4F38 002D1E78 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D4F3C 002D1E7C 7D 89 03 A6 */ mtctr r12 -/* 802D4F40 002D1E80 4E 80 04 21 */ bctrl -/* 802D4F44 002D1E84 48 00 00 08 */ b lbl_802D4F4C -lbl_802D4F48: -/* 802D4F48 002D1E88 38 60 00 00 */ li r3, 0 -lbl_802D4F4C: -/* 802D4F4C 002D1E8C 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D4F50 002D1E90 48 08 D2 D9 */ bl _restgpr_29 -/* 802D4F54 002D1E94 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D4F58 002D1E98 7C 08 03 A6 */ mtlr r0 -/* 802D4F5C 002D1E9C 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D4F60 002D1EA0 4E 80 00 20 */ blr -/* 802D4F64 002D1EA4 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D4F68 002D1EA8 7C 08 02 A6 */ mflr r0 -/* 802D4F6C 002D1EAC 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D4F70 002D1EB0 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D4F74 002D1EB4 48 08 D2 61 */ bl _savegpr_27 -/* 802D4F78 002D1EB8 7C 7B 1B 78 */ mr r27, r3 -/* 802D4F7C 002D1EBC 7C 9C 23 78 */ mr r28, r4 -/* 802D4F80 002D1EC0 7C BD 2B 78 */ mr r29, r5 -/* 802D4F84 002D1EC4 7C C4 33 78 */ mr r4, r6 -/* 802D4F88 002D1EC8 48 00 05 95 */ bl JKRFileCache_NS_getDvdPathName -/* 802D4F8C 002D1ECC 7C 7F 1B 78 */ mr r31, r3 -/* 802D4F90 002D1ED0 38 61 00 08 */ addi r3, r1, 8 -/* 802D4F94 002D1ED4 7F E4 FB 78 */ mr r4, r31 -/* 802D4F98 002D1ED8 48 00 46 61 */ bl JKRDvdFile_X1_ -/* 802D4F9C 002D1EDC 3B C0 00 00 */ li r30, 0 -lbl_802D4FA0: -/* 802D4FA0 002D1EE0 88 01 00 20 */ lbz r0, 0x20(r1) -/* 802D4FA4 002D1EE4 28 00 00 00 */ cmplwi r0, 0 -/* 802D4FA8 002D1EE8 41 82 00 60 */ beq lbl_802D5008 -/* 802D4FAC 002D1EEC 80 61 00 98 */ lwz r3, 0x98(r1) -/* 802D4FB0 002D1EF0 38 03 00 1F */ addi r0, r3, 0x1f -/* 802D4FB4 002D1EF4 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a -/* 802D4FB8 002D1EF8 57 BD 00 34 */ rlwinm r29, r29, 0, 0, 0x1a -/* 802D4FBC 002D1EFC 7C 1E E8 40 */ cmplw r30, r29 -/* 802D4FC0 002D1F00 40 81 00 08 */ ble lbl_802D4FC8 -/* 802D4FC4 002D1F04 7F BE EB 78 */ mr r30, r29 -lbl_802D4FC8: -/* 802D4FC8 002D1F08 7F 63 DB 78 */ mr r3, r27 -/* 802D4FCC 002D1F0C 80 81 00 94 */ lwz r4, 0x94(r1) -/* 802D4FD0 002D1F10 48 00 04 15 */ bl JKRFileCache_NS_findCacheBlock_X1_ -/* 802D4FD4 002D1F14 7C 64 1B 79 */ or. r4, r3, r3 -/* 802D4FD8 002D1F18 40 82 00 1C */ bne lbl_802D4FF4 -/* 802D4FDC 002D1F1C 38 61 00 08 */ addi r3, r1, 8 -/* 802D4FE0 002D1F20 7F 84 E3 78 */ mr r4, r28 -/* 802D4FE4 002D1F24 7F C5 F3 78 */ mr r5, r30 -/* 802D4FE8 002D1F28 38 C0 00 00 */ li r6, 0 -/* 802D4FEC 002D1F2C 48 00 45 2D */ bl JKRFile_NS_read -/* 802D4FF0 002D1F30 4B FF FF B0 */ b lbl_802D4FA0 -lbl_802D4FF4: -/* 802D4FF4 002D1F34 7F 83 E3 78 */ mr r3, r28 -/* 802D4FF8 002D1F38 80 84 00 1C */ lwz r4, 0x1c(r4) -/* 802D4FFC 002D1F3C 7F C5 F3 78 */ mr r5, r30 -/* 802D5000 002D1F40 4B D2 E5 41 */ bl func_80003540 -/* 802D5004 002D1F44 4B FF FF 9C */ b lbl_802D4FA0 -lbl_802D5008: -/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D500C 002D1F4C 7F E4 FB 78 */ mr r4, r31 -/* 802D5010 002D1F50 4B FF 95 39 */ bl free__7JKRHeapFPv -/* 802D5014 002D1F54 38 61 00 08 */ addi r3, r1, 8 -/* 802D5018 002D1F58 38 80 FF FF */ li r4, -1 -/* 802D501C 002D1F5C 48 00 47 2D */ bl JKRDvdFile_NS_dtor -/* 802D5020 002D1F60 7F C3 F3 78 */ mr r3, r30 -/* 802D5024 002D1F64 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D5028 002D1F68 48 08 D1 F9 */ bl _restgpr_27 -/* 802D502C 002D1F6C 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D5030 002D1F70 7C 08 03 A6 */ mtlr r0 -/* 802D5034 002D1F74 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D5038 002D1F78 4E 80 00 20 */ blr -/* 802D503C 002D1F7C 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D5040 002D1F80 7C 08 02 A6 */ mflr r0 -/* 802D5044 002D1F84 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D5048 002D1F88 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D504C 002D1F8C 48 08 D1 89 */ bl _savegpr_27 -/* 802D5050 002D1F90 7C 7B 1B 78 */ mr r27, r3 -/* 802D5054 002D1F94 7C 9C 23 78 */ mr r28, r4 -/* 802D5058 002D1F98 7C BD 2B 78 */ mr r29, r5 -/* 802D505C 002D1F9C 7C FE 3B 78 */ mr r30, r7 -/* 802D5060 002D1FA0 80 63 00 48 */ lwz r3, 0x48(r3) -/* 802D5064 002D1FA4 48 09 3B 81 */ bl func_80368BE4 -/* 802D5068 002D1FA8 3B E1 00 08 */ addi r31, r1, 8 -/* 802D506C 002D1FAC 7F FF 1A 14 */ add r31, r31, r3 -/* 802D5070 002D1FB0 38 61 00 08 */ addi r3, r1, 8 -/* 802D5074 002D1FB4 80 9B 00 48 */ lwz r4, 0x48(r27) -/* 802D5078 002D1FB8 48 09 3A B5 */ bl strcpy -/* 802D507C 002D1FBC 7F 63 DB 78 */ mr r3, r27 -/* 802D5080 002D1FC0 38 81 00 08 */ addi r4, r1, 8 -/* 802D5084 002D1FC4 7F C5 F3 78 */ mr r5, r30 -/* 802D5088 002D1FC8 48 00 03 89 */ bl JKRFileCache_NS_findFile -/* 802D508C 002D1FCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D5090 002D1FD0 41 82 00 28 */ beq lbl_802D50B8 -/* 802D5094 002D1FD4 7F 63 DB 78 */ mr r3, r27 -/* 802D5098 002D1FD8 7F 84 E3 78 */ mr r4, r28 -/* 802D509C 002D1FDC 7F A5 EB 78 */ mr r5, r29 -/* 802D50A0 002D1FE0 7F E6 FB 78 */ mr r6, r31 -/* 802D50A4 002D1FE4 81 9B 00 00 */ lwz r12, 0(r27) -/* 802D50A8 002D1FE8 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802D50AC 002D1FEC 7D 89 03 A6 */ mtctr r12 -/* 802D50B0 002D1FF0 4E 80 04 21 */ bctrl -/* 802D50B4 002D1FF4 48 00 00 08 */ b lbl_802D50BC -lbl_802D50B8: -/* 802D50B8 002D1FF8 38 60 00 00 */ li r3, 0 -lbl_802D50BC: -/* 802D50BC 002D1FFC 39 61 01 20 */ addi r11, r1, 0x120 -/* 802D50C0 002D2000 48 08 D1 61 */ bl _restgpr_27 -/* 802D50C4 002D2004 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D50C8 002D2008 7C 08 03 A6 */ mtlr r0 -/* 802D50CC 002D200C 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D50D0 002D2010 4E 80 00 20 */ blr -/* 802D50D4 002D2014 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D50D8 002D2018 7C 08 02 A6 */ mflr r0 -/* 802D50DC 002D201C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D50E0 002D2020 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D50E4 002D2024 48 08 D0 F9 */ bl _savegpr_29 -/* 802D50E8 002D2028 7C 7D 1B 78 */ mr r29, r3 -/* 802D50EC 002D202C 83 C3 00 3C */ lwz r30, 0x3c(r3) -/* 802D50F0 002D2030 48 00 00 54 */ b lbl_802D5144 -lbl_802D50F4: -/* 802D50F4 002D2034 80 7E 00 00 */ lwz r3, 0(r30) -/* 802D50F8 002D2038 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 802D50FC 002D203C 80 9D 00 38 */ lwz r4, 0x38(r29) -/* 802D5100 002D2040 4B FF 94 01 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D5104 002D2044 80 9E 00 00 */ lwz r4, 0(r30) -/* 802D5108 002D2048 38 7D 00 3C */ addi r3, r29, 0x3c -/* 802D510C 002D204C 48 00 70 51 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D5110 002D2050 93 C1 00 08 */ stw r30, 8(r1) -/* 802D5114 002D2054 83 DE 00 0C */ lwz r30, 0xc(r30) -/* 802D5118 002D2058 80 61 00 08 */ lwz r3, 8(r1) -/* 802D511C 002D205C 90 61 00 0C */ stw r3, 0xc(r1) -/* 802D5120 002D2060 83 E3 00 00 */ lwz r31, 0(r3) -/* 802D5124 002D2064 28 1F 00 00 */ cmplwi r31, 0 -/* 802D5128 002D2068 41 82 00 1C */ beq lbl_802D5144 -/* 802D512C 002D206C 41 82 00 10 */ beq lbl_802D513C -/* 802D5130 002D2070 7F E3 FB 78 */ mr r3, r31 -/* 802D5134 002D2074 38 80 00 00 */ li r4, 0 -/* 802D5138 002D2078 48 00 6C DD */ bl __dt__10JSUPtrLinkFv -lbl_802D513C: -/* 802D513C 002D207C 7F E3 FB 78 */ mr r3, r31 -/* 802D5140 002D2080 4B FF 9B FD */ bl __dl__FPv -lbl_802D5144: -/* 802D5144 002D2084 28 1E 00 00 */ cmplwi r30, 0 -/* 802D5148 002D2088 40 82 FF AC */ bne lbl_802D50F4 -/* 802D514C 002D208C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5150 002D2090 48 08 D0 D9 */ bl _restgpr_29 -/* 802D5154 002D2094 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5158 002D2098 7C 08 03 A6 */ mtlr r0 -/* 802D515C 002D209C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5160 002D20A0 4E 80 00 20 */ blr -/* 802D5164 002D20A4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5168 002D20A8 7C 08 02 A6 */ mflr r0 -/* 802D516C 002D20AC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5170 002D20B0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5174 002D20B4 48 08 D0 69 */ bl _savegpr_29 -/* 802D5178 002D20B8 7C 7D 1B 78 */ mr r29, r3 -/* 802D517C 002D20BC 7C 9E 23 78 */ mr r30, r4 -/* 802D5180 002D20C0 48 00 02 39 */ bl JKRFileCache_NS_findCacheBlock -/* 802D5184 002D20C4 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D5188 002D20C8 40 82 00 0C */ bne lbl_802D5194 -/* 802D518C 002D20CC 38 60 00 00 */ li r3, 0 -/* 802D5190 002D20D0 48 00 00 50 */ b lbl_802D51E0 -lbl_802D5194: -/* 802D5194 002D20D4 80 7F 00 10 */ lwz r3, 0x10(r31) -/* 802D5198 002D20D8 34 03 FF FF */ addic. r0, r3, -1 -/* 802D519C 002D20DC 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802D51A0 002D20E0 40 82 00 3C */ bne lbl_802D51DC -/* 802D51A4 002D20E4 7F C3 F3 78 */ mr r3, r30 -/* 802D51A8 002D20E8 80 9D 00 38 */ lwz r4, 0x38(r29) -/* 802D51AC 002D20EC 4B FF 93 55 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D51B0 002D20F0 38 7D 00 3C */ addi r3, r29, 0x3c -/* 802D51B4 002D20F4 7F E4 FB 78 */ mr r4, r31 -/* 802D51B8 002D20F8 48 00 6F A5 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D51BC 002D20FC 28 1F 00 00 */ cmplwi r31, 0 -/* 802D51C0 002D2100 41 82 00 1C */ beq lbl_802D51DC -/* 802D51C4 002D2104 41 82 00 10 */ beq lbl_802D51D4 -/* 802D51C8 002D2108 7F E3 FB 78 */ mr r3, r31 -/* 802D51CC 002D210C 38 80 00 00 */ li r4, 0 -/* 802D51D0 002D2110 48 00 6C 45 */ bl __dt__10JSUPtrLinkFv -lbl_802D51D4: -/* 802D51D4 002D2114 7F E3 FB 78 */ mr r3, r31 -/* 802D51D8 002D2118 4B FF 9B 65 */ bl __dl__FPv -lbl_802D51DC: -/* 802D51DC 002D211C 38 60 00 01 */ li r3, 1 -lbl_802D51E0: -/* 802D51E0 002D2120 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D51E4 002D2124 48 08 D0 45 */ bl _restgpr_29 -/* 802D51E8 002D2128 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D51EC 002D212C 7C 08 03 A6 */ mtlr r0 -/* 802D51F0 002D2130 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D51F4 002D2134 4E 80 00 20 */ blr -/* 802D51F8 002D2138 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D51FC 002D213C 7C 08 02 A6 */ mflr r0 -/* 802D5200 002D2140 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5204 002D2144 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5208 002D2148 93 C1 00 08 */ stw r30, 8(r1) -/* 802D520C 002D214C 7C 7E 1B 78 */ mr r30, r3 -/* 802D5210 002D2150 48 00 01 A9 */ bl JKRFileCache_NS_findCacheBlock -/* 802D5214 002D2154 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D5218 002D2158 40 82 00 0C */ bne lbl_802D5224 -/* 802D521C 002D215C 38 60 00 00 */ li r3, 0 -/* 802D5220 002D2160 48 00 00 34 */ b lbl_802D5254 -lbl_802D5224: -/* 802D5224 002D2164 38 7E 00 3C */ addi r3, r30, 0x3c -/* 802D5228 002D2168 7F E4 FB 78 */ mr r4, r31 -/* 802D522C 002D216C 48 00 6F 31 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D5230 002D2170 28 1F 00 00 */ cmplwi r31, 0 -/* 802D5234 002D2174 41 82 00 1C */ beq lbl_802D5250 -/* 802D5238 002D2178 41 82 00 10 */ beq lbl_802D5248 -/* 802D523C 002D217C 7F E3 FB 78 */ mr r3, r31 -/* 802D5240 002D2180 38 80 00 00 */ li r4, 0 -/* 802D5244 002D2184 48 00 6B D1 */ bl __dt__10JSUPtrLinkFv -lbl_802D5248: -/* 802D5248 002D2188 7F E3 FB 78 */ mr r3, r31 -/* 802D524C 002D218C 4B FF 9A F1 */ bl __dl__FPv -lbl_802D5250: -/* 802D5250 002D2190 38 60 00 01 */ li r3, 1 -lbl_802D5254: -/* 802D5254 002D2194 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D5258 002D2198 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D525C 002D219C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5260 002D21A0 7C 08 03 A6 */ mtlr r0 -/* 802D5264 002D21A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5268 002D21A8 4E 80 00 20 */ blr -/* 802D526C 002D21AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5270 002D21B0 7C 08 02 A6 */ mflr r0 -/* 802D5274 002D21B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5278 002D21B8 48 00 01 41 */ bl JKRFileCache_NS_findCacheBlock -/* 802D527C 002D21BC 28 03 00 00 */ cmplwi r3, 0 -/* 802D5280 002D21C0 40 82 00 0C */ bne lbl_802D528C -/* 802D5284 002D21C4 38 60 FF FF */ li r3, -1 -/* 802D5288 002D21C8 48 00 00 08 */ b lbl_802D5290 -lbl_802D528C: -/* 802D528C 002D21CC 80 63 00 18 */ lwz r3, 0x18(r3) -lbl_802D5290: -/* 802D5290 002D21D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5294 002D21D4 7C 08 03 A6 */ mtlr r0 -/* 802D5298 002D21D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D529C 002D21DC 4E 80 00 20 */ blr -/* 802D52A0 002D21E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802D52A4 002D21E4 7C 08 02 A6 */ mflr r0 -/* 802D52A8 002D21E8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802D52AC 002D21EC 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802D52B0 002D21F0 93 C1 00 28 */ stw r30, 0x28(r1) -/* 802D52B4 002D21F4 3B E0 00 00 */ li r31, 0 -/* 802D52B8 002D21F8 48 00 02 65 */ bl JKRFileCache_NS_getDvdPathName -/* 802D52BC 002D21FC 7C 7E 1B 78 */ mr r30, r3 -/* 802D52C0 002D2200 38 81 00 14 */ addi r4, r1, 0x14 -/* 802D52C4 002D2204 48 07 3C BD */ bl DVDOpenDir -/* 802D52C8 002D2208 2C 03 00 00 */ cmpwi r3, 0 -/* 802D52CC 002D220C 41 82 00 28 */ beq lbl_802D52F4 -/* 802D52D0 002D2210 48 00 00 08 */ b lbl_802D52D8 -lbl_802D52D4: -/* 802D52D4 002D2214 3B FF 00 01 */ addi r31, r31, 1 -lbl_802D52D8: -/* 802D52D8 002D2218 38 61 00 14 */ addi r3, r1, 0x14 -/* 802D52DC 002D221C 38 81 00 08 */ addi r4, r1, 8 -/* 802D52E0 002D2220 48 07 3D 61 */ bl DVDReadDir -/* 802D52E4 002D2224 2C 03 00 00 */ cmpwi r3, 0 -/* 802D52E8 002D2228 40 82 FF EC */ bne lbl_802D52D4 -/* 802D52EC 002D222C 38 61 00 14 */ addi r3, r1, 0x14 -/* 802D52F0 002D2230 48 07 3D F5 */ bl DVDCloseDir -lbl_802D52F4: -/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D52F8 002D2238 7F C4 F3 78 */ mr r4, r30 -/* 802D52FC 002D223C 4B FF 92 4D */ bl free__7JKRHeapFPv -/* 802D5300 002D2240 7F E3 FB 78 */ mr r3, r31 -/* 802D5304 002D2244 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802D5308 002D2248 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 802D530C 002D224C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802D5310 002D2250 7C 08 03 A6 */ mtlr r0 -/* 802D5314 002D2254 38 21 00 30 */ addi r1, r1, 0x30 -/* 802D5318 002D2258 4E 80 00 20 */ blr -/* 802D531C 002D225C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5320 002D2260 7C 08 02 A6 */ mflr r0 -/* 802D5324 002D2264 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5328 002D2268 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D532C 002D226C 93 C1 00 08 */ stw r30, 8(r1) -/* 802D5330 002D2270 48 00 01 ED */ bl JKRFileCache_NS_getDvdPathName -/* 802D5334 002D2274 7C 7E 1B 78 */ mr r30, r3 -/* 802D5338 002D2278 38 60 00 24 */ li r3, 0x24 -/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) -/* 802D5340 002D2280 38 A0 00 00 */ li r5, 0 -/* 802D5344 002D2284 4B FF 99 55 */ bl __nw__FUlP7JKRHeapi -/* 802D5348 002D2288 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D534C 002D228C 41 82 00 10 */ beq lbl_802D535C -/* 802D5350 002D2290 7F C4 F3 78 */ mr r4, r30 -/* 802D5354 002D2294 4B FF F4 1D */ bl JKRDvdFinder -/* 802D5358 002D2298 7C 7F 1B 78 */ mr r31, r3 -lbl_802D535C: -/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D5360 002D22A0 7F C4 F3 78 */ mr r4, r30 -/* 802D5364 002D22A4 4B FF 91 E5 */ bl free__7JKRHeapFPv -/* 802D5368 002D22A8 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802D536C 002D22AC 28 00 00 01 */ cmplwi r0, 1 -/* 802D5370 002D22B0 41 82 00 2C */ beq lbl_802D539C -/* 802D5374 002D22B4 28 1F 00 00 */ cmplwi r31, 0 -/* 802D5378 002D22B8 41 82 00 1C */ beq lbl_802D5394 -/* 802D537C 002D22BC 7F E3 FB 78 */ mr r3, r31 -/* 802D5380 002D22C0 38 80 00 01 */ li r4, 1 -/* 802D5384 002D22C4 81 9F 00 0C */ lwz r12, 0xc(r31) -/* 802D5388 002D22C8 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D538C 002D22CC 7D 89 03 A6 */ mtctr r12 -/* 802D5390 002D22D0 4E 80 04 21 */ bctrl -lbl_802D5394: -/* 802D5394 002D22D4 38 60 00 00 */ li r3, 0 -/* 802D5398 002D22D8 48 00 00 08 */ b lbl_802D53A0 -lbl_802D539C: -/* 802D539C 002D22DC 7F E3 FB 78 */ mr r3, r31 -lbl_802D53A0: -/* 802D53A0 002D22E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D53A4 002D22E4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D53A8 002D22E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D53AC 002D22EC 7C 08 03 A6 */ mtlr r0 -/* 802D53B0 002D22F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D53B4 002D22F4 4E 80 00 20 */ blr - -.global JKRFileCache_NS_findCacheBlock -JKRFileCache_NS_findCacheBlock: -/* 802D53B8 002D22F8 80 A3 00 3C */ lwz r5, 0x3c(r3) -/* 802D53BC 002D22FC 48 00 00 18 */ b lbl_802D53D4 -lbl_802D53C0: -/* 802D53C0 002D2300 80 65 00 00 */ lwz r3, 0(r5) -/* 802D53C4 002D2304 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 802D53C8 002D2308 7C 00 20 40 */ cmplw r0, r4 -/* 802D53CC 002D230C 4D 82 00 20 */ beqlr -/* 802D53D0 002D2310 80 A5 00 0C */ lwz r5, 0xc(r5) -lbl_802D53D4: -/* 802D53D4 002D2314 28 05 00 00 */ cmplwi r5, 0 -/* 802D53D8 002D2318 40 82 FF E8 */ bne lbl_802D53C0 -/* 802D53DC 002D231C 38 60 00 00 */ li r3, 0 -/* 802D53E0 002D2320 4E 80 00 20 */ blr - -.global JKRFileCache_NS_findCacheBlock_X1_ -JKRFileCache_NS_findCacheBlock_X1_: -/* 802D53E4 002D2324 80 A3 00 3C */ lwz r5, 0x3c(r3) -/* 802D53E8 002D2328 48 00 00 18 */ b lbl_802D5400 -lbl_802D53EC: -/* 802D53EC 002D232C 80 65 00 00 */ lwz r3, 0(r5) -/* 802D53F0 002D2330 80 03 00 14 */ lwz r0, 0x14(r3) -/* 802D53F4 002D2334 7C 04 00 40 */ cmplw r4, r0 -/* 802D53F8 002D2338 4D 82 00 20 */ beqlr -/* 802D53FC 002D233C 80 A5 00 0C */ lwz r5, 0xc(r5) -lbl_802D5400: -/* 802D5400 002D2340 28 05 00 00 */ cmplwi r5, 0 -/* 802D5404 002D2344 40 82 FF E8 */ bne lbl_802D53EC -/* 802D5408 002D2348 38 60 00 00 */ li r3, 0 -/* 802D540C 002D234C 4E 80 00 20 */ blr - -.global JKRFileCache_NS_findFile -JKRFileCache_NS_findFile: -/* 802D5410 002D2350 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802D5414 002D2354 7C 08 02 A6 */ mflr r0 -/* 802D5418 002D2358 90 01 00 44 */ stw r0, 0x44(r1) -/* 802D541C 002D235C 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D5420 002D2360 48 08 CD B1 */ bl _savegpr_26 -/* 802D5424 002D2364 7C 7A 1B 78 */ mr r26, r3 -/* 802D5428 002D2368 7C 9B 23 78 */ mr r27, r4 -/* 802D542C 002D236C 7C BC 2B 78 */ mr r28, r5 -/* 802D5430 002D2370 3B A0 00 00 */ li r29, 0 -/* 802D5434 002D2374 7F 63 DB 78 */ mr r3, r27 -/* 802D5438 002D2378 48 09 37 AD */ bl func_80368BE4 -/* 802D543C 002D237C 7C 7F 1B 78 */ mr r31, r3 -/* 802D5440 002D2380 7F 63 DB 78 */ mr r3, r27 -/* 802D5444 002D2384 38 81 00 14 */ addi r4, r1, 0x14 -/* 802D5448 002D2388 48 07 3B 39 */ bl DVDOpenDir -/* 802D544C 002D238C 2C 03 00 00 */ cmpwi r3, 0 -/* 802D5450 002D2390 41 82 00 B0 */ beq lbl_802D5500 -/* 802D5454 002D2394 7F DB FA 14 */ add r30, r27, r31 -/* 802D5458 002D2398 3B FE 00 01 */ addi r31, r30, 1 -/* 802D545C 002D239C 48 00 00 88 */ b lbl_802D54E4 -lbl_802D5460: -/* 802D5460 002D23A0 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802D5464 002D23A4 2C 00 00 00 */ cmpwi r0, 0 -/* 802D5468 002D23A8 41 82 00 40 */ beq lbl_802D54A8 -/* 802D546C 002D23AC 38 00 00 2F */ li r0, 0x2f -/* 802D5470 002D23B0 98 1E 00 00 */ stb r0, 0(r30) -/* 802D5474 002D23B4 7F E3 FB 78 */ mr r3, r31 -/* 802D5478 002D23B8 80 81 00 10 */ lwz r4, 0x10(r1) -/* 802D547C 002D23BC 48 09 36 B1 */ bl strcpy -/* 802D5480 002D23C0 7F 43 D3 78 */ mr r3, r26 -/* 802D5484 002D23C4 7F 64 DB 78 */ mr r4, r27 -/* 802D5488 002D23C8 7F 85 E3 78 */ mr r5, r28 -/* 802D548C 002D23CC 4B FF FF 85 */ bl JKRFileCache_NS_findFile -/* 802D5490 002D23D0 7C 7D 1B 78 */ mr r29, r3 -/* 802D5494 002D23D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D5498 002D23D8 40 82 00 60 */ bne lbl_802D54F8 -/* 802D549C 002D23DC 38 00 00 00 */ li r0, 0 -/* 802D54A0 002D23E0 98 1E 00 00 */ stb r0, 0(r30) -/* 802D54A4 002D23E4 48 00 00 40 */ b lbl_802D54E4 -lbl_802D54A8: -/* 802D54A8 002D23E8 7F 83 E3 78 */ mr r3, r28 -/* 802D54AC 002D23EC 80 81 00 10 */ lwz r4, 0x10(r1) -/* 802D54B0 002D23F0 48 09 34 E5 */ bl strcmp -/* 802D54B4 002D23F4 7C 60 00 34 */ cntlzw r0, r3 -/* 802D54B8 002D23F8 54 1D D9 7E */ srwi r29, r0, 5 -/* 802D54BC 002D23FC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 802D54C0 002D2400 41 82 00 24 */ beq lbl_802D54E4 -/* 802D54C4 002D2404 7F 63 DB 78 */ mr r3, r27 -/* 802D54C8 002D2408 3C 80 80 3A */ lis r4, lbl_8039D158@ha -/* 802D54CC 002D240C 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l -/* 802D54D0 002D2410 48 09 35 ED */ bl func_80368ABC -/* 802D54D4 002D2414 7F 63 DB 78 */ mr r3, r27 -/* 802D54D8 002D2418 7F 84 E3 78 */ mr r4, r28 -/* 802D54DC 002D241C 48 09 35 E1 */ bl func_80368ABC -/* 802D54E0 002D2420 48 00 00 18 */ b lbl_802D54F8 -lbl_802D54E4: -/* 802D54E4 002D2424 38 61 00 14 */ addi r3, r1, 0x14 -/* 802D54E8 002D2428 38 81 00 08 */ addi r4, r1, 8 -/* 802D54EC 002D242C 48 07 3B 55 */ bl DVDReadDir -/* 802D54F0 002D2430 2C 03 00 00 */ cmpwi r3, 0 -/* 802D54F4 002D2434 40 82 FF 6C */ bne lbl_802D5460 -lbl_802D54F8: -/* 802D54F8 002D2438 38 61 00 14 */ addi r3, r1, 0x14 -/* 802D54FC 002D243C 48 07 3B E9 */ bl DVDCloseDir -lbl_802D5500: -/* 802D5500 002D2440 7F A3 EB 78 */ mr r3, r29 -/* 802D5504 002D2444 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D5508 002D2448 48 08 CD 15 */ bl _restgpr_26 -/* 802D550C 002D244C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802D5510 002D2450 7C 08 03 A6 */ mtlr r0 -/* 802D5514 002D2454 38 21 00 40 */ addi r1, r1, 0x40 -/* 802D5518 002D2458 4E 80 00 20 */ blr - -.global JKRFileCache_NS_getDvdPathName -JKRFileCache_NS_getDvdPathName: -/* 802D551C 002D245C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5520 002D2460 7C 08 02 A6 */ mflr r0 -/* 802D5524 002D2464 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5528 002D2468 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D552C 002D246C 48 08 CC B1 */ bl _savegpr_29 -/* 802D5530 002D2470 7C 7D 1B 78 */ mr r29, r3 -/* 802D5534 002D2474 7C 9E 23 78 */ mr r30, r4 -/* 802D5538 002D2478 88 04 00 00 */ lbz r0, 0(r4) -/* 802D553C 002D247C 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D5540 002D2480 40 82 00 78 */ bne lbl_802D55B8 -/* 802D5544 002D2484 7F C3 F3 78 */ mr r3, r30 -/* 802D5548 002D2488 48 09 36 9D */ bl func_80368BE4 -/* 802D554C 002D248C 7C 7F 1B 78 */ mr r31, r3 -/* 802D5550 002D2490 80 7D 00 48 */ lwz r3, 0x48(r29) -/* 802D5554 002D2494 48 09 36 91 */ bl func_80368BE4 -/* 802D5558 002D2498 38 9F 00 02 */ addi r4, r31, 2 -/* 802D555C 002D249C 7C 83 22 14 */ add r4, r3, r4 -/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D5564 002D24A4 38 A0 00 01 */ li r5, 1 -/* 802D5568 002D24A8 4B FF 8F 6D */ bl alloc__7JKRHeapFUli -/* 802D556C 002D24AC 7C 60 1B 78 */ mr r0, r3 -/* 802D5570 002D24B0 7C 1F 03 78 */ mr r31, r0 -/* 802D5574 002D24B4 80 9D 00 48 */ lwz r4, 0x48(r29) -/* 802D5578 002D24B8 48 09 35 B5 */ bl strcpy -/* 802D557C 002D24BC 88 1E 00 01 */ lbz r0, 1(r30) -/* 802D5580 002D24C0 7C 00 07 75 */ extsb. r0, r0 -/* 802D5584 002D24C4 41 82 00 78 */ beq lbl_802D55FC -/* 802D5588 002D24C8 80 7D 00 48 */ lwz r3, 0x48(r29) -/* 802D558C 002D24CC 88 03 00 01 */ lbz r0, 1(r3) -/* 802D5590 002D24D0 7C 00 07 75 */ extsb. r0, r0 -/* 802D5594 002D24D4 40 82 00 14 */ bne lbl_802D55A8 -/* 802D5598 002D24D8 7F E3 FB 78 */ mr r3, r31 -/* 802D559C 002D24DC 38 9E 00 01 */ addi r4, r30, 1 -/* 802D55A0 002D24E0 48 09 35 1D */ bl func_80368ABC -/* 802D55A4 002D24E4 48 00 00 58 */ b lbl_802D55FC -lbl_802D55A8: -/* 802D55A8 002D24E8 7F E3 FB 78 */ mr r3, r31 -/* 802D55AC 002D24EC 7F C4 F3 78 */ mr r4, r30 -/* 802D55B0 002D24F0 48 09 35 0D */ bl func_80368ABC -/* 802D55B4 002D24F4 48 00 00 48 */ b lbl_802D55FC -lbl_802D55B8: -/* 802D55B8 002D24F8 7F C3 F3 78 */ mr r3, r30 -/* 802D55BC 002D24FC 48 09 36 29 */ bl func_80368BE4 -/* 802D55C0 002D2500 7C 7F 1B 78 */ mr r31, r3 -/* 802D55C4 002D2504 80 7D 00 4C */ lwz r3, 0x4c(r29) -/* 802D55C8 002D2508 48 09 36 1D */ bl func_80368BE4 -/* 802D55CC 002D250C 38 9F 00 02 */ addi r4, r31, 2 -/* 802D55D0 002D2510 7C 83 22 14 */ add r4, r3, r4 -/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) -/* 802D55D8 002D2518 38 A0 00 01 */ li r5, 1 -/* 802D55DC 002D251C 4B FF 8E F9 */ bl alloc__7JKRHeapFUli -/* 802D55E0 002D2520 7C 60 1B 78 */ mr r0, r3 -/* 802D55E4 002D2524 7C 1F 03 78 */ mr r31, r0 -/* 802D55E8 002D2528 80 9D 00 4C */ lwz r4, 0x4c(r29) -/* 802D55EC 002D252C 48 09 35 41 */ bl strcpy -/* 802D55F0 002D2530 7F E3 FB 78 */ mr r3, r31 -/* 802D55F4 002D2534 7F C4 F3 78 */ mr r4, r30 -/* 802D55F8 002D2538 48 09 34 C5 */ bl func_80368ABC -lbl_802D55FC: -/* 802D55FC 002D253C 7F A3 EB 78 */ mr r3, r29 -/* 802D5600 002D2540 7F E4 FB 78 */ mr r4, r31 -/* 802D5604 002D2544 48 00 00 21 */ bl JKRFileCache_NS_convStrLower -/* 802D5608 002D2548 7F E3 FB 78 */ mr r3, r31 -/* 802D560C 002D254C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5610 002D2550 48 08 CC 19 */ bl _restgpr_29 -/* 802D5614 002D2554 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5618 002D2558 7C 08 03 A6 */ mtlr r0 -/* 802D561C 002D255C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5620 002D2560 4E 80 00 20 */ blr - -.global JKRFileCache_NS_convStrLower -JKRFileCache_NS_convStrLower: -/* 802D5624 002D2564 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5628 002D2568 7C 08 02 A6 */ mflr r0 -/* 802D562C 002D256C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5630 002D2570 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D5634 002D2574 7C 9F 23 78 */ mr r31, r4 -/* 802D5638 002D2578 48 00 00 14 */ b lbl_802D564C -lbl_802D563C: -/* 802D563C 002D257C 7C 63 07 74 */ extsb r3, r3 -/* 802D5640 002D2580 48 08 FE 31 */ bl func_80365470 -/* 802D5644 002D2584 98 7F 00 00 */ stb r3, 0(r31) -/* 802D5648 002D2588 3B FF 00 01 */ addi r31, r31, 1 -lbl_802D564C: -/* 802D564C 002D258C 88 7F 00 00 */ lbz r3, 0(r31) -/* 802D5650 002D2590 7C 60 07 75 */ extsb. r0, r3 -/* 802D5654 002D2594 40 82 FF E8 */ bne lbl_802D563C -/* 802D5658 002D2598 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D565C 002D259C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5660 002D25A0 7C 08 03 A6 */ mtlr r0 -/* 802D5664 002D25A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5668 002D25A8 4E 80 00 20 */ blr - -.global JKRFileCache_NS_CCacheBlock -JKRFileCache_NS_CCacheBlock: -/* 802D566C 002D25AC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D5670 002D25B0 7C 08 02 A6 */ mflr r0 -/* 802D5674 002D25B4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D5678 002D25B8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D567C 002D25BC 48 08 CB 5D */ bl _savegpr_28 -/* 802D5680 002D25C0 7C 7C 1B 78 */ mr r28, r3 -/* 802D5684 002D25C4 7C 9D 23 78 */ mr r29, r4 -/* 802D5688 002D25C8 7C BE 2B 78 */ mr r30, r5 -/* 802D568C 002D25CC 7C DF 33 78 */ mr r31, r6 -/* 802D5690 002D25D0 7F 84 E3 78 */ mr r4, r28 -/* 802D5694 002D25D4 48 00 67 69 */ bl __ct__10JSUPtrLinkFPv -/* 802D5698 002D25D8 38 00 00 01 */ li r0, 1 -/* 802D569C 002D25DC 90 1C 00 10 */ stw r0, 0x10(r28) -/* 802D56A0 002D25E0 93 BC 00 14 */ stw r29, 0x14(r28) -/* 802D56A4 002D25E4 93 DC 00 18 */ stw r30, 0x18(r28) -/* 802D56A8 002D25E8 93 FC 00 1C */ stw r31, 0x1c(r28) -/* 802D56AC 002D25EC 7F 83 E3 78 */ mr r3, r28 -/* 802D56B0 002D25F0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D56B4 002D25F4 48 08 CB 71 */ bl _restgpr_28 -/* 802D56B8 002D25F8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D56BC 002D25FC 7C 08 03 A6 */ mtlr r0 -/* 802D56C0 002D2600 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D56C4 002D2604 4E 80 00 20 */ blr -/* 802D56C8 002D2608 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D56CC 002D260C 7C 08 02 A6 */ mflr r0 -/* 802D56D0 002D2610 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D56D4 002D2614 81 83 00 00 */ lwz r12, 0(r3) -/* 802D56D8 002D2618 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D56DC 002D261C 7D 89 03 A6 */ mtctr r12 -/* 802D56E0 002D2620 4E 80 04 21 */ bctrl -/* 802D56E4 002D2624 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D56E8 002D2628 7C 08 03 A6 */ mtlr r0 -/* 802D56EC 002D262C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D56F0 002D2630 4E 80 00 20 */ blr -/* 802D56F4 002D2634 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D56F8 002D2638 7C 08 02 A6 */ mflr r0 -/* 802D56FC 002D263C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5700 002D2640 81 83 00 00 */ lwz r12, 0(r3) -/* 802D5704 002D2644 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802D5708 002D2648 7D 89 03 A6 */ mtctr r12 -/* 802D570C 002D264C 4E 80 04 21 */ bctrl -/* 802D5710 002D2650 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5714 002D2654 7C 08 03 A6 */ mtlr r0 -/* 802D5718 002D2658 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D571C 002D265C 4E 80 00 20 */ blr -/* 802D5720 002D2660 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5724 002D2664 7C 08 02 A6 */ mflr r0 -/* 802D5728 002D2668 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D572C 002D266C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D5730 002D2670 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802D5734 002D2674 7D 89 03 A6 */ mtctr r12 -/* 802D5738 002D2678 4E 80 04 21 */ bctrl -/* 802D573C 002D267C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D5740 002D2680 7C 08 03 A6 */ mtlr r0 -/* 802D5744 002D2684 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5748 002D2688 4E 80 00 20 */ blr -/* 802D574C 002D268C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D5750 002D2690 7C 08 02 A6 */ mflr r0 -/* 802D5754 002D2694 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D5758 002D2698 81 83 00 00 */ lwz r12, 0(r3) -/* 802D575C 002D269C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 802D5760 002D26A0 7D 89 03 A6 */ mtctr r12 -/* 802D5764 002D26A4 4E 80 04 21 */ bctrl -/* 802D5768 002D26A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D576C 002D26AC 7C 08 03 A6 */ mtlr r0 -/* 802D5770 002D26B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D5774 002D26B4 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRFileFinder.s b/asm/JKernel/JKRFileFinder.s deleted file mode 100644 index 9bfebbfae2..0000000000 --- a/asm/JKernel/JKRFileFinder.s +++ /dev/null @@ -1,243 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802d4638 - - -.global JKRArcFinder -JKRArcFinder: -/* 802D4638 002D1578 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D463C 002D157C 7C 08 02 A6 */ mflr r0 -/* 802D4640 002D1580 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4644 002D1584 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4648 002D1588 7C 7F 1B 78 */ mr r31, r3 -/* 802D464C 002D158C 3C E0 80 3D */ lis r7, lbl_803CC228@ha -/* 802D4650 002D1590 38 07 C2 28 */ addi r0, r7, lbl_803CC228@l -/* 802D4654 002D1594 90 03 00 0C */ stw r0, 0xc(r3) -/* 802D4658 002D1598 38 00 00 00 */ li r0, 0 -/* 802D465C 002D159C 98 03 00 10 */ stb r0, 0x10(r3) -/* 802D4660 002D15A0 98 03 00 11 */ stb r0, 0x11(r3) -/* 802D4664 002D15A4 3C E0 80 3D */ lis r7, lbl_803CC218@ha -/* 802D4668 002D15A8 38 07 C2 18 */ addi r0, r7, lbl_803CC218@l -/* 802D466C 002D15AC 90 03 00 0C */ stw r0, 0xc(r3) -/* 802D4670 002D15B0 90 83 00 14 */ stw r4, 0x14(r3) -/* 802D4674 002D15B4 7C 06 00 D0 */ neg r0, r6 -/* 802D4678 002D15B8 7C 00 30 78 */ andc r0, r0, r6 -/* 802D467C 002D15BC 54 00 0F FE */ srwi r0, r0, 0x1f -/* 802D4680 002D15C0 98 03 00 10 */ stb r0, 0x10(r3) -/* 802D4684 002D15C4 90 A3 00 18 */ stw r5, 0x18(r3) -/* 802D4688 002D15C8 38 06 FF FF */ addi r0, r6, -1 -/* 802D468C 002D15CC 7C 05 02 14 */ add r0, r5, r0 -/* 802D4690 002D15D0 90 03 00 1C */ stw r0, 0x1c(r3) -/* 802D4694 002D15D4 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802D4698 002D15D8 90 03 00 20 */ stw r0, 0x20(r3) -/* 802D469C 002D15DC 81 83 00 0C */ lwz r12, 0xc(r3) -/* 802D46A0 002D15E0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802D46A4 002D15E4 7D 89 03 A6 */ mtctr r12 -/* 802D46A8 002D15E8 4E 80 04 21 */ bctrl -/* 802D46AC 002D15EC 7F E3 FB 78 */ mr r3, r31 -/* 802D46B0 002D15F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D46B4 002D15F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D46B8 002D15F8 7C 08 03 A6 */ mtlr r0 -/* 802D46BC 002D15FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D46C0 002D1600 4E 80 00 20 */ blr -/* 802D46C4 002D1604 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D46C8 002D1608 7C 08 02 A6 */ mflr r0 -/* 802D46CC 002D160C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D46D0 002D1610 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802D46D4 002D1614 7C 7F 1B 78 */ mr r31, r3 -/* 802D46D8 002D1618 88 03 00 10 */ lbz r0, 0x10(r3) -/* 802D46DC 002D161C 28 00 00 00 */ cmplwi r0, 0 -/* 802D46E0 002D1620 41 82 00 78 */ beq lbl_802D4758 -/* 802D46E4 002D1624 80 BF 00 20 */ lwz r5, 0x20(r31) -/* 802D46E8 002D1628 80 1F 00 1C */ lwz r0, 0x1c(r31) -/* 802D46EC 002D162C 7C 04 FE 70 */ srawi r4, r0, 0x1f -/* 802D46F0 002D1630 54 A3 0F FE */ srwi r3, r5, 0x1f -/* 802D46F4 002D1634 7C 05 00 10 */ subfc r0, r5, r0 -/* 802D46F8 002D1638 7C 04 19 14 */ adde r0, r4, r3 -/* 802D46FC 002D163C 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802D4700 002D1640 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802D4704 002D1644 28 00 00 00 */ cmplwi r0, 0 -/* 802D4708 002D1648 41 82 00 50 */ beq lbl_802D4758 -/* 802D470C 002D164C 80 7F 00 14 */ lwz r3, 0x14(r31) -/* 802D4710 002D1650 38 81 00 08 */ addi r4, r1, 8 -/* 802D4714 002D1654 80 BF 00 20 */ lwz r5, 0x20(r31) -/* 802D4718 002D1658 48 00 13 A9 */ bl JKRArchive_NS_getDirEntry -/* 802D471C 002D165C 98 7F 00 10 */ stb r3, 0x10(r31) -/* 802D4720 002D1660 80 01 00 0C */ lwz r0, 0xc(r1) -/* 802D4724 002D1664 90 1F 00 00 */ stw r0, 0(r31) -/* 802D4728 002D1668 80 1F 00 20 */ lwz r0, 0x20(r31) -/* 802D472C 002D166C 90 1F 00 04 */ stw r0, 4(r31) -/* 802D4730 002D1670 A0 01 00 0A */ lhz r0, 0xa(r1) -/* 802D4734 002D1674 B0 1F 00 08 */ sth r0, 8(r31) -/* 802D4738 002D1678 88 01 00 08 */ lbz r0, 8(r1) -/* 802D473C 002D167C B0 1F 00 0A */ sth r0, 0xa(r31) -/* 802D4740 002D1680 A0 1F 00 0A */ lhz r0, 0xa(r31) -/* 802D4744 002D1684 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f -/* 802D4748 002D1688 98 1F 00 11 */ stb r0, 0x11(r31) -/* 802D474C 002D168C 80 7F 00 20 */ lwz r3, 0x20(r31) -/* 802D4750 002D1690 38 03 00 01 */ addi r0, r3, 1 -/* 802D4754 002D1694 90 1F 00 20 */ stw r0, 0x20(r31) -lbl_802D4758: -/* 802D4758 002D1698 88 7F 00 10 */ lbz r3, 0x10(r31) -/* 802D475C 002D169C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802D4760 002D16A0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4764 002D16A4 7C 08 03 A6 */ mtlr r0 -/* 802D4768 002D16A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D476C 002D16AC 4E 80 00 20 */ blr - -.global JKRDvdFinder -JKRDvdFinder: -/* 802D4770 002D16B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D4774 002D16B4 7C 08 02 A6 */ mflr r0 -/* 802D4778 002D16B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D477C 002D16BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4780 002D16C0 7C 7F 1B 78 */ mr r31, r3 -/* 802D4784 002D16C4 3C 60 80 3D */ lis r3, lbl_803CC228@ha -/* 802D4788 002D16C8 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l -/* 802D478C 002D16CC 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802D4790 002D16D0 38 00 00 00 */ li r0, 0 -/* 802D4794 002D16D4 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802D4798 002D16D8 98 1F 00 11 */ stb r0, 0x11(r31) -/* 802D479C 002D16DC 3C 60 80 3D */ lis r3, lbl_803CC208@ha -/* 802D47A0 002D16E0 38 03 C2 08 */ addi r0, r3, lbl_803CC208@l -/* 802D47A4 002D16E4 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802D47A8 002D16E8 7C 83 23 78 */ mr r3, r4 -/* 802D47AC 002D16EC 38 9F 00 14 */ addi r4, r31, 0x14 -/* 802D47B0 002D16F0 48 07 47 D1 */ bl DVDOpenDir -/* 802D47B4 002D16F4 30 03 FF FF */ addic r0, r3, -1 -/* 802D47B8 002D16F8 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D47BC 002D16FC 98 1F 00 20 */ stb r0, 0x20(r31) -/* 802D47C0 002D1700 88 1F 00 20 */ lbz r0, 0x20(r31) -/* 802D47C4 002D1704 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802D47C8 002D1708 7F E3 FB 78 */ mr r3, r31 -/* 802D47CC 002D170C 81 9F 00 0C */ lwz r12, 0xc(r31) -/* 802D47D0 002D1710 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802D47D4 002D1714 7D 89 03 A6 */ mtctr r12 -/* 802D47D8 002D1718 4E 80 04 21 */ bctrl -/* 802D47DC 002D171C 7F E3 FB 78 */ mr r3, r31 -/* 802D47E0 002D1720 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D47E4 002D1724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D47E8 002D1728 7C 08 03 A6 */ mtlr r0 -/* 802D47EC 002D172C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D47F0 002D1730 4E 80 00 20 */ blr -/* 802D47F4 002D1734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D47F8 002D1738 7C 08 02 A6 */ mflr r0 -/* 802D47FC 002D173C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4800 002D1740 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4804 002D1744 93 C1 00 08 */ stw r30, 8(r1) -/* 802D4808 002D1748 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D480C 002D174C 7C 9F 23 78 */ mr r31, r4 -/* 802D4810 002D1750 41 82 00 48 */ beq lbl_802D4858 -/* 802D4814 002D1754 3C 60 80 3D */ lis r3, lbl_803CC208@ha -/* 802D4818 002D1758 38 03 C2 08 */ addi r0, r3, lbl_803CC208@l -/* 802D481C 002D175C 90 1E 00 0C */ stw r0, 0xc(r30) -/* 802D4820 002D1760 88 1E 00 20 */ lbz r0, 0x20(r30) -/* 802D4824 002D1764 28 00 00 00 */ cmplwi r0, 0 -/* 802D4828 002D1768 41 82 00 0C */ beq lbl_802D4834 -/* 802D482C 002D176C 38 7E 00 14 */ addi r3, r30, 0x14 -/* 802D4830 002D1770 48 07 48 B5 */ bl DVDCloseDir -lbl_802D4834: -/* 802D4834 002D1774 28 1E 00 00 */ cmplwi r30, 0 -/* 802D4838 002D1778 41 82 00 10 */ beq lbl_802D4848 -/* 802D483C 002D177C 3C 60 80 3D */ lis r3, lbl_803CC228@ha -/* 802D4840 002D1780 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l -/* 802D4844 002D1784 90 1E 00 0C */ stw r0, 0xc(r30) -lbl_802D4848: -/* 802D4848 002D1788 7F E0 07 35 */ extsh. r0, r31 -/* 802D484C 002D178C 40 81 00 0C */ ble lbl_802D4858 -/* 802D4850 002D1790 7F C3 F3 78 */ mr r3, r30 -/* 802D4854 002D1794 4B FF A4 E9 */ bl __dl__FPv -lbl_802D4858: -/* 802D4858 002D1798 7F C3 F3 78 */ mr r3, r30 -/* 802D485C 002D179C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D4860 002D17A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D4864 002D17A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D4868 002D17A8 7C 08 03 A6 */ mtlr r0 -/* 802D486C 002D17AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4870 002D17B0 4E 80 00 20 */ blr -/* 802D4874 002D17B4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D4878 002D17B8 7C 08 02 A6 */ mflr r0 -/* 802D487C 002D17BC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D4880 002D17C0 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802D4884 002D17C4 7C 7F 1B 78 */ mr r31, r3 -/* 802D4888 002D17C8 88 03 00 10 */ lbz r0, 0x10(r3) -/* 802D488C 002D17CC 28 00 00 00 */ cmplwi r0, 0 -/* 802D4890 002D17D0 41 82 00 68 */ beq lbl_802D48F8 -/* 802D4894 002D17D4 38 7F 00 14 */ addi r3, r31, 0x14 -/* 802D4898 002D17D8 38 81 00 08 */ addi r4, r1, 8 -/* 802D489C 002D17DC 48 07 47 A5 */ bl DVDReadDir -/* 802D48A0 002D17E0 30 03 FF FF */ addic r0, r3, -1 -/* 802D48A4 002D17E4 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D48A8 002D17E8 98 1F 00 10 */ stb r0, 0x10(r31) -/* 802D48AC 002D17EC 88 1F 00 10 */ lbz r0, 0x10(r31) -/* 802D48B0 002D17F0 28 00 00 00 */ cmplwi r0, 0 -/* 802D48B4 002D17F4 41 82 00 44 */ beq lbl_802D48F8 -/* 802D48B8 002D17F8 80 61 00 0C */ lwz r3, 0xc(r1) -/* 802D48BC 002D17FC 30 03 FF FF */ addic r0, r3, -1 -/* 802D48C0 002D1800 7C 00 19 10 */ subfe r0, r0, r3 -/* 802D48C4 002D1804 98 1F 00 11 */ stb r0, 0x11(r31) -/* 802D48C8 002D1808 80 01 00 10 */ lwz r0, 0x10(r1) -/* 802D48CC 002D180C 90 1F 00 00 */ stw r0, 0(r31) -/* 802D48D0 002D1810 80 01 00 08 */ lwz r0, 8(r1) -/* 802D48D4 002D1814 90 1F 00 04 */ stw r0, 4(r31) -/* 802D48D8 002D1818 38 00 00 00 */ li r0, 0 -/* 802D48DC 002D181C B0 1F 00 08 */ sth r0, 8(r31) -/* 802D48E0 002D1820 88 1F 00 11 */ lbz r0, 0x11(r31) -/* 802D48E4 002D1824 28 00 00 00 */ cmplwi r0, 0 -/* 802D48E8 002D1828 38 00 00 01 */ li r0, 1 -/* 802D48EC 002D182C 41 82 00 08 */ beq lbl_802D48F4 -/* 802D48F0 002D1830 38 00 00 02 */ li r0, 2 -lbl_802D48F4: -/* 802D48F4 002D1834 B0 1F 00 0A */ sth r0, 0xa(r31) -lbl_802D48F8: -/* 802D48F8 002D1838 88 7F 00 10 */ lbz r3, 0x10(r31) -/* 802D48FC 002D183C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802D4900 002D1840 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D4904 002D1844 7C 08 03 A6 */ mtlr r0 -/* 802D4908 002D1848 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D490C 002D184C 4E 80 00 20 */ blr -/* 802D4910 002D1850 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D4914 002D1854 7C 08 02 A6 */ mflr r0 -/* 802D4918 002D1858 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D491C 002D185C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4920 002D1860 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D4924 002D1864 41 82 00 1C */ beq lbl_802D4940 -/* 802D4928 002D1868 3C A0 80 3D */ lis r5, lbl_803CC228@ha -/* 802D492C 002D186C 38 05 C2 28 */ addi r0, r5, lbl_803CC228@l -/* 802D4930 002D1870 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802D4934 002D1874 7C 80 07 35 */ extsh. r0, r4 -/* 802D4938 002D1878 40 81 00 08 */ ble lbl_802D4940 -/* 802D493C 002D187C 4B FF A4 01 */ bl __dl__FPv -lbl_802D4940: -/* 802D4940 002D1880 7F E3 FB 78 */ mr r3, r31 -/* 802D4944 002D1884 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D4948 002D1888 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D494C 002D188C 7C 08 03 A6 */ mtlr r0 -/* 802D4950 002D1890 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4954 002D1894 4E 80 00 20 */ blr -/* 802D4958 002D1898 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D495C 002D189C 7C 08 02 A6 */ mflr r0 -/* 802D4960 002D18A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4964 002D18A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4968 002D18A8 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D496C 002D18AC 41 82 00 30 */ beq lbl_802D499C -/* 802D4970 002D18B0 3C 60 80 3D */ lis r3, lbl_803CC218@ha -/* 802D4974 002D18B4 38 03 C2 18 */ addi r0, r3, lbl_803CC218@l -/* 802D4978 002D18B8 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802D497C 002D18BC 41 82 00 10 */ beq lbl_802D498C -/* 802D4980 002D18C0 3C 60 80 3D */ lis r3, lbl_803CC228@ha -/* 802D4984 002D18C4 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l -/* 802D4988 002D18C8 90 1F 00 0C */ stw r0, 0xc(r31) -lbl_802D498C: -/* 802D498C 002D18CC 7C 80 07 35 */ extsh. r0, r4 -/* 802D4990 002D18D0 40 81 00 0C */ ble lbl_802D499C -/* 802D4994 002D18D4 7F E3 FB 78 */ mr r3, r31 -/* 802D4998 002D18D8 4B FF A3 A5 */ bl __dl__FPv -lbl_802D499C: -/* 802D499C 002D18DC 7F E3 FB 78 */ mr r3, r31 -/* 802D49A0 002D18E0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D49A4 002D18E4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D49A8 002D18E8 7C 08 03 A6 */ mtlr r0 -/* 802D49AC 002D18EC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D49B0 002D18F0 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRFileLoader.s b/asm/JKernel/JKRFileLoader.s index 1a7eb9658a..e3d4f1e371 100644 --- a/asm/JKernel/JKRFileLoader.s +++ b/asm/JKernel/JKRFileLoader.s @@ -1,301 +1,10 @@ .include "macros.inc" -.section .text, "ax" # 802d40f0 +.section .text, "ax" # 802D45A0 -.global JKRFileLoader -JKRFileLoader: -/* 802D40F0 002D1030 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D40F4 002D1034 7C 08 02 A6 */ mflr r0 -/* 802D40F8 002D1038 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D40FC 002D103C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4100 002D1040 7C 7F 1B 78 */ mr r31, r3 -/* 802D4104 002D1044 4B FF D3 79 */ bl __ct__11JKRDisposerFv -/* 802D4108 002D1048 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha -/* 802D410C 002D104C 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l -/* 802D4110 002D1050 90 1F 00 00 */ stw r0, 0(r31) -/* 802D4114 002D1054 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802D4118 002D1058 7F E4 FB 78 */ mr r4, r31 -/* 802D411C 002D105C 48 00 7C E1 */ bl __ct__10JSUPtrLinkFPv -/* 802D4120 002D1060 38 00 00 00 */ li r0, 0 -/* 802D4124 002D1064 90 1F 00 28 */ stw r0, 0x28(r31) -/* 802D4128 002D1068 90 1F 00 2C */ stw r0, 0x2c(r31) -/* 802D412C 002D106C 90 1F 00 34 */ stw r0, 0x34(r31) -/* 802D4130 002D1070 7F E3 FB 78 */ mr r3, r31 -/* 802D4134 002D1074 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D4138 002D1078 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D413C 002D107C 7C 08 03 A6 */ mtlr r0 -/* 802D4140 002D1080 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4144 002D1084 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_dtor -JKRFileLoader_NS_dtor: -/* 802D4148 002D1088 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D414C 002D108C 7C 08 02 A6 */ mflr r0 -/* 802D4150 002D1090 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4154 002D1094 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4158 002D1098 93 C1 00 08 */ stw r30, 8(r1) -/* 802D415C 002D109C 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D4160 002D10A0 7C 9F 23 78 */ mr r31, r4 -/* 802D4164 002D10A4 41 82 00 54 */ beq lbl_802D41B8 -/* 802D4168 002D10A8 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha -/* 802D416C 002D10AC 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l -/* 802D4170 002D10B0 90 1E 00 00 */ stw r0, 0(r30) -/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13) -/* 802D4178 002D10B8 7C 00 F0 40 */ cmplw r0, r30 -/* 802D417C 002D10BC 40 82 00 0C */ bne lbl_802D4188 -/* 802D4180 002D10C0 38 00 00 00 */ li r0, 0 -/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, lbl_80451418-_SDA_BASE_(r13) -lbl_802D4188: -/* 802D4188 002D10C8 34 1E 00 18 */ addic. r0, r30, 0x18 -/* 802D418C 002D10CC 41 82 00 10 */ beq lbl_802D419C -/* 802D4190 002D10D0 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D4194 002D10D4 38 80 00 00 */ li r4, 0 -/* 802D4198 002D10D8 48 00 7C 7D */ bl __dt__10JSUPtrLinkFv -lbl_802D419C: -/* 802D419C 002D10DC 7F C3 F3 78 */ mr r3, r30 -/* 802D41A0 002D10E0 38 80 00 00 */ li r4, 0 -/* 802D41A4 002D10E4 4B FF D3 41 */ bl __dt__11JKRDisposerFv -/* 802D41A8 002D10E8 7F E0 07 35 */ extsh. r0, r31 -/* 802D41AC 002D10EC 40 81 00 0C */ ble lbl_802D41B8 -/* 802D41B0 002D10F0 7F C3 F3 78 */ mr r3, r30 -/* 802D41B4 002D10F4 4B FF AB 89 */ bl __dl__FPv -lbl_802D41B8: -/* 802D41B8 002D10F8 7F C3 F3 78 */ mr r3, r30 -/* 802D41BC 002D10FC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D41C0 002D1100 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D41C4 002D1104 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D41C8 002D1108 7C 08 03 A6 */ mtlr r0 -/* 802D41CC 002D110C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D41D0 002D1110 4E 80 00 20 */ blr -/* 802D41D4 002D1114 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D41D8 002D1118 7C 08 02 A6 */ mflr r0 -/* 802D41DC 002D111C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D41E0 002D1120 80 83 00 34 */ lwz r4, 0x34(r3) -/* 802D41E4 002D1124 28 04 00 00 */ cmplwi r4, 0 -/* 802D41E8 002D1128 41 82 00 2C */ beq lbl_802D4214 -/* 802D41EC 002D112C 34 04 FF FF */ addic. r0, r4, -1 -/* 802D41F0 002D1130 90 03 00 34 */ stw r0, 0x34(r3) -/* 802D41F4 002D1134 40 82 00 20 */ bne lbl_802D4214 -/* 802D41F8 002D1138 28 03 00 00 */ cmplwi r3, 0 -/* 802D41FC 002D113C 41 82 00 18 */ beq lbl_802D4214 -/* 802D4200 002D1140 38 80 00 01 */ li r4, 1 -/* 802D4204 002D1144 81 83 00 00 */ lwz r12, 0(r3) -/* 802D4208 002D1148 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D420C 002D114C 7D 89 03 A6 */ mtctr r12 -/* 802D4210 002D1150 4E 80 04 21 */ bctrl -lbl_802D4214: -/* 802D4214 002D1154 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D4218 002D1158 7C 08 03 A6 */ mtlr r0 -/* 802D421C 002D115C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4220 002D1160 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_getGlbResource -JKRFileLoader_NS_getGlbResource: -/* 802D4224 002D1164 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D4228 002D1168 7C 08 02 A6 */ mflr r0 -/* 802D422C 002D116C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4230 002D1170 90 61 00 08 */ stw r3, 8(r1) -/* 802D4234 002D1174 38 61 00 08 */ addi r3, r1, 8 -/* 802D4238 002D1178 48 00 02 01 */ bl JKRFileLoader_NS_findVolume -/* 802D423C 002D117C 28 03 00 00 */ cmplwi r3, 0 -/* 802D4240 002D1180 40 82 00 0C */ bne lbl_802D424C -/* 802D4244 002D1184 38 60 00 00 */ li r3, 0 -/* 802D4248 002D1188 48 00 00 18 */ b lbl_802D4260 -lbl_802D424C: -/* 802D424C 002D118C 80 81 00 08 */ lwz r4, 8(r1) -/* 802D4250 002D1190 81 83 00 00 */ lwz r12, 0(r3) -/* 802D4254 002D1194 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D4258 002D1198 7D 89 03 A6 */ mtctr r12 -/* 802D425C 002D119C 4E 80 04 21 */ bctrl -lbl_802D4260: -/* 802D4260 002D11A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D4264 002D11A4 7C 08 03 A6 */ mtlr r0 -/* 802D4268 002D11A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D426C 002D11AC 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_getGlbResource_X1_ -JKRFileLoader_NS_getGlbResource_X1_: -/* 802D4270 002D11B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D4274 002D11B4 7C 08 02 A6 */ mflr r0 -/* 802D4278 002D11B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D427C 002D11BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4280 002D11C0 93 C1 00 08 */ stw r30, 8(r1) -/* 802D4284 002D11C4 7C 7E 1B 78 */ mr r30, r3 -/* 802D4288 002D11C8 38 60 00 00 */ li r3, 0 -/* 802D428C 002D11CC 28 04 00 00 */ cmplwi r4, 0 -/* 802D4290 002D11D0 41 82 00 24 */ beq lbl_802D42B4 -/* 802D4294 002D11D4 7C 83 23 78 */ mr r3, r4 -/* 802D4298 002D11D8 38 80 00 00 */ li r4, 0 -/* 802D429C 002D11DC 7F C5 F3 78 */ mr r5, r30 -/* 802D42A0 002D11E0 81 83 00 00 */ lwz r12, 0(r3) -/* 802D42A4 002D11E4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802D42A8 002D11E8 7D 89 03 A6 */ mtctr r12 -/* 802D42AC 002D11EC 4E 80 04 21 */ bctrl -/* 802D42B0 002D11F0 48 00 00 40 */ b lbl_802D42F0 -lbl_802D42B4: -/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, lbl_80434354@ha -/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, lbl_80434354@l(r4) -/* 802D42BC 002D11FC 48 00 00 2C */ b lbl_802D42E8 -lbl_802D42C0: -/* 802D42C0 002D1200 80 7F 00 00 */ lwz r3, 0(r31) -/* 802D42C4 002D1204 38 80 00 00 */ li r4, 0 -/* 802D42C8 002D1208 7F C5 F3 78 */ mr r5, r30 -/* 802D42CC 002D120C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D42D0 002D1210 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802D42D4 002D1214 7D 89 03 A6 */ mtctr r12 -/* 802D42D8 002D1218 4E 80 04 21 */ bctrl -/* 802D42DC 002D121C 28 03 00 00 */ cmplwi r3, 0 -/* 802D42E0 002D1220 40 82 00 10 */ bne lbl_802D42F0 -/* 802D42E4 002D1224 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802D42E8: -/* 802D42E8 002D1228 28 1F 00 00 */ cmplwi r31, 0 -/* 802D42EC 002D122C 40 82 FF D4 */ bne lbl_802D42C0 -lbl_802D42F0: -/* 802D42F0 002D1230 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D42F4 002D1234 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D42F8 002D1238 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D42FC 002D123C 7C 08 03 A6 */ mtlr r0 -/* 802D4300 002D1240 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4304 002D1244 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_removeResource -JKRFileLoader_NS_removeResource: -/* 802D4308 002D1248 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D430C 002D124C 7C 08 02 A6 */ mflr r0 -/* 802D4310 002D1250 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D4314 002D1254 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D4318 002D1258 93 C1 00 08 */ stw r30, 8(r1) -/* 802D431C 002D125C 7C 7E 1B 78 */ mr r30, r3 -/* 802D4320 002D1260 28 04 00 00 */ cmplwi r4, 0 -/* 802D4324 002D1264 41 82 00 20 */ beq lbl_802D4344 -/* 802D4328 002D1268 7C 83 23 78 */ mr r3, r4 -/* 802D432C 002D126C 7F C4 F3 78 */ mr r4, r30 -/* 802D4330 002D1270 81 83 00 00 */ lwz r12, 0(r3) -/* 802D4334 002D1274 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 802D4338 002D1278 7D 89 03 A6 */ mtctr r12 -/* 802D433C 002D127C 4E 80 04 21 */ bctrl -/* 802D4340 002D1280 48 00 00 48 */ b lbl_802D4388 -lbl_802D4344: -/* 802D4344 002D1284 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) -/* 802D434C 002D128C 48 00 00 30 */ b lbl_802D437C -lbl_802D4350: -/* 802D4350 002D1290 80 7F 00 00 */ lwz r3, 0(r31) -/* 802D4354 002D1294 7F C4 F3 78 */ mr r4, r30 -/* 802D4358 002D1298 81 83 00 00 */ lwz r12, 0(r3) -/* 802D435C 002D129C 81 8C 00 28 */ lwz r12, 0x28(r12) -/* 802D4360 002D12A0 7D 89 03 A6 */ mtctr r12 -/* 802D4364 002D12A4 4E 80 04 21 */ bctrl -/* 802D4368 002D12A8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D436C 002D12AC 41 82 00 0C */ beq lbl_802D4378 -/* 802D4370 002D12B0 38 60 00 01 */ li r3, 1 -/* 802D4374 002D12B4 48 00 00 14 */ b lbl_802D4388 -lbl_802D4378: -/* 802D4378 002D12B8 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802D437C: -/* 802D437C 002D12BC 28 1F 00 00 */ cmplwi r31, 0 -/* 802D4380 002D12C0 40 82 FF D0 */ bne lbl_802D4350 -/* 802D4384 002D12C4 38 60 00 00 */ li r3, 0 -lbl_802D4388: -/* 802D4388 002D12C8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D438C 002D12CC 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D4390 002D12D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D4394 002D12D4 7C 08 03 A6 */ mtlr r0 -/* 802D4398 002D12D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D439C 002D12DC 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_detachResource -JKRFileLoader_NS_detachResource: -/* 802D43A0 002D12E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D43A4 002D12E4 7C 08 02 A6 */ mflr r0 -/* 802D43A8 002D12E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D43AC 002D12EC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D43B0 002D12F0 93 C1 00 08 */ stw r30, 8(r1) -/* 802D43B4 002D12F4 7C 7E 1B 78 */ mr r30, r3 -/* 802D43B8 002D12F8 28 04 00 00 */ cmplwi r4, 0 -/* 802D43BC 002D12FC 41 82 00 20 */ beq lbl_802D43DC -/* 802D43C0 002D1300 7C 83 23 78 */ mr r3, r4 -/* 802D43C4 002D1304 7F C4 F3 78 */ mr r4, r30 -/* 802D43C8 002D1308 81 83 00 00 */ lwz r12, 0(r3) -/* 802D43CC 002D130C 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802D43D0 002D1310 7D 89 03 A6 */ mtctr r12 -/* 802D43D4 002D1314 4E 80 04 21 */ bctrl -/* 802D43D8 002D1318 48 00 00 48 */ b lbl_802D4420 -lbl_802D43DC: -/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) -/* 802D43E4 002D1324 48 00 00 30 */ b lbl_802D4414 -lbl_802D43E8: -/* 802D43E8 002D1328 80 7F 00 00 */ lwz r3, 0(r31) -/* 802D43EC 002D132C 7F C4 F3 78 */ mr r4, r30 -/* 802D43F0 002D1330 81 83 00 00 */ lwz r12, 0(r3) -/* 802D43F4 002D1334 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802D43F8 002D1338 7D 89 03 A6 */ mtctr r12 -/* 802D43FC 002D133C 4E 80 04 21 */ bctrl -/* 802D4400 002D1340 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D4404 002D1344 41 82 00 0C */ beq lbl_802D4410 -/* 802D4408 002D1348 38 60 00 01 */ li r3, 1 -/* 802D440C 002D134C 48 00 00 14 */ b lbl_802D4420 -lbl_802D4410: -/* 802D4410 002D1350 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802D4414: -/* 802D4414 002D1354 28 1F 00 00 */ cmplwi r31, 0 -/* 802D4418 002D1358 40 82 FF D0 */ bne lbl_802D43E8 -/* 802D441C 002D135C 38 60 00 00 */ li r3, 0 -lbl_802D4420: -/* 802D4420 002D1360 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D4424 002D1364 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D4428 002D1368 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D442C 002D136C 7C 08 03 A6 */ mtlr r0 -/* 802D4430 002D1370 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D4434 002D1374 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_findVolume -JKRFileLoader_NS_findVolume: -/* 802D4438 002D1378 94 21 FE E0 */ stwu r1, -0x120(r1) -/* 802D443C 002D137C 7C 08 02 A6 */ mflr r0 -/* 802D4440 002D1380 90 01 01 24 */ stw r0, 0x124(r1) -/* 802D4444 002D1384 93 E1 01 1C */ stw r31, 0x11c(r1) -/* 802D4448 002D1388 7C 7F 1B 78 */ mr r31, r3 -/* 802D444C 002D138C 80 A3 00 00 */ lwz r5, 0(r3) -/* 802D4450 002D1390 88 05 00 00 */ lbz r0, 0(r5) -/* 802D4454 002D1394 2C 00 00 2F */ cmpwi r0, 0x2f -/* 802D4458 002D1398 41 82 00 0C */ beq lbl_802D4464 -/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, lbl_80451418-_SDA_BASE_(r13) -/* 802D4460 002D13A0 48 00 00 50 */ b lbl_802D44B0 -lbl_802D4464: -/* 802D4464 002D13A4 38 61 00 08 */ addi r3, r1, 8 -/* 802D4468 002D13A8 38 80 01 01 */ li r4, 0x101 -/* 802D446C 002D13AC 48 00 00 59 */ bl JKRFileLoader_NS_fetchVolumeName -/* 802D4470 002D13B0 90 7F 00 00 */ stw r3, 0(r31) -/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, lbl_80434354@ha -/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) -/* 802D447C 002D13BC 48 00 00 28 */ b lbl_802D44A4 -lbl_802D4480: -/* 802D4480 002D13C0 80 9F 00 00 */ lwz r4, 0(r31) -/* 802D4484 002D13C4 38 61 00 08 */ addi r3, r1, 8 -/* 802D4488 002D13C8 80 84 00 28 */ lwz r4, 0x28(r4) -/* 802D448C 002D13CC 48 09 45 09 */ bl strcmp -/* 802D4490 002D13D0 2C 03 00 00 */ cmpwi r3, 0 -/* 802D4494 002D13D4 40 82 00 0C */ bne lbl_802D44A0 -/* 802D4498 002D13D8 80 7F 00 00 */ lwz r3, 0(r31) -/* 802D449C 002D13DC 48 00 00 14 */ b lbl_802D44B0 -lbl_802D44A0: -/* 802D44A0 002D13E0 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802D44A4: -/* 802D44A4 002D13E4 28 1F 00 00 */ cmplwi r31, 0 -/* 802D44A8 002D13E8 40 82 FF D8 */ bne lbl_802D4480 -/* 802D44AC 002D13EC 38 60 00 00 */ li r3, 0 -lbl_802D44B0: -/* 802D44B0 002D13F0 83 E1 01 1C */ lwz r31, 0x11c(r1) -/* 802D44B4 002D13F4 80 01 01 24 */ lwz r0, 0x124(r1) -/* 802D44B8 002D13F8 7C 08 03 A6 */ mtlr r0 -/* 802D44BC 002D13FC 38 21 01 20 */ addi r1, r1, 0x120 -/* 802D44C0 002D1400 4E 80 00 20 */ blr - -.global JKRFileLoader_NS_fetchVolumeName -JKRFileLoader_NS_fetchVolumeName: +.global fetchVolumeName__13JKRFileLoaderFPclPCc +fetchVolumeName__13JKRFileLoaderFPclPCc: /* 802D44C4 002D1404 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D44C8 002D1408 7C 08 02 A6 */ mflr r0 /* 802D44CC 002D140C 90 01 00 24 */ stw r0, 0x24(r1) @@ -359,7 +68,11 @@ lbl_802D4588: /* 802D4590 002D14D0 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D4594 002D14D4 7C 08 03 A6 */ mtlr r0 /* 802D4598 002D14D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D459C 002D14DC 4E 80 00 20 */ blr +/* 802D459C 002D14DC 4E 80 00 20 */ blr + + +.global __sinit_JKRFileLoader_cpp +__sinit_JKRFileLoader_cpp: /* 802D45A0 002D14E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D45A4 002D14E4 7C 08 02 A6 */ mflr r0 /* 802D45A8 002D14E8 90 01 00 14 */ stw r0, 0x14(r1) @@ -379,6 +92,7 @@ lbl_802D4588: /* 802D45D8 002D1518 7C 08 03 A6 */ mtlr r0 /* 802D45DC 002D151C 38 21 00 10 */ addi r1, r1, 0x10 /* 802D45E0 002D1520 4E 80 00 20 */ blr + .global JSUList_NS_dtor_X6_ JSUList_NS_dtor_X6_: /* 802D45E4 002D1524 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/asm/JKernel/JKRMemArchive.s b/asm/JKernel/JKRMemArchive.s index 69473ce32b..86b9f5ef44 100644 --- a/asm/JKernel/JKRMemArchive.s +++ b/asm/JKernel/JKRMemArchive.s @@ -14,7 +14,7 @@ JKRMemArchive: /* 802D69D0 002D3910 7C 9E 23 78 */ mr r30, r4 /* 802D69D4 002D3914 7C BF 2B 78 */ mr r31, r5 /* 802D69D8 002D3918 38 A0 00 01 */ li r5, 1 -/* 802D69DC 002D391C 4B FF F8 B9 */ bl JKRArchive +/* 802D69DC 002D391C 4B FF F8 B9 */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode /* 802D69E0 002D3920 3C 60 80 3D */ lis r3, lbl_803CC2D8@ha /* 802D69E4 002D3924 38 03 C2 D8 */ addi r0, r3, lbl_803CC2D8@l /* 802D69E8 002D3928 90 1D 00 00 */ stw r0, 0(r29) @@ -65,7 +65,7 @@ JKRMemArchive_X1_: /* 802D6A88 002D39C8 7C BE 2B 78 */ mr r30, r5 /* 802D6A8C 002D39CC 7C DF 33 78 */ mr r31, r6 /* 802D6A90 002D39D0 38 A0 00 01 */ li r5, 1 -/* 802D6A94 002D39D4 4B FF F8 01 */ bl JKRArchive +/* 802D6A94 002D39D4 4B FF F8 01 */ bl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode /* 802D6A98 002D39D8 3C 60 80 3D */ lis r3, lbl_803CC2D8@ha /* 802D6A9C 002D39DC 38 03 C2 D8 */ addi r0, r3, lbl_803CC2D8@l /* 802D6AA0 002D39E0 90 1C 00 00 */ stw r0, 0(r28) @@ -135,7 +135,7 @@ lbl_802D6B7C: lbl_802D6B94: /* 802D6B94 002D3AD4 7F C3 F3 78 */ mr r3, r30 /* 802D6B98 002D3AD8 38 80 00 00 */ li r4, 0 -/* 802D6B9C 002D3ADC 4B FF F7 99 */ bl JKRArchive_NS_dtor +/* 802D6B9C 002D3ADC 4B FF F7 99 */ bl __dt__10JKRArchiveFv /* 802D6BA0 002D3AE0 7F E0 07 35 */ extsh. r0, r31 /* 802D6BA4 002D3AE4 40 81 00 0C */ ble lbl_802D6BB0 /* 802D6BA8 002D3AE8 7F C3 F3 78 */ mr r3, r30 @@ -386,7 +386,7 @@ lbl_802D6F0C: /* 802D6F20 002D3E60 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D6F24 002D3E64 7C 08 02 A6 */ mflr r0 /* 802D6F28 002D3E68 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D6F2C 002D3E6C 4B FF F8 09 */ bl JKRArchive_NS_findPtrResource +/* 802D6F2C 002D3E6C 4B FF F8 09 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D6F30 002D3E70 28 03 00 00 */ cmplwi r3, 0 /* 802D6F34 002D3E74 40 82 00 0C */ bne lbl_802D6F40 /* 802D6F38 002D3E78 38 60 00 00 */ li r3, 0 @@ -469,7 +469,7 @@ lbl_802D701C: /* 802D7040 002D3F80 93 C1 00 08 */ stw r30, 8(r1) /* 802D7044 002D3F84 7C 7E 1B 78 */ mr r30, r3 /* 802D7048 002D3F88 7C 9F 23 78 */ mr r31, r4 -/* 802D704C 002D3F8C 4B FF F6 E9 */ bl JKRArchive_NS_findPtrResource +/* 802D704C 002D3F8C 4B FF F6 E9 */ bl findPtrResource__10JKRArchiveCFPCv /* 802D7050 002D3F90 28 03 00 00 */ cmplwi r3, 0 /* 802D7054 002D3F94 40 82 00 0C */ bne lbl_802D7060 /* 802D7058 002D3F98 38 60 FF FF */ li r3, -1 diff --git a/asm/JKernel/JKRSolidHeap.s b/asm/JKernel/JKRSolidHeap.s deleted file mode 100644 index 6d0f712ed1..0000000000 --- a/asm/JKernel/JKRSolidHeap.s +++ /dev/null @@ -1,597 +0,0 @@ -.include "macros.inc" - -.section .text, "ax" # 802d0a24 - - -.global JKRSolidHeap_NS_create -JKRSolidHeap_NS_create: -/* 802D0A24 002CD964 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0A28 002CD968 7C 08 02 A6 */ mflr r0 -/* 802D0A2C 002CD96C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0A30 002CD970 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0A34 002CD974 48 09 17 A9 */ bl _savegpr_29 -/* 802D0A38 002CD978 7C 9D 23 79 */ or. r29, r4, r4 -/* 802D0A3C 002CD97C 7C BE 2B 78 */ mr r30, r5 -/* 802D0A40 002CD980 40 82 00 08 */ bne lbl_802D0A48 -/* 802D0A44 002CD984 83 AD 8D F8 */ lwz r29, lbl_80451378-_SDA_BASE_(r13) -lbl_802D0A48: -/* 802D0A48 002CD988 3C 03 00 01 */ addis r0, r3, 1 -/* 802D0A4C 002CD98C 28 00 FF FF */ cmplwi r0, 0xffff -/* 802D0A50 002CD990 40 82 00 10 */ bne lbl_802D0A60 -/* 802D0A54 002CD994 7F A3 EB 78 */ mr r3, r29 -/* 802D0A58 002CD998 38 80 00 10 */ li r4, 0x10 -/* 802D0A5C 002CD99C 4B FF DD 81 */ bl getMaxAllocatableSize__7JKRHeapFi -lbl_802D0A60: -/* 802D0A60 002CD9A0 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b -/* 802D0A64 002CD9A4 28 1F 00 80 */ cmplwi r31, 0x80 -/* 802D0A68 002CD9A8 40 80 00 0C */ bge lbl_802D0A74 -/* 802D0A6C 002CD9AC 38 60 00 00 */ li r3, 0 -/* 802D0A70 002CD9B0 48 00 00 48 */ b lbl_802D0AB8 -lbl_802D0A74: -/* 802D0A74 002CD9B4 7F E3 FB 78 */ mr r3, r31 -/* 802D0A78 002CD9B8 38 80 00 10 */ li r4, 0x10 -/* 802D0A7C 002CD9BC 7F A5 EB 78 */ mr r5, r29 -/* 802D0A80 002CD9C0 4B FF D9 F5 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D0A84 002CD9C4 7C 60 1B 78 */ mr r0, r3 -/* 802D0A88 002CD9C8 7C 05 03 79 */ or. r5, r0, r0 -/* 802D0A8C 002CD9CC 38 85 00 80 */ addi r4, r5, 0x80 -/* 802D0A90 002CD9D0 40 82 00 0C */ bne lbl_802D0A9C -/* 802D0A94 002CD9D4 38 60 00 00 */ li r3, 0 -/* 802D0A98 002CD9D8 48 00 00 20 */ b lbl_802D0AB8 -lbl_802D0A9C: -/* 802D0A9C 002CD9DC 41 82 00 18 */ beq lbl_802D0AB4 -/* 802D0AA0 002CD9E0 38 BF FF 80 */ addi r5, r31, -128 -/* 802D0AA4 002CD9E4 7F A6 EB 78 */ mr r6, r29 -/* 802D0AA8 002CD9E8 7F C7 F3 78 */ mr r7, r30 -/* 802D0AAC 002CD9EC 48 00 00 85 */ bl JKRSolidHeap -/* 802D0AB0 002CD9F0 7C 60 1B 78 */ mr r0, r3 -lbl_802D0AB4: -/* 802D0AB4 002CD9F4 7C 03 03 78 */ mr r3, r0 -lbl_802D0AB8: -/* 802D0AB8 002CD9F8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0ABC 002CD9FC 48 09 17 6D */ bl _restgpr_29 -/* 802D0AC0 002CDA00 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0AC4 002CDA04 7C 08 03 A6 */ mtlr r0 -/* 802D0AC8 002CDA08 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D0ACC 002CDA0C 4E 80 00 20 */ blr -/* 802D0AD0 002CDA10 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0AD4 002CDA14 7C 08 02 A6 */ mflr r0 -/* 802D0AD8 002CDA18 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0ADC 002CDA1C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D0AE0 002CDA20 93 C1 00 08 */ stw r30, 8(r1) -/* 802D0AE4 002CDA24 7C 7E 1B 78 */ mr r30, r3 -/* 802D0AE8 002CDA28 80 83 00 50 */ lwz r4, 0x50(r3) -/* 802D0AEC 002CDA2C 83 E4 00 0C */ lwz r31, 0xc(r4) -/* 802D0AF0 002CDA30 28 1F 00 00 */ cmplwi r31, 0 -/* 802D0AF4 002CDA34 41 82 00 24 */ beq lbl_802D0B18 -/* 802D0AF8 002CDA38 38 80 FF FF */ li r4, -1 -/* 802D0AFC 002CDA3C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D0B00 002CDA40 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D0B04 002CDA44 7D 89 03 A6 */ mtctr r12 -/* 802D0B08 002CDA48 4E 80 04 21 */ bctrl -/* 802D0B0C 002CDA4C 7F C3 F3 78 */ mr r3, r30 -/* 802D0B10 002CDA50 7F E4 FB 78 */ mr r4, r31 -/* 802D0B14 002CDA54 4B FF D9 ED */ bl free__7JKRHeapFPvP7JKRHeap -lbl_802D0B18: -/* 802D0B18 002CDA58 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0B1C 002CDA5C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D0B20 002CDA60 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0B24 002CDA64 7C 08 03 A6 */ mtlr r0 -/* 802D0B28 002CDA68 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0B2C 002CDA6C 4E 80 00 20 */ blr - -.global JKRSolidHeap -JKRSolidHeap: -/* 802D0B30 002CDA70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0B34 002CDA74 7C 08 02 A6 */ mflr r0 -/* 802D0B38 002CDA78 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0B3C 002CDA7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D0B40 002CDA80 7C 7F 1B 78 */ mr r31, r3 -/* 802D0B44 002CDA84 4B FF D5 F5 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb -/* 802D0B48 002CDA88 3C 60 80 3D */ lis r3, lbl_803CC030@ha -/* 802D0B4C 002CDA8C 38 03 C0 30 */ addi r0, r3, lbl_803CC030@l -/* 802D0B50 002CDA90 90 1F 00 00 */ stw r0, 0(r31) -/* 802D0B54 002CDA94 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 802D0B58 002CDA98 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802D0B5C 002CDA9C 80 1F 00 30 */ lwz r0, 0x30(r31) -/* 802D0B60 002CDAA0 90 1F 00 70 */ stw r0, 0x70(r31) -/* 802D0B64 002CDAA4 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802D0B68 002CDAA8 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D0B6C 002CDAAC 38 00 00 00 */ li r0, 0 -/* 802D0B70 002CDAB0 90 1F 00 78 */ stw r0, 0x78(r31) -/* 802D0B74 002CDAB4 7F E3 FB 78 */ mr r3, r31 -/* 802D0B78 002CDAB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0B7C 002CDABC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0B80 002CDAC0 7C 08 03 A6 */ mtlr r0 -/* 802D0B84 002CDAC4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0B88 002CDAC8 4E 80 00 20 */ blr -/* 802D0B8C 002CDACC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0B90 002CDAD0 7C 08 02 A6 */ mflr r0 -/* 802D0B94 002CDAD4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0B98 002CDAD8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D0B9C 002CDADC 93 C1 00 08 */ stw r30, 8(r1) -/* 802D0BA0 002CDAE0 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D0BA4 002CDAE4 7C 9F 23 78 */ mr r31, r4 -/* 802D0BA8 002CDAE8 41 82 00 30 */ beq lbl_802D0BD8 -/* 802D0BAC 002CDAEC 3C 80 80 3D */ lis r4, lbl_803CC030@ha -/* 802D0BB0 002CDAF0 38 04 C0 30 */ addi r0, r4, lbl_803CC030@l -/* 802D0BB4 002CDAF4 90 1E 00 00 */ stw r0, 0(r30) -/* 802D0BB8 002CDAF8 4B FF DF 09 */ bl dispose__7JKRHeapFv -/* 802D0BBC 002CDAFC 7F C3 F3 78 */ mr r3, r30 -/* 802D0BC0 002CDB00 38 80 00 00 */ li r4, 0 -/* 802D0BC4 002CDB04 4B FF D6 A1 */ bl __dt__7JKRHeapFv -/* 802D0BC8 002CDB08 7F E0 07 35 */ extsh. r0, r31 -/* 802D0BCC 002CDB0C 40 81 00 0C */ ble lbl_802D0BD8 -/* 802D0BD0 002CDB10 7F C3 F3 78 */ mr r3, r30 -/* 802D0BD4 002CDB14 4B FF E1 69 */ bl __dl__FPv -lbl_802D0BD8: -/* 802D0BD8 002CDB18 7F C3 F3 78 */ mr r3, r30 -/* 802D0BDC 002CDB1C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0BE0 002CDB20 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D0BE4 002CDB24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0BE8 002CDB28 7C 08 03 A6 */ mtlr r0 -/* 802D0BEC 002CDB2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0BF0 002CDB30 4E 80 00 20 */ blr - -.global JKRSolidHeap_NS_adjustSize -JKRSolidHeap_NS_adjustSize: -/* 802D0BF4 002CDB34 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0BF8 002CDB38 7C 08 02 A6 */ mflr r0 -/* 802D0BFC 002CDB3C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0C00 002CDB40 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0C04 002CDB44 48 09 15 D9 */ bl _savegpr_29 -/* 802D0C08 002CDB48 7C 7D 1B 78 */ mr r29, r3 -/* 802D0C0C 002CDB4C 80 63 00 50 */ lwz r3, 0x50(r3) -/* 802D0C10 002CDB50 83 E3 00 0C */ lwz r31, 0xc(r3) -/* 802D0C14 002CDB54 28 1F 00 00 */ cmplwi r31, 0 -/* 802D0C18 002CDB58 41 82 00 7C */ beq lbl_802D0C94 -/* 802D0C1C 002CDB5C 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802D0C20 002CDB60 48 06 E4 21 */ bl OSLockMutex -/* 802D0C24 002CDB64 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 802D0C28 002CDB68 7C BD 18 50 */ subf r5, r29, r3 -/* 802D0C2C 002CDB6C 80 1D 00 70 */ lwz r0, 0x70(r29) -/* 802D0C30 002CDB70 7C 63 00 50 */ subf r3, r3, r0 -/* 802D0C34 002CDB74 38 03 00 1F */ addi r0, r3, 0x1f -/* 802D0C38 002CDB78 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a -/* 802D0C3C 002CDB7C 7F E3 FB 78 */ mr r3, r31 -/* 802D0C40 002CDB80 7F A4 EB 78 */ mr r4, r29 -/* 802D0C44 002CDB84 7F E5 F2 14 */ add r31, r5, r30 -/* 802D0C48 002CDB88 7F E5 FB 78 */ mr r5, r31 -/* 802D0C4C 002CDB8C 4B FF DA 39 */ bl resize__7JKRHeapFPvUl -/* 802D0C50 002CDB90 2C 03 FF FF */ cmpwi r3, -1 -/* 802D0C54 002CDB94 41 82 00 30 */ beq lbl_802D0C84 -/* 802D0C58 002CDB98 38 00 00 00 */ li r0, 0 -/* 802D0C5C 002CDB9C 90 1D 00 6C */ stw r0, 0x6c(r29) -/* 802D0C60 002CDBA0 93 DD 00 38 */ stw r30, 0x38(r29) -/* 802D0C64 002CDBA4 80 7D 00 30 */ lwz r3, 0x30(r29) -/* 802D0C68 002CDBA8 80 1D 00 38 */ lwz r0, 0x38(r29) -/* 802D0C6C 002CDBAC 7C 03 02 14 */ add r0, r3, r0 -/* 802D0C70 002CDBB0 90 1D 00 34 */ stw r0, 0x34(r29) -/* 802D0C74 002CDBB4 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802D0C78 002CDBB8 90 1D 00 70 */ stw r0, 0x70(r29) -/* 802D0C7C 002CDBBC 80 1D 00 34 */ lwz r0, 0x34(r29) -/* 802D0C80 002CDBC0 90 1D 00 74 */ stw r0, 0x74(r29) -lbl_802D0C84: -/* 802D0C84 002CDBC4 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802D0C88 002CDBC8 48 06 E4 95 */ bl OSUnlockMutex -/* 802D0C8C 002CDBCC 7F E3 FB 78 */ mr r3, r31 -/* 802D0C90 002CDBD0 48 00 00 08 */ b lbl_802D0C98 -lbl_802D0C94: -/* 802D0C94 002CDBD4 38 60 FF FF */ li r3, -1 -lbl_802D0C98: -/* 802D0C98 002CDBD8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0C9C 002CDBDC 48 09 15 8D */ bl _restgpr_29 -/* 802D0CA0 002CDBE0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0CA4 002CDBE4 7C 08 03 A6 */ mtlr r0 -/* 802D0CA8 002CDBE8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D0CAC 002CDBEC 4E 80 00 20 */ blr -/* 802D0CB0 002CDBF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0CB4 002CDBF4 7C 08 02 A6 */ mflr r0 -/* 802D0CB8 002CDBF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0CBC 002CDBFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0CC0 002CDC00 48 09 15 1D */ bl _savegpr_29 -/* 802D0CC4 002CDC04 7C 7D 1B 78 */ mr r29, r3 -/* 802D0CC8 002CDC08 7C 9E 23 78 */ mr r30, r4 -/* 802D0CCC 002CDC0C 7C BF 2B 78 */ mr r31, r5 -/* 802D0CD0 002CDC10 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802D0CD4 002CDC14 48 06 E3 6D */ bl OSLockMutex -/* 802D0CD8 002CDC18 28 1E 00 04 */ cmplwi r30, 4 -/* 802D0CDC 002CDC1C 40 80 00 08 */ bge lbl_802D0CE4 -/* 802D0CE0 002CDC20 3B C0 00 04 */ li r30, 4 -lbl_802D0CE4: -/* 802D0CE4 002CDC24 2C 1F 00 00 */ cmpwi r31, 0 -/* 802D0CE8 002CDC28 41 80 00 28 */ blt lbl_802D0D10 -/* 802D0CEC 002CDC2C 7F A3 EB 78 */ mr r3, r29 -/* 802D0CF0 002CDC30 7F C4 F3 78 */ mr r4, r30 -/* 802D0CF4 002CDC34 2C 1F 00 04 */ cmpwi r31, 4 -/* 802D0CF8 002CDC38 38 A0 00 04 */ li r5, 4 -/* 802D0CFC 002CDC3C 41 80 00 08 */ blt lbl_802D0D04 -/* 802D0D00 002CDC40 7F E5 FB 78 */ mr r5, r31 -lbl_802D0D04: -/* 802D0D04 002CDC44 48 00 00 55 */ bl JKRSolidHeap_NS_allocFromHead -/* 802D0D08 002CDC48 7C 7F 1B 78 */ mr r31, r3 -/* 802D0D0C 002CDC4C 48 00 00 28 */ b lbl_802D0D34 -lbl_802D0D10: -/* 802D0D10 002CDC50 7C 1F 00 D0 */ neg r0, r31 -/* 802D0D14 002CDC54 2C 00 00 04 */ cmpwi r0, 4 -/* 802D0D18 002CDC58 38 A0 00 04 */ li r5, 4 -/* 802D0D1C 002CDC5C 41 80 00 08 */ blt lbl_802D0D24 -/* 802D0D20 002CDC60 7C 05 03 78 */ mr r5, r0 -lbl_802D0D24: -/* 802D0D24 002CDC64 7F A3 EB 78 */ mr r3, r29 -/* 802D0D28 002CDC68 7F C4 F3 78 */ mr r4, r30 -/* 802D0D2C 002CDC6C 48 00 00 F5 */ bl JKRSolidHeap_NS_allocFromTail -/* 802D0D30 002CDC70 7C 7F 1B 78 */ mr r31, r3 -lbl_802D0D34: -/* 802D0D34 002CDC74 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802D0D38 002CDC78 48 06 E3 E5 */ bl OSUnlockMutex -/* 802D0D3C 002CDC7C 7F E3 FB 78 */ mr r3, r31 -/* 802D0D40 002CDC80 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0D44 002CDC84 48 09 14 E5 */ bl _restgpr_29 -/* 802D0D48 002CDC88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0D4C 002CDC8C 7C 08 03 A6 */ mtlr r0 -/* 802D0D50 002CDC90 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D0D54 002CDC94 4E 80 00 20 */ blr - -.global JKRSolidHeap_NS_allocFromHead -JKRSolidHeap_NS_allocFromHead: -/* 802D0D58 002CDC98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0D5C 002CDC9C 7C 08 02 A6 */ mflr r0 -/* 802D0D60 002CDCA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0D64 002CDCA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0D68 002CDCA8 48 09 14 71 */ bl _savegpr_28 -/* 802D0D6C 002CDCAC 7C 7F 1B 78 */ mr r31, r3 -/* 802D0D70 002CDCB0 7C BD 2B 78 */ mr r29, r5 -/* 802D0D74 002CDCB4 38 04 00 03 */ addi r0, r4, 3 -/* 802D0D78 002CDCB8 54 1C 00 3A */ rlwinm r28, r0, 0, 0, 0x1d -/* 802D0D7C 002CDCBC 3B C0 00 00 */ li r30, 0 -/* 802D0D80 002CDCC0 38 1D FF FF */ addi r0, r29, -1 -/* 802D0D84 002CDCC4 7C 04 00 F8 */ nor r4, r0, r0 -/* 802D0D88 002CDCC8 80 A3 00 70 */ lwz r5, 0x70(r3) -/* 802D0D8C 002CDCCC 7C 7D 2A 14 */ add r3, r29, r5 -/* 802D0D90 002CDCD0 38 03 FF FF */ addi r0, r3, -1 -/* 802D0D94 002CDCD4 7C 83 00 38 */ and r3, r4, r0 -/* 802D0D98 002CDCD8 7C 05 18 50 */ subf r0, r5, r3 -/* 802D0D9C 002CDCDC 7C 9C 02 14 */ add r4, r28, r0 -/* 802D0DA0 002CDCE0 80 1F 00 6C */ lwz r0, 0x6c(r31) -/* 802D0DA4 002CDCE4 7C 04 00 40 */ cmplw r4, r0 -/* 802D0DA8 002CDCE8 41 81 00 20 */ bgt lbl_802D0DC8 -/* 802D0DAC 002CDCEC 7C 7E 1B 78 */ mr r30, r3 -/* 802D0DB0 002CDCF0 7C 05 22 14 */ add r0, r5, r4 -/* 802D0DB4 002CDCF4 90 1F 00 70 */ stw r0, 0x70(r31) -/* 802D0DB8 002CDCF8 80 1F 00 6C */ lwz r0, 0x6c(r31) -/* 802D0DBC 002CDCFC 7C 04 00 50 */ subf r0, r4, r0 -/* 802D0DC0 002CDD00 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802D0DC4 002CDD04 48 00 00 40 */ b lbl_802D0E04 -lbl_802D0DC8: -/* 802D0DC8 002CDD08 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D0DCC 002CDD0C 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D0DD0 002CDD10 4C C6 31 82 */ crclr 6 -/* 802D0DD4 002CDD14 48 01 78 A9 */ bl JUTWarningConsole_f -/* 802D0DD8 002CDD18 88 1F 00 68 */ lbz r0, 0x68(r31) -/* 802D0DDC 002CDD1C 28 00 00 01 */ cmplwi r0, 1 -/* 802D0DE0 002CDD20 40 82 00 24 */ bne lbl_802D0E04 -/* 802D0DE4 002CDD24 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) -/* 802D0DE8 002CDD28 28 0C 00 00 */ cmplwi r12, 0 -/* 802D0DEC 002CDD2C 41 82 00 18 */ beq lbl_802D0E04 -/* 802D0DF0 002CDD30 7F E3 FB 78 */ mr r3, r31 -/* 802D0DF4 002CDD34 7F 84 E3 78 */ mr r4, r28 -/* 802D0DF8 002CDD38 7F A5 EB 78 */ mr r5, r29 -/* 802D0DFC 002CDD3C 7D 89 03 A6 */ mtctr r12 -/* 802D0E00 002CDD40 4E 80 04 21 */ bctrl -lbl_802D0E04: -/* 802D0E04 002CDD44 7F C3 F3 78 */ mr r3, r30 -/* 802D0E08 002CDD48 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0E0C 002CDD4C 48 09 14 19 */ bl _restgpr_28 -/* 802D0E10 002CDD50 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0E14 002CDD54 7C 08 03 A6 */ mtlr r0 -/* 802D0E18 002CDD58 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D0E1C 002CDD5C 4E 80 00 20 */ blr - -.global JKRSolidHeap_NS_allocFromTail -JKRSolidHeap_NS_allocFromTail: -/* 802D0E20 002CDD60 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D0E24 002CDD64 7C 08 02 A6 */ mflr r0 -/* 802D0E28 002CDD68 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D0E2C 002CDD6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0E30 002CDD70 48 09 13 A9 */ bl _savegpr_28 -/* 802D0E34 002CDD74 7C 7F 1B 78 */ mr r31, r3 -/* 802D0E38 002CDD78 7C BD 2B 78 */ mr r29, r5 -/* 802D0E3C 002CDD7C 38 04 00 03 */ addi r0, r4, 3 -/* 802D0E40 002CDD80 54 1C 00 3A */ rlwinm r28, r0, 0, 0, 0x1d -/* 802D0E44 002CDD84 3B C0 00 00 */ li r30, 0 -/* 802D0E48 002CDD88 38 1D FF FF */ addi r0, r29, -1 -/* 802D0E4C 002CDD8C 7C 03 00 F8 */ nor r3, r0, r0 -/* 802D0E50 002CDD90 80 BF 00 74 */ lwz r5, 0x74(r31) -/* 802D0E54 002CDD94 7C 1C 28 50 */ subf r0, r28, r5 -/* 802D0E58 002CDD98 7C 63 00 38 */ and r3, r3, r0 -/* 802D0E5C 002CDD9C 7C 83 28 50 */ subf r4, r3, r5 -/* 802D0E60 002CDDA0 80 1F 00 6C */ lwz r0, 0x6c(r31) -/* 802D0E64 002CDDA4 7C 04 00 40 */ cmplw r4, r0 -/* 802D0E68 002CDDA8 41 81 00 20 */ bgt lbl_802D0E88 -/* 802D0E6C 002CDDAC 7C 7E 1B 78 */ mr r30, r3 -/* 802D0E70 002CDDB0 7C 04 28 50 */ subf r0, r4, r5 -/* 802D0E74 002CDDB4 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D0E78 002CDDB8 80 1F 00 6C */ lwz r0, 0x6c(r31) -/* 802D0E7C 002CDDBC 7C 04 00 50 */ subf r0, r4, r0 -/* 802D0E80 002CDDC0 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802D0E84 002CDDC4 48 00 00 44 */ b lbl_802D0EC8 -lbl_802D0E88: -/* 802D0E88 002CDDC8 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D0E8C 002CDDCC 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D0E90 002CDDD0 38 63 00 31 */ addi r3, r3, 0x31 -/* 802D0E94 002CDDD4 4C C6 31 82 */ crclr 6 -/* 802D0E98 002CDDD8 48 01 77 E5 */ bl JUTWarningConsole_f -/* 802D0E9C 002CDDDC 88 1F 00 68 */ lbz r0, 0x68(r31) -/* 802D0EA0 002CDDE0 28 00 00 01 */ cmplwi r0, 1 -/* 802D0EA4 002CDDE4 40 82 00 24 */ bne lbl_802D0EC8 -/* 802D0EA8 002CDDE8 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) -/* 802D0EAC 002CDDEC 28 0C 00 00 */ cmplwi r12, 0 -/* 802D0EB0 002CDDF0 41 82 00 18 */ beq lbl_802D0EC8 -/* 802D0EB4 002CDDF4 7F E3 FB 78 */ mr r3, r31 -/* 802D0EB8 002CDDF8 7F 84 E3 78 */ mr r4, r28 -/* 802D0EBC 002CDDFC 7F A5 EB 78 */ mr r5, r29 -/* 802D0EC0 002CDE00 7D 89 03 A6 */ mtctr r12 -/* 802D0EC4 002CDE04 4E 80 04 21 */ bctrl -lbl_802D0EC8: -/* 802D0EC8 002CDE08 7F C3 F3 78 */ mr r3, r30 -/* 802D0ECC 002CDE0C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D0ED0 002CDE10 48 09 13 55 */ bl _restgpr_28 -/* 802D0ED4 002CDE14 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D0ED8 002CDE18 7C 08 03 A6 */ mtlr r0 -/* 802D0EDC 002CDE1C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D0EE0 002CDE20 4E 80 00 20 */ blr -/* 802D0EE4 002CDE24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0EE8 002CDE28 7C 08 02 A6 */ mflr r0 -/* 802D0EEC 002CDE2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0EF0 002CDE30 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D0EF4 002CDE34 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D0EF8 002CDE38 38 63 00 62 */ addi r3, r3, 0x62 -/* 802D0EFC 002CDE3C 4C C6 31 82 */ crclr 6 -/* 802D0F00 002CDE40 48 01 77 7D */ bl JUTWarningConsole_f -/* 802D0F04 002CDE44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0F08 002CDE48 7C 08 03 A6 */ mtlr r0 -/* 802D0F0C 002CDE4C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0F10 002CDE50 4E 80 00 20 */ blr -/* 802D0F14 002CDE54 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0F18 002CDE58 7C 08 02 A6 */ mflr r0 -/* 802D0F1C 002CDE5C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0F20 002CDE60 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D0F24 002CDE64 7C 7F 1B 78 */ mr r31, r3 -/* 802D0F28 002CDE68 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802D0F2C 002CDE6C 48 06 E1 15 */ bl OSLockMutex -/* 802D0F30 002CDE70 7F E3 FB 78 */ mr r3, r31 -/* 802D0F34 002CDE74 4B FF D6 41 */ bl callAllDisposer__7JKRHeapFv -/* 802D0F38 002CDE78 80 1F 00 38 */ lwz r0, 0x38(r31) -/* 802D0F3C 002CDE7C 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802D0F40 002CDE80 80 1F 00 30 */ lwz r0, 0x30(r31) -/* 802D0F44 002CDE84 90 1F 00 70 */ stw r0, 0x70(r31) -/* 802D0F48 002CDE88 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802D0F4C 002CDE8C 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D0F50 002CDE90 38 00 00 00 */ li r0, 0 -/* 802D0F54 002CDE94 90 1F 00 78 */ stw r0, 0x78(r31) -/* 802D0F58 002CDE98 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802D0F5C 002CDE9C 48 06 E1 C1 */ bl OSUnlockMutex -/* 802D0F60 002CDEA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0F64 002CDEA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0F68 002CDEA8 7C 08 03 A6 */ mtlr r0 -/* 802D0F6C 002CDEAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0F70 002CDEB0 4E 80 00 20 */ blr -/* 802D0F74 002CDEB4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D0F78 002CDEB8 7C 08 02 A6 */ mflr r0 -/* 802D0F7C 002CDEBC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D0F80 002CDEC0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D0F84 002CDEC4 7C 7F 1B 78 */ mr r31, r3 -/* 802D0F88 002CDEC8 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802D0F8C 002CDECC 48 06 E0 B5 */ bl OSLockMutex -/* 802D0F90 002CDED0 80 9F 00 74 */ lwz r4, 0x74(r31) -/* 802D0F94 002CDED4 80 BF 00 34 */ lwz r5, 0x34(r31) -/* 802D0F98 002CDED8 7C 04 28 40 */ cmplw r4, r5 -/* 802D0F9C 002CDEDC 41 82 00 0C */ beq lbl_802D0FA8 -/* 802D0FA0 002CDEE0 7F E3 FB 78 */ mr r3, r31 -/* 802D0FA4 002CDEE4 4B FF DA FD */ bl dispose__7JKRHeapFPvPv -lbl_802D0FA8: -/* 802D0FA8 002CDEE8 80 9F 00 6C */ lwz r4, 0x6c(r31) -/* 802D0FAC 002CDEEC 80 7F 00 74 */ lwz r3, 0x74(r31) -/* 802D0FB0 002CDEF0 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802D0FB4 002CDEF4 7C 03 00 50 */ subf r0, r3, r0 -/* 802D0FB8 002CDEF8 7C 04 02 14 */ add r0, r4, r0 -/* 802D0FBC 002CDEFC 90 1F 00 6C */ stw r0, 0x6c(r31) -/* 802D0FC0 002CDF00 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802D0FC4 002CDF04 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D0FC8 002CDF08 80 7F 00 78 */ lwz r3, 0x78(r31) -/* 802D0FCC 002CDF0C 48 00 00 10 */ b lbl_802D0FDC -lbl_802D0FD0: -/* 802D0FD0 002CDF10 80 1F 00 34 */ lwz r0, 0x34(r31) -/* 802D0FD4 002CDF14 90 03 00 0C */ stw r0, 0xc(r3) -/* 802D0FD8 002CDF18 80 63 00 10 */ lwz r3, 0x10(r3) -lbl_802D0FDC: -/* 802D0FDC 002CDF1C 28 03 00 00 */ cmplwi r3, 0 -/* 802D0FE0 002CDF20 40 82 FF F0 */ bne lbl_802D0FD0 -/* 802D0FE4 002CDF24 38 7F 00 18 */ addi r3, r31, 0x18 -/* 802D0FE8 002CDF28 48 06 E1 35 */ bl OSUnlockMutex -/* 802D0FEC 002CDF2C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D0FF0 002CDF30 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D0FF4 002CDF34 7C 08 03 A6 */ mtlr r0 -/* 802D0FF8 002CDF38 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D0FFC 002CDF3C 4E 80 00 20 */ blr -/* 802D1000 002CDF40 4E 80 00 20 */ blr -/* 802D1004 002CDF44 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1008 002CDF48 7C 08 02 A6 */ mflr r0 -/* 802D100C 002CDF4C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1010 002CDF50 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D1014 002CDF54 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D1018 002CDF58 38 63 00 89 */ addi r3, r3, 0x89 -/* 802D101C 002CDF5C 4C C6 31 82 */ crclr 6 -/* 802D1020 002CDF60 48 01 76 5D */ bl JUTWarningConsole_f -/* 802D1024 002CDF64 38 60 FF FF */ li r3, -1 -/* 802D1028 002CDF68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D102C 002CDF6C 7C 08 03 A6 */ mtlr r0 -/* 802D1030 002CDF70 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1034 002CDF74 4E 80 00 20 */ blr -/* 802D1038 002CDF78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D103C 002CDF7C 7C 08 02 A6 */ mflr r0 -/* 802D1040 002CDF80 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1044 002CDF84 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D1048 002CDF88 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D104C 002CDF8C 38 63 00 B8 */ addi r3, r3, 0xb8 -/* 802D1050 002CDF90 4C C6 31 82 */ crclr 6 -/* 802D1054 002CDF94 48 01 76 29 */ bl JUTWarningConsole_f -/* 802D1058 002CDF98 38 60 FF FF */ li r3, -1 -/* 802D105C 002CDF9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1060 002CDFA0 7C 08 03 A6 */ mtlr r0 -/* 802D1064 002CDFA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1068 002CDFA8 4E 80 00 20 */ blr -/* 802D106C 002CDFAC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1070 002CDFB0 7C 08 02 A6 */ mflr r0 -/* 802D1074 002CDFB4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1078 002CDFB8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D107C 002CDFBC 93 C1 00 08 */ stw r30, 8(r1) -/* 802D1080 002CDFC0 7C 7E 1B 78 */ mr r30, r3 -/* 802D1084 002CDFC4 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D1088 002CDFC8 48 06 DF B9 */ bl OSLockMutex -/* 802D108C 002CDFCC 3B E0 00 01 */ li r31, 1 -/* 802D1090 002CDFD0 80 DE 00 6C */ lwz r6, 0x6c(r30) -/* 802D1094 002CDFD4 80 7E 00 30 */ lwz r3, 0x30(r30) -/* 802D1098 002CDFD8 80 1E 00 70 */ lwz r0, 0x70(r30) -/* 802D109C 002CDFDC 7C 83 00 50 */ subf r4, r3, r0 -/* 802D10A0 002CDFE0 80 7E 00 74 */ lwz r3, 0x74(r30) -/* 802D10A4 002CDFE4 80 1E 00 34 */ lwz r0, 0x34(r30) -/* 802D10A8 002CDFE8 7C 03 00 50 */ subf r0, r3, r0 -/* 802D10AC 002CDFEC 7C A4 02 14 */ add r5, r4, r0 -/* 802D10B0 002CDFF0 7C A6 2A 14 */ add r5, r6, r5 -/* 802D10B4 002CDFF4 80 9E 00 38 */ lwz r4, 0x38(r30) -/* 802D10B8 002CDFF8 7C 05 20 40 */ cmplw r5, r4 -/* 802D10BC 002CDFFC 41 82 00 1C */ beq lbl_802D10D8 -/* 802D10C0 002CE000 3B E0 00 00 */ li r31, 0 -/* 802D10C4 002CE004 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D10C8 002CE008 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D10CC 002CE00C 38 63 00 E6 */ addi r3, r3, 0xe6 -/* 802D10D0 002CE010 4C C6 31 82 */ crclr 6 -/* 802D10D4 002CE014 48 01 75 A9 */ bl JUTWarningConsole_f -lbl_802D10D8: -/* 802D10D8 002CE018 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D10DC 002CE01C 48 06 E0 41 */ bl OSUnlockMutex -/* 802D10E0 002CE020 7F E3 FB 78 */ mr r3, r31 -/* 802D10E4 002CE024 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D10E8 002CE028 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D10EC 002CE02C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D10F0 002CE030 7C 08 03 A6 */ mtlr r0 -/* 802D10F4 002CE034 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D10F8 002CE038 4E 80 00 20 */ blr -/* 802D10FC 002CE03C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802D1100 002CE040 7C 08 02 A6 */ mflr r0 -/* 802D1104 002CE044 90 01 00 34 */ stw r0, 0x34(r1) -/* 802D1108 002CE048 39 61 00 30 */ addi r11, r1, 0x30 -/* 802D110C 002CE04C 48 09 10 D1 */ bl _savegpr_29 -/* 802D1110 002CE050 7C 7E 1B 78 */ mr r30, r3 -/* 802D1114 002CE054 81 83 00 00 */ lwz r12, 0(r3) -/* 802D1118 002CE058 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802D111C 002CE05C 7D 89 03 A6 */ mtctr r12 -/* 802D1120 002CE060 4E 80 04 21 */ bctrl -/* 802D1124 002CE064 7C 7F 1B 78 */ mr r31, r3 -/* 802D1128 002CE068 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D112C 002CE06C 48 06 DF 15 */ bl OSLockMutex -/* 802D1130 002CE070 80 9E 00 30 */ lwz r4, 0x30(r30) -/* 802D1134 002CE074 80 1E 00 70 */ lwz r0, 0x70(r30) -/* 802D1138 002CE078 7C A4 00 50 */ subf r5, r4, r0 -/* 802D113C 002CE07C 80 7E 00 74 */ lwz r3, 0x74(r30) -/* 802D1140 002CE080 80 1E 00 34 */ lwz r0, 0x34(r30) -/* 802D1144 002CE084 7C 03 00 50 */ subf r0, r3, r0 -/* 802D1148 002CE088 7F A5 02 14 */ add r29, r5, r0 -/* 802D114C 002CE08C 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D1150 002CE090 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D1154 002CE094 38 63 01 17 */ addi r3, r3, 0x117 -/* 802D1158 002CE098 4C C6 31 82 */ crclr 6 -/* 802D115C 002CE09C 48 01 74 6D */ bl JUTReportConsole_f -/* 802D1160 002CE0A0 80 9E 00 74 */ lwz r4, 0x74(r30) -/* 802D1164 002CE0A4 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D1168 002CE0A8 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D116C 002CE0AC 38 63 01 28 */ addi r3, r3, 0x128 -/* 802D1170 002CE0B0 80 1E 00 34 */ lwz r0, 0x34(r30) -/* 802D1174 002CE0B4 7C A4 00 50 */ subf r5, r4, r0 -/* 802D1178 002CE0B8 4C C6 31 82 */ crclr 6 -/* 802D117C 002CE0BC 48 01 74 4D */ bl JUTReportConsole_f -/* 802D1180 002CE0C0 80 BE 00 38 */ lwz r5, 0x38(r30) -/* 802D1184 002CE0C4 3C 60 80 3A */ lis r3, lbl_8039CE50@ha -/* 802D1188 002CE0C8 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l -/* 802D118C 002CE0CC 38 63 01 39 */ addi r3, r3, 0x139 -/* 802D1190 002CE0D0 7F A4 EB 78 */ mr r4, r29 -/* 802D1194 002CE0D4 C0 62 C5 A8 */ lfs f3, lbl_80455FA8-_SDA2_BASE_(r2) -/* 802D1198 002CE0D8 C8 22 C5 B0 */ lfd f1, lbl_80455FB0-_SDA2_BASE_(r2) -/* 802D119C 002CE0DC 6F A0 80 00 */ xoris r0, r29, 0x8000 -/* 802D11A0 002CE0E0 90 01 00 0C */ stw r0, 0xc(r1) -/* 802D11A4 002CE0E4 3C 00 43 30 */ lis r0, 0x4330 -/* 802D11A8 002CE0E8 90 01 00 08 */ stw r0, 8(r1) -/* 802D11AC 002CE0EC C8 01 00 08 */ lfd f0, 8(r1) -/* 802D11B0 002CE0F0 EC 40 08 28 */ fsubs f2, f0, f1 -/* 802D11B4 002CE0F4 C8 22 C5 B8 */ lfd f1, lbl_80455FB8-_SDA2_BASE_(r2) -/* 802D11B8 002CE0F8 90 A1 00 14 */ stw r5, 0x14(r1) -/* 802D11BC 002CE0FC 90 01 00 10 */ stw r0, 0x10(r1) -/* 802D11C0 002CE100 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802D11C4 002CE104 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802D11C8 002CE108 EC 02 00 24 */ fdivs f0, f2, f0 -/* 802D11CC 002CE10C EC 23 00 32 */ fmuls f1, f3, f0 -/* 802D11D0 002CE110 4C C6 32 42 */ crset 6 -/* 802D11D4 002CE114 48 01 73 F5 */ bl JUTReportConsole_f -/* 802D11D8 002CE118 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D11DC 002CE11C 48 06 DF 41 */ bl OSUnlockMutex -/* 802D11E0 002CE120 7F E3 FB 78 */ mr r3, r31 -/* 802D11E4 002CE124 39 61 00 30 */ addi r11, r1, 0x30 -/* 802D11E8 002CE128 48 09 10 41 */ bl _restgpr_29 -/* 802D11EC 002CE12C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802D11F0 002CE130 7C 08 03 A6 */ mtlr r0 -/* 802D11F4 002CE134 38 21 00 30 */ addi r1, r1, 0x30 -/* 802D11F8 002CE138 4E 80 00 20 */ blr -/* 802D11FC 002CE13C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1200 002CE140 7C 08 02 A6 */ mflr r0 -/* 802D1204 002CE144 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1208 002CE148 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D120C 002CE14C 93 C1 00 08 */ stw r30, 8(r1) -/* 802D1210 002CE150 7C 7E 1B 78 */ mr r30, r3 -/* 802D1214 002CE154 7C 9F 23 78 */ mr r31, r4 -/* 802D1218 002CE158 90 A4 00 14 */ stw r5, 0x14(r4) -/* 802D121C 002CE15C 4B FF D5 69 */ bl getTotalFreeSize__7JKRHeapFv -/* 802D1220 002CE160 80 1E 00 38 */ lwz r0, 0x38(r30) -/* 802D1224 002CE164 7C 03 00 50 */ subf r0, r3, r0 -/* 802D1228 002CE168 90 1F 00 00 */ stw r0, 0(r31) -/* 802D122C 002CE16C 80 7E 00 70 */ lwz r3, 0x70(r30) -/* 802D1230 002CE170 80 1E 00 74 */ lwz r0, 0x74(r30) -/* 802D1234 002CE174 1C 00 00 03 */ mulli r0, r0, 3 -/* 802D1238 002CE178 7C 63 02 14 */ add r3, r3, r0 -/* 802D123C 002CE17C 90 7F 00 04 */ stw r3, 4(r31) -/* 802D1240 002CE180 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1244 002CE184 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D1248 002CE188 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D124C 002CE18C 7C 08 03 A6 */ mtlr r0 -/* 802D1250 002CE190 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1254 002CE194 4E 80 00 20 */ blr -/* 802D1258 002CE198 38 60 00 01 */ li r3, 1 -/* 802D125C 002CE19C 80 C4 00 04 */ lwz r6, 4(r4) -/* 802D1260 002CE1A0 80 05 00 04 */ lwz r0, 4(r5) -/* 802D1264 002CE1A4 7C 06 00 40 */ cmplw r6, r0 -/* 802D1268 002CE1A8 41 82 00 08 */ beq lbl_802D1270 -/* 802D126C 002CE1AC 38 60 00 00 */ li r3, 0 -lbl_802D1270: -/* 802D1270 002CE1B0 80 84 00 00 */ lwz r4, 0(r4) -/* 802D1274 002CE1B4 80 05 00 00 */ lwz r0, 0(r5) -/* 802D1278 002CE1B8 7C 04 00 40 */ cmplw r4, r0 -/* 802D127C 002CE1BC 4D 82 00 20 */ beqlr -/* 802D1280 002CE1C0 38 60 00 00 */ li r3, 0 -/* 802D1284 002CE1C4 4E 80 00 20 */ blr -/* 802D1288 002CE1C8 3C 60 53 4C */ lis r3, 0x534C4944@ha -/* 802D128C 002CE1CC 38 63 49 44 */ addi r3, r3, 0x534C4944@l -/* 802D1290 002CE1D0 4E 80 00 20 */ blr -/* 802D1294 002CE1D4 80 63 00 6C */ lwz r3, 0x6c(r3) -/* 802D1298 002CE1D8 4E 80 00 20 */ blr -/* 802D129C 002CE1DC 80 63 00 70 */ lwz r3, 0x70(r3) -/* 802D12A0 002CE1E0 4E 80 00 20 */ blr -/* 802D12A4 002CE1E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D12A8 002CE1E8 7C 08 02 A6 */ mflr r0 -/* 802D12AC 002CE1EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D12B0 002CE1F0 4B FF D4 7D */ bl getFreeSize__7JKRHeapFv -/* 802D12B4 002CE1F4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D12B8 002CE1F8 7C 08 03 A6 */ mtlr r0 -/* 802D12BC 002CE1FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D12C0 002CE200 4E 80 00 20 */ blr - diff --git a/asm/JKernel/JKRThread.s b/asm/JKernel/JKRThread.s index f8358d7182..0d074df95b 100644 --- a/asm/JKernel/JKRThread.s +++ b/asm/JKernel/JKRThread.s @@ -1,669 +1,9 @@ .include "macros.inc" -.section .text, "ax" # 802d1568 +.section .text, "ax" # 802D199C - -.global JKRThread -JKRThread: -/* 802D1568 002CE4A8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D156C 002CE4AC 7C 08 02 A6 */ mflr r0 -/* 802D1570 002CE4B0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D1574 002CE4B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D1578 002CE4B8 48 09 0C 61 */ bl _savegpr_28 -/* 802D157C 002CE4BC 7C 7C 1B 78 */ mr r28, r3 -/* 802D1580 002CE4C0 7C 9D 23 78 */ mr r29, r4 -/* 802D1584 002CE4C4 7C BE 2B 78 */ mr r30, r5 -/* 802D1588 002CE4C8 7C DF 33 78 */ mr r31, r6 -/* 802D158C 002CE4CC 4B FF FE F1 */ bl __ct__11JKRDisposerFv -/* 802D1590 002CE4D0 3C 60 80 3D */ lis r3, lbl_803CC114@ha -/* 802D1594 002CE4D4 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l -/* 802D1598 002CE4D8 90 1C 00 00 */ stw r0, 0(r28) -/* 802D159C 002CE4DC 38 7C 00 18 */ addi r3, r28, 0x18 -/* 802D15A0 002CE4E0 7F 84 E3 78 */ mr r4, r28 -/* 802D15A4 002CE4E4 48 00 A8 59 */ bl __ct__10JSUPtrLinkFPv -/* 802D15A8 002CE4E8 38 00 00 00 */ li r0, 0 -/* 802D15AC 002CE4EC 90 1C 00 68 */ stw r0, 0x68(r28) -/* 802D15B0 002CE4F0 90 1C 00 64 */ stw r0, 0x64(r28) -/* 802D15B4 002CE4F4 90 1C 00 6C */ stw r0, 0x6c(r28) -/* 802D15B8 002CE4F8 98 1C 00 60 */ stb r0, 0x60(r28) -/* 802D15BC 002CE4FC 90 1C 00 70 */ stw r0, 0x70(r28) -/* 802D15C0 002CE500 7F 83 E3 78 */ mr r3, r28 -/* 802D15C4 002CE504 4B FF D2 79 */ bl findFromRoot__7JKRHeapFPv -/* 802D15C8 002CE508 7C 64 1B 79 */ or. r4, r3, r3 -/* 802D15CC 002CE50C 40 82 00 08 */ bne lbl_802D15D4 -/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) -lbl_802D15D4: -/* 802D15D4 002CE514 7F 83 E3 78 */ mr r3, r28 -/* 802D15D8 002CE518 7F A5 EB 78 */ mr r5, r29 -/* 802D15DC 002CE51C 7F E6 FB 78 */ mr r6, r31 -/* 802D15E0 002CE520 48 00 02 C5 */ bl JKRThread_NS_setCommon_heapSpecified -/* 802D15E4 002CE524 7F 83 E3 78 */ mr r3, r28 -/* 802D15E8 002CE528 80 9C 00 28 */ lwz r4, 0x28(r28) -/* 802D15EC 002CE52C 7F C5 F3 78 */ mr r5, r30 -/* 802D15F0 002CE530 48 00 02 41 */ bl JKRThread_NS_setCommon_mesgQueue -/* 802D15F4 002CE534 7F 83 E3 78 */ mr r3, r28 -/* 802D15F8 002CE538 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D15FC 002CE53C 48 09 0C 29 */ bl _restgpr_28 -/* 802D1600 002CE540 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D1604 002CE544 7C 08 03 A6 */ mtlr r0 -/* 802D1608 002CE548 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D160C 002CE54C 4E 80 00 20 */ blr - -.global JKRThread_X1_ -JKRThread_X1_: -/* 802D1610 002CE550 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D1614 002CE554 7C 08 02 A6 */ mflr r0 -/* 802D1618 002CE558 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D161C 002CE55C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D1620 002CE560 48 09 0B B5 */ bl _savegpr_27 -/* 802D1624 002CE564 7C 7B 1B 78 */ mr r27, r3 -/* 802D1628 002CE568 7C 9C 23 78 */ mr r28, r4 -/* 802D162C 002CE56C 7C BD 2B 78 */ mr r29, r5 -/* 802D1630 002CE570 7C DE 33 78 */ mr r30, r6 -/* 802D1634 002CE574 7C FF 3B 78 */ mr r31, r7 -/* 802D1638 002CE578 4B FF FE 45 */ bl __ct__11JKRDisposerFv -/* 802D163C 002CE57C 3C 60 80 3D */ lis r3, lbl_803CC114@ha -/* 802D1640 002CE580 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l -/* 802D1644 002CE584 90 1B 00 00 */ stw r0, 0(r27) -/* 802D1648 002CE588 38 7B 00 18 */ addi r3, r27, 0x18 -/* 802D164C 002CE58C 7F 64 DB 78 */ mr r4, r27 -/* 802D1650 002CE590 48 00 A7 AD */ bl __ct__10JSUPtrLinkFPv -/* 802D1654 002CE594 38 00 00 00 */ li r0, 0 -/* 802D1658 002CE598 90 1B 00 68 */ stw r0, 0x68(r27) -/* 802D165C 002CE59C 90 1B 00 64 */ stw r0, 0x64(r27) -/* 802D1660 002CE5A0 90 1B 00 6C */ stw r0, 0x6c(r27) -/* 802D1664 002CE5A4 98 1B 00 60 */ stb r0, 0x60(r27) -/* 802D1668 002CE5A8 90 1B 00 70 */ stw r0, 0x70(r27) -/* 802D166C 002CE5AC 28 1C 00 00 */ cmplwi r28, 0 -/* 802D1670 002CE5B0 40 82 00 08 */ bne lbl_802D1678 -/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, lbl_80451374-_SDA_BASE_(r13) -lbl_802D1678: -/* 802D1678 002CE5B8 7F 63 DB 78 */ mr r3, r27 -/* 802D167C 002CE5BC 7F 84 E3 78 */ mr r4, r28 -/* 802D1680 002CE5C0 7F A5 EB 78 */ mr r5, r29 -/* 802D1684 002CE5C4 7F E6 FB 78 */ mr r6, r31 -/* 802D1688 002CE5C8 48 00 02 1D */ bl JKRThread_NS_setCommon_heapSpecified -/* 802D168C 002CE5CC 7F 63 DB 78 */ mr r3, r27 -/* 802D1690 002CE5D0 80 9B 00 28 */ lwz r4, 0x28(r27) -/* 802D1694 002CE5D4 7F C5 F3 78 */ mr r5, r30 -/* 802D1698 002CE5D8 48 00 01 99 */ bl JKRThread_NS_setCommon_mesgQueue -/* 802D169C 002CE5DC 7F 63 DB 78 */ mr r3, r27 -/* 802D16A0 002CE5E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D16A4 002CE5E4 48 09 0B 7D */ bl _restgpr_27 -/* 802D16A8 002CE5E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D16AC 002CE5EC 7C 08 03 A6 */ mtlr r0 -/* 802D16B0 002CE5F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D16B4 002CE5F4 4E 80 00 20 */ blr - -.global JKRThread_X2_ -JKRThread_X2_: -/* 802D16B8 002CE5F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D16BC 002CE5FC 7C 08 02 A6 */ mflr r0 -/* 802D16C0 002CE600 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D16C4 002CE604 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D16C8 002CE608 48 09 0B 15 */ bl _savegpr_29 -/* 802D16CC 002CE60C 7C 7D 1B 78 */ mr r29, r3 -/* 802D16D0 002CE610 7C 9E 23 78 */ mr r30, r4 -/* 802D16D4 002CE614 7C BF 2B 78 */ mr r31, r5 -/* 802D16D8 002CE618 4B FF FD A5 */ bl __ct__11JKRDisposerFv -/* 802D16DC 002CE61C 3C 60 80 3D */ lis r3, lbl_803CC114@ha -/* 802D16E0 002CE620 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l -/* 802D16E4 002CE624 90 1D 00 00 */ stw r0, 0(r29) -/* 802D16E8 002CE628 38 7D 00 18 */ addi r3, r29, 0x18 -/* 802D16EC 002CE62C 7F A4 EB 78 */ mr r4, r29 -/* 802D16F0 002CE630 48 00 A7 0D */ bl __ct__10JSUPtrLinkFPv -/* 802D16F4 002CE634 38 00 00 00 */ li r0, 0 -/* 802D16F8 002CE638 90 1D 00 68 */ stw r0, 0x68(r29) -/* 802D16FC 002CE63C 90 1D 00 64 */ stw r0, 0x64(r29) -/* 802D1700 002CE640 90 1D 00 6C */ stw r0, 0x6c(r29) -/* 802D1704 002CE644 98 1D 00 60 */ stb r0, 0x60(r29) -/* 802D1708 002CE648 90 1D 00 70 */ stw r0, 0x70(r29) -/* 802D170C 002CE64C 90 1D 00 28 */ stw r0, 0x28(r29) -/* 802D1710 002CE650 93 DD 00 2C */ stw r30, 0x2c(r29) -/* 802D1714 002CE654 80 7E 03 04 */ lwz r3, 0x304(r30) -/* 802D1718 002CE658 80 1E 03 08 */ lwz r0, 0x308(r30) -/* 802D171C 002CE65C 7C 03 00 50 */ subf r0, r3, r0 -/* 802D1720 002CE660 90 1D 00 5C */ stw r0, 0x5c(r29) -/* 802D1724 002CE664 80 1E 03 04 */ lwz r0, 0x304(r30) -/* 802D1728 002CE668 90 1D 00 58 */ stw r0, 0x58(r29) -/* 802D172C 002CE66C 7F A3 EB 78 */ mr r3, r29 -/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) -/* 802D1734 002CE674 7F E5 FB 78 */ mr r5, r31 -/* 802D1738 002CE678 48 00 00 F9 */ bl JKRThread_NS_setCommon_mesgQueue -/* 802D173C 002CE67C 7F A3 EB 78 */ mr r3, r29 -/* 802D1740 002CE680 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D1744 002CE684 48 09 0A E5 */ bl _restgpr_29 -/* 802D1748 002CE688 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D174C 002CE68C 7C 08 03 A6 */ mtlr r0 -/* 802D1750 002CE690 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D1754 002CE694 4E 80 00 20 */ blr - -.global JKRThread_NS_dtor -JKRThread_NS_dtor: -/* 802D1758 002CE698 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D175C 002CE69C 7C 08 02 A6 */ mflr r0 -/* 802D1760 002CE6A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1764 002CE6A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1768 002CE6A8 93 C1 00 08 */ stw r30, 8(r1) -/* 802D176C 002CE6AC 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802D1770 002CE6B0 7C 9F 23 78 */ mr r31, r4 -/* 802D1774 002CE6B4 41 82 00 A0 */ beq lbl_802D1814 -/* 802D1778 002CE6B8 3C 60 80 3D */ lis r3, lbl_803CC114@ha -/* 802D177C 002CE6BC 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l -/* 802D1780 002CE6C0 90 1E 00 00 */ stw r0, 0(r30) -/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l -/* 802D178C 002CE6CC 38 9E 00 18 */ addi r4, r30, 0x18 -/* 802D1790 002CE6D0 48 00 A9 CD */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D1794 002CE6D4 80 1E 00 28 */ lwz r0, 0x28(r30) -/* 802D1798 002CE6D8 28 00 00 00 */ cmplwi r0, 0 -/* 802D179C 002CE6DC 41 82 00 3C */ beq lbl_802D17D8 -/* 802D17A0 002CE6E0 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802D17A4 002CE6E4 48 06 F4 ED */ bl OSIsThreadTerminated -/* 802D17A8 002CE6E8 2C 03 00 00 */ cmpwi r3, 0 -/* 802D17AC 002CE6EC 40 82 00 14 */ bne lbl_802D17C0 -/* 802D17B0 002CE6F0 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802D17B4 002CE6F4 48 06 FF 61 */ bl OSDetachThread -/* 802D17B8 002CE6F8 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802D17BC 002CE6FC 48 06 FD 9D */ bl OSCancelThread -lbl_802D17C0: -/* 802D17C0 002CE700 80 7E 00 58 */ lwz r3, 0x58(r30) -/* 802D17C4 002CE704 80 9E 00 28 */ lwz r4, 0x28(r30) -/* 802D17C8 002CE708 4B FF CD 39 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D17CC 002CE70C 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802D17D0 002CE710 80 9E 00 28 */ lwz r4, 0x28(r30) -/* 802D17D4 002CE714 4B FF CD 2D */ bl free__7JKRHeapFPvP7JKRHeap -lbl_802D17D8: -/* 802D17D8 002CE718 80 7E 00 50 */ lwz r3, 0x50(r30) -/* 802D17DC 002CE71C 38 80 00 00 */ li r4, 0 -/* 802D17E0 002CE720 4B FF CD 21 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D17E4 002CE724 34 1E 00 18 */ addic. r0, r30, 0x18 -/* 802D17E8 002CE728 41 82 00 10 */ beq lbl_802D17F8 -/* 802D17EC 002CE72C 38 7E 00 18 */ addi r3, r30, 0x18 -/* 802D17F0 002CE730 38 80 00 00 */ li r4, 0 -/* 802D17F4 002CE734 48 00 A6 21 */ bl __dt__10JSUPtrLinkFv -lbl_802D17F8: -/* 802D17F8 002CE738 7F C3 F3 78 */ mr r3, r30 -/* 802D17FC 002CE73C 38 80 00 00 */ li r4, 0 -/* 802D1800 002CE740 4B FF FC E5 */ bl __dt__11JKRDisposerFv -/* 802D1804 002CE744 7F E0 07 35 */ extsh. r0, r31 -/* 802D1808 002CE748 40 81 00 0C */ ble lbl_802D1814 -/* 802D180C 002CE74C 7F C3 F3 78 */ mr r3, r30 -/* 802D1810 002CE750 4B FF D5 2D */ bl __dl__FPv -lbl_802D1814: -/* 802D1814 002CE754 7F C3 F3 78 */ mr r3, r30 -/* 802D1818 002CE758 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D181C 002CE75C 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D1820 002CE760 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1824 002CE764 7C 08 03 A6 */ mtlr r0 -/* 802D1828 002CE768 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D182C 002CE76C 4E 80 00 20 */ blr - -.global JKRThread_NS_setCommon_mesgQueue -JKRThread_NS_setCommon_mesgQueue: -/* 802D1830 002CE770 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1834 002CE774 7C 08 02 A6 */ mflr r0 -/* 802D1838 002CE778 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D183C 002CE77C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1840 002CE780 7C 7F 1B 78 */ mr r31, r3 -/* 802D1844 002CE784 7C 86 23 78 */ mr r6, r4 -/* 802D1848 002CE788 90 A3 00 54 */ stw r5, 0x54(r3) -/* 802D184C 002CE78C 80 03 00 54 */ lwz r0, 0x54(r3) -/* 802D1850 002CE790 54 03 10 3A */ slwi r3, r0, 2 -/* 802D1854 002CE794 38 80 00 00 */ li r4, 0 -/* 802D1858 002CE798 7C C5 33 78 */ mr r5, r6 -/* 802D185C 002CE79C 4B FF CC 19 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D1860 002CE7A0 90 7F 00 50 */ stw r3, 0x50(r31) -/* 802D1864 002CE7A4 38 7F 00 30 */ addi r3, r31, 0x30 -/* 802D1868 002CE7A8 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 802D186C 002CE7AC 80 BF 00 54 */ lwz r5, 0x54(r31) -/* 802D1870 002CE7B0 48 06 D1 25 */ bl OSInitMessageQueue -/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l -/* 802D187C 002CE7BC 38 9F 00 18 */ addi r4, r31, 0x18 -/* 802D1880 002CE7C0 48 00 A6 CD */ bl append__10JSUPtrListFP10JSUPtrLink -/* 802D1884 002CE7C4 38 00 00 00 */ li r0, 0 -/* 802D1888 002CE7C8 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D188C 002CE7CC 90 1F 00 78 */ stw r0, 0x78(r31) -/* 802D1890 002CE7D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1894 002CE7D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1898 002CE7D8 7C 08 03 A6 */ mtlr r0 -/* 802D189C 002CE7DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D18A0 002CE7E0 4E 80 00 20 */ blr - -.global JKRThread_NS_setCommon_heapSpecified -JKRThread_NS_setCommon_heapSpecified: -/* 802D18A4 002CE7E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D18A8 002CE7E8 7C 08 02 A6 */ mflr r0 -/* 802D18AC 002CE7EC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D18B0 002CE7F0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D18B4 002CE7F4 93 C1 00 08 */ stw r30, 8(r1) -/* 802D18B8 002CE7F8 7C 7E 1B 78 */ mr r30, r3 -/* 802D18BC 002CE7FC 7C DF 33 78 */ mr r31, r6 -/* 802D18C0 002CE800 90 83 00 28 */ stw r4, 0x28(r3) -/* 802D18C4 002CE804 54 A0 00 34 */ rlwinm r0, r5, 0, 0, 0x1a -/* 802D18C8 002CE808 90 03 00 5C */ stw r0, 0x5c(r3) -/* 802D18CC 002CE80C 80 63 00 5C */ lwz r3, 0x5c(r3) -/* 802D18D0 002CE810 38 80 00 20 */ li r4, 0x20 -/* 802D18D4 002CE814 80 BE 00 28 */ lwz r5, 0x28(r30) -/* 802D18D8 002CE818 4B FF CB 9D */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D18DC 002CE81C 90 7E 00 58 */ stw r3, 0x58(r30) -/* 802D18E0 002CE820 38 60 03 18 */ li r3, 0x318 -/* 802D18E4 002CE824 38 80 00 20 */ li r4, 0x20 -/* 802D18E8 002CE828 80 BE 00 28 */ lwz r5, 0x28(r30) -/* 802D18EC 002CE82C 4B FF CB 89 */ bl alloc__7JKRHeapFUliP7JKRHeap -/* 802D18F0 002CE830 90 7E 00 2C */ stw r3, 0x2c(r30) -/* 802D18F4 002CE834 80 FE 00 5C */ lwz r7, 0x5c(r30) -/* 802D18F8 002CE838 80 7E 00 2C */ lwz r3, 0x2c(r30) -.global JKRThread_NS_start -/* 802D18FC 002CE83C 3C 80 80 2D */ lis r4, JKRThread_NS_start@ha -.global JKRThread_NS_start -/* 802D1900 002CE840 38 84 19 34 */ addi r4, r4, JKRThread_NS_start@l -/* 802D1904 002CE844 7F C5 F3 78 */ mr r5, r30 -/* 802D1908 002CE848 80 1E 00 58 */ lwz r0, 0x58(r30) -/* 802D190C 002CE84C 7C C0 3A 14 */ add r6, r0, r7 -/* 802D1910 002CE850 7F E8 FB 78 */ mr r8, r31 -/* 802D1914 002CE854 39 20 00 01 */ li r9, 1 -/* 802D1918 002CE858 48 06 F9 75 */ bl OSCreateThread -/* 802D191C 002CE85C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1920 002CE860 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D1924 002CE864 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1928 002CE868 7C 08 03 A6 */ mtlr r0 -/* 802D192C 002CE86C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1930 002CE870 4E 80 00 20 */ blr -.global JKRThread_NS_start -JKRThread_NS_start: -/* 802D1934 002CE874 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1938 002CE878 7C 08 02 A6 */ mflr r0 -/* 802D193C 002CE87C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1940 002CE880 81 83 00 00 */ lwz r12, 0(r3) -/* 802D1944 002CE884 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802D1948 002CE888 7D 89 03 A6 */ mtctr r12 -/* 802D194C 002CE88C 4E 80 04 21 */ bctrl -/* 802D1950 002CE890 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1954 002CE894 7C 08 03 A6 */ mtlr r0 -/* 802D1958 002CE898 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D195C 002CE89C 4E 80 00 20 */ blr - -.global JKRThread_NS_searchThread -JKRThread_NS_searchThread: -/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, lbl_8043428C@ha -/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, lbl_8043428C@l -/* 802D1968 002CE8A8 80 84 00 00 */ lwz r4, 0(r4) -/* 802D196C 002CE8AC 48 00 00 20 */ b lbl_802D198C -lbl_802D1970: -/* 802D1970 002CE8B0 80 A4 00 00 */ lwz r5, 0(r4) -/* 802D1974 002CE8B4 80 05 00 2C */ lwz r0, 0x2c(r5) -/* 802D1978 002CE8B8 7C 00 18 40 */ cmplw r0, r3 -/* 802D197C 002CE8BC 40 82 00 0C */ bne lbl_802D1988 -/* 802D1980 002CE8C0 7C A3 2B 78 */ mr r3, r5 -/* 802D1984 002CE8C4 4E 80 00 20 */ blr -lbl_802D1988: -/* 802D1988 002CE8C8 80 84 00 0C */ lwz r4, 0xc(r4) -lbl_802D198C: -/* 802D198C 002CE8CC 28 04 00 00 */ cmplwi r4, 0 -/* 802D1990 002CE8D0 40 82 FF E0 */ bne lbl_802D1970 -/* 802D1994 002CE8D4 38 60 00 00 */ li r3, 0 -/* 802D1998 002CE8D8 4E 80 00 20 */ blr - -.global JKRThreadSwitch -JKRThreadSwitch: -/* 802D199C 002CE8DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D19A0 002CE8E0 7C 08 02 A6 */ mflr r0 -/* 802D19A4 002CE8E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D19A8 002CE8E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D19AC 002CE8EC 7C 7F 1B 78 */ mr r31, r3 -/* 802D19B0 002CE8F0 3C 60 80 3D */ lis r3, lbl_803CC100@ha -/* 802D19B4 002CE8F4 38 03 C1 00 */ addi r0, r3, lbl_803CC100@l -/* 802D19B8 002CE8F8 90 1F 00 00 */ stw r0, 0(r31) -/* 802D19BC 002CE8FC 90 9F 00 04 */ stw r4, 4(r31) -.global JKRThreadSwitch_NS_callback -/* 802D19C0 002CE900 3C 60 80 2D */ lis r3, JKRThreadSwitch_NS_callback@ha -.global JKRThreadSwitch_NS_callback -/* 802D19C4 002CE904 38 63 1A E4 */ addi r3, r3, JKRThreadSwitch_NS_callback@l -/* 802D19C8 002CE908 48 06 F0 E1 */ bl OSSetSwitchThreadCallback -/* 802D19CC 002CE90C 38 60 00 00 */ li r3, 0 -/* 802D19D0 002CE910 90 7F 00 0C */ stw r3, 0xc(r31) -/* 802D19D4 002CE914 38 00 00 01 */ li r0, 1 -/* 802D19D8 002CE918 90 1F 00 10 */ stw r0, 0x10(r31) -/* 802D19DC 002CE91C 90 7F 00 1C */ stw r3, 0x1c(r31) -/* 802D19E0 002CE920 90 7F 00 18 */ stw r3, 0x18(r31) -/* 802D19E4 002CE924 90 6D 8E 34 */ stw r3, lbl_804513B4-_SDA_BASE_(r13) -/* 802D19E8 002CE928 90 6D 8E 3C */ stw r3, lbl_804513BC-_SDA_BASE_(r13) -/* 802D19EC 002CE92C 90 6D 8E 38 */ stw r3, lbl_804513B8-_SDA_BASE_(r13) -/* 802D19F0 002CE930 90 7F 00 20 */ stw r3, 0x20(r31) -/* 802D19F4 002CE934 90 7F 00 24 */ stw r3, 0x24(r31) -/* 802D19F8 002CE938 98 1F 00 08 */ stb r0, 8(r31) -/* 802D19FC 002CE93C 7F E3 FB 78 */ mr r3, r31 -/* 802D1A00 002CE940 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1A04 002CE944 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1A08 002CE948 7C 08 03 A6 */ mtlr r0 -/* 802D1A0C 002CE94C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1A10 002CE950 4E 80 00 20 */ blr - -.global JKRThreadSwitch_NS_createManager -JKRThreadSwitch_NS_createManager: -/* 802D1A14 002CE954 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1A18 002CE958 7C 08 02 A6 */ mflr r0 -/* 802D1A1C 002CE95C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1A20 002CE960 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1A24 002CE964 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D1A28 002CE968 40 82 00 08 */ bne lbl_802D1A30 -/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13) -lbl_802D1A30: -/* 802D1A30 002CE970 38 60 00 28 */ li r3, 0x28 -/* 802D1A34 002CE974 7F E4 FB 78 */ mr r4, r31 -/* 802D1A38 002CE978 38 A0 00 00 */ li r5, 0 -/* 802D1A3C 002CE97C 4B FF D2 5D */ bl __nw__FUlP7JKRHeapi -/* 802D1A40 002CE980 7C 60 1B 79 */ or. r0, r3, r3 -/* 802D1A44 002CE984 41 82 00 10 */ beq lbl_802D1A54 -/* 802D1A48 002CE988 7F E4 FB 78 */ mr r4, r31 -/* 802D1A4C 002CE98C 4B FF FF 51 */ bl JKRThreadSwitch -/* 802D1A50 002CE990 7C 60 1B 78 */ mr r0, r3 -lbl_802D1A54: -/* 802D1A54 002CE994 90 0D 8E 30 */ stw r0, lbl_804513B0-_SDA_BASE_(r13) -/* 802D1A58 002CE998 7C 03 03 78 */ mr r3, r0 -/* 802D1A5C 002CE99C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1A60 002CE9A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1A64 002CE9A4 7C 08 03 A6 */ mtlr r0 -/* 802D1A68 002CE9A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1A6C 002CE9AC 4E 80 00 20 */ blr - -.global JKRThreadSwitch_NS_enter -JKRThreadSwitch_NS_enter: -/* 802D1A70 002CE9B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1A74 002CE9B4 7C 08 02 A6 */ mflr r0 -/* 802D1A78 002CE9B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1A7C 002CE9BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1A80 002CE9C0 93 C1 00 08 */ stw r30, 8(r1) -/* 802D1A84 002CE9C4 7C 9E 23 79 */ or. r30, r4, r4 -/* 802D1A88 002CE9C8 7C BF 2B 78 */ mr r31, r5 -/* 802D1A8C 002CE9CC 40 82 00 0C */ bne lbl_802D1A98 -/* 802D1A90 002CE9D0 38 60 00 00 */ li r3, 0 -/* 802D1A94 002CE9D4 48 00 00 38 */ b lbl_802D1ACC -lbl_802D1A98: -/* 802D1A98 002CE9D8 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802D1A9C 002CE9DC 4B FF FE C5 */ bl JKRThread_NS_searchThread -/* 802D1AA0 002CE9E0 28 03 00 00 */ cmplwi r3, 0 -/* 802D1AA4 002CE9E4 41 82 00 08 */ beq lbl_802D1AAC -/* 802D1AA8 002CE9E8 7C 7E 1B 78 */ mr r30, r3 -lbl_802D1AAC: -/* 802D1AAC 002CE9EC 38 00 00 00 */ li r0, 0 -/* 802D1AB0 002CE9F0 90 1E 00 68 */ stw r0, 0x68(r30) -/* 802D1AB4 002CE9F4 90 1E 00 64 */ stw r0, 0x64(r30) -/* 802D1AB8 002CE9F8 90 1E 00 6C */ stw r0, 0x6c(r30) -/* 802D1ABC 002CE9FC 38 00 00 01 */ li r0, 1 -/* 802D1AC0 002CEA00 98 1E 00 60 */ stb r0, 0x60(r30) -/* 802D1AC4 002CEA04 93 FE 00 70 */ stw r31, 0x70(r30) -/* 802D1AC8 002CEA08 7F C3 F3 78 */ mr r3, r30 -lbl_802D1ACC: -/* 802D1ACC 002CEA0C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1AD0 002CEA10 83 C1 00 08 */ lwz r30, 8(r1) -/* 802D1AD4 002CEA14 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1AD8 002CEA18 7C 08 03 A6 */ mtlr r0 -/* 802D1ADC 002CEA1C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1AE0 002CEA20 4E 80 00 20 */ blr -.global JKRThreadSwitch_NS_callback -JKRThreadSwitch_NS_callback: -/* 802D1AE4 002CEA24 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D1AE8 002CEA28 7C 08 02 A6 */ mflr r0 -/* 802D1AEC 002CEA2C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D1AF0 002CEA30 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D1AF4 002CEA34 48 09 06 E1 */ bl _savegpr_27 -/* 802D1AF8 002CEA38 7C 7B 1B 78 */ mr r27, r3 -/* 802D1AFC 002CEA3C 7C 9C 23 78 */ mr r28, r4 -/* 802D1B00 002CEA40 81 8D 8E 40 */ lwz r12, lbl_804513C0-_SDA_BASE_(r13) -/* 802D1B04 002CEA44 28 0C 00 00 */ cmplwi r12, 0 -/* 802D1B08 002CEA48 41 82 00 0C */ beq lbl_802D1B14 -/* 802D1B0C 002CEA4C 7D 89 03 A6 */ mtctr r12 -/* 802D1B10 002CEA50 4E 80 04 21 */ bctrl -lbl_802D1B14: -/* 802D1B14 002CEA54 80 6D 8E 34 */ lwz r3, lbl_804513B4-_SDA_BASE_(r13) -/* 802D1B18 002CEA58 38 03 00 01 */ addi r0, r3, 1 -/* 802D1B1C 002CEA5C 90 0D 8E 34 */ stw r0, lbl_804513B4-_SDA_BASE_(r13) -/* 802D1B20 002CEA60 3B A0 00 00 */ li r29, 0 -/* 802D1B24 002CEA64 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1B28 002CEA68 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) -/* 802D1B2C 002CEA6C 48 00 00 FC */ b lbl_802D1C28 -lbl_802D1B30: -/* 802D1B30 002CEA70 83 FE 00 00 */ lwz r31, 0(r30) -/* 802D1B34 002CEA74 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 802D1B38 002CEA78 7C 00 D8 40 */ cmplw r0, r27 -/* 802D1B3C 002CEA7C 40 82 00 34 */ bne lbl_802D1B70 -/* 802D1B40 002CEA80 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) -/* 802D1B44 002CEA84 28 00 00 00 */ cmplwi r0, 0 -/* 802D1B48 002CEA88 90 1F 00 74 */ stw r0, 0x74(r31) -/* 802D1B4C 002CEA8C 88 1F 00 60 */ lbz r0, 0x60(r31) -/* 802D1B50 002CEA90 28 00 00 00 */ cmplwi r0, 0 -/* 802D1B54 002CEA94 41 82 00 1C */ beq lbl_802D1B70 -/* 802D1B58 002CEA98 48 07 0B BD */ bl OSGetTick -/* 802D1B5C 002CEA9C 80 1F 00 6C */ lwz r0, 0x6c(r31) -/* 802D1B60 002CEAA0 7C 60 18 50 */ subf r3, r0, r3 -/* 802D1B64 002CEAA4 80 1F 00 64 */ lwz r0, 0x64(r31) -/* 802D1B68 002CEAA8 7C 00 1A 14 */ add r0, r0, r3 -/* 802D1B6C 002CEAAC 90 1F 00 64 */ stw r0, 0x64(r31) -lbl_802D1B70: -/* 802D1B70 002CEAB0 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 802D1B74 002CEAB4 7C 00 E0 40 */ cmplw r0, r28 -/* 802D1B78 002CEAB8 40 82 00 AC */ bne lbl_802D1C24 -/* 802D1B7C 002CEABC 88 1F 00 60 */ lbz r0, 0x60(r31) -/* 802D1B80 002CEAC0 28 00 00 00 */ cmplwi r0, 0 -/* 802D1B84 002CEAC4 41 82 00 18 */ beq lbl_802D1B9C -/* 802D1B88 002CEAC8 48 07 0B 8D */ bl OSGetTick -/* 802D1B8C 002CEACC 90 7F 00 6C */ stw r3, 0x6c(r31) -/* 802D1B90 002CEAD0 80 7F 00 68 */ lwz r3, 0x68(r31) -/* 802D1B94 002CEAD4 38 03 00 01 */ addi r0, r3, 1 -/* 802D1B98 002CEAD8 90 1F 00 68 */ stw r0, 0x68(r31) -lbl_802D1B9C: -/* 802D1B9C 002CEADC 80 6D 8E 30 */ lwz r3, lbl_804513B0-_SDA_BASE_(r13) -/* 802D1BA0 002CEAE0 88 03 00 08 */ lbz r0, 8(r3) -/* 802D1BA4 002CEAE4 28 00 00 00 */ cmplwi r0, 0 -/* 802D1BA8 002CEAE8 41 82 00 7C */ beq lbl_802D1C24 -/* 802D1BAC 002CEAEC 80 9F 00 74 */ lwz r4, 0x74(r31) -/* 802D1BB0 002CEAF0 7C 9D 23 78 */ mr r29, r4 -/* 802D1BB4 002CEAF4 28 04 00 00 */ cmplwi r4, 0 -/* 802D1BB8 002CEAF8 40 82 00 0C */ bne lbl_802D1BC4 -/* 802D1BBC 002CEAFC 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) -/* 802D1BC0 002CEB00 48 00 00 64 */ b lbl_802D1C24 -lbl_802D1BC4: -/* 802D1BC4 002CEB04 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) -/* 802D1BC8 002CEB08 4B FF CF E1 */ bl isSubHeap__7JKRHeapCFP7JKRHeap -/* 802D1BCC 002CEB0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802D1BD0 002CEB10 40 82 00 54 */ bne lbl_802D1C24 -/* 802D1BD4 002CEB14 80 1F 00 78 */ lwz r0, 0x78(r31) -/* 802D1BD8 002CEB18 2C 00 00 02 */ cmpwi r0, 2 -/* 802D1BDC 002CEB1C 41 82 00 3C */ beq lbl_802D1C18 -/* 802D1BE0 002CEB20 40 80 00 14 */ bge lbl_802D1BF4 -/* 802D1BE4 002CEB24 2C 00 00 00 */ cmpwi r0, 0 -/* 802D1BE8 002CEB28 41 82 00 3C */ beq lbl_802D1C24 -/* 802D1BEC 002CEB2C 40 80 00 14 */ bge lbl_802D1C00 -/* 802D1BF0 002CEB30 48 00 00 34 */ b lbl_802D1C24 -lbl_802D1BF4: -/* 802D1BF4 002CEB34 2C 00 00 04 */ cmpwi r0, 4 -/* 802D1BF8 002CEB38 40 80 00 2C */ bge lbl_802D1C24 -/* 802D1BFC 002CEB3C 48 00 00 24 */ b lbl_802D1C20 -lbl_802D1C00: -/* 802D1C00 002CEB40 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha -/* 802D1C04 002CEB44 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l -/* 802D1C08 002CEB48 38 63 00 34 */ addi r3, r3, 0x34 -/* 802D1C0C 002CEB4C 48 01 6A F1 */ bl JUTWarningConsole -/* 802D1C10 002CEB50 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) -/* 802D1C14 002CEB54 48 00 00 10 */ b lbl_802D1C24 -lbl_802D1C18: -/* 802D1C18 002CEB58 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) -/* 802D1C1C 002CEB5C 48 00 00 08 */ b lbl_802D1C24 -lbl_802D1C20: -/* 802D1C20 002CEB60 83 AD 8D F0 */ lwz r29, lbl_80451370-_SDA_BASE_(r13) -lbl_802D1C24: -/* 802D1C24 002CEB64 83 DE 00 0C */ lwz r30, 0xc(r30) -lbl_802D1C28: -/* 802D1C28 002CEB68 28 1E 00 00 */ cmplwi r30, 0 -/* 802D1C2C 002CEB6C 40 82 FF 04 */ bne lbl_802D1B30 -/* 802D1C30 002CEB70 28 1D 00 00 */ cmplwi r29, 0 -/* 802D1C34 002CEB74 41 82 00 0C */ beq lbl_802D1C40 -/* 802D1C38 002CEB78 7F A3 EB 78 */ mr r3, r29 -/* 802D1C3C 002CEB7C 4B FF C7 FD */ bl becomeCurrentHeap__7JKRHeapFv -lbl_802D1C40: -/* 802D1C40 002CEB80 81 8D 8E 44 */ lwz r12, lbl_804513C4-_SDA_BASE_(r13) -/* 802D1C44 002CEB84 28 0C 00 00 */ cmplwi r12, 0 -/* 802D1C48 002CEB88 41 82 00 14 */ beq lbl_802D1C5C -/* 802D1C4C 002CEB8C 7F 63 DB 78 */ mr r3, r27 -/* 802D1C50 002CEB90 7F 84 E3 78 */ mr r4, r28 -/* 802D1C54 002CEB94 7D 89 03 A6 */ mtctr r12 -/* 802D1C58 002CEB98 4E 80 04 21 */ bctrl -lbl_802D1C5C: -/* 802D1C5C 002CEB9C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D1C60 002CEBA0 48 09 05 C1 */ bl _restgpr_27 -/* 802D1C64 002CEBA4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D1C68 002CEBA8 7C 08 03 A6 */ mtlr r0 -/* 802D1C6C 002CEBAC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D1C70 002CEBB0 4E 80 00 20 */ blr -/* 802D1C74 002CEBB4 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 802D1C78 002CEBB8 7C 08 02 A6 */ mflr r0 -/* 802D1C7C 002CEBBC 90 01 00 54 */ stw r0, 0x54(r1) -/* 802D1C80 002CEBC0 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 802D1C84 002CEBC4 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 -/* 802D1C88 002CEBC8 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D1C8C 002CEBCC 48 09 05 41 */ bl func_803621CC -/* 802D1C90 002CEBD0 7C 7A 1B 78 */ mr r26, r3 -/* 802D1C94 002CEBD4 7C 9B 23 78 */ mr r27, r4 -/* 802D1C98 002CEBD8 7C BC 2B 79 */ or. r28, r5, r5 -/* 802D1C9C 002CEBDC 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha -/* 802D1CA0 002CEBE0 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l -/* 802D1CA4 002CEBE4 3B 23 00 5D */ addi r25, r3, 0x5d -/* 802D1CA8 002CEBE8 3B A3 00 7F */ addi r29, r3, 0x7f -/* 802D1CAC 002CEBEC 41 82 00 34 */ beq lbl_802D1CE0 -/* 802D1CB0 002CEBF0 7F 83 E3 78 */ mr r3, r28 -/* 802D1CB4 002CEBF4 48 01 59 39 */ bl JUTConsole_NS_clear -/* 802D1CB8 002CEBF8 7F 83 E3 78 */ mr r3, r28 -/* 802D1CBC 002CEBFC 7F 24 CB 78 */ mr r4, r25 -/* 802D1CC0 002CEC00 80 AD 8E 34 */ lwz r5, lbl_804513B4-_SDA_BASE_(r13) -/* 802D1CC4 002CEC04 80 DA 00 1C */ lwz r6, 0x1c(r26) -/* 802D1CC8 002CEC08 80 FA 00 10 */ lwz r7, 0x10(r26) -/* 802D1CCC 002CEC0C 4C C6 31 82 */ crclr 6 -/* 802D1CD0 002CEC10 48 01 5E E9 */ bl JUTConsole_NS_print_f -/* 802D1CD4 002CEC14 7F 83 E3 78 */ mr r3, r28 -/* 802D1CD8 002CEC18 7F A4 EB 78 */ mr r4, r29 -/* 802D1CDC 002CEC1C 48 01 5F 5D */ bl JUTConsole_NS_print -lbl_802D1CE0: -/* 802D1CE0 002CEC20 3C 60 80 43 */ lis r3, lbl_8043428C@ha -/* 802D1CE4 002CEC24 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) -/* 802D1CE8 002CEC28 48 00 01 04 */ b lbl_802D1DEC -lbl_802D1CEC: -/* 802D1CEC 002CEC2C 83 3E 00 00 */ lwz r25, 0(r30) -/* 802D1CF0 002CEC30 88 19 00 60 */ lbz r0, 0x60(r25) -/* 802D1CF4 002CEC34 28 00 00 00 */ cmplwi r0, 0 -/* 802D1CF8 002CEC38 41 82 00 F0 */ beq lbl_802D1DE8 -/* 802D1CFC 002CEC3C 3B A0 00 00 */ li r29, 0 -/* 802D1D00 002CEC40 28 1B 00 00 */ cmplwi r27, 0 -/* 802D1D04 002CEC44 41 82 00 34 */ beq lbl_802D1D38 -/* 802D1D08 002CEC48 7F 65 DB 78 */ mr r5, r27 -/* 802D1D0C 002CEC4C 48 00 00 20 */ b lbl_802D1D2C -lbl_802D1D10: -/* 802D1D10 002CEC50 80 65 00 00 */ lwz r3, 0(r5) -/* 802D1D14 002CEC54 80 19 00 70 */ lwz r0, 0x70(r25) -/* 802D1D18 002CEC58 7C 03 00 00 */ cmpw r3, r0 -/* 802D1D1C 002CEC5C 40 82 00 0C */ bne lbl_802D1D28 -/* 802D1D20 002CEC60 7C 9D 23 78 */ mr r29, r4 -/* 802D1D24 002CEC64 48 00 00 14 */ b lbl_802D1D38 -lbl_802D1D28: -/* 802D1D28 002CEC68 38 A5 00 08 */ addi r5, r5, 8 -lbl_802D1D2C: -/* 802D1D2C 002CEC6C 80 85 00 04 */ lwz r4, 4(r5) -/* 802D1D30 002CEC70 28 04 00 00 */ cmplwi r4, 0 -/* 802D1D34 002CEC74 40 82 FF DC */ bne lbl_802D1D10 -lbl_802D1D38: -/* 802D1D38 002CEC78 28 1D 00 00 */ cmplwi r29, 0 -/* 802D1D3C 002CEC7C 40 82 00 24 */ bne lbl_802D1D60 -/* 802D1D40 002CEC80 38 61 00 08 */ addi r3, r1, 8 -/* 802D1D44 002CEC84 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha -/* 802D1D48 002CEC88 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l -/* 802D1D4C 002CEC8C 38 84 00 A7 */ addi r4, r4, 0xa7 -/* 802D1D50 002CEC90 80 B9 00 70 */ lwz r5, 0x70(r25) -/* 802D1D54 002CEC94 4C C6 31 82 */ crclr 6 -/* 802D1D58 002CEC98 48 09 47 85 */ bl func_803664DC -/* 802D1D5C 002CEC9C 3B A1 00 08 */ addi r29, r1, 8 -lbl_802D1D60: -/* 802D1D60 002CECA0 83 F9 00 68 */ lwz r31, 0x68(r25) -/* 802D1D64 002CECA4 80 7A 00 18 */ lwz r3, 0x18(r26) -/* 802D1D68 002CECA8 80 9A 00 1C */ lwz r4, 0x1c(r26) -/* 802D1D6C 002CECAC 48 09 09 51 */ bl func_803626BC -/* 802D1D70 002CECB0 80 19 00 64 */ lwz r0, 0x64(r25) -/* 802D1D74 002CECB4 C8 42 C5 C8 */ lfd f2, lbl_80455FC8-_SDA2_BASE_(r2) -/* 802D1D78 002CECB8 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802D1D7C 002CECBC 3C 00 43 30 */ lis r0, 0x4330 -/* 802D1D80 002CECC0 90 01 00 18 */ stw r0, 0x18(r1) -/* 802D1D84 002CECC4 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 802D1D88 002CECC8 EC 00 10 28 */ fsubs f0, f0, f2 -/* 802D1D8C 002CECCC EF E0 08 24 */ fdivs f31, f0, f1 -/* 802D1D90 002CECD0 C0 02 C5 C0 */ lfs f0, lbl_80455FC0-_SDA2_BASE_(r2) -/* 802D1D94 002CECD4 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 802D1D98 002CECD8 48 09 03 15 */ bl func_803620AC -/* 802D1D9C 002CECDC 7C 79 1B 78 */ mr r25, r3 -/* 802D1DA0 002CECE0 C0 02 C5 C4 */ lfs f0, lbl_80455FC4-_SDA2_BASE_(r2) -/* 802D1DA4 002CECE4 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 802D1DA8 002CECE8 48 09 03 05 */ bl func_803620AC -/* 802D1DAC 002CECEC 38 80 00 0A */ li r4, 0xa -/* 802D1DB0 002CECF0 7C 03 23 96 */ divwu r0, r3, r4 -/* 802D1DB4 002CECF4 7C 00 21 D6 */ mullw r0, r0, r4 -/* 802D1DB8 002CECF8 7D 00 18 50 */ subf r8, r0, r3 -/* 802D1DBC 002CECFC 28 1C 00 00 */ cmplwi r28, 0 -/* 802D1DC0 002CED00 41 82 00 28 */ beq lbl_802D1DE8 -/* 802D1DC4 002CED04 7F 83 E3 78 */ mr r3, r28 -/* 802D1DC8 002CED08 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha -/* 802D1DCC 002CED0C 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l -/* 802D1DD0 002CED10 38 84 00 AA */ addi r4, r4, 0xaa -/* 802D1DD4 002CED14 7F A5 EB 78 */ mr r5, r29 -/* 802D1DD8 002CED18 7F E6 FB 78 */ mr r6, r31 -/* 802D1DDC 002CED1C 7F 27 CB 78 */ mr r7, r25 -/* 802D1DE0 002CED20 4C C6 31 82 */ crclr 6 -/* 802D1DE4 002CED24 48 01 5D D5 */ bl JUTConsole_NS_print_f -lbl_802D1DE8: -/* 802D1DE8 002CED28 83 DE 00 0C */ lwz r30, 0xc(r30) -lbl_802D1DEC: -/* 802D1DEC 002CED2C 28 1E 00 00 */ cmplwi r30, 0 -/* 802D1DF0 002CED30 40 82 FE FC */ bne lbl_802D1CEC -/* 802D1DF4 002CED34 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 -/* 802D1DF8 002CED38 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802D1DFC 002CED3C 39 61 00 40 */ addi r11, r1, 0x40 -/* 802D1E00 002CED40 48 09 04 19 */ bl func_80362218 -/* 802D1E04 002CED44 80 01 00 54 */ lwz r0, 0x54(r1) -/* 802D1E08 002CED48 7C 08 03 A6 */ mtlr r0 -/* 802D1E0C 002CED4C 38 21 00 50 */ addi r1, r1, 0x50 -/* 802D1E10 002CED50 4E 80 00 20 */ blr -/* 802D1E14 002CED54 38 60 00 00 */ li r3, 0 -/* 802D1E18 002CED58 4E 80 00 20 */ blr -/* 802D1E1C 002CED5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1E20 002CED60 7C 08 02 A6 */ mflr r0 -/* 802D1E24 002CED64 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1E28 002CED68 38 A0 00 00 */ li r5, 0 -/* 802D1E2C 002CED6C 81 83 00 00 */ lwz r12, 0(r3) -/* 802D1E30 002CED70 81 8C 00 08 */ lwz r12, 8(r12) -/* 802D1E34 002CED74 7D 89 03 A6 */ mtctr r12 -/* 802D1E38 002CED78 4E 80 04 21 */ bctrl -/* 802D1E3C 002CED7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1E40 002CED80 7C 08 03 A6 */ mtlr r0 -/* 802D1E44 002CED84 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1E48 002CED88 4E 80 00 20 */ blr -/* 802D1E4C 002CED8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802D1E50 002CED90 7C 08 02 A6 */ mflr r0 -/* 802D1E54 002CED94 90 01 00 14 */ stw r0, 0x14(r1) -/* 802D1E58 002CED98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802D1E5C 002CED9C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802D1E60 002CEDA0 41 82 00 1C */ beq lbl_802D1E7C -/* 802D1E64 002CEDA4 3C A0 80 3D */ lis r5, lbl_803CC100@ha -/* 802D1E68 002CEDA8 38 05 C1 00 */ addi r0, r5, lbl_803CC100@l -/* 802D1E6C 002CEDAC 90 1F 00 00 */ stw r0, 0(r31) -/* 802D1E70 002CEDB0 7C 80 07 35 */ extsh. r0, r4 -/* 802D1E74 002CEDB4 40 81 00 08 */ ble lbl_802D1E7C -/* 802D1E78 002CEDB8 4B FF CE C5 */ bl __dl__FPv -lbl_802D1E7C: -/* 802D1E7C 002CEDBC 7F E3 FB 78 */ mr r3, r31 -/* 802D1E80 002CEDC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802D1E84 002CEDC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802D1E88 002CEDC8 7C 08 03 A6 */ mtlr r0 -/* 802D1E8C 002CEDCC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802D1E90 002CEDD0 4E 80 00 20 */ blr +.global __sinit_JKRThread_cpp +__sinit_JKRThread_cpp: /* 802D1E94 002CEDD4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802D1E98 002CEDD8 7C 08 02 A6 */ mflr r0 /* 802D1E9C 002CEDDC 90 01 00 14 */ stw r0, 0x14(r1) @@ -694,6 +34,7 @@ lbl_802D1E7C: /* 802D1EF0 002CEE30 7C 08 03 A6 */ mtlr r0 /* 802D1EF4 002CEE34 38 21 00 10 */ addi r1, r1, 0x10 /* 802D1EF8 002CEE38 4E 80 00 20 */ blr + .global JSUList_NS_dtor_X2_ JSUList_NS_dtor_X2_: /* 802D1EFC 002CEE3C 94 21 FF F0 */ stwu r1, -0x10(r1) @@ -718,6 +59,7 @@ lbl_802D1F34: /* 802D1F44 002CEE84 7C 08 03 A6 */ mtlr r0 /* 802D1F48 002CEE88 38 21 00 10 */ addi r1, r1, 0x10 /* 802D1F4C 002CEE8C 4E 80 00 20 */ blr + .global JSUList_NS_dtor_X3_ JSUList_NS_dtor_X3_: /* 802D1F50 002CEE90 94 21 FF F0 */ stwu r1, -0x10(r1) diff --git a/asm/JUtility/JUTException.s b/asm/JUtility/JUTException.s index baf9bd3e92..fd1bcc4e93 100644 --- a/asm/JUtility/JUTException.s +++ b/asm/JUtility/JUTException.s @@ -15,7 +15,7 @@ JUTException: /* 802E1D78 002DECB8 38 80 1C 00 */ li r4, 0x1c00 /* 802E1D7C 002DECBC 38 A0 00 10 */ li r5, 0x10 /* 802E1D80 002DECC0 38 C0 00 00 */ li r6, 0 -/* 802E1D84 002DECC4 4B FE F7 E5 */ bl JKRThread +/* 802E1D84 002DECC4 4B FE F7 E5 */ bl __ct__9JKRThreadFUlii /* 802E1D88 002DECC8 3C 60 80 3D */ lis r3, lbl_803CC6A4@ha /* 802E1D8C 002DECCC 38 03 C6 A4 */ addi r0, r3, lbl_803CC6A4@l /* 802E1D90 002DECD0 90 1E 00 00 */ stw r0, 0(r30) @@ -2593,7 +2593,7 @@ JUTExternalFB: /* 802E4110 002E1050 38 04 C6 A4 */ addi r0, r4, lbl_803CC6A4@l /* 802E4114 002E1054 90 1E 00 00 */ stw r0, 0(r30) /* 802E4118 002E1058 38 80 00 00 */ li r4, 0 -/* 802E411C 002E105C 4B FE D6 3D */ bl JKRThread_NS_dtor +/* 802E411C 002E105C 4B FE D6 3D */ bl __dt__9JKRThreadFv /* 802E4120 002E1060 7F E0 07 35 */ extsh. r0, r31 /* 802E4124 002E1064 40 81 00 0C */ ble lbl_802E4130 /* 802E4128 002E1068 7F C3 F3 78 */ mr r3, r30 diff --git a/asm/JUtility/JUTResource.s b/asm/JUtility/JUTResource.s index 644d62d9b6..77b0f1c4c4 100644 --- a/asm/JUtility/JUTResource.s +++ b/asm/JUtility/JUTResource.s @@ -117,16 +117,16 @@ lbl_802DE1F0: lbl_802DE1FC: /* 802DE1FC 002DB13C 7C 83 23 78 */ mr r3, r4 /* 802DE200 002DB140 38 86 00 02 */ addi r4, r6, 2 -/* 802DE204 002DB144 4B FF 79 35 */ bl JKRArchive_NS_getGlbResource +/* 802DE204 002DB144 4B FF 79 35 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 802DE208 002DB148 48 00 00 1C */ b lbl_802DE224 lbl_802DE20C: /* 802DE20C 002DB14C 38 66 00 02 */ addi r3, r6, 2 /* 802DE210 002DB150 7C A4 2B 78 */ mr r4, r5 -/* 802DE214 002DB154 4B FF 60 5D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802DE214 002DB154 4B FF 60 5D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802DE218 002DB158 48 00 00 0C */ b lbl_802DE224 lbl_802DE21C: /* 802DE21C 002DB15C 38 66 00 02 */ addi r3, r6, 2 -/* 802DE220 002DB160 4B FF 60 05 */ bl JKRFileLoader_NS_getGlbResource +/* 802DE220 002DB160 4B FF 60 05 */ bl getGlbResource__13JKRFileLoaderFPCc lbl_802DE224: /* 802DE224 002DB164 80 01 00 14 */ lwz r0, 0x14(r1) /* 802DE228 002DB168 7C 08 03 A6 */ mtlr r0 diff --git a/asm/Z2AudioLib/Z2AudioArcLoader.s b/asm/Z2AudioLib/Z2AudioArcLoader.s index fb0b307066..6afbd0dda2 100644 --- a/asm/Z2AudioLib/Z2AudioArcLoader.s +++ b/asm/Z2AudioLib/Z2AudioArcLoader.s @@ -67,7 +67,7 @@ lbl_802A9B04: /* 802A9B04 002A6A44 7F A3 EB 78 */ mr r3, r29 /* 802A9B08 002A6A48 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) /* 802A9B0C 002A6A4C 38 A0 00 02 */ li r5, 2 -/* 802A9B10 002A6A50 48 02 BD 31 */ bl JKRArchive_NS_mount_X1_ +/* 802A9B10 002A6A50 48 02 BD 31 */ bl mount__10JKRArchiveFPvP7JKRHeapQ210JKRArchive15EMountDirection /* 802A9B14 002A6A54 7C 7E 1B 78 */ mr r30, r3 /* 802A9B18 002A6A58 80 6D 85 C0 */ lwz r3, lbl_80450B40-_SDA_BASE_(r13) /* 802A9B1C 002A6A5C 7F C4 F3 78 */ mr r4, r30 diff --git a/asm/Z2AudioLib/Z2FxLineMgr.s b/asm/Z2AudioLib/Z2FxLineMgr.s index 8a7b3901b8..09c7d70d64 100644 --- a/asm/Z2AudioLib/Z2FxLineMgr.s +++ b/asm/Z2AudioLib/Z2FxLineMgr.s @@ -45,7 +45,7 @@ Z2FxLineMgr_NS_initDataArc: /* 802BA864 002B77A4 48 01 44 AD */ bl __nwa__FUlP7JKRHeapi /* 802BA868 002B77A8 90 77 00 10 */ stw r3, 0x10(r23) /* 802BA86C 002B77AC 7F 03 C3 78 */ mr r3, r24 -/* 802BA870 002B77B0 48 01 B8 9D */ bl JKRArchive_NS_countResource +/* 802BA870 002B77B0 48 01 B8 9D */ bl countResource__10JKRArchiveCFv /* 802BA874 002B77B4 98 77 00 15 */ stb r3, 0x15(r23) /* 802BA878 002B77B8 88 17 00 15 */ lbz r0, 0x15(r23) /* 802BA87C 002B77BC 1C 60 00 30 */ mulli r3, r0, 0x30 @@ -67,7 +67,7 @@ Z2FxLineMgr_NS_initDataArc: lbl_802BA8BC: /* 802BA8BC 002B77FC 7F 03 C3 78 */ mr r3, r24 /* 802BA8C0 002B7800 57 44 06 3E */ clrlwi r4, r26, 0x18 -/* 802BA8C4 002B7804 48 01 B4 75 */ bl JKRArchive_NS_getResource_X2_ +/* 802BA8C4 002B7804 48 01 B4 75 */ bl getResource__10JKRArchiveFUs /* 802BA8C8 002B7808 7C 79 1B 78 */ mr r25, r3 /* 802BA8CC 002B780C 7F 03 C3 78 */ mr r3, r24 /* 802BA8D0 002B7810 7F 24 CB 78 */ mr r4, r25 diff --git a/asm/c/c_dylink.s b/asm/c/c_dylink.s index 51f0604f30..c659bbc9cd 100644 --- a/asm/c/c_dylink.s +++ b/asm/c/c_dylink.s @@ -15,7 +15,7 @@ cCc_Init: /* 800183F8 00015338 3C 60 00 01 */ lis r3, 0x00008820@ha /* 800183FC 0001533C 38 63 88 20 */ addi r3, r3, 0x00008820@l /* 80018400 00015340 38 A0 00 00 */ li r5, 0 -/* 80018404 00015344 48 2B 86 21 */ bl JKRSolidHeap_NS_create +/* 80018404 00015344 48 2B 86 21 */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 80018408 00015348 7C 7E 1B 78 */ mr r30, r3 /* 8001840C 0001534C 48 2B 60 2D */ bl becomeCurrentHeap__7JKRHeapFv /* 80018410 00015350 7C 7D 1B 78 */ mr r29, r3 @@ -89,7 +89,7 @@ lbl_80018500: /* 80018508 00015448 3B 5A 00 08 */ addi r26, r26, 8 /* 8001850C 0001544C 41 80 FF 2C */ blt lbl_80018438 /* 80018510 00015450 7F C3 F3 78 */ mr r3, r30 -/* 80018514 00015454 48 2B 86 E1 */ bl JKRSolidHeap_NS_adjustSize +/* 80018514 00015454 48 2B 86 E1 */ bl adjustSize__12JKRSolidHeapFv /* 80018518 00015458 7F A3 EB 78 */ mr r3, r29 /* 8001851C 0001545C 48 2B 5F 1D */ bl becomeCurrentHeap__7JKRHeapFv /* 80018520 00015460 38 00 00 01 */ li r0, 1 @@ -213,16 +213,16 @@ cDyl_InitCallback: /* 800186A8 000155E8 38 63 5D E8 */ addi r3, r3, lbl_80375DE8@l /* 800186AC 000155EC 38 63 2A 56 */ addi r3, r3, 0x2a56 /* 800186B0 000155F0 38 A0 00 00 */ li r5, 0 -/* 800186B4 000155F4 48 2B C3 01 */ bl JKRFileCache_NS_mount +/* 800186B4 000155F4 48 2B C3 01 */ bl mount__12JKRFileCacheFPCcP7JKRHeapPCc /* 800186B8 000155F8 7C 7F 1B 78 */ mr r31, r3 /* 800186BC 000155FC 48 24 A0 A1 */ bl DynamicModuleControl_NS_initialize /* 800186C0 00015600 3C 60 80 37 */ lis r3, lbl_80375DE8@ha /* 800186C4 00015604 38 63 5D E8 */ addi r3, r3, lbl_80375DE8@l /* 800186C8 00015608 38 63 2A 58 */ addi r3, r3, 0x2a58 -/* 800186CC 0001560C 48 2B BB 59 */ bl JKRFileLoader_NS_getGlbResource +/* 800186CC 0001560C 48 2B BB 59 */ bl getGlbResource__13JKRFileLoaderFPCc /* 800186D0 00015610 7C 7E 1B 78 */ mr r30, r3 /* 800186D4 00015614 7F E4 FB 78 */ mr r4, r31 -/* 800186D8 00015618 48 2B BC C9 */ bl JKRFileLoader_NS_detachResource +/* 800186D8 00015618 48 2B BC C9 */ bl detachResource__13JKRFileLoaderFPvP13JKRFileLoader /* 800186DC 0001561C 7F E3 FB 78 */ mr r3, r31 /* 800186E0 00015620 81 9F 00 00 */ lwz r12, 0(r31) /* 800186E4 00015624 81 8C 00 0C */ lwz r12, 0xc(r12) diff --git a/asm/clib.s b/asm/clib.s index a0ea811b5f..cb0a255e59 100644 --- a/asm/clib.s +++ b/asm/clib.s @@ -624,6 +624,8 @@ func_80362210: func_80362214: /* 80362214 0035F154 83 0B FF E0 */ lwz r24, -0x20(r11) +.global _restgpr_25 +_restgpr_25: .global func_80362218 func_80362218: /* 80362218 0035F158 83 2B FF E4 */ lwz r25, -0x1c(r11) diff --git a/asm/d/a/d_a_alink.s b/asm/d/a/d_a_alink.s index 38bf9c92ff..4f3924bc99 100644 --- a/asm/d/a/d_a_alink.s +++ b/asm/d/a/d_a_alink.s @@ -7842,7 +7842,7 @@ lbl_800A46F4: /* 800A4700 000A1640 80 9F 21 4C */ lwz r4, 0x214c(r31) /* 800A4704 000A1644 38 A0 0C 00 */ li r5, 0xc00 /* 800A4708 000A1648 38 C0 00 E8 */ li r6, 0xe8 -/* 800A470C 000A164C 48 23 17 C1 */ bl JKRArchive_NS_readIdxResource +/* 800A470C 000A164C 48 23 17 C1 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 800A4710 000A1650 80 7F 21 4C */ lwz r3, 0x214c(r31) /* 800A4714 000A1654 38 80 00 00 */ li r4, 0 /* 800A4718 000A1658 48 29 34 29 */ bl J3DAnmLoaderDataBase_NS_load @@ -39193,7 +39193,7 @@ daAlink_c_NS_loadAramBmd: /* 800BFE84 000BCDC4 7F C4 F3 78 */ mr r4, r30 /* 800BFE88 000BCDC8 7F A5 EB 78 */ mr r5, r29 /* 800BFE8C 000BCDCC 57 86 04 3E */ clrlwi r6, r28, 0x10 -/* 800BFE90 000BCDD0 48 21 60 3D */ bl JKRArchive_NS_readIdxResource +/* 800BFE90 000BCDD0 48 21 60 3D */ bl readIdxResource__10JKRArchiveFPvUlUl /* 800BFE94 000BCDD4 3C 60 42 4D */ lis r3, 0x424D5752@ha /* 800BFE98 000BCDD8 38 63 57 52 */ addi r3, r3, 0x424D5752@l /* 800BFE9C 000BCDDC 80 DF 00 48 */ lwz r6, 0x48(r31) @@ -39245,7 +39245,7 @@ daAlink_c_NS_loadAram: /* 800BFF3C 000BCE7C 7F E4 FB 78 */ mr r4, r31 /* 800BFF40 000BCE80 7F C5 F3 78 */ mr r5, r30 /* 800BFF44 000BCE84 57 A6 04 3E */ clrlwi r6, r29, 0x10 -/* 800BFF48 000BCE88 48 21 5F 85 */ bl JKRArchive_NS_readIdxResource +/* 800BFF48 000BCE88 48 21 5F 85 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 800BFF4C 000BCE8C 7F E3 FB 78 */ mr r3, r31 /* 800BFF50 000BCE90 38 80 00 00 */ li r4, 0 /* 800BFF54 000BCE94 48 27 7B ED */ bl J3DAnmLoaderDataBase_NS_load @@ -154647,7 +154647,7 @@ lbl_80125F90: /* 80125FB4 00122EF4 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80125FB8 00122EF8 38 63 01 9D */ addi r3, r3, 0x19d /* 80125FBC 00122EFC 7F E4 FB 78 */ mr r4, r31 -/* 80125FC0 00122F00 48 1A E2 B1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80125FC0 00122F00 48 1A E2 B1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80125FC4 00122F04 48 1E 2A A9 */ bl J2DAnmLoaderDataBase_NS_load /* 80125FC8 00122F08 90 7E 00 24 */ stw r3, 0x24(r30) /* 80125FCC 00122F0C 80 1E 00 24 */ lwz r0, 0x24(r30) @@ -154660,7 +154660,7 @@ lbl_80125FE0: /* 80125FE4 00122F24 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80125FE8 00122F28 38 63 01 BB */ addi r3, r3, 0x1bb /* 80125FEC 00122F2C 7F E4 FB 78 */ mr r4, r31 -/* 80125FF0 00122F30 48 1A E2 81 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80125FF0 00122F30 48 1A E2 81 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80125FF4 00122F34 48 1E 2A 79 */ bl J2DAnmLoaderDataBase_NS_load /* 80125FF8 00122F38 90 7E 00 28 */ stw r3, 0x28(r30) /* 80125FFC 00122F3C 80 1E 00 28 */ lwz r0, 0x28(r30) @@ -154673,7 +154673,7 @@ lbl_80126010: /* 80126014 00122F54 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80126018 00122F58 38 63 01 D9 */ addi r3, r3, 0x1d9 /* 8012601C 00122F5C 7F E4 FB 78 */ mr r4, r31 -/* 80126020 00122F60 48 1A E2 51 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80126020 00122F60 48 1A E2 51 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80126024 00122F64 48 1E 2A 49 */ bl J2DAnmLoaderDataBase_NS_load /* 80126028 00122F68 90 7E 00 1C */ stw r3, 0x1c(r30) /* 8012602C 00122F6C 80 1E 00 1C */ lwz r0, 0x1c(r30) @@ -154686,7 +154686,7 @@ lbl_80126040: /* 80126044 00122F84 38 63 20 94 */ addi r3, r3, lbl_80392094@l /* 80126048 00122F88 38 63 01 FA */ addi r3, r3, 0x1fa /* 8012604C 00122F8C 7F E4 FB 78 */ mr r4, r31 -/* 80126050 00122F90 48 1A E2 21 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80126050 00122F90 48 1A E2 21 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80126054 00122F94 48 1E 2A 19 */ bl J2DAnmLoaderDataBase_NS_load /* 80126058 00122F98 90 7E 00 20 */ stw r3, 0x20(r30) /* 8012605C 00122F9C 80 1E 00 20 */ lwz r0, 0x20(r30) @@ -183898,7 +183898,7 @@ daAlink_c_NS_setOriginalHeap: /* 8014000C 0013CF4C 54 03 00 36 */ rlwinm r3, r0, 0, 0, 0x1b /* 80140010 0013CF50 38 63 00 A0 */ addi r3, r3, 0xa0 /* 80140014 0013CF54 38 A0 00 01 */ li r5, 1 -/* 80140018 0013CF58 48 18 EE 15 */ bl JKRExpHeap_NS_create +/* 80140018 0013CF58 48 18 EE 15 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8014001C 0013CF5C 90 7E 00 00 */ stw r3, 0(r30) lbl_80140020: /* 80140020 0013CF60 83 E1 00 0C */ lwz r31, 0xc(r1) @@ -184435,7 +184435,7 @@ lbl_8014074C: /* 80140758 0013D698 7F 44 D3 78 */ mr r4, r26 /* 8014075C 0013D69C 38 A0 14 00 */ li r5, 0x1400 /* 80140760 0013D6A0 57 86 04 3E */ clrlwi r6, r28, 0x10 -/* 80140764 0013D6A4 48 19 57 69 */ bl JKRArchive_NS_readIdxResource +/* 80140764 0013D6A4 48 19 57 69 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 80140768 0013D6A8 38 60 00 1C */ li r3, 0x1c /* 8014076C 0013D6AC 48 18 E4 E1 */ bl __nw__FUl /* 80140770 0013D6B0 7C 7C 1B 79 */ or. r28, r3, r3 @@ -184469,7 +184469,7 @@ lbl_80140794: /* 801407DC 0013D71C 7F 84 E3 78 */ mr r4, r28 /* 801407E0 0013D720 38 A0 04 00 */ li r5, 0x400 /* 801407E4 0013D724 57 E6 04 3E */ clrlwi r6, r31, 0x10 -/* 801407E8 0013D728 48 19 56 E5 */ bl JKRArchive_NS_readIdxResource +/* 801407E8 0013D728 48 19 56 E5 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 801407EC 0013D72C 7F 83 E3 78 */ mr r3, r28 /* 801407F0 0013D730 38 80 00 00 */ li r4, 0 /* 801407F4 0013D734 48 1F 73 4D */ bl J3DAnmLoaderDataBase_NS_load @@ -184490,7 +184490,7 @@ lbl_80140794: /* 80140830 0013D770 7F 84 E3 78 */ mr r4, r28 /* 80140834 0013D774 38 A0 04 00 */ li r5, 0x400 /* 80140838 0013D778 57 C6 04 3E */ clrlwi r6, r30, 0x10 -/* 8014083C 0013D77C 48 19 56 91 */ bl JKRArchive_NS_readIdxResource +/* 8014083C 0013D77C 48 19 56 91 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 80140840 0013D780 7F 83 E3 78 */ mr r3, r28 /* 80140844 0013D784 38 80 00 00 */ li r4, 0 /* 80140848 0013D788 48 1F 72 F9 */ bl J3DAnmLoaderDataBase_NS_load diff --git a/asm/d/a/d_a_player.s b/asm/d/a/d_a_player.s index e8ef3da09c..9733e0ca18 100644 --- a/asm/d/a/d_a_player.s +++ b/asm/d/a/d_a_player.s @@ -852,7 +852,7 @@ daPy_anmHeap_c_NS_loadData: /* 8015EFB8 0015BEF8 80 9E 00 0C */ lwz r4, 0xc(r30) /* 8015EFBC 0015BEFC 80 BE 00 08 */ lwz r5, 8(r30) /* 8015EFC0 0015BF00 54 C6 04 3E */ clrlwi r6, r6, 0x10 -/* 8015EFC4 0015BF04 48 17 6F 09 */ bl JKRArchive_NS_readIdxResource +/* 8015EFC4 0015BF04 48 17 6F 09 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8015EFC8 0015BF08 7F C3 F3 78 */ mr r3, r30 /* 8015EFCC 0015BF0C 48 00 01 9D */ bl daPy_anmHeap_c_NS_setAnimeHeap /* 8015EFD0 0015BF10 7C 7F 1B 78 */ mr r31, r3 diff --git a/asm/d/com/inf/d_com_inf_game.s b/asm/d/com/inf/d_com_inf_game.s index 8031e18bd8..43032443d5 100644 --- a/asm/d/com/inf/d_com_inf_game.s +++ b/asm/d/com/inf/d_com_inf_game.s @@ -3495,7 +3495,7 @@ lbl_8002E28C: /* 8002E2A0 0002B1E0 7F 63 DB 78 */ mr r3, r27 /* 8002E2A4 0002B1E4 80 9D 5E BC */ lwz r4, 0x5ebc(r29) /* 8002E2A8 0002B1E8 38 A0 00 00 */ li r5, 0 -/* 8002E2AC 0002B1EC 48 2A 0B 81 */ bl JKRExpHeap_NS_create +/* 8002E2AC 0002B1EC 48 2A 0B 81 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8002E2B0 0002B1F0 90 7C 00 00 */ stw r3, 0(r28) lbl_8002E2B4: /* 8002E2B4 0002B1F4 3B 5A 00 01 */ addi r26, r26, 1 diff --git a/asm/d/d_drawlist.s b/asm/d/d_drawlist.s index 0bc3607fb3..1031cb8c78 100644 --- a/asm/d/d_drawlist.s +++ b/asm/d/d_drawlist.s @@ -5356,7 +5356,7 @@ lbl_80056870: /* 80056884 000537C4 38 63 4D 47 */ addi r3, r3, 0x54494D47@l /* 80056888 000537C8 3C 80 80 38 */ lis r4, lbl_8037A1B0@ha /* 8005688C 000537CC 38 84 A1 B0 */ addi r4, r4, lbl_8037A1B0@l -/* 80056890 000537D0 48 27 F2 A9 */ bl JKRArchive_NS_getGlbResource +/* 80056890 000537D0 48 27 F2 A9 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 80056894 000537D4 7C 64 1B 78 */ mr r4, r3 /* 80056898 000537D8 3C 60 80 42 */ lis r3, lbl_804248F0@ha /* 8005689C 000537DC 38 63 48 F0 */ addi r3, r3, lbl_804248F0@l diff --git a/asm/d/d_lib.s b/asm/d/d_lib.s index 521681c513..7d80a2fd61 100644 --- a/asm/d/d_lib.s +++ b/asm/d/d_lib.s @@ -543,7 +543,7 @@ lbl_80032774: /* 80032794 0002F6D4 7F C3 F3 78 */ mr r3, r30 /* 80032798 0002F6D8 7F E4 FB 78 */ mr r4, r31 /* 8003279C 0002F6DC 38 A0 00 00 */ li r5, 0 -/* 800327A0 0002F6E0 48 2A 3E 05 */ bl JKRArchive_NS_findFsResource +/* 800327A0 0002F6E0 48 2A 3E 05 */ bl findFsResource__10JKRArchiveCFPCcUl /* 800327A4 0002F6E4 88 C1 00 27 */ lbz r6, 0x27(r1) /* 800327A8 0002F6E8 88 A1 00 26 */ lbz r5, 0x26(r1) /* 800327AC 0002F6EC 88 81 00 24 */ lbz r4, 0x24(r1) diff --git a/asm/d/d_name.s b/asm/d/d_name.s index d542e2e269..77eefeac2c 100644 --- a/asm/d/d_name.s +++ b/asm/d/d_name.s @@ -2421,7 +2421,7 @@ lbl_80250604: /* 80250664 0024D5A4 38 63 9C C8 */ addi r3, r3, lbl_80399CC8@l /* 80250668 0024D5A8 38 63 02 E7 */ addi r3, r3, 0x2e7 /* 8025066C 0024D5AC 80 9F 00 08 */ lwz r4, 8(r31) -/* 80250670 0024D5B0 48 08 3C 01 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80250670 0024D5B0 48 08 3C 01 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80250674 0024D5B4 48 0B 83 F9 */ bl J2DAnmLoaderDataBase_NS_load /* 80250678 0024D5B8 90 7F 00 24 */ stw r3, 0x24(r31) /* 8025067C 0024D5BC 80 7F 00 24 */ lwz r3, 0x24(r31) @@ -2434,7 +2434,7 @@ lbl_80250604: /* 80250698 0024D5D8 38 63 9C C8 */ addi r3, r3, lbl_80399CC8@l /* 8025069C 0024D5DC 38 63 02 FD */ addi r3, r3, 0x2fd /* 802506A0 0024D5E0 80 9F 00 08 */ lwz r4, 8(r31) -/* 802506A4 0024D5E4 48 08 3B CD */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802506A4 0024D5E4 48 08 3B CD */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802506A8 0024D5E8 48 0B 83 C5 */ bl J2DAnmLoaderDataBase_NS_load /* 802506AC 0024D5EC 90 7F 00 2C */ stw r3, 0x2c(r31) /* 802506B0 0024D5F0 80 7F 00 2C */ lwz r3, 0x2c(r31) diff --git a/asm/d/d_particle.s b/asm/d/d_particle.s index 97c82d3fd9..652a1d17ba 100644 --- a/asm/d/d_particle.s +++ b/asm/d/d_particle.s @@ -2784,7 +2784,7 @@ dPa_control_c: /* 8004BB10 00048A50 3C 60 00 09 */ lis r3, 0x00096000@ha /* 8004BB14 00048A54 38 63 60 00 */ addi r3, r3, 0x00096000@l /* 8004BB18 00048A58 38 A0 00 00 */ li r5, 0 -/* 8004BB1C 00048A5C 48 28 33 11 */ bl JKRExpHeap_NS_create +/* 8004BB1C 00048A5C 48 28 33 11 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8004BB20 00048A60 90 7F 00 08 */ stw r3, 8(r31) /* 8004BB24 00048A64 38 60 00 00 */ li r3, 0 /* 8004BB28 00048A68 90 7F 00 00 */ stw r3, 0(r31) diff --git a/asm/d/d_resorce.s b/asm/d/d_resorce.s index 74973e25f1..07bcdc31dc 100644 --- a/asm/d/d_resorce.s +++ b/asm/d/d_resorce.s @@ -1250,17 +1250,17 @@ lbl_8003B3AC: lbl_8003B3C0: /* 8003B3C0 00038300 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8003B3C4 00038304 7F 84 E3 78 */ mr r4, r28 -/* 8003B3C8 00038308 48 29 AE 95 */ bl JKRArchive_NS_getFileAttribute +/* 8003B3C8 00038308 48 29 AE 95 */ bl getFileAttribute__10JKRArchiveCFUl /* 8003B3CC 0003830C 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8003B3D0 00038310 41 82 04 B0 */ beq lbl_8003B880 /* 8003B3D4 00038314 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8003B3D8 00038318 7F 84 E3 78 */ mr r4, r28 -/* 8003B3DC 0003831C 48 29 A9 09 */ bl JKRArchive_NS_getIdxResource +/* 8003B3DC 0003831C 48 29 A9 09 */ bl getIdxResource__10JKRArchiveFUl /* 8003B3E0 00038320 7C 7F 1B 79 */ or. r31, r3, r3 /* 8003B3E4 00038324 40 82 00 3C */ bne lbl_8003B420 /* 8003B3E8 00038328 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8003B3EC 0003832C 7F 84 E3 78 */ mr r4, r28 -/* 8003B3F0 00038330 48 29 B2 95 */ bl JKRArchive_NS_findIdxResource +/* 8003B3F0 00038330 48 29 B2 95 */ bl findIdxResource__10JKRArchiveCFUl /* 8003B3F4 00038334 80 03 00 04 */ lwz r0, 4(r3) /* 8003B3F8 00038338 54 04 02 3E */ clrlwi r4, r0, 8 /* 8003B3FC 0003833C 80 7E 00 14 */ lwz r3, 0x14(r30) @@ -1278,7 +1278,7 @@ lbl_8003B420: /* 8003B428 00038368 40 82 00 78 */ bne lbl_8003B4A0 /* 8003B42C 0003836C 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8003B430 00038370 7F 84 E3 78 */ mr r4, r28 -/* 8003B434 00038374 48 29 B2 51 */ bl JKRArchive_NS_findIdxResource +/* 8003B434 00038374 48 29 B2 51 */ bl findIdxResource__10JKRArchiveCFUl /* 8003B438 00038378 7C 78 1B 78 */ mr r24, r3 /* 8003B43C 0003837C 80 7E 00 14 */ lwz r3, 0x14(r30) /* 8003B440 00038380 80 63 00 54 */ lwz r3, 0x54(r3) @@ -1706,12 +1706,12 @@ lbl_8003B9D0: lbl_8003B9EC: /* 8003B9EC 0003892C 80 7D 00 14 */ lwz r3, 0x14(r29) /* 8003B9F0 00038930 7F 64 DB 78 */ mr r4, r27 -/* 8003B9F4 00038934 48 29 A8 69 */ bl JKRArchive_NS_getFileAttribute +/* 8003B9F4 00038934 48 29 A8 69 */ bl getFileAttribute__10JKRArchiveCFUl /* 8003B9F8 00038938 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8003B9FC 0003893C 41 82 00 58 */ beq lbl_8003BA54 /* 8003BA00 00038940 80 7D 00 14 */ lwz r3, 0x14(r29) /* 8003BA04 00038944 7F 64 DB 78 */ mr r4, r27 -/* 8003BA08 00038948 48 29 AC 7D */ bl JKRArchive_NS_findIdxResource +/* 8003BA08 00038948 48 29 AC 7D */ bl findIdxResource__10JKRArchiveCFUl /* 8003BA0C 0003894C 80 03 00 04 */ lwz r0, 4(r3) /* 8003BA10 00038950 54 04 02 3E */ clrlwi r4, r0, 8 /* 8003BA14 00038954 80 7D 00 14 */ lwz r3, 0x14(r29) @@ -2428,7 +2428,7 @@ lbl_8003C3AC: /* 8003C3AC 000392EC 83 DF 00 14 */ lwz r30, 0x14(r31) /* 8003C3B0 000392F0 7F C3 F3 78 */ mr r3, r30 /* 8003C3B4 000392F4 7F A4 EB 78 */ mr r4, r29 -/* 8003C3B8 000392F8 48 29 A2 F5 */ bl JKRArchive_NS_findNameResource +/* 8003C3B8 000392F8 48 29 A2 F5 */ bl findNameResource__10JKRArchiveCFPCc /* 8003C3BC 000392FC 28 03 00 00 */ cmplwi r3, 0 /* 8003C3C0 00039300 41 82 00 24 */ beq lbl_8003C3E4 /* 8003C3C4 00039304 80 9F 00 20 */ lwz r4, 0x20(r31) @@ -2671,7 +2671,7 @@ lbl_8003C6F0: lbl_8003C700: /* 8003C700 00039640 80 63 00 14 */ lwz r3, 0x14(r3) /* 8003C704 00039644 7F E4 FB 78 */ mr r4, r31 -/* 8003C708 00039648 48 29 9F A5 */ bl JKRArchive_NS_findNameResource +/* 8003C708 00039648 48 29 9F A5 */ bl findNameResource__10JKRArchiveCFPCc /* 8003C70C 0003964C 28 03 00 00 */ cmplwi r3, 0 /* 8003C710 00039650 41 82 00 0C */ beq lbl_8003C71C /* 8003C714 00039654 A0 63 00 00 */ lhz r3, 0(r3) diff --git a/asm/d/d_stage.s b/asm/d/d_stage.s index 08330ed064..7878026168 100644 --- a/asm/d/d_stage.s +++ b/asm/d/d_stage.s @@ -774,7 +774,7 @@ dStage_roomControl_c_NS_createMemoryBlock: /* 80024878 000217B8 7C 64 1B 78 */ mr r4, r3 /* 8002487C 000217BC 7F A3 EB 78 */ mr r3, r29 /* 80024880 000217C0 38 A0 00 00 */ li r5, 0 -/* 80024884 000217C4 48 2A A5 A9 */ bl JKRExpHeap_NS_create +/* 80024884 000217C4 48 2A A5 A9 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 80024888 000217C8 7C 7F F1 2E */ stwx r3, r31, r30 lbl_8002488C: /* 8002488C 000217CC 7C 7F F0 2E */ lwzx r3, r31, r30 diff --git a/asm/d/d_timer.s b/asm/d/d_timer.s index 18c3be600a..92ca2c439c 100644 --- a/asm/d/d_timer.s +++ b/asm/d/d_timer.s @@ -1610,7 +1610,7 @@ lbl_8025E034: /* 8025E090 0025AFD0 38 84 A3 D8 */ addi r4, r4, lbl_8039A3D8@l /* 8025E094 0025AFD4 38 64 00 26 */ addi r3, r4, 0x26 /* 8025E098 0025AFD8 80 9F 00 7C */ lwz r4, 0x7c(r31) -/* 8025E09C 0025AFDC 48 07 61 D5 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8025E09C 0025AFDC 48 07 61 D5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8025E0A0 0025AFE0 48 0A A9 CD */ bl J2DAnmLoaderDataBase_NS_load /* 8025E0A4 0025AFE4 90 7F 00 0C */ stw r3, 0xc(r31) /* 8025E0A8 0025AFE8 38 60 00 6C */ li r3, 0x6c diff --git a/asm/d/file/d_file_select.s b/asm/d/file/d_file_select.s index c80b4c0637..f00095b101 100644 --- a/asm/d/file/d_file_select.s +++ b/asm/d/file/d_file_select.s @@ -8187,7 +8187,7 @@ lbl_8018ADF0: /* 8018AE1C 00187D5C 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018AE20 00187D60 38 63 00 55 */ addi r3, r3, 0x55 /* 8018AE24 00187D64 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018AE28 00187D68 48 14 94 49 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018AE28 00187D68 48 14 94 49 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018AE2C 00187D6C 7C 78 1B 78 */ mr r24, r3 /* 8018AE30 00187D70 48 17 DC 3D */ bl J2DAnmLoaderDataBase_NS_load /* 8018AE34 00187D74 90 7F 00 84 */ stw r3, 0x84(r31) @@ -8412,7 +8412,7 @@ lbl_8018B090: /* 8018B184 001880C4 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B188 001880C8 38 63 00 6C */ addi r3, r3, 0x6c /* 8018B18C 001880CC 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B190 001880D0 48 14 90 E1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B190 001880D0 48 14 90 E1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B194 001880D4 7C 7A 1B 78 */ mr r26, r3 /* 8018B198 001880D8 48 17 D8 D5 */ bl J2DAnmLoaderDataBase_NS_load /* 8018B19C 001880DC 90 7F 01 C8 */ stw r3, 0x1c8(r31) @@ -8428,7 +8428,7 @@ lbl_8018B090: /* 8018B1C4 00188104 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B1C8 00188108 38 63 00 82 */ addi r3, r3, 0x82 /* 8018B1CC 0018810C 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B1D0 00188110 48 14 90 A1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B1D0 00188110 48 14 90 A1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B1D4 00188114 48 17 D8 99 */ bl J2DAnmLoaderDataBase_NS_load /* 8018B1D8 00188118 90 7F 01 D0 */ stw r3, 0x1d0(r31) /* 8018B1DC 0018811C 80 7F 01 D0 */ lwz r3, 0x1d0(r31) @@ -8542,7 +8542,7 @@ lbl_8018B2B0: /* 8018B37C 001882BC 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B380 001882C0 38 63 00 9B */ addi r3, r3, 0x9b /* 8018B384 001882C4 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B388 001882C8 48 14 8E E9 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B388 001882C8 48 14 8E E9 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B38C 001882CC 48 17 D6 E1 */ bl J2DAnmLoaderDataBase_NS_load /* 8018B390 001882D0 90 7F 01 E0 */ stw r3, 0x1e0(r31) /* 8018B394 001882D4 80 7F 01 E0 */ lwz r3, 0x1e0(r31) @@ -8555,7 +8555,7 @@ lbl_8018B2B0: /* 8018B3B0 001882F0 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B3B4 001882F4 38 63 00 B1 */ addi r3, r3, 0xb1 /* 8018B3B8 001882F8 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B3BC 001882FC 48 14 8E B5 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B3BC 001882FC 48 14 8E B5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B3C0 00188300 7C 78 1B 78 */ mr r24, r3 /* 8018B3C4 00188304 48 17 D6 A9 */ bl J2DAnmLoaderDataBase_NS_load /* 8018B3C8 00188308 90 7F 01 E8 */ stw r3, 0x1e8(r31) @@ -8759,7 +8759,7 @@ lbl_8018B608: /* 8018B6CC 0018860C 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B6D0 00188610 38 63 00 C7 */ addi r3, r3, 0xc7 /* 8018B6D4 00188614 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B6D8 00188618 48 14 8B 99 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B6D8 00188618 48 14 8B 99 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B6DC 0018861C 48 17 D3 91 */ bl J2DAnmLoaderDataBase_NS_load /* 8018B6E0 00188620 90 7F 01 F8 */ stw r3, 0x1f8(r31) /* 8018B6E4 00188624 80 7F 01 F8 */ lwz r3, 0x1f8(r31) @@ -8772,7 +8772,7 @@ lbl_8018B608: /* 8018B700 00188640 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018B704 00188644 38 63 00 E0 */ addi r3, r3, 0xe0 /* 8018B708 00188648 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018B70C 0018864C 48 14 8B 65 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018B70C 0018864C 48 14 8B 65 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018B710 00188650 48 17 D3 5D */ bl J2DAnmLoaderDataBase_NS_load /* 8018B714 00188654 90 7F 01 F0 */ stw r3, 0x1f0(r31) /* 8018B718 00188658 80 7F 01 F0 */ lwz r3, 0x1f0(r31) @@ -9355,7 +9355,7 @@ lbl_8018BF64: /* 8018BFD8 00188F18 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018BFDC 00188F1C 38 63 01 2B */ addi r3, r3, 0x12b /* 8018BFE0 00188F20 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018BFE4 00188F24 48 14 82 8D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018BFE4 00188F24 48 14 82 8D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018BFE8 00188F28 7C 79 1B 78 */ mr r25, r3 /* 8018BFEC 00188F2C 48 17 CA 81 */ bl J2DAnmLoaderDataBase_NS_load /* 8018BFF0 00188F30 90 7F 02 9C */ stw r3, 0x29c(r31) @@ -9378,7 +9378,7 @@ lbl_8018BF64: /* 8018C034 00188F74 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C038 00188F78 38 63 01 4D */ addi r3, r3, 0x14d /* 8018C03C 00188F7C 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C040 00188F80 48 14 82 31 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C040 00188F80 48 14 82 31 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C044 00188F84 7C 79 1B 78 */ mr r25, r3 /* 8018C048 00188F88 48 17 CA 25 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C04C 00188F8C 90 7F 02 E8 */ stw r3, 0x2e8(r31) @@ -9394,7 +9394,7 @@ lbl_8018BF64: /* 8018C074 00188FB4 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C078 00188FB8 38 63 01 6F */ addi r3, r3, 0x16f /* 8018C07C 00188FBC 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C080 00188FC0 48 14 81 F1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C080 00188FC0 48 14 81 F1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C084 00188FC4 48 17 C9 E9 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C088 00188FC8 90 7F 02 F0 */ stw r3, 0x2f0(r31) /* 8018C08C 00188FCC 80 7F 02 F0 */ lwz r3, 0x2f0(r31) @@ -9418,7 +9418,7 @@ lbl_8018BF64: /* 8018C0D4 00189014 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C0D8 00189018 38 63 01 94 */ addi r3, r3, 0x194 /* 8018C0DC 0018901C 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C0E0 00189020 48 14 81 91 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C0E0 00189020 48 14 81 91 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C0E4 00189024 48 17 C9 89 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C0E8 00189028 90 7F 03 00 */ stw r3, 0x300(r31) /* 8018C0EC 0018902C 80 7F 03 00 */ lwz r3, 0x300(r31) @@ -9431,7 +9431,7 @@ lbl_8018BF64: /* 8018C108 00189048 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C10C 0018904C 38 63 01 B6 */ addi r3, r3, 0x1b6 /* 8018C110 00189050 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C114 00189054 48 14 81 5D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C114 00189054 48 14 81 5D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C118 00189058 48 17 C9 55 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C11C 0018905C 90 7F 03 08 */ stw r3, 0x308(r31) /* 8018C120 00189060 80 7F 03 08 */ lwz r3, 0x308(r31) @@ -9732,7 +9732,7 @@ lbl_8018C55C: /* 8018C588 001894C8 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C58C 001894CC 38 63 01 FC */ addi r3, r3, 0x1fc /* 8018C590 001894D0 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C594 001894D4 48 14 7C DD */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C594 001894D4 48 14 7C DD */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C598 001894D8 7C 7A 1B 78 */ mr r26, r3 /* 8018C59C 001894DC 48 17 C4 D1 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C5A0 001894E0 90 7F 03 10 */ stw r3, 0x310(r31) @@ -9833,7 +9833,7 @@ lbl_8018C684: /* 8018C710 00189650 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C714 00189654 38 63 02 20 */ addi r3, r3, 0x220 /* 8018C718 00189658 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C71C 0018965C 48 14 7B 55 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C71C 0018965C 48 14 7B 55 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C720 00189660 48 17 C3 4D */ bl J2DAnmLoaderDataBase_NS_load /* 8018C724 00189664 90 7F 03 18 */ stw r3, 0x318(r31) /* 8018C728 00189668 80 7F 03 18 */ lwz r3, 0x318(r31) @@ -9848,7 +9848,7 @@ lbl_8018C684: /* 8018C74C 0018968C 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C750 00189690 38 63 02 44 */ addi r3, r3, 0x244 /* 8018C754 00189694 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C758 00189698 48 14 7B 19 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C758 00189698 48 14 7B 19 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C75C 0018969C 48 17 C3 11 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C760 001896A0 90 7F 03 20 */ stw r3, 0x320(r31) /* 8018C764 001896A4 80 7F 03 20 */ lwz r3, 0x320(r31) @@ -9987,7 +9987,7 @@ lbl_8018C92C: /* 8018C958 00189898 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C95C 0018989C 38 63 02 8B */ addi r3, r3, 0x28b /* 8018C960 001898A0 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C964 001898A4 48 14 79 0D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C964 001898A4 48 14 79 0D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C968 001898A8 7C 79 1B 78 */ mr r25, r3 /* 8018C96C 001898AC 48 17 C1 01 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C970 001898B0 90 7F 03 28 */ stw r3, 0x328(r31) @@ -10010,7 +10010,7 @@ lbl_8018C92C: /* 8018C9B4 001898F4 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C9B8 001898F8 38 63 02 AE */ addi r3, r3, 0x2ae /* 8018C9BC 001898FC 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C9C0 00189900 48 14 78 B1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C9C0 00189900 48 14 78 B1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018C9C4 00189904 48 17 C0 A9 */ bl J2DAnmLoaderDataBase_NS_load /* 8018C9C8 00189908 90 7F 03 30 */ stw r3, 0x330(r31) /* 8018C9CC 0018990C 80 7F 03 30 */ lwz r3, 0x330(r31) @@ -10025,7 +10025,7 @@ lbl_8018C92C: /* 8018C9F0 00189930 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018C9F4 00189934 38 63 02 D1 */ addi r3, r3, 0x2d1 /* 8018C9F8 00189938 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018C9FC 0018993C 48 14 78 75 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018C9FC 0018993C 48 14 78 75 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018CA00 00189940 48 17 C0 6D */ bl J2DAnmLoaderDataBase_NS_load /* 8018CA04 00189944 90 7F 03 38 */ stw r3, 0x338(r31) /* 8018CA08 00189948 80 7F 03 38 */ lwz r3, 0x338(r31) @@ -10239,7 +10239,7 @@ lbl_8018CCFC: /* 8018CD20 00189C60 38 63 43 88 */ addi r3, r3, lbl_80394388@l /* 8018CD24 00189C64 38 63 03 12 */ addi r3, r3, 0x312 /* 8018CD28 00189C68 80 9F 00 08 */ lwz r4, 8(r31) -/* 8018CD2C 00189C6C 48 14 75 45 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8018CD2C 00189C6C 48 14 75 45 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8018CD30 00189C70 48 17 BD 3D */ bl J2DAnmLoaderDataBase_NS_load /* 8018CD34 00189C74 90 7F 03 A0 */ stw r3, 0x3a0(r31) /* 8018CD38 00189C78 80 7F 00 28 */ lwz r3, 0x28(r31) @@ -14062,7 +14062,7 @@ lbl_8019043C: /* 8019044C 0018D38C 48 00 07 5D */ bl dFile_select3D_c_NS_createMaskModel lbl_80190450: /* 80190450 0018D390 80 7D 00 04 */ lwz r3, 4(r29) -/* 80190454 0018D394 48 14 07 A1 */ bl JKRSolidHeap_NS_adjustSize +/* 80190454 0018D394 48 14 07 A1 */ bl adjustSize__12JKRSolidHeapFv /* 80190458 0018D398 80 61 00 08 */ lwz r3, 8(r1) /* 8019045C 0018D39C 4B E7 ED 71 */ bl mDoExt_setCurrentHeap /* 80190460 0018D3A0 80 1D 00 08 */ lwz r0, 8(r29) diff --git a/asm/d/file/sel/d_file_sel_warning.s b/asm/d/file/sel/d_file_sel_warning.s index ac54d45309..c80a8578da 100644 --- a/asm/d/file/sel/d_file_sel_warning.s +++ b/asm/d/file/sel/d_file_sel_warning.s @@ -137,7 +137,7 @@ lbl_80191D5C: /* 80191D88 0018ECC8 38 61 00 08 */ addi r3, r1, 8 /* 80191D8C 0018ECCC 7C 63 00 2E */ lwzx r3, r3, r0 /* 80191D90 0018ECD0 80 9F 00 04 */ lwz r4, 4(r31) -/* 80191D94 0018ECD4 48 14 24 DD */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80191D94 0018ECD4 48 14 24 DD */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80191D98 0018ECD8 48 17 6C D5 */ bl J2DAnmLoaderDataBase_NS_load /* 80191D9C 0018ECDC 90 7F 00 24 */ stw r3, 0x24(r31) /* 80191DA0 0018ECE0 80 7F 00 0C */ lwz r3, 0xc(r31) diff --git a/asm/d/menu/d_menu_collect.s b/asm/d/menu/d_menu_collect.s index 18a338b37a..d4b8971ac4 100644 --- a/asm/d/menu/d_menu_collect.s +++ b/asm/d/menu/d_menu_collect.s @@ -57,7 +57,7 @@ lbl_801AFDBC: /* 801AFE08 001ACD48 38 63 60 00 */ addi r3, r3, 0x00046000@l /* 801AFE0C 001ACD4C 80 9F 00 04 */ lwz r4, 4(r31) /* 801AFE10 001ACD50 38 A0 00 00 */ li r5, 0 -/* 801AFE14 001ACD54 48 11 F0 19 */ bl JKRExpHeap_NS_create +/* 801AFE14 001ACD54 48 11 F0 19 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 801AFE18 001ACD58 90 7F 00 08 */ stw r3, 8(r31) /* 801AFE1C 001ACD5C 7F E3 FB 78 */ mr r3, r31 /* 801AFE20 001ACD60 83 E1 00 0C */ lwz r31, 0xc(r1) @@ -2145,7 +2145,7 @@ dMenu_Collect2D_c_NS_animationSet: /* 801B1C8C 001AEBCC 3C 80 80 40 */ lis r4, lbl_804061C0@ha /* 801B1C90 001AEBD0 38 84 61 C0 */ addi r4, r4, lbl_804061C0@l /* 801B1C94 001AEBD4 80 84 5C B8 */ lwz r4, 0x5cb8(r4) -/* 801B1C98 001AEBD8 48 12 25 D9 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801B1C98 001AEBD8 48 12 25 D9 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801B1C9C 001AEBDC 48 15 6D D1 */ bl J2DAnmLoaderDataBase_NS_load /* 801B1CA0 001AEBE0 90 7F 00 2C */ stw r3, 0x2c(r31) /* 801B1CA4 001AEBE4 80 7F 00 2C */ lwz r3, 0x2c(r31) @@ -7229,7 +7229,7 @@ lbl_801B662C: /* 801B6638 001B3578 90 1F 00 20 */ stw r0, 0x20(r31) lbl_801B663C: /* 801B663C 001B357C 80 7F 00 08 */ lwz r3, 8(r31) -/* 801B6640 001B3580 48 11 A5 B5 */ bl JKRSolidHeap_NS_adjustSize +/* 801B6640 001B3580 48 11 A5 B5 */ bl adjustSize__12JKRSolidHeapFv /* 801B6644 001B3584 4B E5 8B B1 */ bl mDoExt_restoreCurrentHeap /* 801B6648 001B3588 80 1F 00 18 */ lwz r0, 0x18(r31) /* 801B664C 001B358C 28 00 00 00 */ cmplwi r0, 0 diff --git a/asm/d/menu/d_menu_dmap.s b/asm/d/menu/d_menu_dmap.s index 5b4fc2643e..9d06f26b9a 100644 --- a/asm/d/menu/d_menu_dmap.s +++ b/asm/d/menu/d_menu_dmap.s @@ -57,7 +57,7 @@ lbl_801B7FD8: /* 801B7FE0 001B4F20 38 63 20 00 */ addi r3, r3, 0x00032000@l /* 801B7FE4 001B4F24 80 9F 0C 98 */ lwz r4, 0xc98(r31) /* 801B7FE8 001B4F28 38 A0 00 00 */ li r5, 0 -/* 801B7FEC 001B4F2C 48 11 6E 41 */ bl JKRExpHeap_NS_create +/* 801B7FEC 001B4F2C 48 11 6E 41 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 801B7FF0 001B4F30 90 7F 0C 9C */ stw r3, 0xc9c(r31) /* 801B7FF4 001B4F34 38 00 00 00 */ li r0, 0 /* 801B7FF8 001B4F38 90 1F 0D 18 */ stw r0, 0xd18(r31) @@ -384,7 +384,7 @@ lbl_801B84B4: /* 801B84D0 001B5410 38 84 57 60 */ addi r4, r4, lbl_80395760@l /* 801B84D4 001B5414 38 64 00 33 */ addi r3, r4, 0x33 /* 801B84D8 001B5418 80 9F 5C C0 */ lwz r4, 0x5cc0(r31) -/* 801B84DC 001B541C 48 11 BD 95 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801B84DC 001B541C 48 11 BD 95 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801B84E0 001B5420 48 15 05 8D */ bl J2DAnmLoaderDataBase_NS_load /* 801B84E4 001B5424 90 7D 0D 28 */ stw r3, 0xd28(r29) /* 801B84E8 001B5428 80 7D 0D 28 */ lwz r3, 0xd28(r29) @@ -6062,7 +6062,7 @@ dMenu_Dmap_c_NS__create: /* 801BD7EC 001BA72C 38 63 FF F0 */ addi r3, r3, -16 /* 801BD7F0 001BA730 7F A4 EB 78 */ mr r4, r29 /* 801BD7F4 001BA734 38 A0 00 00 */ li r5, 0 -/* 801BD7F8 001BA738 48 11 16 35 */ bl JKRExpHeap_NS_create +/* 801BD7F8 001BA738 48 11 16 35 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 801BD7FC 001BA73C 90 7F 00 EC */ stw r3, 0xec(r31) /* 801BD800 001BA740 80 7F 00 EC */ lwz r3, 0xec(r31) /* 801BD804 001BA744 4B E5 19 C9 */ bl mDoExt_setCurrentHeap diff --git a/asm/d/menu/d_menu_fmap.s b/asm/d/menu/d_menu_fmap.s index 61e39f3c4a..a567b595ba 100644 --- a/asm/d/menu/d_menu_fmap.s +++ b/asm/d/menu/d_menu_fmap.s @@ -170,7 +170,7 @@ lbl_801C6820: /* 801C684C 001C378C 38 63 20 00 */ addi r3, r3, 0x00032000@l /* 801C6850 001C3790 80 9D 00 04 */ lwz r4, 4(r29) /* 801C6854 001C3794 38 A0 00 00 */ li r5, 0 -/* 801C6858 001C3798 48 10 85 D5 */ bl JKRExpHeap_NS_create +/* 801C6858 001C3798 48 10 85 D5 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 801C685C 001C379C 90 7D 00 08 */ stw r3, 8(r29) /* 801C6860 001C37A0 38 00 00 00 */ li r0, 0 /* 801C6864 001C37A4 90 1D 02 00 */ stw r0, 0x200(r29) diff --git a/asm/d/menu/d_menu_fmap2D.s b/asm/d/menu/d_menu_fmap2D.s index 06e321d8e7..e1a6ad8f3c 100644 --- a/asm/d/menu/d_menu_fmap2D.s +++ b/asm/d/menu/d_menu_fmap2D.s @@ -278,7 +278,7 @@ lbl_801CF968: /* 801CF994 001CC8D4 38 63 65 D0 */ addi r3, r3, lbl_803965D0@l /* 801CF998 001CC8D8 38 63 00 3A */ addi r3, r3, 0x3a /* 801CF99C 001CC8DC 80 9E 5C BC */ lwz r4, 0x5cbc(r30) -/* 801CF9A0 001CC8E0 48 10 48 D1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801CF9A0 001CC8E0 48 10 48 D1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801CF9A4 001CC8E4 48 13 90 C9 */ bl J2DAnmLoaderDataBase_NS_load /* 801CF9A8 001CC8E8 90 7F 0C E4 */ stw r3, 0xce4(r31) /* 801CF9AC 001CC8EC 80 7F 0C E4 */ lwz r3, 0xce4(r31) @@ -7378,7 +7378,7 @@ lbl_801D60C8: /* 801D6144 001D3084 38 84 65 D0 */ addi r4, r4, lbl_803965D0@l /* 801D6148 001D3088 38 64 00 A0 */ addi r3, r4, 0xa0 /* 801D614C 001D308C 80 9D 5C BC */ lwz r4, 0x5cbc(r29) -/* 801D6150 001D3090 48 0F E1 21 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801D6150 001D3090 48 0F E1 21 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801D6154 001D3094 48 13 29 19 */ bl J2DAnmLoaderDataBase_NS_load /* 801D6158 001D3098 90 7F 00 10 */ stw r3, 0x10(r31) /* 801D615C 001D309C 80 7F 00 10 */ lwz r3, 0x10(r31) diff --git a/asm/d/menu/d_menu_option.s b/asm/d/menu/d_menu_option.s index 21aaa61e6b..f2f3cbfafe 100644 --- a/asm/d/menu/d_menu_option.s +++ b/asm/d/menu/d_menu_option.s @@ -591,7 +591,7 @@ lbl_801E2790: /* 801E27BC 001DF6FC 38 63 75 D8 */ addi r3, r3, lbl_803975D8@l /* 801E27C0 001DF700 38 63 00 DD */ addi r3, r3, 0xdd /* 801E27C4 001DF704 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 801E27C8 001DF708 48 0F 1A A9 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801E27C8 001DF708 48 0F 1A A9 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801E27CC 001DF70C 7C 7A 1B 78 */ mr r26, r3 /* 801E27D0 001DF710 48 12 62 9D */ bl J2DAnmLoaderDataBase_NS_load /* 801E27D4 001DF714 90 7F 00 24 */ stw r3, 0x24(r31) @@ -682,7 +682,7 @@ lbl_801E28B4: /* 801E291C 001DF85C 38 63 75 D8 */ addi r3, r3, lbl_803975D8@l /* 801E2920 001DF860 38 63 01 01 */ addi r3, r3, 0x101 /* 801E2924 001DF864 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 801E2928 001DF868 48 0F 19 49 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801E2928 001DF868 48 0F 19 49 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801E292C 001DF86C 48 12 61 41 */ bl J2DAnmLoaderDataBase_NS_load /* 801E2930 001DF870 90 7F 00 2C */ stw r3, 0x2c(r31) /* 801E2934 001DF874 80 7F 00 2C */ lwz r3, 0x2c(r31) @@ -697,7 +697,7 @@ lbl_801E28B4: /* 801E2958 001DF898 38 63 75 D8 */ addi r3, r3, lbl_803975D8@l /* 801E295C 001DF89C 38 63 01 25 */ addi r3, r3, 0x125 /* 801E2960 001DF8A0 80 9F 00 50 */ lwz r4, 0x50(r31) -/* 801E2964 001DF8A4 48 0F 19 0D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801E2964 001DF8A4 48 0F 19 0D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801E2968 001DF8A8 48 12 61 05 */ bl J2DAnmLoaderDataBase_NS_load /* 801E296C 001DF8AC 90 7F 00 30 */ stw r3, 0x30(r31) /* 801E2970 001DF8B0 80 7F 00 30 */ lwz r3, 0x30(r31) diff --git a/asm/d/menu/d_menu_save.s b/asm/d/menu/d_menu_save.s index 7a2e420fd3..a7d0d49443 100644 --- a/asm/d/menu/d_menu_save.s +++ b/asm/d/menu/d_menu_save.s @@ -246,7 +246,7 @@ lbl_801EF9A4: /* 801EF9AC 001EC8EC 38 63 79 60 */ addi r3, r3, lbl_80397960@l /* 801EF9B0 001EC8F0 38 63 00 2F */ addi r3, r3, 0x2f /* 801EF9B4 001EC8F4 80 9F 00 04 */ lwz r4, 4(r31) -/* 801EF9B8 001EC8F8 48 0E 48 B9 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801EF9B8 001EC8F8 48 0E 48 B9 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801EF9BC 001EC8FC 7C 79 1B 78 */ mr r25, r3 /* 801EF9C0 001EC900 48 11 90 AD */ bl J2DAnmLoaderDataBase_NS_load /* 801EF9C4 001EC904 90 7F 00 40 */ stw r3, 0x40(r31) @@ -568,7 +568,7 @@ lbl_801EFDE4: /* 801EFE84 001ECDC4 38 63 79 60 */ addi r3, r3, lbl_80397960@l /* 801EFE88 001ECDC8 38 63 00 46 */ addi r3, r3, 0x46 /* 801EFE8C 001ECDCC 80 9F 00 04 */ lwz r4, 4(r31) -/* 801EFE90 001ECDD0 48 0E 43 E1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801EFE90 001ECDD0 48 0E 43 E1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801EFE94 001ECDD4 7C 7D 1B 78 */ mr r29, r3 /* 801EFE98 001ECDD8 48 11 8B D5 */ bl J2DAnmLoaderDataBase_NS_load /* 801EFE9C 001ECDDC 90 7F 01 40 */ stw r3, 0x140(r31) @@ -584,7 +584,7 @@ lbl_801EFDE4: /* 801EFEC4 001ECE04 38 63 79 60 */ addi r3, r3, lbl_80397960@l /* 801EFEC8 001ECE08 38 63 00 5D */ addi r3, r3, 0x5d /* 801EFECC 001ECE0C 80 9F 00 04 */ lwz r4, 4(r31) -/* 801EFED0 001ECE10 48 0E 43 A1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801EFED0 001ECE10 48 0E 43 A1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801EFED4 001ECE14 48 11 8B 99 */ bl J2DAnmLoaderDataBase_NS_load /* 801EFED8 001ECE18 90 7F 01 48 */ stw r3, 0x148(r31) /* 801EFEDC 001ECE1C 80 7F 01 48 */ lwz r3, 0x148(r31) @@ -806,7 +806,7 @@ lbl_801F0108: /* 801F021C 001ED15C 38 63 79 60 */ addi r3, r3, lbl_80397960@l /* 801F0220 001ED160 38 63 00 77 */ addi r3, r3, 0x77 /* 801F0224 001ED164 80 9F 00 04 */ lwz r4, 4(r31) -/* 801F0228 001ED168 48 0E 40 49 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801F0228 001ED168 48 0E 40 49 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801F022C 001ED16C 48 11 88 41 */ bl J2DAnmLoaderDataBase_NS_load /* 801F0230 001ED170 90 7F 01 58 */ stw r3, 0x158(r31) /* 801F0234 001ED174 80 7F 01 58 */ lwz r3, 0x158(r31) @@ -819,7 +819,7 @@ lbl_801F0108: /* 801F0250 001ED190 38 63 79 60 */ addi r3, r3, lbl_80397960@l /* 801F0254 001ED194 38 63 00 8E */ addi r3, r3, 0x8e /* 801F0258 001ED198 80 9F 00 04 */ lwz r4, 4(r31) -/* 801F025C 001ED19C 48 0E 40 15 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801F025C 001ED19C 48 0E 40 15 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801F0260 001ED1A0 48 11 88 0D */ bl J2DAnmLoaderDataBase_NS_load /* 801F0264 001ED1A4 90 7F 01 60 */ stw r3, 0x160(r31) /* 801F0268 001ED1A8 80 7F 01 60 */ lwz r3, 0x160(r31) diff --git a/asm/d/meter/d_meter_haihai.s b/asm/d/meter/d_meter_haihai.s index f7bb11f1ba..e61ea1a3e3 100644 --- a/asm/d/meter/d_meter_haihai.s +++ b/asm/d/meter/d_meter_haihai.s @@ -117,7 +117,7 @@ lbl_8020AFF8: /* 8020B030 00207F70 38 84 81 58 */ addi r4, r4, lbl_80398158@l /* 8020B034 00207F74 38 64 00 16 */ addi r3, r4, 0x16 /* 8020B038 00207F78 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 8020B03C 00207F7C 48 0C 92 35 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020B03C 00207F7C 48 0C 92 35 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020B040 00207F80 48 0F DA 2D */ bl J2DAnmLoaderDataBase_NS_load /* 8020B044 00207F84 90 7F 00 0C */ stw r3, 0xc(r31) /* 8020B048 00207F88 C0 02 AD B0 */ lfs f0, lbl_804547B0-_SDA2_BASE_(r2) @@ -126,7 +126,7 @@ lbl_8020AFF8: /* 8020B054 00207F94 38 84 81 58 */ addi r4, r4, lbl_80398158@l /* 8020B058 00207F98 38 64 00 2C */ addi r3, r4, 0x2c /* 8020B05C 00207F9C 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 8020B060 00207FA0 48 0C 92 11 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020B060 00207FA0 48 0C 92 11 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020B064 00207FA4 48 0F DA 09 */ bl J2DAnmLoaderDataBase_NS_load /* 8020B068 00207FA8 90 7F 00 10 */ stw r3, 0x10(r31) /* 8020B06C 00207FAC 80 7F 00 10 */ lwz r3, 0x10(r31) @@ -141,7 +141,7 @@ lbl_8020AFF8: /* 8020B090 00207FD0 38 84 81 58 */ addi r4, r4, lbl_80398158@l /* 8020B094 00207FD4 38 64 00 42 */ addi r3, r4, 0x42 /* 8020B098 00207FD8 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 8020B09C 00207FDC 48 0C 91 D5 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020B09C 00207FDC 48 0C 91 D5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020B0A0 00207FE0 48 0F D9 CD */ bl J2DAnmLoaderDataBase_NS_load /* 8020B0A4 00207FE4 90 7F 00 14 */ stw r3, 0x14(r31) /* 8020B0A8 00207FE8 80 7F 00 14 */ lwz r3, 0x14(r31) diff --git a/asm/d/meter/d_meter_string.s b/asm/d/meter/d_meter_string.s index 4acca929d0..c2a9e5e3e4 100644 --- a/asm/d/meter/d_meter_string.s +++ b/asm/d/meter/d_meter_string.s @@ -143,7 +143,7 @@ lbl_8020EF08: /* 8020EF60 0020BEA0 38 84 82 10 */ addi r4, r4, lbl_80398210@l /* 8020EF64 0020BEA4 38 64 00 20 */ addi r3, r4, 0x20 /* 8020EF68 0020BEA8 80 9F 00 18 */ lwz r4, 0x18(r31) -/* 8020EF6C 0020BEAC 48 0C 53 05 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020EF6C 0020BEAC 48 0C 53 05 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020EF70 0020BEB0 48 0F 9A FD */ bl J2DAnmLoaderDataBase_NS_load /* 8020EF74 0020BEB4 90 7F 00 08 */ stw r3, 8(r31) /* 8020EF78 0020BEB8 38 60 00 6C */ li r3, 0x6c diff --git a/asm/d/meter2/d_meter2_draw.s b/asm/d/meter2/d_meter2_draw.s index bf5393d0b8..19c45e1b51 100644 --- a/asm/d/meter2/d_meter2_draw.s +++ b/asm/d/meter2/d_meter2_draw.s @@ -35,7 +35,7 @@ dMeter2Draw_c: /* 8020FB20 0020CA60 38 64 4F 54 */ addi r3, r4, 0x524F4F54@l /* 8020FB24 0020CA64 3C 80 80 3A */ lis r4, lbl_803988D0@ha /* 8020FB28 0020CA68 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l -/* 8020FB2C 0020CA6C 48 0C 60 0D */ bl JKRArchive_NS_getGlbResource +/* 8020FB2C 0020CA6C 48 0C 60 0D */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8020FB30 0020CA70 3C 80 80 43 */ lis r4, lbl_80430188@ha /* 8020FB34 0020CA74 38 84 01 88 */ addi r4, r4, lbl_80430188@l /* 8020FB38 0020CA78 90 64 00 10 */ stw r3, 0x10(r4) @@ -51,7 +51,7 @@ dMeter2Draw_c: /* 8020FB60 0020CAA0 3C A0 52 4F */ lis r5, 0x524F4F54@ha /* 8020FB64 0020CAA4 38 65 4F 54 */ addi r3, r5, 0x524F4F54@l /* 8020FB68 0020CAA8 7F 45 D3 78 */ mr r5, r26 -/* 8020FB6C 0020CAAC 48 0C 5F CD */ bl JKRArchive_NS_getGlbResource +/* 8020FB6C 0020CAAC 48 0C 5F CD */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8020FB70 0020CAB0 3C 80 80 43 */ lis r4, lbl_80430188@ha /* 8020FB74 0020CAB4 38 84 01 88 */ addi r4, r4, lbl_80430188@l /* 8020FB78 0020CAB8 90 64 00 14 */ stw r3, 0x14(r4) @@ -61,7 +61,7 @@ dMeter2Draw_c: /* 8020FB88 0020CAC8 3C 80 80 3A */ lis r4, lbl_803988D0@ha /* 8020FB8C 0020CACC 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l /* 8020FB90 0020CAD0 38 84 00 6E */ addi r4, r4, 0x6e -/* 8020FB94 0020CAD4 48 0C 5F A5 */ bl JKRArchive_NS_getGlbResource +/* 8020FB94 0020CAD4 48 0C 5F A5 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8020FB98 0020CAD8 3C 80 80 43 */ lis r4, lbl_80430188@ha /* 8020FB9C 0020CADC 38 84 01 88 */ addi r4, r4, lbl_80430188@l /* 8020FBA0 0020CAE0 90 64 00 18 */ stw r3, 0x18(r4) @@ -222,7 +222,7 @@ lbl_8020FD0C: /* 8020FDF4 0020CD34 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l /* 8020FDF8 0020CD38 38 64 00 C3 */ addi r3, r4, 0xc3 /* 8020FDFC 0020CD3C 80 97 5D 30 */ lwz r4, 0x5d30(r23) -/* 8020FE00 0020CD40 48 0C 44 71 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020FE00 0020CD40 48 0C 44 71 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020FE04 0020CD44 48 0F 8C 69 */ bl J2DAnmLoaderDataBase_NS_load /* 8020FE08 0020CD48 90 7F 05 34 */ stw r3, 0x534(r31) /* 8020FE0C 0020CD4C 7F E3 FB 78 */ mr r3, r31 @@ -232,7 +232,7 @@ lbl_8020FD0C: /* 8020FE1C 0020CD5C 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l /* 8020FE20 0020CD60 38 64 00 D9 */ addi r3, r4, 0xd9 /* 8020FE24 0020CD64 80 97 5D 30 */ lwz r4, 0x5d30(r23) -/* 8020FE28 0020CD68 48 0C 44 49 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8020FE28 0020CD68 48 0C 44 49 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8020FE2C 0020CD6C 48 0F 8C 41 */ bl J2DAnmLoaderDataBase_NS_load /* 8020FE30 0020CD70 90 7F 05 38 */ stw r3, 0x538(r31) /* 8020FE34 0020CD74 80 7F 05 38 */ lwz r3, 0x538(r31) @@ -2579,7 +2579,7 @@ lbl_80211FA8: /* 80211FE8 0020EF28 3C 80 80 40 */ lis r4, lbl_804061C0@ha /* 80211FEC 0020EF2C 3B C4 61 C0 */ addi r30, r4, lbl_804061C0@l /* 80211FF0 0020EF30 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 80211FF4 0020EF34 48 0C 22 7D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80211FF4 0020EF34 48 0C 22 7D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80211FF8 0020EF38 48 0F 6A 75 */ bl J2DAnmLoaderDataBase_NS_load /* 80211FFC 0020EF3C 90 7F 05 3C */ stw r3, 0x53c(r31) /* 80212000 0020EF40 80 7F 05 3C */ lwz r3, 0x53c(r31) @@ -2592,7 +2592,7 @@ lbl_80211FA8: /* 8021201C 0020EF5C 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l /* 80212020 0020EF60 38 64 01 15 */ addi r3, r4, 0x115 /* 80212024 0020EF64 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 80212028 0020EF68 48 0C 22 49 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80212028 0020EF68 48 0C 22 49 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8021202C 0020EF6C 48 0F 6A 41 */ bl J2DAnmLoaderDataBase_NS_load /* 80212030 0020EF70 90 7F 05 40 */ stw r3, 0x540(r31) /* 80212034 0020EF74 80 7F 05 40 */ lwz r3, 0x540(r31) @@ -2605,7 +2605,7 @@ lbl_80211FA8: /* 80212050 0020EF90 38 84 88 D0 */ addi r4, r4, lbl_803988D0@l /* 80212054 0020EF94 38 64 01 3A */ addi r3, r4, 0x13a /* 80212058 0020EF98 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 8021205C 0020EF9C 48 0C 22 15 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8021205C 0020EF9C 48 0C 22 15 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80212060 0020EFA0 48 0F 6A 0D */ bl J2DAnmLoaderDataBase_NS_load /* 80212064 0020EFA4 90 7F 05 44 */ stw r3, 0x544(r31) /* 80212068 0020EFA8 80 7F 05 44 */ lwz r3, 0x544(r31) diff --git a/asm/d/meter2/d_meter2_info.s b/asm/d/meter2/d_meter2_info.s index f61d611370..a50be62bef 100644 --- a/asm/d/meter2/d_meter2_info.s +++ b/asm/d/meter2/d_meter2_info.s @@ -349,7 +349,7 @@ dMeter2Info_c_NS_getString: /* 8021C2A4 002191E4 3C 80 80 3A */ lis r4, lbl_80399168@ha /* 8021C2A8 002191E8 38 84 91 68 */ addi r4, r4, lbl_80399168@l /* 8021C2AC 002191EC 38 84 00 01 */ addi r4, r4, 1 -/* 8021C2B0 002191F0 48 0B 98 89 */ bl JKRArchive_NS_getGlbResource +/* 8021C2B0 002191F0 48 0B 98 89 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8021C2B4 002191F4 28 03 00 00 */ cmplwi r3, 0 /* 8021C2B8 002191F8 40 82 00 08 */ bne lbl_8021C2C0 /* 8021C2BC 002191FC 48 00 00 9C */ b lbl_8021C358 @@ -429,7 +429,7 @@ dMeter2Info_c_NS_getStringKana: /* 8021C3C4 00219304 3C 80 80 3A */ lis r4, lbl_80399168@ha /* 8021C3C8 00219308 38 84 91 68 */ addi r4, r4, lbl_80399168@l /* 8021C3CC 0021930C 38 84 00 01 */ addi r4, r4, 1 -/* 8021C3D0 00219310 48 0B 97 69 */ bl JKRArchive_NS_getGlbResource +/* 8021C3D0 00219310 48 0B 97 69 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8021C3D4 00219314 28 03 00 00 */ cmplwi r3, 0 /* 8021C3D8 00219318 40 82 00 08 */ bne lbl_8021C3E0 /* 8021C3DC 0021931C 48 00 01 50 */ b lbl_8021C52C @@ -562,7 +562,7 @@ dMeter2Info_c_NS_getStringKanji: /* 8021C598 002194D8 3C 80 80 3A */ lis r4, lbl_80399168@ha /* 8021C59C 002194DC 38 84 91 68 */ addi r4, r4, lbl_80399168@l /* 8021C5A0 002194E0 38 84 00 01 */ addi r4, r4, 1 -/* 8021C5A4 002194E4 48 0B 95 95 */ bl JKRArchive_NS_getGlbResource +/* 8021C5A4 002194E4 48 0B 95 95 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 8021C5A8 002194E8 28 03 00 00 */ cmplwi r3, 0 /* 8021C5AC 002194EC 40 82 00 08 */ bne lbl_8021C5B4 /* 8021C5B0 002194F0 48 00 00 DC */ b lbl_8021C68C @@ -1317,7 +1317,7 @@ lbl_8021CF88: /* 8021CF94 00219ED4 7E C4 B3 78 */ mr r4, r22 /* 8021CF98 00219ED8 38 A0 0C 00 */ li r5, 0xc00 /* 8021CF9C 00219EDC 38 C0 00 23 */ li r6, 0x23 -/* 8021CFA0 00219EE0 48 0B 8F 2D */ bl JKRArchive_NS_readIdxResource +/* 8021CFA0 00219EE0 48 0B 8F 2D */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021CFA4 00219EE4 48 00 01 04 */ b lbl_8021D0A8 lbl_8021CFA8: /* 8021CFA8 00219EE8 28 00 00 46 */ cmplwi r0, 0x46 @@ -1339,7 +1339,7 @@ lbl_8021CFA8: /* 8021CFE8 00219F28 7E C4 B3 78 */ mr r4, r22 /* 8021CFEC 00219F2C 38 A0 0C 00 */ li r5, 0xc00 /* 8021CFF0 00219F30 38 C0 00 57 */ li r6, 0x57 -/* 8021CFF4 00219F34 48 0B 8E D9 */ bl JKRArchive_NS_readIdxResource +/* 8021CFF4 00219F34 48 0B 8E D9 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021CFF8 00219F38 48 00 00 B0 */ b lbl_8021D0A8 lbl_8021CFFC: /* 8021CFFC 00219F3C 38 1E FF E5 */ addi r0, r30, -27 @@ -1362,7 +1362,7 @@ lbl_8021D018: /* 8021D03C 00219F7C 7E 83 A3 78 */ mr r3, r20 /* 8021D040 00219F80 7E C4 B3 78 */ mr r4, r22 /* 8021D044 00219F84 38 A0 0C 00 */ li r5, 0xc00 -/* 8021D048 00219F88 48 0B 8E 85 */ bl JKRArchive_NS_readIdxResource +/* 8021D048 00219F88 48 0B 8E 85 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D04C 00219F8C 48 00 00 5C */ b lbl_8021D0A8 lbl_8021D050: /* 8021D050 00219F90 2C 15 00 00 */ cmpwi r21, 0 @@ -1373,7 +1373,7 @@ lbl_8021D050: /* 8021D064 00219FA4 7E C4 B3 78 */ mr r4, r22 /* 8021D068 00219FA8 38 A0 0C 00 */ li r5, 0xc00 /* 8021D06C 00219FAC 7E A6 AB 78 */ mr r6, r21 -/* 8021D070 00219FB0 48 0B 8E 5D */ bl JKRArchive_NS_readIdxResource +/* 8021D070 00219FB0 48 0B 8E 5D */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D074 00219FB4 48 00 00 34 */ b lbl_8021D0A8 lbl_8021D078: /* 8021D078 00219FB8 3C 60 80 40 */ lis r3, lbl_804061C0@ha @@ -1387,7 +1387,7 @@ lbl_8021D078: /* 8021D098 00219FD8 1C 00 00 18 */ mulli r0, r0, 0x18 /* 8021D09C 00219FDC 7C C6 02 14 */ add r6, r6, r0 /* 8021D0A0 00219FE0 A8 C6 00 10 */ lha r6, 0x10(r6) -/* 8021D0A4 00219FE4 48 0B 8E 29 */ bl JKRArchive_NS_readIdxResource +/* 8021D0A4 00219FE4 48 0B 8E 29 */ bl readIdxResource__10JKRArchiveFPvUlUl lbl_8021D0A8: /* 8021D0A8 00219FE8 7E C3 B3 78 */ mr r3, r22 /* 8021D0AC 00219FEC 38 80 0C 00 */ li r4, 0xc00 @@ -1451,7 +1451,7 @@ lbl_8021D15C: /* 8021D180 0021A0C0 7E 83 A3 78 */ mr r3, r20 /* 8021D184 0021A0C4 7F 04 C3 78 */ mr r4, r24 /* 8021D188 0021A0C8 38 A0 0C 00 */ li r5, 0xc00 -/* 8021D18C 0021A0CC 48 0B 8D 41 */ bl JKRArchive_NS_readIdxResource +/* 8021D18C 0021A0CC 48 0B 8D 41 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D190 0021A0D0 7F 03 C3 78 */ mr r3, r24 /* 8021D194 0021A0D4 38 80 0C 00 */ li r4, 0xc00 /* 8021D198 0021A0D8 48 11 E4 A1 */ bl DCStoreRangeNoSync @@ -1482,7 +1482,7 @@ lbl_8021D1D8: /* 8021D1F4 0021A134 7E A3 AB 78 */ mr r3, r21 /* 8021D1F8 0021A138 7F 04 C3 78 */ mr r4, r24 /* 8021D1FC 0021A13C 38 A0 0C 00 */ li r5, 0xc00 -/* 8021D200 0021A140 48 0B 8C CD */ bl JKRArchive_NS_readIdxResource +/* 8021D200 0021A140 48 0B 8C CD */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D204 0021A144 7F 03 C3 78 */ mr r3, r24 /* 8021D208 0021A148 38 80 0C 00 */ li r4, 0xc00 /* 8021D20C 0021A14C 48 11 E4 2D */ bl DCStoreRangeNoSync @@ -1516,7 +1516,7 @@ lbl_8021D244: /* 8021D278 0021A1B8 7E A3 AB 78 */ mr r3, r21 /* 8021D27C 0021A1BC 7F 44 D3 78 */ mr r4, r26 /* 8021D280 0021A1C0 38 A0 0C 00 */ li r5, 0xc00 -/* 8021D284 0021A1C4 48 0B 8C 49 */ bl JKRArchive_NS_readIdxResource +/* 8021D284 0021A1C4 48 0B 8C 49 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D288 0021A1C8 7F 43 D3 78 */ mr r3, r26 /* 8021D28C 0021A1CC 38 80 0C 00 */ li r4, 0xc00 /* 8021D290 0021A1D0 48 11 E3 A9 */ bl DCStoreRangeNoSync @@ -1550,7 +1550,7 @@ lbl_8021D2C8: /* 8021D2FC 0021A23C 7E 83 A3 78 */ mr r3, r20 /* 8021D300 0021A240 7F 84 E3 78 */ mr r4, r28 /* 8021D304 0021A244 38 A0 0C 00 */ li r5, 0xc00 -/* 8021D308 0021A248 48 0B 8B C5 */ bl JKRArchive_NS_readIdxResource +/* 8021D308 0021A248 48 0B 8B C5 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8021D30C 0021A24C 7F 83 E3 78 */ mr r3, r28 /* 8021D310 0021A250 38 80 0C 00 */ li r4, 0xc00 /* 8021D314 0021A254 48 11 E3 25 */ bl DCStoreRangeNoSync diff --git a/asm/d/msg/scrn/d_msg_scrn_3select.s b/asm/d/msg/scrn/d_msg_scrn_3select.s index f22b49498d..b7c76ef969 100644 --- a/asm/d/msg/scrn/d_msg_scrn_3select.s +++ b/asm/d/msg/scrn/d_msg_scrn_3select.s @@ -53,7 +53,7 @@ lbl_80239104: /* 80239164 002360A4 38 84 98 40 */ addi r4, r4, lbl_80399840@l /* 80239168 002360A8 38 64 00 17 */ addi r3, r4, 0x17 /* 8023916C 002360AC 80 94 5C 6C */ lwz r4, 0x5c6c(r20) -/* 80239170 002360B0 48 09 B1 01 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80239170 002360B0 48 09 B1 01 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80239174 002360B4 48 0C F8 F9 */ bl J2DAnmLoaderDataBase_NS_load /* 80239178 002360B8 90 7F 00 08 */ stw r3, 8(r31) /* 8023917C 002360BC C0 22 B1 58 */ lfs f1, lbl_80454B58-_SDA2_BASE_(r2) @@ -65,7 +65,7 @@ lbl_80239104: /* 80239194 002360D4 38 84 98 40 */ addi r4, r4, lbl_80399840@l /* 80239198 002360D8 38 64 00 2E */ addi r3, r4, 0x2e /* 8023919C 002360DC 80 94 5C 6C */ lwz r4, 0x5c6c(r20) -/* 802391A0 002360E0 48 09 B0 D1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802391A0 002360E0 48 09 B0 D1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802391A4 002360E4 48 0C F8 C9 */ bl J2DAnmLoaderDataBase_NS_load /* 802391A8 002360E8 90 7F 00 0C */ stw r3, 0xc(r31) /* 802391AC 002360EC 80 7F 00 0C */ lwz r3, 0xc(r31) @@ -80,7 +80,7 @@ lbl_80239104: /* 802391D0 00236110 38 84 98 40 */ addi r4, r4, lbl_80399840@l /* 802391D4 00236114 38 64 00 45 */ addi r3, r4, 0x45 /* 802391D8 00236118 80 94 5C 6C */ lwz r4, 0x5c6c(r20) -/* 802391DC 0023611C 48 09 B0 95 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 802391DC 0023611C 48 09 B0 95 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 802391E0 00236120 48 0C F8 8D */ bl J2DAnmLoaderDataBase_NS_load /* 802391E4 00236124 90 7F 00 10 */ stw r3, 0x10(r31) /* 802391E8 00236128 80 7F 00 10 */ lwz r3, 0x10(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_arrow.s b/asm/d/msg/scrn/d_msg_scrn_arrow.s index 7bd690aa59..43cdb58337 100644 --- a/asm/d/msg/scrn/d_msg_scrn_arrow.s +++ b/asm/d/msg/scrn/d_msg_scrn_arrow.s @@ -48,7 +48,7 @@ lbl_8023B9F0: /* 8023BA50 00238990 38 84 98 A0 */ addi r4, r4, lbl_803998A0@l /* 8023BA54 00238994 38 64 00 1B */ addi r3, r4, 0x1b /* 8023BA58 00238998 80 9E 5C 6C */ lwz r4, 0x5c6c(r30) -/* 8023BA5C 0023899C 48 09 88 15 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8023BA5C 0023899C 48 09 88 15 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8023BA60 002389A0 48 0C D0 0D */ bl J2DAnmLoaderDataBase_NS_load /* 8023BA64 002389A4 90 7F 00 08 */ stw r3, 8(r31) /* 8023BA68 002389A8 C0 02 B1 98 */ lfs f0, lbl_80454B98-_SDA2_BASE_(r2) @@ -57,7 +57,7 @@ lbl_8023B9F0: /* 8023BA74 002389B4 38 84 98 A0 */ addi r4, r4, lbl_803998A0@l /* 8023BA78 002389B8 38 64 00 36 */ addi r3, r4, 0x36 /* 8023BA7C 002389BC 80 9E 5C 6C */ lwz r4, 0x5c6c(r30) -/* 8023BA80 002389C0 48 09 87 F1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8023BA80 002389C0 48 09 87 F1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8023BA84 002389C4 48 0C CF E9 */ bl J2DAnmLoaderDataBase_NS_load /* 8023BA88 002389C8 90 7F 00 0C */ stw r3, 0xc(r31) /* 8023BA8C 002389CC 80 7F 00 0C */ lwz r3, 0xc(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_item.s b/asm/d/msg/scrn/d_msg_scrn_item.s index 4ffbffe209..91a5a1aff9 100644 --- a/asm/d/msg/scrn/d_msg_scrn_item.s +++ b/asm/d/msg/scrn/d_msg_scrn_item.s @@ -210,7 +210,7 @@ lbl_8023EA38: /* 8023EA50 0023B990 80 9F 00 D4 */ lwz r4, 0xd4(r31) /* 8023EA54 0023B994 38 A0 0C 00 */ li r5, 0xc00 /* 8023EA58 0023B998 38 C0 00 3D */ li r6, 0x3d -/* 8023EA5C 0023B99C 48 09 74 71 */ bl JKRArchive_NS_readIdxResource +/* 8023EA5C 0023B99C 48 09 74 71 */ bl readIdxResource__10JKRArchiveFPvUlUl /* 8023EA60 0023B9A0 80 1F 00 D4 */ lwz r0, 0xd4(r31) /* 8023EA64 0023B9A4 90 1F 00 E0 */ stw r0, 0xe0(r31) /* 8023EA68 0023B9A8 38 60 01 50 */ li r3, 0x150 @@ -588,7 +588,7 @@ lbl_8023EF98: /* 8023EFE8 0023BF28 38 84 99 90 */ addi r4, r4, lbl_80399990@l /* 8023EFEC 0023BF2C 38 64 00 39 */ addi r3, r4, 0x39 /* 8023EFF0 0023BF30 80 9E 5C 78 */ lwz r4, 0x5c78(r30) -/* 8023EFF4 0023BF34 48 09 52 7D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8023EFF4 0023BF34 48 09 52 7D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8023EFF8 0023BF38 48 0C 9A 75 */ bl J2DAnmLoaderDataBase_NS_load /* 8023EFFC 0023BF3C 90 7F 01 18 */ stw r3, 0x118(r31) /* 8023F000 0023BF40 80 7F 01 18 */ lwz r3, 0x118(r31) @@ -603,7 +603,7 @@ lbl_8023EF98: /* 8023F024 0023BF64 38 84 99 90 */ addi r4, r4, lbl_80399990@l /* 8023F028 0023BF68 38 64 00 53 */ addi r3, r4, 0x53 /* 8023F02C 0023BF6C 80 9E 5C 78 */ lwz r4, 0x5c78(r30) -/* 8023F030 0023BF70 48 09 52 41 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8023F030 0023BF70 48 09 52 41 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8023F034 0023BF74 48 0C 9A 39 */ bl J2DAnmLoaderDataBase_NS_load /* 8023F038 0023BF78 90 7F 01 2C */ stw r3, 0x12c(r31) /* 8023F03C 0023BF7C 80 7F 01 2C */ lwz r3, 0x12c(r31) @@ -618,7 +618,7 @@ lbl_8023EF98: /* 8023F060 0023BFA0 38 84 99 90 */ addi r4, r4, lbl_80399990@l /* 8023F064 0023BFA4 38 64 00 6D */ addi r3, r4, 0x6d /* 8023F068 0023BFA8 80 9E 5C 78 */ lwz r4, 0x5c78(r30) -/* 8023F06C 0023BFAC 48 09 52 05 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8023F06C 0023BFAC 48 09 52 05 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8023F070 0023BFB0 48 0C 99 FD */ bl J2DAnmLoaderDataBase_NS_load /* 8023F074 0023BFB4 90 7F 01 30 */ stw r3, 0x130(r31) /* 8023F078 0023BFB8 80 7F 01 30 */ lwz r3, 0x130(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_kanban.s b/asm/d/msg/scrn/d_msg_scrn_kanban.s index 0137ef9b1b..be3bbaf7fd 100644 --- a/asm/d/msg/scrn/d_msg_scrn_kanban.s +++ b/asm/d/msg/scrn/d_msg_scrn_kanban.s @@ -65,14 +65,14 @@ lbl_80244EB0: /* 80244F10 00241E50 38 84 9A B8 */ addi r4, r4, lbl_80399AB8@l /* 80244F14 00241E54 38 64 00 19 */ addi r3, r4, 0x19 /* 80244F18 00241E58 80 9D 5C 74 */ lwz r4, 0x5c74(r29) -/* 80244F1C 00241E5C 48 08 F3 55 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80244F1C 00241E5C 48 08 F3 55 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80244F20 00241E60 48 0C 3B 4D */ bl J2DAnmLoaderDataBase_NS_load /* 80244F24 00241E64 90 7F 00 CC */ stw r3, 0xcc(r31) /* 80244F28 00241E68 3C 80 80 3A */ lis r4, lbl_80399AB8@ha /* 80244F2C 00241E6C 38 84 9A B8 */ addi r4, r4, lbl_80399AB8@l /* 80244F30 00241E70 38 64 00 32 */ addi r3, r4, 0x32 /* 80244F34 00241E74 80 9D 5C 74 */ lwz r4, 0x5c74(r29) -/* 80244F38 00241E78 48 08 F3 39 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80244F38 00241E78 48 08 F3 39 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80244F3C 00241E7C 48 0C 3B 31 */ bl J2DAnmLoaderDataBase_NS_load /* 80244F40 00241E80 90 7F 00 D0 */ stw r3, 0xd0(r31) /* 80244F44 00241E84 80 7F 00 D0 */ lwz r3, 0xd0(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_light.s b/asm/d/msg/scrn/d_msg_scrn_light.s index 14fdb2dd50..085bbcd2ba 100644 --- a/asm/d/msg/scrn/d_msg_scrn_light.s +++ b/asm/d/msg/scrn/d_msg_scrn_light.s @@ -198,7 +198,7 @@ lbl_802459AC: /* 80245A0C 0024294C 38 84 9B 08 */ addi r4, r4, lbl_80399B08@l /* 80245A10 00242950 38 64 00 24 */ addi r3, r4, 0x24 /* 80245A14 00242954 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 80245A18 00242958 48 08 E8 59 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80245A18 00242958 48 08 E8 59 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80245A1C 0024295C 48 0C 30 51 */ bl J2DAnmLoaderDataBase_NS_load /* 80245A20 00242960 90 7F 00 08 */ stw r3, 8(r31) /* 80245A24 00242964 C0 02 B2 D8 */ lfs f0, lbl_80454CD8-_SDA2_BASE_(r2) @@ -207,7 +207,7 @@ lbl_802459AC: /* 80245A30 00242970 38 84 9B 08 */ addi r4, r4, lbl_80399B08@l /* 80245A34 00242974 38 64 00 48 */ addi r3, r4, 0x48 /* 80245A38 00242978 80 9E 5D 30 */ lwz r4, 0x5d30(r30) -/* 80245A3C 0024297C 48 08 E8 35 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80245A3C 0024297C 48 08 E8 35 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80245A40 00242980 48 0C 30 2D */ bl J2DAnmLoaderDataBase_NS_load /* 80245A44 00242984 90 7F 00 0C */ stw r3, 0xc(r31) /* 80245A48 00242988 80 7F 00 0C */ lwz r3, 0xc(r31) diff --git a/asm/d/msg/scrn/d_msg_scrn_tree.s b/asm/d/msg/scrn/d_msg_scrn_tree.s index 170d5412cb..69cbf12831 100644 --- a/asm/d/msg/scrn/d_msg_scrn_tree.s +++ b/asm/d/msg/scrn/d_msg_scrn_tree.s @@ -74,14 +74,14 @@ lbl_802489E8: /* 80248A48 00245988 38 84 9C 30 */ addi r4, r4, lbl_80399C30@l /* 80248A4C 0024598C 38 64 00 18 */ addi r3, r4, 0x18 /* 80248A50 00245990 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248A54 00245994 48 08 B8 1D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80248A54 00245994 48 08 B8 1D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80248A58 00245998 48 0C 00 15 */ bl J2DAnmLoaderDataBase_NS_load /* 80248A5C 0024599C 90 7F 00 CC */ stw r3, 0xcc(r31) /* 80248A60 002459A0 3C 80 80 3A */ lis r4, lbl_80399C30@ha /* 80248A64 002459A4 38 84 9C 30 */ addi r4, r4, lbl_80399C30@l /* 80248A68 002459A8 38 64 00 30 */ addi r3, r4, 0x30 /* 80248A6C 002459AC 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248A70 002459B0 48 08 B8 01 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80248A70 002459B0 48 08 B8 01 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80248A74 002459B4 48 0B FF F9 */ bl J2DAnmLoaderDataBase_NS_load /* 80248A78 002459B8 90 7F 00 D0 */ stw r3, 0xd0(r31) /* 80248A7C 002459BC 80 7F 00 D0 */ lwz r3, 0xd0(r31) @@ -96,7 +96,7 @@ lbl_802489E8: /* 80248AA0 002459E0 38 84 9C 30 */ addi r4, r4, lbl_80399C30@l /* 80248AA4 002459E4 38 64 00 48 */ addi r3, r4, 0x48 /* 80248AA8 002459E8 80 9B 5C 74 */ lwz r4, 0x5c74(r27) -/* 80248AAC 002459EC 48 08 B7 C5 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80248AAC 002459EC 48 08 B7 C5 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80248AB0 002459F0 48 0B FF BD */ bl J2DAnmLoaderDataBase_NS_load /* 80248AB4 002459F4 90 7F 00 D4 */ stw r3, 0xd4(r31) /* 80248AB8 002459F8 80 7F 00 D4 */ lwz r3, 0xd4(r31) diff --git a/asm/d/msg/string/d_msg_string_base.s b/asm/d/msg/string/d_msg_string_base.s index dbe336c60a..23bf4e779e 100644 --- a/asm/d/msg/string/d_msg_string_base.s +++ b/asm/d/msg/string/d_msg_string_base.s @@ -259,7 +259,7 @@ dMsgStringBase_c_NS_getResource: /* 80249740 00246680 38 63 4F 54 */ addi r3, r3, 0x524F4F54@l /* 80249744 00246684 3C 80 80 3A */ lis r4, lbl_80399C98@ha /* 80249748 00246688 38 84 9C 98 */ addi r4, r4, lbl_80399C98@l -/* 8024974C 0024668C 48 08 C3 ED */ bl JKRArchive_NS_getGlbResource +/* 8024974C 0024668C 48 08 C3 ED */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 80249750 00246690 90 7F 00 1C */ stw r3, 0x1c(r31) lbl_80249754: /* 80249754 00246694 83 E1 00 0C */ lwz r31, 0xc(r1) diff --git a/asm/d/s/d_s_logo.s b/asm/d/s/d_s_logo.s index ffdf43b749..c96cef0ed0 100644 --- a/asm/d/s/d_s_logo.s +++ b/asm/d/s/d_s_logo.s @@ -1700,12 +1700,12 @@ lbl_802578F4: /* 8025797C 002548BC 3C 80 00 34 */ lis r4, 0x34 /* 80257980 002548C0 38 A0 00 00 */ li r5, 0 /* 80257984 002548C4 38 C0 00 00 */ li r6, 0 -/* 80257988 002548C8 48 07 75 79 */ bl JKRExpHeap_NS_create_X1_ +/* 80257988 002548C8 48 07 75 79 */ bl create__10JKRExpHeapFPvUlP7JKRHeapb /* 8025798C 002548CC 90 7F 01 D0 */ stw r3, 0x1d0(r31) /* 80257990 002548D0 3C 60 00 13 */ lis r3, 0x13 /* 80257994 002548D4 80 9F 01 D0 */ lwz r4, 0x1d0(r31) /* 80257998 002548D8 38 A0 00 00 */ li r5, 0 -/* 8025799C 002548DC 48 07 74 91 */ bl JKRExpHeap_NS_create +/* 8025799C 002548DC 48 07 74 91 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 802579A0 002548E0 90 7F 01 D4 */ stw r3, 0x1d4(r31) /* 802579A4 002548E4 38 60 00 02 */ li r3, 2 /* 802579A8 002548E8 83 E1 00 1C */ lwz r31, 0x1c(r1) diff --git a/asm/d/s/d_s_name.s b/asm/d/s/d_s_name.s index b4382f67e9..ada89f76b0 100644 --- a/asm/d/s/d_s_name.s +++ b/asm/d/s/d_s_name.s @@ -105,7 +105,7 @@ dScnName_c_NS_create: /* 802588EC 0025582C 7C 64 1B 78 */ mr r4, r3 /* 802588F0 00255830 3C 60 00 18 */ lis r3, 0x18 /* 802588F4 00255834 38 A0 00 00 */ li r5, 0 -/* 802588F8 00255838 48 07 65 35 */ bl JKRExpHeap_NS_create +/* 802588F8 00255838 48 07 65 35 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 802588FC 0025583C 90 7D 01 CC */ stw r3, 0x1cc(r29) /* 80258900 00255840 80 7D 01 CC */ lwz r3, 0x1cc(r29) /* 80258904 00255844 4B DB 68 C9 */ bl mDoExt_setCurrentHeap diff --git a/asm/d/select/d_select_cursor.s b/asm/d/select/d_select_cursor.s index 85becac8a8..9cfe7ed277 100644 --- a/asm/d/select/d_select_cursor.s +++ b/asm/d/select/d_select_cursor.s @@ -403,7 +403,7 @@ lbl_8019473C: /* 801947A4 001916E4 38 9E 00 2C */ addi r4, r30, 0x2c /* 801947A8 001916E8 7C 64 00 2E */ lwzx r3, r4, r0 /* 801947AC 001916EC 7F A4 EB 78 */ mr r4, r29 -/* 801947B0 001916F0 48 13 FA C1 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 801947B0 001916F0 48 13 FA C1 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 801947B4 001916F4 48 17 42 B9 */ bl J2DAnmLoaderDataBase_NS_load /* 801947B8 001916F8 90 7F 00 30 */ stw r3, 0x30(r31) /* 801947BC 001916FC 80 7F 00 30 */ lwz r3, 0x30(r31) @@ -434,7 +434,7 @@ lbl_801947E0: /* 80194818 00191758 38 9E 00 3C */ addi r4, r30, 0x3c /* 8019481C 0019175C 7C 64 00 2E */ lwzx r3, r4, r0 /* 80194820 00191760 7F A4 EB 78 */ mr r4, r29 -/* 80194824 00191764 48 13 FA 4D */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80194824 00191764 48 13 FA 4D */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80194828 00191768 48 17 42 45 */ bl J2DAnmLoaderDataBase_NS_load /* 8019482C 0019176C 90 7F 00 34 */ stw r3, 0x34(r31) /* 80194830 00191770 80 7F 00 34 */ lwz r3, 0x34(r31) @@ -465,7 +465,7 @@ lbl_80194854: /* 8019488C 001917CC 38 9E 00 4C */ addi r4, r30, 0x4c /* 80194890 001917D0 7C 64 00 2E */ lwzx r3, r4, r0 /* 80194894 001917D4 7F A4 EB 78 */ mr r4, r29 -/* 80194898 001917D8 48 13 F9 D9 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 80194898 001917D8 48 13 F9 D9 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 8019489C 001917DC 48 17 41 D1 */ bl J2DAnmLoaderDataBase_NS_load /* 801948A0 001917E0 90 7F 00 38 */ stw r3, 0x38(r31) /* 801948A4 001917E4 80 7F 00 38 */ lwz r3, 0x38(r31) @@ -496,7 +496,7 @@ lbl_801948C8: /* 80194900 00191840 38 9E 00 1C */ addi r4, r30, 0x1c /* 80194904 00191844 7C 64 00 2E */ lwzx r3, r4, r0 /* 80194908 00191848 7F A4 EB 78 */ mr r4, r29 -/* 8019490C 0019184C 48 13 F9 65 */ bl JKRFileLoader_NS_getGlbResource_X1_ +/* 8019490C 0019184C 48 13 F9 65 */ bl getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader /* 80194910 00191850 48 17 41 5D */ bl J2DAnmLoaderDataBase_NS_load /* 80194914 00191854 90 7F 00 2C */ stw r3, 0x2c(r31) /* 80194918 00191858 48 00 00 0C */ b lbl_80194924 diff --git a/asm/f/op/msg/f_op_msg_mng.s b/asm/f/op/msg/f_op_msg_mng.s index a6a0117f88..21919143af 100644 --- a/asm/f/op/msg/f_op_msg_mng.s +++ b/asm/f/op/msg/f_op_msg_mng.s @@ -734,7 +734,7 @@ fopMsgM_createExpHeap: lbl_800203C0: /* 800203C0 0001D300 7F E3 FB 78 */ mr r3, r31 /* 800203C4 0001D304 38 A0 00 00 */ li r5, 0 -/* 800203C8 0001D308 48 2A EA 65 */ bl JKRExpHeap_NS_create +/* 800203C8 0001D308 48 2A EA 65 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 800203CC 0001D30C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800203D0 0001D310 80 01 00 14 */ lwz r0, 0x14(r1) /* 800203D4 0001D314 7C 08 03 A6 */ mtlr r0 diff --git a/asm/m/Do/dvd/m_Do_dvd_thread.s b/asm/m/Do/dvd/m_Do_dvd_thread.s index aaaaec1feb..bfb223f991 100644 --- a/asm/m/Do/dvd/m_Do_dvd_thread.s +++ b/asm/m/Do/dvd/m_Do_dvd_thread.s @@ -14,10 +14,10 @@ mDoDvdThd_NS_main: /* 80015814 00012754 7C 64 1B 78 */ mr r4, r3 /* 80015818 00012758 38 61 00 08 */ addi r3, r1, 8 /* 8001581C 0001275C 38 A0 00 00 */ li r5, 0 -/* 80015820 00012760 48 2B BE 99 */ bl JKRThread_X2_ +/* 80015820 00012760 48 2B BE 99 */ bl __ct__9JKRThreadFP8OSThreadi /* 80015824 00012764 38 61 00 08 */ addi r3, r1, 8 /* 80015828 00012768 38 80 FF FF */ li r4, -1 -/* 8001582C 0001276C 48 2B BF 2D */ bl JKRThread_NS_dtor +/* 8001582C 0001276C 48 2B BF 2D */ bl __dt__9JKRThreadFv /* 80015830 00012770 4B FF 94 B5 */ bl mDoExt_getAssertHeap /* 80015834 00012774 48 2B 8C 05 */ bl becomeCurrentHeap__7JKRHeapFv /* 80015838 00012778 7F E3 FB 78 */ mr r3, r31 @@ -811,7 +811,7 @@ lbl_800162F4: /* 800162F4 00013234 80 7E 00 18 */ lwz r3, 0x18(r30) /* 800162F8 00013238 80 9E 00 20 */ lwz r4, 0x20(r30) /* 800162FC 0001323C 7F E6 FB 78 */ mr r6, r31 -/* 80016300 00013240 48 2B F5 C9 */ bl JKRArchive_NS_mount_X2_ +/* 80016300 00013240 48 2B F5 C9 */ bl mount__10JKRArchiveFlQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection /* 80016304 00013244 90 7E 00 1C */ stw r3, 0x1c(r30) /* 80016308 00013248 80 7E 00 1C */ lwz r3, 0x1c(r30) /* 8001630C 0001324C 30 03 FF FF */ addic r0, r3, -1 diff --git a/asm/m/Do/m_Do_DVDError.s b/asm/m/Do/m_Do_DVDError.s index b3913d1999..2692eff2e8 100644 --- a/asm/m/Do/m_Do_DVDError.s +++ b/asm/m/Do/m_Do_DVDError.s @@ -91,10 +91,10 @@ mDoDvdErr_Watch: /* 800166BC 000135FC 7C 64 1B 78 */ mr r4, r3 /* 800166C0 00013600 38 61 00 08 */ addi r3, r1, 8 /* 800166C4 00013604 38 A0 00 00 */ li r5, 0 -/* 800166C8 00013608 48 2B AF F1 */ bl JKRThread_X2_ +/* 800166C8 00013608 48 2B AF F1 */ bl __ct__9JKRThreadFP8OSThreadi /* 800166CC 0001360C 38 61 00 08 */ addi r3, r1, 8 /* 800166D0 00013610 38 80 FF FF */ li r4, -1 -/* 800166D4 00013614 48 2B B0 85 */ bl JKRThread_NS_dtor +/* 800166D4 00013614 48 2B B0 85 */ bl __dt__9JKRThreadFv /* 800166D8 00013618 4B FF 86 0D */ bl mDoExt_getAssertHeap /* 800166DC 0001361C 48 2B 7D 5D */ bl becomeCurrentHeap__7JKRHeapFv /* 800166E0 00013620 3C 60 80 3E */ lis r3, lbl_803DECC0@ha diff --git a/asm/m/Do/m_Do_MemCard.s b/asm/m/Do/m_Do_MemCard.s index 276856f9e7..d8aa79694d 100644 --- a/asm/m/Do/m_Do_MemCard.s +++ b/asm/m/Do/m_Do_MemCard.s @@ -985,10 +985,10 @@ mDoMemCd_main: /* 8001742C 0001436C 7C 64 1B 78 */ mr r4, r3 /* 80017430 00014370 38 61 00 08 */ addi r3, r1, 8 /* 80017434 00014374 38 A0 00 00 */ li r5, 0 -/* 80017438 00014378 48 2B A2 81 */ bl JKRThread_X2_ +/* 80017438 00014378 48 2B A2 81 */ bl __ct__9JKRThreadFP8OSThreadi /* 8001743C 0001437C 38 61 00 08 */ addi r3, r1, 8 /* 80017440 00014380 38 80 FF FF */ li r4, -1 -/* 80017444 00014384 48 2B A3 15 */ bl JKRThread_NS_dtor +/* 80017444 00014384 48 2B A3 15 */ bl __dt__9JKRThreadFv /* 80017448 00014388 4B FF 78 9D */ bl mDoExt_getAssertHeap /* 8001744C 0001438C 48 2B 6F ED */ bl becomeCurrentHeap__7JKRHeapFv /* 80017450 00014390 3C 60 80 3F */ lis r3, lbl_803EAF40@ha diff --git a/asm/m/Do/m_Do_audio.s b/asm/m/Do/m_Do_audio.s index 6d5350d122..d3258f121b 100644 --- a/asm/m/Do/m_Do_audio.s +++ b/asm/m/Do/m_Do_audio.s @@ -69,7 +69,7 @@ lbl_80007030: /* 80007094 00003FD4 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 80007098 00003FD8 48 2C 77 19 */ bl changeGroupID__7JKRHeapFUc /* 8000709C 00003FDC 80 6D 86 3C */ lwz r3, lbl_80450BBC-_SDA_BASE_(r13) -/* 800070A0 00003FE0 48 2C 9B 55 */ bl JKRSolidHeap_NS_adjustSize +/* 800070A0 00003FE0 48 2C 9B 55 */ bl adjustSize__12JKRSolidHeapFv /* 800070A4 00003FE4 48 00 00 18 */ b lbl_800070BC lbl_800070A8: /* 800070A8 00003FE8 3C 60 80 37 */ lis r3, lbl_80373D68@ha diff --git a/asm/m/Do/m_Do_ext.s b/asm/m/Do/m_Do_ext.s index aef6aec17b..614aba4c4a 100644 --- a/asm/m/Do/m_Do_ext.s +++ b/asm/m/Do/m_Do_ext.s @@ -2004,7 +2004,7 @@ mDoExt_createAssertHeap: /* 8000ECC0 0000BC00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8000ECC4 0000BC04 7C 08 02 A6 */ mflr r0 /* 8000ECC8 0000BC08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8000ECCC 0000BC0C 48 2C 26 9D */ bl JKRAssertHeap_NS_create +/* 8000ECCC 0000BC0C 48 2C 26 9D */ bl create__13JKRAssertHeapFP7JKRHeap /* 8000ECD0 0000BC10 90 6D 86 A0 */ stw r3, lbl_80450C20-_SDA_BASE_(r13) /* 8000ECD4 0000BC14 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000ECD8 0000BC18 7C 08 03 A6 */ mtlr r0 @@ -2022,7 +2022,7 @@ mDoExt_createDbPrintHeap: /* 8000ECF0 0000BC30 7C 08 02 A6 */ mflr r0 /* 8000ECF4 0000BC34 90 01 00 14 */ stw r0, 0x14(r1) /* 8000ECF8 0000BC38 38 A0 00 01 */ li r5, 1 -/* 8000ECFC 0000BC3C 48 2C 01 31 */ bl JKRExpHeap_NS_create +/* 8000ECFC 0000BC3C 48 2C 01 31 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000ED00 0000BC40 90 6D 86 A4 */ stw r3, lbl_80450C24-_SDA_BASE_(r13) /* 8000ED04 0000BC44 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000ED08 0000BC48 7C 08 03 A6 */ mtlr r0 @@ -2040,7 +2040,7 @@ mDoExt_createGameHeap: /* 8000ED20 0000BC60 7C 08 02 A6 */ mflr r0 /* 8000ED24 0000BC64 90 01 00 14 */ stw r0, 0x14(r1) /* 8000ED28 0000BC68 38 A0 00 01 */ li r5, 1 -/* 8000ED2C 0000BC6C 48 2C 01 01 */ bl JKRExpHeap_NS_create +/* 8000ED2C 0000BC6C 48 2C 01 01 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000ED30 0000BC70 90 6D 86 A8 */ stw r3, lbl_80450C28-_SDA_BASE_(r13) /* 8000ED34 0000BC74 38 00 00 01 */ li r0, 1 /* 8000ED38 0000BC78 98 03 00 6C */ stb r0, 0x6c(r3) @@ -2061,7 +2061,7 @@ mDoExt_createZeldaHeap: /* 8000ED5C 0000BC9C 7C 08 02 A6 */ mflr r0 /* 8000ED60 0000BCA0 90 01 00 14 */ stw r0, 0x14(r1) /* 8000ED64 0000BCA4 38 A0 00 01 */ li r5, 1 -/* 8000ED68 0000BCA8 48 2C 00 C5 */ bl JKRExpHeap_NS_create +/* 8000ED68 0000BCA8 48 2C 00 C5 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000ED6C 0000BCAC 90 6D 86 AC */ stw r3, lbl_80450C2C-_SDA_BASE_(r13) /* 8000ED70 0000BCB0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000ED74 0000BCB4 7C 08 03 A6 */ mtlr r0 @@ -2079,7 +2079,7 @@ mDoExt_createCommandHeap: /* 8000ED8C 0000BCCC 7C 08 02 A6 */ mflr r0 /* 8000ED90 0000BCD0 90 01 00 14 */ stw r0, 0x14(r1) /* 8000ED94 0000BCD4 38 A0 00 01 */ li r5, 1 -/* 8000ED98 0000BCD8 48 2C 00 95 */ bl JKRExpHeap_NS_create +/* 8000ED98 0000BCD8 48 2C 00 95 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000ED9C 0000BCDC 90 6D 86 B0 */ stw r3, lbl_80450C30-_SDA_BASE_(r13) /* 8000EDA0 0000BCE0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8000EDA4 0000BCE4 7C 08 03 A6 */ mtlr r0 @@ -2097,7 +2097,7 @@ mDoExt_createArchiveHeap: /* 8000EDBC 0000BCFC 7C 08 02 A6 */ mflr r0 /* 8000EDC0 0000BD00 90 01 00 14 */ stw r0, 0x14(r1) /* 8000EDC4 0000BD04 38 A0 00 01 */ li r5, 1 -/* 8000EDC8 0000BD08 48 2C 00 65 */ bl JKRExpHeap_NS_create +/* 8000EDC8 0000BD08 48 2C 00 65 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000EDCC 0000BD0C 90 6D 86 B4 */ stw r3, lbl_80450C34-_SDA_BASE_(r13) /* 8000EDD0 0000BD10 38 00 00 01 */ li r0, 1 /* 8000EDD4 0000BD14 98 03 00 6C */ stb r0, 0x6c(r3) @@ -2123,7 +2123,7 @@ mDoExt_createJ2dHeap: /* 8000EE00 0000BD40 7C 08 02 A6 */ mflr r0 /* 8000EE04 0000BD44 90 01 00 14 */ stw r0, 0x14(r1) /* 8000EE08 0000BD48 38 A0 00 01 */ li r5, 1 -/* 8000EE0C 0000BD4C 48 2C 00 21 */ bl JKRExpHeap_NS_create +/* 8000EE0C 0000BD4C 48 2C 00 21 */ bl create__10JKRExpHeapFUlP7JKRHeapb /* 8000EE10 0000BD50 90 6D 86 B8 */ stw r3, lbl_80450C38-_SDA_BASE_(r13) /* 8000EE14 0000BD54 38 00 00 01 */ li r0, 1 /* 8000EE18 0000BD58 98 03 00 6C */ stb r0, 0x6c(r3) @@ -2161,7 +2161,7 @@ lbl_8000EE5C: lbl_8000EE70: /* 8000EE70 0000BDB0 38 60 FF FF */ li r3, -1 /* 8000EE74 0000BDB4 38 A0 00 00 */ li r5, 0 -/* 8000EE78 0000BDB8 48 2C 1B AD */ bl JKRSolidHeap_NS_create +/* 8000EE78 0000BDB8 48 2C 1B AD */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 8000EE7C 0000BDBC 7C 7F 1B 78 */ mr r31, r3 /* 8000EE80 0000BDC0 48 00 00 2C */ b lbl_8000EEAC lbl_8000EE84: @@ -2174,7 +2174,7 @@ lbl_8000EE84: /* 8000EE9C 0000BDDC 38 63 FF F0 */ addi r3, r3, -16 lbl_8000EEA0: /* 8000EEA0 0000BDE0 38 A0 00 00 */ li r5, 0 -/* 8000EEA4 0000BDE4 48 2C 1B 81 */ bl JKRSolidHeap_NS_create +/* 8000EEA4 0000BDE4 48 2C 1B 81 */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 8000EEA8 0000BDE8 7C 7F 1B 78 */ mr r31, r3 lbl_8000EEAC: /* 8000EEAC 0000BDEC 28 1F 00 00 */ cmplwi r31, 0 @@ -2355,7 +2355,7 @@ lbl_8000F0E0: /* 8000F100 0000C040 48 00 00 40 */ b lbl_8000F140 lbl_8000F104: /* 8000F104 0000C044 7F C3 F3 78 */ mr r3, r30 -/* 8000F108 0000C048 48 2C 1A ED */ bl JKRSolidHeap_NS_adjustSize +/* 8000F108 0000C048 48 2C 1A ED */ bl adjustSize__12JKRSolidHeapFv /* 8000F10C 0000C04C 2C 03 00 00 */ cmpwi r3, 0 /* 8000F110 0000C050 40 80 00 24 */ bge lbl_8000F134 /* 8000F114 0000C054 3C 60 80 37 */ lis r3, lbl_803740FC@ha @@ -2453,7 +2453,7 @@ mDoExt_resIDToIndex: /* 8000F228 0000C168 90 01 00 14 */ stw r0, 0x14(r1) /* 8000F22C 0000C16C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8000F230 0000C170 7C 7F 1B 78 */ mr r31, r3 -/* 8000F234 0000C174 48 2C 75 3D */ bl JKRArchive_NS_findIdResource +/* 8000F234 0000C174 48 2C 75 3D */ bl findIdResource__10JKRArchiveCFUs /* 8000F238 0000C178 28 03 00 00 */ cmplwi r3, 0 /* 8000F23C 0000C17C 40 82 00 0C */ bne lbl_8000F248 /* 8000F240 0000C180 38 60 FF FF */ li r3, -1 @@ -8337,7 +8337,7 @@ mDoExt_initFontCommon: /* 80014834 00011774 38 63 4F 54 */ addi r3, r3, 0x524F4F54@l /* 80014838 00011778 7C C4 33 78 */ mr r4, r6 /* 8001483C 0001177C 7C E5 3B 78 */ mr r5, r7 -/* 80014840 00011780 48 2C 12 F9 */ bl JKRArchive_NS_getGlbResource +/* 80014840 00011780 48 2C 12 F9 */ bl getGlbResource__10JKRArchiveFUlPCcP10JKRArchive /* 80014844 00011784 90 7F 00 00 */ stw r3, 0(r31) /* 80014848 00011788 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 8001484C 0001178C 40 82 00 70 */ bne lbl_800148BC @@ -8366,7 +8366,7 @@ lbl_8001488C: lbl_800148A4: /* 800148A4 000117E4 80 7F 00 00 */ lwz r3, 0(r31) /* 800148A8 000117E8 38 80 00 00 */ li r4, 0 -/* 800148AC 000117EC 48 2B FA 5D */ bl JKRFileLoader_NS_removeResource +/* 800148AC 000117EC 48 2B FA 5D */ bl removeResource__13JKRFileLoaderFPvP13JKRFileLoader /* 800148B0 000117F0 38 00 00 00 */ li r0, 0 /* 800148B4 000117F4 90 1F 00 00 */ stw r0, 0(r31) /* 800148B8 000117F8 48 00 00 28 */ b lbl_800148E0 diff --git a/asm/m/Do/m_Do_machine.s b/asm/m/Do/m_Do_machine.s index fb9d7378ff..d5ae8a6609 100644 --- a/asm/m/Do/m_Do_machine.s +++ b/asm/m/Do/m_Do_machine.s @@ -1018,7 +1018,7 @@ lbl_8000BED4: /* 8000BFEC 00008F2C 80 AD 8D F0 */ lwz r5, lbl_80451370-_SDA_BASE_(r13) /* 8000BFF0 00008F30 48 2C 80 45 */ bl JKRAramStream_NS_setTransBuffer /* 8000BFF4 00008F34 38 60 00 00 */ li r3, 0 -/* 8000BFF8 00008F38 48 2C 5A 1D */ bl JKRThreadSwitch_NS_createManager +/* 8000BFF8 00008F38 48 2C 5A 1D */ bl createManager__15JKRThreadSwitchFP7JKRHeap /* 8000BFFC 00008F3C 38 60 00 7C */ li r3, 0x7c /* 8000C000 00008F40 48 2C 2C 4D */ bl __nw__FUl /* 8000C004 00008F44 7C 7F 1B 79 */ or. r31, r3, r3 @@ -1027,7 +1027,7 @@ lbl_8000BED4: /* 8000C010 00008F50 7C 64 1B 78 */ mr r4, r3 /* 8000C014 00008F54 7F E3 FB 78 */ mr r3, r31 /* 8000C018 00008F58 38 A0 00 00 */ li r5, 0 -/* 8000C01C 00008F5C 48 2C 56 9D */ bl JKRThread_X2_ +/* 8000C01C 00008F5C 48 2C 56 9D */ bl __ct__9JKRThreadFP8OSThreadi lbl_8000C020: /* 8000C020 00008F60 80 6D 8C 38 */ lwz r3, lbl_804511B8-_SDA_BASE_(r13) /* 8000C024 00008F64 38 00 00 03 */ li r0, 3 diff --git a/include/JSystem/JKernel/JKRArchive/JKRArchive.h b/include/JSystem/JKernel/JKRArchive/JKRArchive.h index d0a776359b..539d96caff 100644 --- a/include/JSystem/JKernel/JKRArchive/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive/JKRArchive.h @@ -1,8 +1,118 @@ -#ifndef JKRARCHIVE_H_ -#define JKRARCHIVE_H_ +#ifndef __JKRARCHIVEPUB_H__ +#define __JKRARCHIVEPUB_H__ -class JKRArchive { +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h" +class JKRHeap; +class JKRDvdFile; +class JKRArchive : public JKRFileLoader { + public: + class SDirEntry {}; + class SDIFileEntry {}; + + enum EMountMode { + UNKNOWN_MOUNT_MODE = 0, + MEM = 1, + ARAM = 2, + DVD = 3, + COMP = 4, + }; + + enum EMountDirection { + UNKNOWN_MOUNT_DIRECTION = 0, + HEAD = 1, + TAIL = 2, + }; + + class CArcName { + public: + CArcName() { + } + CArcName(char const* data) { + this->store(data); + } + CArcName(char const** data, char endChar) { + *data = this->store(*data, endChar); + } + + void store(char const* data); + const char* store(char const* data, char endChar); + + u16 getHash() { + return mHash; + } + const char* getString() { + return mData; + } + + u16 mHash; + u16 mLength; + char mData[64]; + }; + + public: + JKRArchive(long, EMountMode); + virtual ~JKRArchive(); + + // virtual unmount from JKRFileLoader + virtual void becomeCurrent(char const*); + virtual void getResource(char const*); + virtual void getResource(u32, char const*); + virtual void readResource(void*, u32, char const*); + virtual void readResource(void*, u32, u32, char const*); + virtual void removeResourceAll(void); + virtual void removeResource(void*); + virtual void detachResource(void*); + virtual void getResSize(void const*) const; + virtual void countFile(char const*) const; + virtual void getFirstFile(char const*) const; + virtual void vt_func_16(); + virtual void vt_func_17(); + virtual void vt_func_18(); + virtual void setExpandSize(SDIFileEntry*, u32); + virtual void getExpandSize(SDIFileEntry*) const; + + void check_mount_already(long, JKRHeap*); + void mount(char const*, EMountMode, JKRHeap*, EMountDirection); + void mount(void*, JKRHeap*, EMountDirection); + void mount(long, EMountMode, JKRHeap*, EMountDirection); + bool getDirEntry(SDirEntry*, u32) const; + void getGlbResource(u32, char const*, JKRArchive*); + + void getIdxResource(u32); + void getResource(unsigned short); + + void readIdxResource(void*, u32, u32); + void readResource(void*, u32, unsigned short); + + void countResource(void) const; + void getFileAttribute(u32) const; + + void isSameName(CArcName&, u32, unsigned short) const; + void findResType(u32) const; + void findDirectory(char const*, u32) const; + void findTypeResource(u32, char const*) const; + void findFsResource(char const*, u32) const; + void findIdxResource(u32) const; + void findNameResource(char const*) const; + void findPtrResource(void const*) const; + void findIdResource(unsigned short) const; + + private: + JKRHeap* mHeap; + EMountMode mMountMode; + int mEntryNum; + void* mArcInfoBlock; + void* mNodes; + SDIFileEntry* mDirs; + int* mExpandedSize; + char* mStringTable; + u32 field_0x58; + u32 field_0x5c; + EMountDirection mMountDirection; + u32 field_0x64; + JKRDvdFile* mDvdFile; }; -#endif \ No newline at end of file +#endif diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5778.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5778.s new file mode 100644 index 0000000000..5c0c8ad106 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5778.s @@ -0,0 +1,33 @@ +/* check_mount_already__10JKRArchiveFlP7JKRHeap __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::check_mount_already(long, JKRHeap *) */ +/* JKRArchive_NS_check_mount_already */ +/* 802D5778 002D26B8 28 04 00 00 */ cmplwi r4, 0 +/* 802D577C 002D26BC 40 82 00 08 */ bne lbl_802D5784 +/* 802D5780 002D26C0 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) +lbl_802D5784: +/* 802D5784 002D26C4 3C A0 80 43 */ lis r5, lbl_80434354@ha +/* 802D5788 002D26C8 80 C5 43 54 */ lwz r6, lbl_80434354@l(r5) +/* 802D578C 002D26CC 48 00 00 48 */ b lbl_802D57D4 +lbl_802D5790: +/* 802D5790 002D26D0 80 E6 00 00 */ lwz r7, 0(r6) +/* 802D5794 002D26D4 80 A7 00 2C */ lwz r5, 0x2c(r7) +/* 802D5798 002D26D8 3C 05 AD BF */ addis r0, r5, 0xadbf +/* 802D579C 002D26DC 28 00 52 43 */ cmplwi r0, 0x5243 +/* 802D57A0 002D26E0 40 82 00 30 */ bne lbl_802D57D0 +/* 802D57A4 002D26E4 80 07 00 40 */ lwz r0, 0x40(r7) +/* 802D57A8 002D26E8 7C 00 18 00 */ cmpw r0, r3 +/* 802D57AC 002D26EC 40 82 00 24 */ bne lbl_802D57D0 +/* 802D57B0 002D26F0 80 07 00 38 */ lwz r0, 0x38(r7) +/* 802D57B4 002D26F4 7C 00 20 40 */ cmplw r0, r4 +/* 802D57B8 002D26F8 40 82 00 18 */ bne lbl_802D57D0 +/* 802D57BC 002D26FC 80 67 00 34 */ lwz r3, 0x34(r7) +/* 802D57C0 002D2700 38 03 00 01 */ addi r0, r3, 1 +/* 802D57C4 002D2704 90 07 00 34 */ stw r0, 0x34(r7) +/* 802D57C8 002D2708 7C E3 3B 78 */ mr r3, r7 +/* 802D57CC 002D270C 4E 80 00 20 */ blr +lbl_802D57D0: +/* 802D57D0 002D2710 80 C6 00 0C */ lwz r6, 0xc(r6) +lbl_802D57D4: +/* 802D57D4 002D2714 28 06 00 00 */ cmplwi r6, 0 +/* 802D57D8 002D2718 40 82 FF B8 */ bne lbl_802D5790 +/* 802D57DC 002D271C 38 60 00 00 */ li r3, 0 +/* 802D57E0 002D2720 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D57E4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D57E4.s new file mode 100644 index 0000000000..e18f0a46ff --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D57E4.s @@ -0,0 +1,27 @@ +/* mount__10JKRArchiveFPCcQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::mount(char const *, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountMode, JKRHeap *, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountDirection) */ +/* JKRArchive_NS_mount */ +/* 802D57E4 002D2724 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D57E8 002D2728 7C 08 02 A6 */ mflr r0 +/* 802D57EC 002D272C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D57F0 002D2730 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D57F4 002D2734 48 08 C9 E9 */ bl _savegpr_29 +/* 802D57F8 002D2738 7C 9D 23 78 */ mr r29, r4 +/* 802D57FC 002D273C 7C BE 2B 78 */ mr r30, r5 +/* 802D5800 002D2740 7C DF 33 78 */ mr r31, r6 +/* 802D5804 002D2744 48 07 2D 25 */ bl DVDConvertPathToEntrynum +/* 802D5808 002D2748 2C 03 00 00 */ cmpwi r3, 0 +/* 802D580C 002D274C 40 80 00 0C */ bge lbl_802D5818 +/* 802D5810 002D2750 38 60 00 00 */ li r3, 0 +/* 802D5814 002D2754 48 00 00 14 */ b lbl_802D5828 +lbl_802D5818: +/* 802D5818 002D2758 7F A4 EB 78 */ mr r4, r29 +/* 802D581C 002D275C 7F C5 F3 78 */ mr r5, r30 +/* 802D5820 002D2760 7F E6 FB 78 */ mr r6, r31 +/* 802D5824 002D2764 48 00 00 A5 */ bl mount__10JKRArchiveFlQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection +lbl_802D5828: +/* 802D5828 002D2768 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D582C 002D276C 48 08 C9 FD */ bl _restgpr_29 +/* 802D5830 002D2770 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5834 002D2774 7C 08 03 A6 */ mtlr r0 +/* 802D5838 002D2778 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D583C 002D277C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5840.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5840.s new file mode 100644 index 0000000000..f92fd49538 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5840.s @@ -0,0 +1,40 @@ +/* mount__10JKRArchiveFPvP7JKRHeapQ210JKRArchive15EMountDirection __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::mount(void *, JKRHeap *, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountDirection) */ +/* JKRArchive_NS_mount_X1_ */ +/* 802D5840 002D2780 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5844 002D2784 7C 08 02 A6 */ mflr r0 +/* 802D5848 002D2788 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D584C 002D278C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5850 002D2790 48 08 C9 8D */ bl _savegpr_29 +/* 802D5854 002D2794 7C 7D 1B 78 */ mr r29, r3 +/* 802D5858 002D2798 7C 9E 23 78 */ mr r30, r4 +/* 802D585C 002D279C 7C BF 2B 78 */ mr r31, r5 +/* 802D5860 002D27A0 4B FF FF 19 */ bl check_mount_already__10JKRArchiveFlP7JKRHeap +/* 802D5864 002D27A4 28 03 00 00 */ cmplwi r3, 0 +/* 802D5868 002D27A8 41 82 00 08 */ beq lbl_802D5870 +/* 802D586C 002D27AC 48 00 00 44 */ b lbl_802D58B0 +lbl_802D5870: +/* 802D5870 002D27B0 38 60 00 70 */ li r3, 0x70 +/* 802D5874 002D27B4 7F C4 F3 78 */ mr r4, r30 +/* 802D5878 002D27B8 2C 1F 00 01 */ cmpwi r31, 1 +/* 802D587C 002D27BC 38 A0 FF FC */ li r5, -4 +/* 802D5880 002D27C0 40 82 00 08 */ bne lbl_802D5888 +/* 802D5884 002D27C4 38 A0 00 04 */ li r5, 4 +lbl_802D5888: +/* 802D5888 002D27C8 4B FF 94 11 */ bl __nw__FUlP7JKRHeapi +/* 802D588C 002D27CC 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D5890 002D27D0 41 82 00 1C */ beq lbl_802D58AC +/* 802D5894 002D27D4 7F A4 EB 78 */ mr r4, r29 +/* 802D5898 002D27D8 3C A0 00 01 */ lis r5, 0x0000FFFF@ha +/* 802D589C 002D27DC 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l +/* 802D58A0 002D27E0 38 C0 00 00 */ li r6, 0 +/* 802D58A4 002D27E4 48 00 11 C9 */ bl JKRMemArchive_X1_ +/* 802D58A8 002D27E8 7C 60 1B 78 */ mr r0, r3 +lbl_802D58AC: +/* 802D58AC 002D27EC 7C 03 03 78 */ mr r3, r0 +lbl_802D58B0: +/* 802D58B0 002D27F0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D58B4 002D27F4 48 08 C9 75 */ bl _restgpr_29 +/* 802D58B8 002D27F8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D58BC 002D27FC 7C 08 03 A6 */ mtlr r0 +/* 802D58C0 002D2800 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D58C4 002D2804 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D58C8.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D58C8.s new file mode 100644 index 0000000000..27c369a02a --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D58C8.s @@ -0,0 +1,109 @@ +/* mount__10JKRArchiveFlQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::mount(long, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountMode, JKRHeap *, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountDirection) */ +/* JKRArchive_NS_mount_X2_ */ +/* 802D58C8 002D2808 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D58CC 002D280C 7C 08 02 A6 */ mflr r0 +/* 802D58D0 002D2810 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D58D4 002D2814 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D58D8 002D2818 48 08 C8 FD */ bl _savegpr_27 +/* 802D58DC 002D281C 7C 7B 1B 78 */ mr r27, r3 +/* 802D58E0 002D2820 7C 9C 23 78 */ mr r28, r4 +/* 802D58E4 002D2824 7C BD 2B 78 */ mr r29, r5 +/* 802D58E8 002D2828 7C DE 33 78 */ mr r30, r6 +/* 802D58EC 002D282C 7F A4 EB 78 */ mr r4, r29 +/* 802D58F0 002D2830 4B FF FE 89 */ bl check_mount_already__10JKRArchiveFlP7JKRHeap +/* 802D58F4 002D2834 28 03 00 00 */ cmplwi r3, 0 +/* 802D58F8 002D2838 41 82 00 08 */ beq lbl_802D5900 +/* 802D58FC 002D283C 48 00 01 24 */ b lbl_802D5A20 +lbl_802D5900: +/* 802D5900 002D2840 2C 1E 00 01 */ cmpwi r30, 1 +/* 802D5904 002D2844 38 A0 FF FC */ li r5, -4 +/* 802D5908 002D2848 40 82 00 08 */ bne lbl_802D5910 +/* 802D590C 002D284C 38 A0 00 04 */ li r5, 4 +lbl_802D5910: +/* 802D5910 002D2850 2C 1C 00 03 */ cmpwi r28, 3 +/* 802D5914 002D2854 41 82 00 7C */ beq lbl_802D5990 +/* 802D5918 002D2858 40 80 00 14 */ bge lbl_802D592C +/* 802D591C 002D285C 2C 1C 00 01 */ cmpwi r28, 1 +/* 802D5920 002D2860 41 82 00 18 */ beq lbl_802D5938 +/* 802D5924 002D2864 40 80 00 40 */ bge lbl_802D5964 +/* 802D5928 002D2868 48 00 00 BC */ b lbl_802D59E4 +lbl_802D592C: +/* 802D592C 002D286C 2C 1C 00 05 */ cmpwi r28, 5 +/* 802D5930 002D2870 40 80 00 B4 */ bge lbl_802D59E4 +/* 802D5934 002D2874 48 00 00 88 */ b lbl_802D59BC +lbl_802D5938: +/* 802D5938 002D2878 38 60 00 70 */ li r3, 0x70 +/* 802D593C 002D287C 7F A4 EB 78 */ mr r4, r29 +/* 802D5940 002D2880 4B FF 93 59 */ bl __nw__FUlP7JKRHeapi +/* 802D5944 002D2884 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D5948 002D2888 41 82 00 14 */ beq lbl_802D595C +/* 802D594C 002D288C 7F 64 DB 78 */ mr r4, r27 +/* 802D5950 002D2890 7F C5 F3 78 */ mr r5, r30 +/* 802D5954 002D2894 48 00 10 65 */ bl JKRMemArchive +/* 802D5958 002D2898 7C 60 1B 78 */ mr r0, r3 +lbl_802D595C: +/* 802D595C 002D289C 7C 1F 03 78 */ mr r31, r0 +/* 802D5960 002D28A0 48 00 00 84 */ b lbl_802D59E4 +lbl_802D5964: +/* 802D5964 002D28A4 38 60 00 6C */ li r3, 0x6c +/* 802D5968 002D28A8 7F A4 EB 78 */ mr r4, r29 +/* 802D596C 002D28AC 4B FF 93 2D */ bl __nw__FUlP7JKRHeapi +/* 802D5970 002D28B0 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D5974 002D28B4 41 82 00 14 */ beq lbl_802D5988 +/* 802D5978 002D28B8 7F 64 DB 78 */ mr r4, r27 +/* 802D597C 002D28BC 7F C5 F3 78 */ mr r5, r30 +/* 802D5980 002D28C0 48 00 17 41 */ bl JKRAramArchive +/* 802D5984 002D28C4 7C 60 1B 78 */ mr r0, r3 +lbl_802D5988: +/* 802D5988 002D28C8 7C 1F 03 78 */ mr r31, r0 +/* 802D598C 002D28CC 48 00 00 58 */ b lbl_802D59E4 +lbl_802D5990: +/* 802D5990 002D28D0 38 60 00 6C */ li r3, 0x6c +/* 802D5994 002D28D4 7F A4 EB 78 */ mr r4, r29 +/* 802D5998 002D28D8 4B FF 93 01 */ bl __nw__FUlP7JKRHeapi +/* 802D599C 002D28DC 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D59A0 002D28E0 41 82 00 14 */ beq lbl_802D59B4 +/* 802D59A4 002D28E4 7F 64 DB 78 */ mr r4, r27 +/* 802D59A8 002D28E8 7F C5 F3 78 */ mr r5, r30 +/* 802D59AC 002D28EC 48 00 22 45 */ bl JKRDvdArchive +/* 802D59B0 002D28F0 7C 60 1B 78 */ mr r0, r3 +lbl_802D59B4: +/* 802D59B4 002D28F4 7C 1F 03 78 */ mr r31, r0 +/* 802D59B8 002D28F8 48 00 00 2C */ b lbl_802D59E4 +lbl_802D59BC: +/* 802D59BC 002D28FC 38 60 00 80 */ li r3, 0x80 +/* 802D59C0 002D2900 7F A4 EB 78 */ mr r4, r29 +/* 802D59C4 002D2904 4B FF 92 D5 */ bl __nw__FUlP7JKRHeapi +/* 802D59C8 002D2908 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D59CC 002D290C 41 82 00 14 */ beq lbl_802D59E0 +/* 802D59D0 002D2910 7F 64 DB 78 */ mr r4, r27 +/* 802D59D4 002D2914 7F C5 F3 78 */ mr r5, r30 +/* 802D59D8 002D2918 48 00 2D FD */ bl JKRCompArchive +/* 802D59DC 002D291C 7C 60 1B 78 */ mr r0, r3 +lbl_802D59E0: +/* 802D59E0 002D2920 7C 1F 03 78 */ mr r31, r0 +lbl_802D59E4: +/* 802D59E4 002D2924 28 1F 00 00 */ cmplwi r31, 0 +/* 802D59E8 002D2928 41 82 00 34 */ beq lbl_802D5A1C +/* 802D59EC 002D292C 88 1F 00 3C */ lbz r0, 0x3c(r31) +/* 802D59F0 002D2930 28 00 00 00 */ cmplwi r0, 0 +/* 802D59F4 002D2934 40 82 00 28 */ bne lbl_802D5A1C +/* 802D59F8 002D2938 28 1F 00 00 */ cmplwi r31, 0 +/* 802D59FC 002D293C 41 82 00 1C */ beq lbl_802D5A18 +/* 802D5A00 002D2940 7F E3 FB 78 */ mr r3, r31 +/* 802D5A04 002D2944 38 80 00 01 */ li r4, 1 +/* 802D5A08 002D2948 81 9F 00 00 */ lwz r12, 0(r31) +/* 802D5A0C 002D294C 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D5A10 002D2950 7D 89 03 A6 */ mtctr r12 +/* 802D5A14 002D2954 4E 80 04 21 */ bctrl +lbl_802D5A18: +/* 802D5A18 002D2958 3B E0 00 00 */ li r31, 0 +lbl_802D5A1C: +/* 802D5A1C 002D295C 7F E3 FB 78 */ mr r3, r31 +lbl_802D5A20: +/* 802D5A20 002D2960 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5A24 002D2964 48 08 C7 FD */ bl _restgpr_27 +/* 802D5A28 002D2968 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5A2C 002D296C 7C 08 03 A6 */ mtlr r0 +/* 802D5A30 002D2970 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5A34 002D2974 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5A38.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5A38.s new file mode 100644 index 0000000000..11d2b6ffb4 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5A38.s @@ -0,0 +1,40 @@ +/* becomeCurrent__10JKRArchiveFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::becomeCurrent(char const *) */ +/* missing reference */ +/* 802D5A38 002D2978 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5A3C 002D297C 7C 08 02 A6 */ mflr r0 +/* 802D5A40 002D2980 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5A44 002D2984 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5A48 002D2988 7C 7F 1B 78 */ mr r31, r3 +/* 802D5A4C 002D298C 88 04 00 00 */ lbz r0, 0(r4) +/* 802D5A50 002D2990 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D5A54 002D2994 40 82 00 24 */ bne lbl_802D5A78 +/* 802D5A58 002D2998 8C 04 00 01 */ lbzu r0, 1(r4) +/* 802D5A5C 002D299C 7C 00 07 75 */ extsb. r0, r0 +/* 802D5A60 002D29A0 40 82 00 08 */ bne lbl_802D5A68 +/* 802D5A64 002D29A4 38 80 00 00 */ li r4, 0 +lbl_802D5A68: +/* 802D5A68 002D29A8 7F E3 FB 78 */ mr r3, r31 +/* 802D5A6C 002D29AC 38 A0 00 00 */ li r5, 0 +/* 802D5A70 002D29B0 48 00 09 AD */ bl findDirectory__10JKRArchiveCFPCcUl +/* 802D5A74 002D29B4 48 00 00 0C */ b lbl_802D5A80 +lbl_802D5A78: +/* 802D5A78 002D29B8 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) +/* 802D5A7C 002D29BC 48 00 09 A1 */ bl findDirectory__10JKRArchiveCFPCcUl +lbl_802D5A80: +/* 802D5A80 002D29C0 30 03 FF FF */ addic r0, r3, -1 +/* 802D5A84 002D29C4 7C 80 19 10 */ subfe r4, r0, r3 +/* 802D5A88 002D29C8 54 80 06 3F */ clrlwi. r0, r4, 0x18 +/* 802D5A8C 002D29CC 41 82 00 1C */ beq lbl_802D5AA8 +/* 802D5A90 002D29D0 93 ED 8E 98 */ stw r31, lbl_80451418-_SDA_BASE_(r13) +/* 802D5A94 002D29D4 80 1F 00 48 */ lwz r0, 0x48(r31) +/* 802D5A98 002D29D8 7C 00 18 50 */ subf r0, r0, r3 +/* 802D5A9C 002D29DC 7C 00 26 70 */ srawi r0, r0, 4 +/* 802D5AA0 002D29E0 7C 00 01 94 */ addze r0, r0 +/* 802D5AA4 002D29E4 90 0D 8E A0 */ stw r0, lbl_80451420-_SDA_BASE_(r13) +lbl_802D5AA8: +/* 802D5AA8 002D29E8 7C 83 23 78 */ mr r3, r4 +/* 802D5AAC 002D29EC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5AB0 002D29F0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5AB4 002D29F4 7C 08 03 A6 */ mtlr r0 +/* 802D5AB8 002D29F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5ABC 002D29FC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5AC0.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5AC0.s new file mode 100644 index 0000000000..e451c50cc3 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5AC0.s @@ -0,0 +1,34 @@ +/* getDirEntry__10JKRArchiveCFPQ210JKRArchive9SDirEntryUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getDirEntry( const(__ct__10JKRArchiveFlQ210JKRArchive10EMountMode::SDirEntry *, unsigned long)) */ +/* JKRArchive_NS_getDirEntry */ +/* 802D5AC0 002D2A00 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5AC4 002D2A04 7C 08 02 A6 */ mflr r0 +/* 802D5AC8 002D2A08 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5ACC 002D2A0C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5AD0 002D2A10 93 C1 00 08 */ stw r30, 8(r1) +/* 802D5AD4 002D2A14 7C 7E 1B 78 */ mr r30, r3 +/* 802D5AD8 002D2A18 7C 9F 23 78 */ mr r31, r4 +/* 802D5ADC 002D2A1C 7C A4 2B 78 */ mr r4, r5 +/* 802D5AE0 002D2A20 48 00 0B A5 */ bl findIdxResource__10JKRArchiveCFUl +/* 802D5AE4 002D2A24 28 03 00 00 */ cmplwi r3, 0 +/* 802D5AE8 002D2A28 40 82 00 0C */ bne lbl_802D5AF4 +/* 802D5AEC 002D2A2C 38 60 00 00 */ li r3, 0 +/* 802D5AF0 002D2A30 48 00 00 30 */ b lbl_802D5B20 +lbl_802D5AF4: +/* 802D5AF4 002D2A34 80 03 00 04 */ lwz r0, 4(r3) +/* 802D5AF8 002D2A38 54 00 46 3E */ srwi r0, r0, 0x18 +/* 802D5AFC 002D2A3C 98 1F 00 00 */ stb r0, 0(r31) +/* 802D5B00 002D2A40 A0 03 00 00 */ lhz r0, 0(r3) +/* 802D5B04 002D2A44 B0 1F 00 02 */ sth r0, 2(r31) +/* 802D5B08 002D2A48 80 9E 00 54 */ lwz r4, 0x54(r30) +/* 802D5B0C 002D2A4C 80 03 00 04 */ lwz r0, 4(r3) +/* 802D5B10 002D2A50 54 00 02 3E */ clrlwi r0, r0, 8 +/* 802D5B14 002D2A54 7C 04 02 14 */ add r0, r4, r0 +/* 802D5B18 002D2A58 90 1F 00 04 */ stw r0, 4(r31) +/* 802D5B1C 002D2A5C 38 60 00 01 */ li r3, 1 +lbl_802D5B20: +/* 802D5B20 002D2A60 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5B24 002D2A64 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D5B28 002D2A68 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5B2C 002D2A6C 7C 08 03 A6 */ mtlr r0 +/* 802D5B30 002D2A70 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5B34 002D2A74 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5B38.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5B38.s new file mode 100644 index 0000000000..71a919406c --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5B38.s @@ -0,0 +1,52 @@ +/* getGlbResource__10JKRArchiveFUlPCcP10JKRArchive __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getGlbResource(unsigned long, char const *, JKRArchive *) */ +/* JKRArchive_NS_getGlbResource */ +/* 802D5B38 002D2A78 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5B3C 002D2A7C 7C 08 02 A6 */ mflr r0 +/* 802D5B40 002D2A80 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5B44 002D2A84 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5B48 002D2A88 48 08 C6 95 */ bl _savegpr_29 +/* 802D5B4C 002D2A8C 7C 7D 1B 78 */ mr r29, r3 +/* 802D5B50 002D2A90 7C 9E 23 78 */ mr r30, r4 +/* 802D5B54 002D2A94 38 C0 00 00 */ li r6, 0 +/* 802D5B58 002D2A98 28 05 00 00 */ cmplwi r5, 0 +/* 802D5B5C 002D2A9C 41 82 00 24 */ beq lbl_802D5B80 +/* 802D5B60 002D2AA0 7C A3 2B 78 */ mr r3, r5 +/* 802D5B64 002D2AA4 7F A4 EB 78 */ mr r4, r29 +/* 802D5B68 002D2AA8 7F C5 F3 78 */ mr r5, r30 +/* 802D5B6C 002D2AAC 81 83 00 00 */ lwz r12, 0(r3) +/* 802D5B70 002D2AB0 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802D5B74 002D2AB4 7D 89 03 A6 */ mtctr r12 +/* 802D5B78 002D2AB8 4E 80 04 21 */ bctrl +/* 802D5B7C 002D2ABC 48 00 00 54 */ b lbl_802D5BD0 +lbl_802D5B80: +/* 802D5B80 002D2AC0 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D5B84 002D2AC4 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D5B88 002D2AC8 48 00 00 3C */ b lbl_802D5BC4 +lbl_802D5B8C: +/* 802D5B8C 002D2ACC 80 7F 00 00 */ lwz r3, 0(r31) +/* 802D5B90 002D2AD0 80 83 00 2C */ lwz r4, 0x2c(r3) +/* 802D5B94 002D2AD4 3C 04 AD BF */ addis r0, r4, 0xadbf +/* 802D5B98 002D2AD8 28 00 52 43 */ cmplwi r0, 0x5243 +/* 802D5B9C 002D2ADC 40 82 00 24 */ bne lbl_802D5BC0 +/* 802D5BA0 002D2AE0 7F A4 EB 78 */ mr r4, r29 +/* 802D5BA4 002D2AE4 7F C5 F3 78 */ mr r5, r30 +/* 802D5BA8 002D2AE8 81 83 00 00 */ lwz r12, 0(r3) +/* 802D5BAC 002D2AEC 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802D5BB0 002D2AF0 7D 89 03 A6 */ mtctr r12 +/* 802D5BB4 002D2AF4 4E 80 04 21 */ bctrl +/* 802D5BB8 002D2AF8 7C 66 1B 79 */ or. r6, r3, r3 +/* 802D5BBC 002D2AFC 40 82 00 10 */ bne lbl_802D5BCC +lbl_802D5BC0: +/* 802D5BC0 002D2B00 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802D5BC4: +/* 802D5BC4 002D2B04 28 1F 00 00 */ cmplwi r31, 0 +/* 802D5BC8 002D2B08 40 82 FF C4 */ bne lbl_802D5B8C +lbl_802D5BCC: +/* 802D5BCC 002D2B0C 7C C3 33 78 */ mr r3, r6 +lbl_802D5BD0: +/* 802D5BD0 002D2B10 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5BD4 002D2B14 48 08 C6 55 */ bl _restgpr_29 +/* 802D5BD8 002D2B18 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5BDC 002D2B1C 7C 08 03 A6 */ mtlr r0 +/* 802D5BE0 002D2B20 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5BE4 002D2B24 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5BE8.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5BE8.s new file mode 100644 index 0000000000..f11a745a6f --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5BE8.s @@ -0,0 +1,37 @@ +/* getResource__10JKRArchiveFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getResource(char const *) */ +/* missing reference */ +/* 802D5BE8 002D2B28 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5BEC 002D2B2C 7C 08 02 A6 */ mflr r0 +/* 802D5BF0 002D2B30 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5BF4 002D2B34 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5BF8 002D2B38 7C 7F 1B 78 */ mr r31, r3 +/* 802D5BFC 002D2B3C 88 04 00 00 */ lbz r0, 0(r4) +/* 802D5C00 002D2B40 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D5C04 002D2B44 40 82 00 18 */ bne lbl_802D5C1C +/* 802D5C08 002D2B48 38 84 00 01 */ addi r4, r4, 1 +/* 802D5C0C 002D2B4C 38 A0 00 00 */ li r5, 0 +/* 802D5C10 002D2B50 48 00 09 95 */ bl findFsResource__10JKRArchiveCFPCcUl +/* 802D5C14 002D2B54 7C 64 1B 78 */ mr r4, r3 +/* 802D5C18 002D2B58 48 00 00 10 */ b lbl_802D5C28 +lbl_802D5C1C: +/* 802D5C1C 002D2B5C 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) +/* 802D5C20 002D2B60 48 00 09 85 */ bl findFsResource__10JKRArchiveCFPCcUl +/* 802D5C24 002D2B64 7C 64 1B 78 */ mr r4, r3 +lbl_802D5C28: +/* 802D5C28 002D2B68 28 04 00 00 */ cmplwi r4, 0 +/* 802D5C2C 002D2B6C 41 82 00 20 */ beq lbl_802D5C4C +/* 802D5C30 002D2B70 7F E3 FB 78 */ mr r3, r31 +/* 802D5C34 002D2B74 38 A0 00 00 */ li r5, 0 +/* 802D5C38 002D2B78 81 9F 00 00 */ lwz r12, 0(r31) +/* 802D5C3C 002D2B7C 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 802D5C40 002D2B80 7D 89 03 A6 */ mtctr r12 +/* 802D5C44 002D2B84 4E 80 04 21 */ bctrl +/* 802D5C48 002D2B88 48 00 00 08 */ b lbl_802D5C50 +lbl_802D5C4C: +/* 802D5C4C 002D2B8C 38 60 00 00 */ li r3, 0 +lbl_802D5C50: +/* 802D5C50 002D2B90 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5C54 002D2B94 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5C58 002D2B98 7C 08 03 A6 */ mtlr r0 +/* 802D5C5C 002D2B9C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5C60 002D2BA0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5C64.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5C64.s new file mode 100644 index 0000000000..7c186b29e2 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5C64.s @@ -0,0 +1,39 @@ +/* getResource__10JKRArchiveFUlPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getResource(unsigned long, char const *) */ +/* missing reference */ +/* 802D5C64 002D2BA4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5C68 002D2BA8 7C 08 02 A6 */ mflr r0 +/* 802D5C6C 002D2BAC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5C70 002D2BB0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5C74 002D2BB4 7C 7F 1B 78 */ mr r31, r3 +/* 802D5C78 002D2BB8 28 04 00 00 */ cmplwi r4, 0 +/* 802D5C7C 002D2BBC 41 82 00 10 */ beq lbl_802D5C8C +/* 802D5C80 002D2BC0 3C 04 C0 C1 */ addis r0, r4, 0xc0c1 +/* 802D5C84 002D2BC4 28 00 3F 3F */ cmplwi r0, 0x3f3f +/* 802D5C88 002D2BC8 40 82 00 18 */ bne lbl_802D5CA0 +lbl_802D5C8C: +/* 802D5C8C 002D2BCC 7F E3 FB 78 */ mr r3, r31 +/* 802D5C90 002D2BD0 7C A4 2B 78 */ mr r4, r5 +/* 802D5C94 002D2BD4 48 00 0A 19 */ bl findNameResource__10JKRArchiveCFPCc +/* 802D5C98 002D2BD8 7C 64 1B 78 */ mr r4, r3 +/* 802D5C9C 002D2BDC 48 00 00 0C */ b lbl_802D5CA8 +lbl_802D5CA0: +/* 802D5CA0 002D2BE0 48 00 08 55 */ bl findTypeResource__10JKRArchiveCFUlPCc +/* 802D5CA4 002D2BE4 7C 64 1B 78 */ mr r4, r3 +lbl_802D5CA8: +/* 802D5CA8 002D2BE8 28 04 00 00 */ cmplwi r4, 0 +/* 802D5CAC 002D2BEC 41 82 00 20 */ beq lbl_802D5CCC +/* 802D5CB0 002D2BF0 7F E3 FB 78 */ mr r3, r31 +/* 802D5CB4 002D2BF4 38 A0 00 00 */ li r5, 0 +/* 802D5CB8 002D2BF8 81 9F 00 00 */ lwz r12, 0(r31) +/* 802D5CBC 002D2BFC 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 802D5CC0 002D2C00 7D 89 03 A6 */ mtctr r12 +/* 802D5CC4 002D2C04 4E 80 04 21 */ bctrl +/* 802D5CC8 002D2C08 48 00 00 08 */ b lbl_802D5CD0 +lbl_802D5CCC: +/* 802D5CCC 002D2C0C 38 60 00 00 */ li r3, 0 +lbl_802D5CD0: +/* 802D5CD0 002D2C10 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5CD4 002D2C14 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5CD8 002D2C18 7C 08 03 A6 */ mtlr r0 +/* 802D5CDC 002D2C1C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5CE0 002D2C20 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5CE4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5CE4.s new file mode 100644 index 0000000000..8d2817d6b4 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5CE4.s @@ -0,0 +1,25 @@ +/* getIdxResource__10JKRArchiveFUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getIdxResource(unsigned long) */ +/* JKRArchive_NS_getIdxResource */ +/* 802D5CE4 002D2C24 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5CE8 002D2C28 7C 08 02 A6 */ mflr r0 +/* 802D5CEC 002D2C2C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5CF0 002D2C30 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5CF4 002D2C34 7C 7F 1B 78 */ mr r31, r3 +/* 802D5CF8 002D2C38 48 00 09 8D */ bl findIdxResource__10JKRArchiveCFUl +/* 802D5CFC 002D2C3C 7C 64 1B 79 */ or. r4, r3, r3 +/* 802D5D00 002D2C40 41 82 00 20 */ beq lbl_802D5D20 +/* 802D5D04 002D2C44 7F E3 FB 78 */ mr r3, r31 +/* 802D5D08 002D2C48 38 A0 00 00 */ li r5, 0 +/* 802D5D0C 002D2C4C 81 9F 00 00 */ lwz r12, 0(r31) +/* 802D5D10 002D2C50 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 802D5D14 002D2C54 7D 89 03 A6 */ mtctr r12 +/* 802D5D18 002D2C58 4E 80 04 21 */ bctrl +/* 802D5D1C 002D2C5C 48 00 00 08 */ b lbl_802D5D24 +lbl_802D5D20: +/* 802D5D20 002D2C60 38 60 00 00 */ li r3, 0 +lbl_802D5D24: +/* 802D5D24 002D2C64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5D28 002D2C68 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5D2C 002D2C6C 7C 08 03 A6 */ mtlr r0 +/* 802D5D30 002D2C70 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5D34 002D2C74 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5D38.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5D38.s new file mode 100644 index 0000000000..aa3e5808ef --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5D38.s @@ -0,0 +1,25 @@ +/* getResource__10JKRArchiveFUs __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getResource(unsigned short) */ +/* JKRArchive_NS_getResource_X2_ */ +/* 802D5D38 002D2C78 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5D3C 002D2C7C 7C 08 02 A6 */ mflr r0 +/* 802D5D40 002D2C80 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5D44 002D2C84 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5D48 002D2C88 7C 7F 1B 78 */ mr r31, r3 +/* 802D5D4C 002D2C8C 48 00 0A 25 */ bl findIdResource__10JKRArchiveCFUs +/* 802D5D50 002D2C90 7C 64 1B 79 */ or. r4, r3, r3 +/* 802D5D54 002D2C94 41 82 00 20 */ beq lbl_802D5D74 +/* 802D5D58 002D2C98 7F E3 FB 78 */ mr r3, r31 +/* 802D5D5C 002D2C9C 38 A0 00 00 */ li r5, 0 +/* 802D5D60 002D2CA0 81 9F 00 00 */ lwz r12, 0(r31) +/* 802D5D64 002D2CA4 81 8C 00 40 */ lwz r12, 0x40(r12) +/* 802D5D68 002D2CA8 7D 89 03 A6 */ mtctr r12 +/* 802D5D6C 002D2CAC 4E 80 04 21 */ bctrl +/* 802D5D70 002D2CB0 48 00 00 08 */ b lbl_802D5D78 +lbl_802D5D74: +/* 802D5D74 002D2CB4 38 60 00 00 */ li r3, 0 +lbl_802D5D78: +/* 802D5D78 002D2CB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5D7C 002D2CBC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5D80 002D2CC0 7C 08 03 A6 */ mtlr r0 +/* 802D5D84 002D2CC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5D88 002D2CC8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5D8C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5D8C.s new file mode 100644 index 0000000000..6e3c047078 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5D8C.s @@ -0,0 +1,48 @@ +/* readResource__10JKRArchiveFPvUlUlPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::readResource(void *, unsigned long, unsigned long, char const *) */ +/* missing reference */ +/* 802D5D8C 002D2CCC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5D90 002D2CD0 7C 08 02 A6 */ mflr r0 +/* 802D5D94 002D2CD4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5D98 002D2CD8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5D9C 002D2CDC 48 08 C4 41 */ bl _savegpr_29 +/* 802D5DA0 002D2CE0 7C 7D 1B 78 */ mr r29, r3 +/* 802D5DA4 002D2CE4 7C 9E 23 78 */ mr r30, r4 +/* 802D5DA8 002D2CE8 7C BF 2B 78 */ mr r31, r5 +/* 802D5DAC 002D2CEC 28 06 00 00 */ cmplwi r6, 0 +/* 802D5DB0 002D2CF0 41 82 00 10 */ beq lbl_802D5DC0 +/* 802D5DB4 002D2CF4 3C 06 C0 C1 */ addis r0, r6, 0xc0c1 +/* 802D5DB8 002D2CF8 28 00 3F 3F */ cmplwi r0, 0x3f3f +/* 802D5DBC 002D2CFC 40 82 00 18 */ bne lbl_802D5DD4 +lbl_802D5DC0: +/* 802D5DC0 002D2D00 7F A3 EB 78 */ mr r3, r29 +/* 802D5DC4 002D2D04 7C E4 3B 78 */ mr r4, r7 +/* 802D5DC8 002D2D08 48 00 08 E5 */ bl findNameResource__10JKRArchiveCFPCc +/* 802D5DCC 002D2D0C 7C 66 1B 78 */ mr r6, r3 +/* 802D5DD0 002D2D10 48 00 00 14 */ b lbl_802D5DE4 +lbl_802D5DD4: +/* 802D5DD4 002D2D14 7C C4 33 78 */ mr r4, r6 +/* 802D5DD8 002D2D18 7C E5 3B 78 */ mr r5, r7 +/* 802D5DDC 002D2D1C 48 00 07 19 */ bl findTypeResource__10JKRArchiveCFUlPCc +/* 802D5DE0 002D2D20 7C 66 1B 78 */ mr r6, r3 +lbl_802D5DE4: +/* 802D5DE4 002D2D24 28 06 00 00 */ cmplwi r6, 0 +/* 802D5DE8 002D2D28 41 82 00 2C */ beq lbl_802D5E14 +/* 802D5DEC 002D2D2C 7F A3 EB 78 */ mr r3, r29 +/* 802D5DF0 002D2D30 7F C4 F3 78 */ mr r4, r30 +/* 802D5DF4 002D2D34 7F E5 FB 78 */ mr r5, r31 +/* 802D5DF8 002D2D38 38 E1 00 08 */ addi r7, r1, 8 +/* 802D5DFC 002D2D3C 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D5E00 002D2D40 81 8C 00 44 */ lwz r12, 0x44(r12) +/* 802D5E04 002D2D44 7D 89 03 A6 */ mtctr r12 +/* 802D5E08 002D2D48 4E 80 04 21 */ bctrl +/* 802D5E0C 002D2D4C 80 61 00 08 */ lwz r3, 8(r1) +/* 802D5E10 002D2D50 48 00 00 08 */ b lbl_802D5E18 +lbl_802D5E14: +/* 802D5E14 002D2D54 38 60 00 00 */ li r3, 0 +lbl_802D5E18: +/* 802D5E18 002D2D58 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5E1C 002D2D5C 48 08 C4 0D */ bl _restgpr_29 +/* 802D5E20 002D2D60 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5E24 002D2D64 7C 08 03 A6 */ mtlr r0 +/* 802D5E28 002D2D68 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5E2C 002D2D6C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5E30.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5E30.s new file mode 100644 index 0000000000..36ba9153d5 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5E30.s @@ -0,0 +1,45 @@ +/* readResource__10JKRArchiveFPvUlPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::readResource(void *, unsigned long, char const *) */ +/* missing reference */ +/* 802D5E30 002D2D70 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5E34 002D2D74 7C 08 02 A6 */ mflr r0 +/* 802D5E38 002D2D78 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5E3C 002D2D7C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5E40 002D2D80 48 08 C3 9D */ bl _savegpr_29 +/* 802D5E44 002D2D84 7C 7D 1B 78 */ mr r29, r3 +/* 802D5E48 002D2D88 7C 9E 23 78 */ mr r30, r4 +/* 802D5E4C 002D2D8C 7C BF 2B 78 */ mr r31, r5 +/* 802D5E50 002D2D90 88 06 00 00 */ lbz r0, 0(r6) +/* 802D5E54 002D2D94 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D5E58 002D2D98 40 82 00 18 */ bne lbl_802D5E70 +/* 802D5E5C 002D2D9C 38 86 00 01 */ addi r4, r6, 1 +/* 802D5E60 002D2DA0 38 A0 00 00 */ li r5, 0 +/* 802D5E64 002D2DA4 48 00 07 41 */ bl findFsResource__10JKRArchiveCFPCcUl +/* 802D5E68 002D2DA8 7C 66 1B 78 */ mr r6, r3 +/* 802D5E6C 002D2DAC 48 00 00 14 */ b lbl_802D5E80 +lbl_802D5E70: +/* 802D5E70 002D2DB0 7C C4 33 78 */ mr r4, r6 +/* 802D5E74 002D2DB4 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) +/* 802D5E78 002D2DB8 48 00 07 2D */ bl findFsResource__10JKRArchiveCFPCcUl +/* 802D5E7C 002D2DBC 7C 66 1B 78 */ mr r6, r3 +lbl_802D5E80: +/* 802D5E80 002D2DC0 28 06 00 00 */ cmplwi r6, 0 +/* 802D5E84 002D2DC4 41 82 00 2C */ beq lbl_802D5EB0 +/* 802D5E88 002D2DC8 7F A3 EB 78 */ mr r3, r29 +/* 802D5E8C 002D2DCC 7F C4 F3 78 */ mr r4, r30 +/* 802D5E90 002D2DD0 7F E5 FB 78 */ mr r5, r31 +/* 802D5E94 002D2DD4 38 E1 00 08 */ addi r7, r1, 8 +/* 802D5E98 002D2DD8 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D5E9C 002D2DDC 81 8C 00 44 */ lwz r12, 0x44(r12) +/* 802D5EA0 002D2DE0 7D 89 03 A6 */ mtctr r12 +/* 802D5EA4 002D2DE4 4E 80 04 21 */ bctrl +/* 802D5EA8 002D2DE8 80 61 00 08 */ lwz r3, 8(r1) +/* 802D5EAC 002D2DEC 48 00 00 08 */ b lbl_802D5EB4 +lbl_802D5EB0: +/* 802D5EB0 002D2DF0 38 60 00 00 */ li r3, 0 +lbl_802D5EB4: +/* 802D5EB4 002D2DF4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5EB8 002D2DF8 48 08 C3 71 */ bl _restgpr_29 +/* 802D5EBC 002D2DFC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5EC0 002D2E00 7C 08 03 A6 */ mtlr r0 +/* 802D5EC4 002D2E04 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5EC8 002D2E08 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5ECC.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5ECC.s new file mode 100644 index 0000000000..d3bde6f2a6 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5ECC.s @@ -0,0 +1,33 @@ +/* readIdxResource__10JKRArchiveFPvUlUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::readIdxResource(void *, unsigned long, unsigned long) */ +/* JKRArchive_NS_readIdxResource */ +/* 802D5ECC 002D2E0C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5ED0 002D2E10 7C 08 02 A6 */ mflr r0 +/* 802D5ED4 002D2E14 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5ED8 002D2E18 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5EDC 002D2E1C 48 08 C3 01 */ bl _savegpr_29 +/* 802D5EE0 002D2E20 7C 7D 1B 78 */ mr r29, r3 +/* 802D5EE4 002D2E24 7C 9E 23 78 */ mr r30, r4 +/* 802D5EE8 002D2E28 7C BF 2B 78 */ mr r31, r5 +/* 802D5EEC 002D2E2C 7C C4 33 78 */ mr r4, r6 +/* 802D5EF0 002D2E30 48 00 07 95 */ bl findIdxResource__10JKRArchiveCFUl +/* 802D5EF4 002D2E34 7C 66 1B 79 */ or. r6, r3, r3 +/* 802D5EF8 002D2E38 41 82 00 2C */ beq lbl_802D5F24 +/* 802D5EFC 002D2E3C 7F A3 EB 78 */ mr r3, r29 +/* 802D5F00 002D2E40 7F C4 F3 78 */ mr r4, r30 +/* 802D5F04 002D2E44 7F E5 FB 78 */ mr r5, r31 +/* 802D5F08 002D2E48 38 E1 00 08 */ addi r7, r1, 8 +/* 802D5F0C 002D2E4C 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D5F10 002D2E50 81 8C 00 44 */ lwz r12, 0x44(r12) +/* 802D5F14 002D2E54 7D 89 03 A6 */ mtctr r12 +/* 802D5F18 002D2E58 4E 80 04 21 */ bctrl +/* 802D5F1C 002D2E5C 80 61 00 08 */ lwz r3, 8(r1) +/* 802D5F20 002D2E60 48 00 00 08 */ b lbl_802D5F28 +lbl_802D5F24: +/* 802D5F24 002D2E64 38 60 00 00 */ li r3, 0 +lbl_802D5F28: +/* 802D5F28 002D2E68 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5F2C 002D2E6C 48 08 C2 FD */ bl _restgpr_29 +/* 802D5F30 002D2E70 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5F34 002D2E74 7C 08 03 A6 */ mtlr r0 +/* 802D5F38 002D2E78 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5F3C 002D2E7C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5F40.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5F40.s new file mode 100644 index 0000000000..7694c53b9f --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5F40.s @@ -0,0 +1,33 @@ +/* readResource__10JKRArchiveFPvUlUs __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::readResource(void *, unsigned long, unsigned short) */ +/* JKRArchive_NS_readResource_X2_ */ +/* 802D5F40 002D2E80 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5F44 002D2E84 7C 08 02 A6 */ mflr r0 +/* 802D5F48 002D2E88 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5F4C 002D2E8C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5F50 002D2E90 48 08 C2 8D */ bl _savegpr_29 +/* 802D5F54 002D2E94 7C 7D 1B 78 */ mr r29, r3 +/* 802D5F58 002D2E98 7C 9E 23 78 */ mr r30, r4 +/* 802D5F5C 002D2E9C 7C BF 2B 78 */ mr r31, r5 +/* 802D5F60 002D2EA0 7C C4 33 78 */ mr r4, r6 +/* 802D5F64 002D2EA4 48 00 08 0D */ bl findIdResource__10JKRArchiveCFUs +/* 802D5F68 002D2EA8 7C 66 1B 79 */ or. r6, r3, r3 +/* 802D5F6C 002D2EAC 41 82 00 2C */ beq lbl_802D5F98 +/* 802D5F70 002D2EB0 7F A3 EB 78 */ mr r3, r29 +/* 802D5F74 002D2EB4 7F C4 F3 78 */ mr r4, r30 +/* 802D5F78 002D2EB8 7F E5 FB 78 */ mr r5, r31 +/* 802D5F7C 002D2EBC 38 E1 00 08 */ addi r7, r1, 8 +/* 802D5F80 002D2EC0 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D5F84 002D2EC4 81 8C 00 44 */ lwz r12, 0x44(r12) +/* 802D5F88 002D2EC8 7D 89 03 A6 */ mtctr r12 +/* 802D5F8C 002D2ECC 4E 80 04 21 */ bctrl +/* 802D5F90 002D2ED0 80 61 00 08 */ lwz r3, 8(r1) +/* 802D5F94 002D2ED4 48 00 00 08 */ b lbl_802D5F9C +lbl_802D5F98: +/* 802D5F98 002D2ED8 38 60 00 00 */ li r3, 0 +lbl_802D5F9C: +/* 802D5F9C 002D2EDC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5FA0 002D2EE0 48 08 C2 89 */ bl _restgpr_29 +/* 802D5FA4 002D2EE4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5FA8 002D2EE8 7C 08 03 A6 */ mtlr r0 +/* 802D5FAC 002D2EEC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5FB0 002D2EF0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D5FB4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D5FB4.s new file mode 100644 index 0000000000..c84d93e367 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D5FB4.s @@ -0,0 +1,40 @@ +/* removeResourceAll__10JKRArchiveFv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::removeResourceAll(void) */ +/* missing reference */ +/* 802D5FB4 002D2EF4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5FB8 002D2EF8 7C 08 02 A6 */ mflr r0 +/* 802D5FBC 002D2EFC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5FC0 002D2F00 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5FC4 002D2F04 48 08 C2 15 */ bl _savegpr_28 +/* 802D5FC8 002D2F08 7C 7C 1B 78 */ mr r28, r3 +/* 802D5FCC 002D2F0C 80 03 00 44 */ lwz r0, 0x44(r3) +/* 802D5FD0 002D2F10 28 00 00 00 */ cmplwi r0, 0 +/* 802D5FD4 002D2F14 41 82 00 50 */ beq lbl_802D6024 +/* 802D5FD8 002D2F18 88 1C 00 3C */ lbz r0, 0x3c(r28) +/* 802D5FDC 002D2F1C 28 00 00 01 */ cmplwi r0, 1 +/* 802D5FE0 002D2F20 41 82 00 44 */ beq lbl_802D6024 +/* 802D5FE4 002D2F24 83 DC 00 4C */ lwz r30, 0x4c(r28) +/* 802D5FE8 002D2F28 3B A0 00 00 */ li r29, 0 +/* 802D5FEC 002D2F2C 3B E0 00 00 */ li r31, 0 +/* 802D5FF0 002D2F30 48 00 00 24 */ b lbl_802D6014 +lbl_802D5FF4: +/* 802D5FF4 002D2F34 80 7E 00 10 */ lwz r3, 0x10(r30) +/* 802D5FF8 002D2F38 28 03 00 00 */ cmplwi r3, 0 +/* 802D5FFC 002D2F3C 41 82 00 10 */ beq lbl_802D600C +/* 802D6000 002D2F40 80 9C 00 38 */ lwz r4, 0x38(r28) +/* 802D6004 002D2F44 4B FF 84 FD */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D6008 002D2F48 93 FE 00 10 */ stw r31, 0x10(r30) +lbl_802D600C: +/* 802D600C 002D2F4C 3B DE 00 14 */ addi r30, r30, 0x14 +/* 802D6010 002D2F50 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D6014: +/* 802D6014 002D2F54 80 7C 00 44 */ lwz r3, 0x44(r28) +/* 802D6018 002D2F58 80 03 00 08 */ lwz r0, 8(r3) +/* 802D601C 002D2F5C 7C 1D 00 40 */ cmplw r29, r0 +/* 802D6020 002D2F60 41 80 FF D4 */ blt lbl_802D5FF4 +lbl_802D6024: +/* 802D6024 002D2F64 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6028 002D2F68 48 08 C1 FD */ bl _restgpr_28 +/* 802D602C 002D2F6C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D6030 002D2F70 7C 08 03 A6 */ mtlr r0 +/* 802D6034 002D2F74 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D6038 002D2F78 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D603C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D603C.s new file mode 100644 index 0000000000..e52630e4a4 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D603C.s @@ -0,0 +1,28 @@ +/* removeResource__10JKRArchiveFPv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::removeResource(void *) */ +/* missing reference */ +/* 802D603C 002D2F7C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D6040 002D2F80 7C 08 02 A6 */ mflr r0 +/* 802D6044 002D2F84 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D6048 002D2F88 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D604C 002D2F8C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D6050 002D2F90 7C 7E 1B 78 */ mr r30, r3 +/* 802D6054 002D2F94 7C 9F 23 78 */ mr r31, r4 +/* 802D6058 002D2F98 48 00 06 DD */ bl findPtrResource__10JKRArchiveCFPCv +/* 802D605C 002D2F9C 28 03 00 00 */ cmplwi r3, 0 +/* 802D6060 002D2FA0 40 82 00 0C */ bne lbl_802D606C +/* 802D6064 002D2FA4 38 60 00 00 */ li r3, 0 +/* 802D6068 002D2FA8 48 00 00 1C */ b lbl_802D6084 +lbl_802D606C: +/* 802D606C 002D2FAC 38 00 00 00 */ li r0, 0 +/* 802D6070 002D2FB0 90 03 00 10 */ stw r0, 0x10(r3) +/* 802D6074 002D2FB4 7F E3 FB 78 */ mr r3, r31 +/* 802D6078 002D2FB8 80 9E 00 38 */ lwz r4, 0x38(r30) +/* 802D607C 002D2FBC 4B FF 84 85 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D6080 002D2FC0 38 60 00 01 */ li r3, 1 +lbl_802D6084: +/* 802D6084 002D2FC4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D6088 002D2FC8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D608C 002D2FCC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D6090 002D2FD0 7C 08 03 A6 */ mtlr r0 +/* 802D6094 002D2FD4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D6098 002D2FD8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D609C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D609C.s new file mode 100644 index 0000000000..05613e060d --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D609C.s @@ -0,0 +1,19 @@ +/* detachResource__10JKRArchiveFPv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::detachResource(void *) */ +/* missing reference */ +/* 802D609C 002D2FDC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D60A0 002D2FE0 7C 08 02 A6 */ mflr r0 +/* 802D60A4 002D2FE4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D60A8 002D2FE8 48 00 06 8D */ bl findPtrResource__10JKRArchiveCFPCv +/* 802D60AC 002D2FEC 28 03 00 00 */ cmplwi r3, 0 +/* 802D60B0 002D2FF0 40 82 00 0C */ bne lbl_802D60BC +/* 802D60B4 002D2FF4 38 60 00 00 */ li r3, 0 +/* 802D60B8 002D2FF8 48 00 00 10 */ b lbl_802D60C8 +lbl_802D60BC: +/* 802D60BC 002D2FFC 38 00 00 00 */ li r0, 0 +/* 802D60C0 002D3000 90 03 00 10 */ stw r0, 0x10(r3) +/* 802D60C4 002D3004 38 60 00 01 */ li r3, 1 +lbl_802D60C8: +/* 802D60C8 002D3008 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D60CC 002D300C 7C 08 03 A6 */ mtlr r0 +/* 802D60D0 002D3010 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D60D4 002D3014 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D60D8.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D60D8.s new file mode 100644 index 0000000000..59fc3320a6 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D60D8.s @@ -0,0 +1,17 @@ +/* getResSize__10JKRArchiveCFPCv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getResSize( const(void const *)) */ +/* missing reference */ +/* 802D60D8 002D3018 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D60DC 002D301C 7C 08 02 A6 */ mflr r0 +/* 802D60E0 002D3020 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D60E4 002D3024 48 00 06 51 */ bl findPtrResource__10JKRArchiveCFPCv +/* 802D60E8 002D3028 28 03 00 00 */ cmplwi r3, 0 +/* 802D60EC 002D302C 40 82 00 0C */ bne lbl_802D60F8 +/* 802D60F0 002D3030 38 60 FF FF */ li r3, -1 +/* 802D60F4 002D3034 48 00 00 08 */ b lbl_802D60FC +lbl_802D60F8: +/* 802D60F8 002D3038 80 63 00 0C */ lwz r3, 0xc(r3) +lbl_802D60FC: +/* 802D60FC 002D303C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D6100 002D3040 7C 08 03 A6 */ mtlr r0 +/* 802D6104 002D3044 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D6108 002D3048 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D610C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D610C.s new file mode 100644 index 0000000000..12851bdc00 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D610C.s @@ -0,0 +1,22 @@ +/* countResource__10JKRArchiveCFv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::countResource( const(void)) */ +/* JKRArchive_NS_countResource */ +/* 802D610C 002D304C 38 C0 00 00 */ li r6, 0 +/* 802D6110 002D3050 38 80 00 00 */ li r4, 0 +/* 802D6114 002D3054 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 802D6118 002D3058 80 05 00 08 */ lwz r0, 8(r5) +/* 802D611C 002D305C 80 63 00 4C */ lwz r3, 0x4c(r3) +/* 802D6120 002D3060 7C 09 03 A6 */ mtctr r0 +/* 802D6124 002D3064 28 00 00 00 */ cmplwi r0, 0 +/* 802D6128 002D3068 40 81 00 20 */ ble lbl_802D6148 +lbl_802D612C: +/* 802D612C 002D306C 38 04 00 04 */ addi r0, r4, 4 +/* 802D6130 002D3070 7C 03 00 2E */ lwzx r0, r3, r0 +/* 802D6134 002D3074 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f +/* 802D6138 002D3078 41 82 00 08 */ beq lbl_802D6140 +/* 802D613C 002D307C 38 C6 00 01 */ addi r6, r6, 1 +lbl_802D6140: +/* 802D6140 002D3080 38 84 00 14 */ addi r4, r4, 0x14 +/* 802D6144 002D3084 42 00 FF E8 */ bdnz lbl_802D612C +lbl_802D6148: +/* 802D6148 002D3088 7C C3 33 78 */ mr r3, r6 +/* 802D614C 002D308C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6150.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6150.s new file mode 100644 index 0000000000..1cb3c55f63 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6150.s @@ -0,0 +1,31 @@ +/* countFile__10JKRArchiveCFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::countFile( const(char const *)) */ +/* missing reference */ +/* 802D6150 002D3090 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D6154 002D3094 7C 08 02 A6 */ mflr r0 +/* 802D6158 002D3098 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D615C 002D309C 88 04 00 00 */ lbz r0, 0(r4) +/* 802D6160 002D30A0 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D6164 002D30A4 40 82 00 20 */ bne lbl_802D6184 +/* 802D6168 002D30A8 8C 04 00 01 */ lbzu r0, 1(r4) +/* 802D616C 002D30AC 7C 00 07 75 */ extsb. r0, r0 +/* 802D6170 002D30B0 40 82 00 08 */ bne lbl_802D6178 +/* 802D6174 002D30B4 38 80 00 00 */ li r4, 0 +lbl_802D6178: +/* 802D6178 002D30B8 38 A0 00 00 */ li r5, 0 +/* 802D617C 002D30BC 48 00 02 A1 */ bl findDirectory__10JKRArchiveCFPCcUl +/* 802D6180 002D30C0 48 00 00 0C */ b lbl_802D618C +lbl_802D6184: +/* 802D6184 002D30C4 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) +/* 802D6188 002D30C8 48 00 02 95 */ bl findDirectory__10JKRArchiveCFPCcUl +lbl_802D618C: +/* 802D618C 002D30CC 28 03 00 00 */ cmplwi r3, 0 +/* 802D6190 002D30D0 41 82 00 0C */ beq lbl_802D619C +/* 802D6194 002D30D4 A0 63 00 0A */ lhz r3, 0xa(r3) +/* 802D6198 002D30D8 48 00 00 08 */ b lbl_802D61A0 +lbl_802D619C: +/* 802D619C 002D30DC 38 60 00 00 */ li r3, 0 +lbl_802D61A0: +/* 802D61A0 002D30E0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D61A4 002D30E4 7C 08 03 A6 */ mtlr r0 +/* 802D61A8 002D30E8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D61AC 002D30EC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D61B0.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D61B0.s new file mode 100644 index 0000000000..9bb5485cf1 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D61B0.s @@ -0,0 +1,51 @@ +/* getFirstFile__10JKRArchiveCFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getFirstFile( const(char const *)) */ +/* missing reference */ +/* 802D61B0 002D30F0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D61B4 002D30F4 7C 08 02 A6 */ mflr r0 +/* 802D61B8 002D30F8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D61BC 002D30FC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D61C0 002D3100 93 C1 00 08 */ stw r30, 8(r1) +/* 802D61C4 002D3104 7C 7E 1B 78 */ mr r30, r3 +/* 802D61C8 002D3108 88 04 00 00 */ lbz r0, 0(r4) +/* 802D61CC 002D310C 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D61D0 002D3110 40 82 00 28 */ bne lbl_802D61F8 +/* 802D61D4 002D3114 8C 04 00 01 */ lbzu r0, 1(r4) +/* 802D61D8 002D3118 7C 00 07 75 */ extsb. r0, r0 +/* 802D61DC 002D311C 40 82 00 08 */ bne lbl_802D61E4 +/* 802D61E0 002D3120 38 80 00 00 */ li r4, 0 +lbl_802D61E4: +/* 802D61E4 002D3124 7F C3 F3 78 */ mr r3, r30 +/* 802D61E8 002D3128 38 A0 00 00 */ li r5, 0 +/* 802D61EC 002D312C 48 00 02 31 */ bl findDirectory__10JKRArchiveCFPCcUl +/* 802D61F0 002D3130 7C 7F 1B 78 */ mr r31, r3 +/* 802D61F4 002D3134 48 00 00 10 */ b lbl_802D6204 +lbl_802D61F8: +/* 802D61F8 002D3138 80 AD 8E A0 */ lwz r5, lbl_80451420-_SDA_BASE_(r13) +/* 802D61FC 002D313C 48 00 02 21 */ bl findDirectory__10JKRArchiveCFPCcUl +/* 802D6200 002D3140 7C 7F 1B 78 */ mr r31, r3 +lbl_802D6204: +/* 802D6204 002D3144 28 1F 00 00 */ cmplwi r31, 0 +/* 802D6208 002D3148 41 82 00 38 */ beq lbl_802D6240 +/* 802D620C 002D314C 38 60 00 24 */ li r3, 0x24 +/* 802D6210 002D3150 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D6214 002D3154 38 A0 00 00 */ li r5, 0 +/* 802D6218 002D3158 4B FF 8A 81 */ bl __nw__FUlP7JKRHeapi +/* 802D621C 002D315C 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D6220 002D3160 41 82 00 18 */ beq lbl_802D6238 +/* 802D6224 002D3164 7F C4 F3 78 */ mr r4, r30 +/* 802D6228 002D3168 80 BF 00 0C */ lwz r5, 0xc(r31) +/* 802D622C 002D316C A0 DF 00 0A */ lhz r6, 0xa(r31) +/* 802D6230 002D3170 4B FF E4 09 */ bl __ct__12JKRArcFinderFP10JKRArchivell +/* 802D6234 002D3174 7C 60 1B 78 */ mr r0, r3 +lbl_802D6238: +/* 802D6238 002D3178 7C 03 03 78 */ mr r3, r0 +/* 802D623C 002D317C 48 00 00 08 */ b lbl_802D6244 +lbl_802D6240: +/* 802D6240 002D3180 38 60 00 00 */ li r3, 0 +lbl_802D6244: +/* 802D6244 002D3184 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D6248 002D3188 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D624C 002D318C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D6250 002D3190 7C 08 03 A6 */ mtlr r0 +/* 802D6254 002D3194 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D6258 002D3198 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D625C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D625C.s new file mode 100644 index 0000000000..7efd3fe9ed --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D625C.s @@ -0,0 +1,18 @@ +/* getFileAttribute__10JKRArchiveCFUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getFileAttribute( const(unsigned long)) */ +/* JKRArchive_NS_getFileAttribute */ +/* 802D625C 002D319C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D6260 002D31A0 7C 08 02 A6 */ mflr r0 +/* 802D6264 002D31A4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D6268 002D31A8 48 00 04 1D */ bl findIdxResource__10JKRArchiveCFUl +/* 802D626C 002D31AC 28 03 00 00 */ cmplwi r3, 0 +/* 802D6270 002D31B0 41 82 00 10 */ beq lbl_802D6280 +/* 802D6274 002D31B4 80 03 00 04 */ lwz r0, 4(r3) +/* 802D6278 002D31B8 54 03 46 3E */ srwi r3, r0, 0x18 +/* 802D627C 002D31BC 48 00 00 08 */ b lbl_802D6284 +lbl_802D6280: +/* 802D6280 002D31C0 38 60 00 00 */ li r3, 0 +lbl_802D6284: +/* 802D6284 002D31C4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D6288 002D31C8 7C 08 03 A6 */ mtlr r0 +/* 802D628C 002D31CC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D6290 002D31D0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6294.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6294.s new file mode 100644 index 0000000000..4a02a69e08 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6294.s @@ -0,0 +1,44 @@ +/* __ct__10JKRArchiveFlQ210JKRArchive10EMountMode __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::__ct(long, __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::EMountMode) */ +/* JKRArchive */ +/* 802D6294 002D31D4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D6298 002D31D8 7C 08 02 A6 */ mflr r0 +/* 802D629C 002D31DC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D62A0 002D31E0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D62A4 002D31E4 48 08 BF 39 */ bl _savegpr_29 +/* 802D62A8 002D31E8 7C 7D 1B 78 */ mr r29, r3 +/* 802D62AC 002D31EC 7C 9E 23 78 */ mr r30, r4 +/* 802D62B0 002D31F0 7C BF 2B 78 */ mr r31, r5 +/* 802D62B4 002D31F4 4B FF DE 3D */ bl __ct__13JKRFileLoaderFv +/* 802D62B8 002D31F8 3C 60 80 3D */ lis r3, lbl_803CC288@ha +/* 802D62BC 002D31FC 38 03 C2 88 */ addi r0, r3, lbl_803CC288@l +/* 802D62C0 002D3200 90 1D 00 00 */ stw r0, 0(r29) +/* 802D62C4 002D3204 38 00 00 00 */ li r0, 0 +/* 802D62C8 002D3208 98 1D 00 30 */ stb r0, 0x30(r29) +/* 802D62CC 002D320C 9B FD 00 3C */ stb r31, 0x3c(r29) +/* 802D62D0 002D3210 38 00 00 01 */ li r0, 1 +/* 802D62D4 002D3214 90 1D 00 34 */ stw r0, 0x34(r29) +/* 802D62D8 002D3218 90 1D 00 58 */ stw r0, 0x58(r29) +/* 802D62DC 002D321C 7F A3 EB 78 */ mr r3, r29 +/* 802D62E0 002D3220 4B FF 85 5D */ bl findFromRoot__7JKRHeapFPv +/* 802D62E4 002D3224 90 7D 00 38 */ stw r3, 0x38(r29) +/* 802D62E8 002D3228 80 1D 00 38 */ lwz r0, 0x38(r29) +/* 802D62EC 002D322C 28 00 00 00 */ cmplwi r0, 0 +/* 802D62F0 002D3230 40 82 00 0C */ bne lbl_802D62FC +/* 802D62F4 002D3234 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 802D62F8 002D3238 90 1D 00 38 */ stw r0, 0x38(r29) +lbl_802D62FC: +/* 802D62FC 002D323C 93 DD 00 40 */ stw r30, 0x40(r29) +/* 802D6300 002D3240 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13) +/* 802D6304 002D3244 28 00 00 00 */ cmplwi r0, 0 +/* 802D6308 002D3248 40 82 00 10 */ bne lbl_802D6318 +/* 802D630C 002D324C 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13) +/* 802D6310 002D3250 38 00 00 00 */ li r0, 0 +/* 802D6314 002D3254 90 0D 8E A0 */ stw r0, lbl_80451420-_SDA_BASE_(r13) +lbl_802D6318: +/* 802D6318 002D3258 7F A3 EB 78 */ mr r3, r29 +/* 802D631C 002D325C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6320 002D3260 48 08 BF 09 */ bl _restgpr_29 +/* 802D6324 002D3264 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D6328 002D3268 7C 08 03 A6 */ mtlr r0 +/* 802D632C 002D326C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D6330 002D3270 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6334.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6334.s new file mode 100644 index 0000000000..ab35e5f161 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6334.s @@ -0,0 +1,27 @@ +/* __dt__10JKRArchiveFv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::__dt(void) */ +/* JKRArchive_NS_dtor */ +/* 802D6334 002D3274 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D6338 002D3278 7C 08 02 A6 */ mflr r0 +/* 802D633C 002D327C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D6340 002D3280 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D6344 002D3284 93 C1 00 08 */ stw r30, 8(r1) +/* 802D6348 002D3288 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D634C 002D328C 7C 9F 23 78 */ mr r31, r4 +/* 802D6350 002D3290 41 82 00 28 */ beq lbl_802D6378 +/* 802D6354 002D3294 3C 80 80 3D */ lis r4, lbl_803CC288@ha +/* 802D6358 002D3298 38 04 C2 88 */ addi r0, r4, lbl_803CC288@l +/* 802D635C 002D329C 90 1E 00 00 */ stw r0, 0(r30) +/* 802D6360 002D32A0 38 80 00 00 */ li r4, 0 +/* 802D6364 002D32A4 4B FF DD E5 */ bl __dt__13JKRFileLoaderFv +/* 802D6368 002D32A8 7F E0 07 35 */ extsh. r0, r31 +/* 802D636C 002D32AC 40 81 00 0C */ ble lbl_802D6378 +/* 802D6370 002D32B0 7F C3 F3 78 */ mr r3, r30 +/* 802D6374 002D32B4 4B FF 89 C9 */ bl __dl__FPv +lbl_802D6378: +/* 802D6378 002D32B8 7F C3 F3 78 */ mr r3, r30 +/* 802D637C 002D32BC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D6380 002D32C0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D6384 002D32C4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D6388 002D32C8 7C 08 03 A6 */ mtlr r0 +/* 802D638C 002D32CC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D6390 002D32D0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6394.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6394.s new file mode 100644 index 0000000000..7898932ad8 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6394.s @@ -0,0 +1,23 @@ +/* isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::isSameName( const(__ct__10JKRArchiveFlQ210JKRArchive10EMountMode::CArcName &, unsigned long, unsigned short)) */ +/* JKRArchive_NS_isSameName */ +/* 802D6394 002D32D4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D6398 002D32D8 7C 08 02 A6 */ mflr r0 +/* 802D639C 002D32DC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D63A0 002D32E0 A0 E4 00 00 */ lhz r7, 0(r4) +/* 802D63A4 002D32E4 54 C0 04 3E */ clrlwi r0, r6, 0x10 +/* 802D63A8 002D32E8 7C 07 00 40 */ cmplw r7, r0 +/* 802D63AC 002D32EC 41 82 00 0C */ beq lbl_802D63B8 +/* 802D63B0 002D32F0 38 60 00 00 */ li r3, 0 +/* 802D63B4 002D32F4 48 00 00 1C */ b lbl_802D63D0 +lbl_802D63B8: +/* 802D63B8 002D32F8 80 03 00 54 */ lwz r0, 0x54(r3) +/* 802D63BC 002D32FC 7C 60 2A 14 */ add r3, r0, r5 +/* 802D63C0 002D3300 38 84 00 04 */ addi r4, r4, 4 +/* 802D63C4 002D3304 48 09 25 D1 */ bl strcmp +/* 802D63C8 002D3308 7C 60 00 34 */ cntlzw r0, r3 +/* 802D63CC 002D330C 54 03 D9 7E */ srwi r3, r0, 5 +lbl_802D63D0: +/* 802D63D0 002D3310 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D63D4 002D3314 7C 08 03 A6 */ mtlr r0 +/* 802D63D8 002D3318 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D63DC 002D331C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D63E0.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D63E0.s new file mode 100644 index 0000000000..9630da07df --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D63E0.s @@ -0,0 +1,20 @@ +/* findResType__10JKRArchiveCFUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findResType( const(unsigned long)) */ +/* JKRArchive_NS_findResType */ +/* 802D63E0 002D3320 80 A3 00 48 */ lwz r5, 0x48(r3) +/* 802D63E4 002D3324 80 63 00 44 */ lwz r3, 0x44(r3) +/* 802D63E8 002D3328 80 03 00 00 */ lwz r0, 0(r3) +/* 802D63EC 002D332C 7C 09 03 A6 */ mtctr r0 +/* 802D63F0 002D3330 28 00 00 00 */ cmplwi r0, 0 +/* 802D63F4 002D3334 40 81 00 20 */ ble lbl_802D6414 +lbl_802D63F8: +/* 802D63F8 002D3338 80 05 00 00 */ lwz r0, 0(r5) +/* 802D63FC 002D333C 7C 00 20 40 */ cmplw r0, r4 +/* 802D6400 002D3340 40 82 00 0C */ bne lbl_802D640C +/* 802D6404 002D3344 7C A3 2B 78 */ mr r3, r5 +/* 802D6408 002D3348 4E 80 00 20 */ blr +lbl_802D640C: +/* 802D640C 002D334C 38 A5 00 10 */ addi r5, r5, 0x10 +/* 802D6410 002D3350 42 00 FF E8 */ bdnz lbl_802D63F8 +lbl_802D6414: +/* 802D6414 002D3354 38 60 00 00 */ li r3, 0 +/* 802D6418 002D3358 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D641C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D641C.s new file mode 100644 index 0000000000..5d26a7a1fc --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D641C.s @@ -0,0 +1,62 @@ +/* findDirectory__10JKRArchiveCFPCcUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findDirectory( const(char const *, unsigned long)) */ +/* JKRArchive_NS_findDirectory */ +/* 802D641C 002D335C 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802D6420 002D3360 7C 08 02 A6 */ mflr r0 +/* 802D6424 002D3364 90 01 01 34 */ stw r0, 0x134(r1) +/* 802D6428 002D3368 39 61 01 30 */ addi r11, r1, 0x130 +/* 802D642C 002D336C 48 08 BD A9 */ bl _savegpr_27 +/* 802D6430 002D3370 7C 7B 1B 78 */ mr r27, r3 +/* 802D6434 002D3374 7C BD 2B 78 */ mr r29, r5 +/* 802D6438 002D3378 28 04 00 00 */ cmplwi r4, 0 +/* 802D643C 002D337C 40 82 00 14 */ bne lbl_802D6450 +/* 802D6440 002D3380 80 7B 00 48 */ lwz r3, 0x48(r27) +/* 802D6444 002D3384 57 A0 20 36 */ slwi r0, r29, 4 +/* 802D6448 002D3388 7C 63 02 14 */ add r3, r3, r0 +/* 802D644C 002D338C 48 00 00 90 */ b lbl_802D64DC +lbl_802D6450: +/* 802D6450 002D3390 38 61 00 08 */ addi r3, r1, 8 +/* 802D6454 002D3394 38 A0 00 2F */ li r5, 0x2f +/* 802D6458 002D3398 48 00 04 2D */ bl store__Q210JKRArchive8CArcNameFPCcc +/* 802D645C 002D339C 7C 7C 1B 78 */ mr r28, r3 +/* 802D6460 002D33A0 80 7B 00 48 */ lwz r3, 0x48(r27) +/* 802D6464 002D33A4 57 A0 20 36 */ slwi r0, r29, 4 +/* 802D6468 002D33A8 7F E3 02 14 */ add r31, r3, r0 +/* 802D646C 002D33AC 80 7B 00 4C */ lwz r3, 0x4c(r27) +/* 802D6470 002D33B0 80 1F 00 0C */ lwz r0, 0xc(r31) +/* 802D6474 002D33B4 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 802D6478 002D33B8 7F C3 02 14 */ add r30, r3, r0 +/* 802D647C 002D33BC 3B A0 00 00 */ li r29, 0 +/* 802D6480 002D33C0 48 00 00 4C */ b lbl_802D64CC +lbl_802D6484: +/* 802D6484 002D33C4 7F 63 DB 78 */ mr r3, r27 +/* 802D6488 002D33C8 38 81 00 08 */ addi r4, r1, 8 +/* 802D648C 002D33CC 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D6490 002D33D0 54 05 02 3E */ clrlwi r5, r0, 8 +/* 802D6494 002D33D4 A0 DE 00 02 */ lhz r6, 2(r30) +/* 802D6498 002D33D8 4B FF FE FD */ bl isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs +/* 802D649C 002D33DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D64A0 002D33E0 41 82 00 24 */ beq lbl_802D64C4 +/* 802D64A4 002D33E4 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D64A8 002D33E8 54 00 47 BD */ rlwinm. r0, r0, 8, 0x1e, 0x1e +/* 802D64AC 002D33EC 41 82 00 2C */ beq lbl_802D64D8 +/* 802D64B0 002D33F0 7F 63 DB 78 */ mr r3, r27 +/* 802D64B4 002D33F4 7F 84 E3 78 */ mr r4, r28 +/* 802D64B8 002D33F8 80 BE 00 08 */ lwz r5, 8(r30) +/* 802D64BC 002D33FC 4B FF FF 61 */ bl findDirectory__10JKRArchiveCFPCcUl +/* 802D64C0 002D3400 48 00 00 1C */ b lbl_802D64DC +lbl_802D64C4: +/* 802D64C4 002D3404 3B DE 00 14 */ addi r30, r30, 0x14 +/* 802D64C8 002D3408 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D64CC: +/* 802D64CC 002D340C A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 802D64D0 002D3410 7C 1D 00 00 */ cmpw r29, r0 +/* 802D64D4 002D3414 41 80 FF B0 */ blt lbl_802D6484 +lbl_802D64D8: +/* 802D64D8 002D3418 38 60 00 00 */ li r3, 0 +lbl_802D64DC: +/* 802D64DC 002D341C 39 61 01 30 */ addi r11, r1, 0x130 +/* 802D64E0 002D3420 48 08 BD 41 */ bl _restgpr_27 +/* 802D64E4 002D3424 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802D64E8 002D3428 7C 08 03 A6 */ mtlr r0 +/* 802D64EC 002D342C 38 21 01 30 */ addi r1, r1, 0x130 +/* 802D64F0 002D3430 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D64F4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D64F4.s new file mode 100644 index 0000000000..e540a8ed8b --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D64F4.s @@ -0,0 +1,51 @@ +/* findTypeResource__10JKRArchiveCFUlPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findTypeResource( const(unsigned long, char const *)) */ +/* JKRArchive_NS_findTypeResource */ +/* 802D64F4 002D3434 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D64F8 002D3438 7C 08 02 A6 */ mflr r0 +/* 802D64FC 002D343C 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D6500 002D3440 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D6504 002D3444 48 08 BC D5 */ bl _savegpr_28 +/* 802D6508 002D3448 7C 7C 1B 78 */ mr r28, r3 +/* 802D650C 002D344C 7C 9D 23 79 */ or. r29, r4, r4 +/* 802D6510 002D3450 41 82 00 78 */ beq lbl_802D6588 +/* 802D6514 002D3454 38 61 00 08 */ addi r3, r1, 8 +/* 802D6518 002D3458 7C A4 2B 78 */ mr r4, r5 +/* 802D651C 002D345C 48 00 02 D9 */ bl store__Q210JKRArchive8CArcNameFPCc +/* 802D6520 002D3460 7F 83 E3 78 */ mr r3, r28 +/* 802D6524 002D3464 7F A4 EB 78 */ mr r4, r29 +/* 802D6528 002D3468 4B FF FE B9 */ bl findResType__10JKRArchiveCFUl +/* 802D652C 002D346C 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D6530 002D3470 41 82 00 58 */ beq lbl_802D6588 +/* 802D6534 002D3474 80 7C 00 4C */ lwz r3, 0x4c(r28) +/* 802D6538 002D3478 80 1F 00 0C */ lwz r0, 0xc(r31) +/* 802D653C 002D347C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 802D6540 002D3480 7F C3 02 14 */ add r30, r3, r0 +/* 802D6544 002D3484 3B A0 00 00 */ li r29, 0 +/* 802D6548 002D3488 48 00 00 34 */ b lbl_802D657C +lbl_802D654C: +/* 802D654C 002D348C 7F 83 E3 78 */ mr r3, r28 +/* 802D6550 002D3490 38 81 00 08 */ addi r4, r1, 8 +/* 802D6554 002D3494 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D6558 002D3498 54 05 02 3E */ clrlwi r5, r0, 8 +/* 802D655C 002D349C A0 DE 00 02 */ lhz r6, 2(r30) +/* 802D6560 002D34A0 4B FF FE 35 */ bl isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs +/* 802D6564 002D34A4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D6568 002D34A8 41 82 00 0C */ beq lbl_802D6574 +/* 802D656C 002D34AC 7F C3 F3 78 */ mr r3, r30 +/* 802D6570 002D34B0 48 00 00 1C */ b lbl_802D658C +lbl_802D6574: +/* 802D6574 002D34B4 3B DE 00 14 */ addi r30, r30, 0x14 +/* 802D6578 002D34B8 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D657C: +/* 802D657C 002D34BC A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 802D6580 002D34C0 7C 1D 00 00 */ cmpw r29, r0 +/* 802D6584 002D34C4 41 80 FF C8 */ blt lbl_802D654C +lbl_802D6588: +/* 802D6588 002D34C8 38 60 00 00 */ li r3, 0 +lbl_802D658C: +/* 802D658C 002D34CC 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D6590 002D34D0 48 08 BC 95 */ bl _restgpr_28 +/* 802D6594 002D34D4 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D6598 002D34D8 7C 08 03 A6 */ mtlr r0 +/* 802D659C 002D34DC 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D65A0 002D34E0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D65A4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D65A4.s new file mode 100644 index 0000000000..20b9a0db95 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D65A4.s @@ -0,0 +1,65 @@ +/* findFsResource__10JKRArchiveCFPCcUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findFsResource( const(char const *, unsigned long)) */ +/* JKRArchive_NS_findFsResource */ +/* 802D65A4 002D34E4 94 21 FE D0 */ stwu r1, -0x130(r1) +/* 802D65A8 002D34E8 7C 08 02 A6 */ mflr r0 +/* 802D65AC 002D34EC 90 01 01 34 */ stw r0, 0x134(r1) +/* 802D65B0 002D34F0 39 61 01 30 */ addi r11, r1, 0x130 +/* 802D65B4 002D34F4 48 08 BC 21 */ bl _savegpr_27 +/* 802D65B8 002D34F8 7C 7B 1B 78 */ mr r27, r3 +/* 802D65BC 002D34FC 7C BD 2B 78 */ mr r29, r5 +/* 802D65C0 002D3500 28 04 00 00 */ cmplwi r4, 0 +/* 802D65C4 002D3504 41 82 00 A4 */ beq lbl_802D6668 +/* 802D65C8 002D3508 38 61 00 08 */ addi r3, r1, 8 +/* 802D65CC 002D350C 38 A0 00 2F */ li r5, 0x2f +/* 802D65D0 002D3510 48 00 02 B5 */ bl store__Q210JKRArchive8CArcNameFPCcc +/* 802D65D4 002D3514 7C 7C 1B 78 */ mr r28, r3 +/* 802D65D8 002D3518 80 7B 00 48 */ lwz r3, 0x48(r27) +/* 802D65DC 002D351C 57 A0 20 36 */ slwi r0, r29, 4 +/* 802D65E0 002D3520 7F E3 02 14 */ add r31, r3, r0 +/* 802D65E4 002D3524 80 7B 00 4C */ lwz r3, 0x4c(r27) +/* 802D65E8 002D3528 80 1F 00 0C */ lwz r0, 0xc(r31) +/* 802D65EC 002D352C 1C 00 00 14 */ mulli r0, r0, 0x14 +/* 802D65F0 002D3530 7F C3 02 14 */ add r30, r3, r0 +/* 802D65F4 002D3534 3B A0 00 00 */ li r29, 0 +/* 802D65F8 002D3538 48 00 00 64 */ b lbl_802D665C +lbl_802D65FC: +/* 802D65FC 002D353C 7F 63 DB 78 */ mr r3, r27 +/* 802D6600 002D3540 38 81 00 08 */ addi r4, r1, 8 +/* 802D6604 002D3544 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D6608 002D3548 54 05 02 3E */ clrlwi r5, r0, 8 +/* 802D660C 002D354C A0 DE 00 02 */ lhz r6, 2(r30) +/* 802D6610 002D3550 4B FF FD 85 */ bl isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs +/* 802D6614 002D3554 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D6618 002D3558 41 82 00 3C */ beq lbl_802D6654 +/* 802D661C 002D355C 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D6620 002D3560 54 00 47 BD */ rlwinm. r0, r0, 8, 0x1e, 0x1e +/* 802D6624 002D3564 41 82 00 18 */ beq lbl_802D663C +/* 802D6628 002D3568 7F 63 DB 78 */ mr r3, r27 +/* 802D662C 002D356C 7F 84 E3 78 */ mr r4, r28 +/* 802D6630 002D3570 80 BE 00 08 */ lwz r5, 8(r30) +/* 802D6634 002D3574 4B FF FF 71 */ bl findFsResource__10JKRArchiveCFPCcUl +/* 802D6638 002D3578 48 00 00 34 */ b lbl_802D666C +lbl_802D663C: +/* 802D663C 002D357C 28 1C 00 00 */ cmplwi r28, 0 +/* 802D6640 002D3580 40 82 00 0C */ bne lbl_802D664C +/* 802D6644 002D3584 7F C3 F3 78 */ mr r3, r30 +/* 802D6648 002D3588 48 00 00 24 */ b lbl_802D666C +lbl_802D664C: +/* 802D664C 002D358C 38 60 00 00 */ li r3, 0 +/* 802D6650 002D3590 48 00 00 1C */ b lbl_802D666C +lbl_802D6654: +/* 802D6654 002D3594 3B DE 00 14 */ addi r30, r30, 0x14 +/* 802D6658 002D3598 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D665C: +/* 802D665C 002D359C A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 802D6660 002D35A0 7C 1D 00 00 */ cmpw r29, r0 +/* 802D6664 002D35A4 41 80 FF 98 */ blt lbl_802D65FC +lbl_802D6668: +/* 802D6668 002D35A8 38 60 00 00 */ li r3, 0 +lbl_802D666C: +/* 802D666C 002D35AC 39 61 01 30 */ addi r11, r1, 0x130 +/* 802D6670 002D35B0 48 08 BB B1 */ bl _restgpr_27 +/* 802D6674 002D35B4 80 01 01 34 */ lwz r0, 0x134(r1) +/* 802D6678 002D35B8 7C 08 03 A6 */ mtlr r0 +/* 802D667C 002D35BC 38 21 01 30 */ addi r1, r1, 0x130 +/* 802D6680 002D35C0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6684.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6684.s new file mode 100644 index 0000000000..d857ad4ff7 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6684.s @@ -0,0 +1,13 @@ +/* findIdxResource__10JKRArchiveCFUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findIdxResource( const(unsigned long)) */ +/* JKRArchive_NS_findIdxResource */ +/* 802D6684 002D35C4 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 802D6688 002D35C8 80 05 00 08 */ lwz r0, 8(r5) +/* 802D668C 002D35CC 7C 04 00 40 */ cmplw r4, r0 +/* 802D6690 002D35D0 40 80 00 14 */ bge lbl_802D66A4 +/* 802D6694 002D35D4 80 63 00 4C */ lwz r3, 0x4c(r3) +/* 802D6698 002D35D8 1C 04 00 14 */ mulli r0, r4, 0x14 +/* 802D669C 002D35DC 7C 63 02 14 */ add r3, r3, r0 +/* 802D66A0 002D35E0 4E 80 00 20 */ blr +lbl_802D66A4: +/* 802D66A4 002D35E4 38 60 00 00 */ li r3, 0 +/* 802D66A8 002D35E8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D66AC.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D66AC.s new file mode 100644 index 0000000000..00095ab4e2 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D66AC.s @@ -0,0 +1,40 @@ +/* findNameResource__10JKRArchiveCFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findNameResource( const(char const *)) */ +/* JKRArchive_NS_findNameResource */ +/* 802D66AC 002D35EC 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D66B0 002D35F0 7C 08 02 A6 */ mflr r0 +/* 802D66B4 002D35F4 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D66B8 002D35F8 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D66BC 002D35FC 48 08 BB 1D */ bl _savegpr_28 +/* 802D66C0 002D3600 7C 7C 1B 78 */ mr r28, r3 +/* 802D66C4 002D3604 83 C3 00 4C */ lwz r30, 0x4c(r3) +/* 802D66C8 002D3608 38 61 00 08 */ addi r3, r1, 8 +/* 802D66CC 002D360C 48 00 01 29 */ bl store__Q210JKRArchive8CArcNameFPCc +/* 802D66D0 002D3610 3B A0 00 00 */ li r29, 0 +/* 802D66D4 002D3614 83 FC 00 44 */ lwz r31, 0x44(r28) +/* 802D66D8 002D3618 48 00 00 34 */ b lbl_802D670C +lbl_802D66DC: +/* 802D66DC 002D361C 7F 83 E3 78 */ mr r3, r28 +/* 802D66E0 002D3620 38 81 00 08 */ addi r4, r1, 8 +/* 802D66E4 002D3624 80 1E 00 04 */ lwz r0, 4(r30) +/* 802D66E8 002D3628 54 05 02 3E */ clrlwi r5, r0, 8 +/* 802D66EC 002D362C A0 DE 00 02 */ lhz r6, 2(r30) +/* 802D66F0 002D3630 4B FF FC A5 */ bl isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs +/* 802D66F4 002D3634 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D66F8 002D3638 41 82 00 0C */ beq lbl_802D6704 +/* 802D66FC 002D363C 7F C3 F3 78 */ mr r3, r30 +/* 802D6700 002D3640 48 00 00 1C */ b lbl_802D671C +lbl_802D6704: +/* 802D6704 002D3644 3B DE 00 14 */ addi r30, r30, 0x14 +/* 802D6708 002D3648 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D670C: +/* 802D670C 002D364C 80 1F 00 08 */ lwz r0, 8(r31) +/* 802D6710 002D3650 7C 1D 00 40 */ cmplw r29, r0 +/* 802D6714 002D3654 41 80 FF C8 */ blt lbl_802D66DC +/* 802D6718 002D3658 38 60 00 00 */ li r3, 0 +lbl_802D671C: +/* 802D671C 002D365C 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D6720 002D3660 48 08 BB 05 */ bl _restgpr_28 +/* 802D6724 002D3664 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D6728 002D3668 7C 08 03 A6 */ mtlr r0 +/* 802D672C 002D366C 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D6730 002D3670 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6734.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6734.s new file mode 100644 index 0000000000..05f4a4e0df --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6734.s @@ -0,0 +1,20 @@ +/* findPtrResource__10JKRArchiveCFPCv __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findPtrResource( const(void const *)) */ +/* JKRArchive_NS_findPtrResource */ +/* 802D6734 002D3674 80 A3 00 4C */ lwz r5, 0x4c(r3) +/* 802D6738 002D3678 80 63 00 44 */ lwz r3, 0x44(r3) +/* 802D673C 002D367C 80 03 00 08 */ lwz r0, 8(r3) +/* 802D6740 002D3680 7C 09 03 A6 */ mtctr r0 +/* 802D6744 002D3684 28 00 00 00 */ cmplwi r0, 0 +/* 802D6748 002D3688 40 81 00 20 */ ble lbl_802D6768 +lbl_802D674C: +/* 802D674C 002D368C 80 05 00 10 */ lwz r0, 0x10(r5) +/* 802D6750 002D3690 7C 00 20 40 */ cmplw r0, r4 +/* 802D6754 002D3694 40 82 00 0C */ bne lbl_802D6760 +/* 802D6758 002D3698 7C A3 2B 78 */ mr r3, r5 +/* 802D675C 002D369C 4E 80 00 20 */ blr +lbl_802D6760: +/* 802D6760 002D36A0 38 A5 00 14 */ addi r5, r5, 0x14 +/* 802D6764 002D36A4 42 00 FF E8 */ bdnz lbl_802D674C +lbl_802D6768: +/* 802D6768 002D36A8 38 60 00 00 */ li r3, 0 +/* 802D676C 002D36AC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6770.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6770.s new file mode 100644 index 0000000000..a53ae09ec5 --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6770.s @@ -0,0 +1,39 @@ +/* findIdResource__10JKRArchiveCFUs __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::findIdResource( const(unsigned short)) */ +/* JKRArchive_NS_findIdResource */ +/* 802D6770 002D36B0 54 86 04 3E */ clrlwi r6, r4, 0x10 +/* 802D6774 002D36B4 28 06 FF FF */ cmplwi r6, 0xffff +/* 802D6778 002D36B8 41 82 00 74 */ beq lbl_802D67EC +/* 802D677C 002D36BC 80 A3 00 44 */ lwz r5, 0x44(r3) +/* 802D6780 002D36C0 80 E5 00 08 */ lwz r7, 8(r5) +/* 802D6784 002D36C4 7C 06 38 40 */ cmplw r6, r7 +/* 802D6788 002D36C8 40 80 00 30 */ bge lbl_802D67B8 +/* 802D678C 002D36CC 80 A3 00 4C */ lwz r5, 0x4c(r3) +/* 802D6790 002D36D0 1C 06 00 14 */ mulli r0, r6, 0x14 +/* 802D6794 002D36D4 7C A5 02 14 */ add r5, r5, r0 +/* 802D6798 002D36D8 A0 05 00 00 */ lhz r0, 0(r5) +/* 802D679C 002D36DC 7C 00 30 40 */ cmplw r0, r6 +/* 802D67A0 002D36E0 40 82 00 18 */ bne lbl_802D67B8 +/* 802D67A4 002D36E4 80 05 00 04 */ lwz r0, 4(r5) +/* 802D67A8 002D36E8 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f +/* 802D67AC 002D36EC 41 82 00 0C */ beq lbl_802D67B8 +/* 802D67B0 002D36F0 7C A3 2B 78 */ mr r3, r5 +/* 802D67B4 002D36F4 4E 80 00 20 */ blr +lbl_802D67B8: +/* 802D67B8 002D36F8 80 63 00 4C */ lwz r3, 0x4c(r3) +/* 802D67BC 002D36FC 54 84 04 3E */ clrlwi r4, r4, 0x10 +/* 802D67C0 002D3700 7C E9 03 A6 */ mtctr r7 +/* 802D67C4 002D3704 28 07 00 00 */ cmplwi r7, 0 +/* 802D67C8 002D3708 40 81 00 24 */ ble lbl_802D67EC +lbl_802D67CC: +/* 802D67CC 002D370C A0 03 00 00 */ lhz r0, 0(r3) +/* 802D67D0 002D3710 7C 00 20 40 */ cmplw r0, r4 +/* 802D67D4 002D3714 40 82 00 10 */ bne lbl_802D67E4 +/* 802D67D8 002D3718 80 03 00 04 */ lwz r0, 4(r3) +/* 802D67DC 002D371C 54 00 47 FF */ rlwinm. r0, r0, 8, 0x1f, 0x1f +/* 802D67E0 002D3720 4C 82 00 20 */ bnelr +lbl_802D67E4: +/* 802D67E4 002D3724 38 63 00 14 */ addi r3, r3, 0x14 +/* 802D67E8 002D3728 42 00 FF E4 */ bdnz lbl_802D67CC +lbl_802D67EC: +/* 802D67EC 002D372C 38 60 00 00 */ li r3, 0 +/* 802D67F0 002D3730 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D67F4.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D67F4.s new file mode 100644 index 0000000000..65e01fd66e --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D67F4.s @@ -0,0 +1,41 @@ +/* store__Q210JKRArchive8CArcNameFPCc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::CArcName::store( (char const *)) */ +/* JKRArchive_NS_CArcName_NS_store */ +/* 802D67F4 002D3734 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D67F8 002D3738 7C 08 02 A6 */ mflr r0 +/* 802D67FC 002D373C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D6800 002D3740 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6804 002D3744 48 08 B9 D9 */ bl _savegpr_29 +/* 802D6808 002D3748 7C 7D 1B 78 */ mr r29, r3 +/* 802D680C 002D374C 7C 9E 23 78 */ mr r30, r4 +/* 802D6810 002D3750 38 00 00 00 */ li r0, 0 +/* 802D6814 002D3754 B0 03 00 00 */ sth r0, 0(r3) +/* 802D6818 002D3758 3B E0 00 00 */ li r31, 0 +/* 802D681C 002D375C 48 00 00 34 */ b lbl_802D6850 +lbl_802D6820: +/* 802D6820 002D3760 7C 63 07 74 */ extsb r3, r3 +/* 802D6824 002D3764 48 08 EC 4D */ bl func_80365470 +/* 802D6828 002D3768 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802D682C 002D376C 1C 00 00 03 */ mulli r0, r0, 3 +/* 802D6830 002D3770 7C 03 02 14 */ add r0, r3, r0 +/* 802D6834 002D3774 B0 1D 00 00 */ sth r0, 0(r29) +/* 802D6838 002D3778 2C 1F 01 00 */ cmpwi r31, 0x100 +/* 802D683C 002D377C 40 80 00 10 */ bge lbl_802D684C +/* 802D6840 002D3780 38 1F 00 04 */ addi r0, r31, 4 +/* 802D6844 002D3784 7C 7D 01 AE */ stbx r3, r29, r0 +/* 802D6848 002D3788 3B FF 00 01 */ addi r31, r31, 1 +lbl_802D684C: +/* 802D684C 002D378C 3B DE 00 01 */ addi r30, r30, 1 +lbl_802D6850: +/* 802D6850 002D3790 88 7E 00 00 */ lbz r3, 0(r30) +/* 802D6854 002D3794 7C 60 07 75 */ extsb. r0, r3 +/* 802D6858 002D3798 40 82 FF C8 */ bne lbl_802D6820 +/* 802D685C 002D379C B3 FD 00 02 */ sth r31, 2(r29) +/* 802D6860 002D37A0 38 00 00 00 */ li r0, 0 +/* 802D6864 002D37A4 7C 7D FA 14 */ add r3, r29, r31 +/* 802D6868 002D37A8 98 03 00 04 */ stb r0, 4(r3) +/* 802D686C 002D37AC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6870 002D37B0 48 08 B9 B9 */ bl _restgpr_29 +/* 802D6874 002D37B4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D6878 002D37B8 7C 08 03 A6 */ mtlr r0 +/* 802D687C 002D37BC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D6880 002D37C0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6884.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6884.s new file mode 100644 index 0000000000..f22b480dce --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6884.s @@ -0,0 +1,54 @@ +/* store__Q210JKRArchive8CArcNameFPCcc __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::CArcName::store( (char const *, char)) */ +/* JKRArchive_NS_CArcName_NS_store_X1_ */ +/* 802D6884 002D37C4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D6888 002D37C8 7C 08 02 A6 */ mflr r0 +/* 802D688C 002D37CC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D6890 002D37D0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6894 002D37D4 48 08 B9 45 */ bl _savegpr_28 +/* 802D6898 002D37D8 7C 7C 1B 78 */ mr r28, r3 +/* 802D689C 002D37DC 7C 9D 23 78 */ mr r29, r4 +/* 802D68A0 002D37E0 38 00 00 00 */ li r0, 0 +/* 802D68A4 002D37E4 B0 03 00 00 */ sth r0, 0(r3) +/* 802D68A8 002D37E8 3B C0 00 00 */ li r30, 0 +/* 802D68AC 002D37EC 7C BF 07 74 */ extsb r31, r5 +/* 802D68B0 002D37F0 48 00 00 34 */ b lbl_802D68E4 +lbl_802D68B4: +/* 802D68B4 002D37F4 7C 63 07 74 */ extsb r3, r3 +/* 802D68B8 002D37F8 48 08 EB B9 */ bl func_80365470 +/* 802D68BC 002D37FC A0 1C 00 00 */ lhz r0, 0(r28) +/* 802D68C0 002D3800 1C 00 00 03 */ mulli r0, r0, 3 +/* 802D68C4 002D3804 7C 03 02 14 */ add r0, r3, r0 +/* 802D68C8 002D3808 B0 1C 00 00 */ sth r0, 0(r28) +/* 802D68CC 002D380C 2C 1E 01 00 */ cmpwi r30, 0x100 +/* 802D68D0 002D3810 40 80 00 10 */ bge lbl_802D68E0 +/* 802D68D4 002D3814 38 1E 00 04 */ addi r0, r30, 4 +/* 802D68D8 002D3818 7C 7C 01 AE */ stbx r3, r28, r0 +/* 802D68DC 002D381C 3B DE 00 01 */ addi r30, r30, 1 +lbl_802D68E0: +/* 802D68E0 002D3820 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D68E4: +/* 802D68E4 002D3824 88 7D 00 00 */ lbz r3, 0(r29) +/* 802D68E8 002D3828 7C 60 07 75 */ extsb. r0, r3 +/* 802D68EC 002D382C 41 82 00 10 */ beq lbl_802D68FC +/* 802D68F0 002D3830 7C 60 07 74 */ extsb r0, r3 +/* 802D68F4 002D3834 7C 00 F8 00 */ cmpw r0, r31 +/* 802D68F8 002D3838 40 82 FF BC */ bne lbl_802D68B4 +lbl_802D68FC: +/* 802D68FC 002D383C B3 DC 00 02 */ sth r30, 2(r28) +/* 802D6900 002D3840 38 00 00 00 */ li r0, 0 +/* 802D6904 002D3844 7C 7C F2 14 */ add r3, r28, r30 +/* 802D6908 002D3848 98 03 00 04 */ stb r0, 4(r3) +/* 802D690C 002D384C 88 1D 00 00 */ lbz r0, 0(r29) +/* 802D6910 002D3850 7C 00 07 75 */ extsb. r0, r0 +/* 802D6914 002D3854 40 82 00 0C */ bne lbl_802D6920 +/* 802D6918 002D3858 38 60 00 00 */ li r3, 0 +/* 802D691C 002D385C 48 00 00 08 */ b lbl_802D6924 +lbl_802D6920: +/* 802D6920 002D3860 38 7D 00 01 */ addi r3, r29, 1 +lbl_802D6924: +/* 802D6924 002D3864 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D6928 002D3868 48 08 B8 FD */ bl _restgpr_28 +/* 802D692C 002D386C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D6930 002D3870 7C 08 03 A6 */ mtlr r0 +/* 802D6934 002D3874 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D6938 002D3878 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D693C.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D693C.s new file mode 100644 index 0000000000..4e4498021f --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D693C.s @@ -0,0 +1,19 @@ +/* setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::setExpandSize(__ct__10JKRArchiveFlQ210JKRArchive10EMountMode::SDIFileEntry *, unsigned long) */ +/* missing reference */ +/* 802D693C 002D387C 80 03 00 4C */ lwz r0, 0x4c(r3) +/* 802D6940 002D3880 7C 80 20 50 */ subf r4, r0, r4 +/* 802D6944 002D3884 38 00 00 14 */ li r0, 0x14 +/* 802D6948 002D3888 7C C4 03 D6 */ divw r6, r4, r0 +/* 802D694C 002D388C 80 83 00 50 */ lwz r4, 0x50(r3) +/* 802D6950 002D3890 28 04 00 00 */ cmplwi r4, 0 +/* 802D6954 002D3894 4D 82 00 20 */ beqlr +/* 802D6958 002D3898 80 63 00 44 */ lwz r3, 0x44(r3) +/* 802D695C 002D389C 80 03 00 08 */ lwz r0, 8(r3) +/* 802D6960 002D38A0 7C 06 00 40 */ cmplw r6, r0 +/* 802D6964 002D38A4 41 80 00 08 */ blt lbl_802D696C +/* 802D6968 002D38A8 4E 80 00 20 */ blr +lbl_802D696C: +/* 802D696C 002D38AC 54 C0 10 3A */ slwi r0, r6, 2 +/* 802D6970 002D38B0 7C A4 01 2E */ stwx r5, r4, r0 +/* 802D6974 002D38B4 4E 80 00 20 */ blr + diff --git a/include/JSystem/JKernel/JKRArchive/asm/func_802D6978.s b/include/JSystem/JKernel/JKRArchive/asm/func_802D6978.s new file mode 100644 index 0000000000..3c17fb2fce --- /dev/null +++ b/include/JSystem/JKernel/JKRArchive/asm/func_802D6978.s @@ -0,0 +1,20 @@ +/* getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry __ct__10JKRArchiveFlQ210JKRArchive10EMountMode::getExpandSize( const(__ct__10JKRArchiveFlQ210JKRArchive10EMountMode::SDIFileEntry *)) */ +/* missing reference */ +/* 802D6978 002D38B8 80 03 00 4C */ lwz r0, 0x4c(r3) +/* 802D697C 002D38BC 7C 80 20 50 */ subf r4, r0, r4 +/* 802D6980 002D38C0 38 00 00 14 */ li r0, 0x14 +/* 802D6984 002D38C4 7C A4 03 D6 */ divw r5, r4, r0 +/* 802D6988 002D38C8 80 83 00 50 */ lwz r4, 0x50(r3) +/* 802D698C 002D38CC 28 04 00 00 */ cmplwi r4, 0 +/* 802D6990 002D38D0 41 82 00 14 */ beq lbl_802D69A4 +/* 802D6994 002D38D4 80 63 00 44 */ lwz r3, 0x44(r3) +/* 802D6998 002D38D8 80 03 00 08 */ lwz r0, 8(r3) +/* 802D699C 002D38DC 7C 05 00 40 */ cmplw r5, r0 +/* 802D69A0 002D38E0 41 80 00 0C */ blt lbl_802D69AC +lbl_802D69A4: +/* 802D69A4 002D38E4 38 60 00 00 */ li r3, 0 +/* 802D69A8 002D38E8 4E 80 00 20 */ blr +lbl_802D69AC: +/* 802D69AC 002D38EC 54 A0 10 3A */ slwi r0, r5, 2 +/* 802D69B0 002D38F0 7C 64 00 2E */ lwzx r3, r4, r0 +/* 802D69B4 002D38F4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/JKRAssertHeap.h b/include/JSystem/JKernel/JKRAssertHeap/JKRAssertHeap.h new file mode 100644 index 0000000000..00476acae6 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/JKRAssertHeap.h @@ -0,0 +1,33 @@ +#ifndef __JKRASSERTHEAP_H__ +#define __JKRASSERTHEAP_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" + +class JKRAssertHeap : public JKRHeap { + public: + JKRAssertHeap(void*, unsigned long, JKRHeap*, bool); + virtual ~JKRAssertHeap(); + + static void create(JKRHeap*); + + virtual u32 getHeapType(void); + virtual bool check(void); + virtual bool dump(void); + virtual void dump_sort(void); + virtual void do_destroy(void); + virtual void* do_alloc(u32, int); + virtual void do_free(void*); + virtual void do_freeAll(void); + virtual void do_freeTail(void); + virtual void do_fillFreeArea(void); + virtual s32 do_resize(void*, u32); + virtual s32 do_getSize(void*); + virtual s32 do_getFreeSize(void); + virtual void* do_getMaxFreeBlock(void); + virtual s32 do_getTotalFreeSize(void); + virtual u8 do_changeGroupID(u8 param_1); + virtual u8 do_getCurrentGroupId(void); +}; + +#endif diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D12C4.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D12C4.s new file mode 100644 index 0000000000..3185c06a03 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D12C4.s @@ -0,0 +1,17 @@ +/* __ct__13JKRAssertHeapFPvUlP7JKRHeapb __ct__13JKRAssertHeapFPvUlP7JKRHeapb::__ct(void *, unsigned long, JKRHeap *, bool) */ +/* JKRAssertHeap */ +/* 802D12C4 002CE204 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D12C8 002CE208 7C 08 02 A6 */ mflr r0 +/* 802D12CC 002CE20C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D12D0 002CE210 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D12D4 002CE214 7C 7F 1B 78 */ mr r31, r3 +/* 802D12D8 002CE218 4B FF CE 61 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb +/* 802D12DC 002CE21C 3C 60 80 3D */ lis r3, lbl_803CC090@ha +/* 802D12E0 002CE220 38 03 C0 90 */ addi r0, r3, lbl_803CC090@l +/* 802D12E4 002CE224 90 1F 00 00 */ stw r0, 0(r31) +/* 802D12E8 002CE228 7F E3 FB 78 */ mr r3, r31 +/* 802D12EC 002CE22C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D12F0 002CE230 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D12F4 002CE234 7C 08 03 A6 */ mtlr r0 +/* 802D12F8 002CE238 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D12FC 002CE23C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1300.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1300.s new file mode 100644 index 0000000000..65b9bb0472 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1300.s @@ -0,0 +1,29 @@ +/* __dt__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::__dt(void) */ +/* missing reference */ +/* 802D1300 002CE240 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1304 002CE244 7C 08 02 A6 */ mflr r0 +/* 802D1308 002CE248 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D130C 002CE24C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1310 002CE250 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1314 002CE254 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D1318 002CE258 7C 9F 23 78 */ mr r31, r4 +/* 802D131C 002CE25C 41 82 00 30 */ beq lbl_802D134C +/* 802D1320 002CE260 3C 80 80 3D */ lis r4, lbl_803CC090@ha +/* 802D1324 002CE264 38 04 C0 90 */ addi r0, r4, lbl_803CC090@l +/* 802D1328 002CE268 90 1E 00 00 */ stw r0, 0(r30) +/* 802D132C 002CE26C 4B FF D7 95 */ bl dispose__7JKRHeapFv +/* 802D1330 002CE270 7F C3 F3 78 */ mr r3, r30 +/* 802D1334 002CE274 38 80 00 00 */ li r4, 0 +/* 802D1338 002CE278 4B FF CF 2D */ bl __dt__7JKRHeapFv +/* 802D133C 002CE27C 7F E0 07 35 */ extsh. r0, r31 +/* 802D1340 002CE280 40 81 00 0C */ ble lbl_802D134C +/* 802D1344 002CE284 7F C3 F3 78 */ mr r3, r30 +/* 802D1348 002CE288 4B FF D9 F5 */ bl __dl__FPv +lbl_802D134C: +/* 802D134C 002CE28C 7F C3 F3 78 */ mr r3, r30 +/* 802D1350 002CE290 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1354 002CE294 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1358 002CE298 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D135C 002CE29C 7C 08 03 A6 */ mtlr r0 +/* 802D1360 002CE2A0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1364 002CE2A4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1368.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1368.s new file mode 100644 index 0000000000..f8a1a15af7 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1368.s @@ -0,0 +1,34 @@ +/* create__13JKRAssertHeapFP7JKRHeap __ct__13JKRAssertHeapFPvUlP7JKRHeapb::create(JKRHeap *) */ +/* JKRAssertHeap_NS_create */ +/* 802D1368 002CE2A8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D136C 002CE2AC 7C 08 02 A6 */ mflr r0 +/* 802D1370 002CE2B0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1374 002CE2B4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1378 002CE2B8 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D137C 002CE2BC 40 82 00 08 */ bne lbl_802D1384 +/* 802D1380 002CE2C0 83 ED 8D F8 */ lwz r31, lbl_80451378-_SDA_BASE_(r13) +lbl_802D1384: +/* 802D1384 002CE2C4 38 60 00 70 */ li r3, 0x70 +/* 802D1388 002CE2C8 38 80 00 10 */ li r4, 0x10 +/* 802D138C 002CE2CC 7F E5 FB 78 */ mr r5, r31 +/* 802D1390 002CE2D0 4B FF D0 E5 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D1394 002CE2D4 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D1398 002CE2D8 40 82 00 0C */ bne lbl_802D13A4 +/* 802D139C 002CE2DC 38 60 00 00 */ li r3, 0 +/* 802D13A0 002CE2E0 48 00 00 24 */ b lbl_802D13C4 +lbl_802D13A4: +/* 802D13A4 002CE2E4 41 82 00 1C */ beq lbl_802D13C0 +/* 802D13A8 002CE2E8 38 80 00 00 */ li r4, 0 +/* 802D13AC 002CE2EC 38 A0 00 00 */ li r5, 0 +/* 802D13B0 002CE2F0 7F E6 FB 78 */ mr r6, r31 +/* 802D13B4 002CE2F4 38 E0 00 00 */ li r7, 0 +/* 802D13B8 002CE2F8 4B FF FF 0D */ bl __ct__13JKRAssertHeapFPvUlP7JKRHeapb +/* 802D13BC 002CE2FC 7C 60 1B 78 */ mr r0, r3 +lbl_802D13C0: +/* 802D13C0 002CE300 7C 03 03 78 */ mr r3, r0 +lbl_802D13C4: +/* 802D13C4 002CE304 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D13C8 002CE308 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D13CC 002CE30C 7C 08 03 A6 */ mtlr r0 +/* 802D13D0 002CE310 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D13D4 002CE314 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D13D8.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D13D8.s new file mode 100644 index 0000000000..b27e733b31 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D13D8.s @@ -0,0 +1,14 @@ +/* do_destroy__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_destroy(void) */ +/* missing reference */ +/* 802D13D8 002CE318 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D13DC 002CE31C 7C 08 02 A6 */ mflr r0 +/* 802D13E0 002CE320 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D13E4 002CE324 38 80 FF FF */ li r4, -1 +/* 802D13E8 002CE328 81 83 00 00 */ lwz r12, 0(r3) +/* 802D13EC 002CE32C 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D13F0 002CE330 7D 89 03 A6 */ mtctr r12 +/* 802D13F4 002CE334 4E 80 04 21 */ bctrl +/* 802D13F8 002CE338 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D13FC 002CE33C 7C 08 03 A6 */ mtlr r0 +/* 802D1400 002CE340 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1404 002CE344 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1408.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1408.s new file mode 100644 index 0000000000..77b626c225 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1408.s @@ -0,0 +1,5 @@ +/* getHeapType__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::getHeapType(void) */ +/* missing reference */ +/* 802D1408 002CE348 3C 60 41 53 */ lis r3, 0x41535448@ha +/* 802D140C 002CE34C 38 63 54 48 */ addi r3, r3, 0x41535448@l +/* 802D1410 002CE350 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1414.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1414.s new file mode 100644 index 0000000000..7a5d6ac96e --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1414.s @@ -0,0 +1,4 @@ +/* check__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::check(void) */ +/* missing reference */ +/* 802D1414 002CE354 38 60 00 01 */ li r3, 1 +/* 802D1418 002CE358 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D141C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D141C.s new file mode 100644 index 0000000000..85f53b3892 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D141C.s @@ -0,0 +1,4 @@ +/* dump__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::dump(void) */ +/* missing reference */ +/* 802D141C 002CE35C 38 60 00 01 */ li r3, 1 +/* 802D1420 002CE360 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1424.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1424.s new file mode 100644 index 0000000000..21a0b3a909 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1424.s @@ -0,0 +1,4 @@ +/* dump_sort__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::dump_sort(void) */ +/* missing reference */ +/* 802D1424 002CE364 38 60 00 01 */ li r3, 1 +/* 802D1428 002CE368 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D142C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D142C.s new file mode 100644 index 0000000000..94c9860c86 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D142C.s @@ -0,0 +1,4 @@ +/* do_changeGroupID__13JKRAssertHeapFUc __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_changeGroupID(unsigned char) */ +/* missing reference */ +/* 802D142C 002CE36C 38 60 00 00 */ li r3, 0 +/* 802D1430 002CE370 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1434.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1434.s new file mode 100644 index 0000000000..ddaac73270 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1434.s @@ -0,0 +1,4 @@ +/* do_getCurrentGroupId__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_getCurrentGroupId(void) */ +/* missing reference */ +/* 802D1434 002CE374 38 60 00 00 */ li r3, 0 +/* 802D1438 002CE378 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D143C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D143C.s new file mode 100644 index 0000000000..b6ebe45770 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D143C.s @@ -0,0 +1,4 @@ +/* do_alloc__13JKRAssertHeapFUli __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_alloc(unsigned long, int) */ +/* missing reference */ +/* 802D143C 002CE37C 38 60 00 00 */ li r3, 0 +/* 802D1440 002CE380 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1444.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1444.s new file mode 100644 index 0000000000..989661625a --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1444.s @@ -0,0 +1,3 @@ +/* do_free__13JKRAssertHeapFPv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_free(void *) */ +/* missing reference */ +/* 802D1444 002CE384 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1448.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1448.s new file mode 100644 index 0000000000..1992bc57b3 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1448.s @@ -0,0 +1,3 @@ +/* do_freeAll__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_freeAll(void) */ +/* missing reference */ +/* 802D1448 002CE388 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D144C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D144C.s new file mode 100644 index 0000000000..3d71484cca --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D144C.s @@ -0,0 +1,3 @@ +/* do_freeTail__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_freeTail(void) */ +/* missing reference */ +/* 802D144C 002CE38C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1450.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1450.s new file mode 100644 index 0000000000..6820c4c395 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1450.s @@ -0,0 +1,3 @@ +/* do_fillFreeArea__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_fillFreeArea(void) */ +/* missing reference */ +/* 802D1450 002CE390 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1454.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1454.s new file mode 100644 index 0000000000..1f65c329d3 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1454.s @@ -0,0 +1,4 @@ +/* do_resize__13JKRAssertHeapFPvUl __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_resize(void *, unsigned long) */ +/* missing reference */ +/* 802D1454 002CE394 38 60 00 00 */ li r3, 0 +/* 802D1458 002CE398 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D145C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D145C.s new file mode 100644 index 0000000000..3aef7f099e --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D145C.s @@ -0,0 +1,4 @@ +/* do_getSize__13JKRAssertHeapFPv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_getSize(void *) */ +/* missing reference */ +/* 802D145C 002CE39C 38 60 00 00 */ li r3, 0 +/* 802D1460 002CE3A0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1464.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1464.s new file mode 100644 index 0000000000..caa4c144f2 --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1464.s @@ -0,0 +1,4 @@ +/* do_getFreeSize__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_getFreeSize(void) */ +/* missing reference */ +/* 802D1464 002CE3A4 38 60 00 00 */ li r3, 0 +/* 802D1468 002CE3A8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D146C.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D146C.s new file mode 100644 index 0000000000..04be41cd0c --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D146C.s @@ -0,0 +1,4 @@ +/* do_getMaxFreeBlock__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_getMaxFreeBlock(void) */ +/* missing reference */ +/* 802D146C 002CE3AC 38 60 00 00 */ li r3, 0 +/* 802D1470 002CE3B0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1474.s b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1474.s new file mode 100644 index 0000000000..cd17f98d2a --- /dev/null +++ b/include/JSystem/JKernel/JKRAssertHeap/asm/func_802D1474.s @@ -0,0 +1,4 @@ +/* do_getTotalFreeSize__13JKRAssertHeapFv __ct__13JKRAssertHeapFPvUlP7JKRHeapb::do_getTotalFreeSize(void) */ +/* missing reference */ +/* 802D1474 002CE3B4 38 60 00 00 */ li r3, 0 +/* 802D1478 002CE3B8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDisposer/JKRDisposer.h b/include/JSystem/JKernel/JKRDisposer/JKRDisposer.h index 4edb7116ed..3372dbfb57 100644 --- a/include/JSystem/JKernel/JKRDisposer/JKRDisposer.h +++ b/include/JSystem/JKernel/JKRDisposer/JKRDisposer.h @@ -9,7 +9,6 @@ class JKRDisposer { public: JKRDisposer(); virtual ~JKRDisposer(); - virtual void callAllDisposer() = 0; public: JKRHeap* mHeap; diff --git a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h new file mode 100644 index 0000000000..d0870c3033 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h @@ -0,0 +1,59 @@ +#ifndef __JKRDVDFILE_H__ +#define __JKRDVDFILE_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRFile/JKRFile.h" +#include "global.h" + +class DVDFileInfo; +class JKRDvdFile : public JKRFile { + public: + JKRDvdFile(); + JKRDvdFile(char const*); + JKRDvdFile(long); + ~JKRDvdFile(); + + void initiate(void); + void sync(void); + static void doneProcess(long, DVDFileInfo*); + + virtual bool open(char const*); + virtual void close(void); + virtual void readData(void*, long, long); + virtual s32 writeData(void const*, long, long); + virtual s32 getFileSize(void) const; + virtual bool open(long); + + int getFileID() const { + return this->mFileID << 2; + } + + const u8* getFileInfo() const { + return this->mDvdCommandBlock; + } + + int getStatus() { + return DVDGetCommandBlockStatus(&this->mDvdCommandBlock[0]); + } + + public: + u8 mMutex1[24]; + u8 mMutex2[24]; + u32 field_0x4c; + u32 field_0x50; + u32 field_0x54; + u32 field_0x58; + u8 mDvdCommandBlock[48]; + s32 mFileID; + s32 mFileSize; + u32 field_0x94; + JKRDvdFile* mDvdFile; + u8 mQueue1[32]; + void* mMessages1[1]; + u8 mQueue2[32]; + void* mMessages2[1]; + JSULink mDvdLink; + void* mOSThread; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9584.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9584.s new file mode 100644 index 0000000000..4fc1be8fa5 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9584.s @@ -0,0 +1,31 @@ +/* __ct__10JKRDvdFileFv __ct__10JKRDvdFileFv::__ct(void) */ +/* JKRDvdFile */ +/* 802D9584 002D64C4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D9588 002D64C8 7C 08 02 A6 */ mflr r0 +/* 802D958C 002D64CC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9590 002D64D0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D9594 002D64D4 93 C1 00 08 */ stw r30, 8(r1) +/* 802D9598 002D64D8 7C 7E 1B 78 */ mr r30, r3 +/* 802D959C 002D64DC 7F C0 F3 78 */ mr r0, r30 +/* 802D95A0 002D64E0 7C 1F 03 78 */ mr r31, r0 +/* 802D95A4 002D64E4 4B FF 7E D9 */ bl __ct__11JKRDisposerFv +/* 802D95A8 002D64E8 3C 60 80 3D */ lis r3, lbl_803CC328@ha +/* 802D95AC 002D64EC 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l +/* 802D95B0 002D64F0 90 1F 00 00 */ stw r0, 0(r31) +/* 802D95B4 002D64F4 38 00 00 00 */ li r0, 0 +/* 802D95B8 002D64F8 98 1F 00 18 */ stb r0, 0x18(r31) +/* 802D95BC 002D64FC 3C 60 80 3D */ lis r3, lbl_803CC438@ha +/* 802D95C0 002D6500 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l +/* 802D95C4 002D6504 90 1E 00 00 */ stw r0, 0(r30) +/* 802D95C8 002D6508 38 7E 00 E4 */ addi r3, r30, 0xe4 +/* 802D95CC 002D650C 7F C4 F3 78 */ mr r4, r30 +/* 802D95D0 002D6510 48 00 28 2D */ bl __ct__10JSUPtrLinkFPv +/* 802D95D4 002D6514 7F C3 F3 78 */ mr r3, r30 +/* 802D95D8 002D6518 48 00 02 0D */ bl initiate__10JKRDvdFileFv +/* 802D95DC 002D651C 7F C3 F3 78 */ mr r3, r30 +/* 802D95E0 002D6520 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D95E4 002D6524 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D95E8 002D6528 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D95EC 002D652C 7C 08 03 A6 */ mtlr r0 +/* 802D95F0 002D6530 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D95F4 002D6534 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s new file mode 100644 index 0000000000..b001f3bf5e --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s @@ -0,0 +1,46 @@ +/* __ct__10JKRDvdFileFPCc __ct__10JKRDvdFileFv::__ct(char const *) */ +/* JKRDvdFile_X1_ */ +/* 802D95F8 002D6538 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D95FC 002D653C 7C 08 02 A6 */ mflr r0 +/* 802D9600 002D6540 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D9604 002D6544 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D9608 002D6548 48 08 8B D5 */ bl _savegpr_29 +/* 802D960C 002D654C 7C 7D 1B 78 */ mr r29, r3 +/* 802D9610 002D6550 7C 9F 23 78 */ mr r31, r4 +/* 802D9614 002D6554 7F A0 EB 78 */ mr r0, r29 +/* 802D9618 002D6558 7C 1E 03 78 */ mr r30, r0 +/* 802D961C 002D655C 4B FF 7E 61 */ bl __ct__11JKRDisposerFv +/* 802D9620 002D6560 3C 60 80 3D */ lis r3, lbl_803CC328@ha +/* 802D9624 002D6564 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l +/* 802D9628 002D6568 90 1E 00 00 */ stw r0, 0(r30) +/* 802D962C 002D656C 38 00 00 00 */ li r0, 0 +/* 802D9630 002D6570 98 1E 00 18 */ stb r0, 0x18(r30) +/* 802D9634 002D6574 3C 60 80 3D */ lis r3, lbl_803CC438@ha +/* 802D9638 002D6578 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l +/* 802D963C 002D657C 90 1D 00 00 */ stw r0, 0(r29) +/* 802D9640 002D6580 38 7D 00 E4 */ addi r3, r29, 0xe4 +/* 802D9644 002D6584 7F A4 EB 78 */ mr r4, r29 +/* 802D9648 002D6588 48 00 27 B5 */ bl __ct__10JSUPtrLinkFPv +/* 802D964C 002D658C 7F A3 EB 78 */ mr r3, r29 +/* 802D9650 002D6590 48 00 01 95 */ bl initiate__10JKRDvdFileFv +/* 802D9654 002D6594 7F A3 EB 78 */ mr r3, r29 +/* 802D9658 002D6598 7F E4 FB 78 */ mr r4, r31 +/* 802D965C 002D659C 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D9660 002D65A0 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 802D9664 002D65A4 7D 89 03 A6 */ mtctr r12 +/* 802D9668 002D65A8 4E 80 04 21 */ bctrl +/* 802D966C 002D65AC 98 7D 00 18 */ stb r3, 0x18(r29) +/* 802D9670 002D65B0 88 1D 00 18 */ lbz r0, 0x18(r29) +/* 802D9674 002D65B4 28 00 00 00 */ cmplwi r0, 0 +/* 802D9678 002D65B8 41 82 00 0C */ beq lbl_802D9684 +/* 802D967C 002D65BC 7F A3 EB 78 */ mr r3, r29 +/* 802D9680 002D65C0 48 00 00 08 */ b lbl_802D9688 +lbl_802D9684: +/* 802D9684 002D65C4 7F A3 EB 78 */ mr r3, r29 +lbl_802D9688: +/* 802D9688 002D65C8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D968C 002D65CC 48 08 8B 9D */ bl _restgpr_29 +/* 802D9690 002D65D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D9694 002D65D4 7C 08 03 A6 */ mtlr r0 +/* 802D9698 002D65D8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D969C 002D65DC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s new file mode 100644 index 0000000000..9f94facee5 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s @@ -0,0 +1,46 @@ +/* __ct__10JKRDvdFileFl __ct__10JKRDvdFileFv::__ct(long) */ +/* JKRDvdFile_X2_ */ +/* 802D96A0 002D65E0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D96A4 002D65E4 7C 08 02 A6 */ mflr r0 +/* 802D96A8 002D65E8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D96AC 002D65EC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D96B0 002D65F0 48 08 8B 2D */ bl _savegpr_29 +/* 802D96B4 002D65F4 7C 7D 1B 78 */ mr r29, r3 +/* 802D96B8 002D65F8 7C 9F 23 78 */ mr r31, r4 +/* 802D96BC 002D65FC 7F A0 EB 78 */ mr r0, r29 +/* 802D96C0 002D6600 7C 1E 03 78 */ mr r30, r0 +/* 802D96C4 002D6604 4B FF 7D B9 */ bl __ct__11JKRDisposerFv +/* 802D96C8 002D6608 3C 60 80 3D */ lis r3, lbl_803CC328@ha +/* 802D96CC 002D660C 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l +/* 802D96D0 002D6610 90 1E 00 00 */ stw r0, 0(r30) +/* 802D96D4 002D6614 38 00 00 00 */ li r0, 0 +/* 802D96D8 002D6618 98 1E 00 18 */ stb r0, 0x18(r30) +/* 802D96DC 002D661C 3C 60 80 3D */ lis r3, lbl_803CC438@ha +/* 802D96E0 002D6620 38 03 C4 38 */ addi r0, r3, lbl_803CC438@l +/* 802D96E4 002D6624 90 1D 00 00 */ stw r0, 0(r29) +/* 802D96E8 002D6628 38 7D 00 E4 */ addi r3, r29, 0xe4 +/* 802D96EC 002D662C 7F A4 EB 78 */ mr r4, r29 +/* 802D96F0 002D6630 48 00 27 0D */ bl __ct__10JSUPtrLinkFPv +/* 802D96F4 002D6634 7F A3 EB 78 */ mr r3, r29 +/* 802D96F8 002D6638 48 00 00 ED */ bl initiate__10JKRDvdFileFv +/* 802D96FC 002D663C 7F A3 EB 78 */ mr r3, r29 +/* 802D9700 002D6640 7F E4 FB 78 */ mr r4, r31 +/* 802D9704 002D6644 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D9708 002D6648 81 8C 00 20 */ lwz r12, 0x20(r12) +/* 802D970C 002D664C 7D 89 03 A6 */ mtctr r12 +/* 802D9710 002D6650 4E 80 04 21 */ bctrl +/* 802D9714 002D6654 98 7D 00 18 */ stb r3, 0x18(r29) +/* 802D9718 002D6658 88 1D 00 18 */ lbz r0, 0x18(r29) +/* 802D971C 002D665C 28 00 00 00 */ cmplwi r0, 0 +/* 802D9720 002D6660 41 82 00 0C */ beq lbl_802D972C +/* 802D9724 002D6664 7F A3 EB 78 */ mr r3, r29 +/* 802D9728 002D6668 48 00 00 08 */ b lbl_802D9730 +lbl_802D972C: +/* 802D972C 002D666C 7F A3 EB 78 */ mr r3, r29 +lbl_802D9730: +/* 802D9730 002D6670 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D9734 002D6674 48 08 8A F5 */ bl _restgpr_29 +/* 802D9738 002D6678 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D973C 002D667C 7C 08 03 A6 */ mtlr r0 +/* 802D9740 002D6680 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D9744 002D6684 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9748.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9748.s new file mode 100644 index 0000000000..cb8dc37115 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9748.s @@ -0,0 +1,44 @@ +/* __dt__10JKRDvdFileFv __ct__10JKRDvdFileFv::__dt(void) */ +/* JKRDvdFile_NS_dtor */ +/* 802D9748 002D6688 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D974C 002D668C 7C 08 02 A6 */ mflr r0 +/* 802D9750 002D6690 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9754 002D6694 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D9758 002D6698 93 C1 00 08 */ stw r30, 8(r1) +/* 802D975C 002D669C 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D9760 002D66A0 7C 9F 23 78 */ mr r31, r4 +/* 802D9764 002D66A4 41 82 00 64 */ beq lbl_802D97C8 +/* 802D9768 002D66A8 3C 80 80 3D */ lis r4, lbl_803CC438@ha +/* 802D976C 002D66AC 38 04 C4 38 */ addi r0, r4, lbl_803CC438@l +/* 802D9770 002D66B0 90 1E 00 00 */ stw r0, 0(r30) +/* 802D9774 002D66B4 81 83 00 00 */ lwz r12, 0(r3) +/* 802D9778 002D66B8 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 802D977C 002D66BC 7D 89 03 A6 */ mtctr r12 +/* 802D9780 002D66C0 4E 80 04 21 */ bctrl +/* 802D9784 002D66C4 34 1E 00 E4 */ addic. r0, r30, 0xe4 +/* 802D9788 002D66C8 41 82 00 10 */ beq lbl_802D9798 +/* 802D978C 002D66CC 38 7E 00 E4 */ addi r3, r30, 0xe4 +/* 802D9790 002D66D0 38 80 00 00 */ li r4, 0 +/* 802D9794 002D66D4 48 00 26 81 */ bl __dt__10JSUPtrLinkFv +lbl_802D9798: +/* 802D9798 002D66D8 28 1E 00 00 */ cmplwi r30, 0 +/* 802D979C 002D66DC 41 82 00 1C */ beq lbl_802D97B8 +/* 802D97A0 002D66E0 3C 60 80 3D */ lis r3, lbl_803CC328@ha +/* 802D97A4 002D66E4 38 03 C3 28 */ addi r0, r3, lbl_803CC328@l +/* 802D97A8 002D66E8 90 1E 00 00 */ stw r0, 0(r30) +/* 802D97AC 002D66EC 7F C3 F3 78 */ mr r3, r30 +/* 802D97B0 002D66F0 38 80 00 00 */ li r4, 0 +/* 802D97B4 002D66F4 4B FF 7D 31 */ bl __dt__11JKRDisposerFv +lbl_802D97B8: +/* 802D97B8 002D66F8 7F E0 07 35 */ extsh. r0, r31 +/* 802D97BC 002D66FC 40 81 00 0C */ ble lbl_802D97C8 +/* 802D97C0 002D6700 7F C3 F3 78 */ mr r3, r30 +/* 802D97C4 002D6704 4B FF 55 79 */ bl __dl__FPv +lbl_802D97C8: +/* 802D97C8 002D6708 7F C3 F3 78 */ mr r3, r30 +/* 802D97CC 002D670C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D97D0 002D6710 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D97D4 002D6714 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D97D8 002D6718 7C 08 03 A6 */ mtlr r0 +/* 802D97DC 002D671C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D97E0 002D6720 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D97E4.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D97E4.s new file mode 100644 index 0000000000..901cb8432d --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D97E4.s @@ -0,0 +1,29 @@ +/* initiate__10JKRDvdFileFv __ct__10JKRDvdFileFv::initiate(void) */ +/* JKRDvdFile_NS_initiate */ +/* 802D97E4 002D6724 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D97E8 002D6728 7C 08 02 A6 */ mflr r0 +/* 802D97EC 002D672C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D97F0 002D6730 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D97F4 002D6734 7C 7F 1B 78 */ mr r31, r3 +/* 802D97F8 002D6738 93 E3 00 98 */ stw r31, 0x98(r3) +/* 802D97FC 002D673C 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802D9800 002D6740 48 06 58 09 */ bl OSInitMutex +/* 802D9804 002D6744 38 7F 00 34 */ addi r3, r31, 0x34 +/* 802D9808 002D6748 48 06 58 01 */ bl OSInitMutex +/* 802D980C 002D674C 38 7F 00 C0 */ addi r3, r31, 0xc0 +/* 802D9810 002D6750 38 9F 00 E0 */ addi r4, r31, 0xe0 +/* 802D9814 002D6754 38 A0 00 01 */ li r5, 1 +/* 802D9818 002D6758 48 06 51 7D */ bl OSInitMessageQueue +/* 802D981C 002D675C 38 7F 00 9C */ addi r3, r31, 0x9c +/* 802D9820 002D6760 38 9F 00 BC */ addi r4, r31, 0xbc +/* 802D9824 002D6764 38 A0 00 01 */ li r5, 1 +/* 802D9828 002D6768 48 06 51 6D */ bl OSInitMessageQueue +/* 802D982C 002D676C 38 00 00 00 */ li r0, 0 +/* 802D9830 002D6770 90 1F 00 F4 */ stw r0, 0xf4(r31) +/* 802D9834 002D6774 90 1F 00 50 */ stw r0, 0x50(r31) +/* 802D9838 002D6778 90 1F 00 58 */ stw r0, 0x58(r31) +/* 802D983C 002D677C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D9840 002D6780 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D9844 002D6784 7C 08 03 A6 */ mtlr r0 +/* 802D9848 002D6788 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D984C 002D678C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s new file mode 100644 index 0000000000..124d7f4153 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s @@ -0,0 +1,32 @@ +/* open__10JKRDvdFileFPCc __ct__10JKRDvdFileFv::open(char const *) */ +/* JKRDvdFile_NS_open */ +/* 802D9850 002D6790 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D9854 002D6794 7C 08 02 A6 */ mflr r0 +/* 802D9858 002D6798 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D985C 002D679C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D9860 002D67A0 7C 7F 1B 78 */ mr r31, r3 +/* 802D9864 002D67A4 88 03 00 18 */ lbz r0, 0x18(r3) +/* 802D9868 002D67A8 28 00 00 00 */ cmplwi r0, 0 +/* 802D986C 002D67AC 40 82 00 40 */ bne lbl_802D98AC +/* 802D9870 002D67B0 7C 83 23 78 */ mr r3, r4 +/* 802D9874 002D67B4 38 9F 00 5C */ addi r4, r31, 0x5c +/* 802D9878 002D67B8 48 06 F0 19 */ bl DVDOpen +/* 802D987C 002D67BC 30 03 FF FF */ addic r0, r3, -1 +/* 802D9880 002D67C0 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D9884 002D67C4 98 1F 00 18 */ stb r0, 0x18(r31) +/* 802D9888 002D67C8 88 1F 00 18 */ lbz r0, 0x18(r31) +/* 802D988C 002D67CC 28 00 00 00 */ cmplwi r0, 0 +/* 802D9890 002D67D0 41 82 00 1C */ beq lbl_802D98AC +/* 802D9894 002D67D4 3C 60 80 43 */ lis r3, lbl_8043436C@ha +/* 802D9898 002D67D8 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D989C 002D67DC 38 9F 00 E4 */ addi r4, r31, 0xe4 +/* 802D98A0 002D67E0 48 00 26 AD */ bl append__10JSUPtrListFP10JSUPtrLink +/* 802D98A4 002D67E4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 802D98A8 002D67E8 48 07 18 D5 */ bl DVDGetCommandBlockStatus +lbl_802D98AC: +/* 802D98AC 002D67EC 88 7F 00 18 */ lbz r3, 0x18(r31) +/* 802D98B0 002D67F0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D98B4 002D67F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D98B8 002D67F8 7C 08 03 A6 */ mtlr r0 +/* 802D98BC 002D67FC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D98C0 002D6800 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s new file mode 100644 index 0000000000..43272c8993 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s @@ -0,0 +1,32 @@ +/* open__10JKRDvdFileFl __ct__10JKRDvdFileFv::open(long) */ +/* JKRDvdFile_NS_open_X1_ */ +/* 802D98C4 002D6804 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D98C8 002D6808 7C 08 02 A6 */ mflr r0 +/* 802D98CC 002D680C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D98D0 002D6810 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D98D4 002D6814 7C 7F 1B 78 */ mr r31, r3 +/* 802D98D8 002D6818 88 03 00 18 */ lbz r0, 0x18(r3) +/* 802D98DC 002D681C 28 00 00 00 */ cmplwi r0, 0 +/* 802D98E0 002D6820 40 82 00 40 */ bne lbl_802D9920 +/* 802D98E4 002D6824 7C 83 23 78 */ mr r3, r4 +/* 802D98E8 002D6828 38 9F 00 5C */ addi r4, r31, 0x5c +/* 802D98EC 002D682C 48 06 EF 31 */ bl DVDFastOpen +/* 802D98F0 002D6830 30 03 FF FF */ addic r0, r3, -1 +/* 802D98F4 002D6834 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D98F8 002D6838 98 1F 00 18 */ stb r0, 0x18(r31) +/* 802D98FC 002D683C 88 1F 00 18 */ lbz r0, 0x18(r31) +/* 802D9900 002D6840 28 00 00 00 */ cmplwi r0, 0 +/* 802D9904 002D6844 41 82 00 1C */ beq lbl_802D9920 +/* 802D9908 002D6848 3C 60 80 43 */ lis r3, lbl_8043436C@ha +/* 802D990C 002D684C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9910 002D6850 38 9F 00 E4 */ addi r4, r31, 0xe4 +/* 802D9914 002D6854 48 00 26 39 */ bl append__10JSUPtrListFP10JSUPtrLink +/* 802D9918 002D6858 38 7F 00 5C */ addi r3, r31, 0x5c +/* 802D991C 002D685C 48 07 18 61 */ bl DVDGetCommandBlockStatus +lbl_802D9920: +/* 802D9920 002D6860 88 7F 00 18 */ lbz r3, 0x18(r31) +/* 802D9924 002D6864 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D9928 002D6868 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D992C 002D686C 7C 08 03 A6 */ mtlr r0 +/* 802D9930 002D6870 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D9934 002D6874 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s new file mode 100644 index 0000000000..c6228feba3 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s @@ -0,0 +1,35 @@ +/* close__10JKRDvdFileFv __ct__10JKRDvdFileFv::close(void) */ +/* missing reference */ +/* 802D9938 002D6878 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D993C 002D687C 7C 08 02 A6 */ mflr r0 +/* 802D9940 002D6880 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9944 002D6884 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D9948 002D6888 7C 7F 1B 78 */ mr r31, r3 +/* 802D994C 002D688C 88 03 00 18 */ lbz r0, 0x18(r3) +/* 802D9950 002D6890 28 00 00 00 */ cmplwi r0, 0 +/* 802D9954 002D6894 41 82 00 4C */ beq lbl_802D99A0 +/* 802D9958 002D6898 38 7F 00 5C */ addi r3, r31, 0x5c +/* 802D995C 002D689C 48 06 EF FD */ bl DVDClose +/* 802D9960 002D68A0 2C 03 00 00 */ cmpwi r3, 0 +/* 802D9964 002D68A4 41 82 00 20 */ beq lbl_802D9984 +/* 802D9968 002D68A8 38 00 00 00 */ li r0, 0 +/* 802D996C 002D68AC 98 1F 00 18 */ stb r0, 0x18(r31) +/* 802D9970 002D68B0 3C 60 80 43 */ lis r3, lbl_8043436C@ha +/* 802D9974 002D68B4 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9978 002D68B8 38 9F 00 E4 */ addi r4, r31, 0xe4 +/* 802D997C 002D68BC 48 00 27 E1 */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D9980 002D68C0 48 00 00 20 */ b lbl_802D99A0 +lbl_802D9984: +/* 802D9984 002D68C4 3C 60 80 3A */ lis r3, lbl_8039D260@ha +/* 802D9988 002D68C8 38 63 D2 60 */ addi r3, r3, lbl_8039D260@l +/* 802D998C 002D68CC 38 80 00 D5 */ li r4, 0xd5 +/* 802D9990 002D68D0 38 A3 00 0F */ addi r5, r3, 0xf +/* 802D9994 002D68D4 38 C3 00 12 */ addi r6, r3, 0x12 +/* 802D9998 002D68D8 4C C6 31 82 */ crclr 6 +/* 802D999C 002D68DC 48 00 88 61 */ bl JUTException_NS_panic_f +lbl_802D99A0: +/* 802D99A0 002D68E0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D99A4 002D68E4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D99A8 002D68E8 7C 08 03 A6 */ mtlr r0 +/* 802D99AC 002D68EC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D99B0 002D68F0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D99B4.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D99B4.s new file mode 100644 index 0000000000..822963a64d --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D99B4.s @@ -0,0 +1,50 @@ +/* readData__10JKRDvdFileFPvll __ct__10JKRDvdFileFv::readData(void *, long, long) */ +/* missing reference */ +/* 802D99B4 002D68F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D99B8 002D68F8 7C 08 02 A6 */ mflr r0 +/* 802D99BC 002D68FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D99C0 002D6900 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D99C4 002D6904 48 08 88 11 */ bl _savegpr_27 +/* 802D99C8 002D6908 7C 7B 1B 78 */ mr r27, r3 +/* 802D99CC 002D690C 7C 9C 23 78 */ mr r28, r4 +/* 802D99D0 002D6910 7C BD 2B 78 */ mr r29, r5 +/* 802D99D4 002D6914 7C DE 33 78 */ mr r30, r6 +/* 802D99D8 002D6918 38 7B 00 1C */ addi r3, r27, 0x1c +/* 802D99DC 002D691C 48 06 56 65 */ bl OSLockMutex +/* 802D99E0 002D6920 80 1B 00 F4 */ lwz r0, 0xf4(r27) +/* 802D99E4 002D6924 28 00 00 00 */ cmplwi r0, 0 +/* 802D99E8 002D6928 41 82 00 14 */ beq lbl_802D99FC +/* 802D99EC 002D692C 38 7B 00 1C */ addi r3, r27, 0x1c +/* 802D99F0 002D6930 48 06 57 2D */ bl OSUnlockMutex +/* 802D99F4 002D6934 38 60 FF FF */ li r3, -1 +/* 802D99F8 002D6938 48 00 00 58 */ b lbl_802D9A50 +lbl_802D99FC: +/* 802D99FC 002D693C 48 06 72 89 */ bl OSGetCurrentThread +/* 802D9A00 002D6940 90 7B 00 F4 */ stw r3, 0xf4(r27) +/* 802D9A04 002D6944 3B E0 FF FF */ li r31, -1 +/* 802D9A08 002D6948 38 7B 00 5C */ addi r3, r27, 0x5c +/* 802D9A0C 002D694C 7F 84 E3 78 */ mr r4, r28 +/* 802D9A10 002D6950 7F A5 EB 78 */ mr r5, r29 +/* 802D9A14 002D6954 7F C6 F3 78 */ mr r6, r30 +/* 802D9A18 002D6958 3C E0 80 2E */ lis r7, doneProcess__10JKRDvdFileFlP11DVDFileInfo@ha +/* 802D9A1C 002D695C 38 E7 9A C4 */ addi r7, r7, doneProcess__10JKRDvdFileFlP11DVDFileInfo@l +/* 802D9A20 002D6960 39 00 00 02 */ li r8, 2 +/* 802D9A24 002D6964 48 06 F3 31 */ bl DVDReadAsyncPrio +/* 802D9A28 002D6968 2C 03 00 00 */ cmpwi r3, 0 +/* 802D9A2C 002D696C 41 82 00 10 */ beq lbl_802D9A3C +/* 802D9A30 002D6970 7F 63 DB 78 */ mr r3, r27 +/* 802D9A34 002D6974 48 00 00 3D */ bl sync__10JKRDvdFileFv +/* 802D9A38 002D6978 7C 7F 1B 78 */ mr r31, r3 +lbl_802D9A3C: +/* 802D9A3C 002D697C 38 00 00 00 */ li r0, 0 +/* 802D9A40 002D6980 90 1B 00 F4 */ stw r0, 0xf4(r27) +/* 802D9A44 002D6984 38 7B 00 1C */ addi r3, r27, 0x1c +/* 802D9A48 002D6988 48 06 56 D5 */ bl OSUnlockMutex +/* 802D9A4C 002D698C 7F E3 FB 78 */ mr r3, r31 +lbl_802D9A50: +/* 802D9A50 002D6990 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D9A54 002D6994 48 08 87 CD */ bl _restgpr_27 +/* 802D9A58 002D6998 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D9A5C 002D699C 7C 08 03 A6 */ mtlr r0 +/* 802D9A60 002D69A0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D9A64 002D69A4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A68.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A68.s new file mode 100644 index 0000000000..1e35c07436 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A68.s @@ -0,0 +1,4 @@ +/* writeData__10JKRDvdFileFPCvll __ct__10JKRDvdFileFv::writeData(void const *, long, long) */ +/* missing reference */ +/* 802D9A68 002D69A8 38 60 FF FF */ li r3, -1 +/* 802D9A6C 002D69AC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A70.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A70.s new file mode 100644 index 0000000000..5ec41f84a9 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9A70.s @@ -0,0 +1,23 @@ +/* sync__10JKRDvdFileFv __ct__10JKRDvdFileFv::sync(void) */ +/* JKRDvdFile_NS_sync */ +/* 802D9A70 002D69B0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D9A74 002D69B4 7C 08 02 A6 */ mflr r0 +/* 802D9A78 002D69B8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D9A7C 002D69BC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D9A80 002D69C0 7C 7F 1B 78 */ mr r31, r3 +/* 802D9A84 002D69C4 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802D9A88 002D69C8 48 06 55 B9 */ bl OSLockMutex +/* 802D9A8C 002D69CC 38 7F 00 C0 */ addi r3, r31, 0xc0 +/* 802D9A90 002D69D0 38 81 00 08 */ addi r4, r1, 8 +/* 802D9A94 002D69D4 38 A0 00 01 */ li r5, 1 +/* 802D9A98 002D69D8 48 06 50 25 */ bl OSReceiveMessage +/* 802D9A9C 002D69DC 38 00 00 00 */ li r0, 0 +/* 802D9AA0 002D69E0 90 1F 00 F4 */ stw r0, 0xf4(r31) +/* 802D9AA4 002D69E4 38 7F 00 1C */ addi r3, r31, 0x1c +/* 802D9AA8 002D69E8 48 06 56 75 */ bl OSUnlockMutex +/* 802D9AAC 002D69EC 80 61 00 08 */ lwz r3, 8(r1) +/* 802D9AB0 002D69F0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D9AB4 002D69F4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D9AB8 002D69F8 7C 08 03 A6 */ mtlr r0 +/* 802D9ABC 002D69FC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D9AC0 002D6A00 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AC4.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AC4.s new file mode 100644 index 0000000000..3d00b96265 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AC4.s @@ -0,0 +1,15 @@ +/* doneProcess__10JKRDvdFileFlP11DVDFileInfo __ct__10JKRDvdFileFv::doneProcess(long, DVDFileInfo *) */ +/* JKRDvdFile_NS_doneProcess */ +/* 802D9AC4 002D6A04 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D9AC8 002D6A08 7C 08 02 A6 */ mflr r0 +/* 802D9ACC 002D6A0C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9AD0 002D6A10 7C 60 1B 78 */ mr r0, r3 +/* 802D9AD4 002D6A14 80 64 00 3C */ lwz r3, 0x3c(r4) +/* 802D9AD8 002D6A18 38 63 00 C0 */ addi r3, r3, 0xc0 +/* 802D9ADC 002D6A1C 7C 04 03 78 */ mr r4, r0 +/* 802D9AE0 002D6A20 38 A0 00 00 */ li r5, 0 +/* 802D9AE4 002D6A24 48 06 4F 11 */ bl OSSendMessage +/* 802D9AE8 002D6A28 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D9AEC 002D6A2C 7C 08 03 A6 */ mtlr r0 +/* 802D9AF0 002D6A30 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D9AF4 002D6A34 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s new file mode 100644 index 0000000000..59bb0f5999 --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s @@ -0,0 +1,4 @@ +/* getFileSize__10JKRDvdFileCFv __ct__10JKRDvdFileFv::getFileSize( const(void)) */ +/* missing reference */ +/* 802D9AF8 002D6A38 80 63 00 90 */ lwz r3, 0x90(r3) +/* 802D9AFC 002D6A3C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s new file mode 100644 index 0000000000..14d3c7b00f --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B00.s @@ -0,0 +1,19 @@ +/* __sinit_JKRDvdFile_cpp __sinit_JKRDvdFile_cpp */ +/* missing reference */ +/* 802D9B00 002D6A40 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D9B04 002D6A44 7C 08 02 A6 */ mflr r0 +/* 802D9B08 002D6A48 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9B0C 002D6A4C 3C 60 80 43 */ lis r3, lbl_8043436C@ha +/* 802D9B10 002D6A50 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B14 002D6A54 48 00 24 01 */ bl initiate__10JSUPtrListFv +/* 802D9B18 002D6A58 3C 60 80 43 */ lis r3, lbl_8043436C@ha +/* 802D9B1C 002D6A5C 38 63 43 6C */ addi r3, r3, lbl_8043436C@l +/* 802D9B20 002D6A60 3C 80 80 2E */ lis r4, JSUList_NS_dtor_X7_@ha +/* 802D9B24 002D6A64 38 84 9B 44 */ addi r4, r4, JSUList_NS_dtor_X7_@l +/* 802D9B28 002D6A68 3C A0 80 43 */ lis r5, lbl_80434360@ha +/* 802D9B2C 002D6A6C 38 A5 43 60 */ addi r5, r5, lbl_80434360@l +/* 802D9B30 002D6A70 48 08 80 F5 */ bl func_80361C24 +/* 802D9B34 002D6A74 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D9B38 002D6A78 7C 08 03 A6 */ mtlr r0 +/* 802D9B3C 002D6A7C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D9B40 002D6A80 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B44.s b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B44.s new file mode 100644 index 0000000000..5d3dd16d5b --- /dev/null +++ b/include/JSystem/JKernel/JKRDvdFile/asm/func_802D9B44.s @@ -0,0 +1,24 @@ +/* __dt__21JSUList<10JKRDvdFile>Fv JSUList<10JKRDvdFile>::__dt(void) */ +/* JSUList_NS_dtor_X7_ */ +/* 802D9B44 002D6A84 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D9B48 002D6A88 7C 08 02 A6 */ mflr r0 +/* 802D9B4C 002D6A8C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D9B50 002D6A90 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D9B54 002D6A94 93 C1 00 08 */ stw r30, 8(r1) +/* 802D9B58 002D6A98 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D9B5C 002D6A9C 7C 9F 23 78 */ mr r31, r4 +/* 802D9B60 002D6AA0 41 82 00 1C */ beq lbl_802D9B7C +/* 802D9B64 002D6AA4 38 80 00 00 */ li r4, 0 +/* 802D9B68 002D6AA8 48 00 23 45 */ bl __dt__10JSUPtrListFv +/* 802D9B6C 002D6AAC 7F E0 07 35 */ extsh. r0, r31 +/* 802D9B70 002D6AB0 40 81 00 0C */ ble lbl_802D9B7C +/* 802D9B74 002D6AB4 7F C3 F3 78 */ mr r3, r30 +/* 802D9B78 002D6AB8 4B FF 51 C5 */ bl __dl__FPv +lbl_802D9B7C: +/* 802D9B7C 002D6ABC 7F C3 F3 78 */ mr r3, r30 +/* 802D9B80 002D6AC0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D9B84 002D6AC4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D9B88 002D6AC8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D9B8C 002D6ACC 7C 08 03 A6 */ mtlr r0 +/* 802D9B90 002D6AD0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D9B94 002D6AD4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h index 91b710af00..926f9b30cf 100644 --- a/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap/JKRExpHeap.h @@ -1,6 +1,107 @@ -class JKRExpHeap { - public: - s32 getTotalUsedSize() const; - u32 heap_size; +#ifndef __JKREXPHEAP_H__ +#define __JKREXPHEAP_H__ -}; \ No newline at end of file +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" + +class JKRExpHeap : public JKRHeap { + public: + class CMemBlock { + public: + void initiate(CMemBlock*, CMemBlock*, u32, u8, u8); + void allocFore(u32, u8, u8, u8, u8); + void allocBack(u32, u8, u8, u8, u8); + void free(JKRExpHeap*); + void getHeapBlock(void*); + + void newGroupId(u8 groupId) { + this->mGroupId = groupId; + } + + public: + bool isValid() { + return this->mMagic == 0x484d; + } + + bool _isTempMemBlock() { + return (this->mFlags & 0x80) ? true : false; + } + + int getAlignment() const { + return this->mFlags & 0x7f; + } + + void* getContent() { + return (void*)(this + 1); + } + + CMemBlock* getPrevBlock() { + return this->mPrev; + } + + CMemBlock* getNextBlock() { + return this->mNext; + } + + private: + u16 mMagic; + u8 mFlags; // a|bbbbbbb a=temporary b=alignment + u8 mGroupId; + u32 size; + CMemBlock* mPrev; + CMemBlock* mNext; + }; + + public: + void createRoot(int, bool); + void create(u32, JKRHeap*, bool); + void create(void*, u32, JKRHeap*, bool); + + JKRExpHeap(void*, u32, JKRHeap*, bool); + virtual ~JKRExpHeap(); + + void allocFromHead(u32, int); + void allocFromHead(u32); + void allocFromTail(u32, int); + void allocFromTail(u32); + s32 getUsedSize(u8) const; + s32 getTotalUsedSize(void) const; + void appendUsedList(CMemBlock*); + void setFreeBlock(CMemBlock*, CMemBlock*, CMemBlock*); + void removeFreeBlock(CMemBlock*); + void removeUsedBlock(CMemBlock*); + void recycleFreeBlock(CMemBlock*); + void joinTwoBlocks(CMemBlock*); + + public: + virtual u32 getHeapType(); + virtual bool check(); + virtual void dump_sort(); + virtual bool dump(); + virtual void do_destroy(); + virtual void* do_alloc(u32 size, int alignment); + virtual void do_free(void* ptr); + virtual void do_freeAll(); + virtual void do_freeTail(); + virtual void do_fillFreeArea(); + virtual s32 do_resize(void* ptr, u32 size); + virtual s32 do_getSize(void* ptr); + virtual s32 do_getFreeSize(); + virtual void* do_getMaxFreeBlock(); + virtual s32 do_getTotalFreeSize(); + virtual u8 do_changeGroupID(u8 param_1); + virtual u8 do_getCurrentGroupId(); + virtual void state_register(JKRHeap::TState*, u32) const; + virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; + + private: + u32 field_0x6c; + u32 field_0x70; + u32 field_0x74; + CMemBlock* mHeadFreeList; + CMemBlock* mTailFreeList; + CMemBlock* mHeadUsedList; + CMemBlock* mTailUsedList; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s new file mode 100644 index 0000000000..a362d85fbd --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s @@ -0,0 +1,34 @@ +/* createRoot__10JKRExpHeapFib __ct__10JKRExpHeapFPvUlP7JKRHeapb::createRoot(int, bool) */ +/* JKRExpHeap_NS_createRoot */ +/* 802CEDB4 002CBCF4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CEDB8 002CBCF8 7C 08 02 A6 */ mflr r0 +/* 802CEDBC 002CBCFC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CEDC0 002CBD00 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802CEDC4 002CBD04 7C 65 1B 78 */ mr r5, r3 +/* 802CEDC8 002CBD08 7C 9F 23 78 */ mr r31, r4 +/* 802CEDCC 002CBD0C 38 60 00 00 */ li r3, 0 +/* 802CEDD0 002CBD10 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13) +/* 802CEDD4 002CBD14 28 00 00 00 */ cmplwi r0, 0 +/* 802CEDD8 002CBD18 40 82 00 38 */ bne lbl_802CEE10 +/* 802CEDDC 002CBD1C 38 61 00 0C */ addi r3, r1, 0xc +/* 802CEDE0 002CBD20 38 81 00 08 */ addi r4, r1, 8 +/* 802CEDE4 002CBD24 4B FF F5 95 */ bl initArena__7JKRHeapFPPcPUli +/* 802CEDE8 002CBD28 80 61 00 0C */ lwz r3, 0xc(r1) +/* 802CEDEC 002CBD2C 38 83 00 90 */ addi r4, r3, 0x90 +/* 802CEDF0 002CBD30 80 A1 00 08 */ lwz r5, 8(r1) +/* 802CEDF4 002CBD34 38 A5 FF 70 */ addi r5, r5, -144 +/* 802CEDF8 002CBD38 28 03 00 00 */ cmplwi r3, 0 +/* 802CEDFC 002CBD3C 41 82 00 10 */ beq lbl_802CEE0C +/* 802CEE00 002CBD40 38 C0 00 00 */ li r6, 0 +/* 802CEE04 002CBD44 7F E7 FB 78 */ mr r7, r31 +/* 802CEE08 002CBD48 48 00 02 29 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb +lbl_802CEE0C: +/* 802CEE0C 002CBD4C 90 6D 8D F8 */ stw r3, lbl_80451378-_SDA_BASE_(r13) +lbl_802CEE10: +/* 802CEE10 002CBD50 38 00 00 01 */ li r0, 1 +/* 802CEE14 002CBD54 98 03 00 6E */ stb r0, 0x6e(r3) +/* 802CEE18 002CBD58 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802CEE1C 002CBD5C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CEE20 002CBD60 7C 08 03 A6 */ mtlr r0 +/* 802CEE24 002CBD64 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CEE28 002CBD68 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s new file mode 100644 index 0000000000..eea4c8257f --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s @@ -0,0 +1,62 @@ +/* create__10JKRExpHeapFUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::create(unsigned long, JKRHeap *, bool) */ +/* JKRExpHeap_NS_create */ +/* 802CEE2C 002CBD6C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CEE30 002CBD70 7C 08 02 A6 */ mflr r0 +/* 802CEE34 002CBD74 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CEE38 002CBD78 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CEE3C 002CBD7C 48 09 33 9D */ bl _savegpr_28 +/* 802CEE40 002CBD80 7C 9C 23 79 */ or. r28, r4, r4 +/* 802CEE44 002CBD84 7C BD 2B 78 */ mr r29, r5 +/* 802CEE48 002CBD88 40 82 00 08 */ bne lbl_802CEE50 +/* 802CEE4C 002CBD8C 83 8D 8D F8 */ lwz r28, lbl_80451378-_SDA_BASE_(r13) +lbl_802CEE50: +/* 802CEE50 002CBD90 3C 03 00 01 */ addis r0, r3, 1 +/* 802CEE54 002CBD94 28 00 FF FF */ cmplwi r0, 0xffff +/* 802CEE58 002CBD98 40 82 00 10 */ bne lbl_802CEE68 +/* 802CEE5C 002CBD9C 7F 83 E3 78 */ mr r3, r28 +/* 802CEE60 002CBDA0 38 80 00 10 */ li r4, 0x10 +/* 802CEE64 002CBDA4 4B FF F9 79 */ bl getMaxAllocatableSize__7JKRHeapFi +lbl_802CEE68: +/* 802CEE68 002CBDA8 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b +/* 802CEE6C 002CBDAC 28 1F 00 A0 */ cmplwi r31, 0xa0 +/* 802CEE70 002CBDB0 40 80 00 0C */ bge lbl_802CEE7C +/* 802CEE74 002CBDB4 38 60 00 00 */ li r3, 0 +/* 802CEE78 002CBDB8 48 00 00 70 */ b lbl_802CEEE8 +lbl_802CEE7C: +/* 802CEE7C 002CBDBC 7F E3 FB 78 */ mr r3, r31 +/* 802CEE80 002CBDC0 38 80 00 10 */ li r4, 0x10 +/* 802CEE84 002CBDC4 7F 85 E3 78 */ mr r5, r28 +/* 802CEE88 002CBDC8 4B FF F5 ED */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802CEE8C 002CBDCC 7C 60 1B 78 */ mr r0, r3 +/* 802CEE90 002CBDD0 7C 1E 03 79 */ or. r30, r0, r0 +/* 802CEE94 002CBDD4 38 9E 00 90 */ addi r4, r30, 0x90 +/* 802CEE98 002CBDD8 40 82 00 0C */ bne lbl_802CEEA4 +/* 802CEE9C 002CBDDC 38 60 00 00 */ li r3, 0 +/* 802CEEA0 002CBDE0 48 00 00 48 */ b lbl_802CEEE8 +lbl_802CEEA4: +/* 802CEEA4 002CBDE4 7F C5 F3 78 */ mr r5, r30 +/* 802CEEA8 002CBDE8 41 82 00 18 */ beq lbl_802CEEC0 +/* 802CEEAC 002CBDEC 38 BF FF 70 */ addi r5, r31, -144 +/* 802CEEB0 002CBDF0 7F 86 E3 78 */ mr r6, r28 +/* 802CEEB4 002CBDF4 7F A7 EB 78 */ mr r7, r29 +/* 802CEEB8 002CBDF8 48 00 01 79 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb +/* 802CEEBC 002CBDFC 7C 65 1B 78 */ mr r5, r3 +lbl_802CEEC0: +/* 802CEEC0 002CBE00 28 05 00 00 */ cmplwi r5, 0 +/* 802CEEC4 002CBE04 40 82 00 18 */ bne lbl_802CEEDC +/* 802CEEC8 002CBE08 7F C3 F3 78 */ mr r3, r30 +/* 802CEECC 002CBE0C 38 80 00 00 */ li r4, 0 +/* 802CEED0 002CBE10 4B FF F6 31 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802CEED4 002CBE14 38 60 00 00 */ li r3, 0 +/* 802CEED8 002CBE18 48 00 00 10 */ b lbl_802CEEE8 +lbl_802CEEDC: +/* 802CEEDC 002CBE1C 38 00 00 00 */ li r0, 0 +/* 802CEEE0 002CBE20 98 05 00 6E */ stb r0, 0x6e(r5) +/* 802CEEE4 002CBE24 7C A3 2B 78 */ mr r3, r5 +lbl_802CEEE8: +/* 802CEEE8 002CBE28 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CEEEC 002CBE2C 48 09 33 39 */ bl _restgpr_28 +/* 802CEEF0 002CBE30 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CEEF4 002CBE34 7C 08 03 A6 */ mtlr r0 +/* 802CEEF8 002CBE38 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CEEFC 002CBE3C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s new file mode 100644 index 0000000000..d57fe041e1 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s @@ -0,0 +1,50 @@ +/* create__10JKRExpHeapFPvUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::create(void *, unsigned long, JKRHeap *, bool) */ +/* JKRExpHeap_NS_create_X1_ */ +/* 802CEF00 002CBE40 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CEF04 002CBE44 7C 08 02 A6 */ mflr r0 +/* 802CEF08 002CBE48 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CEF0C 002CBE4C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CEF10 002CBE50 48 09 32 CD */ bl _savegpr_29 +/* 802CEF14 002CBE54 7C 7D 1B 78 */ mr r29, r3 +/* 802CEF18 002CBE58 7C 9E 23 78 */ mr r30, r4 +/* 802CEF1C 002CBE5C 7C DF 33 78 */ mr r31, r6 +/* 802CEF20 002CBE60 28 05 00 00 */ cmplwi r5, 0 +/* 802CEF24 002CBE64 40 82 00 20 */ bne lbl_802CEF44 +/* 802CEF28 002CBE68 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802CEF2C 002CBE6C 7F A4 EB 78 */ mr r4, r29 +/* 802CEF30 002CBE70 4B FF F9 65 */ bl find__7JKRHeapCFPv +/* 802CEF34 002CBE74 7C 66 1B 79 */ or. r6, r3, r3 +/* 802CEF38 002CBE78 40 82 00 10 */ bne lbl_802CEF48 +/* 802CEF3C 002CBE7C 38 60 00 00 */ li r3, 0 +/* 802CEF40 002CBE80 48 00 00 54 */ b lbl_802CEF94 +lbl_802CEF44: +/* 802CEF44 002CBE84 7C A6 2B 78 */ mr r6, r5 +lbl_802CEF48: +/* 802CEF48 002CBE88 38 60 00 00 */ li r3, 0 +/* 802CEF4C 002CBE8C 28 1E 00 90 */ cmplwi r30, 0x90 +/* 802CEF50 002CBE90 40 80 00 0C */ bge lbl_802CEF5C +/* 802CEF54 002CBE94 38 60 00 00 */ li r3, 0 +/* 802CEF58 002CBE98 48 00 00 3C */ b lbl_802CEF94 +lbl_802CEF5C: +/* 802CEF5C 002CBE9C 38 9D 00 90 */ addi r4, r29, 0x90 +/* 802CEF60 002CBEA0 7C 1D F2 14 */ add r0, r29, r30 +/* 802CEF64 002CBEA4 7C 04 00 50 */ subf r0, r4, r0 +/* 802CEF68 002CBEA8 54 05 00 36 */ rlwinm r5, r0, 0, 0, 0x1b +/* 802CEF6C 002CBEAC 28 1D 00 00 */ cmplwi r29, 0 +/* 802CEF70 002CBEB0 41 82 00 14 */ beq lbl_802CEF84 +/* 802CEF74 002CBEB4 7F A3 EB 78 */ mr r3, r29 +/* 802CEF78 002CBEB8 41 82 00 0C */ beq lbl_802CEF84 +/* 802CEF7C 002CBEBC 7F E7 FB 78 */ mr r7, r31 +/* 802CEF80 002CBEC0 48 00 00 B1 */ bl __ct__10JKRExpHeapFPvUlP7JKRHeapb +lbl_802CEF84: +/* 802CEF84 002CBEC4 38 00 00 01 */ li r0, 1 +/* 802CEF88 002CBEC8 98 03 00 6E */ stb r0, 0x6e(r3) +/* 802CEF8C 002CBECC 93 A3 00 70 */ stw r29, 0x70(r3) +/* 802CEF90 002CBED0 93 C3 00 74 */ stw r30, 0x74(r3) +lbl_802CEF94: +/* 802CEF94 002CBED4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CEF98 002CBED8 48 09 32 91 */ bl _restgpr_29 +/* 802CEF9C 002CBEDC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CEFA0 002CBEE0 7C 08 03 A6 */ mtlr r0 +/* 802CEFA4 002CBEE4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CEFA8 002CBEE8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEFAC.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEFAC.s new file mode 100644 index 0000000000..58b87dafd0 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CEFAC.s @@ -0,0 +1,37 @@ +/* do_destroy__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_destroy(void) */ +/* missing reference */ +/* 802CEFAC 002CBEEC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CEFB0 002CBEF0 7C 08 02 A6 */ mflr r0 +/* 802CEFB4 002CBEF4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CEFB8 002CBEF8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CEFBC 002CBEFC 93 C1 00 08 */ stw r30, 8(r1) +/* 802CEFC0 002CBF00 7C 7E 1B 78 */ mr r30, r3 +/* 802CEFC4 002CBF04 88 03 00 6E */ lbz r0, 0x6e(r3) +/* 802CEFC8 002CBF08 28 00 00 00 */ cmplwi r0, 0 +/* 802CEFCC 002CBF0C 40 82 00 38 */ bne lbl_802CF004 +/* 802CEFD0 002CBF10 80 9E 00 50 */ lwz r4, 0x50(r30) +/* 802CEFD4 002CBF14 83 E4 00 0C */ lwz r31, 0xc(r4) +/* 802CEFD8 002CBF18 28 1F 00 00 */ cmplwi r31, 0 +/* 802CEFDC 002CBF1C 41 82 00 3C */ beq lbl_802CF018 +/* 802CEFE0 002CBF20 38 80 FF FF */ li r4, -1 +/* 802CEFE4 002CBF24 81 83 00 00 */ lwz r12, 0(r3) +/* 802CEFE8 002CBF28 81 8C 00 08 */ lwz r12, 8(r12) +/* 802CEFEC 002CBF2C 7D 89 03 A6 */ mtctr r12 +/* 802CEFF0 002CBF30 4E 80 04 21 */ bctrl +/* 802CEFF4 002CBF34 7F C3 F3 78 */ mr r3, r30 +/* 802CEFF8 002CBF38 7F E4 FB 78 */ mr r4, r31 +/* 802CEFFC 002CBF3C 4B FF F5 05 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802CF000 002CBF40 48 00 00 18 */ b lbl_802CF018 +lbl_802CF004: +/* 802CF004 002CBF44 38 80 FF FF */ li r4, -1 +/* 802CF008 002CBF48 81 83 00 00 */ lwz r12, 0(r3) +/* 802CF00C 002CBF4C 81 8C 00 08 */ lwz r12, 8(r12) +/* 802CF010 002CBF50 7D 89 03 A6 */ mtctr r12 +/* 802CF014 002CBF54 4E 80 04 21 */ bctrl +lbl_802CF018: +/* 802CF018 002CBF58 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF01C 002CBF5C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF020 002CBF60 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF024 002CBF64 7C 08 03 A6 */ mtlr r0 +/* 802CF028 002CBF68 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF02C 002CBF6C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF030.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF030.s new file mode 100644 index 0000000000..b9c69bc52c --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF030.s @@ -0,0 +1,38 @@ +/* __ct__10JKRExpHeapFPvUlP7JKRHeapb __ct__10JKRExpHeapFPvUlP7JKRHeapb::__ct(void *, unsigned long, JKRHeap *, bool) */ +/* JKRExpHeap */ +/* 802CF030 002CBF70 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF034 002CBF74 7C 08 02 A6 */ mflr r0 +/* 802CF038 002CBF78 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF03C 002CBF7C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF040 002CBF80 48 09 31 9D */ bl _savegpr_29 +/* 802CF044 002CBF84 7C 7D 1B 78 */ mr r29, r3 +/* 802CF048 002CBF88 7C 9E 23 78 */ mr r30, r4 +/* 802CF04C 002CBF8C 7C BF 2B 78 */ mr r31, r5 +/* 802CF050 002CBF90 4B FF F0 E9 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb +/* 802CF054 002CBF94 3C 60 80 3D */ lis r3, lbl_803CBFD0@ha +/* 802CF058 002CBF98 38 03 BF D0 */ addi r0, r3, lbl_803CBFD0@l +/* 802CF05C 002CBF9C 90 1D 00 00 */ stw r0, 0(r29) +/* 802CF060 002CBFA0 38 00 00 00 */ li r0, 0 +/* 802CF064 002CBFA4 98 1D 00 6C */ stb r0, 0x6c(r29) +/* 802CF068 002CBFA8 38 00 00 FF */ li r0, 0xff +/* 802CF06C 002CBFAC 98 1D 00 6D */ stb r0, 0x6d(r29) +/* 802CF070 002CBFB0 93 DD 00 78 */ stw r30, 0x78(r29) +/* 802CF074 002CBFB4 80 1D 00 78 */ lwz r0, 0x78(r29) +/* 802CF078 002CBFB8 90 1D 00 7C */ stw r0, 0x7c(r29) +/* 802CF07C 002CBFBC 80 7D 00 78 */ lwz r3, 0x78(r29) +/* 802CF080 002CBFC0 38 80 00 00 */ li r4, 0 +/* 802CF084 002CBFC4 38 A0 00 00 */ li r5, 0 +/* 802CF088 002CBFC8 38 DF FF F0 */ addi r6, r31, -16 +/* 802CF08C 002CBFCC 38 E0 00 00 */ li r7, 0 +/* 802CF090 002CBFD0 39 00 00 00 */ li r8, 0 +/* 802CF094 002CBFD4 48 00 17 7D */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CF098 002CBFD8 38 00 00 00 */ li r0, 0 +/* 802CF09C 002CBFDC 90 1D 00 80 */ stw r0, 0x80(r29) +/* 802CF0A0 002CBFE0 90 1D 00 84 */ stw r0, 0x84(r29) +/* 802CF0A4 002CBFE4 7F A3 EB 78 */ mr r3, r29 +/* 802CF0A8 002CBFE8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF0AC 002CBFEC 48 09 31 7D */ bl _restgpr_29 +/* 802CF0B0 002CBFF0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF0B4 002CBFF4 7C 08 03 A6 */ mtlr r0 +/* 802CF0B8 002CBFF8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF0BC 002CBFFC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF0C0.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF0C0.s new file mode 100644 index 0000000000..0554450f69 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF0C0.s @@ -0,0 +1,29 @@ +/* __dt__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::__dt(void) */ +/* missing reference */ +/* 802CF0C0 002CC000 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF0C4 002CC004 7C 08 02 A6 */ mflr r0 +/* 802CF0C8 002CC008 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF0CC 002CC00C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF0D0 002CC010 93 C1 00 08 */ stw r30, 8(r1) +/* 802CF0D4 002CC014 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802CF0D8 002CC018 7C 9F 23 78 */ mr r31, r4 +/* 802CF0DC 002CC01C 41 82 00 30 */ beq lbl_802CF10C +/* 802CF0E0 002CC020 3C 80 80 3D */ lis r4, lbl_803CBFD0@ha +/* 802CF0E4 002CC024 38 04 BF D0 */ addi r0, r4, lbl_803CBFD0@l +/* 802CF0E8 002CC028 90 1E 00 00 */ stw r0, 0(r30) +/* 802CF0EC 002CC02C 4B FF F9 D5 */ bl dispose__7JKRHeapFv +/* 802CF0F0 002CC030 7F C3 F3 78 */ mr r3, r30 +/* 802CF0F4 002CC034 38 80 00 00 */ li r4, 0 +/* 802CF0F8 002CC038 4B FF F1 6D */ bl __dt__7JKRHeapFv +/* 802CF0FC 002CC03C 7F E0 07 35 */ extsh. r0, r31 +/* 802CF100 002CC040 40 81 00 0C */ ble lbl_802CF10C +/* 802CF104 002CC044 7F C3 F3 78 */ mr r3, r30 +/* 802CF108 002CC048 4B FF FC 35 */ bl __dl__FPv +lbl_802CF10C: +/* 802CF10C 002CC04C 7F C3 F3 78 */ mr r3, r30 +/* 802CF110 002CC050 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF114 002CC054 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF118 002CC058 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF11C 002CC05C 7C 08 03 A6 */ mtlr r0 +/* 802CF120 002CC060 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF124 002CC064 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF128.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF128.s new file mode 100644 index 0000000000..47da8c3258 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF128.s @@ -0,0 +1,75 @@ +/* do_alloc__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_alloc(unsigned long, int) */ +/* missing reference */ +/* 802CF128 002CC068 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF12C 002CC06C 7C 08 02 A6 */ mflr r0 +/* 802CF130 002CC070 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF134 002CC074 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF138 002CC078 48 09 30 A1 */ bl _savegpr_28 +/* 802CF13C 002CC07C 7C 7C 1B 78 */ mr r28, r3 +/* 802CF140 002CC080 7C 9D 23 78 */ mr r29, r4 +/* 802CF144 002CC084 7C BE 2B 78 */ mr r30, r5 +/* 802CF148 002CC088 38 7C 00 18 */ addi r3, r28, 0x18 +/* 802CF14C 002CC08C 48 06 FE F5 */ bl OSLockMutex +/* 802CF150 002CC090 28 1D 00 04 */ cmplwi r29, 4 +/* 802CF154 002CC094 40 80 00 08 */ bge lbl_802CF15C +/* 802CF158 002CC098 3B A0 00 04 */ li r29, 4 +lbl_802CF15C: +/* 802CF15C 002CC09C 2C 1E 00 00 */ cmpwi r30, 0 +/* 802CF160 002CC0A0 41 80 00 38 */ blt lbl_802CF198 +/* 802CF164 002CC0A4 2C 1E 00 04 */ cmpwi r30, 4 +/* 802CF168 002CC0A8 41 81 00 18 */ bgt lbl_802CF180 +/* 802CF16C 002CC0AC 7F 83 E3 78 */ mr r3, r28 +/* 802CF170 002CC0B0 7F A4 EB 78 */ mr r4, r29 +/* 802CF174 002CC0B4 48 00 03 1D */ bl allocFromHead__10JKRExpHeapFUl +/* 802CF178 002CC0B8 7C 7F 1B 78 */ mr r31, r3 +/* 802CF17C 002CC0BC 48 00 00 4C */ b lbl_802CF1C8 +lbl_802CF180: +/* 802CF180 002CC0C0 7F 83 E3 78 */ mr r3, r28 +/* 802CF184 002CC0C4 7F A4 EB 78 */ mr r4, r29 +/* 802CF188 002CC0C8 7F C5 F3 78 */ mr r5, r30 +/* 802CF18C 002CC0CC 48 00 00 A9 */ bl allocFromHead__10JKRExpHeapFUli +/* 802CF190 002CC0D0 7C 7F 1B 78 */ mr r31, r3 +/* 802CF194 002CC0D4 48 00 00 34 */ b lbl_802CF1C8 +lbl_802CF198: +/* 802CF198 002CC0D8 7C BE 00 D0 */ neg r5, r30 +/* 802CF19C 002CC0DC 2C 05 00 04 */ cmpwi r5, 4 +/* 802CF1A0 002CC0E0 41 81 00 18 */ bgt lbl_802CF1B8 +/* 802CF1A4 002CC0E4 7F 83 E3 78 */ mr r3, r28 +/* 802CF1A8 002CC0E8 7F A4 EB 78 */ mr r4, r29 +/* 802CF1AC 002CC0EC 48 00 05 29 */ bl allocFromTail__10JKRExpHeapFUl +/* 802CF1B0 002CC0F0 7C 7F 1B 78 */ mr r31, r3 +/* 802CF1B4 002CC0F4 48 00 00 14 */ b lbl_802CF1C8 +lbl_802CF1B8: +/* 802CF1B8 002CC0F8 7F 83 E3 78 */ mr r3, r28 +/* 802CF1BC 002CC0FC 7F A4 EB 78 */ mr r4, r29 +/* 802CF1C0 002CC100 48 00 03 B5 */ bl allocFromTail__10JKRExpHeapFUli +/* 802CF1C4 002CC104 7C 7F 1B 78 */ mr r31, r3 +lbl_802CF1C8: +/* 802CF1C8 002CC108 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF1CC 002CC10C 40 82 00 44 */ bne lbl_802CF210 +/* 802CF1D0 002CC110 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802CF1D4 002CC114 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802CF1D8 002CC118 7F A4 EB 78 */ mr r4, r29 +/* 802CF1DC 002CC11C 4C C6 31 82 */ crclr 6 +/* 802CF1E0 002CC120 48 01 94 9D */ bl JUTWarningConsole_f +/* 802CF1E4 002CC124 88 1C 00 68 */ lbz r0, 0x68(r28) +/* 802CF1E8 002CC128 28 00 00 01 */ cmplwi r0, 1 +/* 802CF1EC 002CC12C 40 82 00 24 */ bne lbl_802CF210 +/* 802CF1F0 002CC130 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) +/* 802CF1F4 002CC134 28 0C 00 00 */ cmplwi r12, 0 +/* 802CF1F8 002CC138 41 82 00 18 */ beq lbl_802CF210 +/* 802CF1FC 002CC13C 7F 83 E3 78 */ mr r3, r28 +/* 802CF200 002CC140 7F A4 EB 78 */ mr r4, r29 +/* 802CF204 002CC144 7F C5 F3 78 */ mr r5, r30 +/* 802CF208 002CC148 7D 89 03 A6 */ mtctr r12 +/* 802CF20C 002CC14C 4E 80 04 21 */ bctrl +lbl_802CF210: +/* 802CF210 002CC150 38 7C 00 18 */ addi r3, r28, 0x18 +/* 802CF214 002CC154 48 06 FF 09 */ bl OSUnlockMutex +/* 802CF218 002CC158 7F E3 FB 78 */ mr r3, r31 +/* 802CF21C 002CC15C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF220 002CC160 48 09 30 05 */ bl _restgpr_28 +/* 802CF224 002CC164 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF228 002CC168 7C 08 03 A6 */ mtlr r0 +/* 802CF22C 002CC16C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF230 002CC170 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF234.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF234.s new file mode 100644 index 0000000000..5a11a1f51e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF234.s @@ -0,0 +1,168 @@ +/* allocFromHead__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromHead(unsigned long, int) */ +/* JKRExpHeap_NS_allocFromHead */ +/* 802CF234 002CC174 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802CF238 002CC178 7C 08 02 A6 */ mflr r0 +/* 802CF23C 002CC17C 90 01 00 34 */ stw r0, 0x34(r1) +/* 802CF240 002CC180 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CF244 002CC184 48 09 2F 89 */ bl func_803621CC +/* 802CF248 002CC188 7C 7D 1B 78 */ mr r29, r3 +/* 802CF24C 002CC18C 38 04 00 03 */ addi r0, r4, 3 +/* 802CF250 002CC190 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d +/* 802CF254 002CC194 38 C0 FF FF */ li r6, -1 +/* 802CF258 002CC198 3B 60 00 00 */ li r27, 0 +/* 802CF25C 002CC19C 3B E0 00 00 */ li r31, 0 +/* 802CF260 002CC1A0 80 E3 00 78 */ lwz r7, 0x78(r3) +/* 802CF264 002CC1A4 38 65 FF FF */ addi r3, r5, -1 +/* 802CF268 002CC1A8 7C 64 18 F8 */ nor r4, r3, r3 +/* 802CF26C 002CC1AC 48 00 00 50 */ b lbl_802CF2BC +lbl_802CF270: +/* 802CF270 002CC1B0 38 A7 00 10 */ addi r5, r7, 0x10 +/* 802CF274 002CC1B4 7C 03 2A 14 */ add r0, r3, r5 +/* 802CF278 002CC1B8 7C 80 00 38 */ and r0, r4, r0 +/* 802CF27C 002CC1BC 7D 05 00 50 */ subf r8, r5, r0 +/* 802CF280 002CC1C0 80 A7 00 04 */ lwz r5, 4(r7) +/* 802CF284 002CC1C4 7C 1E 42 14 */ add r0, r30, r8 +/* 802CF288 002CC1C8 7C 05 00 40 */ cmplw r5, r0 +/* 802CF28C 002CC1CC 41 80 00 2C */ blt lbl_802CF2B8 +/* 802CF290 002CC1D0 7C 06 28 40 */ cmplw r6, r5 +/* 802CF294 002CC1D4 40 81 00 24 */ ble lbl_802CF2B8 +/* 802CF298 002CC1D8 7C A6 2B 78 */ mr r6, r5 +/* 802CF29C 002CC1DC 7C FF 3B 78 */ mr r31, r7 +/* 802CF2A0 002CC1E0 7D 1B 43 78 */ mr r27, r8 +/* 802CF2A4 002CC1E4 88 1D 00 6C */ lbz r0, 0x6c(r29) +/* 802CF2A8 002CC1E8 28 00 00 00 */ cmplwi r0, 0 +/* 802CF2AC 002CC1EC 40 82 00 18 */ bne lbl_802CF2C4 +/* 802CF2B0 002CC1F0 7C 05 F0 40 */ cmplw r5, r30 +/* 802CF2B4 002CC1F4 41 82 00 10 */ beq lbl_802CF2C4 +lbl_802CF2B8: +/* 802CF2B8 002CC1F8 80 E7 00 0C */ lwz r7, 0xc(r7) +lbl_802CF2BC: +/* 802CF2BC 002CC1FC 28 07 00 00 */ cmplwi r7, 0 +/* 802CF2C0 002CC200 40 82 FF B0 */ bne lbl_802CF270 +lbl_802CF2C4: +/* 802CF2C4 002CC204 90 CD 8E 18 */ stw r6, lbl_80451398-_SDA_BASE_(r13) +/* 802CF2C8 002CC208 93 6D 8E 1C */ stw r27, lbl_8045139C-_SDA_BASE_(r13) +/* 802CF2CC 002CC20C 93 ED 8E 20 */ stw r31, lbl_804513A0-_SDA_BASE_(r13) +/* 802CF2D0 002CC210 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF2D4 002CC214 41 82 01 A0 */ beq lbl_802CF474 +/* 802CF2D8 002CC218 28 1B 00 10 */ cmplwi r27, 0x10 +/* 802CF2DC 002CC21C 41 80 00 C0 */ blt lbl_802CF39C +/* 802CF2E0 002CC220 83 5F 00 08 */ lwz r26, 8(r31) +/* 802CF2E4 002CC224 83 3F 00 0C */ lwz r25, 0xc(r31) +/* 802CF2E8 002CC228 7F E3 FB 78 */ mr r3, r31 +/* 802CF2EC 002CC22C 38 9B FF F0 */ addi r4, r27, -16 +/* 802CF2F0 002CC230 38 A0 00 00 */ li r5, 0 +/* 802CF2F4 002CC234 38 C0 00 00 */ li r6, 0 +/* 802CF2F8 002CC238 38 E0 00 00 */ li r7, 0 +/* 802CF2FC 002CC23C 39 00 00 00 */ li r8, 0 +/* 802CF300 002CC240 48 00 15 31 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF304 002CC244 7C 7C 1B 79 */ or. r28, r3, r3 +/* 802CF308 002CC248 41 82 00 24 */ beq lbl_802CF32C +/* 802CF30C 002CC24C 7F C4 F3 78 */ mr r4, r30 +/* 802CF310 002CC250 88 BD 00 6D */ lbz r5, 0x6d(r29) +/* 802CF314 002CC254 38 C0 00 00 */ li r6, 0 +/* 802CF318 002CC258 38 E0 00 00 */ li r7, 0 +/* 802CF31C 002CC25C 39 00 00 00 */ li r8, 0 +/* 802CF320 002CC260 48 00 15 11 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF324 002CC264 7C 66 1B 78 */ mr r6, r3 +/* 802CF328 002CC268 48 00 00 08 */ b lbl_802CF330 +lbl_802CF32C: +/* 802CF32C 002CC26C 38 C0 00 00 */ li r6, 0 +lbl_802CF330: +/* 802CF330 002CC270 7C DB 33 78 */ mr r27, r6 +/* 802CF334 002CC274 28 06 00 00 */ cmplwi r6, 0 +/* 802CF338 002CC278 41 82 00 18 */ beq lbl_802CF350 +/* 802CF33C 002CC27C 7F A3 EB 78 */ mr r3, r29 +/* 802CF340 002CC280 7F E4 FB 78 */ mr r4, r31 +/* 802CF344 002CC284 7F 45 D3 78 */ mr r5, r26 +/* 802CF348 002CC288 48 00 0B 21 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +/* 802CF34C 002CC28C 48 00 00 18 */ b lbl_802CF364 +lbl_802CF350: +/* 802CF350 002CC290 7F A3 EB 78 */ mr r3, r29 +/* 802CF354 002CC294 7F E4 FB 78 */ mr r4, r31 +/* 802CF358 002CC298 7F 45 D3 78 */ mr r5, r26 +/* 802CF35C 002CC29C 7F 26 CB 78 */ mr r6, r25 +/* 802CF360 002CC2A0 48 00 0B 09 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802CF364: +/* 802CF364 002CC2A4 28 1B 00 00 */ cmplwi r27, 0 +/* 802CF368 002CC2A8 41 82 00 18 */ beq lbl_802CF380 +/* 802CF36C 002CC2AC 7F A3 EB 78 */ mr r3, r29 +/* 802CF370 002CC2B0 7F 64 DB 78 */ mr r4, r27 +/* 802CF374 002CC2B4 7F E5 FB 78 */ mr r5, r31 +/* 802CF378 002CC2B8 7F 26 CB 78 */ mr r6, r25 +/* 802CF37C 002CC2BC 48 00 0A ED */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802CF380: +/* 802CF380 002CC2C0 7F A3 EB 78 */ mr r3, r29 +/* 802CF384 002CC2C4 7F 84 E3 78 */ mr r4, r28 +/* 802CF388 002CC2C8 48 00 0A 45 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF38C 002CC2CC 93 6D 8E 24 */ stw r27, lbl_804513A4-_SDA_BASE_(r13) +/* 802CF390 002CC2D0 93 8D 8E 28 */ stw r28, lbl_804513A8-_SDA_BASE_(r13) +/* 802CF394 002CC2D4 38 7C 00 10 */ addi r3, r28, 0x10 +/* 802CF398 002CC2D8 48 00 00 E0 */ b lbl_802CF478 +lbl_802CF39C: +/* 802CF39C 002CC2DC 28 1B 00 00 */ cmplwi r27, 0 +/* 802CF3A0 002CC2E0 41 82 00 70 */ beq lbl_802CF410 +/* 802CF3A4 002CC2E4 83 3F 00 08 */ lwz r25, 8(r31) +/* 802CF3A8 002CC2E8 83 5F 00 0C */ lwz r26, 0xc(r31) +/* 802CF3AC 002CC2EC 7F A3 EB 78 */ mr r3, r29 +/* 802CF3B0 002CC2F0 7F E4 FB 78 */ mr r4, r31 +/* 802CF3B4 002CC2F4 48 00 0B 01 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF3B8 002CC2F8 7F 9F DA 14 */ add r28, r31, r27 +/* 802CF3BC 002CC2FC 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CF3C0 002CC300 7C 1B 00 50 */ subf r0, r27, r0 +/* 802CF3C4 002CC304 90 1C 00 04 */ stw r0, 4(r28) +/* 802CF3C8 002CC308 7F 83 E3 78 */ mr r3, r28 +/* 802CF3CC 002CC30C 7F C4 F3 78 */ mr r4, r30 +/* 802CF3D0 002CC310 88 BD 00 6D */ lbz r5, 0x6d(r29) +/* 802CF3D4 002CC314 57 66 06 3E */ clrlwi r6, r27, 0x18 +/* 802CF3D8 002CC318 38 E0 00 00 */ li r7, 0 +/* 802CF3DC 002CC31C 39 00 00 00 */ li r8, 0 +/* 802CF3E0 002CC320 48 00 14 51 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF3E4 002CC324 7C 64 1B 79 */ or. r4, r3, r3 +/* 802CF3E8 002CC328 41 82 00 14 */ beq lbl_802CF3FC +/* 802CF3EC 002CC32C 7F A3 EB 78 */ mr r3, r29 +/* 802CF3F0 002CC330 7F 25 CB 78 */ mr r5, r25 +/* 802CF3F4 002CC334 7F 46 D3 78 */ mr r6, r26 +/* 802CF3F8 002CC338 48 00 0A 71 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802CF3FC: +/* 802CF3FC 002CC33C 7F A3 EB 78 */ mr r3, r29 +/* 802CF400 002CC340 7F 84 E3 78 */ mr r4, r28 +/* 802CF404 002CC344 48 00 09 C9 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF408 002CC348 38 7C 00 10 */ addi r3, r28, 0x10 +/* 802CF40C 002CC34C 48 00 00 6C */ b lbl_802CF478 +lbl_802CF410: +/* 802CF410 002CC350 83 3F 00 08 */ lwz r25, 8(r31) +/* 802CF414 002CC354 83 5F 00 0C */ lwz r26, 0xc(r31) +/* 802CF418 002CC358 7F E3 FB 78 */ mr r3, r31 +/* 802CF41C 002CC35C 7F C4 F3 78 */ mr r4, r30 +/* 802CF420 002CC360 88 BD 00 6D */ lbz r5, 0x6d(r29) +/* 802CF424 002CC364 38 C0 00 00 */ li r6, 0 +/* 802CF428 002CC368 38 E0 00 00 */ li r7, 0 +/* 802CF42C 002CC36C 39 00 00 00 */ li r8, 0 +/* 802CF430 002CC370 48 00 14 01 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF434 002CC374 7C 7E 1B 78 */ mr r30, r3 +/* 802CF438 002CC378 7F A3 EB 78 */ mr r3, r29 +/* 802CF43C 002CC37C 7F E4 FB 78 */ mr r4, r31 +/* 802CF440 002CC380 48 00 0A 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF444 002CC384 28 1E 00 00 */ cmplwi r30, 0 +/* 802CF448 002CC388 41 82 00 18 */ beq lbl_802CF460 +/* 802CF44C 002CC38C 7F A3 EB 78 */ mr r3, r29 +/* 802CF450 002CC390 7F C4 F3 78 */ mr r4, r30 +/* 802CF454 002CC394 7F 25 CB 78 */ mr r5, r25 +/* 802CF458 002CC398 7F 46 D3 78 */ mr r6, r26 +/* 802CF45C 002CC39C 48 00 0A 0D */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802CF460: +/* 802CF460 002CC3A0 7F A3 EB 78 */ mr r3, r29 +/* 802CF464 002CC3A4 7F E4 FB 78 */ mr r4, r31 +/* 802CF468 002CC3A8 48 00 09 65 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF46C 002CC3AC 38 7F 00 10 */ addi r3, r31, 0x10 +/* 802CF470 002CC3B0 48 00 00 08 */ b lbl_802CF478 +lbl_802CF474: +/* 802CF474 002CC3B4 38 60 00 00 */ li r3, 0 +lbl_802CF478: +/* 802CF478 002CC3B8 39 61 00 30 */ addi r11, r1, 0x30 +/* 802CF47C 002CC3BC 48 09 2D 9D */ bl func_80362218 +/* 802CF480 002CC3C0 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802CF484 002CC3C4 7C 08 03 A6 */ mtlr r0 +/* 802CF488 002CC3C8 38 21 00 30 */ addi r1, r1, 0x30 +/* 802CF48C 002CC3CC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF490.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF490.s new file mode 100644 index 0000000000..e7e690c30e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF490.s @@ -0,0 +1,67 @@ +/* allocFromHead__10JKRExpHeapFUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromHead(unsigned long) */ +/* JKRExpHeap_NS_allocFromHead_X1_ */ +/* 802CF490 002CC3D0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF494 002CC3D4 7C 08 02 A6 */ mflr r0 +/* 802CF498 002CC3D8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF49C 002CC3DC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF4A0 002CC3E0 93 C1 00 08 */ stw r30, 8(r1) +/* 802CF4A4 002CC3E4 7C 7E 1B 78 */ mr r30, r3 +/* 802CF4A8 002CC3E8 38 04 00 03 */ addi r0, r4, 3 +/* 802CF4AC 002CC3EC 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d +/* 802CF4B0 002CC3F0 38 A0 FF FF */ li r5, -1 +/* 802CF4B4 002CC3F4 3B E0 00 00 */ li r31, 0 +/* 802CF4B8 002CC3F8 80 C3 00 78 */ lwz r6, 0x78(r3) +/* 802CF4BC 002CC3FC 48 00 00 38 */ b lbl_802CF4F4 +lbl_802CF4C0: +/* 802CF4C0 002CC400 80 66 00 04 */ lwz r3, 4(r6) +/* 802CF4C4 002CC404 7C 03 20 40 */ cmplw r3, r4 +/* 802CF4C8 002CC408 41 80 00 28 */ blt lbl_802CF4F0 +/* 802CF4CC 002CC40C 7C 05 18 40 */ cmplw r5, r3 +/* 802CF4D0 002CC410 40 81 00 20 */ ble lbl_802CF4F0 +/* 802CF4D4 002CC414 7C 65 1B 78 */ mr r5, r3 +/* 802CF4D8 002CC418 7C DF 33 78 */ mr r31, r6 +/* 802CF4DC 002CC41C 88 1E 00 6C */ lbz r0, 0x6c(r30) +/* 802CF4E0 002CC420 28 00 00 00 */ cmplwi r0, 0 +/* 802CF4E4 002CC424 40 82 00 18 */ bne lbl_802CF4FC +/* 802CF4E8 002CC428 7C 03 20 40 */ cmplw r3, r4 +/* 802CF4EC 002CC42C 41 82 00 10 */ beq lbl_802CF4FC +lbl_802CF4F0: +/* 802CF4F0 002CC430 80 C6 00 0C */ lwz r6, 0xc(r6) +lbl_802CF4F4: +/* 802CF4F4 002CC434 28 06 00 00 */ cmplwi r6, 0 +/* 802CF4F8 002CC438 40 82 FF C8 */ bne lbl_802CF4C0 +lbl_802CF4FC: +/* 802CF4FC 002CC43C 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF500 002CC440 41 82 00 58 */ beq lbl_802CF558 +/* 802CF504 002CC444 7F E3 FB 78 */ mr r3, r31 +/* 802CF508 002CC448 88 BE 00 6D */ lbz r5, 0x6d(r30) +/* 802CF50C 002CC44C 38 C0 00 00 */ li r6, 0 +/* 802CF510 002CC450 38 E0 00 00 */ li r7, 0 +/* 802CF514 002CC454 39 00 00 00 */ li r8, 0 +/* 802CF518 002CC458 48 00 13 19 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF51C 002CC45C 7C 64 1B 79 */ or. r4, r3, r3 +/* 802CF520 002CC460 41 82 00 18 */ beq lbl_802CF538 +/* 802CF524 002CC464 7F C3 F3 78 */ mr r3, r30 +/* 802CF528 002CC468 80 BF 00 08 */ lwz r5, 8(r31) +/* 802CF52C 002CC46C 80 DF 00 0C */ lwz r6, 0xc(r31) +/* 802CF530 002CC470 48 00 09 39 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +/* 802CF534 002CC474 48 00 00 10 */ b lbl_802CF544 +lbl_802CF538: +/* 802CF538 002CC478 7F C3 F3 78 */ mr r3, r30 +/* 802CF53C 002CC47C 7F E4 FB 78 */ mr r4, r31 +/* 802CF540 002CC480 48 00 09 75 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +lbl_802CF544: +/* 802CF544 002CC484 7F C3 F3 78 */ mr r3, r30 +/* 802CF548 002CC488 7F E4 FB 78 */ mr r4, r31 +/* 802CF54C 002CC48C 48 00 08 81 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF550 002CC490 38 7F 00 10 */ addi r3, r31, 0x10 +/* 802CF554 002CC494 48 00 00 08 */ b lbl_802CF55C +lbl_802CF558: +/* 802CF558 002CC498 38 60 00 00 */ li r3, 0 +lbl_802CF55C: +/* 802CF55C 002CC49C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF560 002CC4A0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF564 002CC4A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF568 002CC4A8 7C 08 03 A6 */ mtlr r0 +/* 802CF56C 002CC4AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF570 002CC4B0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF574.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF574.s new file mode 100644 index 0000000000..1ae738a404 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF574.s @@ -0,0 +1,98 @@ +/* allocFromTail__10JKRExpHeapFUli __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromTail(unsigned long, int) */ +/* JKRExpHeap_NS_allocFromTail */ +/* 802CF574 002CC4B4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF578 002CC4B8 7C 08 02 A6 */ mflr r0 +/* 802CF57C 002CC4BC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF580 002CC4C0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF584 002CC4C4 48 09 2C 51 */ bl _savegpr_27 +/* 802CF588 002CC4C8 7C 7B 1B 78 */ mr r27, r3 +/* 802CF58C 002CC4CC 3B E0 00 00 */ li r31, 0 +/* 802CF590 002CC4D0 3B C0 00 00 */ li r30, 0 +/* 802CF594 002CC4D4 3B A0 00 00 */ li r29, 0 +/* 802CF598 002CC4D8 81 03 00 7C */ lwz r8, 0x7c(r3) +/* 802CF59C 002CC4DC 38 05 FF FF */ addi r0, r5, -1 +/* 802CF5A0 002CC4E0 7C 03 00 F8 */ nor r3, r0, r0 +/* 802CF5A4 002CC4E4 48 00 00 38 */ b lbl_802CF5DC +lbl_802CF5A8: +/* 802CF5A8 002CC4E8 80 C8 00 04 */ lwz r6, 4(r8) +/* 802CF5AC 002CC4EC 7C A8 32 14 */ add r5, r8, r6 +/* 802CF5B0 002CC4F0 38 A5 00 10 */ addi r5, r5, 0x10 +/* 802CF5B4 002CC4F4 7C 04 28 50 */ subf r0, r4, r5 +/* 802CF5B8 002CC4F8 7C 67 00 38 */ and r7, r3, r0 +/* 802CF5BC 002CC4FC 7F 87 28 50 */ subf r28, r7, r5 +/* 802CF5C0 002CC500 7C 06 E0 40 */ cmplw r6, r28 +/* 802CF5C4 002CC504 41 80 00 14 */ blt lbl_802CF5D8 +/* 802CF5C8 002CC508 7D 1E 43 78 */ mr r30, r8 +/* 802CF5CC 002CC50C 7F FC 30 50 */ subf r31, r28, r6 +/* 802CF5D0 002CC510 3B A7 FF F0 */ addi r29, r7, -16 +/* 802CF5D4 002CC514 48 00 00 10 */ b lbl_802CF5E4 +lbl_802CF5D8: +/* 802CF5D8 002CC518 81 08 00 08 */ lwz r8, 8(r8) +lbl_802CF5DC: +/* 802CF5DC 002CC51C 28 08 00 00 */ cmplwi r8, 0 +/* 802CF5E0 002CC520 40 82 FF C8 */ bne lbl_802CF5A8 +lbl_802CF5E4: +/* 802CF5E4 002CC524 28 1E 00 00 */ cmplwi r30, 0 +/* 802CF5E8 002CC528 41 82 00 D0 */ beq lbl_802CF6B8 +/* 802CF5EC 002CC52C 28 1F 00 10 */ cmplwi r31, 0x10 +/* 802CF5F0 002CC530 41 80 00 44 */ blt lbl_802CF634 +/* 802CF5F4 002CC534 7F A3 EB 78 */ mr r3, r29 +/* 802CF5F8 002CC538 38 80 00 00 */ li r4, 0 +/* 802CF5FC 002CC53C 38 A0 00 00 */ li r5, 0 +/* 802CF600 002CC540 7F 86 E3 78 */ mr r6, r28 +/* 802CF604 002CC544 88 FB 00 6D */ lbz r7, 0x6d(r27) +/* 802CF608 002CC548 39 00 00 80 */ li r8, 0x80 +/* 802CF60C 002CC54C 48 00 12 05 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CF610 002CC550 80 1E 00 04 */ lwz r0, 4(r30) +/* 802CF614 002CC554 7C 7C 00 50 */ subf r3, r28, r0 +/* 802CF618 002CC558 38 03 FF F0 */ addi r0, r3, -16 +/* 802CF61C 002CC55C 90 1E 00 04 */ stw r0, 4(r30) +/* 802CF620 002CC560 7F 63 DB 78 */ mr r3, r27 +/* 802CF624 002CC564 7F A4 EB 78 */ mr r4, r29 +/* 802CF628 002CC568 48 00 07 A5 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF62C 002CC56C 38 7D 00 10 */ addi r3, r29, 0x10 +/* 802CF630 002CC570 48 00 00 8C */ b lbl_802CF6BC +lbl_802CF634: +/* 802CF634 002CC574 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF638 002CC578 41 82 00 44 */ beq lbl_802CF67C +/* 802CF63C 002CC57C 7F 63 DB 78 */ mr r3, r27 +/* 802CF640 002CC580 7F C4 F3 78 */ mr r4, r30 +/* 802CF644 002CC584 48 00 08 71 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF648 002CC588 7F A3 EB 78 */ mr r3, r29 +/* 802CF64C 002CC58C 38 80 00 00 */ li r4, 0 +/* 802CF650 002CC590 38 A0 00 00 */ li r5, 0 +/* 802CF654 002CC594 7F 86 E3 78 */ mr r6, r28 +/* 802CF658 002CC598 88 FB 00 6D */ lbz r7, 0x6d(r27) +/* 802CF65C 002CC59C 63 E0 00 80 */ ori r0, r31, 0x80 +/* 802CF660 002CC5A0 54 08 06 3E */ clrlwi r8, r0, 0x18 +/* 802CF664 002CC5A4 48 00 11 AD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CF668 002CC5A8 7F 63 DB 78 */ mr r3, r27 +/* 802CF66C 002CC5AC 7F A4 EB 78 */ mr r4, r29 +/* 802CF670 002CC5B0 48 00 07 5D */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF674 002CC5B4 38 7D 00 10 */ addi r3, r29, 0x10 +/* 802CF678 002CC5B8 48 00 00 44 */ b lbl_802CF6BC +lbl_802CF67C: +/* 802CF67C 002CC5BC 7F 63 DB 78 */ mr r3, r27 +/* 802CF680 002CC5C0 7F C4 F3 78 */ mr r4, r30 +/* 802CF684 002CC5C4 48 00 08 31 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF688 002CC5C8 7F A3 EB 78 */ mr r3, r29 +/* 802CF68C 002CC5CC 38 80 00 00 */ li r4, 0 +/* 802CF690 002CC5D0 38 A0 00 00 */ li r5, 0 +/* 802CF694 002CC5D4 7F 86 E3 78 */ mr r6, r28 +/* 802CF698 002CC5D8 88 FB 00 6D */ lbz r7, 0x6d(r27) +/* 802CF69C 002CC5DC 39 00 00 80 */ li r8, 0x80 +/* 802CF6A0 002CC5E0 48 00 11 71 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CF6A4 002CC5E4 7F 63 DB 78 */ mr r3, r27 +/* 802CF6A8 002CC5E8 7F A4 EB 78 */ mr r4, r29 +/* 802CF6AC 002CC5EC 48 00 07 21 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF6B0 002CC5F0 38 7D 00 10 */ addi r3, r29, 0x10 +/* 802CF6B4 002CC5F4 48 00 00 08 */ b lbl_802CF6BC +lbl_802CF6B8: +/* 802CF6B8 002CC5F8 38 60 00 00 */ li r3, 0 +lbl_802CF6BC: +/* 802CF6BC 002CC5FC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF6C0 002CC600 48 09 2B 61 */ bl _restgpr_27 +/* 802CF6C4 002CC604 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF6C8 002CC608 7C 08 03 A6 */ mtlr r0 +/* 802CF6CC 002CC60C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF6D0 002CC610 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF6D4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF6D4.s new file mode 100644 index 0000000000..6ec56b7487 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF6D4.s @@ -0,0 +1,65 @@ +/* allocFromTail__10JKRExpHeapFUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::allocFromTail(unsigned long) */ +/* JKRExpHeap_NS_allocFromTail_X1_ */ +/* 802CF6D4 002CC614 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF6D8 002CC618 7C 08 02 A6 */ mflr r0 +/* 802CF6DC 002CC61C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF6E0 002CC620 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF6E4 002CC624 48 09 2A F9 */ bl _savegpr_29 +/* 802CF6E8 002CC628 7C 7D 1B 78 */ mr r29, r3 +/* 802CF6EC 002CC62C 38 04 00 03 */ addi r0, r4, 3 +/* 802CF6F0 002CC630 54 04 00 3A */ rlwinm r4, r0, 0, 0, 0x1d +/* 802CF6F4 002CC634 3B E0 00 00 */ li r31, 0 +/* 802CF6F8 002CC638 80 63 00 7C */ lwz r3, 0x7c(r3) +/* 802CF6FC 002CC63C 48 00 00 1C */ b lbl_802CF718 +lbl_802CF700: +/* 802CF700 002CC640 80 03 00 04 */ lwz r0, 4(r3) +/* 802CF704 002CC644 7C 00 20 40 */ cmplw r0, r4 +/* 802CF708 002CC648 41 80 00 0C */ blt lbl_802CF714 +/* 802CF70C 002CC64C 7C 7F 1B 78 */ mr r31, r3 +/* 802CF710 002CC650 48 00 00 10 */ b lbl_802CF720 +lbl_802CF714: +/* 802CF714 002CC654 80 63 00 08 */ lwz r3, 8(r3) +lbl_802CF718: +/* 802CF718 002CC658 28 03 00 00 */ cmplwi r3, 0 +/* 802CF71C 002CC65C 40 82 FF E4 */ bne lbl_802CF700 +lbl_802CF720: +/* 802CF720 002CC660 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF724 002CC664 41 82 00 6C */ beq lbl_802CF790 +/* 802CF728 002CC668 7F E3 FB 78 */ mr r3, r31 +/* 802CF72C 002CC66C 38 A0 00 00 */ li r5, 0 +/* 802CF730 002CC670 38 C0 00 00 */ li r6, 0 +/* 802CF734 002CC674 88 FD 00 6D */ lbz r7, 0x6d(r29) +/* 802CF738 002CC678 39 00 00 00 */ li r8, 0 +/* 802CF73C 002CC67C 48 00 11 39 */ bl allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CF740 002CC680 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802CF744 002CC684 41 82 00 0C */ beq lbl_802CF750 +/* 802CF748 002CC688 7F E4 FB 78 */ mr r4, r31 +/* 802CF74C 002CC68C 48 00 00 18 */ b lbl_802CF764 +lbl_802CF750: +/* 802CF750 002CC690 7F A3 EB 78 */ mr r3, r29 +/* 802CF754 002CC694 7F E4 FB 78 */ mr r4, r31 +/* 802CF758 002CC698 48 00 07 5D */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF75C 002CC69C 7F FE FB 78 */ mr r30, r31 +/* 802CF760 002CC6A0 38 80 00 00 */ li r4, 0 +lbl_802CF764: +/* 802CF764 002CC6A4 28 04 00 00 */ cmplwi r4, 0 +/* 802CF768 002CC6A8 41 82 00 14 */ beq lbl_802CF77C +/* 802CF76C 002CC6AC 7F A3 EB 78 */ mr r3, r29 +/* 802CF770 002CC6B0 80 BF 00 08 */ lwz r5, 8(r31) +/* 802CF774 002CC6B4 80 DF 00 0C */ lwz r6, 0xc(r31) +/* 802CF778 002CC6B8 48 00 06 F1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802CF77C: +/* 802CF77C 002CC6BC 7F A3 EB 78 */ mr r3, r29 +/* 802CF780 002CC6C0 7F C4 F3 78 */ mr r4, r30 +/* 802CF784 002CC6C4 48 00 06 49 */ bl appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CF788 002CC6C8 38 7E 00 10 */ addi r3, r30, 0x10 +/* 802CF78C 002CC6CC 48 00 00 08 */ b lbl_802CF794 +lbl_802CF790: +/* 802CF790 002CC6D0 38 60 00 00 */ li r3, 0 +lbl_802CF794: +/* 802CF794 002CC6D4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF798 002CC6D8 48 09 2A 91 */ bl _restgpr_29 +/* 802CF79C 002CC6DC 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF7A0 002CC6E0 7C 08 03 A6 */ mtlr r0 +/* 802CF7A4 002CC6E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF7A8 002CC6E8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF7AC.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF7AC.s new file mode 100644 index 0000000000..fea5ccbfcb --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF7AC.s @@ -0,0 +1,32 @@ +/* do_free__10JKRExpHeapFPv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_free(void *) */ +/* missing reference */ +/* 802CF7AC 002CC6EC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF7B0 002CC6F0 7C 08 02 A6 */ mflr r0 +/* 802CF7B4 002CC6F4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF7B8 002CC6F8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF7BC 002CC6FC 93 C1 00 08 */ stw r30, 8(r1) +/* 802CF7C0 002CC700 7C 7E 1B 78 */ mr r30, r3 +/* 802CF7C4 002CC704 7C 9F 23 78 */ mr r31, r4 +/* 802CF7C8 002CC708 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CF7CC 002CC70C 48 06 F8 75 */ bl OSLockMutex +/* 802CF7D0 002CC710 80 1E 00 30 */ lwz r0, 0x30(r30) +/* 802CF7D4 002CC714 7C 00 F8 40 */ cmplw r0, r31 +/* 802CF7D8 002CC718 41 81 00 28 */ bgt lbl_802CF800 +/* 802CF7DC 002CC71C 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 802CF7E0 002CC720 7C 1F 00 40 */ cmplw r31, r0 +/* 802CF7E4 002CC724 41 81 00 1C */ bgt lbl_802CF800 +/* 802CF7E8 002CC728 7F E3 FB 78 */ mr r3, r31 +/* 802CF7EC 002CC72C 48 00 11 31 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv +/* 802CF7F0 002CC730 28 03 00 00 */ cmplwi r3, 0 +/* 802CF7F4 002CC734 41 82 00 0C */ beq lbl_802CF800 +/* 802CF7F8 002CC738 7F C4 F3 78 */ mr r4, r30 +/* 802CF7FC 002CC73C 48 00 10 D1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap +lbl_802CF800: +/* 802CF800 002CC740 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CF804 002CC744 48 06 F9 19 */ bl OSUnlockMutex +/* 802CF808 002CC748 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF80C 002CC74C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CF810 002CC750 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF814 002CC754 7C 08 03 A6 */ mtlr r0 +/* 802CF818 002CC758 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF81C 002CC75C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF820.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF820.s new file mode 100644 index 0000000000..0fc41d3147 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF820.s @@ -0,0 +1,33 @@ +/* do_freeAll__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_freeAll(void) */ +/* missing reference */ +/* 802CF820 002CC760 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CF824 002CC764 7C 08 02 A6 */ mflr r0 +/* 802CF828 002CC768 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CF82C 002CC76C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CF830 002CC770 7C 7F 1B 78 */ mr r31, r3 +/* 802CF834 002CC774 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802CF838 002CC778 48 06 F8 09 */ bl OSLockMutex +/* 802CF83C 002CC77C 7F E3 FB 78 */ mr r3, r31 +/* 802CF840 002CC780 4B FF ED 35 */ bl callAllDisposer__7JKRHeapFv +/* 802CF844 002CC784 80 1F 00 30 */ lwz r0, 0x30(r31) +/* 802CF848 002CC788 90 1F 00 78 */ stw r0, 0x78(r31) +/* 802CF84C 002CC78C 80 1F 00 78 */ lwz r0, 0x78(r31) +/* 802CF850 002CC790 90 1F 00 7C */ stw r0, 0x7c(r31) +/* 802CF854 002CC794 80 7F 00 78 */ lwz r3, 0x78(r31) +/* 802CF858 002CC798 38 80 00 00 */ li r4, 0 +/* 802CF85C 002CC79C 38 A0 00 00 */ li r5, 0 +/* 802CF860 002CC7A0 80 DF 00 38 */ lwz r6, 0x38(r31) +/* 802CF864 002CC7A4 38 C6 FF F0 */ addi r6, r6, -16 +/* 802CF868 002CC7A8 38 E0 00 00 */ li r7, 0 +/* 802CF86C 002CC7AC 39 00 00 00 */ li r8, 0 +/* 802CF870 002CC7B0 48 00 0F A1 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CF874 002CC7B4 38 00 00 00 */ li r0, 0 +/* 802CF878 002CC7B8 90 1F 00 80 */ stw r0, 0x80(r31) +/* 802CF87C 002CC7BC 90 1F 00 84 */ stw r0, 0x84(r31) +/* 802CF880 002CC7C0 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802CF884 002CC7C4 48 06 F8 99 */ bl OSUnlockMutex +/* 802CF888 002CC7C8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CF88C 002CC7CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CF890 002CC7D0 7C 08 03 A6 */ mtlr r0 +/* 802CF894 002CC7D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CF898 002CC7D8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s new file mode 100644 index 0000000000..ae839292fe --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s @@ -0,0 +1,39 @@ +/* do_freeTail__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_freeTail(void) */ +/* missing reference */ +/* 802CF89C 002CC7DC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF8A0 002CC7E0 7C 08 02 A6 */ mflr r0 +/* 802CF8A4 002CC7E4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF8A8 002CC7E8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF8AC 002CC7EC 48 09 29 31 */ bl _savegpr_29 +/* 802CF8B0 002CC7F0 7C 7D 1B 78 */ mr r29, r3 +/* 802CF8B4 002CC7F4 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF8B8 002CC7F8 48 06 F7 89 */ bl OSLockMutex +/* 802CF8BC 002CC7FC 83 FD 00 80 */ lwz r31, 0x80(r29) +/* 802CF8C0 002CC800 48 00 00 3C */ b lbl_802CF8FC +lbl_802CF8C4: +/* 802CF8C4 002CC804 88 1F 00 02 */ lbz r0, 2(r31) +/* 802CF8C8 002CC808 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802CF8CC 002CC80C 41 82 00 2C */ beq lbl_802CF8F8 +/* 802CF8D0 002CC810 7F A3 EB 78 */ mr r3, r29 +/* 802CF8D4 002CC814 38 9F 00 10 */ addi r4, r31, 0x10 +/* 802CF8D8 002CC818 80 BF 00 04 */ lwz r5, 4(r31) +/* 802CF8DC 002CC81C 4B FF F1 9D */ bl dispose__7JKRHeapFPvUl +/* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31) +/* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31 +/* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29 +/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap +/* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30 +/* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC +lbl_802CF8F8: +/* 802CF8F8 002CC838 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802CF8FC: +/* 802CF8FC 002CC83C 28 1F 00 00 */ cmplwi r31, 0 +/* 802CF900 002CC840 40 82 FF C4 */ bne lbl_802CF8C4 +/* 802CF904 002CC844 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF908 002CC848 48 06 F8 15 */ bl OSUnlockMutex +/* 802CF90C 002CC84C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF910 002CC850 48 09 29 19 */ bl _restgpr_29 +/* 802CF914 002CC854 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF918 002CC858 7C 08 03 A6 */ mtlr r0 +/* 802CF91C 002CC85C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF920 002CC860 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF924.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF924.s new file mode 100644 index 0000000000..b6baecb2c8 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF924.s @@ -0,0 +1,3 @@ +/* do_fillFreeArea__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_fillFreeArea(void) */ +/* missing reference */ +/* 802CF924 002CC864 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF928.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF928.s new file mode 100644 index 0000000000..b296c9e8d8 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF928.s @@ -0,0 +1,22 @@ +/* do_changeGroupID__10JKRExpHeapFUc __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_changeGroupID(unsigned char) */ +/* missing reference */ +/* 802CF928 002CC868 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF92C 002CC86C 7C 08 02 A6 */ mflr r0 +/* 802CF930 002CC870 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF934 002CC874 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF938 002CC878 48 09 28 A5 */ bl _savegpr_29 +/* 802CF93C 002CC87C 7C 7D 1B 78 */ mr r29, r3 +/* 802CF940 002CC880 7C 9E 23 78 */ mr r30, r4 +/* 802CF944 002CC884 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF948 002CC888 48 06 F6 F9 */ bl OSLockMutex +/* 802CF94C 002CC88C 8B FD 00 6D */ lbz r31, 0x6d(r29) +/* 802CF950 002CC890 9B DD 00 6D */ stb r30, 0x6d(r29) +/* 802CF954 002CC894 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF958 002CC898 48 06 F7 C5 */ bl OSUnlockMutex +/* 802CF95C 002CC89C 7F E3 FB 78 */ mr r3, r31 +/* 802CF960 002CC8A0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF964 002CC8A4 48 09 28 C5 */ bl _restgpr_29 +/* 802CF968 002CC8A8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CF96C 002CC8AC 7C 08 03 A6 */ mtlr r0 +/* 802CF970 002CC8B0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CF974 002CC8B4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF978.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF978.s new file mode 100644 index 0000000000..de2c50030e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF978.s @@ -0,0 +1,121 @@ +/* do_resize__10JKRExpHeapFPvUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_resize(void *, unsigned long) */ +/* missing reference */ +/* 802CF978 002CC8B8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CF97C 002CC8BC 7C 08 02 A6 */ mflr r0 +/* 802CF980 002CC8C0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CF984 002CC8C4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CF988 002CC8C8 48 09 28 51 */ bl _savegpr_28 +/* 802CF98C 002CC8CC 7C 7D 1B 78 */ mr r29, r3 +/* 802CF990 002CC8D0 7C 9C 23 78 */ mr r28, r4 +/* 802CF994 002CC8D4 7C BE 2B 78 */ mr r30, r5 +/* 802CF998 002CC8D8 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF99C 002CC8DC 48 06 F6 A5 */ bl OSLockMutex +/* 802CF9A0 002CC8E0 7F 83 E3 78 */ mr r3, r28 +/* 802CF9A4 002CC8E4 48 00 0F 79 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv +/* 802CF9A8 002CC8E8 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802CF9AC 002CC8EC 41 82 00 1C */ beq lbl_802CF9C8 +/* 802CF9B0 002CC8F0 80 1D 00 30 */ lwz r0, 0x30(r29) +/* 802CF9B4 002CC8F4 7C 1C 00 40 */ cmplw r28, r0 +/* 802CF9B8 002CC8F8 41 80 00 10 */ blt lbl_802CF9C8 +/* 802CF9BC 002CC8FC 80 1D 00 34 */ lwz r0, 0x34(r29) +/* 802CF9C0 002CC900 7C 00 E0 40 */ cmplw r0, r28 +/* 802CF9C4 002CC904 40 80 00 14 */ bge lbl_802CF9D8 +lbl_802CF9C8: +/* 802CF9C8 002CC908 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF9CC 002CC90C 48 06 F7 51 */ bl OSUnlockMutex +/* 802CF9D0 002CC910 38 60 FF FF */ li r3, -1 +/* 802CF9D4 002CC914 48 00 01 38 */ b lbl_802CFB0C +lbl_802CF9D8: +/* 802CF9D8 002CC918 38 1E 00 03 */ addi r0, r30, 3 +/* 802CF9DC 002CC91C 54 1E 00 3A */ rlwinm r30, r0, 0, 0, 0x1d +/* 802CF9E0 002CC920 80 9F 00 04 */ lwz r4, 4(r31) +/* 802CF9E4 002CC924 7C 1E 20 40 */ cmplw r30, r4 +/* 802CF9E8 002CC928 40 82 00 14 */ bne lbl_802CF9FC +/* 802CF9EC 002CC92C 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CF9F0 002CC930 48 06 F7 2D */ bl OSUnlockMutex +/* 802CF9F4 002CC934 7F C3 F3 78 */ mr r3, r30 +/* 802CF9F8 002CC938 48 00 01 14 */ b lbl_802CFB0C +lbl_802CF9FC: +/* 802CF9FC 002CC93C 40 81 00 D0 */ ble lbl_802CFACC +/* 802CFA00 002CC940 3B 80 00 00 */ li r28, 0 +/* 802CFA04 002CC944 80 7D 00 78 */ lwz r3, 0x78(r29) +/* 802CFA08 002CC948 38 1F 00 10 */ addi r0, r31, 0x10 +/* 802CFA0C 002CC94C 7C 00 22 14 */ add r0, r0, r4 +/* 802CFA10 002CC950 48 00 00 18 */ b lbl_802CFA28 +lbl_802CFA14: +/* 802CFA14 002CC954 7C 03 00 40 */ cmplw r3, r0 +/* 802CFA18 002CC958 40 82 00 0C */ bne lbl_802CFA24 +/* 802CFA1C 002CC95C 7C 7C 1B 78 */ mr r28, r3 +/* 802CFA20 002CC960 48 00 00 10 */ b lbl_802CFA30 +lbl_802CFA24: +/* 802CFA24 002CC964 80 63 00 0C */ lwz r3, 0xc(r3) +lbl_802CFA28: +/* 802CFA28 002CC968 28 03 00 00 */ cmplwi r3, 0 +/* 802CFA2C 002CC96C 40 82 FF E8 */ bne lbl_802CFA14 +lbl_802CFA30: +/* 802CFA30 002CC970 28 1C 00 00 */ cmplwi r28, 0 +/* 802CFA34 002CC974 40 82 00 14 */ bne lbl_802CFA48 +/* 802CFA38 002CC978 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFA3C 002CC97C 48 06 F6 E1 */ bl OSUnlockMutex +/* 802CFA40 002CC980 38 60 FF FF */ li r3, -1 +/* 802CFA44 002CC984 48 00 00 C8 */ b lbl_802CFB0C +lbl_802CFA48: +/* 802CFA48 002CC988 80 1C 00 04 */ lwz r0, 4(r28) +/* 802CFA4C 002CC98C 7C 64 02 14 */ add r3, r4, r0 +/* 802CFA50 002CC990 38 03 00 10 */ addi r0, r3, 0x10 +/* 802CFA54 002CC994 7C 1E 00 40 */ cmplw r30, r0 +/* 802CFA58 002CC998 40 81 00 14 */ ble lbl_802CFA6C +/* 802CFA5C 002CC99C 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFA60 002CC9A0 48 06 F6 BD */ bl OSUnlockMutex +/* 802CFA64 002CC9A4 38 60 FF FF */ li r3, -1 +/* 802CFA68 002CC9A8 48 00 00 A4 */ b lbl_802CFB0C +lbl_802CFA6C: +/* 802CFA6C 002CC9AC 7F A3 EB 78 */ mr r3, r29 +/* 802CFA70 002CC9B0 7F 84 E3 78 */ mr r4, r28 +/* 802CFA74 002CC9B4 48 00 04 41 */ bl removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CFA78 002CC9B8 80 7F 00 04 */ lwz r3, 4(r31) +/* 802CFA7C 002CC9BC 80 1C 00 04 */ lwz r0, 4(r28) +/* 802CFA80 002CC9C0 7C 60 1A 14 */ add r3, r0, r3 +/* 802CFA84 002CC9C4 38 03 00 10 */ addi r0, r3, 0x10 +/* 802CFA88 002CC9C8 90 1F 00 04 */ stw r0, 4(r31) +/* 802CFA8C 002CC9CC 80 1F 00 04 */ lwz r0, 4(r31) +/* 802CFA90 002CC9D0 7C 1E 00 50 */ subf r0, r30, r0 +/* 802CFA94 002CC9D4 28 00 00 10 */ cmplwi r0, 0x10 +/* 802CFA98 002CC9D8 40 81 00 68 */ ble lbl_802CFB00 +/* 802CFA9C 002CC9DC 7F E3 FB 78 */ mr r3, r31 +/* 802CFAA0 002CC9E0 7F C4 F3 78 */ mr r4, r30 +/* 802CFAA4 002CC9E4 88 BF 00 03 */ lbz r5, 3(r31) +/* 802CFAA8 002CC9E8 88 DF 00 02 */ lbz r6, 2(r31) +/* 802CFAAC 002CC9EC 38 E0 00 00 */ li r7, 0 +/* 802CFAB0 002CC9F0 39 00 00 00 */ li r8, 0 +/* 802CFAB4 002CC9F4 48 00 0D 7D */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CFAB8 002CC9F8 7C 64 1B 79 */ or. r4, r3, r3 +/* 802CFABC 002CC9FC 41 82 00 44 */ beq lbl_802CFB00 +/* 802CFAC0 002CCA00 7F A3 EB 78 */ mr r3, r29 +/* 802CFAC4 002CCA04 48 00 04 59 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CFAC8 002CCA08 48 00 00 38 */ b lbl_802CFB00 +lbl_802CFACC: +/* 802CFACC 002CCA0C 7C 1E 20 50 */ subf r0, r30, r4 +/* 802CFAD0 002CCA10 28 00 00 10 */ cmplwi r0, 0x10 +/* 802CFAD4 002CCA14 40 81 00 2C */ ble lbl_802CFB00 +/* 802CFAD8 002CCA18 7F C4 F3 78 */ mr r4, r30 +/* 802CFADC 002CCA1C 88 BF 00 03 */ lbz r5, 3(r31) +/* 802CFAE0 002CCA20 88 DF 00 02 */ lbz r6, 2(r31) +/* 802CFAE4 002CCA24 38 E0 00 00 */ li r7, 0 +/* 802CFAE8 002CCA28 39 00 00 00 */ li r8, 0 +/* 802CFAEC 002CCA2C 48 00 0D 45 */ bl allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc +/* 802CFAF0 002CCA30 7C 64 1B 79 */ or. r4, r3, r3 +/* 802CFAF4 002CCA34 41 82 00 0C */ beq lbl_802CFB00 +/* 802CFAF8 002CCA38 7F A3 EB 78 */ mr r3, r29 +/* 802CFAFC 002CCA3C 48 00 04 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +lbl_802CFB00: +/* 802CFB00 002CCA40 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFB04 002CCA44 48 06 F6 19 */ bl OSUnlockMutex +/* 802CFB08 002CCA48 80 7F 00 04 */ lwz r3, 4(r31) +lbl_802CFB0C: +/* 802CFB0C 002CCA4C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFB10 002CCA50 48 09 27 15 */ bl _restgpr_28 +/* 802CFB14 002CCA54 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFB18 002CCA58 7C 08 03 A6 */ mtlr r0 +/* 802CFB1C 002CCA5C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFB20 002CCA60 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFB24.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFB24.s new file mode 100644 index 0000000000..03a4d7451c --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFB24.s @@ -0,0 +1,37 @@ +/* do_getSize__10JKRExpHeapFPv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_getSize(void *) */ +/* missing reference */ +/* 802CFB24 002CCA64 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFB28 002CCA68 7C 08 02 A6 */ mflr r0 +/* 802CFB2C 002CCA6C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFB30 002CCA70 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFB34 002CCA74 48 09 26 A9 */ bl _savegpr_29 +/* 802CFB38 002CCA78 7C 7D 1B 78 */ mr r29, r3 +/* 802CFB3C 002CCA7C 7C 9E 23 78 */ mr r30, r4 +/* 802CFB40 002CCA80 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFB44 002CCA84 48 06 F4 FD */ bl OSLockMutex +/* 802CFB48 002CCA88 7F C3 F3 78 */ mr r3, r30 +/* 802CFB4C 002CCA8C 48 00 0D D1 */ bl getHeapBlock__Q210JKRExpHeap9CMemBlockFPv +/* 802CFB50 002CCA90 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802CFB54 002CCA94 41 82 00 1C */ beq lbl_802CFB70 +/* 802CFB58 002CCA98 80 1D 00 30 */ lwz r0, 0x30(r29) +/* 802CFB5C 002CCA9C 7C 1E 00 40 */ cmplw r30, r0 +/* 802CFB60 002CCAA0 41 80 00 10 */ blt lbl_802CFB70 +/* 802CFB64 002CCAA4 80 1D 00 34 */ lwz r0, 0x34(r29) +/* 802CFB68 002CCAA8 7C 00 F0 40 */ cmplw r0, r30 +/* 802CFB6C 002CCAAC 40 80 00 14 */ bge lbl_802CFB80 +lbl_802CFB70: +/* 802CFB70 002CCAB0 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFB74 002CCAB4 48 06 F5 A9 */ bl OSUnlockMutex +/* 802CFB78 002CCAB8 38 60 FF FF */ li r3, -1 +/* 802CFB7C 002CCABC 48 00 00 10 */ b lbl_802CFB8C +lbl_802CFB80: +/* 802CFB80 002CCAC0 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFB84 002CCAC4 48 06 F5 99 */ bl OSUnlockMutex +/* 802CFB88 002CCAC8 80 7F 00 04 */ lwz r3, 4(r31) +lbl_802CFB8C: +/* 802CFB8C 002CCACC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFB90 002CCAD0 48 09 26 99 */ bl _restgpr_29 +/* 802CFB94 002CCAD4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFB98 002CCAD8 7C 08 03 A6 */ mtlr r0 +/* 802CFB9C 002CCADC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFBA0 002CCAE0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFBA4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFBA4.s new file mode 100644 index 0000000000..aaee07017e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFBA4.s @@ -0,0 +1,32 @@ +/* do_getFreeSize__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_getFreeSize(void) */ +/* missing reference */ +/* 802CFBA4 002CCAE4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFBA8 002CCAE8 7C 08 02 A6 */ mflr r0 +/* 802CFBAC 002CCAEC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFBB0 002CCAF0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CFBB4 002CCAF4 93 C1 00 08 */ stw r30, 8(r1) +/* 802CFBB8 002CCAF8 7C 7E 1B 78 */ mr r30, r3 +/* 802CFBBC 002CCAFC 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFBC0 002CCB00 48 06 F4 81 */ bl OSLockMutex +/* 802CFBC4 002CCB04 3B E0 00 00 */ li r31, 0 +/* 802CFBC8 002CCB08 80 7E 00 78 */ lwz r3, 0x78(r30) +/* 802CFBCC 002CCB0C 48 00 00 18 */ b lbl_802CFBE4 +lbl_802CFBD0: +/* 802CFBD0 002CCB10 80 03 00 04 */ lwz r0, 4(r3) +/* 802CFBD4 002CCB14 7C 1F 00 00 */ cmpw r31, r0 +/* 802CFBD8 002CCB18 40 80 00 08 */ bge lbl_802CFBE0 +/* 802CFBDC 002CCB1C 7C 1F 03 78 */ mr r31, r0 +lbl_802CFBE0: +/* 802CFBE0 002CCB20 80 63 00 0C */ lwz r3, 0xc(r3) +lbl_802CFBE4: +/* 802CFBE4 002CCB24 28 03 00 00 */ cmplwi r3, 0 +/* 802CFBE8 002CCB28 40 82 FF E8 */ bne lbl_802CFBD0 +/* 802CFBEC 002CCB2C 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFBF0 002CCB30 48 06 F5 2D */ bl OSUnlockMutex +/* 802CFBF4 002CCB34 7F E3 FB 78 */ mr r3, r31 +/* 802CFBF8 002CCB38 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CFBFC 002CCB3C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CFC00 002CCB40 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFC04 002CCB44 7C 08 03 A6 */ mtlr r0 +/* 802CFC08 002CCB48 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFC0C 002CCB4C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC10.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC10.s new file mode 100644 index 0000000000..8a637eeb75 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC10.s @@ -0,0 +1,34 @@ +/* do_getMaxFreeBlock__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_getMaxFreeBlock(void) */ +/* missing reference */ +/* 802CFC10 002CCB50 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFC14 002CCB54 7C 08 02 A6 */ mflr r0 +/* 802CFC18 002CCB58 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFC1C 002CCB5C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CFC20 002CCB60 93 C1 00 08 */ stw r30, 8(r1) +/* 802CFC24 002CCB64 7C 7E 1B 78 */ mr r30, r3 +/* 802CFC28 002CCB68 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFC2C 002CCB6C 48 06 F4 15 */ bl OSLockMutex +/* 802CFC30 002CCB70 38 60 00 00 */ li r3, 0 +/* 802CFC34 002CCB74 3B E0 00 00 */ li r31, 0 +/* 802CFC38 002CCB78 80 9E 00 78 */ lwz r4, 0x78(r30) +/* 802CFC3C 002CCB7C 48 00 00 1C */ b lbl_802CFC58 +lbl_802CFC40: +/* 802CFC40 002CCB80 80 04 00 04 */ lwz r0, 4(r4) +/* 802CFC44 002CCB84 7C 03 00 00 */ cmpw r3, r0 +/* 802CFC48 002CCB88 40 80 00 0C */ bge lbl_802CFC54 +/* 802CFC4C 002CCB8C 7C 03 03 78 */ mr r3, r0 +/* 802CFC50 002CCB90 7C 9F 23 78 */ mr r31, r4 +lbl_802CFC54: +/* 802CFC54 002CCB94 80 84 00 0C */ lwz r4, 0xc(r4) +lbl_802CFC58: +/* 802CFC58 002CCB98 28 04 00 00 */ cmplwi r4, 0 +/* 802CFC5C 002CCB9C 40 82 FF E4 */ bne lbl_802CFC40 +/* 802CFC60 002CCBA0 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFC64 002CCBA4 48 06 F4 B9 */ bl OSUnlockMutex +/* 802CFC68 002CCBA8 7F E3 FB 78 */ mr r3, r31 +/* 802CFC6C 002CCBAC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CFC70 002CCBB0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CFC74 002CCBB4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFC78 002CCBB8 7C 08 03 A6 */ mtlr r0 +/* 802CFC7C 002CCBBC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFC80 002CCBC0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC84.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC84.s new file mode 100644 index 0000000000..4426cc4289 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFC84.s @@ -0,0 +1,29 @@ +/* do_getTotalFreeSize__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_getTotalFreeSize(void) */ +/* missing reference */ +/* 802CFC84 002CCBC4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFC88 002CCBC8 7C 08 02 A6 */ mflr r0 +/* 802CFC8C 002CCBCC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFC90 002CCBD0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CFC94 002CCBD4 93 C1 00 08 */ stw r30, 8(r1) +/* 802CFC98 002CCBD8 7C 7E 1B 78 */ mr r30, r3 +/* 802CFC9C 002CCBDC 3B E0 00 00 */ li r31, 0 +/* 802CFCA0 002CCBE0 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFCA4 002CCBE4 48 06 F3 9D */ bl OSLockMutex +/* 802CFCA8 002CCBE8 80 7E 00 78 */ lwz r3, 0x78(r30) +/* 802CFCAC 002CCBEC 48 00 00 10 */ b lbl_802CFCBC +lbl_802CFCB0: +/* 802CFCB0 002CCBF0 80 03 00 04 */ lwz r0, 4(r3) +/* 802CFCB4 002CCBF4 7F FF 02 14 */ add r31, r31, r0 +/* 802CFCB8 002CCBF8 80 63 00 0C */ lwz r3, 0xc(r3) +lbl_802CFCBC: +/* 802CFCBC 002CCBFC 28 03 00 00 */ cmplwi r3, 0 +/* 802CFCC0 002CCC00 40 82 FF F0 */ bne lbl_802CFCB0 +/* 802CFCC4 002CCC04 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFCC8 002CCC08 48 06 F4 55 */ bl OSUnlockMutex +/* 802CFCCC 002CCC0C 7F E3 FB 78 */ mr r3, r31 +/* 802CFCD0 002CCC10 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CFCD4 002CCC14 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CFCD8 002CCC18 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFCDC 002CCC1C 7C 08 03 A6 */ mtlr r0 +/* 802CFCE0 002CCC20 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFCE4 002CCC24 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFCE8.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFCE8.s new file mode 100644 index 0000000000..96ee75118e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFCE8.s @@ -0,0 +1,36 @@ +/* getUsedSize__10JKRExpHeapCFUc __ct__10JKRExpHeapFPvUlP7JKRHeapb::getUsedSize( const(unsigned char)) */ +/* JKRExpHeap_NS_getUsedSize */ +/* 802CFCE8 002CCC28 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFCEC 002CCC2C 7C 08 02 A6 */ mflr r0 +/* 802CFCF0 002CCC30 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFCF4 002CCC34 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFCF8 002CCC38 48 09 24 E5 */ bl _savegpr_29 +/* 802CFCFC 002CCC3C 7C 7D 1B 78 */ mr r29, r3 +/* 802CFD00 002CCC40 7C 9E 23 78 */ mr r30, r4 +/* 802CFD04 002CCC44 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFD08 002CCC48 48 06 F3 39 */ bl OSLockMutex +/* 802CFD0C 002CCC4C 3B E0 00 00 */ li r31, 0 +/* 802CFD10 002CCC50 80 9D 00 80 */ lwz r4, 0x80(r29) +/* 802CFD14 002CCC54 57 C3 06 3E */ clrlwi r3, r30, 0x18 +/* 802CFD18 002CCC58 48 00 00 20 */ b lbl_802CFD38 +lbl_802CFD1C: +/* 802CFD1C 002CCC5C 88 04 00 03 */ lbz r0, 3(r4) +/* 802CFD20 002CCC60 7C 00 18 40 */ cmplw r0, r3 +/* 802CFD24 002CCC64 40 82 00 10 */ bne lbl_802CFD34 +/* 802CFD28 002CCC68 80 04 00 04 */ lwz r0, 4(r4) +/* 802CFD2C 002CCC6C 7F E0 FA 14 */ add r31, r0, r31 +/* 802CFD30 002CCC70 3B FF 00 10 */ addi r31, r31, 0x10 +lbl_802CFD34: +/* 802CFD34 002CCC74 80 84 00 0C */ lwz r4, 0xc(r4) +lbl_802CFD38: +/* 802CFD38 002CCC78 28 04 00 00 */ cmplwi r4, 0 +/* 802CFD3C 002CCC7C 40 82 FF E0 */ bne lbl_802CFD1C +/* 802CFD40 002CCC80 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802CFD44 002CCC84 48 06 F3 D9 */ bl OSUnlockMutex +/* 802CFD48 002CCC88 7F E3 FB 78 */ mr r3, r31 +/* 802CFD4C 002CCC8C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFD50 002CCC90 48 09 24 D9 */ bl _restgpr_29 +/* 802CFD54 002CCC94 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802CFD58 002CCC98 7C 08 03 A6 */ mtlr r0 +/* 802CFD5C 002CCC9C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802CFD60 002CCCA0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFD64.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFD64.s new file mode 100644 index 0000000000..dd107e99f6 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFD64.s @@ -0,0 +1,30 @@ +/* getTotalUsedSize__10JKRExpHeapCFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::getTotalUsedSize( const(void)) */ +/* getTotalUsedSize__10JKRExpHeapCFv */ +/* 802CFD64 002CCCA4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFD68 002CCCA8 7C 08 02 A6 */ mflr r0 +/* 802CFD6C 002CCCAC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFD70 002CCCB0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CFD74 002CCCB4 93 C1 00 08 */ stw r30, 8(r1) +/* 802CFD78 002CCCB8 7C 7E 1B 78 */ mr r30, r3 +/* 802CFD7C 002CCCBC 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFD80 002CCCC0 48 06 F2 C1 */ bl OSLockMutex +/* 802CFD84 002CCCC4 3B E0 00 00 */ li r31, 0 +/* 802CFD88 002CCCC8 80 7E 00 80 */ lwz r3, 0x80(r30) +/* 802CFD8C 002CCCCC 48 00 00 14 */ b lbl_802CFDA0 +lbl_802CFD90: +/* 802CFD90 002CCCD0 80 03 00 04 */ lwz r0, 4(r3) +/* 802CFD94 002CCCD4 7F E0 FA 14 */ add r31, r0, r31 +/* 802CFD98 002CCCD8 80 63 00 0C */ lwz r3, 0xc(r3) +/* 802CFD9C 002CCCDC 3B FF 00 10 */ addi r31, r31, 0x10 +lbl_802CFDA0: +/* 802CFDA0 002CCCE0 28 03 00 00 */ cmplwi r3, 0 +/* 802CFDA4 002CCCE4 40 82 FF EC */ bne lbl_802CFD90 +/* 802CFDA8 002CCCE8 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802CFDAC 002CCCEC 48 06 F3 71 */ bl OSUnlockMutex +/* 802CFDB0 002CCCF0 7F E3 FB 78 */ mr r3, r31 +/* 802CFDB4 002CCCF4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CFDB8 002CCCF8 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CFDBC 002CCCFC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFDC0 002CCD00 7C 08 03 A6 */ mtlr r0 +/* 802CFDC4 002CCD04 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFDC8 002CCD08 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFDCC.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFDCC.s new file mode 100644 index 0000000000..89310e548c --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFDCC.s @@ -0,0 +1,45 @@ +/* appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::appendUsedList(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_appendUsedList */ +/* 802CFDCC 002CCD0C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802CFDD0 002CCD10 7C 08 02 A6 */ mflr r0 +/* 802CFDD4 002CCD14 90 01 00 14 */ stw r0, 0x14(r1) +/* 802CFDD8 002CCD18 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802CFDDC 002CCD1C 93 C1 00 08 */ stw r30, 8(r1) +/* 802CFDE0 002CCD20 7C 7E 1B 78 */ mr r30, r3 +/* 802CFDE4 002CCD24 7C 9F 23 79 */ or. r31, r4, r4 +/* 802CFDE8 002CCD28 40 82 00 24 */ bne lbl_802CFE0C +/* 802CFDEC 002CCD2C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802CFDF0 002CCD30 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l +/* 802CFDF4 002CCD34 38 66 00 25 */ addi r3, r6, 0x25 +/* 802CFDF8 002CCD38 38 80 06 20 */ li r4, 0x620 +/* 802CFDFC 002CCD3C 38 A6 00 34 */ addi r5, r6, 0x34 +/* 802CFE00 002CCD40 38 C6 00 37 */ addi r6, r6, 0x37 +/* 802CFE04 002CCD44 4C C6 31 82 */ crclr 6 +/* 802CFE08 002CCD48 48 01 23 F5 */ bl JUTException_NS_panic_f +lbl_802CFE0C: +/* 802CFE0C 002CCD4C 80 7E 00 84 */ lwz r3, 0x84(r30) +/* 802CFE10 002CCD50 38 00 48 4D */ li r0, 0x484d +/* 802CFE14 002CCD54 B0 1F 00 00 */ sth r0, 0(r31) +/* 802CFE18 002CCD58 28 03 00 00 */ cmplwi r3, 0 +/* 802CFE1C 002CCD5C 41 82 00 10 */ beq lbl_802CFE2C +/* 802CFE20 002CCD60 93 E3 00 0C */ stw r31, 0xc(r3) +/* 802CFE24 002CCD64 90 7F 00 08 */ stw r3, 8(r31) +/* 802CFE28 002CCD68 48 00 00 0C */ b lbl_802CFE34 +lbl_802CFE2C: +/* 802CFE2C 002CCD6C 38 00 00 00 */ li r0, 0 +/* 802CFE30 002CCD70 90 1F 00 08 */ stw r0, 8(r31) +lbl_802CFE34: +/* 802CFE34 002CCD74 93 FE 00 84 */ stw r31, 0x84(r30) +/* 802CFE38 002CCD78 80 1E 00 80 */ lwz r0, 0x80(r30) +/* 802CFE3C 002CCD7C 28 00 00 00 */ cmplwi r0, 0 +/* 802CFE40 002CCD80 40 82 00 08 */ bne lbl_802CFE48 +/* 802CFE44 002CCD84 93 FE 00 80 */ stw r31, 0x80(r30) +lbl_802CFE48: +/* 802CFE48 002CCD88 38 00 00 00 */ li r0, 0 +/* 802CFE4C 002CCD8C 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802CFE50 002CCD90 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802CFE54 002CCD94 83 C1 00 08 */ lwz r30, 8(r1) +/* 802CFE58 002CCD98 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802CFE5C 002CCD9C 7C 08 03 A6 */ mtlr r0 +/* 802CFE60 002CCDA0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802CFE64 002CCDA4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFE68.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFE68.s new file mode 100644 index 0000000000..bc44b490a0 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFE68.s @@ -0,0 +1,25 @@ +/* setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::setFreeBlock(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *, __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *, __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_setFreeBlock */ +/* 802CFE68 002CCDA8 28 05 00 00 */ cmplwi r5, 0 +/* 802CFE6C 002CCDAC 40 82 00 14 */ bne lbl_802CFE80 +/* 802CFE70 002CCDB0 90 83 00 78 */ stw r4, 0x78(r3) +/* 802CFE74 002CCDB4 38 00 00 00 */ li r0, 0 +/* 802CFE78 002CCDB8 90 04 00 08 */ stw r0, 8(r4) +/* 802CFE7C 002CCDBC 48 00 00 0C */ b lbl_802CFE88 +lbl_802CFE80: +/* 802CFE80 002CCDC0 90 85 00 0C */ stw r4, 0xc(r5) +/* 802CFE84 002CCDC4 90 A4 00 08 */ stw r5, 8(r4) +lbl_802CFE88: +/* 802CFE88 002CCDC8 28 06 00 00 */ cmplwi r6, 0 +/* 802CFE8C 002CCDCC 40 82 00 14 */ bne lbl_802CFEA0 +/* 802CFE90 002CCDD0 90 83 00 7C */ stw r4, 0x7c(r3) +/* 802CFE94 002CCDD4 38 00 00 00 */ li r0, 0 +/* 802CFE98 002CCDD8 90 04 00 0C */ stw r0, 0xc(r4) +/* 802CFE9C 002CCDDC 48 00 00 0C */ b lbl_802CFEA8 +lbl_802CFEA0: +/* 802CFEA0 002CCDE0 90 86 00 08 */ stw r4, 8(r6) +/* 802CFEA4 002CCDE4 90 C4 00 0C */ stw r6, 0xc(r4) +lbl_802CFEA8: +/* 802CFEA8 002CCDE8 38 00 00 00 */ li r0, 0 +/* 802CFEAC 002CCDEC B0 04 00 00 */ sth r0, 0(r4) +/* 802CFEB0 002CCDF0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEB4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEB4.s new file mode 100644 index 0000000000..f926cb8c84 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEB4.s @@ -0,0 +1,18 @@ +/* removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::removeFreeBlock(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_removeFreeBlock */ +/* 802CFEB4 002CCDF4 80 A4 00 08 */ lwz r5, 8(r4) +/* 802CFEB8 002CCDF8 80 84 00 0C */ lwz r4, 0xc(r4) +/* 802CFEBC 002CCDFC 28 05 00 00 */ cmplwi r5, 0 +/* 802CFEC0 002CCE00 40 82 00 0C */ bne lbl_802CFECC +/* 802CFEC4 002CCE04 90 83 00 78 */ stw r4, 0x78(r3) +/* 802CFEC8 002CCE08 48 00 00 08 */ b lbl_802CFED0 +lbl_802CFECC: +/* 802CFECC 002CCE0C 90 85 00 0C */ stw r4, 0xc(r5) +lbl_802CFED0: +/* 802CFED0 002CCE10 28 04 00 00 */ cmplwi r4, 0 +/* 802CFED4 002CCE14 40 82 00 0C */ bne lbl_802CFEE0 +/* 802CFED8 002CCE18 90 A3 00 7C */ stw r5, 0x7c(r3) +/* 802CFEDC 002CCE1C 4E 80 00 20 */ blr +lbl_802CFEE0: +/* 802CFEE0 002CCE20 90 A4 00 08 */ stw r5, 8(r4) +/* 802CFEE4 002CCE24 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEE8.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEE8.s new file mode 100644 index 0000000000..021a07a5f4 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFEE8.s @@ -0,0 +1,18 @@ +/* removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::removeUsedBlock(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_removeUsedBlock */ +/* 802CFEE8 002CCE28 80 A4 00 08 */ lwz r5, 8(r4) +/* 802CFEEC 002CCE2C 80 84 00 0C */ lwz r4, 0xc(r4) +/* 802CFEF0 002CCE30 28 05 00 00 */ cmplwi r5, 0 +/* 802CFEF4 002CCE34 40 82 00 0C */ bne lbl_802CFF00 +/* 802CFEF8 002CCE38 90 83 00 80 */ stw r4, 0x80(r3) +/* 802CFEFC 002CCE3C 48 00 00 08 */ b lbl_802CFF04 +lbl_802CFF00: +/* 802CFF00 002CCE40 90 85 00 0C */ stw r4, 0xc(r5) +lbl_802CFF04: +/* 802CFF04 002CCE44 28 04 00 00 */ cmplwi r4, 0 +/* 802CFF08 002CCE48 40 82 00 0C */ bne lbl_802CFF14 +/* 802CFF0C 002CCE4C 90 A3 00 84 */ stw r5, 0x84(r3) +/* 802CFF10 002CCE50 4E 80 00 20 */ blr +lbl_802CFF14: +/* 802CFF14 002CCE54 90 A4 00 08 */ stw r5, 8(r4) +/* 802CFF18 002CCE58 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFF1C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFF1C.s new file mode 100644 index 0000000000..84bf1d282e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802CFF1C.s @@ -0,0 +1,112 @@ +/* recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::recycleFreeBlock(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_recycleFreeBlock */ +/* 802CFF1C 002CCE5C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802CFF20 002CCE60 7C 08 02 A6 */ mflr r0 +/* 802CFF24 002CCE64 90 01 00 24 */ stw r0, 0x24(r1) +/* 802CFF28 002CCE68 39 61 00 20 */ addi r11, r1, 0x20 +/* 802CFF2C 002CCE6C 48 09 22 B1 */ bl _savegpr_29 +/* 802CFF30 002CCE70 7C 7D 1B 78 */ mr r29, r3 +/* 802CFF34 002CCE74 7C 9F 23 78 */ mr r31, r4 +/* 802CFF38 002CCE78 80 C4 00 04 */ lwz r6, 4(r4) +/* 802CFF3C 002CCE7C 7C A4 32 14 */ add r5, r4, r6 +/* 802CFF40 002CCE80 38 60 00 00 */ li r3, 0 +/* 802CFF44 002CCE84 B0 64 00 00 */ sth r3, 0(r4) +/* 802CFF48 002CCE88 88 04 00 02 */ lbz r0, 2(r4) +/* 802CFF4C 002CCE8C 54 00 06 7F */ clrlwi. r0, r0, 0x19 +/* 802CFF50 002CCE90 41 82 00 1C */ beq lbl_802CFF6C +/* 802CFF54 002CCE94 7F E0 20 50 */ subf r31, r0, r4 +/* 802CFF58 002CCE98 7C C6 02 14 */ add r6, r6, r0 +/* 802CFF5C 002CCE9C 7C BF 32 14 */ add r5, r31, r6 +/* 802CFF60 002CCEA0 98 7F 00 03 */ stb r3, 3(r31) +/* 802CFF64 002CCEA4 98 7F 00 02 */ stb r3, 2(r31) +/* 802CFF68 002CCEA8 90 DF 00 04 */ stw r6, 4(r31) +lbl_802CFF6C: +/* 802CFF6C 002CCEAC 80 7D 00 78 */ lwz r3, 0x78(r29) +/* 802CFF70 002CCEB0 28 03 00 00 */ cmplwi r3, 0 +/* 802CFF74 002CCEB4 40 82 00 3C */ bne lbl_802CFFB0 +/* 802CFF78 002CCEB8 7F E3 FB 78 */ mr r3, r31 +/* 802CFF7C 002CCEBC 38 80 00 00 */ li r4, 0 +/* 802CFF80 002CCEC0 38 A0 00 00 */ li r5, 0 +/* 802CFF84 002CCEC4 38 E0 00 00 */ li r7, 0 +/* 802CFF88 002CCEC8 39 00 00 00 */ li r8, 0 +/* 802CFF8C 002CCECC 48 00 08 85 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CFF90 002CCED0 93 FD 00 78 */ stw r31, 0x78(r29) +/* 802CFF94 002CCED4 93 FD 00 7C */ stw r31, 0x7c(r29) +/* 802CFF98 002CCED8 7F A3 EB 78 */ mr r3, r29 +/* 802CFF9C 002CCEDC 7F E4 FB 78 */ mr r4, r31 +/* 802CFFA0 002CCEE0 38 A0 00 00 */ li r5, 0 +/* 802CFFA4 002CCEE4 38 C0 00 00 */ li r6, 0 +/* 802CFFA8 002CCEE8 4B FF FE C1 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +/* 802CFFAC 002CCEEC 48 00 00 F0 */ b lbl_802D009C +lbl_802CFFB0: +/* 802CFFB0 002CCEF0 7C 03 28 40 */ cmplw r3, r5 +/* 802CFFB4 002CCEF4 41 80 00 40 */ blt lbl_802CFFF4 +/* 802CFFB8 002CCEF8 7F E3 FB 78 */ mr r3, r31 +/* 802CFFBC 002CCEFC 38 80 00 00 */ li r4, 0 +/* 802CFFC0 002CCF00 38 A0 00 00 */ li r5, 0 +/* 802CFFC4 002CCF04 38 E0 00 00 */ li r7, 0 +/* 802CFFC8 002CCF08 39 00 00 00 */ li r8, 0 +/* 802CFFCC 002CCF0C 48 00 08 45 */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802CFFD0 002CCF10 7F A3 EB 78 */ mr r3, r29 +/* 802CFFD4 002CCF14 7F E4 FB 78 */ mr r4, r31 +/* 802CFFD8 002CCF18 38 A0 00 00 */ li r5, 0 +/* 802CFFDC 002CCF1C 80 DD 00 78 */ lwz r6, 0x78(r29) +/* 802CFFE0 002CCF20 4B FF FE 89 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +/* 802CFFE4 002CCF24 7F A3 EB 78 */ mr r3, r29 +/* 802CFFE8 002CCF28 7F E4 FB 78 */ mr r4, r31 +/* 802CFFEC 002CCF2C 48 00 00 C9 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802CFFF0 002CCF30 48 00 00 AC */ b lbl_802D009C +lbl_802CFFF4: +/* 802CFFF4 002CCF34 80 1D 00 7C */ lwz r0, 0x7c(r29) +/* 802CFFF8 002CCF38 7C 00 F8 40 */ cmplw r0, r31 +/* 802CFFFC 002CCF3C 41 81 00 40 */ bgt lbl_802D003C +/* 802D0000 002CCF40 7F E3 FB 78 */ mr r3, r31 +/* 802D0004 002CCF44 38 80 00 00 */ li r4, 0 +/* 802D0008 002CCF48 38 A0 00 00 */ li r5, 0 +/* 802D000C 002CCF4C 38 E0 00 00 */ li r7, 0 +/* 802D0010 002CCF50 39 00 00 00 */ li r8, 0 +/* 802D0014 002CCF54 48 00 07 FD */ bl initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc +/* 802D0018 002CCF58 7F A3 EB 78 */ mr r3, r29 +/* 802D001C 002CCF5C 7F E4 FB 78 */ mr r4, r31 +/* 802D0020 002CCF60 80 BD 00 7C */ lwz r5, 0x7c(r29) +/* 802D0024 002CCF64 38 C0 00 00 */ li r6, 0 +/* 802D0028 002CCF68 4B FF FE 41 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +/* 802D002C 002CCF6C 7F A3 EB 78 */ mr r3, r29 +/* 802D0030 002CCF70 80 9F 00 08 */ lwz r4, 8(r31) +/* 802D0034 002CCF74 48 00 00 81 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802D0038 002CCF78 48 00 00 64 */ b lbl_802D009C +lbl_802D003C: +/* 802D003C 002CCF7C 7C 7E 1B 78 */ mr r30, r3 +/* 802D0040 002CCF80 48 00 00 54 */ b lbl_802D0094 +lbl_802D0044: +/* 802D0044 002CCF84 7C 1E F8 40 */ cmplw r30, r31 +/* 802D0048 002CCF88 40 80 00 48 */ bge lbl_802D0090 +/* 802D004C 002CCF8C 80 1E 00 0C */ lwz r0, 0xc(r30) +/* 802D0050 002CCF90 7C 1F 00 40 */ cmplw r31, r0 +/* 802D0054 002CCF94 40 80 00 3C */ bge lbl_802D0090 +/* 802D0058 002CCF98 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802D005C 002CCF9C 93 DF 00 08 */ stw r30, 8(r31) +/* 802D0060 002CCFA0 93 FE 00 0C */ stw r31, 0xc(r30) +/* 802D0064 002CCFA4 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 802D0068 002CCFA8 93 E3 00 08 */ stw r31, 8(r3) +/* 802D006C 002CCFAC 38 00 00 00 */ li r0, 0 +/* 802D0070 002CCFB0 98 1F 00 03 */ stb r0, 3(r31) +/* 802D0074 002CCFB4 7F A3 EB 78 */ mr r3, r29 +/* 802D0078 002CCFB8 7F E4 FB 78 */ mr r4, r31 +/* 802D007C 002CCFBC 48 00 00 39 */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802D0080 002CCFC0 7F A3 EB 78 */ mr r3, r29 +/* 802D0084 002CCFC4 7F C4 F3 78 */ mr r4, r30 +/* 802D0088 002CCFC8 48 00 00 2D */ bl joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802D008C 002CCFCC 48 00 00 10 */ b lbl_802D009C +lbl_802D0090: +/* 802D0090 002CCFD0 83 DE 00 0C */ lwz r30, 0xc(r30) +lbl_802D0094: +/* 802D0094 002CCFD4 28 1E 00 00 */ cmplwi r30, 0 +/* 802D0098 002CCFD8 40 82 FF AC */ bne lbl_802D0044 +lbl_802D009C: +/* 802D009C 002CCFDC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D00A0 002CCFE0 48 09 21 89 */ bl _restgpr_29 +/* 802D00A4 002CCFE4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D00A8 002CCFE8 7C 08 03 A6 */ mtlr r0 +/* 802D00AC 002CCFEC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D00B0 002CCFF0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s new file mode 100644 index 0000000000..3e046eefd1 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s @@ -0,0 +1,59 @@ +/* joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock __ct__10JKRExpHeapFPvUlP7JKRHeapb::joinTwoBlocks(__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *) */ +/* JKRExpHeap_NS_joinTwoBlocks */ +/* 802D00B4 002CCFF4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D00B8 002CCFF8 7C 08 02 A6 */ mflr r0 +/* 802D00BC 002CCFFC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D00C0 002CD000 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D00C4 002CD004 48 09 21 11 */ bl _savegpr_27 +/* 802D00C8 002CD008 7C 7E 1B 78 */ mr r30, r3 +/* 802D00CC 002CD00C 7C 9F 23 78 */ mr r31, r4 +/* 802D00D0 002CD010 80 04 00 04 */ lwz r0, 4(r4) +/* 802D00D4 002CD014 7F BF 02 14 */ add r29, r31, r0 +/* 802D00D8 002CD018 83 84 00 0C */ lwz r28, 0xc(r4) +/* 802D00DC 002CD01C 88 1C 00 02 */ lbz r0, 2(r28) +/* 802D00E0 002CD020 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802D00E4 002CD024 7F 60 E0 50 */ subf r27, r0, r28 +/* 802D00E8 002CD028 3B BD 00 10 */ addi r29, r29, 0x10 +/* 802D00EC 002CD02C 7C 1D D8 40 */ cmplw r29, r27 +/* 802D00F0 002CD030 40 81 00 4C */ ble lbl_802D013C +/* 802D00F4 002CD034 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D00F8 002CD038 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D00FC 002CD03C 38 63 00 4B */ addi r3, r3, 0x4b +/* 802D0100 002CD040 4C C6 31 82 */ crclr 6 +/* 802D0104 002CD044 48 01 85 79 */ bl JUTWarningConsole_f +/* 802D0108 002CD048 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13) +/* 802D010C 002CD04C 81 83 00 00 */ lwz r12, 0(r3) +/* 802D0110 002CD050 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802D0114 002CD054 7D 89 03 A6 */ mtctr r12 +/* 802D0118 002CD058 4E 80 04 21 */ bctrl +/* 802D011C 002CD05C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0120 002CD060 38 C3 CA F0 */ addi r6, r3, lbl_8039CAF0@l +/* 802D0124 002CD064 38 66 00 25 */ addi r3, r6, 0x25 +/* 802D0128 002CD068 38 80 07 1C */ li r4, 0x71c +/* 802D012C 002CD06C 38 A6 00 34 */ addi r5, r6, 0x34 +/* 802D0130 002CD070 38 C6 00 6F */ addi r6, r6, 0x6f +/* 802D0134 002CD074 4C C6 31 82 */ crclr 6 +/* 802D0138 002CD078 48 01 20 C5 */ bl JUTException_NS_panic_f +lbl_802D013C: +/* 802D013C 002CD07C 7C 1D D8 40 */ cmplw r29, r27 +/* 802D0140 002CD080 40 82 00 38 */ bne lbl_802D0178 +/* 802D0144 002CD084 80 9F 00 04 */ lwz r4, 4(r31) +/* 802D0148 002CD088 80 7C 00 04 */ lwz r3, 4(r28) +/* 802D014C 002CD08C 88 1C 00 02 */ lbz r0, 2(r28) +/* 802D0150 002CD090 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802D0154 002CD094 7C 03 02 14 */ add r0, r3, r0 +/* 802D0158 002CD098 7C 60 22 14 */ add r3, r0, r4 +/* 802D015C 002CD09C 38 03 00 10 */ addi r0, r3, 0x10 +/* 802D0160 002CD0A0 90 1F 00 04 */ stw r0, 4(r31) +/* 802D0164 002CD0A4 7F C3 F3 78 */ mr r3, r30 +/* 802D0168 002CD0A8 7F E4 FB 78 */ mr r4, r31 +/* 802D016C 002CD0AC 80 BF 00 08 */ lwz r5, 8(r31) +/* 802D0170 002CD0B0 80 DC 00 0C */ lwz r6, 0xc(r28) +/* 802D0174 002CD0B4 4B FF FC F5 */ bl setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock +lbl_802D0178: +/* 802D0178 002CD0B8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D017C 002CD0BC 48 09 20 A5 */ bl _restgpr_27 +/* 802D0180 002CD0C0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0184 002CD0C4 7C 08 03 A6 */ mtlr r0 +/* 802D0188 002CD0C8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D018C 002CD0CC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0190.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0190.s new file mode 100644 index 0000000000..631cdb40f5 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0190.s @@ -0,0 +1,154 @@ +/* check__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::check(void) */ +/* missing reference */ +/* 802D0190 002CD0D0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0194 002CD0D4 7C 08 02 A6 */ mflr r0 +/* 802D0198 002CD0D8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D019C 002CD0DC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D01A0 002CD0E0 48 09 20 39 */ bl _savegpr_28 +/* 802D01A4 002CD0E4 7C 7C 1B 78 */ mr r28, r3 +/* 802D01A8 002CD0E8 38 7C 00 18 */ addi r3, r28, 0x18 +/* 802D01AC 002CD0EC 48 06 EE 95 */ bl OSLockMutex +/* 802D01B0 002CD0F0 3B E0 00 00 */ li r31, 0 +/* 802D01B4 002CD0F4 3B C0 00 01 */ li r30, 1 +/* 802D01B8 002CD0F8 83 BC 00 80 */ lwz r29, 0x80(r28) +/* 802D01BC 002CD0FC 48 00 00 E0 */ b lbl_802D029C +lbl_802D01C0: +/* 802D01C0 002CD100 A0 1D 00 00 */ lhz r0, 0(r29) +/* 802D01C4 002CD104 28 00 48 4D */ cmplwi r0, 0x484d +/* 802D01C8 002CD108 41 82 00 28 */ beq lbl_802D01F0 +/* 802D01CC 002CD10C 3B C0 00 00 */ li r30, 0 +/* 802D01D0 002CD110 54 06 06 3E */ clrlwi r6, r0, 0x18 +/* 802D01D4 002CD114 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f +/* 802D01D8 002CD118 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D01DC 002CD11C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D01E0 002CD120 38 63 00 7A */ addi r3, r3, 0x7a +/* 802D01E4 002CD124 7F A4 EB 78 */ mr r4, r29 +/* 802D01E8 002CD128 4C C6 31 82 */ crclr 6 +/* 802D01EC 002CD12C 48 01 84 91 */ bl JUTWarningConsole_f +lbl_802D01F0: +/* 802D01F0 002CD130 80 BD 00 0C */ lwz r5, 0xc(r29) +/* 802D01F4 002CD134 28 05 00 00 */ cmplwi r5, 0 +/* 802D01F8 002CD138 41 82 00 60 */ beq lbl_802D0258 +/* 802D01FC 002CD13C A0 05 00 00 */ lhz r0, 0(r5) +/* 802D0200 002CD140 28 00 48 4D */ cmplwi r0, 0x484d +/* 802D0204 002CD144 41 82 00 24 */ beq lbl_802D0228 +/* 802D0208 002CD148 3B C0 00 00 */ li r30, 0 +/* 802D020C 002CD14C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0210 002CD150 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0214 002CD154 38 63 00 A4 */ addi r3, r3, 0xa4 +/* 802D0218 002CD158 7F A4 EB 78 */ mr r4, r29 +/* 802D021C 002CD15C 4C C6 31 82 */ crclr 6 +/* 802D0220 002CD160 48 01 84 5D */ bl JUTWarningConsole_f +/* 802D0224 002CD164 48 00 00 80 */ b lbl_802D02A4 +lbl_802D0228: +/* 802D0228 002CD168 80 05 00 08 */ lwz r0, 8(r5) +/* 802D022C 002CD16C 7C 00 E8 40 */ cmplw r0, r29 +/* 802D0230 002CD170 41 82 00 50 */ beq lbl_802D0280 +/* 802D0234 002CD174 3B C0 00 00 */ li r30, 0 +/* 802D0238 002CD178 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D023C 002CD17C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0240 002CD180 38 63 00 D1 */ addi r3, r3, 0xd1 +/* 802D0244 002CD184 7C A4 2B 78 */ mr r4, r5 +/* 802D0248 002CD188 7C 05 03 78 */ mr r5, r0 +/* 802D024C 002CD18C 4C C6 31 82 */ crclr 6 +/* 802D0250 002CD190 48 01 84 2D */ bl JUTWarningConsole_f +/* 802D0254 002CD194 48 00 00 2C */ b lbl_802D0280 +lbl_802D0258: +/* 802D0258 002CD198 80 BC 00 84 */ lwz r5, 0x84(r28) +/* 802D025C 002CD19C 7C 05 E8 40 */ cmplw r5, r29 +/* 802D0260 002CD1A0 41 82 00 20 */ beq lbl_802D0280 +/* 802D0264 002CD1A4 3B C0 00 00 */ li r30, 0 +/* 802D0268 002CD1A8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D026C 002CD1AC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0270 002CD1B0 38 63 00 FC */ addi r3, r3, 0xfc +/* 802D0274 002CD1B4 7F A4 EB 78 */ mr r4, r29 +/* 802D0278 002CD1B8 4C C6 31 82 */ crclr 6 +/* 802D027C 002CD1BC 48 01 84 01 */ bl JUTWarningConsole_f +lbl_802D0280: +/* 802D0280 002CD1C0 80 7D 00 04 */ lwz r3, 4(r29) +/* 802D0284 002CD1C4 88 1D 00 02 */ lbz r0, 2(r29) +/* 802D0288 002CD1C8 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802D028C 002CD1CC 7C 03 02 14 */ add r0, r3, r0 +/* 802D0290 002CD1D0 7F E0 FA 14 */ add r31, r0, r31 +/* 802D0294 002CD1D4 83 BD 00 0C */ lwz r29, 0xc(r29) +/* 802D0298 002CD1D8 3B FF 00 10 */ addi r31, r31, 0x10 +lbl_802D029C: +/* 802D029C 002CD1DC 28 1D 00 00 */ cmplwi r29, 0 +/* 802D02A0 002CD1E0 40 82 FF 20 */ bne lbl_802D01C0 +lbl_802D02A4: +/* 802D02A4 002CD1E4 83 BC 00 78 */ lwz r29, 0x78(r28) +/* 802D02A8 002CD1E8 48 00 00 A4 */ b lbl_802D034C +lbl_802D02AC: +/* 802D02AC 002CD1EC 80 1D 00 04 */ lwz r0, 4(r29) +/* 802D02B0 002CD1F0 7F E0 FA 14 */ add r31, r0, r31 +/* 802D02B4 002CD1F4 80 9D 00 0C */ lwz r4, 0xc(r29) +/* 802D02B8 002CD1F8 28 04 00 00 */ cmplwi r4, 0 +/* 802D02BC 002CD1FC 3B FF 00 10 */ addi r31, r31, 0x10 +/* 802D02C0 002CD200 41 82 00 60 */ beq lbl_802D0320 +/* 802D02C4 002CD204 80 A4 00 08 */ lwz r5, 8(r4) +/* 802D02C8 002CD208 7C 05 E8 40 */ cmplw r5, r29 +/* 802D02CC 002CD20C 41 82 00 1C */ beq lbl_802D02E8 +/* 802D02D0 002CD210 3B C0 00 00 */ li r30, 0 +/* 802D02D4 002CD214 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D02D8 002CD218 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D02DC 002CD21C 38 63 00 D1 */ addi r3, r3, 0xd1 +/* 802D02E0 002CD220 4C C6 31 82 */ crclr 6 +/* 802D02E4 002CD224 48 01 83 99 */ bl JUTWarningConsole_f +lbl_802D02E8: +/* 802D02E8 002CD228 80 BD 00 04 */ lwz r5, 4(r29) +/* 802D02EC 002CD22C 38 05 00 10 */ addi r0, r5, 0x10 +/* 802D02F0 002CD230 7C 7D 02 14 */ add r3, r29, r0 +/* 802D02F4 002CD234 80 1D 00 0C */ lwz r0, 0xc(r29) +/* 802D02F8 002CD238 7C 03 00 40 */ cmplw r3, r0 +/* 802D02FC 002CD23C 40 81 00 4C */ ble lbl_802D0348 +/* 802D0300 002CD240 3B C0 00 00 */ li r30, 0 +/* 802D0304 002CD244 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0308 002CD248 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D030C 002CD24C 38 63 01 25 */ addi r3, r3, 0x125 +/* 802D0310 002CD250 7F A4 EB 78 */ mr r4, r29 +/* 802D0314 002CD254 4C C6 31 82 */ crclr 6 +/* 802D0318 002CD258 48 01 83 65 */ bl JUTWarningConsole_f +/* 802D031C 002CD25C 48 00 00 2C */ b lbl_802D0348 +lbl_802D0320: +/* 802D0320 002CD260 80 BC 00 7C */ lwz r5, 0x7c(r28) +/* 802D0324 002CD264 7C 05 E8 40 */ cmplw r5, r29 +/* 802D0328 002CD268 41 82 00 20 */ beq lbl_802D0348 +/* 802D032C 002CD26C 3B C0 00 00 */ li r30, 0 +/* 802D0330 002CD270 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0334 002CD274 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0338 002CD278 38 63 00 FC */ addi r3, r3, 0xfc +/* 802D033C 002CD27C 7F A4 EB 78 */ mr r4, r29 +/* 802D0340 002CD280 4C C6 31 82 */ crclr 6 +/* 802D0344 002CD284 48 01 83 39 */ bl JUTWarningConsole_f +lbl_802D0348: +/* 802D0348 002CD288 83 BD 00 0C */ lwz r29, 0xc(r29) +lbl_802D034C: +/* 802D034C 002CD28C 28 1D 00 00 */ cmplwi r29, 0 +/* 802D0350 002CD290 40 82 FF 5C */ bne lbl_802D02AC +/* 802D0354 002CD294 80 9C 00 38 */ lwz r4, 0x38(r28) +/* 802D0358 002CD298 7C 1F 20 40 */ cmplw r31, r4 +/* 802D035C 002CD29C 41 82 00 20 */ beq lbl_802D037C +/* 802D0360 002CD2A0 3B C0 00 00 */ li r30, 0 +/* 802D0364 002CD2A4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0368 002CD2A8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D036C 002CD2AC 38 63 01 4A */ addi r3, r3, 0x14a +/* 802D0370 002CD2B0 7F E5 FB 78 */ mr r5, r31 +/* 802D0374 002CD2B4 4C C6 31 82 */ crclr 6 +/* 802D0378 002CD2B8 48 01 83 05 */ bl JUTWarningConsole_f +lbl_802D037C: +/* 802D037C 002CD2BC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 +/* 802D0380 002CD2C0 40 82 00 14 */ bne lbl_802D0394 +/* 802D0384 002CD2C4 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0388 002CD2C8 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D038C 002CD2CC 38 63 01 77 */ addi r3, r3, 0x177 +/* 802D0390 002CD2D0 48 01 83 6D */ bl JUTWarningConsole +lbl_802D0394: +/* 802D0394 002CD2D4 38 7C 00 18 */ addi r3, r28, 0x18 +/* 802D0398 002CD2D8 48 06 ED 85 */ bl OSUnlockMutex +/* 802D039C 002CD2DC 7F C3 F3 78 */ mr r3, r30 +/* 802D03A0 002CD2E0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D03A4 002CD2E4 48 09 1E 81 */ bl _restgpr_28 +/* 802D03A8 002CD2E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D03AC 002CD2EC 7C 08 03 A6 */ mtlr r0 +/* 802D03B0 002CD2F0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D03B4 002CD2F4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D03B8.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D03B8.s new file mode 100644 index 0000000000..5bc3540b37 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D03B8.s @@ -0,0 +1,144 @@ +/* dump__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::dump(void) */ +/* missing reference */ +/* 802D03B8 002CD2F8 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802D03BC 002CD2FC 7C 08 02 A6 */ mflr r0 +/* 802D03C0 002CD300 90 01 00 44 */ stw r0, 0x44(r1) +/* 802D03C4 002CD304 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D03C8 002CD308 48 09 1E 05 */ bl func_803621CC +/* 802D03CC 002CD30C 7C 7A 1B 78 */ mr r26, r3 +/* 802D03D0 002CD310 38 7A 00 18 */ addi r3, r26, 0x18 +/* 802D03D4 002CD314 48 06 EC 6D */ bl OSLockMutex +/* 802D03D8 002CD318 7F 43 D3 78 */ mr r3, r26 +/* 802D03DC 002CD31C 81 9A 00 00 */ lwz r12, 0(r26) +/* 802D03E0 002CD320 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D03E4 002CD324 7D 89 03 A6 */ mtctr r12 +/* 802D03E8 002CD328 4E 80 04 21 */ bctrl +/* 802D03EC 002CD32C 7C 7F 1B 78 */ mr r31, r3 +/* 802D03F0 002CD330 3B C0 00 00 */ li r30, 0 +/* 802D03F4 002CD334 3B A0 00 00 */ li r29, 0 +/* 802D03F8 002CD338 3B 80 00 00 */ li r28, 0 +/* 802D03FC 002CD33C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0400 002CD340 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0404 002CD344 38 63 01 9D */ addi r3, r3, 0x19d +/* 802D0408 002CD348 48 01 82 41 */ bl JUTReportConsole +/* 802D040C 002CD34C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0410 002CD350 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0414 002CD354 38 63 01 D4 */ addi r3, r3, 0x1d4 +/* 802D0418 002CD358 48 01 82 31 */ bl JUTReportConsole +/* 802D041C 002CD35C 80 1A 00 80 */ lwz r0, 0x80(r26) +/* 802D0420 002CD360 28 00 00 00 */ cmplwi r0, 0 +/* 802D0424 002CD364 40 82 00 14 */ bne lbl_802D0438 +/* 802D0428 002CD368 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D042C 002CD36C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0430 002CD370 38 63 01 E3 */ addi r3, r3, 0x1e3 +/* 802D0434 002CD374 48 01 82 15 */ bl JUTReportConsole +lbl_802D0438: +/* 802D0438 002CD378 83 7A 00 80 */ lwz r27, 0x80(r26) +/* 802D043C 002CD37C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0440 002CD380 3B 23 CA F0 */ addi r25, r3, lbl_8039CAF0@l +/* 802D0444 002CD384 48 00 00 8C */ b lbl_802D04D0 +lbl_802D0448: +/* 802D0448 002CD388 A0 1B 00 00 */ lhz r0, 0(r27) +/* 802D044C 002CD38C 28 00 48 4D */ cmplwi r0, 0x484d +/* 802D0450 002CD390 41 82 00 20 */ beq lbl_802D0470 +/* 802D0454 002CD394 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0458 002CD398 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D045C 002CD39C 38 63 01 EA */ addi r3, r3, 0x1ea +/* 802D0460 002CD3A0 7F 64 DB 78 */ mr r4, r27 +/* 802D0464 002CD3A4 4C C6 31 82 */ crclr 6 +/* 802D0468 002CD3A8 48 01 81 61 */ bl JUTReportConsole_f +/* 802D046C 002CD3AC 48 00 00 6C */ b lbl_802D04D8 +lbl_802D0470: +/* 802D0470 002CD3B0 88 1B 00 02 */ lbz r0, 2(r27) +/* 802D0474 002CD3B4 54 08 06 7E */ clrlwi r8, r0, 0x19 +/* 802D0478 002CD3B8 38 BB 00 10 */ addi r5, r27, 0x10 +/* 802D047C 002CD3BC 38 79 02 24 */ addi r3, r25, 0x224 +/* 802D0480 002CD3C0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802D0484 002CD3C4 38 99 02 4F */ addi r4, r25, 0x24f +/* 802D0488 002CD3C8 41 82 00 10 */ beq lbl_802D0498 +/* 802D048C 002CD3CC 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha +/* 802D0490 002CD3D0 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l +/* 802D0494 002CD3D4 38 84 02 49 */ addi r4, r4, 0x249 +lbl_802D0498: +/* 802D0498 002CD3D8 80 DB 00 04 */ lwz r6, 4(r27) +/* 802D049C 002CD3DC 88 FB 00 03 */ lbz r7, 3(r27) +/* 802D04A0 002CD3E0 81 3B 00 08 */ lwz r9, 8(r27) +/* 802D04A4 002CD3E4 81 5B 00 0C */ lwz r10, 0xc(r27) +/* 802D04A8 002CD3E8 4C C6 31 82 */ crclr 6 +/* 802D04AC 002CD3EC 48 01 81 1D */ bl JUTReportConsole_f +/* 802D04B0 002CD3F0 80 7B 00 04 */ lwz r3, 4(r27) +/* 802D04B4 002CD3F4 88 1B 00 02 */ lbz r0, 2(r27) +/* 802D04B8 002CD3F8 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802D04BC 002CD3FC 7C 03 02 14 */ add r0, r3, r0 +/* 802D04C0 002CD400 7F C0 F2 14 */ add r30, r0, r30 +/* 802D04C4 002CD404 83 7B 00 0C */ lwz r27, 0xc(r27) +/* 802D04C8 002CD408 3B DE 00 10 */ addi r30, r30, 0x10 +/* 802D04CC 002CD40C 3B BD 00 01 */ addi r29, r29, 1 +lbl_802D04D0: +/* 802D04D0 002CD410 28 1B 00 00 */ cmplwi r27, 0 +/* 802D04D4 002CD414 40 82 FF 74 */ bne lbl_802D0448 +lbl_802D04D8: +/* 802D04D8 002CD418 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D04DC 002CD41C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D04E0 002CD420 38 63 02 55 */ addi r3, r3, 0x255 +/* 802D04E4 002CD424 48 01 81 65 */ bl JUTReportConsole +/* 802D04E8 002CD428 80 1A 00 78 */ lwz r0, 0x78(r26) +/* 802D04EC 002CD42C 28 00 00 00 */ cmplwi r0, 0 +/* 802D04F0 002CD430 40 82 00 14 */ bne lbl_802D0504 +/* 802D04F4 002CD434 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D04F8 002CD438 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D04FC 002CD43C 38 63 01 E3 */ addi r3, r3, 0x1e3 +/* 802D0500 002CD440 48 01 81 49 */ bl JUTReportConsole +lbl_802D0504: +/* 802D0504 002CD444 83 3A 00 78 */ lwz r25, 0x78(r26) +/* 802D0508 002CD448 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D050C 002CD44C 3B 63 CA F0 */ addi r27, r3, lbl_8039CAF0@l +/* 802D0510 002CD450 48 00 00 38 */ b lbl_802D0548 +lbl_802D0514: +/* 802D0514 002CD454 38 7B 02 24 */ addi r3, r27, 0x224 +/* 802D0518 002CD458 38 9B 02 64 */ addi r4, r27, 0x264 +/* 802D051C 002CD45C 38 B9 00 10 */ addi r5, r25, 0x10 +/* 802D0520 002CD460 80 D9 00 04 */ lwz r6, 4(r25) +/* 802D0524 002CD464 88 F9 00 03 */ lbz r7, 3(r25) +/* 802D0528 002CD468 88 19 00 02 */ lbz r0, 2(r25) +/* 802D052C 002CD46C 54 08 06 7E */ clrlwi r8, r0, 0x19 +/* 802D0530 002CD470 81 39 00 08 */ lwz r9, 8(r25) +/* 802D0534 002CD474 81 59 00 0C */ lwz r10, 0xc(r25) +/* 802D0538 002CD478 4C C6 31 82 */ crclr 6 +/* 802D053C 002CD47C 48 01 80 8D */ bl JUTReportConsole_f +/* 802D0540 002CD480 83 39 00 0C */ lwz r25, 0xc(r25) +/* 802D0544 002CD484 3B 9C 00 01 */ addi r28, r28, 1 +lbl_802D0548: +/* 802D0548 002CD488 28 19 00 00 */ cmplwi r25, 0 +/* 802D054C 002CD48C 40 82 FF C8 */ bne lbl_802D0514 +/* 802D0550 002CD490 80 BA 00 38 */ lwz r5, 0x38(r26) +/* 802D0554 002CD494 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0558 002CD498 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D055C 002CD49C 38 63 02 6A */ addi r3, r3, 0x26a +/* 802D0560 002CD4A0 7F C4 F3 78 */ mr r4, r30 +/* 802D0564 002CD4A4 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2) +/* 802D0568 002CD4A8 C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2) +/* 802D056C 002CD4AC 93 C1 00 0C */ stw r30, 0xc(r1) +/* 802D0570 002CD4B0 3C 00 43 30 */ lis r0, 0x4330 +/* 802D0574 002CD4B4 90 01 00 08 */ stw r0, 8(r1) +/* 802D0578 002CD4B8 C8 01 00 08 */ lfd f0, 8(r1) +/* 802D057C 002CD4BC EC 20 10 28 */ fsubs f1, f0, f2 +/* 802D0580 002CD4C0 90 A1 00 14 */ stw r5, 0x14(r1) +/* 802D0584 002CD4C4 90 01 00 10 */ stw r0, 0x10(r1) +/* 802D0588 002CD4C8 C8 01 00 10 */ lfd f0, 0x10(r1) +/* 802D058C 002CD4CC EC 00 10 28 */ fsubs f0, f0, f2 +/* 802D0590 002CD4D0 EC 01 00 24 */ fdivs f0, f1, f0 +/* 802D0594 002CD4D4 EC 23 00 32 */ fmuls f1, f3, f0 +/* 802D0598 002CD4D8 7F A6 EB 78 */ mr r6, r29 +/* 802D059C 002CD4DC 7F 87 E3 78 */ mr r7, r28 +/* 802D05A0 002CD4E0 4C C6 32 42 */ crset 6 +/* 802D05A4 002CD4E4 48 01 80 25 */ bl JUTReportConsole_f +/* 802D05A8 002CD4E8 38 7A 00 18 */ addi r3, r26, 0x18 +/* 802D05AC 002CD4EC 48 06 EB 71 */ bl OSUnlockMutex +/* 802D05B0 002CD4F0 7F E3 FB 78 */ mr r3, r31 +/* 802D05B4 002CD4F4 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D05B8 002CD4F8 48 09 1C 61 */ bl func_80362218 +/* 802D05BC 002CD4FC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802D05C0 002CD500 7C 08 03 A6 */ mtlr r0 +/* 802D05C4 002CD504 38 21 00 40 */ addi r1, r1, 0x40 +/* 802D05C8 002CD508 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D05CC.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D05CC.s new file mode 100644 index 0000000000..3110df3f26 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D05CC.s @@ -0,0 +1,158 @@ +/* dump_sort__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::dump_sort(void) */ +/* missing reference */ +/* 802D05CC 002CD50C 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802D05D0 002CD510 7C 08 02 A6 */ mflr r0 +/* 802D05D4 002CD514 90 01 00 44 */ stw r0, 0x44(r1) +/* 802D05D8 002CD518 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D05DC 002CD51C 48 09 1B F1 */ bl func_803621CC +/* 802D05E0 002CD520 7C 79 1B 78 */ mr r25, r3 +/* 802D05E4 002CD524 38 79 00 18 */ addi r3, r25, 0x18 +/* 802D05E8 002CD528 48 06 EA 59 */ bl OSLockMutex +/* 802D05EC 002CD52C 7F 23 CB 78 */ mr r3, r25 +/* 802D05F0 002CD530 81 99 00 00 */ lwz r12, 0(r25) +/* 802D05F4 002CD534 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D05F8 002CD538 7D 89 03 A6 */ mtctr r12 +/* 802D05FC 002CD53C 4E 80 04 21 */ bctrl +/* 802D0600 002CD540 7C 7E 1B 78 */ mr r30, r3 +/* 802D0604 002CD544 3B A0 00 00 */ li r29, 0 +/* 802D0608 002CD548 3B 80 00 00 */ li r28, 0 +/* 802D060C 002CD54C 3B 60 00 00 */ li r27, 0 +/* 802D0610 002CD550 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0614 002CD554 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0618 002CD558 38 63 01 9D */ addi r3, r3, 0x19d +/* 802D061C 002CD55C 48 01 80 2D */ bl JUTReportConsole +/* 802D0620 002CD560 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0624 002CD564 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0628 002CD568 38 63 01 D4 */ addi r3, r3, 0x1d4 +/* 802D062C 002CD56C 48 01 80 1D */ bl JUTReportConsole +/* 802D0630 002CD570 80 19 00 80 */ lwz r0, 0x80(r25) +/* 802D0634 002CD574 28 00 00 00 */ cmplwi r0, 0 +/* 802D0638 002CD578 40 82 00 18 */ bne lbl_802D0650 +/* 802D063C 002CD57C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0640 002CD580 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0644 002CD584 38 63 01 E3 */ addi r3, r3, 0x1e3 +/* 802D0648 002CD588 48 01 80 01 */ bl JUTReportConsole +/* 802D064C 002CD58C 48 00 00 D0 */ b lbl_802D071C +lbl_802D0650: +/* 802D0650 002CD590 38 80 00 00 */ li r4, 0 +/* 802D0654 002CD594 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0658 002CD598 3B E3 CA F0 */ addi r31, r3, lbl_8039CAF0@l +lbl_802D065C: +/* 802D065C 002CD59C 3B 40 FF FF */ li r26, -1 +/* 802D0660 002CD5A0 80 79 00 80 */ lwz r3, 0x80(r25) +/* 802D0664 002CD5A4 48 00 00 1C */ b lbl_802D0680 +lbl_802D0668: +/* 802D0668 002CD5A8 7C 04 18 40 */ cmplw r4, r3 +/* 802D066C 002CD5AC 40 80 00 10 */ bge lbl_802D067C +/* 802D0670 002CD5B0 7C 03 D0 40 */ cmplw r3, r26 +/* 802D0674 002CD5B4 40 80 00 08 */ bge lbl_802D067C +/* 802D0678 002CD5B8 7C 7A 1B 78 */ mr r26, r3 +lbl_802D067C: +/* 802D067C 002CD5BC 80 63 00 0C */ lwz r3, 0xc(r3) +lbl_802D0680: +/* 802D0680 002CD5C0 28 03 00 00 */ cmplwi r3, 0 +/* 802D0684 002CD5C4 40 82 FF E4 */ bne lbl_802D0668 +/* 802D0688 002CD5C8 3C 1A 00 01 */ addis r0, r26, 1 +/* 802D068C 002CD5CC 28 00 FF FF */ cmplwi r0, 0xffff +/* 802D0690 002CD5D0 41 82 00 8C */ beq lbl_802D071C +/* 802D0694 002CD5D4 A0 1A 00 00 */ lhz r0, 0(r26) +/* 802D0698 002CD5D8 28 00 48 4D */ cmplwi r0, 0x484d +/* 802D069C 002CD5DC 41 82 00 1C */ beq lbl_802D06B8 +/* 802D06A0 002CD5E0 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D06A4 002CD5E4 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D06A8 002CD5E8 38 63 01 EA */ addi r3, r3, 0x1ea +/* 802D06AC 002CD5EC 4C C6 31 82 */ crclr 6 +/* 802D06B0 002CD5F0 48 01 7F 19 */ bl JUTReportConsole_f +/* 802D06B4 002CD5F4 48 00 00 68 */ b lbl_802D071C +lbl_802D06B8: +/* 802D06B8 002CD5F8 88 1A 00 02 */ lbz r0, 2(r26) +/* 802D06BC 002CD5FC 54 08 06 7E */ clrlwi r8, r0, 0x19 +/* 802D06C0 002CD600 38 BA 00 10 */ addi r5, r26, 0x10 +/* 802D06C4 002CD604 38 7F 02 24 */ addi r3, r31, 0x224 +/* 802D06C8 002CD608 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 +/* 802D06CC 002CD60C 38 9F 02 4F */ addi r4, r31, 0x24f +/* 802D06D0 002CD610 41 82 00 10 */ beq lbl_802D06E0 +/* 802D06D4 002CD614 3C 80 80 3A */ lis r4, lbl_8039CAF0@ha +/* 802D06D8 002CD618 38 84 CA F0 */ addi r4, r4, lbl_8039CAF0@l +/* 802D06DC 002CD61C 38 84 02 49 */ addi r4, r4, 0x249 +lbl_802D06E0: +/* 802D06E0 002CD620 80 DA 00 04 */ lwz r6, 4(r26) +/* 802D06E4 002CD624 88 FA 00 03 */ lbz r7, 3(r26) +/* 802D06E8 002CD628 81 3A 00 08 */ lwz r9, 8(r26) +/* 802D06EC 002CD62C 81 5A 00 0C */ lwz r10, 0xc(r26) +/* 802D06F0 002CD630 4C C6 31 82 */ crclr 6 +/* 802D06F4 002CD634 48 01 7E D5 */ bl JUTReportConsole_f +/* 802D06F8 002CD638 80 7A 00 04 */ lwz r3, 4(r26) +/* 802D06FC 002CD63C 88 1A 00 02 */ lbz r0, 2(r26) +/* 802D0700 002CD640 54 00 06 7E */ clrlwi r0, r0, 0x19 +/* 802D0704 002CD644 7C 03 02 14 */ add r0, r3, r0 +/* 802D0708 002CD648 7F A0 EA 14 */ add r29, r0, r29 +/* 802D070C 002CD64C 7F 44 D3 78 */ mr r4, r26 +/* 802D0710 002CD650 3B BD 00 10 */ addi r29, r29, 0x10 +/* 802D0714 002CD654 3B 9C 00 01 */ addi r28, r28, 1 +/* 802D0718 002CD658 4B FF FF 44 */ b lbl_802D065C +lbl_802D071C: +/* 802D071C 002CD65C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0720 002CD660 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0724 002CD664 38 63 02 55 */ addi r3, r3, 0x255 +/* 802D0728 002CD668 48 01 7F 21 */ bl JUTReportConsole +/* 802D072C 002CD66C 80 19 00 78 */ lwz r0, 0x78(r25) +/* 802D0730 002CD670 28 00 00 00 */ cmplwi r0, 0 +/* 802D0734 002CD674 40 82 00 14 */ bne lbl_802D0748 +/* 802D0738 002CD678 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D073C 002CD67C 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D0740 002CD680 38 63 01 E3 */ addi r3, r3, 0x1e3 +/* 802D0744 002CD684 48 01 7F 05 */ bl JUTReportConsole +lbl_802D0748: +/* 802D0748 002CD688 83 F9 00 78 */ lwz r31, 0x78(r25) +/* 802D074C 002CD68C 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D0750 002CD690 3B 43 CA F0 */ addi r26, r3, lbl_8039CAF0@l +/* 802D0754 002CD694 48 00 00 38 */ b lbl_802D078C +lbl_802D0758: +/* 802D0758 002CD698 38 7A 02 24 */ addi r3, r26, 0x224 +/* 802D075C 002CD69C 38 9A 02 64 */ addi r4, r26, 0x264 +/* 802D0760 002CD6A0 38 BF 00 10 */ addi r5, r31, 0x10 +/* 802D0764 002CD6A4 80 DF 00 04 */ lwz r6, 4(r31) +/* 802D0768 002CD6A8 88 FF 00 03 */ lbz r7, 3(r31) +/* 802D076C 002CD6AC 88 1F 00 02 */ lbz r0, 2(r31) +/* 802D0770 002CD6B0 54 08 06 7E */ clrlwi r8, r0, 0x19 +/* 802D0774 002CD6B4 81 3F 00 08 */ lwz r9, 8(r31) +/* 802D0778 002CD6B8 81 5F 00 0C */ lwz r10, 0xc(r31) +/* 802D077C 002CD6BC 4C C6 31 82 */ crclr 6 +/* 802D0780 002CD6C0 48 01 7E 49 */ bl JUTReportConsole_f +/* 802D0784 002CD6C4 83 FF 00 0C */ lwz r31, 0xc(r31) +/* 802D0788 002CD6C8 3B 7B 00 01 */ addi r27, r27, 1 +lbl_802D078C: +/* 802D078C 002CD6CC 28 1F 00 00 */ cmplwi r31, 0 +/* 802D0790 002CD6D0 40 82 FF C8 */ bne lbl_802D0758 +/* 802D0794 002CD6D4 80 B9 00 38 */ lwz r5, 0x38(r25) +/* 802D0798 002CD6D8 3C 60 80 3A */ lis r3, lbl_8039CAF0@ha +/* 802D079C 002CD6DC 38 63 CA F0 */ addi r3, r3, lbl_8039CAF0@l +/* 802D07A0 002CD6E0 38 63 02 6A */ addi r3, r3, 0x26a +/* 802D07A4 002CD6E4 7F A4 EB 78 */ mr r4, r29 +/* 802D07A8 002CD6E8 C0 62 C5 98 */ lfs f3, lbl_80455F98-_SDA2_BASE_(r2) +/* 802D07AC 002CD6EC C8 42 C5 A0 */ lfd f2, lbl_80455FA0-_SDA2_BASE_(r2) +/* 802D07B0 002CD6F0 93 A1 00 0C */ stw r29, 0xc(r1) +/* 802D07B4 002CD6F4 3C 00 43 30 */ lis r0, 0x4330 +/* 802D07B8 002CD6F8 90 01 00 08 */ stw r0, 8(r1) +/* 802D07BC 002CD6FC C8 01 00 08 */ lfd f0, 8(r1) +/* 802D07C0 002CD700 EC 20 10 28 */ fsubs f1, f0, f2 +/* 802D07C4 002CD704 90 A1 00 14 */ stw r5, 0x14(r1) +/* 802D07C8 002CD708 90 01 00 10 */ stw r0, 0x10(r1) +/* 802D07CC 002CD70C C8 01 00 10 */ lfd f0, 0x10(r1) +/* 802D07D0 002CD710 EC 00 10 28 */ fsubs f0, f0, f2 +/* 802D07D4 002CD714 EC 01 00 24 */ fdivs f0, f1, f0 +/* 802D07D8 002CD718 EC 23 00 32 */ fmuls f1, f3, f0 +/* 802D07DC 002CD71C 7F 86 E3 78 */ mr r6, r28 +/* 802D07E0 002CD720 7F 67 DB 78 */ mr r7, r27 +/* 802D07E4 002CD724 4C C6 32 42 */ crset 6 +/* 802D07E8 002CD728 48 01 7D E1 */ bl JUTReportConsole_f +/* 802D07EC 002CD72C 38 79 00 18 */ addi r3, r25, 0x18 +/* 802D07F0 002CD730 48 06 E9 2D */ bl OSUnlockMutex +/* 802D07F4 002CD734 7F C3 F3 78 */ mr r3, r30 +/* 802D07F8 002CD738 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D07FC 002CD73C 48 09 1A 1D */ bl func_80362218 +/* 802D0800 002CD740 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802D0804 002CD744 7C 08 03 A6 */ mtlr r0 +/* 802D0808 002CD748 38 21 00 40 */ addi r1, r1, 0x40 +/* 802D080C 002CD74C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0810.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0810.s new file mode 100644 index 0000000000..49a407fc4f --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0810.s @@ -0,0 +1,10 @@ +/* initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock::initiate( (__ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *, __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock *, unsigned long, unsigned char, unsigned char)) */ +/* JKRExpHeap_NS_CMemBlock_NS_initiate */ +/* 802D0810 002CD750 38 00 48 4D */ li r0, 0x484d +/* 802D0814 002CD754 B0 03 00 00 */ sth r0, 0(r3) +/* 802D0818 002CD758 99 03 00 02 */ stb r8, 2(r3) +/* 802D081C 002CD75C 98 E3 00 03 */ stb r7, 3(r3) +/* 802D0820 002CD760 90 C3 00 04 */ stw r6, 4(r3) +/* 802D0824 002CD764 90 83 00 08 */ stw r4, 8(r3) +/* 802D0828 002CD768 90 A3 00 0C */ stw r5, 0xc(r3) +/* 802D082C 002CD76C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0830.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0830.s new file mode 100644 index 0000000000..404fd81a63 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0830.s @@ -0,0 +1,20 @@ +/* allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock::allocFore( (unsigned long, unsigned char, unsigned char, unsigned char, unsigned char)) */ +/* JKRExpHeap_NS_CMemBlock_NS_allocFore */ +/* 802D0830 002CD770 39 20 00 00 */ li r9, 0 +/* 802D0834 002CD774 98 A3 00 03 */ stb r5, 3(r3) +/* 802D0838 002CD778 98 C3 00 02 */ stb r6, 2(r3) +/* 802D083C 002CD77C 80 03 00 04 */ lwz r0, 4(r3) +/* 802D0840 002CD780 38 A4 00 10 */ addi r5, r4, 0x10 +/* 802D0844 002CD784 7C 00 28 40 */ cmplw r0, r5 +/* 802D0848 002CD788 41 80 00 24 */ blt lbl_802D086C +/* 802D084C 002CD78C 7D 24 1A 14 */ add r9, r4, r3 +/* 802D0850 002CD790 98 E9 00 13 */ stb r7, 0x13(r9) +/* 802D0854 002CD794 99 09 00 12 */ stb r8, 0x12(r9) +/* 802D0858 002CD798 80 03 00 04 */ lwz r0, 4(r3) +/* 802D085C 002CD79C 7C 05 00 50 */ subf r0, r5, r0 +/* 802D0860 002CD7A0 90 09 00 14 */ stw r0, 0x14(r9) +/* 802D0864 002CD7A4 90 83 00 04 */ stw r4, 4(r3) +/* 802D0868 002CD7A8 39 29 00 10 */ addi r9, r9, 0x10 +lbl_802D086C: +/* 802D086C 002CD7AC 7D 23 4B 78 */ mr r3, r9 +/* 802D0870 002CD7B0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0874.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0874.s new file mode 100644 index 0000000000..764976336a --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0874.s @@ -0,0 +1,26 @@ +/* allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock::allocBack( (unsigned long, unsigned char, unsigned char, unsigned char, unsigned char)) */ +/* JKRExpHeap_NS_CMemBlock_NS_allocBack */ +/* 802D0874 002CD7B4 39 40 00 00 */ li r10, 0 +/* 802D0878 002CD7B8 80 03 00 04 */ lwz r0, 4(r3) +/* 802D087C 002CD7BC 39 24 00 10 */ addi r9, r4, 0x10 +/* 802D0880 002CD7C0 7C 00 48 40 */ cmplw r0, r9 +/* 802D0884 002CD7C4 41 80 00 34 */ blt lbl_802D08B8 +/* 802D0888 002CD7C8 7C 03 02 14 */ add r0, r3, r0 +/* 802D088C 002CD7CC 7D 44 00 50 */ subf r10, r4, r0 +/* 802D0890 002CD7D0 98 EA 00 03 */ stb r7, 3(r10) +/* 802D0894 002CD7D4 61 00 00 80 */ ori r0, r8, 0x80 +/* 802D0898 002CD7D8 98 0A 00 02 */ stb r0, 2(r10) +/* 802D089C 002CD7DC 90 8A 00 04 */ stw r4, 4(r10) +/* 802D08A0 002CD7E0 98 A3 00 03 */ stb r5, 3(r3) +/* 802D08A4 002CD7E4 98 C3 00 02 */ stb r6, 2(r3) +/* 802D08A8 002CD7E8 80 03 00 04 */ lwz r0, 4(r3) +/* 802D08AC 002CD7EC 7C 09 00 50 */ subf r0, r9, r0 +/* 802D08B0 002CD7F0 90 03 00 04 */ stw r0, 4(r3) +/* 802D08B4 002CD7F4 48 00 00 10 */ b lbl_802D08C4 +lbl_802D08B8: +/* 802D08B8 002CD7F8 98 E3 00 03 */ stb r7, 3(r3) +/* 802D08BC 002CD7FC 38 00 00 80 */ li r0, 0x80 +/* 802D08C0 002CD800 98 03 00 02 */ stb r0, 2(r3) +lbl_802D08C4: +/* 802D08C4 002CD804 7D 43 53 78 */ mr r3, r10 +/* 802D08C8 002CD808 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D08CC.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D08CC.s new file mode 100644 index 0000000000..2b4af029cc --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D08CC.s @@ -0,0 +1,22 @@ +/* free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock::free( (JKRExpHeap *)) */ +/* JKRExpHeap_NS_CMemBlock_NS_free */ +/* 802D08CC 002CD80C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D08D0 002CD810 7C 08 02 A6 */ mflr r0 +/* 802D08D4 002CD814 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D08D8 002CD818 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D08DC 002CD81C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D08E0 002CD820 7C 7E 1B 78 */ mr r30, r3 +/* 802D08E4 002CD824 7C 9F 23 78 */ mr r31, r4 +/* 802D08E8 002CD828 7F E3 FB 78 */ mr r3, r31 +/* 802D08EC 002CD82C 7F C4 F3 78 */ mr r4, r30 +/* 802D08F0 002CD830 4B FF F5 F9 */ bl removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802D08F4 002CD834 7F E3 FB 78 */ mr r3, r31 +/* 802D08F8 002CD838 7F C4 F3 78 */ mr r4, r30 +/* 802D08FC 002CD83C 4B FF F6 21 */ bl recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock +/* 802D0900 002CD840 38 60 00 00 */ li r3, 0 +/* 802D0904 002CD844 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0908 002CD848 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D090C 002CD84C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0910 002CD850 7C 08 03 A6 */ mtlr r0 +/* 802D0914 002CD854 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0918 002CD858 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D091C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D091C.s new file mode 100644 index 0000000000..f9a8e64396 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D091C.s @@ -0,0 +1,10 @@ +/* getHeapBlock__Q210JKRExpHeap9CMemBlockFPv __ct__10JKRExpHeapFPvUlP7JKRHeapb::CMemBlock::getHeapBlock( (void *)) */ +/* JKRExpHeap_NS_CMemBlock_NS_getHeapBlock */ +/* 802D091C 002CD85C 28 03 00 00 */ cmplwi r3, 0 +/* 802D0920 002CD860 41 82 00 10 */ beq lbl_802D0930 +/* 802D0924 002CD864 A4 03 FF F0 */ lhzu r0, -0x10(r3) +/* 802D0928 002CD868 28 00 48 4D */ cmplwi r0, 0x484d +/* 802D092C 002CD86C 4D 82 00 20 */ beqlr +lbl_802D0930: +/* 802D0930 002CD870 38 60 00 00 */ li r3, 0 +/* 802D0934 002CD874 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s new file mode 100644 index 0000000000..7be4bc642e --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s @@ -0,0 +1,50 @@ +/* state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::state_register( const(JKRHeap::TState *, unsigned long)) */ +/* missing reference */ +/* 802D0938 002CD878 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D093C 002CD87C 7C 08 02 A6 */ mflr r0 +/* 802D0940 002CD880 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0944 002CD884 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0948 002CD888 48 09 18 95 */ bl _savegpr_29 +/* 802D094C 002CD88C 7C 7D 1B 78 */ mr r29, r3 +/* 802D0950 002CD890 7C 9E 23 78 */ mr r30, r4 +/* 802D0954 002CD894 7C BF 2B 78 */ mr r31, r5 +/* 802D0958 002CD898 93 E4 00 14 */ stw r31, 0x14(r4) +/* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff +/* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974 +/* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18 +/* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc +/* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30) +/* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984 +lbl_802D0974: +/* 802D0974 002CD8B4 4B FF DE 11 */ bl getTotalFreeSize__7JKRHeapFv +/* 802D0978 002CD8B8 80 1D 00 38 */ lwz r0, 0x38(r29) +/* 802D097C 002CD8BC 7C 03 00 50 */ subf r0, r3, r0 +/* 802D0980 002CD8C0 90 1E 00 00 */ stw r0, 0(r30) +lbl_802D0984: +/* 802D0984 002CD8C4 38 60 00 00 */ li r3, 0 +/* 802D0988 002CD8C8 80 9D 00 80 */ lwz r4, 0x80(r29) +/* 802D098C 002CD8CC 48 00 00 30 */ b lbl_802D09BC +lbl_802D0990: +/* 802D0990 002CD8D0 28 1F 00 FF */ cmplwi r31, 0xff +/* 802D0994 002CD8D4 41 81 00 1C */ bgt lbl_802D09B0 +/* 802D0998 002CD8D8 88 04 00 03 */ lbz r0, 3(r4) +/* 802D099C 002CD8DC 7C 00 F8 40 */ cmplw r0, r31 +/* 802D09A0 002CD8E0 40 82 00 18 */ bne lbl_802D09B8 +/* 802D09A4 002CD8E4 1C 04 00 03 */ mulli r0, r4, 3 +/* 802D09A8 002CD8E8 7C 63 02 14 */ add r3, r3, r0 +/* 802D09AC 002CD8EC 48 00 00 0C */ b lbl_802D09B8 +lbl_802D09B0: +/* 802D09B0 002CD8F0 1C 04 00 03 */ mulli r0, r4, 3 +/* 802D09B4 002CD8F4 7C 63 02 14 */ add r3, r3, r0 +lbl_802D09B8: +/* 802D09B8 002CD8F8 80 84 00 0C */ lwz r4, 0xc(r4) +lbl_802D09BC: +/* 802D09BC 002CD8FC 28 04 00 00 */ cmplwi r4, 0 +/* 802D09C0 002CD900 40 82 FF D0 */ bne lbl_802D0990 +/* 802D09C4 002CD904 90 7E 00 04 */ stw r3, 4(r30) +/* 802D09C8 002CD908 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D09CC 002CD90C 48 09 18 5D */ bl _restgpr_29 +/* 802D09D0 002CD910 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D09D4 002CD914 7C 08 03 A6 */ mtlr r0 +/* 802D09D8 002CD918 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D09DC 002CD91C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D09E0.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D09E0.s new file mode 100644 index 0000000000..8d2025645d --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D09E0.s @@ -0,0 +1,15 @@ +/* state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState __ct__10JKRExpHeapFPvUlP7JKRHeapb::state_compare( const(JKRHeap::TState const &, JKRHeap::TState const &)) */ +/* missing reference */ +/* 802D09E0 002CD920 38 60 00 01 */ li r3, 1 +/* 802D09E4 002CD924 80 C4 00 04 */ lwz r6, 4(r4) +/* 802D09E8 002CD928 80 05 00 04 */ lwz r0, 4(r5) +/* 802D09EC 002CD92C 7C 06 00 40 */ cmplw r6, r0 +/* 802D09F0 002CD930 41 82 00 08 */ beq lbl_802D09F8 +/* 802D09F4 002CD934 38 60 00 00 */ li r3, 0 +lbl_802D09F8: +/* 802D09F8 002CD938 80 84 00 00 */ lwz r4, 0(r4) +/* 802D09FC 002CD93C 80 05 00 00 */ lwz r0, 0(r5) +/* 802D0A00 002CD940 7C 04 00 40 */ cmplw r4, r0 +/* 802D0A04 002CD944 4D 82 00 20 */ beqlr +/* 802D0A08 002CD948 38 60 00 00 */ li r3, 0 +/* 802D0A0C 002CD94C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A10.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A10.s new file mode 100644 index 0000000000..477f88ac84 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A10.s @@ -0,0 +1,5 @@ +/* getHeapType__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::getHeapType(void) */ +/* missing reference */ +/* 802D0A10 002CD950 3C 60 45 58 */ lis r3, 0x45585048@ha +/* 802D0A14 002CD954 38 63 50 48 */ addi r3, r3, 0x45585048@l +/* 802D0A18 002CD958 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A1C.s b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A1C.s new file mode 100644 index 0000000000..89bab43678 --- /dev/null +++ b/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0A1C.s @@ -0,0 +1,4 @@ +/* do_getCurrentGroupId__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_getCurrentGroupId(void) */ +/* missing reference */ +/* 802D0A1C 002CD95C 88 63 00 6D */ lbz r3, 0x6d(r3) +/* 802D0A20 002CD960 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFile/JKRFile.h b/include/JSystem/JKernel/JKRFile/JKRFile.h new file mode 100644 index 0000000000..3594b48126 --- /dev/null +++ b/include/JSystem/JKernel/JKRFile/JKRFile.h @@ -0,0 +1,26 @@ +#ifndef __JKRFILE_H__ +#define __JKRFILE_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" + +class JKRFile : public JKRDisposer { + public: + JKRFile(); + virtual ~JKRFile(); + + virtual bool open(const char*); + virtual void close(); + virtual void readData(void*, long, long); + virtual s32 writeData(const void*, long, long); + virtual s32 getFileSize(); + virtual bool open(long); + + s32 read(void*, long, long); + + private: + bool mIsOpen; + u8 field_0x19[3]; +}; + +#endif diff --git a/asm/JKernel/JKRFile.s b/include/JSystem/JKernel/JKRFile/asm/func_802D9518.s similarity index 87% rename from asm/JKernel/JKRFile.s rename to include/JSystem/JKernel/JKRFile/asm/func_802D9518.s index 2111624b1a..e992b76634 100644 --- a/asm/JKernel/JKRFile.s +++ b/include/JSystem/JKernel/JKRFile/asm/func_802D9518.s @@ -1,10 +1,5 @@ -.include "macros.inc" - -.section .text, "ax" # 802d9518 - - -.global JKRFile_NS_read -JKRFile_NS_read: +/* read__7JKRFileFPvll JKRFile::read(void *, long, long) */ +/* JKRFile_NS_read */ /* 802D9518 002D6458 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D951C 002D645C 7C 08 02 A6 */ mflr r0 /* 802D9520 002D6460 90 01 00 24 */ stw r0, 0x24(r1) @@ -22,7 +17,7 @@ lbl_802D953C: /* 802D954C 002D648C 81 9C 00 00 */ lwz r12, 0(r28) /* 802D9550 002D6490 81 8C 00 14 */ lwz r12, 0x14(r12) /* 802D9554 002D6494 7D 89 03 A6 */ mtctr r12 -/* 802D9558 002D6498 4E 80 04 21 */ bctrl +/* 802D9558 002D6498 4E 80 04 21 */ bctrl /* 802D955C 002D649C 7C 1E 18 00 */ cmpw r30, r3 /* 802D9560 002D64A0 41 82 00 0C */ beq lbl_802D956C /* 802D9564 002D64A4 48 07 34 61 */ bl VIWaitForRetrace @@ -33,5 +28,4 @@ lbl_802D956C: /* 802D9574 002D64B4 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D9578 002D64B8 7C 08 03 A6 */ mtlr r0 /* 802D957C 002D64BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D9580 002D64C0 4E 80 00 20 */ blr - +/* 802D9580 002D64C0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/JKRFileCache.h b/include/JSystem/JKernel/JKRFileCache/JKRFileCache.h new file mode 100644 index 0000000000..7cbc14d0de --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/JKRFileCache.h @@ -0,0 +1,50 @@ +#ifndef __JKRFILECACHE_H__ +#define __JKRFILECACHE_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h" + +class JKRHeap; +class JKRFileCache : public JKRFileLoader { + public: + class CCacheBlock { + public: + CCacheBlock(unsigned long, unsigned long, void const*); + }; + + static void mount(char const*, JKRHeap*, char const*); + + public: + JKRFileCache(char const*, char const*); + virtual ~JKRFileCache(); + + void becomeCurrent(char const*); + void getResource(char const*); + void getResource(unsigned long, char const*); + void readResource(void*, unsigned long, char const*); + void readResource(void*, unsigned long, unsigned long, char const*); + void removeResourceAll(void); + void removeResource(void*); + void detachResource(void*); + void getResSize(void const*) const; + void countFile(char const*) const; + void getFirstFile(char const*) const; + void findCacheBlock(void const*) const; + void findCacheBlock(unsigned long) const; + void findFile(char*, char const*) const; + void getDvdPathName(char const*) const; + void convStrLower(char*) const; + void getFsResource(char const*); + void getNameResource(unsigned long, char const*); + void readFsResource(void*, unsigned long, char const*); + void readNameResource(void*, unsigned long, unsigned long, char const*); + + private: + JKRHeap* mParentHeap; + JSUList mCacheBlockList; + char* field_0x40; + char* field_0x4c; + char* field_0x50; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s new file mode 100644 index 0000000000..4275efb307 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s @@ -0,0 +1,73 @@ + +/* 802D49B4 002D18F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D49B8 002D18F8 7C 08 02 A6 */ mflr r0 +/* 802D49BC 002D18FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D49C0 002D1900 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D49C4 002D1904 48 08 D8 11 */ bl _savegpr_27 +/* 802D49C8 002D1908 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D49CC 002D190C 7C 9B 23 78 */ mr r27, r4 +/* 802D49D0 002D1910 7C BF 2B 78 */ mr r31, r5 +/* 802D49D4 002D1914 41 82 00 10 */ beq lbl_802D49E4 +/* 802D49D8 002D1918 88 1E 00 00 */ lbz r0, 0(r30) +/* 802D49DC 002D191C 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D49E0 002D1920 41 82 00 0C */ beq lbl_802D49EC +lbl_802D49E4: +/* 802D49E4 002D1924 38 60 00 00 */ li r3, 0 +/* 802D49E8 002D1928 48 00 00 B4 */ b lbl_802D4A9C +lbl_802D49EC: +/* 802D49EC 002D192C 48 09 41 F9 */ bl func_80368BE4 +/* 802D49F0 002D1930 28 03 00 01 */ cmplwi r3, 1 +/* 802D49F4 002D1934 41 82 00 1C */ beq lbl_802D4A10 +/* 802D49F8 002D1938 7C 7E 1A 14 */ add r3, r30, r3 +/* 802D49FC 002D193C 88 03 FF FF */ lbz r0, -1(r3) +/* 802D4A00 002D1940 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D4A04 002D1944 40 82 00 0C */ bne lbl_802D4A10 +/* 802D4A08 002D1948 38 60 00 00 */ li r3, 0 +/* 802D4A0C 002D194C 48 00 00 90 */ b lbl_802D4A9C +lbl_802D4A10: +/* 802D4A10 002D1950 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D4A14 002D1954 83 A3 43 54 */ lwz r29, lbl_80434354@l(r3) +/* 802D4A18 002D1958 48 00 00 50 */ b lbl_802D4A68 +lbl_802D4A1C: +/* 802D4A1C 002D195C 80 9D 00 00 */ lwz r4, 0(r29) +/* 802D4A20 002D1960 80 64 00 2C */ lwz r3, 0x2c(r4) +/* 802D4A24 002D1964 3C 03 BC BF */ addis r0, r3, 0xbcbf +/* 802D4A28 002D1968 28 00 53 48 */ cmplwi r0, 0x5348 +/* 802D4A2C 002D196C 40 82 00 38 */ bne lbl_802D4A64 +/* 802D4A30 002D1970 7C 9C 23 78 */ mr r28, r4 +/* 802D4A34 002D1974 80 64 00 48 */ lwz r3, 0x48(r4) +/* 802D4A38 002D1978 28 03 00 00 */ cmplwi r3, 0 +/* 802D4A3C 002D197C 41 82 00 28 */ beq lbl_802D4A64 +/* 802D4A40 002D1980 7F C4 F3 78 */ mr r4, r30 +/* 802D4A44 002D1984 48 09 3F 51 */ bl strcmp +/* 802D4A48 002D1988 2C 03 00 00 */ cmpwi r3, 0 +/* 802D4A4C 002D198C 40 82 00 18 */ bne lbl_802D4A64 +/* 802D4A50 002D1990 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 802D4A54 002D1994 38 03 00 01 */ addi r0, r3, 1 +/* 802D4A58 002D1998 90 1C 00 34 */ stw r0, 0x34(r28) +/* 802D4A5C 002D199C 7F 83 E3 78 */ mr r3, r28 +/* 802D4A60 002D19A0 48 00 00 3C */ b lbl_802D4A9C +lbl_802D4A64: +/* 802D4A64 002D19A4 83 BD 00 0C */ lwz r29, 0xc(r29) +lbl_802D4A68: +/* 802D4A68 002D19A8 28 1D 00 00 */ cmplwi r29, 0 +/* 802D4A6C 002D19AC 40 82 FF B0 */ bne lbl_802D4A1C +/* 802D4A70 002D19B0 38 60 00 54 */ li r3, 0x54 +/* 802D4A74 002D19B4 7F 64 DB 78 */ mr r4, r27 +/* 802D4A78 002D19B8 38 A0 00 00 */ li r5, 0 +/* 802D4A7C 002D19BC 4B FF A2 1D */ bl __nw__FUlP7JKRHeapi +/* 802D4A80 002D19C0 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D4A84 002D19C4 41 82 00 14 */ beq lbl_802D4A98 +/* 802D4A88 002D19C8 7F C4 F3 78 */ mr r4, r30 +/* 802D4A8C 002D19CC 7F E5 FB 78 */ mr r5, r31 +/* 802D4A90 002D19D0 48 00 00 25 */ bl __ct__12JKRFileCacheFPCcPCc +/* 802D4A94 002D19D4 7C 60 1B 78 */ mr r0, r3 +lbl_802D4A98: +/* 802D4A98 002D19D8 7C 03 03 78 */ mr r3, r0 +lbl_802D4A9C: +/* 802D4A9C 002D19DC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D4AA0 002D19E0 48 08 D7 81 */ bl _restgpr_27 +/* 802D4AA4 002D19E4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4AA8 002D19E8 7C 08 03 A6 */ mtlr r0 +/* 802D4AAC 002D19EC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D4AB0 002D19F0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s new file mode 100644 index 0000000000..03aacb0e2e --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s @@ -0,0 +1,117 @@ +/* __ct__12JKRFileCacheFPCcPCc __ct__12JKRFileCacheFPCcPCc::__ct(char const *, char const *) */ +/* JKRFileCache */ +/* 802D4AB4 002D19F4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D4AB8 002D19F8 7C 08 02 A6 */ mflr r0 +/* 802D4ABC 002D19FC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D4AC0 002D1A00 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D4AC4 002D1A04 48 08 D7 15 */ bl _savegpr_28 +/* 802D4AC8 002D1A08 7C 7F 1B 78 */ mr r31, r3 +/* 802D4ACC 002D1A0C 7C 9C 23 78 */ mr r28, r4 +/* 802D4AD0 002D1A10 7C BD 2B 78 */ mr r29, r5 +/* 802D4AD4 002D1A14 4B FF F6 1D */ bl __ct__13JKRFileLoaderFv +/* 802D4AD8 002D1A18 3C 60 80 3D */ lis r3, lbl_803CC238@ha +/* 802D4ADC 002D1A1C 38 03 C2 38 */ addi r0, r3, lbl_803CC238@l +/* 802D4AE0 002D1A20 90 1F 00 00 */ stw r0, 0(r31) +/* 802D4AE4 002D1A24 38 7F 00 3C */ addi r3, r31, 0x3c +/* 802D4AE8 002D1A28 48 00 74 2D */ bl initiate__10JSUPtrListFv +/* 802D4AEC 002D1A2C 7F E3 FB 78 */ mr r3, r31 +/* 802D4AF0 002D1A30 4B FF 9D 4D */ bl findFromRoot__7JKRHeapFPv +/* 802D4AF4 002D1A34 90 7F 00 38 */ stw r3, 0x38(r31) +/* 802D4AF8 002D1A38 38 00 00 01 */ li r0, 1 +/* 802D4AFC 002D1A3C 90 1F 00 34 */ stw r0, 0x34(r31) +/* 802D4B00 002D1A40 3C 60 43 41 */ lis r3, 0x43415348@ha +/* 802D4B04 002D1A44 38 03 53 48 */ addi r0, r3, 0x43415348@l +/* 802D4B08 002D1A48 90 1F 00 2C */ stw r0, 0x2c(r31) +/* 802D4B0C 002D1A4C 7F 83 E3 78 */ mr r3, r28 +/* 802D4B10 002D1A50 48 09 40 D5 */ bl func_80368BE4 +/* 802D4B14 002D1A54 7C 7E 1B 78 */ mr r30, r3 +/* 802D4B18 002D1A58 38 7E 00 01 */ addi r3, r30, 1 +/* 802D4B1C 002D1A5C 38 80 00 01 */ li r4, 1 +/* 802D4B20 002D1A60 80 BF 00 38 */ lwz r5, 0x38(r31) +/* 802D4B24 002D1A64 4B FF 99 51 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D4B28 002D1A68 90 7F 00 48 */ stw r3, 0x48(r31) +/* 802D4B2C 002D1A6C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4B30 002D1A70 38 9E 00 02 */ addi r4, r30, 2 +/* 802D4B34 002D1A74 38 A0 00 01 */ li r5, 1 +/* 802D4B38 002D1A78 4B FF 99 9D */ bl alloc__7JKRHeapFUli +/* 802D4B3C 002D1A7C 90 7F 00 4C */ stw r3, 0x4c(r31) +/* 802D4B40 002D1A80 80 7F 00 48 */ lwz r3, 0x48(r31) +/* 802D4B44 002D1A84 7F 84 E3 78 */ mr r4, r28 +/* 802D4B48 002D1A88 48 09 3F E5 */ bl strcpy +/* 802D4B4C 002D1A8C 80 7F 00 4C */ lwz r3, 0x4c(r31) +/* 802D4B50 002D1A90 7F 84 E3 78 */ mr r4, r28 +/* 802D4B54 002D1A94 48 09 3F D9 */ bl strcpy +/* 802D4B58 002D1A98 88 1C 00 01 */ lbz r0, 1(r28) +/* 802D4B5C 002D1A9C 7C 00 07 75 */ extsb. r0, r0 +/* 802D4B60 002D1AA0 41 82 00 88 */ beq lbl_802D4BE8 +/* 802D4B64 002D1AA4 7F E3 FB 78 */ mr r3, r31 +/* 802D4B68 002D1AA8 80 9F 00 48 */ lwz r4, 0x48(r31) +/* 802D4B6C 002D1AAC 48 00 0A B9 */ bl convStrLower__12JKRFileCacheCFPc +/* 802D4B70 002D1AB0 7F E3 FB 78 */ mr r3, r31 +/* 802D4B74 002D1AB4 80 9F 00 4C */ lwz r4, 0x4c(r31) +/* 802D4B78 002D1AB8 48 00 0A AD */ bl convStrLower__12JKRFileCacheCFPc +/* 802D4B7C 002D1ABC 80 7F 00 4C */ lwz r3, 0x4c(r31) +/* 802D4B80 002D1AC0 3C 80 80 3A */ lis r4, lbl_8039D158@ha +/* 802D4B84 002D1AC4 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l +/* 802D4B88 002D1AC8 48 09 3F 35 */ bl func_80368ABC +/* 802D4B8C 002D1ACC 7F BE EB 78 */ mr r30, r29 +/* 802D4B90 002D1AD0 28 1D 00 00 */ cmplwi r29, 0 +/* 802D4B94 002D1AD4 40 82 00 14 */ bne lbl_802D4BA8 +/* 802D4B98 002D1AD8 80 7F 00 48 */ lwz r3, 0x48(r31) +/* 802D4B9C 002D1ADC 38 80 00 2F */ li r4, 0x2f +/* 802D4BA0 002D1AE0 48 09 3D 3D */ bl func_803688DC +/* 802D4BA4 002D1AE4 3B C3 00 01 */ addi r30, r3, 1 +lbl_802D4BA8: +/* 802D4BA8 002D1AE8 7F C3 F3 78 */ mr r3, r30 +/* 802D4BAC 002D1AEC 48 09 40 39 */ bl func_80368BE4 +/* 802D4BB0 002D1AF0 38 83 00 01 */ addi r4, r3, 1 +/* 802D4BB4 002D1AF4 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4BB8 002D1AF8 38 A0 00 00 */ li r5, 0 +/* 802D4BBC 002D1AFC 4B FF 99 19 */ bl alloc__7JKRHeapFUli +/* 802D4BC0 002D1B00 90 7F 00 50 */ stw r3, 0x50(r31) +/* 802D4BC4 002D1B04 80 7F 00 50 */ lwz r3, 0x50(r31) +/* 802D4BC8 002D1B08 7F C4 F3 78 */ mr r4, r30 +/* 802D4BCC 002D1B0C 48 09 3F 61 */ bl strcpy +/* 802D4BD0 002D1B10 7F E3 FB 78 */ mr r3, r31 +/* 802D4BD4 002D1B14 80 9F 00 50 */ lwz r4, 0x50(r31) +/* 802D4BD8 002D1B18 48 00 0A 4D */ bl convStrLower__12JKRFileCacheCFPc +/* 802D4BDC 002D1B1C 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 802D4BE0 002D1B20 90 1F 00 28 */ stw r0, 0x28(r31) +/* 802D4BE4 002D1B24 48 00 00 58 */ b lbl_802D4C3C +lbl_802D4BE8: +/* 802D4BE8 002D1B28 7F BE EB 78 */ mr r30, r29 +/* 802D4BEC 002D1B2C 28 1D 00 00 */ cmplwi r29, 0 +/* 802D4BF0 002D1B30 40 82 00 10 */ bne lbl_802D4C00 +/* 802D4BF4 002D1B34 3C 60 80 3A */ lis r3, lbl_8039D158@ha +/* 802D4BF8 002D1B38 38 63 D1 58 */ addi r3, r3, lbl_8039D158@l +/* 802D4BFC 002D1B3C 3B C3 00 02 */ addi r30, r3, 2 +lbl_802D4C00: +/* 802D4C00 002D1B40 7F C3 F3 78 */ mr r3, r30 +/* 802D4C04 002D1B44 48 09 3F E1 */ bl func_80368BE4 +/* 802D4C08 002D1B48 38 83 00 01 */ addi r4, r3, 1 +/* 802D4C0C 002D1B4C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4C10 002D1B50 38 A0 00 00 */ li r5, 0 +/* 802D4C14 002D1B54 4B FF 98 C1 */ bl alloc__7JKRHeapFUli +/* 802D4C18 002D1B58 90 7F 00 50 */ stw r3, 0x50(r31) +/* 802D4C1C 002D1B5C 80 7F 00 50 */ lwz r3, 0x50(r31) +/* 802D4C20 002D1B60 7F C4 F3 78 */ mr r4, r30 +/* 802D4C24 002D1B64 48 09 3F 09 */ bl strcpy +/* 802D4C28 002D1B68 7F E3 FB 78 */ mr r3, r31 +/* 802D4C2C 002D1B6C 80 9F 00 50 */ lwz r4, 0x50(r31) +/* 802D4C30 002D1B70 48 00 09 F5 */ bl convStrLower__12JKRFileCacheCFPc +/* 802D4C34 002D1B74 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 802D4C38 002D1B78 90 1F 00 28 */ stw r0, 0x28(r31) +lbl_802D4C3C: +/* 802D4C3C 002D1B7C 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D4C40 002D1B80 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D4C44 002D1B84 38 9F 00 18 */ addi r4, r31, 0x18 +/* 802D4C48 002D1B88 48 00 73 A9 */ bl prepend__10JSUPtrListFP10JSUPtrLink +/* 802D4C4C 002D1B8C 38 00 00 01 */ li r0, 1 +/* 802D4C50 002D1B90 98 1F 00 30 */ stb r0, 0x30(r31) +/* 802D4C54 002D1B94 7F E3 FB 78 */ mr r3, r31 +/* 802D4C58 002D1B98 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D4C5C 002D1B9C 48 08 D5 C9 */ bl _restgpr_28 +/* 802D4C60 002D1BA0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4C64 002D1BA4 7C 08 03 A6 */ mtlr r0 +/* 802D4C68 002D1BA8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D4C6C 002D1BAC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s new file mode 100644 index 0000000000..860b0a726e --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s @@ -0,0 +1,60 @@ +/* __dt__12JKRFileCacheFv __ct__12JKRFileCacheFPCcPCc::__dt(void) */ +/* missing reference */ +/* 802D4C70 002D1BB0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D4C74 002D1BB4 7C 08 02 A6 */ mflr r0 +/* 802D4C78 002D1BB8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4C7C 002D1BBC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4C80 002D1BC0 93 C1 00 08 */ stw r30, 8(r1) +/* 802D4C84 002D1BC4 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D4C88 002D1BC8 7C 9F 23 78 */ mr r31, r4 +/* 802D4C8C 002D1BCC 41 82 00 9C */ beq lbl_802D4D28 +/* 802D4C90 002D1BD0 3C 80 80 3D */ lis r4, lbl_803CC238@ha +/* 802D4C94 002D1BD4 38 04 C2 38 */ addi r0, r4, lbl_803CC238@l +/* 802D4C98 002D1BD8 90 1E 00 00 */ stw r0, 0(r30) +/* 802D4C9C 002D1BDC 81 83 00 00 */ lwz r12, 0(r3) +/* 802D4CA0 002D1BE0 81 8C 00 24 */ lwz r12, 0x24(r12) +/* 802D4CA4 002D1BE4 7D 89 03 A6 */ mtctr r12 +/* 802D4CA8 002D1BE8 4E 80 04 21 */ bctrl +/* 802D4CAC 002D1BEC 80 7E 00 48 */ lwz r3, 0x48(r30) +/* 802D4CB0 002D1BF0 28 03 00 00 */ cmplwi r3, 0 +/* 802D4CB4 002D1BF4 41 82 00 0C */ beq lbl_802D4CC0 +/* 802D4CB8 002D1BF8 80 9E 00 38 */ lwz r4, 0x38(r30) +/* 802D4CBC 002D1BFC 4B FF 98 45 */ bl free__7JKRHeapFPvP7JKRHeap +lbl_802D4CC0: +/* 802D4CC0 002D1C00 80 9E 00 4C */ lwz r4, 0x4c(r30) +/* 802D4CC4 002D1C04 28 04 00 00 */ cmplwi r4, 0 +/* 802D4CC8 002D1C08 41 82 00 0C */ beq lbl_802D4CD4 +/* 802D4CCC 002D1C0C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4CD0 002D1C10 4B FF 98 79 */ bl free__7JKRHeapFPv +lbl_802D4CD4: +/* 802D4CD4 002D1C14 80 9E 00 50 */ lwz r4, 0x50(r30) +/* 802D4CD8 002D1C18 28 04 00 00 */ cmplwi r4, 0 +/* 802D4CDC 002D1C1C 41 82 00 0C */ beq lbl_802D4CE8 +/* 802D4CE0 002D1C20 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4CE4 002D1C24 4B FF 98 65 */ bl free__7JKRHeapFPv +lbl_802D4CE8: +/* 802D4CE8 002D1C28 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D4CEC 002D1C2C 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D4CF0 002D1C30 38 9E 00 18 */ addi r4, r30, 0x18 +/* 802D4CF4 002D1C34 48 00 74 69 */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D4CF8 002D1C38 34 1E 00 3C */ addic. r0, r30, 0x3c +/* 802D4CFC 002D1C3C 41 82 00 10 */ beq lbl_802D4D0C +/* 802D4D00 002D1C40 38 7E 00 3C */ addi r3, r30, 0x3c +/* 802D4D04 002D1C44 38 80 00 00 */ li r4, 0 +/* 802D4D08 002D1C48 48 00 71 A5 */ bl __dt__10JSUPtrListFv +lbl_802D4D0C: +/* 802D4D0C 002D1C4C 7F C3 F3 78 */ mr r3, r30 +/* 802D4D10 002D1C50 38 80 00 00 */ li r4, 0 +/* 802D4D14 002D1C54 4B FF F4 35 */ bl __dt__13JKRFileLoaderFv +/* 802D4D18 002D1C58 7F E0 07 35 */ extsh. r0, r31 +/* 802D4D1C 002D1C5C 40 81 00 0C */ ble lbl_802D4D28 +/* 802D4D20 002D1C60 7F C3 F3 78 */ mr r3, r30 +/* 802D4D24 002D1C64 4B FF A0 19 */ bl __dl__FPv +lbl_802D4D28: +/* 802D4D28 002D1C68 7F C3 F3 78 */ mr r3, r30 +/* 802D4D2C 002D1C6C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4D30 002D1C70 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D4D34 002D1C74 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D4D38 002D1C78 7C 08 03 A6 */ mtlr r0 +/* 802D4D3C 002D1C7C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4D40 002D1C80 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s new file mode 100644 index 0000000000..1ec0f9ae31 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s @@ -0,0 +1,41 @@ +/* becomeCurrent__12JKRFileCacheFPCc __ct__12JKRFileCacheFPCcPCc::becomeCurrent(char const *) */ +/* missing reference */ +/* 802D4D44 002D1C84 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D4D48 002D1C88 7C 08 02 A6 */ mflr r0 +/* 802D4D4C 002D1C8C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D4D50 002D1C90 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D4D54 002D1C94 48 08 D4 89 */ bl _savegpr_29 +/* 802D4D58 002D1C98 7C 7D 1B 78 */ mr r29, r3 +/* 802D4D5C 002D1C9C 48 00 07 C1 */ bl getDvdPathName__12JKRFileCacheCFPCc +/* 802D4D60 002D1CA0 7C 7F 1B 78 */ mr r31, r3 +/* 802D4D64 002D1CA4 48 07 3F 91 */ bl DVDChangeDir +/* 802D4D68 002D1CA8 30 03 FF FF */ addic r0, r3, -1 +/* 802D4D6C 002D1CAC 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D4D70 002D1CB0 54 00 06 3F */ clrlwi. r0, r0, 0x18 +/* 802D4D74 002D1CB4 7C 1E 03 78 */ mr r30, r0 +/* 802D4D78 002D1CB8 41 82 00 38 */ beq lbl_802D4DB0 +/* 802D4D7C 002D1CBC 93 AD 8E 98 */ stw r29, lbl_80451418-_SDA_BASE_(r13) +/* 802D4D80 002D1CC0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4D84 002D1CC4 80 9D 00 4C */ lwz r4, 0x4c(r29) +/* 802D4D88 002D1CC8 4B FF 97 C1 */ bl free__7JKRHeapFPv +/* 802D4D8C 002D1CCC 93 FD 00 4C */ stw r31, 0x4c(r29) +/* 802D4D90 002D1CD0 80 7D 00 4C */ lwz r3, 0x4c(r29) +/* 802D4D94 002D1CD4 88 03 00 01 */ lbz r0, 1(r3) +/* 802D4D98 002D1CD8 7C 00 07 75 */ extsb. r0, r0 +/* 802D4D9C 002D1CDC 41 82 00 20 */ beq lbl_802D4DBC +/* 802D4DA0 002D1CE0 3C 80 80 3A */ lis r4, lbl_8039D158@ha +/* 802D4DA4 002D1CE4 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l +/* 802D4DA8 002D1CE8 48 09 3D 15 */ bl func_80368ABC +/* 802D4DAC 002D1CEC 48 00 00 10 */ b lbl_802D4DBC +lbl_802D4DB0: +/* 802D4DB0 002D1CF0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4DB4 002D1CF4 7F E4 FB 78 */ mr r4, r31 +/* 802D4DB8 002D1CF8 4B FF 97 91 */ bl free__7JKRHeapFPv +lbl_802D4DBC: +/* 802D4DBC 002D1CFC 7F C3 F3 78 */ mr r3, r30 +/* 802D4DC0 002D1D00 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D4DC4 002D1D04 48 08 D4 65 */ bl _restgpr_29 +/* 802D4DC8 002D1D08 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4DCC 002D1D0C 7C 08 03 A6 */ mtlr r0 +/* 802D4DD0 002D1D10 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D4DD4 002D1D14 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s new file mode 100644 index 0000000000..abfc3e21b8 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s @@ -0,0 +1,70 @@ +/* getResource__12JKRFileCacheFPCc __ct__12JKRFileCacheFPCcPCc::getResource(char const *) */ +/* missing reference */ +/* 802D4DD8 002D1D18 94 21 FE F0 */ stwu r1, -0x110(r1) +/* 802D4DDC 002D1D1C 7C 08 02 A6 */ mflr r0 +/* 802D4DE0 002D1D20 90 01 01 14 */ stw r0, 0x114(r1) +/* 802D4DE4 002D1D24 39 61 01 10 */ addi r11, r1, 0x110 +/* 802D4DE8 002D1D28 48 08 D3 F1 */ bl _savegpr_28 +/* 802D4DEC 002D1D2C 7C 7C 1B 78 */ mr r28, r3 +/* 802D4DF0 002D1D30 3B E0 00 00 */ li r31, 0 +/* 802D4DF4 002D1D34 48 00 07 29 */ bl getDvdPathName__12JKRFileCacheCFPCc +/* 802D4DF8 002D1D38 7C 7E 1B 78 */ mr r30, r3 +/* 802D4DFC 002D1D3C 38 61 00 08 */ addi r3, r1, 8 +/* 802D4E00 002D1D40 7F C4 F3 78 */ mr r4, r30 +/* 802D4E04 002D1D44 48 00 47 F5 */ bl __ct__10JKRDvdFileFPCc +/* 802D4E08 002D1D48 88 01 00 20 */ lbz r0, 0x20(r1) +/* 802D4E0C 002D1D4C 28 00 00 00 */ cmplwi r0, 0 +/* 802D4E10 002D1D50 41 82 00 98 */ beq lbl_802D4EA8 +/* 802D4E14 002D1D54 7F 83 E3 78 */ mr r3, r28 +/* 802D4E18 002D1D58 80 81 00 94 */ lwz r4, 0x94(r1) +/* 802D4E1C 002D1D5C 48 00 05 C9 */ bl findCacheBlock__12JKRFileCacheCFUl +/* 802D4E20 002D1D60 28 03 00 00 */ cmplwi r3, 0 +/* 802D4E24 002D1D64 40 82 00 74 */ bne lbl_802D4E98 +/* 802D4E28 002D1D68 80 61 00 98 */ lwz r3, 0x98(r1) +/* 802D4E2C 002D1D6C 38 03 00 1F */ addi r0, r3, 0x1f +/* 802D4E30 002D1D70 54 1D 00 34 */ rlwinm r29, r0, 0, 0, 0x1a +/* 802D4E34 002D1D74 7F A3 EB 78 */ mr r3, r29 +/* 802D4E38 002D1D78 38 80 00 20 */ li r4, 0x20 +/* 802D4E3C 002D1D7C 80 BC 00 38 */ lwz r5, 0x38(r28) +/* 802D4E40 002D1D80 4B FF 96 35 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D4E44 002D1D84 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D4E48 002D1D88 41 82 00 60 */ beq lbl_802D4EA8 +/* 802D4E4C 002D1D8C 38 61 00 08 */ addi r3, r1, 8 +/* 802D4E50 002D1D90 7F E4 FB 78 */ mr r4, r31 +/* 802D4E54 002D1D94 7F A5 EB 78 */ mr r5, r29 +/* 802D4E58 002D1D98 38 C0 00 00 */ li r6, 0 +/* 802D4E5C 002D1D9C 48 00 46 BD */ bl read__7JKRFileFPvll +/* 802D4E60 002D1DA0 38 60 00 20 */ li r3, 0x20 +/* 802D4E64 002D1DA4 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D4E68 002D1DA8 38 A0 00 00 */ li r5, 0 +/* 802D4E6C 002D1DAC 4B FF 9E 2D */ bl __nw__FUlP7JKRHeapi +/* 802D4E70 002D1DB0 7C 64 1B 79 */ or. r4, r3, r3 +/* 802D4E74 002D1DB4 41 82 00 18 */ beq lbl_802D4E8C +/* 802D4E78 002D1DB8 80 81 00 94 */ lwz r4, 0x94(r1) +/* 802D4E7C 002D1DBC 80 A1 00 98 */ lwz r5, 0x98(r1) +/* 802D4E80 002D1DC0 7F E6 FB 78 */ mr r6, r31 +/* 802D4E84 002D1DC4 48 00 07 E9 */ bl __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv +/* 802D4E88 002D1DC8 7C 64 1B 78 */ mr r4, r3 +lbl_802D4E8C: +/* 802D4E8C 002D1DCC 38 7C 00 3C */ addi r3, r28, 0x3c +/* 802D4E90 002D1DD0 48 00 70 BD */ bl append__10JSUPtrListFP10JSUPtrLink +/* 802D4E94 002D1DD4 48 00 00 14 */ b lbl_802D4EA8 +lbl_802D4E98: +/* 802D4E98 002D1DD8 80 83 00 10 */ lwz r4, 0x10(r3) +/* 802D4E9C 002D1DDC 38 04 00 01 */ addi r0, r4, 1 +/* 802D4EA0 002D1DE0 90 03 00 10 */ stw r0, 0x10(r3) +/* 802D4EA4 002D1DE4 83 E3 00 1C */ lwz r31, 0x1c(r3) +lbl_802D4EA8: +/* 802D4EA8 002D1DE8 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D4EAC 002D1DEC 7F C4 F3 78 */ mr r4, r30 +/* 802D4EB0 002D1DF0 4B FF 96 99 */ bl free__7JKRHeapFPv +/* 802D4EB4 002D1DF4 38 61 00 08 */ addi r3, r1, 8 +/* 802D4EB8 002D1DF8 38 80 FF FF */ li r4, -1 +/* 802D4EBC 002D1DFC 48 00 48 8D */ bl __dt__10JKRDvdFileFv +/* 802D4EC0 002D1E00 7F E3 FB 78 */ mr r3, r31 +/* 802D4EC4 002D1E04 39 61 01 10 */ addi r11, r1, 0x110 +/* 802D4EC8 002D1E08 48 08 D3 5D */ bl _restgpr_28 +/* 802D4ECC 002D1E0C 80 01 01 14 */ lwz r0, 0x114(r1) +/* 802D4ED0 002D1E10 7C 08 03 A6 */ mtlr r0 +/* 802D4ED4 002D1E14 38 21 01 10 */ addi r1, r1, 0x110 +/* 802D4ED8 002D1E18 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4EDC.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4EDC.s new file mode 100644 index 0000000000..432a31d0bb --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4EDC.s @@ -0,0 +1,38 @@ +/* getResource__12JKRFileCacheFUlPCc __ct__12JKRFileCacheFPCcPCc::getResource(unsigned long, char const *) */ +/* missing reference */ +/* 802D4EDC 002D1E1C 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D4EE0 002D1E20 7C 08 02 A6 */ mflr r0 +/* 802D4EE4 002D1E24 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D4EE8 002D1E28 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D4EEC 002D1E2C 48 08 D2 F1 */ bl _savegpr_29 +/* 802D4EF0 002D1E30 7C 7D 1B 78 */ mr r29, r3 +/* 802D4EF4 002D1E34 7C BE 2B 78 */ mr r30, r5 +/* 802D4EF8 002D1E38 80 63 00 48 */ lwz r3, 0x48(r3) +/* 802D4EFC 002D1E3C 48 09 3C E9 */ bl func_80368BE4 +/* 802D4F00 002D1E40 3B E1 00 08 */ addi r31, r1, 8 +/* 802D4F04 002D1E44 7F FF 1A 14 */ add r31, r31, r3 +/* 802D4F08 002D1E48 38 61 00 08 */ addi r3, r1, 8 +/* 802D4F0C 002D1E4C 80 9D 00 48 */ lwz r4, 0x48(r29) +/* 802D4F10 002D1E50 48 09 3C 1D */ bl strcpy +/* 802D4F14 002D1E54 7F A3 EB 78 */ mr r3, r29 +/* 802D4F18 002D1E58 38 81 00 08 */ addi r4, r1, 8 +/* 802D4F1C 002D1E5C 7F C5 F3 78 */ mr r5, r30 +/* 802D4F20 002D1E60 48 00 04 F1 */ bl findFile__12JKRFileCacheCFPcPCc +/* 802D4F24 002D1E64 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D4F28 002D1E68 41 82 00 20 */ beq lbl_802D4F48 +/* 802D4F2C 002D1E6C 7F A3 EB 78 */ mr r3, r29 +/* 802D4F30 002D1E70 7F E4 FB 78 */ mr r4, r31 +/* 802D4F34 002D1E74 81 9D 00 00 */ lwz r12, 0(r29) +/* 802D4F38 002D1E78 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D4F3C 002D1E7C 7D 89 03 A6 */ mtctr r12 +/* 802D4F40 002D1E80 4E 80 04 21 */ bctrl +/* 802D4F44 002D1E84 48 00 00 08 */ b lbl_802D4F4C +lbl_802D4F48: +/* 802D4F48 002D1E88 38 60 00 00 */ li r3, 0 +lbl_802D4F4C: +/* 802D4F4C 002D1E8C 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D4F50 002D1E90 48 08 D2 D9 */ bl _restgpr_29 +/* 802D4F54 002D1E94 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D4F58 002D1E98 7C 08 03 A6 */ mtlr r0 +/* 802D4F5C 002D1E9C 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D4F60 002D1EA0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s new file mode 100644 index 0000000000..2aa0703277 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s @@ -0,0 +1,60 @@ +/* readResource__12JKRFileCacheFPvUlPCc __ct__12JKRFileCacheFPCcPCc::readResource(void *, unsigned long, char const *) */ +/* missing reference */ +/* 802D4F64 002D1EA4 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D4F68 002D1EA8 7C 08 02 A6 */ mflr r0 +/* 802D4F6C 002D1EAC 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D4F70 002D1EB0 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D4F74 002D1EB4 48 08 D2 61 */ bl _savegpr_27 +/* 802D4F78 002D1EB8 7C 7B 1B 78 */ mr r27, r3 +/* 802D4F7C 002D1EBC 7C 9C 23 78 */ mr r28, r4 +/* 802D4F80 002D1EC0 7C BD 2B 78 */ mr r29, r5 +/* 802D4F84 002D1EC4 7C C4 33 78 */ mr r4, r6 +/* 802D4F88 002D1EC8 48 00 05 95 */ bl getDvdPathName__12JKRFileCacheCFPCc +/* 802D4F8C 002D1ECC 7C 7F 1B 78 */ mr r31, r3 +/* 802D4F90 002D1ED0 38 61 00 08 */ addi r3, r1, 8 +/* 802D4F94 002D1ED4 7F E4 FB 78 */ mr r4, r31 +/* 802D4F98 002D1ED8 48 00 46 61 */ bl __ct__10JKRDvdFileFPCc +/* 802D4F9C 002D1EDC 3B C0 00 00 */ li r30, 0 +lbl_802D4FA0: +/* 802D4FA0 002D1EE0 88 01 00 20 */ lbz r0, 0x20(r1) +/* 802D4FA4 002D1EE4 28 00 00 00 */ cmplwi r0, 0 +/* 802D4FA8 002D1EE8 41 82 00 60 */ beq lbl_802D5008 +/* 802D4FAC 002D1EEC 80 61 00 98 */ lwz r3, 0x98(r1) +/* 802D4FB0 002D1EF0 38 03 00 1F */ addi r0, r3, 0x1f +/* 802D4FB4 002D1EF4 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a +/* 802D4FB8 002D1EF8 57 BD 00 34 */ rlwinm r29, r29, 0, 0, 0x1a +/* 802D4FBC 002D1EFC 7C 1E E8 40 */ cmplw r30, r29 +/* 802D4FC0 002D1F00 40 81 00 08 */ ble lbl_802D4FC8 +/* 802D4FC4 002D1F04 7F BE EB 78 */ mr r30, r29 +lbl_802D4FC8: +/* 802D4FC8 002D1F08 7F 63 DB 78 */ mr r3, r27 +/* 802D4FCC 002D1F0C 80 81 00 94 */ lwz r4, 0x94(r1) +/* 802D4FD0 002D1F10 48 00 04 15 */ bl findCacheBlock__12JKRFileCacheCFUl +/* 802D4FD4 002D1F14 7C 64 1B 79 */ or. r4, r3, r3 +/* 802D4FD8 002D1F18 40 82 00 1C */ bne lbl_802D4FF4 +/* 802D4FDC 002D1F1C 38 61 00 08 */ addi r3, r1, 8 +/* 802D4FE0 002D1F20 7F 84 E3 78 */ mr r4, r28 +/* 802D4FE4 002D1F24 7F C5 F3 78 */ mr r5, r30 +/* 802D4FE8 002D1F28 38 C0 00 00 */ li r6, 0 +/* 802D4FEC 002D1F2C 48 00 45 2D */ bl read__7JKRFileFPvll +/* 802D4FF0 002D1F30 4B FF FF B0 */ b lbl_802D4FA0 +lbl_802D4FF4: +/* 802D4FF4 002D1F34 7F 83 E3 78 */ mr r3, r28 +/* 802D4FF8 002D1F38 80 84 00 1C */ lwz r4, 0x1c(r4) +/* 802D4FFC 002D1F3C 7F C5 F3 78 */ mr r5, r30 +/* 802D5000 002D1F40 4B D2 E5 41 */ bl func_80003540 +/* 802D5004 002D1F44 4B FF FF 9C */ b lbl_802D4FA0 +lbl_802D5008: +/* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D500C 002D1F4C 7F E4 FB 78 */ mr r4, r31 +/* 802D5010 002D1F50 4B FF 95 39 */ bl free__7JKRHeapFPv +/* 802D5014 002D1F54 38 61 00 08 */ addi r3, r1, 8 +/* 802D5018 002D1F58 38 80 FF FF */ li r4, -1 +/* 802D501C 002D1F5C 48 00 47 2D */ bl __dt__10JKRDvdFileFv +/* 802D5020 002D1F60 7F C3 F3 78 */ mr r3, r30 +/* 802D5024 002D1F64 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D5028 002D1F68 48 08 D1 F9 */ bl _restgpr_27 +/* 802D502C 002D1F6C 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D5030 002D1F70 7C 08 03 A6 */ mtlr r0 +/* 802D5034 002D1F74 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D5038 002D1F78 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D503C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D503C.s new file mode 100644 index 0000000000..dd3d370106 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D503C.s @@ -0,0 +1,42 @@ +/* readResource__12JKRFileCacheFPvUlUlPCc __ct__12JKRFileCacheFPCcPCc::readResource(void *, unsigned long, unsigned long, char const *) */ +/* missing reference */ +/* 802D503C 002D1F7C 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D5040 002D1F80 7C 08 02 A6 */ mflr r0 +/* 802D5044 002D1F84 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D5048 002D1F88 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D504C 002D1F8C 48 08 D1 89 */ bl _savegpr_27 +/* 802D5050 002D1F90 7C 7B 1B 78 */ mr r27, r3 +/* 802D5054 002D1F94 7C 9C 23 78 */ mr r28, r4 +/* 802D5058 002D1F98 7C BD 2B 78 */ mr r29, r5 +/* 802D505C 002D1F9C 7C FE 3B 78 */ mr r30, r7 +/* 802D5060 002D1FA0 80 63 00 48 */ lwz r3, 0x48(r3) +/* 802D5064 002D1FA4 48 09 3B 81 */ bl func_80368BE4 +/* 802D5068 002D1FA8 3B E1 00 08 */ addi r31, r1, 8 +/* 802D506C 002D1FAC 7F FF 1A 14 */ add r31, r31, r3 +/* 802D5070 002D1FB0 38 61 00 08 */ addi r3, r1, 8 +/* 802D5074 002D1FB4 80 9B 00 48 */ lwz r4, 0x48(r27) +/* 802D5078 002D1FB8 48 09 3A B5 */ bl strcpy +/* 802D507C 002D1FBC 7F 63 DB 78 */ mr r3, r27 +/* 802D5080 002D1FC0 38 81 00 08 */ addi r4, r1, 8 +/* 802D5084 002D1FC4 7F C5 F3 78 */ mr r5, r30 +/* 802D5088 002D1FC8 48 00 03 89 */ bl findFile__12JKRFileCacheCFPcPCc +/* 802D508C 002D1FCC 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D5090 002D1FD0 41 82 00 28 */ beq lbl_802D50B8 +/* 802D5094 002D1FD4 7F 63 DB 78 */ mr r3, r27 +/* 802D5098 002D1FD8 7F 84 E3 78 */ mr r4, r28 +/* 802D509C 002D1FDC 7F A5 EB 78 */ mr r5, r29 +/* 802D50A0 002D1FE0 7F E6 FB 78 */ mr r6, r31 +/* 802D50A4 002D1FE4 81 9B 00 00 */ lwz r12, 0(r27) +/* 802D50A8 002D1FE8 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802D50AC 002D1FEC 7D 89 03 A6 */ mtctr r12 +/* 802D50B0 002D1FF0 4E 80 04 21 */ bctrl +/* 802D50B4 002D1FF4 48 00 00 08 */ b lbl_802D50BC +lbl_802D50B8: +/* 802D50B8 002D1FF8 38 60 00 00 */ li r3, 0 +lbl_802D50BC: +/* 802D50BC 002D1FFC 39 61 01 20 */ addi r11, r1, 0x120 +/* 802D50C0 002D2000 48 08 D1 61 */ bl _restgpr_27 +/* 802D50C4 002D2004 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D50C8 002D2008 7C 08 03 A6 */ mtlr r0 +/* 802D50CC 002D200C 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D50D0 002D2010 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D50D4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D50D4.s new file mode 100644 index 0000000000..1854ba7e69 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D50D4.s @@ -0,0 +1,41 @@ +/* removeResourceAll__12JKRFileCacheFv __ct__12JKRFileCacheFPCcPCc::removeResourceAll(void) */ +/* missing reference */ +/* 802D50D4 002D2014 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D50D8 002D2018 7C 08 02 A6 */ mflr r0 +/* 802D50DC 002D201C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D50E0 002D2020 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D50E4 002D2024 48 08 D0 F9 */ bl _savegpr_29 +/* 802D50E8 002D2028 7C 7D 1B 78 */ mr r29, r3 +/* 802D50EC 002D202C 83 C3 00 3C */ lwz r30, 0x3c(r3) +/* 802D50F0 002D2030 48 00 00 54 */ b lbl_802D5144 +lbl_802D50F4: +/* 802D50F4 002D2034 80 7E 00 00 */ lwz r3, 0(r30) +/* 802D50F8 002D2038 80 63 00 1C */ lwz r3, 0x1c(r3) +/* 802D50FC 002D203C 80 9D 00 38 */ lwz r4, 0x38(r29) +/* 802D5100 002D2040 4B FF 94 01 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D5104 002D2044 80 9E 00 00 */ lwz r4, 0(r30) +/* 802D5108 002D2048 38 7D 00 3C */ addi r3, r29, 0x3c +/* 802D510C 002D204C 48 00 70 51 */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D5110 002D2050 93 C1 00 08 */ stw r30, 8(r1) +/* 802D5114 002D2054 83 DE 00 0C */ lwz r30, 0xc(r30) +/* 802D5118 002D2058 80 61 00 08 */ lwz r3, 8(r1) +/* 802D511C 002D205C 90 61 00 0C */ stw r3, 0xc(r1) +/* 802D5120 002D2060 83 E3 00 00 */ lwz r31, 0(r3) +/* 802D5124 002D2064 28 1F 00 00 */ cmplwi r31, 0 +/* 802D5128 002D2068 41 82 00 1C */ beq lbl_802D5144 +/* 802D512C 002D206C 41 82 00 10 */ beq lbl_802D513C +/* 802D5130 002D2070 7F E3 FB 78 */ mr r3, r31 +/* 802D5134 002D2074 38 80 00 00 */ li r4, 0 +/* 802D5138 002D2078 48 00 6C DD */ bl __dt__10JSUPtrLinkFv +lbl_802D513C: +/* 802D513C 002D207C 7F E3 FB 78 */ mr r3, r31 +/* 802D5140 002D2080 4B FF 9B FD */ bl __dl__FPv +lbl_802D5144: +/* 802D5144 002D2084 28 1E 00 00 */ cmplwi r30, 0 +/* 802D5148 002D2088 40 82 FF AC */ bne lbl_802D50F4 +/* 802D514C 002D208C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5150 002D2090 48 08 D0 D9 */ bl _restgpr_29 +/* 802D5154 002D2094 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5158 002D2098 7C 08 03 A6 */ mtlr r0 +/* 802D515C 002D209C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5160 002D20A0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D5164.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5164.s new file mode 100644 index 0000000000..f15c698a7c --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5164.s @@ -0,0 +1,43 @@ +/* removeResource__12JKRFileCacheFPv __ct__12JKRFileCacheFPCcPCc::removeResource(void *) */ +/* missing reference */ +/* 802D5164 002D20A4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5168 002D20A8 7C 08 02 A6 */ mflr r0 +/* 802D516C 002D20AC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5170 002D20B0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5174 002D20B4 48 08 D0 69 */ bl _savegpr_29 +/* 802D5178 002D20B8 7C 7D 1B 78 */ mr r29, r3 +/* 802D517C 002D20BC 7C 9E 23 78 */ mr r30, r4 +/* 802D5180 002D20C0 48 00 02 39 */ bl findCacheBlock__12JKRFileCacheCFPCv +/* 802D5184 002D20C4 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D5188 002D20C8 40 82 00 0C */ bne lbl_802D5194 +/* 802D518C 002D20CC 38 60 00 00 */ li r3, 0 +/* 802D5190 002D20D0 48 00 00 50 */ b lbl_802D51E0 +lbl_802D5194: +/* 802D5194 002D20D4 80 7F 00 10 */ lwz r3, 0x10(r31) +/* 802D5198 002D20D8 34 03 FF FF */ addic. r0, r3, -1 +/* 802D519C 002D20DC 90 1F 00 10 */ stw r0, 0x10(r31) +/* 802D51A0 002D20E0 40 82 00 3C */ bne lbl_802D51DC +/* 802D51A4 002D20E4 7F C3 F3 78 */ mr r3, r30 +/* 802D51A8 002D20E8 80 9D 00 38 */ lwz r4, 0x38(r29) +/* 802D51AC 002D20EC 4B FF 93 55 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D51B0 002D20F0 38 7D 00 3C */ addi r3, r29, 0x3c +/* 802D51B4 002D20F4 7F E4 FB 78 */ mr r4, r31 +/* 802D51B8 002D20F8 48 00 6F A5 */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D51BC 002D20FC 28 1F 00 00 */ cmplwi r31, 0 +/* 802D51C0 002D2100 41 82 00 1C */ beq lbl_802D51DC +/* 802D51C4 002D2104 41 82 00 10 */ beq lbl_802D51D4 +/* 802D51C8 002D2108 7F E3 FB 78 */ mr r3, r31 +/* 802D51CC 002D210C 38 80 00 00 */ li r4, 0 +/* 802D51D0 002D2110 48 00 6C 45 */ bl __dt__10JSUPtrLinkFv +lbl_802D51D4: +/* 802D51D4 002D2114 7F E3 FB 78 */ mr r3, r31 +/* 802D51D8 002D2118 4B FF 9B 65 */ bl __dl__FPv +lbl_802D51DC: +/* 802D51DC 002D211C 38 60 00 01 */ li r3, 1 +lbl_802D51E0: +/* 802D51E0 002D2120 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D51E4 002D2124 48 08 D0 45 */ bl _restgpr_29 +/* 802D51E8 002D2128 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D51EC 002D212C 7C 08 03 A6 */ mtlr r0 +/* 802D51F0 002D2130 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D51F4 002D2134 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D51F8.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D51F8.s new file mode 100644 index 0000000000..61351f543e --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D51F8.s @@ -0,0 +1,35 @@ +/* detachResource__12JKRFileCacheFPv __ct__12JKRFileCacheFPCcPCc::detachResource(void *) */ +/* missing reference */ +/* 802D51F8 002D2138 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D51FC 002D213C 7C 08 02 A6 */ mflr r0 +/* 802D5200 002D2140 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5204 002D2144 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5208 002D2148 93 C1 00 08 */ stw r30, 8(r1) +/* 802D520C 002D214C 7C 7E 1B 78 */ mr r30, r3 +/* 802D5210 002D2150 48 00 01 A9 */ bl findCacheBlock__12JKRFileCacheCFPCv +/* 802D5214 002D2154 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D5218 002D2158 40 82 00 0C */ bne lbl_802D5224 +/* 802D521C 002D215C 38 60 00 00 */ li r3, 0 +/* 802D5220 002D2160 48 00 00 34 */ b lbl_802D5254 +lbl_802D5224: +/* 802D5224 002D2164 38 7E 00 3C */ addi r3, r30, 0x3c +/* 802D5228 002D2168 7F E4 FB 78 */ mr r4, r31 +/* 802D522C 002D216C 48 00 6F 31 */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D5230 002D2170 28 1F 00 00 */ cmplwi r31, 0 +/* 802D5234 002D2174 41 82 00 1C */ beq lbl_802D5250 +/* 802D5238 002D2178 41 82 00 10 */ beq lbl_802D5248 +/* 802D523C 002D217C 7F E3 FB 78 */ mr r3, r31 +/* 802D5240 002D2180 38 80 00 00 */ li r4, 0 +/* 802D5244 002D2184 48 00 6B D1 */ bl __dt__10JSUPtrLinkFv +lbl_802D5248: +/* 802D5248 002D2188 7F E3 FB 78 */ mr r3, r31 +/* 802D524C 002D218C 4B FF 9A F1 */ bl __dl__FPv +lbl_802D5250: +/* 802D5250 002D2190 38 60 00 01 */ li r3, 1 +lbl_802D5254: +/* 802D5254 002D2194 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D5258 002D2198 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D525C 002D219C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5260 002D21A0 7C 08 03 A6 */ mtlr r0 +/* 802D5264 002D21A4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5268 002D21A8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D526C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D526C.s new file mode 100644 index 0000000000..d7bf1393d2 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D526C.s @@ -0,0 +1,17 @@ +/* getResSize__12JKRFileCacheCFPCv __ct__12JKRFileCacheFPCcPCc::getResSize( const(void const *)) */ +/* missing reference */ +/* 802D526C 002D21AC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5270 002D21B0 7C 08 02 A6 */ mflr r0 +/* 802D5274 002D21B4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5278 002D21B8 48 00 01 41 */ bl findCacheBlock__12JKRFileCacheCFPCv +/* 802D527C 002D21BC 28 03 00 00 */ cmplwi r3, 0 +/* 802D5280 002D21C0 40 82 00 0C */ bne lbl_802D528C +/* 802D5284 002D21C4 38 60 FF FF */ li r3, -1 +/* 802D5288 002D21C8 48 00 00 08 */ b lbl_802D5290 +lbl_802D528C: +/* 802D528C 002D21CC 80 63 00 18 */ lwz r3, 0x18(r3) +lbl_802D5290: +/* 802D5290 002D21D0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5294 002D21D4 7C 08 03 A6 */ mtlr r0 +/* 802D5298 002D21D8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D529C 002D21DC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s new file mode 100644 index 0000000000..7547548cf2 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s @@ -0,0 +1,36 @@ +/* countFile__12JKRFileCacheCFPCc __ct__12JKRFileCacheFPCcPCc::countFile( const(char const *)) */ +/* missing reference */ +/* 802D52A0 002D21E0 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D52A4 002D21E4 7C 08 02 A6 */ mflr r0 +/* 802D52A8 002D21E8 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D52AC 002D21EC 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 802D52B0 002D21F0 93 C1 00 28 */ stw r30, 0x28(r1) +/* 802D52B4 002D21F4 3B E0 00 00 */ li r31, 0 +/* 802D52B8 002D21F8 48 00 02 65 */ bl getDvdPathName__12JKRFileCacheCFPCc +/* 802D52BC 002D21FC 7C 7E 1B 78 */ mr r30, r3 +/* 802D52C0 002D2200 38 81 00 14 */ addi r4, r1, 0x14 +/* 802D52C4 002D2204 48 07 3C BD */ bl DVDOpenDir +/* 802D52C8 002D2208 2C 03 00 00 */ cmpwi r3, 0 +/* 802D52CC 002D220C 41 82 00 28 */ beq lbl_802D52F4 +/* 802D52D0 002D2210 48 00 00 08 */ b lbl_802D52D8 +lbl_802D52D4: +/* 802D52D4 002D2214 3B FF 00 01 */ addi r31, r31, 1 +lbl_802D52D8: +/* 802D52D8 002D2218 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D52DC 002D221C 38 81 00 08 */ addi r4, r1, 8 +/* 802D52E0 002D2220 48 07 3D 61 */ bl DVDReadDir +/* 802D52E4 002D2224 2C 03 00 00 */ cmpwi r3, 0 +/* 802D52E8 002D2228 40 82 FF EC */ bne lbl_802D52D4 +/* 802D52EC 002D222C 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D52F0 002D2230 48 07 3D F5 */ bl DVDCloseDir +lbl_802D52F4: +/* 802D52F4 002D2234 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D52F8 002D2238 7F C4 F3 78 */ mr r4, r30 +/* 802D52FC 002D223C 4B FF 92 4D */ bl free__7JKRHeapFPv +/* 802D5300 002D2240 7F E3 FB 78 */ mr r3, r31 +/* 802D5304 002D2244 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 802D5308 002D2248 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 802D530C 002D224C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D5310 002D2250 7C 08 03 A6 */ mtlr r0 +/* 802D5314 002D2254 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D5318 002D2258 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s new file mode 100644 index 0000000000..2145be2d48 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D531C.s @@ -0,0 +1,45 @@ +/* getFirstFile__12JKRFileCacheCFPCc __ct__12JKRFileCacheFPCcPCc::getFirstFile( const(char const *)) */ +/* missing reference */ +/* 802D531C 002D225C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5320 002D2260 7C 08 02 A6 */ mflr r0 +/* 802D5324 002D2264 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5328 002D2268 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D532C 002D226C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D5330 002D2270 48 00 01 ED */ bl getDvdPathName__12JKRFileCacheCFPCc +/* 802D5334 002D2274 7C 7E 1B 78 */ mr r30, r3 +/* 802D5338 002D2278 38 60 00 24 */ li r3, 0x24 +/* 802D533C 002D227C 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D5340 002D2280 38 A0 00 00 */ li r5, 0 +/* 802D5344 002D2284 4B FF 99 55 */ bl __nw__FUlP7JKRHeapi +/* 802D5348 002D2288 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D534C 002D228C 41 82 00 10 */ beq lbl_802D535C +/* 802D5350 002D2290 7F C4 F3 78 */ mr r4, r30 +/* 802D5354 002D2294 4B FF F4 1D */ bl __ct__12JKRDvdFinderFPCc +/* 802D5358 002D2298 7C 7F 1B 78 */ mr r31, r3 +lbl_802D535C: +/* 802D535C 002D229C 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D5360 002D22A0 7F C4 F3 78 */ mr r4, r30 +/* 802D5364 002D22A4 4B FF 91 E5 */ bl free__7JKRHeapFPv +/* 802D5368 002D22A8 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 802D536C 002D22AC 28 00 00 01 */ cmplwi r0, 1 +/* 802D5370 002D22B0 41 82 00 2C */ beq lbl_802D539C +/* 802D5374 002D22B4 28 1F 00 00 */ cmplwi r31, 0 +/* 802D5378 002D22B8 41 82 00 1C */ beq lbl_802D5394 +/* 802D537C 002D22BC 7F E3 FB 78 */ mr r3, r31 +/* 802D5380 002D22C0 38 80 00 01 */ li r4, 1 +/* 802D5384 002D22C4 81 9F 00 0C */ lwz r12, 0xc(r31) +/* 802D5388 002D22C8 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D538C 002D22CC 7D 89 03 A6 */ mtctr r12 +/* 802D5390 002D22D0 4E 80 04 21 */ bctrl +lbl_802D5394: +/* 802D5394 002D22D4 38 60 00 00 */ li r3, 0 +/* 802D5398 002D22D8 48 00 00 08 */ b lbl_802D53A0 +lbl_802D539C: +/* 802D539C 002D22DC 7F E3 FB 78 */ mr r3, r31 +lbl_802D53A0: +/* 802D53A0 002D22E0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D53A4 002D22E4 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D53A8 002D22E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D53AC 002D22EC 7C 08 03 A6 */ mtlr r0 +/* 802D53B0 002D22F0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D53B4 002D22F4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D53B8.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D53B8.s new file mode 100644 index 0000000000..00fc64a0c5 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D53B8.s @@ -0,0 +1,15 @@ +/* findCacheBlock__12JKRFileCacheCFPCv __ct__12JKRFileCacheFPCcPCc::findCacheBlock( const(void const *)) */ +/* JKRFileCache_NS_findCacheBlock */ +/* 802D53B8 002D22F8 80 A3 00 3C */ lwz r5, 0x3c(r3) +/* 802D53BC 002D22FC 48 00 00 18 */ b lbl_802D53D4 +lbl_802D53C0: +/* 802D53C0 002D2300 80 65 00 00 */ lwz r3, 0(r5) +/* 802D53C4 002D2304 80 03 00 1C */ lwz r0, 0x1c(r3) +/* 802D53C8 002D2308 7C 00 20 40 */ cmplw r0, r4 +/* 802D53CC 002D230C 4D 82 00 20 */ beqlr +/* 802D53D0 002D2310 80 A5 00 0C */ lwz r5, 0xc(r5) +lbl_802D53D4: +/* 802D53D4 002D2314 28 05 00 00 */ cmplwi r5, 0 +/* 802D53D8 002D2318 40 82 FF E8 */ bne lbl_802D53C0 +/* 802D53DC 002D231C 38 60 00 00 */ li r3, 0 +/* 802D53E0 002D2320 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D53E4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D53E4.s new file mode 100644 index 0000000000..09d2111b70 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D53E4.s @@ -0,0 +1,15 @@ +/* findCacheBlock__12JKRFileCacheCFUl __ct__12JKRFileCacheFPCcPCc::findCacheBlock( const(unsigned long)) */ +/* JKRFileCache_NS_findCacheBlock_X1_ */ +/* 802D53E4 002D2324 80 A3 00 3C */ lwz r5, 0x3c(r3) +/* 802D53E8 002D2328 48 00 00 18 */ b lbl_802D5400 +lbl_802D53EC: +/* 802D53EC 002D232C 80 65 00 00 */ lwz r3, 0(r5) +/* 802D53F0 002D2330 80 03 00 14 */ lwz r0, 0x14(r3) +/* 802D53F4 002D2334 7C 04 00 40 */ cmplw r4, r0 +/* 802D53F8 002D2338 4D 82 00 20 */ beqlr +/* 802D53FC 002D233C 80 A5 00 0C */ lwz r5, 0xc(r5) +lbl_802D5400: +/* 802D5400 002D2340 28 05 00 00 */ cmplwi r5, 0 +/* 802D5404 002D2344 40 82 FF E8 */ bne lbl_802D53EC +/* 802D5408 002D2348 38 60 00 00 */ li r3, 0 +/* 802D540C 002D234C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D5410.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5410.s new file mode 100644 index 0000000000..b386838b51 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5410.s @@ -0,0 +1,74 @@ +/* findFile__12JKRFileCacheCFPcPCc __ct__12JKRFileCacheFPCcPCc::findFile( const(char *, char const *)) */ +/* JKRFileCache_NS_findFile */ +/* 802D5410 002D2350 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 802D5414 002D2354 7C 08 02 A6 */ mflr r0 +/* 802D5418 002D2358 90 01 00 44 */ stw r0, 0x44(r1) +/* 802D541C 002D235C 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D5420 002D2360 48 08 CD B1 */ bl _savegpr_26 +/* 802D5424 002D2364 7C 7A 1B 78 */ mr r26, r3 +/* 802D5428 002D2368 7C 9B 23 78 */ mr r27, r4 +/* 802D542C 002D236C 7C BC 2B 78 */ mr r28, r5 +/* 802D5430 002D2370 3B A0 00 00 */ li r29, 0 +/* 802D5434 002D2374 7F 63 DB 78 */ mr r3, r27 +/* 802D5438 002D2378 48 09 37 AD */ bl func_80368BE4 +/* 802D543C 002D237C 7C 7F 1B 78 */ mr r31, r3 +/* 802D5440 002D2380 7F 63 DB 78 */ mr r3, r27 +/* 802D5444 002D2384 38 81 00 14 */ addi r4, r1, 0x14 +/* 802D5448 002D2388 48 07 3B 39 */ bl DVDOpenDir +/* 802D544C 002D238C 2C 03 00 00 */ cmpwi r3, 0 +/* 802D5450 002D2390 41 82 00 B0 */ beq lbl_802D5500 +/* 802D5454 002D2394 7F DB FA 14 */ add r30, r27, r31 +/* 802D5458 002D2398 3B FE 00 01 */ addi r31, r30, 1 +/* 802D545C 002D239C 48 00 00 88 */ b lbl_802D54E4 +lbl_802D5460: +/* 802D5460 002D23A0 80 01 00 0C */ lwz r0, 0xc(r1) +/* 802D5464 002D23A4 2C 00 00 00 */ cmpwi r0, 0 +/* 802D5468 002D23A8 41 82 00 40 */ beq lbl_802D54A8 +/* 802D546C 002D23AC 38 00 00 2F */ li r0, 0x2f +/* 802D5470 002D23B0 98 1E 00 00 */ stb r0, 0(r30) +/* 802D5474 002D23B4 7F E3 FB 78 */ mr r3, r31 +/* 802D5478 002D23B8 80 81 00 10 */ lwz r4, 0x10(r1) +/* 802D547C 002D23BC 48 09 36 B1 */ bl strcpy +/* 802D5480 002D23C0 7F 43 D3 78 */ mr r3, r26 +/* 802D5484 002D23C4 7F 64 DB 78 */ mr r4, r27 +/* 802D5488 002D23C8 7F 85 E3 78 */ mr r5, r28 +/* 802D548C 002D23CC 4B FF FF 85 */ bl findFile__12JKRFileCacheCFPcPCc +/* 802D5490 002D23D0 7C 7D 1B 78 */ mr r29, r3 +/* 802D5494 002D23D4 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D5498 002D23D8 40 82 00 60 */ bne lbl_802D54F8 +/* 802D549C 002D23DC 38 00 00 00 */ li r0, 0 +/* 802D54A0 002D23E0 98 1E 00 00 */ stb r0, 0(r30) +/* 802D54A4 002D23E4 48 00 00 40 */ b lbl_802D54E4 +lbl_802D54A8: +/* 802D54A8 002D23E8 7F 83 E3 78 */ mr r3, r28 +/* 802D54AC 002D23EC 80 81 00 10 */ lwz r4, 0x10(r1) +/* 802D54B0 002D23F0 48 09 34 E5 */ bl strcmp +/* 802D54B4 002D23F4 7C 60 00 34 */ cntlzw r0, r3 +/* 802D54B8 002D23F8 54 1D D9 7E */ srwi r29, r0, 5 +/* 802D54BC 002D23FC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f +/* 802D54C0 002D2400 41 82 00 24 */ beq lbl_802D54E4 +/* 802D54C4 002D2404 7F 63 DB 78 */ mr r3, r27 +/* 802D54C8 002D2408 3C 80 80 3A */ lis r4, lbl_8039D158@ha +/* 802D54CC 002D240C 38 84 D1 58 */ addi r4, r4, lbl_8039D158@l +/* 802D54D0 002D2410 48 09 35 ED */ bl func_80368ABC +/* 802D54D4 002D2414 7F 63 DB 78 */ mr r3, r27 +/* 802D54D8 002D2418 7F 84 E3 78 */ mr r4, r28 +/* 802D54DC 002D241C 48 09 35 E1 */ bl func_80368ABC +/* 802D54E0 002D2420 48 00 00 18 */ b lbl_802D54F8 +lbl_802D54E4: +/* 802D54E4 002D2424 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D54E8 002D2428 38 81 00 08 */ addi r4, r1, 8 +/* 802D54EC 002D242C 48 07 3B 55 */ bl DVDReadDir +/* 802D54F0 002D2430 2C 03 00 00 */ cmpwi r3, 0 +/* 802D54F4 002D2434 40 82 FF 6C */ bne lbl_802D5460 +lbl_802D54F8: +/* 802D54F8 002D2438 38 61 00 14 */ addi r3, r1, 0x14 +/* 802D54FC 002D243C 48 07 3B E9 */ bl DVDCloseDir +lbl_802D5500: +/* 802D5500 002D2440 7F A3 EB 78 */ mr r3, r29 +/* 802D5504 002D2444 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D5508 002D2448 48 08 CD 15 */ bl _restgpr_26 +/* 802D550C 002D244C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 802D5510 002D2450 7C 08 03 A6 */ mtlr r0 +/* 802D5514 002D2454 38 21 00 40 */ addi r1, r1, 0x40 +/* 802D5518 002D2458 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s new file mode 100644 index 0000000000..cb57966d04 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D551C.s @@ -0,0 +1,71 @@ +/* getDvdPathName__12JKRFileCacheCFPCc __ct__12JKRFileCacheFPCcPCc::getDvdPathName( const(char const *)) */ +/* JKRFileCache_NS_getDvdPathName */ +/* 802D551C 002D245C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5520 002D2460 7C 08 02 A6 */ mflr r0 +/* 802D5524 002D2464 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5528 002D2468 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D552C 002D246C 48 08 CC B1 */ bl _savegpr_29 +/* 802D5530 002D2470 7C 7D 1B 78 */ mr r29, r3 +/* 802D5534 002D2474 7C 9E 23 78 */ mr r30, r4 +/* 802D5538 002D2478 88 04 00 00 */ lbz r0, 0(r4) +/* 802D553C 002D247C 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D5540 002D2480 40 82 00 78 */ bne lbl_802D55B8 +/* 802D5544 002D2484 7F C3 F3 78 */ mr r3, r30 +/* 802D5548 002D2488 48 09 36 9D */ bl func_80368BE4 +/* 802D554C 002D248C 7C 7F 1B 78 */ mr r31, r3 +/* 802D5550 002D2490 80 7D 00 48 */ lwz r3, 0x48(r29) +/* 802D5554 002D2494 48 09 36 91 */ bl func_80368BE4 +/* 802D5558 002D2498 38 9F 00 02 */ addi r4, r31, 2 +/* 802D555C 002D249C 7C 83 22 14 */ add r4, r3, r4 +/* 802D5560 002D24A0 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D5564 002D24A4 38 A0 00 01 */ li r5, 1 +/* 802D5568 002D24A8 4B FF 8F 6D */ bl alloc__7JKRHeapFUli +/* 802D556C 002D24AC 7C 60 1B 78 */ mr r0, r3 +/* 802D5570 002D24B0 7C 1F 03 78 */ mr r31, r0 +/* 802D5574 002D24B4 80 9D 00 48 */ lwz r4, 0x48(r29) +/* 802D5578 002D24B8 48 09 35 B5 */ bl strcpy +/* 802D557C 002D24BC 88 1E 00 01 */ lbz r0, 1(r30) +/* 802D5580 002D24C0 7C 00 07 75 */ extsb. r0, r0 +/* 802D5584 002D24C4 41 82 00 78 */ beq lbl_802D55FC +/* 802D5588 002D24C8 80 7D 00 48 */ lwz r3, 0x48(r29) +/* 802D558C 002D24CC 88 03 00 01 */ lbz r0, 1(r3) +/* 802D5590 002D24D0 7C 00 07 75 */ extsb. r0, r0 +/* 802D5594 002D24D4 40 82 00 14 */ bne lbl_802D55A8 +/* 802D5598 002D24D8 7F E3 FB 78 */ mr r3, r31 +/* 802D559C 002D24DC 38 9E 00 01 */ addi r4, r30, 1 +/* 802D55A0 002D24E0 48 09 35 1D */ bl func_80368ABC +/* 802D55A4 002D24E4 48 00 00 58 */ b lbl_802D55FC +lbl_802D55A8: +/* 802D55A8 002D24E8 7F E3 FB 78 */ mr r3, r31 +/* 802D55AC 002D24EC 7F C4 F3 78 */ mr r4, r30 +/* 802D55B0 002D24F0 48 09 35 0D */ bl func_80368ABC +/* 802D55B4 002D24F4 48 00 00 48 */ b lbl_802D55FC +lbl_802D55B8: +/* 802D55B8 002D24F8 7F C3 F3 78 */ mr r3, r30 +/* 802D55BC 002D24FC 48 09 36 29 */ bl func_80368BE4 +/* 802D55C0 002D2500 7C 7F 1B 78 */ mr r31, r3 +/* 802D55C4 002D2504 80 7D 00 4C */ lwz r3, 0x4c(r29) +/* 802D55C8 002D2508 48 09 36 1D */ bl func_80368BE4 +/* 802D55CC 002D250C 38 9F 00 02 */ addi r4, r31, 2 +/* 802D55D0 002D2510 7C 83 22 14 */ add r4, r3, r4 +/* 802D55D4 002D2514 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) +/* 802D55D8 002D2518 38 A0 00 01 */ li r5, 1 +/* 802D55DC 002D251C 4B FF 8E F9 */ bl alloc__7JKRHeapFUli +/* 802D55E0 002D2520 7C 60 1B 78 */ mr r0, r3 +/* 802D55E4 002D2524 7C 1F 03 78 */ mr r31, r0 +/* 802D55E8 002D2528 80 9D 00 4C */ lwz r4, 0x4c(r29) +/* 802D55EC 002D252C 48 09 35 41 */ bl strcpy +/* 802D55F0 002D2530 7F E3 FB 78 */ mr r3, r31 +/* 802D55F4 002D2534 7F C4 F3 78 */ mr r4, r30 +/* 802D55F8 002D2538 48 09 34 C5 */ bl func_80368ABC +lbl_802D55FC: +/* 802D55FC 002D253C 7F A3 EB 78 */ mr r3, r29 +/* 802D5600 002D2540 7F E4 FB 78 */ mr r4, r31 +/* 802D5604 002D2544 48 00 00 21 */ bl convStrLower__12JKRFileCacheCFPc +/* 802D5608 002D2548 7F E3 FB 78 */ mr r3, r31 +/* 802D560C 002D254C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D5610 002D2550 48 08 CC 19 */ bl _restgpr_29 +/* 802D5614 002D2554 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D5618 002D2558 7C 08 03 A6 */ mtlr r0 +/* 802D561C 002D255C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D5620 002D2560 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D5624.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5624.s new file mode 100644 index 0000000000..a677af279f --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5624.s @@ -0,0 +1,22 @@ +/* convStrLower__12JKRFileCacheCFPc __ct__12JKRFileCacheFPCcPCc::convStrLower( const(char *)) */ +/* JKRFileCache_NS_convStrLower */ +/* 802D5624 002D2564 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5628 002D2568 7C 08 02 A6 */ mflr r0 +/* 802D562C 002D256C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5630 002D2570 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D5634 002D2574 7C 9F 23 78 */ mr r31, r4 +/* 802D5638 002D2578 48 00 00 14 */ b lbl_802D564C +lbl_802D563C: +/* 802D563C 002D257C 7C 63 07 74 */ extsb r3, r3 +/* 802D5640 002D2580 48 08 FE 31 */ bl func_80365470 +/* 802D5644 002D2584 98 7F 00 00 */ stb r3, 0(r31) +/* 802D5648 002D2588 3B FF 00 01 */ addi r31, r31, 1 +lbl_802D564C: +/* 802D564C 002D258C 88 7F 00 00 */ lbz r3, 0(r31) +/* 802D5650 002D2590 7C 60 07 75 */ extsb. r0, r3 +/* 802D5654 002D2594 40 82 FF E8 */ bne lbl_802D563C +/* 802D5658 002D2598 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D565C 002D259C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5660 002D25A0 7C 08 03 A6 */ mtlr r0 +/* 802D5664 002D25A4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5668 002D25A8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D566C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D566C.s new file mode 100644 index 0000000000..252ab30c46 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D566C.s @@ -0,0 +1,25 @@ +/* __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv __ct__12JKRFileCacheFPCcPCc::CCacheBlock::__ct( (unsigned long, unsigned long, void const *)) */ +/* JKRFileCache_NS_CCacheBlock */ +/* 802D566C 002D25AC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D5670 002D25B0 7C 08 02 A6 */ mflr r0 +/* 802D5674 002D25B4 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D5678 002D25B8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D567C 002D25BC 48 08 CB 5D */ bl _savegpr_28 +/* 802D5680 002D25C0 7C 7C 1B 78 */ mr r28, r3 +/* 802D5684 002D25C4 7C 9D 23 78 */ mr r29, r4 +/* 802D5688 002D25C8 7C BE 2B 78 */ mr r30, r5 +/* 802D568C 002D25CC 7C DF 33 78 */ mr r31, r6 +/* 802D5690 002D25D0 7F 84 E3 78 */ mr r4, r28 +/* 802D5694 002D25D4 48 00 67 69 */ bl __ct__10JSUPtrLinkFPv +/* 802D5698 002D25D8 38 00 00 01 */ li r0, 1 +/* 802D569C 002D25DC 90 1C 00 10 */ stw r0, 0x10(r28) +/* 802D56A0 002D25E0 93 BC 00 14 */ stw r29, 0x14(r28) +/* 802D56A4 002D25E4 93 DC 00 18 */ stw r30, 0x18(r28) +/* 802D56A8 002D25E8 93 FC 00 1C */ stw r31, 0x1c(r28) +/* 802D56AC 002D25EC 7F 83 E3 78 */ mr r3, r28 +/* 802D56B0 002D25F0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D56B4 002D25F4 48 08 CB 71 */ bl _restgpr_28 +/* 802D56B8 002D25F8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D56BC 002D25FC 7C 08 03 A6 */ mtlr r0 +/* 802D56C0 002D2600 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D56C4 002D2604 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D56C8.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D56C8.s new file mode 100644 index 0000000000..f39846b28a --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D56C8.s @@ -0,0 +1,13 @@ +/* getFsResource__12JKRFileCacheFPCc __ct__12JKRFileCacheFPCcPCc::getFsResource(char const *) */ +/* missing reference */ +/* 802D56C8 002D2608 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D56CC 002D260C 7C 08 02 A6 */ mflr r0 +/* 802D56D0 002D2610 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D56D4 002D2614 81 83 00 00 */ lwz r12, 0(r3) +/* 802D56D8 002D2618 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D56DC 002D261C 7D 89 03 A6 */ mtctr r12 +/* 802D56E0 002D2620 4E 80 04 21 */ bctrl +/* 802D56E4 002D2624 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D56E8 002D2628 7C 08 03 A6 */ mtlr r0 +/* 802D56EC 002D262C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D56F0 002D2630 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D56F4.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D56F4.s new file mode 100644 index 0000000000..4c1d519c5f --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D56F4.s @@ -0,0 +1,13 @@ +/* getNameResource__12JKRFileCacheFUlPCc __ct__12JKRFileCacheFPCcPCc::getNameResource(unsigned long, char const *) */ +/* missing reference */ +/* 802D56F4 002D2634 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D56F8 002D2638 7C 08 02 A6 */ mflr r0 +/* 802D56FC 002D263C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5700 002D2640 81 83 00 00 */ lwz r12, 0(r3) +/* 802D5704 002D2644 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802D5708 002D2648 7D 89 03 A6 */ mtctr r12 +/* 802D570C 002D264C 4E 80 04 21 */ bctrl +/* 802D5710 002D2650 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5714 002D2654 7C 08 03 A6 */ mtlr r0 +/* 802D5718 002D2658 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D571C 002D265C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D5720.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5720.s new file mode 100644 index 0000000000..adb29dee01 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D5720.s @@ -0,0 +1,13 @@ +/* readFsResource__12JKRFileCacheFPvUlPCc __ct__12JKRFileCacheFPCcPCc::readFsResource(void *, unsigned long, char const *) */ +/* missing reference */ +/* 802D5720 002D2660 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5724 002D2664 7C 08 02 A6 */ mflr r0 +/* 802D5728 002D2668 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D572C 002D266C 81 83 00 00 */ lwz r12, 0(r3) +/* 802D5730 002D2670 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 802D5734 002D2674 7D 89 03 A6 */ mtctr r12 +/* 802D5738 002D2678 4E 80 04 21 */ bctrl +/* 802D573C 002D267C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D5740 002D2680 7C 08 03 A6 */ mtlr r0 +/* 802D5744 002D2684 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5748 002D2688 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D574C.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D574C.s new file mode 100644 index 0000000000..f7afaaa7b9 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D574C.s @@ -0,0 +1,13 @@ +/* readNameResource__12JKRFileCacheFPvUlUlPCc __ct__12JKRFileCacheFPCcPCc::readNameResource(void *, unsigned long, unsigned long, char const *) */ +/* missing reference */ +/* 802D574C 002D268C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D5750 002D2690 7C 08 02 A6 */ mflr r0 +/* 802D5754 002D2694 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D5758 002D2698 81 83 00 00 */ lwz r12, 0(r3) +/* 802D575C 002D269C 81 8C 00 20 */ lwz r12, 0x20(r12) +/* 802D5760 002D26A0 7D 89 03 A6 */ mtctr r12 +/* 802D5764 002D26A4 4E 80 04 21 */ bctrl +/* 802D5768 002D26A8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D576C 002D26AC 7C 08 03 A6 */ mtlr r0 +/* 802D5770 002D26B0 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D5774 002D26B4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/JKRFileFinder.h b/include/JSystem/JKernel/JKRFileFinder/JKRFileFinder.h new file mode 100644 index 0000000000..ef041748a0 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/JKRFileFinder.h @@ -0,0 +1,58 @@ +#ifndef __JKRFILEFINDER_H__ +#define __JKRFILEFINDER_H__ + +#include "dolphin/types.h" + +struct JKRFileFinder_UnknownBase { + u32 field_0x0; + u32 field_0x4; + u16 field_0x8; + u16 field_0xa; +}; + +class JKRFileFinder : JKRFileFinder_UnknownBase { + public: + JKRFileFinder(); + virtual ~JKRFileFinder(); + + virtual bool findNextFile(void) = 0; + + bool isAvailable() { + return this->mIsAvailable; + } + + private: + bool mIsAvailable; + bool field_0x11; + u8 padding_0x12[2]; +}; + +class JKRArchive; +class JKRArcFinder : public JKRFileFinder { + public: + JKRArcFinder(JKRArchive*, long, long); + virtual ~JKRArcFinder(); + + virtual bool findNextFile(void); + +private: + JKRArchive* mArchive; + u32 field_0x18; + u32 field_0x1c; + u32 field_0x20; +}; + +class JKRDvdFinder : public JKRFileFinder { + public: + JKRDvdFinder(char const*); + virtual ~JKRDvdFinder(); + + virtual bool findNextFile(void); + + private: + u8 mDvd[12]; + bool mDvdIsOpen; + u8 padding_0x21[3]; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4638.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4638.s new file mode 100644 index 0000000000..e7f2a9d988 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4638.s @@ -0,0 +1,37 @@ +/* __ct__12JKRArcFinderFP10JKRArchivell __ct__12JKRArcFinderFP10JKRArchivell::__ct(JKRArchive *, long, long) */ +/* JKRArcFinder */ +/* 802D4638 002D1578 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D463C 002D157C 7C 08 02 A6 */ mflr r0 +/* 802D4640 002D1580 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4644 002D1584 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4648 002D1588 7C 7F 1B 78 */ mr r31, r3 +/* 802D464C 002D158C 3C E0 80 3D */ lis r7, lbl_803CC228@ha +/* 802D4650 002D1590 38 07 C2 28 */ addi r0, r7, lbl_803CC228@l +/* 802D4654 002D1594 90 03 00 0C */ stw r0, 0xc(r3) +/* 802D4658 002D1598 38 00 00 00 */ li r0, 0 +/* 802D465C 002D159C 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D4660 002D15A0 98 03 00 11 */ stb r0, 0x11(r3) +/* 802D4664 002D15A4 3C E0 80 3D */ lis r7, lbl_803CC218@ha +/* 802D4668 002D15A8 38 07 C2 18 */ addi r0, r7, lbl_803CC218@l +/* 802D466C 002D15AC 90 03 00 0C */ stw r0, 0xc(r3) +/* 802D4670 002D15B0 90 83 00 14 */ stw r4, 0x14(r3) +/* 802D4674 002D15B4 7C 06 00 D0 */ neg r0, r6 +/* 802D4678 002D15B8 7C 00 30 78 */ andc r0, r0, r6 +/* 802D467C 002D15BC 54 00 0F FE */ srwi r0, r0, 0x1f +/* 802D4680 002D15C0 98 03 00 10 */ stb r0, 0x10(r3) +/* 802D4684 002D15C4 90 A3 00 18 */ stw r5, 0x18(r3) +/* 802D4688 002D15C8 38 06 FF FF */ addi r0, r6, -1 +/* 802D468C 002D15CC 7C 05 02 14 */ add r0, r5, r0 +/* 802D4690 002D15D0 90 03 00 1C */ stw r0, 0x1c(r3) +/* 802D4694 002D15D4 80 03 00 18 */ lwz r0, 0x18(r3) +/* 802D4698 002D15D8 90 03 00 20 */ stw r0, 0x20(r3) +/* 802D469C 002D15DC 81 83 00 0C */ lwz r12, 0xc(r3) +/* 802D46A0 002D15E0 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 802D46A4 002D15E4 7D 89 03 A6 */ mtctr r12 +/* 802D46A8 002D15E8 4E 80 04 21 */ bctrl +/* 802D46AC 002D15EC 7F E3 FB 78 */ mr r3, r31 +/* 802D46B0 002D15F0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D46B4 002D15F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D46B8 002D15F8 7C 08 03 A6 */ mtlr r0 +/* 802D46BC 002D15FC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D46C0 002D1600 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D46C4.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D46C4.s new file mode 100644 index 0000000000..8a66216ab2 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D46C4.s @@ -0,0 +1,46 @@ +/* findNextFile__12JKRArcFinderFv __ct__12JKRArcFinderFP10JKRArchivell::findNextFile(void) */ +/* missing reference */ +/* 802D46C4 002D1604 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D46C8 002D1608 7C 08 02 A6 */ mflr r0 +/* 802D46CC 002D160C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D46D0 002D1610 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D46D4 002D1614 7C 7F 1B 78 */ mr r31, r3 +/* 802D46D8 002D1618 88 03 00 10 */ lbz r0, 0x10(r3) +/* 802D46DC 002D161C 28 00 00 00 */ cmplwi r0, 0 +/* 802D46E0 002D1620 41 82 00 78 */ beq lbl_802D4758 +/* 802D46E4 002D1624 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 802D46E8 002D1628 80 1F 00 1C */ lwz r0, 0x1c(r31) +/* 802D46EC 002D162C 7C 04 FE 70 */ srawi r4, r0, 0x1f +/* 802D46F0 002D1630 54 A3 0F FE */ srwi r3, r5, 0x1f +/* 802D46F4 002D1634 7C 05 00 10 */ subfc r0, r5, r0 +/* 802D46F8 002D1638 7C 04 19 14 */ adde r0, r4, r3 +/* 802D46FC 002D163C 98 1F 00 10 */ stb r0, 0x10(r31) +/* 802D4700 002D1640 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 802D4704 002D1644 28 00 00 00 */ cmplwi r0, 0 +/* 802D4708 002D1648 41 82 00 50 */ beq lbl_802D4758 +/* 802D470C 002D164C 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 802D4710 002D1650 38 81 00 08 */ addi r4, r1, 8 +/* 802D4714 002D1654 80 BF 00 20 */ lwz r5, 0x20(r31) +/* 802D4718 002D1658 48 00 13 A9 */ bl getDirEntry__10JKRArchiveCFPQ210JKRArchive9SDirEntryUl +/* 802D471C 002D165C 98 7F 00 10 */ stb r3, 0x10(r31) +/* 802D4720 002D1660 80 01 00 0C */ lwz r0, 0xc(r1) +/* 802D4724 002D1664 90 1F 00 00 */ stw r0, 0(r31) +/* 802D4728 002D1668 80 1F 00 20 */ lwz r0, 0x20(r31) +/* 802D472C 002D166C 90 1F 00 04 */ stw r0, 4(r31) +/* 802D4730 002D1670 A0 01 00 0A */ lhz r0, 0xa(r1) +/* 802D4734 002D1674 B0 1F 00 08 */ sth r0, 8(r31) +/* 802D4738 002D1678 88 01 00 08 */ lbz r0, 8(r1) +/* 802D473C 002D167C B0 1F 00 0A */ sth r0, 0xa(r31) +/* 802D4740 002D1680 A0 1F 00 0A */ lhz r0, 0xa(r31) +/* 802D4744 002D1684 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f +/* 802D4748 002D1688 98 1F 00 11 */ stb r0, 0x11(r31) +/* 802D474C 002D168C 80 7F 00 20 */ lwz r3, 0x20(r31) +/* 802D4750 002D1690 38 03 00 01 */ addi r0, r3, 1 +/* 802D4754 002D1694 90 1F 00 20 */ stw r0, 0x20(r31) +lbl_802D4758: +/* 802D4758 002D1698 88 7F 00 10 */ lbz r3, 0x10(r31) +/* 802D475C 002D169C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D4760 002D16A0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4764 002D16A4 7C 08 03 A6 */ mtlr r0 +/* 802D4768 002D16A8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D476C 002D16AC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4770.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4770.s new file mode 100644 index 0000000000..dbb4353cf1 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4770.s @@ -0,0 +1,35 @@ +/* __ct__12JKRDvdFinderFPCc __ct__12JKRDvdFinderFPCc::__ct(char const *) */ +/* JKRDvdFinder */ +/* 802D4770 002D16B0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D4774 002D16B4 7C 08 02 A6 */ mflr r0 +/* 802D4778 002D16B8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D477C 002D16BC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4780 002D16C0 7C 7F 1B 78 */ mr r31, r3 +/* 802D4784 002D16C4 3C 60 80 3D */ lis r3, lbl_803CC228@ha +/* 802D4788 002D16C8 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l +/* 802D478C 002D16CC 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802D4790 002D16D0 38 00 00 00 */ li r0, 0 +/* 802D4794 002D16D4 98 1F 00 10 */ stb r0, 0x10(r31) +/* 802D4798 002D16D8 98 1F 00 11 */ stb r0, 0x11(r31) +/* 802D479C 002D16DC 3C 60 80 3D */ lis r3, lbl_803CC208@ha +/* 802D47A0 002D16E0 38 03 C2 08 */ addi r0, r3, lbl_803CC208@l +/* 802D47A4 002D16E4 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802D47A8 002D16E8 7C 83 23 78 */ mr r3, r4 +/* 802D47AC 002D16EC 38 9F 00 14 */ addi r4, r31, 0x14 +/* 802D47B0 002D16F0 48 07 47 D1 */ bl DVDOpenDir +/* 802D47B4 002D16F4 30 03 FF FF */ addic r0, r3, -1 +/* 802D47B8 002D16F8 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D47BC 002D16FC 98 1F 00 20 */ stb r0, 0x20(r31) +/* 802D47C0 002D1700 88 1F 00 20 */ lbz r0, 0x20(r31) +/* 802D47C4 002D1704 98 1F 00 10 */ stb r0, 0x10(r31) +/* 802D47C8 002D1708 7F E3 FB 78 */ mr r3, r31 +/* 802D47CC 002D170C 81 9F 00 0C */ lwz r12, 0xc(r31) +/* 802D47D0 002D1710 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 802D47D4 002D1714 7D 89 03 A6 */ mtctr r12 +/* 802D47D8 002D1718 4E 80 04 21 */ bctrl +/* 802D47DC 002D171C 7F E3 FB 78 */ mr r3, r31 +/* 802D47E0 002D1720 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D47E4 002D1724 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D47E8 002D1728 7C 08 03 A6 */ mtlr r0 +/* 802D47EC 002D172C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D47F0 002D1730 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D47F4.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D47F4.s new file mode 100644 index 0000000000..6c3a9b87c4 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D47F4.s @@ -0,0 +1,37 @@ +/* __dt__12JKRDvdFinderFv __ct__12JKRDvdFinderFPCc::__dt(void) */ +/* missing reference */ +/* 802D47F4 002D1734 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D47F8 002D1738 7C 08 02 A6 */ mflr r0 +/* 802D47FC 002D173C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4800 002D1740 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4804 002D1744 93 C1 00 08 */ stw r30, 8(r1) +/* 802D4808 002D1748 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D480C 002D174C 7C 9F 23 78 */ mr r31, r4 +/* 802D4810 002D1750 41 82 00 48 */ beq lbl_802D4858 +/* 802D4814 002D1754 3C 60 80 3D */ lis r3, lbl_803CC208@ha +/* 802D4818 002D1758 38 03 C2 08 */ addi r0, r3, lbl_803CC208@l +/* 802D481C 002D175C 90 1E 00 0C */ stw r0, 0xc(r30) +/* 802D4820 002D1760 88 1E 00 20 */ lbz r0, 0x20(r30) +/* 802D4824 002D1764 28 00 00 00 */ cmplwi r0, 0 +/* 802D4828 002D1768 41 82 00 0C */ beq lbl_802D4834 +/* 802D482C 002D176C 38 7E 00 14 */ addi r3, r30, 0x14 +/* 802D4830 002D1770 48 07 48 B5 */ bl DVDCloseDir +lbl_802D4834: +/* 802D4834 002D1774 28 1E 00 00 */ cmplwi r30, 0 +/* 802D4838 002D1778 41 82 00 10 */ beq lbl_802D4848 +/* 802D483C 002D177C 3C 60 80 3D */ lis r3, lbl_803CC228@ha +/* 802D4840 002D1780 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l +/* 802D4844 002D1784 90 1E 00 0C */ stw r0, 0xc(r30) +lbl_802D4848: +/* 802D4848 002D1788 7F E0 07 35 */ extsh. r0, r31 +/* 802D484C 002D178C 40 81 00 0C */ ble lbl_802D4858 +/* 802D4850 002D1790 7F C3 F3 78 */ mr r3, r30 +/* 802D4854 002D1794 4B FF A4 E9 */ bl __dl__FPv +lbl_802D4858: +/* 802D4858 002D1798 7F C3 F3 78 */ mr r3, r30 +/* 802D485C 002D179C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4860 002D17A0 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D4864 002D17A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D4868 002D17A8 7C 08 03 A6 */ mtlr r0 +/* 802D486C 002D17AC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4870 002D17B0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4874.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4874.s new file mode 100644 index 0000000000..01b83ba0e8 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4874.s @@ -0,0 +1,43 @@ +/* findNextFile__12JKRDvdFinderFv __ct__12JKRDvdFinderFPCc::findNextFile(void) */ +/* missing reference */ +/* 802D4874 002D17B4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D4878 002D17B8 7C 08 02 A6 */ mflr r0 +/* 802D487C 002D17BC 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D4880 002D17C0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 802D4884 002D17C4 7C 7F 1B 78 */ mr r31, r3 +/* 802D4888 002D17C8 88 03 00 10 */ lbz r0, 0x10(r3) +/* 802D488C 002D17CC 28 00 00 00 */ cmplwi r0, 0 +/* 802D4890 002D17D0 41 82 00 68 */ beq lbl_802D48F8 +/* 802D4894 002D17D4 38 7F 00 14 */ addi r3, r31, 0x14 +/* 802D4898 002D17D8 38 81 00 08 */ addi r4, r1, 8 +/* 802D489C 002D17DC 48 07 47 A5 */ bl DVDReadDir +/* 802D48A0 002D17E0 30 03 FF FF */ addic r0, r3, -1 +/* 802D48A4 002D17E4 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D48A8 002D17E8 98 1F 00 10 */ stb r0, 0x10(r31) +/* 802D48AC 002D17EC 88 1F 00 10 */ lbz r0, 0x10(r31) +/* 802D48B0 002D17F0 28 00 00 00 */ cmplwi r0, 0 +/* 802D48B4 002D17F4 41 82 00 44 */ beq lbl_802D48F8 +/* 802D48B8 002D17F8 80 61 00 0C */ lwz r3, 0xc(r1) +/* 802D48BC 002D17FC 30 03 FF FF */ addic r0, r3, -1 +/* 802D48C0 002D1800 7C 00 19 10 */ subfe r0, r0, r3 +/* 802D48C4 002D1804 98 1F 00 11 */ stb r0, 0x11(r31) +/* 802D48C8 002D1808 80 01 00 10 */ lwz r0, 0x10(r1) +/* 802D48CC 002D180C 90 1F 00 00 */ stw r0, 0(r31) +/* 802D48D0 002D1810 80 01 00 08 */ lwz r0, 8(r1) +/* 802D48D4 002D1814 90 1F 00 04 */ stw r0, 4(r31) +/* 802D48D8 002D1818 38 00 00 00 */ li r0, 0 +/* 802D48DC 002D181C B0 1F 00 08 */ sth r0, 8(r31) +/* 802D48E0 002D1820 88 1F 00 11 */ lbz r0, 0x11(r31) +/* 802D48E4 002D1824 28 00 00 00 */ cmplwi r0, 0 +/* 802D48E8 002D1828 38 00 00 01 */ li r0, 1 +/* 802D48EC 002D182C 41 82 00 08 */ beq lbl_802D48F4 +/* 802D48F0 002D1830 38 00 00 02 */ li r0, 2 +lbl_802D48F4: +/* 802D48F4 002D1834 B0 1F 00 0A */ sth r0, 0xa(r31) +lbl_802D48F8: +/* 802D48F8 002D1838 88 7F 00 10 */ lbz r3, 0x10(r31) +/* 802D48FC 002D183C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 802D4900 002D1840 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4904 002D1844 7C 08 03 A6 */ mtlr r0 +/* 802D4908 002D1848 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D490C 002D184C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4910.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4910.s new file mode 100644 index 0000000000..995d339e59 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4910.s @@ -0,0 +1,21 @@ +/* __dt__13JKRFileFinderFv JKRFileFinder::__dt(void) */ +/* missing reference */ +/* 802D4910 002D1850 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D4914 002D1854 7C 08 02 A6 */ mflr r0 +/* 802D4918 002D1858 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D491C 002D185C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4920 002D1860 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D4924 002D1864 41 82 00 1C */ beq lbl_802D4940 +/* 802D4928 002D1868 3C A0 80 3D */ lis r5, lbl_803CC228@ha +/* 802D492C 002D186C 38 05 C2 28 */ addi r0, r5, lbl_803CC228@l +/* 802D4930 002D1870 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802D4934 002D1874 7C 80 07 35 */ extsh. r0, r4 +/* 802D4938 002D1878 40 81 00 08 */ ble lbl_802D4940 +/* 802D493C 002D187C 4B FF A4 01 */ bl __dl__FPv +lbl_802D4940: +/* 802D4940 002D1880 7F E3 FB 78 */ mr r3, r31 +/* 802D4944 002D1884 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4948 002D1888 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D494C 002D188C 7C 08 03 A6 */ mtlr r0 +/* 802D4950 002D1890 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4954 002D1894 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4958.s b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4958.s new file mode 100644 index 0000000000..f6b660d67b --- /dev/null +++ b/include/JSystem/JKernel/JKRFileFinder/asm/func_802D4958.s @@ -0,0 +1,27 @@ +/* __dt__12JKRArcFinderFv __ct__12JKRArcFinderFP10JKRArchivell::__dt(void) */ +/* missing reference */ +/* 802D4958 002D1898 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D495C 002D189C 7C 08 02 A6 */ mflr r0 +/* 802D4960 002D18A0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4964 002D18A4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4968 002D18A8 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D496C 002D18AC 41 82 00 30 */ beq lbl_802D499C +/* 802D4970 002D18B0 3C 60 80 3D */ lis r3, lbl_803CC218@ha +/* 802D4974 002D18B4 38 03 C2 18 */ addi r0, r3, lbl_803CC218@l +/* 802D4978 002D18B8 90 1F 00 0C */ stw r0, 0xc(r31) +/* 802D497C 002D18BC 41 82 00 10 */ beq lbl_802D498C +/* 802D4980 002D18C0 3C 60 80 3D */ lis r3, lbl_803CC228@ha +/* 802D4984 002D18C4 38 03 C2 28 */ addi r0, r3, lbl_803CC228@l +/* 802D4988 002D18C8 90 1F 00 0C */ stw r0, 0xc(r31) +lbl_802D498C: +/* 802D498C 002D18CC 7C 80 07 35 */ extsh. r0, r4 +/* 802D4990 002D18D0 40 81 00 0C */ ble lbl_802D499C +/* 802D4994 002D18D4 7F E3 FB 78 */ mr r3, r31 +/* 802D4998 002D18D8 4B FF A3 A5 */ bl __dl__FPv +lbl_802D499C: +/* 802D499C 002D18DC 7F E3 FB 78 */ mr r3, r31 +/* 802D49A0 002D18E0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D49A4 002D18E4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D49A8 002D18E8 7C 08 03 A6 */ mtlr r0 +/* 802D49AC 002D18EC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D49B0 002D18F0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h b/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h new file mode 100644 index 0000000000..9ab58f5ed2 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/JKRFileLoader.h @@ -0,0 +1,49 @@ +#ifndef __JKRFILELOADER_H__ +#define __JKRFILELOADER_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" + +class JKRFileLoader : public JKRDisposer { + public: + JKRFileLoader(void); + virtual ~JKRFileLoader(); + + virtual void unmount(void); + virtual void becomeCurrent(char const*) = 0; + virtual void getResource(char const*) = 0; + virtual void getResource(u32, char const*) = 0; + virtual void readResource(void*, u32, char const*) = 0; + virtual void readResource(void*, u32, u32, char const*) = 0; + virtual void removeResourceAll(void) = 0; + virtual void removeResource(void*) = 0; + virtual void detachResource(void*) = 0; + virtual void getResSize(void const*) const = 0; + virtual void countFile(char const*) const = 0; + virtual void getFirstFile(char const*) const = 0; + + bool isMounted() { + return this->mIsMounted; + } + + u32 getVolumeType() { + return this->mVolumeType; + } + + static void* getGlbResource(char const*); + static void* getGlbResource(char const*, JKRFileLoader*); + static bool removeResource(void*, JKRFileLoader*); + static bool detachResource(void*, JKRFileLoader*); + static JKRFileLoader* findVolume(char const**); + static char* fetchVolumeName(char*, long, char const*); + + private: + JSULink mFileLoaderLink; + char* mVolumeName; + u32 mVolumeType; + bool mIsMounted; + u8 padding_0x31[3]; + int mMountCount; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D40F0.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D40F0.s new file mode 100644 index 0000000000..5fb44a0f7d --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D40F0.s @@ -0,0 +1,24 @@ +/* __ct__13JKRFileLoaderFv __ct__13JKRFileLoaderFv::__ct(void) */ +/* JKRFileLoader */ +/* 802D40F0 002D1030 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D40F4 002D1034 7C 08 02 A6 */ mflr r0 +/* 802D40F8 002D1038 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D40FC 002D103C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4100 002D1040 7C 7F 1B 78 */ mr r31, r3 +/* 802D4104 002D1044 4B FF D3 79 */ bl __ct__11JKRDisposerFv +/* 802D4108 002D1048 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha +/* 802D410C 002D104C 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l +/* 802D4110 002D1050 90 1F 00 00 */ stw r0, 0(r31) +/* 802D4114 002D1054 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802D4118 002D1058 7F E4 FB 78 */ mr r4, r31 +/* 802D411C 002D105C 48 00 7C E1 */ bl __ct__10JSUPtrLinkFPv +/* 802D4120 002D1060 38 00 00 00 */ li r0, 0 +/* 802D4124 002D1064 90 1F 00 28 */ stw r0, 0x28(r31) +/* 802D4128 002D1068 90 1F 00 2C */ stw r0, 0x2c(r31) +/* 802D412C 002D106C 90 1F 00 34 */ stw r0, 0x34(r31) +/* 802D4130 002D1070 7F E3 FB 78 */ mr r3, r31 +/* 802D4134 002D1074 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4138 002D1078 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D413C 002D107C 7C 08 03 A6 */ mtlr r0 +/* 802D4140 002D1080 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4144 002D1084 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s new file mode 100644 index 0000000000..1183fe1abd --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s @@ -0,0 +1,40 @@ +/* __dt__13JKRFileLoaderFv __ct__13JKRFileLoaderFv::__dt(void) */ +/* JKRFileLoader_NS_dtor */ +/* 802D4148 002D1088 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D414C 002D108C 7C 08 02 A6 */ mflr r0 +/* 802D4150 002D1090 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4154 002D1094 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4158 002D1098 93 C1 00 08 */ stw r30, 8(r1) +/* 802D415C 002D109C 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D4160 002D10A0 7C 9F 23 78 */ mr r31, r4 +/* 802D4164 002D10A4 41 82 00 54 */ beq lbl_802D41B8 +/* 802D4168 002D10A8 3C 60 80 3D */ lis r3, lbl_803CC1C8@ha +/* 802D416C 002D10AC 38 03 C1 C8 */ addi r0, r3, lbl_803CC1C8@l +/* 802D4170 002D10B0 90 1E 00 00 */ stw r0, 0(r30) +/* 802D4174 002D10B4 80 0D 8E 98 */ lwz r0, lbl_80451418-_SDA_BASE_(r13) +/* 802D4178 002D10B8 7C 00 F0 40 */ cmplw r0, r30 +/* 802D417C 002D10BC 40 82 00 0C */ bne lbl_802D4188 +/* 802D4180 002D10C0 38 00 00 00 */ li r0, 0 +/* 802D4184 002D10C4 90 0D 8E 98 */ stw r0, lbl_80451418-_SDA_BASE_(r13) +lbl_802D4188: +/* 802D4188 002D10C8 34 1E 00 18 */ addic. r0, r30, 0x18 +/* 802D418C 002D10CC 41 82 00 10 */ beq lbl_802D419C +/* 802D4190 002D10D0 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D4194 002D10D4 38 80 00 00 */ li r4, 0 +/* 802D4198 002D10D8 48 00 7C 7D */ bl __dt__10JSUPtrLinkFv +lbl_802D419C: +/* 802D419C 002D10DC 7F C3 F3 78 */ mr r3, r30 +/* 802D41A0 002D10E0 38 80 00 00 */ li r4, 0 +/* 802D41A4 002D10E4 4B FF D3 41 */ bl __dt__11JKRDisposerFv +/* 802D41A8 002D10E8 7F E0 07 35 */ extsh. r0, r31 +/* 802D41AC 002D10EC 40 81 00 0C */ ble lbl_802D41B8 +/* 802D41B0 002D10F0 7F C3 F3 78 */ mr r3, r30 +/* 802D41B4 002D10F4 4B FF AB 89 */ bl __dl__FPv +lbl_802D41B8: +/* 802D41B8 002D10F8 7F C3 F3 78 */ mr r3, r30 +/* 802D41BC 002D10FC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D41C0 002D1100 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D41C4 002D1104 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D41C8 002D1108 7C 08 03 A6 */ mtlr r0 +/* 802D41CC 002D110C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D41D0 002D1110 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D41D4.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D41D4.s new file mode 100644 index 0000000000..14d03289c0 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D41D4.s @@ -0,0 +1,23 @@ +/* unmount__13JKRFileLoaderFv __ct__13JKRFileLoaderFv::unmount(void) */ +/* missing reference */ +/* 802D41D4 002D1114 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D41D8 002D1118 7C 08 02 A6 */ mflr r0 +/* 802D41DC 002D111C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D41E0 002D1120 80 83 00 34 */ lwz r4, 0x34(r3) +/* 802D41E4 002D1124 28 04 00 00 */ cmplwi r4, 0 +/* 802D41E8 002D1128 41 82 00 2C */ beq lbl_802D4214 +/* 802D41EC 002D112C 34 04 FF FF */ addic. r0, r4, -1 +/* 802D41F0 002D1130 90 03 00 34 */ stw r0, 0x34(r3) +/* 802D41F4 002D1134 40 82 00 20 */ bne lbl_802D4214 +/* 802D41F8 002D1138 28 03 00 00 */ cmplwi r3, 0 +/* 802D41FC 002D113C 41 82 00 18 */ beq lbl_802D4214 +/* 802D4200 002D1140 38 80 00 01 */ li r4, 1 +/* 802D4204 002D1144 81 83 00 00 */ lwz r12, 0(r3) +/* 802D4208 002D1148 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D420C 002D114C 7D 89 03 A6 */ mtctr r12 +/* 802D4210 002D1150 4E 80 04 21 */ bctrl +lbl_802D4214: +/* 802D4214 002D1154 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D4218 002D1158 7C 08 03 A6 */ mtlr r0 +/* 802D421C 002D115C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4220 002D1160 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4224.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4224.s new file mode 100644 index 0000000000..bb83a67b7f --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4224.s @@ -0,0 +1,23 @@ +/* getGlbResource__13JKRFileLoaderFPCc __ct__13JKRFileLoaderFv::getGlbResource(char const *) */ +/* JKRFileLoader_NS_getGlbResource */ +/* 802D4224 002D1164 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D4228 002D1168 7C 08 02 A6 */ mflr r0 +/* 802D422C 002D116C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4230 002D1170 90 61 00 08 */ stw r3, 8(r1) +/* 802D4234 002D1174 38 61 00 08 */ addi r3, r1, 8 +/* 802D4238 002D1178 48 00 02 01 */ bl findVolume__13JKRFileLoaderFPPCc +/* 802D423C 002D117C 28 03 00 00 */ cmplwi r3, 0 +/* 802D4240 002D1180 40 82 00 0C */ bne lbl_802D424C +/* 802D4244 002D1184 38 60 00 00 */ li r3, 0 +/* 802D4248 002D1188 48 00 00 18 */ b lbl_802D4260 +lbl_802D424C: +/* 802D424C 002D118C 80 81 00 08 */ lwz r4, 8(r1) +/* 802D4250 002D1190 81 83 00 00 */ lwz r12, 0(r3) +/* 802D4254 002D1194 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D4258 002D1198 7D 89 03 A6 */ mtctr r12 +/* 802D425C 002D119C 4E 80 04 21 */ bctrl +lbl_802D4260: +/* 802D4260 002D11A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D4264 002D11A4 7C 08 03 A6 */ mtlr r0 +/* 802D4268 002D11A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D426C 002D11AC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s new file mode 100644 index 0000000000..5435cd3e5b --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s @@ -0,0 +1,44 @@ +/* getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader __ct__13JKRFileLoaderFv::getGlbResource(char const *, JKRFileLoader *) */ +/* JKRFileLoader_NS_getGlbResource_X1_ */ +/* 802D4270 002D11B0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D4274 002D11B4 7C 08 02 A6 */ mflr r0 +/* 802D4278 002D11B8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D427C 002D11BC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4280 002D11C0 93 C1 00 08 */ stw r30, 8(r1) +/* 802D4284 002D11C4 7C 7E 1B 78 */ mr r30, r3 +/* 802D4288 002D11C8 38 60 00 00 */ li r3, 0 +/* 802D428C 002D11CC 28 04 00 00 */ cmplwi r4, 0 +/* 802D4290 002D11D0 41 82 00 24 */ beq lbl_802D42B4 +/* 802D4294 002D11D4 7C 83 23 78 */ mr r3, r4 +/* 802D4298 002D11D8 38 80 00 00 */ li r4, 0 +/* 802D429C 002D11DC 7F C5 F3 78 */ mr r5, r30 +/* 802D42A0 002D11E0 81 83 00 00 */ lwz r12, 0(r3) +/* 802D42A4 002D11E4 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802D42A8 002D11E8 7D 89 03 A6 */ mtctr r12 +/* 802D42AC 002D11EC 4E 80 04 21 */ bctrl +/* 802D42B0 002D11F0 48 00 00 40 */ b lbl_802D42F0 +lbl_802D42B4: +/* 802D42B4 002D11F4 3C 80 80 43 */ lis r4, lbl_80434354@ha +/* 802D42B8 002D11F8 83 E4 43 54 */ lwz r31, lbl_80434354@l(r4) +/* 802D42BC 002D11FC 48 00 00 2C */ b lbl_802D42E8 +lbl_802D42C0: +/* 802D42C0 002D1200 80 7F 00 00 */ lwz r3, 0(r31) +/* 802D42C4 002D1204 38 80 00 00 */ li r4, 0 +/* 802D42C8 002D1208 7F C5 F3 78 */ mr r5, r30 +/* 802D42CC 002D120C 81 83 00 00 */ lwz r12, 0(r3) +/* 802D42D0 002D1210 81 8C 00 18 */ lwz r12, 0x18(r12) +/* 802D42D4 002D1214 7D 89 03 A6 */ mtctr r12 +/* 802D42D8 002D1218 4E 80 04 21 */ bctrl +/* 802D42DC 002D121C 28 03 00 00 */ cmplwi r3, 0 +/* 802D42E0 002D1220 40 82 00 10 */ bne lbl_802D42F0 +/* 802D42E4 002D1224 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802D42E8: +/* 802D42E8 002D1228 28 1F 00 00 */ cmplwi r31, 0 +/* 802D42EC 002D122C 40 82 FF D4 */ bne lbl_802D42C0 +lbl_802D42F0: +/* 802D42F0 002D1230 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D42F4 002D1234 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D42F8 002D1238 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D42FC 002D123C 7C 08 03 A6 */ mtlr r0 +/* 802D4300 002D1240 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4304 002D1244 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s new file mode 100644 index 0000000000..ee1f63749f --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s @@ -0,0 +1,45 @@ +/* removeResource__13JKRFileLoaderFPvP13JKRFileLoader __ct__13JKRFileLoaderFv::removeResource(void *, JKRFileLoader *) */ +/* JKRFileLoader_NS_removeResource */ +/* 802D4308 002D1248 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D430C 002D124C 7C 08 02 A6 */ mflr r0 +/* 802D4310 002D1250 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D4314 002D1254 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D4318 002D1258 93 C1 00 08 */ stw r30, 8(r1) +/* 802D431C 002D125C 7C 7E 1B 78 */ mr r30, r3 +/* 802D4320 002D1260 28 04 00 00 */ cmplwi r4, 0 +/* 802D4324 002D1264 41 82 00 20 */ beq lbl_802D4344 +/* 802D4328 002D1268 7C 83 23 78 */ mr r3, r4 +/* 802D432C 002D126C 7F C4 F3 78 */ mr r4, r30 +/* 802D4330 002D1270 81 83 00 00 */ lwz r12, 0(r3) +/* 802D4334 002D1274 81 8C 00 28 */ lwz r12, 0x28(r12) +/* 802D4338 002D1278 7D 89 03 A6 */ mtctr r12 +/* 802D433C 002D127C 4E 80 04 21 */ bctrl +/* 802D4340 002D1280 48 00 00 48 */ b lbl_802D4388 +lbl_802D4344: +/* 802D4344 002D1284 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D4348 002D1288 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D434C 002D128C 48 00 00 30 */ b lbl_802D437C +lbl_802D4350: +/* 802D4350 002D1290 80 7F 00 00 */ lwz r3, 0(r31) +/* 802D4354 002D1294 7F C4 F3 78 */ mr r4, r30 +/* 802D4358 002D1298 81 83 00 00 */ lwz r12, 0(r3) +/* 802D435C 002D129C 81 8C 00 28 */ lwz r12, 0x28(r12) +/* 802D4360 002D12A0 7D 89 03 A6 */ mtctr r12 +/* 802D4364 002D12A4 4E 80 04 21 */ bctrl +/* 802D4368 002D12A8 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D436C 002D12AC 41 82 00 0C */ beq lbl_802D4378 +/* 802D4370 002D12B0 38 60 00 01 */ li r3, 1 +/* 802D4374 002D12B4 48 00 00 14 */ b lbl_802D4388 +lbl_802D4378: +/* 802D4378 002D12B8 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802D437C: +/* 802D437C 002D12BC 28 1F 00 00 */ cmplwi r31, 0 +/* 802D4380 002D12C0 40 82 FF D0 */ bne lbl_802D4350 +/* 802D4384 002D12C4 38 60 00 00 */ li r3, 0 +lbl_802D4388: +/* 802D4388 002D12C8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D438C 002D12CC 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D4390 002D12D0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D4394 002D12D4 7C 08 03 A6 */ mtlr r0 +/* 802D4398 002D12D8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D439C 002D12DC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s new file mode 100644 index 0000000000..3c24ccd7fd --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s @@ -0,0 +1,45 @@ +/* detachResource__13JKRFileLoaderFPvP13JKRFileLoader __ct__13JKRFileLoaderFv::detachResource(void *, JKRFileLoader *) */ +/* JKRFileLoader_NS_detachResource */ +/* 802D43A0 002D12E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D43A4 002D12E4 7C 08 02 A6 */ mflr r0 +/* 802D43A8 002D12E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D43AC 002D12EC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D43B0 002D12F0 93 C1 00 08 */ stw r30, 8(r1) +/* 802D43B4 002D12F4 7C 7E 1B 78 */ mr r30, r3 +/* 802D43B8 002D12F8 28 04 00 00 */ cmplwi r4, 0 +/* 802D43BC 002D12FC 41 82 00 20 */ beq lbl_802D43DC +/* 802D43C0 002D1300 7C 83 23 78 */ mr r3, r4 +/* 802D43C4 002D1304 7F C4 F3 78 */ mr r4, r30 +/* 802D43C8 002D1308 81 83 00 00 */ lwz r12, 0(r3) +/* 802D43CC 002D130C 81 8C 00 2C */ lwz r12, 0x2c(r12) +/* 802D43D0 002D1310 7D 89 03 A6 */ mtctr r12 +/* 802D43D4 002D1314 4E 80 04 21 */ bctrl +/* 802D43D8 002D1318 48 00 00 48 */ b lbl_802D4420 +lbl_802D43DC: +/* 802D43DC 002D131C 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D43E0 002D1320 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D43E4 002D1324 48 00 00 30 */ b lbl_802D4414 +lbl_802D43E8: +/* 802D43E8 002D1328 80 7F 00 00 */ lwz r3, 0(r31) +/* 802D43EC 002D132C 7F C4 F3 78 */ mr r4, r30 +/* 802D43F0 002D1330 81 83 00 00 */ lwz r12, 0(r3) +/* 802D43F4 002D1334 81 8C 00 2C */ lwz r12, 0x2c(r12) +/* 802D43F8 002D1338 7D 89 03 A6 */ mtctr r12 +/* 802D43FC 002D133C 4E 80 04 21 */ bctrl +/* 802D4400 002D1340 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D4404 002D1344 41 82 00 0C */ beq lbl_802D4410 +/* 802D4408 002D1348 38 60 00 01 */ li r3, 1 +/* 802D440C 002D134C 48 00 00 14 */ b lbl_802D4420 +lbl_802D4410: +/* 802D4410 002D1350 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802D4414: +/* 802D4414 002D1354 28 1F 00 00 */ cmplwi r31, 0 +/* 802D4418 002D1358 40 82 FF D0 */ bne lbl_802D43E8 +/* 802D441C 002D135C 38 60 00 00 */ li r3, 0 +lbl_802D4420: +/* 802D4420 002D1360 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4424 002D1364 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D4428 002D1368 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D442C 002D136C 7C 08 03 A6 */ mtlr r0 +/* 802D4430 002D1370 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4434 002D1374 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s new file mode 100644 index 0000000000..b50d6c27d2 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s @@ -0,0 +1,42 @@ +/* findVolume__13JKRFileLoaderFPPCc __ct__13JKRFileLoaderFv::findVolume(char const **) */ +/* JKRFileLoader_NS_findVolume */ +/* 802D4438 002D1378 94 21 FE E0 */ stwu r1, -0x120(r1) +/* 802D443C 002D137C 7C 08 02 A6 */ mflr r0 +/* 802D4440 002D1380 90 01 01 24 */ stw r0, 0x124(r1) +/* 802D4444 002D1384 93 E1 01 1C */ stw r31, 0x11c(r1) +/* 802D4448 002D1388 7C 7F 1B 78 */ mr r31, r3 +/* 802D444C 002D138C 80 A3 00 00 */ lwz r5, 0(r3) +/* 802D4450 002D1390 88 05 00 00 */ lbz r0, 0(r5) +/* 802D4454 002D1394 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D4458 002D1398 41 82 00 0C */ beq lbl_802D4464 +/* 802D445C 002D139C 80 6D 8E 98 */ lwz r3, lbl_80451418-_SDA_BASE_(r13) +/* 802D4460 002D13A0 48 00 00 50 */ b lbl_802D44B0 +lbl_802D4464: +/* 802D4464 002D13A4 38 61 00 08 */ addi r3, r1, 8 +/* 802D4468 002D13A8 38 80 01 01 */ li r4, 0x101 +/* 802D446C 002D13AC 48 00 00 59 */ bl fetchVolumeName__13JKRFileLoaderFPclPCc +/* 802D4470 002D13B0 90 7F 00 00 */ stw r3, 0(r31) +/* 802D4474 002D13B4 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D4478 002D13B8 83 E3 43 54 */ lwz r31, lbl_80434354@l(r3) +/* 802D447C 002D13BC 48 00 00 28 */ b lbl_802D44A4 +lbl_802D4480: +/* 802D4480 002D13C0 80 9F 00 00 */ lwz r4, 0(r31) +/* 802D4484 002D13C4 38 61 00 08 */ addi r3, r1, 8 +/* 802D4488 002D13C8 80 84 00 28 */ lwz r4, 0x28(r4) +/* 802D448C 002D13CC 48 09 45 09 */ bl strcmp +/* 802D4490 002D13D0 2C 03 00 00 */ cmpwi r3, 0 +/* 802D4494 002D13D4 40 82 00 0C */ bne lbl_802D44A0 +/* 802D4498 002D13D8 80 7F 00 00 */ lwz r3, 0(r31) +/* 802D449C 002D13DC 48 00 00 14 */ b lbl_802D44B0 +lbl_802D44A0: +/* 802D44A0 002D13E0 83 FF 00 0C */ lwz r31, 0xc(r31) +lbl_802D44A4: +/* 802D44A4 002D13E4 28 1F 00 00 */ cmplwi r31, 0 +/* 802D44A8 002D13E8 40 82 FF D8 */ bne lbl_802D4480 +/* 802D44AC 002D13EC 38 60 00 00 */ li r3, 0 +lbl_802D44B0: +/* 802D44B0 002D13F0 83 E1 01 1C */ lwz r31, 0x11c(r1) +/* 802D44B4 002D13F4 80 01 01 24 */ lwz r0, 0x124(r1) +/* 802D44B8 002D13F8 7C 08 03 A6 */ mtlr r0 +/* 802D44BC 002D13FC 38 21 01 20 */ addi r1, r1, 0x120 +/* 802D44C0 002D1400 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D44C4.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D44C4.s new file mode 100644 index 0000000000..bdca846813 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D44C4.s @@ -0,0 +1,66 @@ +/* fetchVolumeName__13JKRFileLoaderFPclPCc __ct__13JKRFileLoaderFv::fetchVolumeName(char *, long, char const *) */ +/* JKRFileLoader_NS_fetchVolumeName */ +/* 802D44C4 002D1404 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D44C8 002D1408 7C 08 02 A6 */ mflr r0 +/* 802D44CC 002D140C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D44D0 002D1410 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D44D4 002D1414 48 08 DD 09 */ bl _savegpr_29 +/* 802D44D8 002D1418 7C 7D 1B 78 */ mr r29, r3 +/* 802D44DC 002D141C 7C 9E 23 78 */ mr r30, r4 +/* 802D44E0 002D1420 7C BF 2B 78 */ mr r31, r5 +/* 802D44E4 002D1424 7F E3 FB 78 */ mr r3, r31 +/* 802D44E8 002D1428 3C 80 80 3A */ lis r4, lbl_8039D150@ha +/* 802D44EC 002D142C 38 84 D1 50 */ addi r4, r4, lbl_8039D150@l +/* 802D44F0 002D1430 48 09 44 A5 */ bl strcmp +/* 802D44F4 002D1434 2C 03 00 00 */ cmpwi r3, 0 +/* 802D44F8 002D1438 40 82 00 18 */ bne lbl_802D4510 +/* 802D44FC 002D143C 7F A3 EB 78 */ mr r3, r29 +/* 802D4500 002D1440 38 8D 83 40 */ addi r4, r13, lbl_804508C0-_SDA_BASE_(r13) +/* 802D4504 002D1444 48 09 46 29 */ bl strcpy +/* 802D4508 002D1448 38 6D 83 40 */ addi r3, r13, lbl_804508C0-_SDA_BASE_(r13) +/* 802D450C 002D144C 48 00 00 7C */ b lbl_802D4588 +lbl_802D4510: +/* 802D4510 002D1450 3C 60 80 3D */ lis r3, lbl_803D2D18@ha +/* 802D4514 002D1454 38 63 2D 18 */ addi r3, r3, lbl_803D2D18@l +/* 802D4518 002D1458 3B FF 00 01 */ addi r31, r31, 1 +/* 802D451C 002D145C 48 00 00 38 */ b lbl_802D4554 +lbl_802D4520: +/* 802D4520 002D1460 2C 1E 00 01 */ cmpwi r30, 1 +/* 802D4524 002D1464 40 81 00 2C */ ble lbl_802D4550 +/* 802D4528 002D1468 7C 80 07 74 */ extsb r0, r4 +/* 802D452C 002D146C 2C 00 FF FF */ cmpwi r0, -1 +/* 802D4530 002D1470 40 82 00 0C */ bne lbl_802D453C +/* 802D4534 002D1474 38 00 FF FF */ li r0, -1 +/* 802D4538 002D1478 48 00 00 0C */ b lbl_802D4544 +lbl_802D453C: +/* 802D453C 002D147C 54 00 06 3E */ clrlwi r0, r0, 0x18 +/* 802D4540 002D1480 7C 03 00 AE */ lbzx r0, r3, r0 +lbl_802D4544: +/* 802D4544 002D1484 98 1D 00 00 */ stb r0, 0(r29) +/* 802D4548 002D1488 3B BD 00 01 */ addi r29, r29, 1 +/* 802D454C 002D148C 3B DE FF FF */ addi r30, r30, -1 +lbl_802D4550: +/* 802D4550 002D1490 3B FF 00 01 */ addi r31, r31, 1 +lbl_802D4554: +/* 802D4554 002D1494 88 9F 00 00 */ lbz r4, 0(r31) +/* 802D4558 002D1498 7C 80 07 75 */ extsb. r0, r4 +/* 802D455C 002D149C 41 82 00 10 */ beq lbl_802D456C +/* 802D4560 002D14A0 7C 80 07 74 */ extsb r0, r4 +/* 802D4564 002D14A4 2C 00 00 2F */ cmpwi r0, 0x2f +/* 802D4568 002D14A8 40 82 FF B8 */ bne lbl_802D4520 +lbl_802D456C: +/* 802D456C 002D14AC 38 00 00 00 */ li r0, 0 +/* 802D4570 002D14B0 98 1D 00 00 */ stb r0, 0(r29) +/* 802D4574 002D14B4 88 1F 00 00 */ lbz r0, 0(r31) +/* 802D4578 002D14B8 7C 00 07 75 */ extsb. r0, r0 +/* 802D457C 002D14BC 40 82 00 08 */ bne lbl_802D4584 +/* 802D4580 002D14C0 3B ED 83 40 */ addi r31, r13, lbl_804508C0-_SDA_BASE_(r13) +lbl_802D4584: +/* 802D4584 002D14C4 7F E3 FB 78 */ mr r3, r31 +lbl_802D4588: +/* 802D4588 002D14C8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D458C 002D14CC 48 08 DC 9D */ bl _restgpr_29 +/* 802D4590 002D14D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D4594 002D14D4 7C 08 03 A6 */ mtlr r0 +/* 802D4598 002D14D8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D459C 002D14DC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s new file mode 100644 index 0000000000..a128e9bbe1 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45A0.s @@ -0,0 +1,19 @@ +/* __sinit_JKRFileLoader_cpp __sinit_JKRFileLoader_cpp */ +/* missing reference */ +/* 802D45A0 002D14E0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D45A4 002D14E4 7C 08 02 A6 */ mflr r0 +/* 802D45A8 002D14E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D45AC 002D14EC 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D45B0 002D14F0 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45B4 002D14F4 48 00 79 61 */ bl initiate__10JSUPtrListFv +/* 802D45B8 002D14F8 3C 60 80 43 */ lis r3, lbl_80434354@ha +/* 802D45BC 002D14FC 38 63 43 54 */ addi r3, r3, lbl_80434354@l +/* 802D45C0 002D1500 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X6_@ha +/* 802D45C4 002D1504 38 84 45 E4 */ addi r4, r4, JSUList_NS_dtor_X6_@l +/* 802D45C8 002D1508 3C A0 80 43 */ lis r5, lbl_80434348@ha +/* 802D45CC 002D150C 38 A5 43 48 */ addi r5, r5, lbl_80434348@l +/* 802D45D0 002D1510 48 08 D6 55 */ bl func_80361C24 +/* 802D45D4 002D1514 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D45D8 002D1518 7C 08 03 A6 */ mtlr r0 +/* 802D45DC 002D151C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D45E0 002D1520 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45E4.s b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45E4.s new file mode 100644 index 0000000000..f4fa20d2c3 --- /dev/null +++ b/include/JSystem/JKernel/JKRFileLoader/asm/func_802D45E4.s @@ -0,0 +1,24 @@ +/* __dt__24JSUList<13JKRFileLoader>Fv JSUList<13JKRFileLoader>::__dt(void) */ +/* JSUList_NS_dtor_X6_ */ +/* 802D45E4 002D1524 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D45E8 002D1528 7C 08 02 A6 */ mflr r0 +/* 802D45EC 002D152C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D45F0 002D1530 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D45F4 002D1534 93 C1 00 08 */ stw r30, 8(r1) +/* 802D45F8 002D1538 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D45FC 002D153C 7C 9F 23 78 */ mr r31, r4 +/* 802D4600 002D1540 41 82 00 1C */ beq lbl_802D461C +/* 802D4604 002D1544 38 80 00 00 */ li r4, 0 +/* 802D4608 002D1548 48 00 78 A5 */ bl __dt__10JSUPtrListFv +/* 802D460C 002D154C 7F E0 07 35 */ extsh. r0, r31 +/* 802D4610 002D1550 40 81 00 0C */ ble lbl_802D461C +/* 802D4614 002D1554 7F C3 F3 78 */ mr r3, r30 +/* 802D4618 002D1558 4B FF A7 25 */ bl __dl__FPv +lbl_802D461C: +/* 802D461C 002D155C 7F C3 F3 78 */ mr r3, r30 +/* 802D4620 002D1560 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D4624 002D1564 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D4628 002D1568 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D462C 002D156C 7C 08 03 A6 */ mtlr r0 +/* 802D4630 002D1570 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D4634 002D1574 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRHeap/JKRHeap.h b/include/JSystem/JKernel/JKRHeap/JKRHeap.h index 5df883da4d..48364f52af 100644 --- a/include/JSystem/JKernel/JKRHeap/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap/JKRHeap.h @@ -3,65 +3,101 @@ #include "dolphin/types.h" #include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" +#include "global.h" typedef void (*JKRErrorHandler)(void*, u32, int); -class JKRHeap : JKRDisposer { +class JKRHeap : public JKRDisposer { + public: + class TState {}; + + static bool initArena(char**, u32*, int); + static void* alloc(u32 size, int alignment, JKRHeap* heap); + static void free(void* ptr, JKRHeap* heap); + static s32 resize(void* ptr, u32 size, JKRHeap* heap); + static s32 getSize(void* ptr, JKRHeap* heap); + static JKRHeap* findFromRoot(void* ptr); + + static void copyMemory(void* dst, void* src, u32 size); + static void fillMemory(void* dst, u32 size, u8 value); // NOTE: never used + static bool checkMemoryFilled(void* src, u32 size, u8 value); + + static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment); + static JKRErrorHandler setErrorHandler(JKRErrorHandler error_handler); + + static void* getCodeStart(void) { + return lbl_80451384; + } + + static void* getCodeEnd(void) { + return lbl_80451388; + } + + static void* getUserRamStart(void) { + return lbl_8045138C; + } + + static void* getUserRamEnd(void) { + return lbl_80451390; + } + + static u32 getMemorySize(void) { + return lbl_80451394; + } + + static JKRHeap* getRootHeap() { + return lbl_80451378; + } + + static JKRHeap* getSystemHeap() { + return lbl_80451370; + } + + static JKRHeap* getCurrentHeap() { + return lbl_80451374; + } + public: JKRHeap(void*, u32, JKRHeap*, bool); virtual ~JKRHeap(); - static bool initArena(char**, u32*, int); JKRHeap* becomeSystemHeap(); JKRHeap* becomeCurrentHeap(); void destroy(); - static void* alloc(u32 size, int alignment, JKRHeap* heap); void* alloc(u32 size, int alignment); - - static void free(void* ptr, JKRHeap* heap); void free(void* ptr); - void freeAll(); void freeTail(); - - static s32 resize(void* ptr, u32 size, JKRHeap* heap); s32 resize(void* ptr, u32 size); - - static s32 getSize(void* ptr, JKRHeap* heap); s32 getSize(void* ptr); - s32 getFreeSize(); void* getMaxFreeBlock(); s32 getTotalFreeSize(); u8 changeGroupID(u8 param_1); s32 getMaxAllocatableSize(int alignment); - static JKRHeap* findFromRoot(void* ptr); JKRHeap* find(void* ptr) const; JKRHeap* findAllHeap(void* ptr) const; - void dispose_subroutine(u32 begin, u32 end); + void dispose_subroutine(u32 start, u32 end); bool dispose(void* ptr, u32 size); void dispose(void* begin, void* end); void dispose(); - static void copyMemory(void* dst, void* src, u32 size); - static void fillMemory(void* dst, u32 size, u8 value); // NOTE: never used - static bool checkMemoryFilled(void* src, u32 size, u8 value); - - bool setErrorFlag(bool param_1); - static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment); - static JKRErrorHandler setErrorHandler(JKRErrorHandler error_handler); - - bool isSubHeap(JKRHeap* heap) const; - void* getBegin() const { - return (void*)mBegin; + + void setDebugFill(bool debugFill) { + this->mDebugFill = debugFill; } - void* getEnd() const { + public: + void* getStartAddr() const { + return (void*)mStart; + } + + void* getEndAddr() const { return (void*)mEnd; } @@ -69,8 +105,17 @@ class JKRHeap : JKRDisposer { return mSize; } + bool getErrorFlag() { + return mErrorFlag; + } + + JKRHeap* getParent() { + JSUTree* parent = this->mChildTree.getParent(); + return parent->getObject(); + } + JSUTree& getHeapTree() { - return this->mChildTree; + return this->mChildTree; } void appendDisposer(JKRDisposer* disposer) { @@ -81,43 +126,51 @@ class JKRHeap : JKRDisposer { mDisposerList.remove(&disposer->mLink); } - protected: - void callAllDisposer(); - virtual void vt_func4() = 0; - virtual void vt_func5() = 0; + void lock() { + OSLockMutex(this->mMutex); + } + + void unlock() { + OSUnlockMutex(this->mMutex); + } + + public: + virtual void callAllDisposer(); + virtual u32 getHeapType() = 0; + virtual bool check() = 0; virtual void dump_sort(); - virtual void vt_func7() = 0; + virtual bool dump() = 0; virtual void do_destroy() = 0; virtual void* do_alloc(u32 size, int alignment) = 0; virtual void do_free(void* ptr) = 0; virtual void do_freeAll() = 0; virtual void do_freeTail() = 0; - virtual void vt_func13() = 0; + virtual void do_fillFreeArea() = 0; virtual s32 do_resize(void* ptr, u32 size) = 0; virtual s32 do_getSize(void* ptr) = 0; virtual s32 do_getFreeSize() = 0; - virtual void* do_getMaxFreeBlock() = 0; + virtual void* do_getMaxFreeBlock() = 0; virtual s32 do_getTotalFreeSize() = 0; virtual u8 do_changeGroupID(u8 param_1); - virtual void do_getCurrent(); - virtual void state_register(); - virtual void state_compare(); + virtual u8 do_getCurrentGroupId(); + virtual void state_register(JKRHeap::TState*, unsigned long) const; + virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; virtual void state_dump(); public: - u8 mutex[24]; - u32 mBegin; + u8 mMutex[24]; + u32 mStart; u32 mEnd; u32 mSize; - u8 field_0x3c; - u8 field_0x3d; - u8 field_0x3e; - u8 field_0x3f; + bool mDebugFill; + bool mCheckMemoryFilled; + u8 mAllocationMode; // EAllocMode? + u8 mGroupId; JSUTree mChildTree; JSUList mDisposerList; bool mErrorFlag; - u8 field_0x69; - u8 field_0x6a[2]; + bool mInitFlag; + u8 padding_0x6a[2]; }; void* operator new(u32 size); diff --git a/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h index 9e3c054365..30bfb85ba8 100644 --- a/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h +++ b/include/JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h @@ -1,10 +1,42 @@ -#ifndef JKRSOLIDHEAP_H_ -#define JKRSOLIDHEAP_H_ +#ifndef __JKRSOLIDHEAP_H__ +#define __JKRSOLIDHEAP_H__ #include "dolphin/types.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" -class JKRSolidHeap { +class JKRSolidHeap : public JKRHeap { + public: + void create(u32, JKRHeap*, bool); + JKRSolidHeap(void*, u32, JKRHeap*, bool); + virtual ~JKRSolidHeap(void); + void adjustSize(void); + void allocFromHead(u32, int); + void allocFromTail(u32, int); + + public: + virtual u32 getHeapType(void); + virtual bool check(void); + virtual bool dump(void); + virtual void do_destroy(void); + virtual void* do_alloc(u32, int); + virtual void do_free(void*); + virtual void do_freeAll(void); + virtual void do_freeTail(void); + virtual void do_fillFreeArea(void); + virtual s32 do_resize(void*, u32); + virtual s32 do_getSize(void*); + virtual s32 do_getFreeSize(void); + virtual void* do_getMaxFreeBlock(void); + virtual s32 do_getTotalFreeSize(void); + virtual void state_register(JKRHeap::TState*, u32) const; + virtual bool state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; + + private: + u32 mFreeSize; + void* mSolidStart; + void* mSolidEnd; + u32 field_0x78; }; -#endif \ No newline at end of file +#endif diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s new file mode 100644 index 0000000000..f18ffe9441 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s @@ -0,0 +1,51 @@ +/* create__12JKRSolidHeapFUlP7JKRHeapb __ct__12JKRSolidHeapFPvUlP7JKRHeapb::create(unsigned long, JKRHeap *, bool) */ +/* JKRSolidHeap_NS_create */ +/* 802D0A24 002CD964 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0A28 002CD968 7C 08 02 A6 */ mflr r0 +/* 802D0A2C 002CD96C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0A30 002CD970 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0A34 002CD974 48 09 17 A9 */ bl _savegpr_29 +/* 802D0A38 002CD978 7C 9D 23 79 */ or. r29, r4, r4 +/* 802D0A3C 002CD97C 7C BE 2B 78 */ mr r30, r5 +/* 802D0A40 002CD980 40 82 00 08 */ bne lbl_802D0A48 +/* 802D0A44 002CD984 83 AD 8D F8 */ lwz r29, lbl_80451378-_SDA_BASE_(r13) +lbl_802D0A48: +/* 802D0A48 002CD988 3C 03 00 01 */ addis r0, r3, 1 +/* 802D0A4C 002CD98C 28 00 FF FF */ cmplwi r0, 0xffff +/* 802D0A50 002CD990 40 82 00 10 */ bne lbl_802D0A60 +/* 802D0A54 002CD994 7F A3 EB 78 */ mr r3, r29 +/* 802D0A58 002CD998 38 80 00 10 */ li r4, 0x10 +/* 802D0A5C 002CD99C 4B FF DD 81 */ bl getMaxAllocatableSize__7JKRHeapFi +lbl_802D0A60: +/* 802D0A60 002CD9A0 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b +/* 802D0A64 002CD9A4 28 1F 00 80 */ cmplwi r31, 0x80 +/* 802D0A68 002CD9A8 40 80 00 0C */ bge lbl_802D0A74 +/* 802D0A6C 002CD9AC 38 60 00 00 */ li r3, 0 +/* 802D0A70 002CD9B0 48 00 00 48 */ b lbl_802D0AB8 +lbl_802D0A74: +/* 802D0A74 002CD9B4 7F E3 FB 78 */ mr r3, r31 +/* 802D0A78 002CD9B8 38 80 00 10 */ li r4, 0x10 +/* 802D0A7C 002CD9BC 7F A5 EB 78 */ mr r5, r29 +/* 802D0A80 002CD9C0 4B FF D9 F5 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D0A84 002CD9C4 7C 60 1B 78 */ mr r0, r3 +/* 802D0A88 002CD9C8 7C 05 03 79 */ or. r5, r0, r0 +/* 802D0A8C 002CD9CC 38 85 00 80 */ addi r4, r5, 0x80 +/* 802D0A90 002CD9D0 40 82 00 0C */ bne lbl_802D0A9C +/* 802D0A94 002CD9D4 38 60 00 00 */ li r3, 0 +/* 802D0A98 002CD9D8 48 00 00 20 */ b lbl_802D0AB8 +lbl_802D0A9C: +/* 802D0A9C 002CD9DC 41 82 00 18 */ beq lbl_802D0AB4 +/* 802D0AA0 002CD9E0 38 BF FF 80 */ addi r5, r31, -128 +/* 802D0AA4 002CD9E4 7F A6 EB 78 */ mr r6, r29 +/* 802D0AA8 002CD9E8 7F C7 F3 78 */ mr r7, r30 +/* 802D0AAC 002CD9EC 48 00 00 85 */ bl __ct__12JKRSolidHeapFPvUlP7JKRHeapb +/* 802D0AB0 002CD9F0 7C 60 1B 78 */ mr r0, r3 +lbl_802D0AB4: +/* 802D0AB4 002CD9F4 7C 03 03 78 */ mr r3, r0 +lbl_802D0AB8: +/* 802D0AB8 002CD9F8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0ABC 002CD9FC 48 09 17 6D */ bl _restgpr_29 +/* 802D0AC0 002CDA00 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0AC4 002CDA04 7C 08 03 A6 */ mtlr r0 +/* 802D0AC8 002CDA08 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0ACC 002CDA0C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0AD0.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0AD0.s new file mode 100644 index 0000000000..931ff26c62 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0AD0.s @@ -0,0 +1,27 @@ +/* do_destroy__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_destroy(void) */ +/* missing reference */ +/* 802D0AD0 002CDA10 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0AD4 002CDA14 7C 08 02 A6 */ mflr r0 +/* 802D0AD8 002CDA18 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0ADC 002CDA1C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0AE0 002CDA20 93 C1 00 08 */ stw r30, 8(r1) +/* 802D0AE4 002CDA24 7C 7E 1B 78 */ mr r30, r3 +/* 802D0AE8 002CDA28 80 83 00 50 */ lwz r4, 0x50(r3) +/* 802D0AEC 002CDA2C 83 E4 00 0C */ lwz r31, 0xc(r4) +/* 802D0AF0 002CDA30 28 1F 00 00 */ cmplwi r31, 0 +/* 802D0AF4 002CDA34 41 82 00 24 */ beq lbl_802D0B18 +/* 802D0AF8 002CDA38 38 80 FF FF */ li r4, -1 +/* 802D0AFC 002CDA3C 81 83 00 00 */ lwz r12, 0(r3) +/* 802D0B00 002CDA40 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D0B04 002CDA44 7D 89 03 A6 */ mtctr r12 +/* 802D0B08 002CDA48 4E 80 04 21 */ bctrl +/* 802D0B0C 002CDA4C 7F C3 F3 78 */ mr r3, r30 +/* 802D0B10 002CDA50 7F E4 FB 78 */ mr r4, r31 +/* 802D0B14 002CDA54 4B FF D9 ED */ bl free__7JKRHeapFPvP7JKRHeap +lbl_802D0B18: +/* 802D0B18 002CDA58 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0B1C 002CDA5C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D0B20 002CDA60 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0B24 002CDA64 7C 08 03 A6 */ mtlr r0 +/* 802D0B28 002CDA68 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0B2C 002CDA6C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B30.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B30.s new file mode 100644 index 0000000000..3c590f5055 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B30.s @@ -0,0 +1,25 @@ +/* __ct__12JKRSolidHeapFPvUlP7JKRHeapb __ct__12JKRSolidHeapFPvUlP7JKRHeapb::__ct(void *, unsigned long, JKRHeap *, bool) */ +/* JKRSolidHeap */ +/* 802D0B30 002CDA70 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0B34 002CDA74 7C 08 02 A6 */ mflr r0 +/* 802D0B38 002CDA78 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0B3C 002CDA7C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0B40 002CDA80 7C 7F 1B 78 */ mr r31, r3 +/* 802D0B44 002CDA84 4B FF D5 F5 */ bl __ct__7JKRHeapFPvUlP7JKRHeapb +/* 802D0B48 002CDA88 3C 60 80 3D */ lis r3, lbl_803CC030@ha +/* 802D0B4C 002CDA8C 38 03 C0 30 */ addi r0, r3, lbl_803CC030@l +/* 802D0B50 002CDA90 90 1F 00 00 */ stw r0, 0(r31) +/* 802D0B54 002CDA94 80 1F 00 38 */ lwz r0, 0x38(r31) +/* 802D0B58 002CDA98 90 1F 00 6C */ stw r0, 0x6c(r31) +/* 802D0B5C 002CDA9C 80 1F 00 30 */ lwz r0, 0x30(r31) +/* 802D0B60 002CDAA0 90 1F 00 70 */ stw r0, 0x70(r31) +/* 802D0B64 002CDAA4 80 1F 00 34 */ lwz r0, 0x34(r31) +/* 802D0B68 002CDAA8 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D0B6C 002CDAAC 38 00 00 00 */ li r0, 0 +/* 802D0B70 002CDAB0 90 1F 00 78 */ stw r0, 0x78(r31) +/* 802D0B74 002CDAB4 7F E3 FB 78 */ mr r3, r31 +/* 802D0B78 002CDAB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0B7C 002CDABC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0B80 002CDAC0 7C 08 03 A6 */ mtlr r0 +/* 802D0B84 002CDAC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0B88 002CDAC8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B8C.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B8C.s new file mode 100644 index 0000000000..1582bc1f27 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0B8C.s @@ -0,0 +1,29 @@ +/* __dt__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::__dt(void) */ +/* missing reference */ +/* 802D0B8C 002CDACC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0B90 002CDAD0 7C 08 02 A6 */ mflr r0 +/* 802D0B94 002CDAD4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0B98 002CDAD8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0B9C 002CDADC 93 C1 00 08 */ stw r30, 8(r1) +/* 802D0BA0 002CDAE0 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D0BA4 002CDAE4 7C 9F 23 78 */ mr r31, r4 +/* 802D0BA8 002CDAE8 41 82 00 30 */ beq lbl_802D0BD8 +/* 802D0BAC 002CDAEC 3C 80 80 3D */ lis r4, lbl_803CC030@ha +/* 802D0BB0 002CDAF0 38 04 C0 30 */ addi r0, r4, lbl_803CC030@l +/* 802D0BB4 002CDAF4 90 1E 00 00 */ stw r0, 0(r30) +/* 802D0BB8 002CDAF8 4B FF DF 09 */ bl dispose__7JKRHeapFv +/* 802D0BBC 002CDAFC 7F C3 F3 78 */ mr r3, r30 +/* 802D0BC0 002CDB00 38 80 00 00 */ li r4, 0 +/* 802D0BC4 002CDB04 4B FF D6 A1 */ bl __dt__7JKRHeapFv +/* 802D0BC8 002CDB08 7F E0 07 35 */ extsh. r0, r31 +/* 802D0BCC 002CDB0C 40 81 00 0C */ ble lbl_802D0BD8 +/* 802D0BD0 002CDB10 7F C3 F3 78 */ mr r3, r30 +/* 802D0BD4 002CDB14 4B FF E1 69 */ bl __dl__FPv +lbl_802D0BD8: +/* 802D0BD8 002CDB18 7F C3 F3 78 */ mr r3, r30 +/* 802D0BDC 002CDB1C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0BE0 002CDB20 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D0BE4 002CDB24 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0BE8 002CDB28 7C 08 03 A6 */ mtlr r0 +/* 802D0BEC 002CDB2C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0BF0 002CDB30 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0BF4.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0BF4.s new file mode 100644 index 0000000000..0844b66334 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0BF4.s @@ -0,0 +1,52 @@ +/* adjustSize__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::adjustSize(void) */ +/* JKRSolidHeap_NS_adjustSize */ +/* 802D0BF4 002CDB34 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0BF8 002CDB38 7C 08 02 A6 */ mflr r0 +/* 802D0BFC 002CDB3C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0C00 002CDB40 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0C04 002CDB44 48 09 15 D9 */ bl _savegpr_29 +/* 802D0C08 002CDB48 7C 7D 1B 78 */ mr r29, r3 +/* 802D0C0C 002CDB4C 80 63 00 50 */ lwz r3, 0x50(r3) +/* 802D0C10 002CDB50 83 E3 00 0C */ lwz r31, 0xc(r3) +/* 802D0C14 002CDB54 28 1F 00 00 */ cmplwi r31, 0 +/* 802D0C18 002CDB58 41 82 00 7C */ beq lbl_802D0C94 +/* 802D0C1C 002CDB5C 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802D0C20 002CDB60 48 06 E4 21 */ bl OSLockMutex +/* 802D0C24 002CDB64 80 7D 00 30 */ lwz r3, 0x30(r29) +/* 802D0C28 002CDB68 7C BD 18 50 */ subf r5, r29, r3 +/* 802D0C2C 002CDB6C 80 1D 00 70 */ lwz r0, 0x70(r29) +/* 802D0C30 002CDB70 7C 63 00 50 */ subf r3, r3, r0 +/* 802D0C34 002CDB74 38 03 00 1F */ addi r0, r3, 0x1f +/* 802D0C38 002CDB78 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a +/* 802D0C3C 002CDB7C 7F E3 FB 78 */ mr r3, r31 +/* 802D0C40 002CDB80 7F A4 EB 78 */ mr r4, r29 +/* 802D0C44 002CDB84 7F E5 F2 14 */ add r31, r5, r30 +/* 802D0C48 002CDB88 7F E5 FB 78 */ mr r5, r31 +/* 802D0C4C 002CDB8C 4B FF DA 39 */ bl resize__7JKRHeapFPvUl +/* 802D0C50 002CDB90 2C 03 FF FF */ cmpwi r3, -1 +/* 802D0C54 002CDB94 41 82 00 30 */ beq lbl_802D0C84 +/* 802D0C58 002CDB98 38 00 00 00 */ li r0, 0 +/* 802D0C5C 002CDB9C 90 1D 00 6C */ stw r0, 0x6c(r29) +/* 802D0C60 002CDBA0 93 DD 00 38 */ stw r30, 0x38(r29) +/* 802D0C64 002CDBA4 80 7D 00 30 */ lwz r3, 0x30(r29) +/* 802D0C68 002CDBA8 80 1D 00 38 */ lwz r0, 0x38(r29) +/* 802D0C6C 002CDBAC 7C 03 02 14 */ add r0, r3, r0 +/* 802D0C70 002CDBB0 90 1D 00 34 */ stw r0, 0x34(r29) +/* 802D0C74 002CDBB4 80 1D 00 34 */ lwz r0, 0x34(r29) +/* 802D0C78 002CDBB8 90 1D 00 70 */ stw r0, 0x70(r29) +/* 802D0C7C 002CDBBC 80 1D 00 34 */ lwz r0, 0x34(r29) +/* 802D0C80 002CDBC0 90 1D 00 74 */ stw r0, 0x74(r29) +lbl_802D0C84: +/* 802D0C84 002CDBC4 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802D0C88 002CDBC8 48 06 E4 95 */ bl OSUnlockMutex +/* 802D0C8C 002CDBCC 7F E3 FB 78 */ mr r3, r31 +/* 802D0C90 002CDBD0 48 00 00 08 */ b lbl_802D0C98 +lbl_802D0C94: +/* 802D0C94 002CDBD4 38 60 FF FF */ li r3, -1 +lbl_802D0C98: +/* 802D0C98 002CDBD8 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0C9C 002CDBDC 48 09 15 8D */ bl _restgpr_29 +/* 802D0CA0 002CDBE0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0CA4 002CDBE4 7C 08 03 A6 */ mtlr r0 +/* 802D0CA8 002CDBE8 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0CAC 002CDBEC 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0CB0.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0CB0.s new file mode 100644 index 0000000000..59024a0ba1 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0CB0.s @@ -0,0 +1,49 @@ +/* do_alloc__12JKRSolidHeapFUli __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_alloc(unsigned long, int) */ +/* missing reference */ +/* 802D0CB0 002CDBF0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0CB4 002CDBF4 7C 08 02 A6 */ mflr r0 +/* 802D0CB8 002CDBF8 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0CBC 002CDBFC 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0CC0 002CDC00 48 09 15 1D */ bl _savegpr_29 +/* 802D0CC4 002CDC04 7C 7D 1B 78 */ mr r29, r3 +/* 802D0CC8 002CDC08 7C 9E 23 78 */ mr r30, r4 +/* 802D0CCC 002CDC0C 7C BF 2B 78 */ mr r31, r5 +/* 802D0CD0 002CDC10 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802D0CD4 002CDC14 48 06 E3 6D */ bl OSLockMutex +/* 802D0CD8 002CDC18 28 1E 00 04 */ cmplwi r30, 4 +/* 802D0CDC 002CDC1C 40 80 00 08 */ bge lbl_802D0CE4 +/* 802D0CE0 002CDC20 3B C0 00 04 */ li r30, 4 +lbl_802D0CE4: +/* 802D0CE4 002CDC24 2C 1F 00 00 */ cmpwi r31, 0 +/* 802D0CE8 002CDC28 41 80 00 28 */ blt lbl_802D0D10 +/* 802D0CEC 002CDC2C 7F A3 EB 78 */ mr r3, r29 +/* 802D0CF0 002CDC30 7F C4 F3 78 */ mr r4, r30 +/* 802D0CF4 002CDC34 2C 1F 00 04 */ cmpwi r31, 4 +/* 802D0CF8 002CDC38 38 A0 00 04 */ li r5, 4 +/* 802D0CFC 002CDC3C 41 80 00 08 */ blt lbl_802D0D04 +/* 802D0D00 002CDC40 7F E5 FB 78 */ mr r5, r31 +lbl_802D0D04: +/* 802D0D04 002CDC44 48 00 00 55 */ bl allocFromHead__12JKRSolidHeapFUli +/* 802D0D08 002CDC48 7C 7F 1B 78 */ mr r31, r3 +/* 802D0D0C 002CDC4C 48 00 00 28 */ b lbl_802D0D34 +lbl_802D0D10: +/* 802D0D10 002CDC50 7C 1F 00 D0 */ neg r0, r31 +/* 802D0D14 002CDC54 2C 00 00 04 */ cmpwi r0, 4 +/* 802D0D18 002CDC58 38 A0 00 04 */ li r5, 4 +/* 802D0D1C 002CDC5C 41 80 00 08 */ blt lbl_802D0D24 +/* 802D0D20 002CDC60 7C 05 03 78 */ mr r5, r0 +lbl_802D0D24: +/* 802D0D24 002CDC64 7F A3 EB 78 */ mr r3, r29 +/* 802D0D28 002CDC68 7F C4 F3 78 */ mr r4, r30 +/* 802D0D2C 002CDC6C 48 00 00 F5 */ bl allocFromTail__12JKRSolidHeapFUli +/* 802D0D30 002CDC70 7C 7F 1B 78 */ mr r31, r3 +lbl_802D0D34: +/* 802D0D34 002CDC74 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802D0D38 002CDC78 48 06 E3 E5 */ bl OSUnlockMutex +/* 802D0D3C 002CDC7C 7F E3 FB 78 */ mr r3, r31 +/* 802D0D40 002CDC80 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0D44 002CDC84 48 09 14 E5 */ bl _restgpr_29 +/* 802D0D48 002CDC88 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0D4C 002CDC8C 7C 08 03 A6 */ mtlr r0 +/* 802D0D50 002CDC90 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0D54 002CDC94 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0D58.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0D58.s new file mode 100644 index 0000000000..e3337b4d4b --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0D58.s @@ -0,0 +1,54 @@ +/* allocFromHead__12JKRSolidHeapFUli __ct__12JKRSolidHeapFPvUlP7JKRHeapb::allocFromHead(unsigned long, int) */ +/* JKRSolidHeap_NS_allocFromHead */ +/* 802D0D58 002CDC98 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0D5C 002CDC9C 7C 08 02 A6 */ mflr r0 +/* 802D0D60 002CDCA0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0D64 002CDCA4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0D68 002CDCA8 48 09 14 71 */ bl _savegpr_28 +/* 802D0D6C 002CDCAC 7C 7F 1B 78 */ mr r31, r3 +/* 802D0D70 002CDCB0 7C BD 2B 78 */ mr r29, r5 +/* 802D0D74 002CDCB4 38 04 00 03 */ addi r0, r4, 3 +/* 802D0D78 002CDCB8 54 1C 00 3A */ rlwinm r28, r0, 0, 0, 0x1d +/* 802D0D7C 002CDCBC 3B C0 00 00 */ li r30, 0 +/* 802D0D80 002CDCC0 38 1D FF FF */ addi r0, r29, -1 +/* 802D0D84 002CDCC4 7C 04 00 F8 */ nor r4, r0, r0 +/* 802D0D88 002CDCC8 80 A3 00 70 */ lwz r5, 0x70(r3) +/* 802D0D8C 002CDCCC 7C 7D 2A 14 */ add r3, r29, r5 +/* 802D0D90 002CDCD0 38 03 FF FF */ addi r0, r3, -1 +/* 802D0D94 002CDCD4 7C 83 00 38 */ and r3, r4, r0 +/* 802D0D98 002CDCD8 7C 05 18 50 */ subf r0, r5, r3 +/* 802D0D9C 002CDCDC 7C 9C 02 14 */ add r4, r28, r0 +/* 802D0DA0 002CDCE0 80 1F 00 6C */ lwz r0, 0x6c(r31) +/* 802D0DA4 002CDCE4 7C 04 00 40 */ cmplw r4, r0 +/* 802D0DA8 002CDCE8 41 81 00 20 */ bgt lbl_802D0DC8 +/* 802D0DAC 002CDCEC 7C 7E 1B 78 */ mr r30, r3 +/* 802D0DB0 002CDCF0 7C 05 22 14 */ add r0, r5, r4 +/* 802D0DB4 002CDCF4 90 1F 00 70 */ stw r0, 0x70(r31) +/* 802D0DB8 002CDCF8 80 1F 00 6C */ lwz r0, 0x6c(r31) +/* 802D0DBC 002CDCFC 7C 04 00 50 */ subf r0, r4, r0 +/* 802D0DC0 002CDD00 90 1F 00 6C */ stw r0, 0x6c(r31) +/* 802D0DC4 002CDD04 48 00 00 40 */ b lbl_802D0E04 +lbl_802D0DC8: +/* 802D0DC8 002CDD08 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D0DCC 002CDD0C 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D0DD0 002CDD10 4C C6 31 82 */ crclr 6 +/* 802D0DD4 002CDD14 48 01 78 A9 */ bl JUTWarningConsole_f +/* 802D0DD8 002CDD18 88 1F 00 68 */ lbz r0, 0x68(r31) +/* 802D0DDC 002CDD1C 28 00 00 01 */ cmplwi r0, 1 +/* 802D0DE0 002CDD20 40 82 00 24 */ bne lbl_802D0E04 +/* 802D0DE4 002CDD24 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) +/* 802D0DE8 002CDD28 28 0C 00 00 */ cmplwi r12, 0 +/* 802D0DEC 002CDD2C 41 82 00 18 */ beq lbl_802D0E04 +/* 802D0DF0 002CDD30 7F E3 FB 78 */ mr r3, r31 +/* 802D0DF4 002CDD34 7F 84 E3 78 */ mr r4, r28 +/* 802D0DF8 002CDD38 7F A5 EB 78 */ mr r5, r29 +/* 802D0DFC 002CDD3C 7D 89 03 A6 */ mtctr r12 +/* 802D0E00 002CDD40 4E 80 04 21 */ bctrl +lbl_802D0E04: +/* 802D0E04 002CDD44 7F C3 F3 78 */ mr r3, r30 +/* 802D0E08 002CDD48 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0E0C 002CDD4C 48 09 14 19 */ bl _restgpr_28 +/* 802D0E10 002CDD50 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0E14 002CDD54 7C 08 03 A6 */ mtlr r0 +/* 802D0E18 002CDD58 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0E1C 002CDD5C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0E20.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0E20.s new file mode 100644 index 0000000000..cc9de791cd --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0E20.s @@ -0,0 +1,53 @@ +/* allocFromTail__12JKRSolidHeapFUli __ct__12JKRSolidHeapFPvUlP7JKRHeapb::allocFromTail(unsigned long, int) */ +/* JKRSolidHeap_NS_allocFromTail */ +/* 802D0E20 002CDD60 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D0E24 002CDD64 7C 08 02 A6 */ mflr r0 +/* 802D0E28 002CDD68 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D0E2C 002CDD6C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0E30 002CDD70 48 09 13 A9 */ bl _savegpr_28 +/* 802D0E34 002CDD74 7C 7F 1B 78 */ mr r31, r3 +/* 802D0E38 002CDD78 7C BD 2B 78 */ mr r29, r5 +/* 802D0E3C 002CDD7C 38 04 00 03 */ addi r0, r4, 3 +/* 802D0E40 002CDD80 54 1C 00 3A */ rlwinm r28, r0, 0, 0, 0x1d +/* 802D0E44 002CDD84 3B C0 00 00 */ li r30, 0 +/* 802D0E48 002CDD88 38 1D FF FF */ addi r0, r29, -1 +/* 802D0E4C 002CDD8C 7C 03 00 F8 */ nor r3, r0, r0 +/* 802D0E50 002CDD90 80 BF 00 74 */ lwz r5, 0x74(r31) +/* 802D0E54 002CDD94 7C 1C 28 50 */ subf r0, r28, r5 +/* 802D0E58 002CDD98 7C 63 00 38 */ and r3, r3, r0 +/* 802D0E5C 002CDD9C 7C 83 28 50 */ subf r4, r3, r5 +/* 802D0E60 002CDDA0 80 1F 00 6C */ lwz r0, 0x6c(r31) +/* 802D0E64 002CDDA4 7C 04 00 40 */ cmplw r4, r0 +/* 802D0E68 002CDDA8 41 81 00 20 */ bgt lbl_802D0E88 +/* 802D0E6C 002CDDAC 7C 7E 1B 78 */ mr r30, r3 +/* 802D0E70 002CDDB0 7C 04 28 50 */ subf r0, r4, r5 +/* 802D0E74 002CDDB4 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D0E78 002CDDB8 80 1F 00 6C */ lwz r0, 0x6c(r31) +/* 802D0E7C 002CDDBC 7C 04 00 50 */ subf r0, r4, r0 +/* 802D0E80 002CDDC0 90 1F 00 6C */ stw r0, 0x6c(r31) +/* 802D0E84 002CDDC4 48 00 00 44 */ b lbl_802D0EC8 +lbl_802D0E88: +/* 802D0E88 002CDDC8 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D0E8C 002CDDCC 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D0E90 002CDDD0 38 63 00 31 */ addi r3, r3, 0x31 +/* 802D0E94 002CDDD4 4C C6 31 82 */ crclr 6 +/* 802D0E98 002CDDD8 48 01 77 E5 */ bl JUTWarningConsole_f +/* 802D0E9C 002CDDDC 88 1F 00 68 */ lbz r0, 0x68(r31) +/* 802D0EA0 002CDDE0 28 00 00 01 */ cmplwi r0, 1 +/* 802D0EA4 002CDDE4 40 82 00 24 */ bne lbl_802D0EC8 +/* 802D0EA8 002CDDE8 81 8D 8D FC */ lwz r12, lbl_8045137C-_SDA_BASE_(r13) +/* 802D0EAC 002CDDEC 28 0C 00 00 */ cmplwi r12, 0 +/* 802D0EB0 002CDDF0 41 82 00 18 */ beq lbl_802D0EC8 +/* 802D0EB4 002CDDF4 7F E3 FB 78 */ mr r3, r31 +/* 802D0EB8 002CDDF8 7F 84 E3 78 */ mr r4, r28 +/* 802D0EBC 002CDDFC 7F A5 EB 78 */ mr r5, r29 +/* 802D0EC0 002CDE00 7D 89 03 A6 */ mtctr r12 +/* 802D0EC4 002CDE04 4E 80 04 21 */ bctrl +lbl_802D0EC8: +/* 802D0EC8 002CDE08 7F C3 F3 78 */ mr r3, r30 +/* 802D0ECC 002CDE0C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D0ED0 002CDE10 48 09 13 55 */ bl _restgpr_28 +/* 802D0ED4 002CDE14 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D0ED8 002CDE18 7C 08 03 A6 */ mtlr r0 +/* 802D0EDC 002CDE1C 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D0EE0 002CDE20 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0EE4.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0EE4.s new file mode 100644 index 0000000000..166f327a5f --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0EE4.s @@ -0,0 +1,14 @@ +/* do_free__12JKRSolidHeapFPv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_free(void *) */ +/* missing reference */ +/* 802D0EE4 002CDE24 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0EE8 002CDE28 7C 08 02 A6 */ mflr r0 +/* 802D0EEC 002CDE2C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0EF0 002CDE30 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D0EF4 002CDE34 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D0EF8 002CDE38 38 63 00 62 */ addi r3, r3, 0x62 +/* 802D0EFC 002CDE3C 4C C6 31 82 */ crclr 6 +/* 802D0F00 002CDE40 48 01 77 7D */ bl JUTWarningConsole_f +/* 802D0F04 002CDE44 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0F08 002CDE48 7C 08 03 A6 */ mtlr r0 +/* 802D0F0C 002CDE4C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0F10 002CDE50 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F14.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F14.s new file mode 100644 index 0000000000..84fb558616 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F14.s @@ -0,0 +1,26 @@ +/* do_freeAll__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_freeAll(void) */ +/* missing reference */ +/* 802D0F14 002CDE54 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0F18 002CDE58 7C 08 02 A6 */ mflr r0 +/* 802D0F1C 002CDE5C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0F20 002CDE60 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0F24 002CDE64 7C 7F 1B 78 */ mr r31, r3 +/* 802D0F28 002CDE68 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802D0F2C 002CDE6C 48 06 E1 15 */ bl OSLockMutex +/* 802D0F30 002CDE70 7F E3 FB 78 */ mr r3, r31 +/* 802D0F34 002CDE74 4B FF D6 41 */ bl callAllDisposer__7JKRHeapFv +/* 802D0F38 002CDE78 80 1F 00 38 */ lwz r0, 0x38(r31) +/* 802D0F3C 002CDE7C 90 1F 00 6C */ stw r0, 0x6c(r31) +/* 802D0F40 002CDE80 80 1F 00 30 */ lwz r0, 0x30(r31) +/* 802D0F44 002CDE84 90 1F 00 70 */ stw r0, 0x70(r31) +/* 802D0F48 002CDE88 80 1F 00 34 */ lwz r0, 0x34(r31) +/* 802D0F4C 002CDE8C 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D0F50 002CDE90 38 00 00 00 */ li r0, 0 +/* 802D0F54 002CDE94 90 1F 00 78 */ stw r0, 0x78(r31) +/* 802D0F58 002CDE98 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802D0F5C 002CDE9C 48 06 E1 C1 */ bl OSUnlockMutex +/* 802D0F60 002CDEA0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0F64 002CDEA4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0F68 002CDEA8 7C 08 03 A6 */ mtlr r0 +/* 802D0F6C 002CDEAC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0F70 002CDEB0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F74.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F74.s new file mode 100644 index 0000000000..2fa8e99e1d --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0F74.s @@ -0,0 +1,40 @@ +/* do_freeTail__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_freeTail(void) */ +/* missing reference */ +/* 802D0F74 002CDEB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D0F78 002CDEB8 7C 08 02 A6 */ mflr r0 +/* 802D0F7C 002CDEBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D0F80 002CDEC0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D0F84 002CDEC4 7C 7F 1B 78 */ mr r31, r3 +/* 802D0F88 002CDEC8 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802D0F8C 002CDECC 48 06 E0 B5 */ bl OSLockMutex +/* 802D0F90 002CDED0 80 9F 00 74 */ lwz r4, 0x74(r31) +/* 802D0F94 002CDED4 80 BF 00 34 */ lwz r5, 0x34(r31) +/* 802D0F98 002CDED8 7C 04 28 40 */ cmplw r4, r5 +/* 802D0F9C 002CDEDC 41 82 00 0C */ beq lbl_802D0FA8 +/* 802D0FA0 002CDEE0 7F E3 FB 78 */ mr r3, r31 +/* 802D0FA4 002CDEE4 4B FF DA FD */ bl dispose__7JKRHeapFPvPv +lbl_802D0FA8: +/* 802D0FA8 002CDEE8 80 9F 00 6C */ lwz r4, 0x6c(r31) +/* 802D0FAC 002CDEEC 80 7F 00 74 */ lwz r3, 0x74(r31) +/* 802D0FB0 002CDEF0 80 1F 00 34 */ lwz r0, 0x34(r31) +/* 802D0FB4 002CDEF4 7C 03 00 50 */ subf r0, r3, r0 +/* 802D0FB8 002CDEF8 7C 04 02 14 */ add r0, r4, r0 +/* 802D0FBC 002CDEFC 90 1F 00 6C */ stw r0, 0x6c(r31) +/* 802D0FC0 002CDF00 80 1F 00 34 */ lwz r0, 0x34(r31) +/* 802D0FC4 002CDF04 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D0FC8 002CDF08 80 7F 00 78 */ lwz r3, 0x78(r31) +/* 802D0FCC 002CDF0C 48 00 00 10 */ b lbl_802D0FDC +lbl_802D0FD0: +/* 802D0FD0 002CDF10 80 1F 00 34 */ lwz r0, 0x34(r31) +/* 802D0FD4 002CDF14 90 03 00 0C */ stw r0, 0xc(r3) +/* 802D0FD8 002CDF18 80 63 00 10 */ lwz r3, 0x10(r3) +lbl_802D0FDC: +/* 802D0FDC 002CDF1C 28 03 00 00 */ cmplwi r3, 0 +/* 802D0FE0 002CDF20 40 82 FF F0 */ bne lbl_802D0FD0 +/* 802D0FE4 002CDF24 38 7F 00 18 */ addi r3, r31, 0x18 +/* 802D0FE8 002CDF28 48 06 E1 35 */ bl OSUnlockMutex +/* 802D0FEC 002CDF2C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D0FF0 002CDF30 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D0FF4 002CDF34 7C 08 03 A6 */ mtlr r0 +/* 802D0FF8 002CDF38 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D0FFC 002CDF3C 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1000.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1000.s new file mode 100644 index 0000000000..b96236a1e2 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1000.s @@ -0,0 +1,3 @@ +/* do_fillFreeArea__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_fillFreeArea(void) */ +/* missing reference */ +/* 802D1000 002CDF40 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1004.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1004.s new file mode 100644 index 0000000000..148ba65bba --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1004.s @@ -0,0 +1,15 @@ +/* do_resize__12JKRSolidHeapFPvUl __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_resize(void *, unsigned long) */ +/* missing reference */ +/* 802D1004 002CDF44 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1008 002CDF48 7C 08 02 A6 */ mflr r0 +/* 802D100C 002CDF4C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1010 002CDF50 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D1014 002CDF54 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D1018 002CDF58 38 63 00 89 */ addi r3, r3, 0x89 +/* 802D101C 002CDF5C 4C C6 31 82 */ crclr 6 +/* 802D1020 002CDF60 48 01 76 5D */ bl JUTWarningConsole_f +/* 802D1024 002CDF64 38 60 FF FF */ li r3, -1 +/* 802D1028 002CDF68 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D102C 002CDF6C 7C 08 03 A6 */ mtlr r0 +/* 802D1030 002CDF70 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1034 002CDF74 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1038.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1038.s new file mode 100644 index 0000000000..0e7f75f848 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1038.s @@ -0,0 +1,15 @@ +/* do_getSize__12JKRSolidHeapFPv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_getSize(void *) */ +/* missing reference */ +/* 802D1038 002CDF78 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D103C 002CDF7C 7C 08 02 A6 */ mflr r0 +/* 802D1040 002CDF80 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1044 002CDF84 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D1048 002CDF88 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D104C 002CDF8C 38 63 00 B8 */ addi r3, r3, 0xb8 +/* 802D1050 002CDF90 4C C6 31 82 */ crclr 6 +/* 802D1054 002CDF94 48 01 76 29 */ bl JUTWarningConsole_f +/* 802D1058 002CDF98 38 60 FF FF */ li r3, -1 +/* 802D105C 002CDF9C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1060 002CDFA0 7C 08 03 A6 */ mtlr r0 +/* 802D1064 002CDFA4 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1068 002CDFA8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D106C.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D106C.s new file mode 100644 index 0000000000..07d4f7d1ff --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D106C.s @@ -0,0 +1,39 @@ +/* check__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::check(void) */ +/* missing reference */ +/* 802D106C 002CDFAC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1070 002CDFB0 7C 08 02 A6 */ mflr r0 +/* 802D1074 002CDFB4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1078 002CDFB8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D107C 002CDFBC 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1080 002CDFC0 7C 7E 1B 78 */ mr r30, r3 +/* 802D1084 002CDFC4 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D1088 002CDFC8 48 06 DF B9 */ bl OSLockMutex +/* 802D108C 002CDFCC 3B E0 00 01 */ li r31, 1 +/* 802D1090 002CDFD0 80 DE 00 6C */ lwz r6, 0x6c(r30) +/* 802D1094 002CDFD4 80 7E 00 30 */ lwz r3, 0x30(r30) +/* 802D1098 002CDFD8 80 1E 00 70 */ lwz r0, 0x70(r30) +/* 802D109C 002CDFDC 7C 83 00 50 */ subf r4, r3, r0 +/* 802D10A0 002CDFE0 80 7E 00 74 */ lwz r3, 0x74(r30) +/* 802D10A4 002CDFE4 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 802D10A8 002CDFE8 7C 03 00 50 */ subf r0, r3, r0 +/* 802D10AC 002CDFEC 7C A4 02 14 */ add r5, r4, r0 +/* 802D10B0 002CDFF0 7C A6 2A 14 */ add r5, r6, r5 +/* 802D10B4 002CDFF4 80 9E 00 38 */ lwz r4, 0x38(r30) +/* 802D10B8 002CDFF8 7C 05 20 40 */ cmplw r5, r4 +/* 802D10BC 002CDFFC 41 82 00 1C */ beq lbl_802D10D8 +/* 802D10C0 002CE000 3B E0 00 00 */ li r31, 0 +/* 802D10C4 002CE004 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D10C8 002CE008 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D10CC 002CE00C 38 63 00 E6 */ addi r3, r3, 0xe6 +/* 802D10D0 002CE010 4C C6 31 82 */ crclr 6 +/* 802D10D4 002CE014 48 01 75 A9 */ bl JUTWarningConsole_f +lbl_802D10D8: +/* 802D10D8 002CE018 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D10DC 002CE01C 48 06 E0 41 */ bl OSUnlockMutex +/* 802D10E0 002CE020 7F E3 FB 78 */ mr r3, r31 +/* 802D10E4 002CE024 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D10E8 002CE028 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D10EC 002CE02C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D10F0 002CE030 7C 08 03 A6 */ mtlr r0 +/* 802D10F4 002CE034 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D10F8 002CE038 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D10FC.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D10FC.s new file mode 100644 index 0000000000..894a5e4183 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D10FC.s @@ -0,0 +1,66 @@ +/* dump__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::dump(void) */ +/* missing reference */ +/* 802D10FC 002CE03C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 802D1100 002CE040 7C 08 02 A6 */ mflr r0 +/* 802D1104 002CE044 90 01 00 34 */ stw r0, 0x34(r1) +/* 802D1108 002CE048 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D110C 002CE04C 48 09 10 D1 */ bl _savegpr_29 +/* 802D1110 002CE050 7C 7E 1B 78 */ mr r30, r3 +/* 802D1114 002CE054 81 83 00 00 */ lwz r12, 0(r3) +/* 802D1118 002CE058 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 802D111C 002CE05C 7D 89 03 A6 */ mtctr r12 +/* 802D1120 002CE060 4E 80 04 21 */ bctrl +/* 802D1124 002CE064 7C 7F 1B 78 */ mr r31, r3 +/* 802D1128 002CE068 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D112C 002CE06C 48 06 DF 15 */ bl OSLockMutex +/* 802D1130 002CE070 80 9E 00 30 */ lwz r4, 0x30(r30) +/* 802D1134 002CE074 80 1E 00 70 */ lwz r0, 0x70(r30) +/* 802D1138 002CE078 7C A4 00 50 */ subf r5, r4, r0 +/* 802D113C 002CE07C 80 7E 00 74 */ lwz r3, 0x74(r30) +/* 802D1140 002CE080 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 802D1144 002CE084 7C 03 00 50 */ subf r0, r3, r0 +/* 802D1148 002CE088 7F A5 02 14 */ add r29, r5, r0 +/* 802D114C 002CE08C 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D1150 002CE090 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D1154 002CE094 38 63 01 17 */ addi r3, r3, 0x117 +/* 802D1158 002CE098 4C C6 31 82 */ crclr 6 +/* 802D115C 002CE09C 48 01 74 6D */ bl JUTReportConsole_f +/* 802D1160 002CE0A0 80 9E 00 74 */ lwz r4, 0x74(r30) +/* 802D1164 002CE0A4 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D1168 002CE0A8 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D116C 002CE0AC 38 63 01 28 */ addi r3, r3, 0x128 +/* 802D1170 002CE0B0 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 802D1174 002CE0B4 7C A4 00 50 */ subf r5, r4, r0 +/* 802D1178 002CE0B8 4C C6 31 82 */ crclr 6 +/* 802D117C 002CE0BC 48 01 74 4D */ bl JUTReportConsole_f +/* 802D1180 002CE0C0 80 BE 00 38 */ lwz r5, 0x38(r30) +/* 802D1184 002CE0C4 3C 60 80 3A */ lis r3, lbl_8039CE50@ha +/* 802D1188 002CE0C8 38 63 CE 50 */ addi r3, r3, lbl_8039CE50@l +/* 802D118C 002CE0CC 38 63 01 39 */ addi r3, r3, 0x139 +/* 802D1190 002CE0D0 7F A4 EB 78 */ mr r4, r29 +/* 802D1194 002CE0D4 C0 62 C5 A8 */ lfs f3, lbl_80455FA8-_SDA2_BASE_(r2) +/* 802D1198 002CE0D8 C8 22 C5 B0 */ lfd f1, lbl_80455FB0-_SDA2_BASE_(r2) +/* 802D119C 002CE0DC 6F A0 80 00 */ xoris r0, r29, 0x8000 +/* 802D11A0 002CE0E0 90 01 00 0C */ stw r0, 0xc(r1) +/* 802D11A4 002CE0E4 3C 00 43 30 */ lis r0, 0x4330 +/* 802D11A8 002CE0E8 90 01 00 08 */ stw r0, 8(r1) +/* 802D11AC 002CE0EC C8 01 00 08 */ lfd f0, 8(r1) +/* 802D11B0 002CE0F0 EC 40 08 28 */ fsubs f2, f0, f1 +/* 802D11B4 002CE0F4 C8 22 C5 B8 */ lfd f1, lbl_80455FB8-_SDA2_BASE_(r2) +/* 802D11B8 002CE0F8 90 A1 00 14 */ stw r5, 0x14(r1) +/* 802D11BC 002CE0FC 90 01 00 10 */ stw r0, 0x10(r1) +/* 802D11C0 002CE100 C8 01 00 10 */ lfd f0, 0x10(r1) +/* 802D11C4 002CE104 EC 00 08 28 */ fsubs f0, f0, f1 +/* 802D11C8 002CE108 EC 02 00 24 */ fdivs f0, f2, f0 +/* 802D11CC 002CE10C EC 23 00 32 */ fmuls f1, f3, f0 +/* 802D11D0 002CE110 4C C6 32 42 */ crset 6 +/* 802D11D4 002CE114 48 01 73 F5 */ bl JUTReportConsole_f +/* 802D11D8 002CE118 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D11DC 002CE11C 48 06 DF 41 */ bl OSUnlockMutex +/* 802D11E0 002CE120 7F E3 FB 78 */ mr r3, r31 +/* 802D11E4 002CE124 39 61 00 30 */ addi r11, r1, 0x30 +/* 802D11E8 002CE128 48 09 10 41 */ bl _restgpr_29 +/* 802D11EC 002CE12C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 802D11F0 002CE130 7C 08 03 A6 */ mtlr r0 +/* 802D11F4 002CE134 38 21 00 30 */ addi r1, r1, 0x30 +/* 802D11F8 002CE138 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D11FC.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D11FC.s new file mode 100644 index 0000000000..6a6fe6fa45 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D11FC.s @@ -0,0 +1,25 @@ +/* state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl __ct__12JKRSolidHeapFPvUlP7JKRHeapb::state_register( const(JKRHeap::TState *, unsigned long)) */ +/* missing reference */ +/* 802D11FC 002CE13C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1200 002CE140 7C 08 02 A6 */ mflr r0 +/* 802D1204 002CE144 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1208 002CE148 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D120C 002CE14C 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1210 002CE150 7C 7E 1B 78 */ mr r30, r3 +/* 802D1214 002CE154 7C 9F 23 78 */ mr r31, r4 +/* 802D1218 002CE158 90 A4 00 14 */ stw r5, 0x14(r4) +/* 802D121C 002CE15C 4B FF D5 69 */ bl getTotalFreeSize__7JKRHeapFv +/* 802D1220 002CE160 80 1E 00 38 */ lwz r0, 0x38(r30) +/* 802D1224 002CE164 7C 03 00 50 */ subf r0, r3, r0 +/* 802D1228 002CE168 90 1F 00 00 */ stw r0, 0(r31) +/* 802D122C 002CE16C 80 7E 00 70 */ lwz r3, 0x70(r30) +/* 802D1230 002CE170 80 1E 00 74 */ lwz r0, 0x74(r30) +/* 802D1234 002CE174 1C 00 00 03 */ mulli r0, r0, 3 +/* 802D1238 002CE178 7C 63 02 14 */ add r3, r3, r0 +/* 802D123C 002CE17C 90 7F 00 04 */ stw r3, 4(r31) +/* 802D1240 002CE180 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1244 002CE184 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1248 002CE188 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D124C 002CE18C 7C 08 03 A6 */ mtlr r0 +/* 802D1250 002CE190 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1254 002CE194 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1258.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1258.s new file mode 100644 index 0000000000..f07e024f1e --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1258.s @@ -0,0 +1,15 @@ +/* state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState __ct__12JKRSolidHeapFPvUlP7JKRHeapb::state_compare( const(JKRHeap::TState const &, JKRHeap::TState const &)) */ +/* missing reference */ +/* 802D1258 002CE198 38 60 00 01 */ li r3, 1 +/* 802D125C 002CE19C 80 C4 00 04 */ lwz r6, 4(r4) +/* 802D1260 002CE1A0 80 05 00 04 */ lwz r0, 4(r5) +/* 802D1264 002CE1A4 7C 06 00 40 */ cmplw r6, r0 +/* 802D1268 002CE1A8 41 82 00 08 */ beq lbl_802D1270 +/* 802D126C 002CE1AC 38 60 00 00 */ li r3, 0 +lbl_802D1270: +/* 802D1270 002CE1B0 80 84 00 00 */ lwz r4, 0(r4) +/* 802D1274 002CE1B4 80 05 00 00 */ lwz r0, 0(r5) +/* 802D1278 002CE1B8 7C 04 00 40 */ cmplw r4, r0 +/* 802D127C 002CE1BC 4D 82 00 20 */ beqlr +/* 802D1280 002CE1C0 38 60 00 00 */ li r3, 0 +/* 802D1284 002CE1C4 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1288.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1288.s new file mode 100644 index 0000000000..9036a98e4e --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1288.s @@ -0,0 +1,5 @@ +/* getHeapType__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::getHeapType(void) */ +/* missing reference */ +/* 802D1288 002CE1C8 3C 60 53 4C */ lis r3, 0x534C4944@ha +/* 802D128C 002CE1CC 38 63 49 44 */ addi r3, r3, 0x534C4944@l +/* 802D1290 002CE1D0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1294.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1294.s new file mode 100644 index 0000000000..5237eef313 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D1294.s @@ -0,0 +1,4 @@ +/* do_getFreeSize__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_getFreeSize(void) */ +/* missing reference */ +/* 802D1294 002CE1D4 80 63 00 6C */ lwz r3, 0x6c(r3) +/* 802D1298 002CE1D8 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D129C.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D129C.s new file mode 100644 index 0000000000..d92e6ab6dd --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D129C.s @@ -0,0 +1,4 @@ +/* do_getMaxFreeBlock__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_getMaxFreeBlock(void) */ +/* missing reference */ +/* 802D129C 002CE1DC 80 63 00 70 */ lwz r3, 0x70(r3) +/* 802D12A0 002CE1E0 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D12A4.s b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D12A4.s new file mode 100644 index 0000000000..0ecd304340 --- /dev/null +++ b/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D12A4.s @@ -0,0 +1,10 @@ +/* do_getTotalFreeSize__12JKRSolidHeapFv __ct__12JKRSolidHeapFPvUlP7JKRHeapb::do_getTotalFreeSize(void) */ +/* missing reference */ +/* 802D12A4 002CE1E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D12A8 002CE1E8 7C 08 02 A6 */ mflr r0 +/* 802D12AC 002CE1EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D12B0 002CE1F0 4B FF D4 7D */ bl getFreeSize__7JKRHeapFv +/* 802D12B4 002CE1F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D12B8 002CE1F8 7C 08 03 A6 */ mtlr r0 +/* 802D12BC 002CE1FC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D12C0 002CE200 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRThread/JKRThread.h b/include/JSystem/JKernel/JKRThread/JKRThread.h new file mode 100644 index 0000000000..f5b3d6cfa6 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/JKRThread.h @@ -0,0 +1,87 @@ +#ifndef __JKRTHREAD_H__ +#define __JKRTHREAD_H__ + +#include "dolphin/types.h" +#include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" + +struct OSThread { + u8 unkn[0x318]; +}; + +struct OSMessageQueue { + u8 unkn[0x20]; +}; + +typedef void* OSMessage; + +class JKRThread; +extern JSUList lbl_8043428C; // JSUList JKRThread::sThreadList + +class JKRThreadName_; +class JUTConsole; +class JKRHeap; +class JKRThread : JKRDisposer { + public: + JKRThread(u32 stack_size, int message_count, int param_3); + JKRThread(JKRHeap* heap, u32 stack_size, int message_count, int param_4); + JKRThread(OSThread* thread, int message_count); + virtual ~JKRThread(); + + void setCommon_mesgQueue(JKRHeap* heap, int message_count); + void setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3); + + OSThread* getThreadRecord() { + return this->mOsThread; + } + + static void* start(void* param_1); + static JKRThread* searchThread(OSThread* thread); + static JSUList* getList() { + return &lbl_8043428C; + } + + virtual void* run(); + + public: + JSULink mThreadListLink; + JKRHeap* mHeap; + OSThread* mOsThread; + OSMessageQueue mQueue; + OSMessage* mMessages; + int mMessageCount; + void* mStackPtr; + u32 mStackSize; + u8 field_0x60; + u8 padding_0x61[3]; + u32 mCost; + u32 mSwitchCount; + u32 field_0x6c; + u32 field_0x70; + JKRHeap* field_0x74; + JKRHeap* field_0x78; +}; + +class JKRThreadSwitch { + public: + JKRThreadSwitch(JKRHeap*); + virtual ~JKRThreadSwitch(); + + static JKRThreadSwitch* createManager(JKRHeap* heap); + + JKRThread* enter(JKRThread* param_1, int param_2); + static void callback(OSThread* param_1, OSThread* param_2); + void draw(JKRThreadName_* param_1, JUTConsole* param_2); + void draw(JKRThreadName_* param_1); + + public: + JKRHeap* heap; + u8 field_0x8[4]; + u32 field_0xC[2]; + u8 field_0x14[4]; + u32 field_0x18; + u32 field_0x1C; + u32 field_0x20; + u32 field_0x24; +}; + +#endif diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s new file mode 100644 index 0000000000..987b22cdf3 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1568.s @@ -0,0 +1,43 @@ +/* 802D1568 002CE4A8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D156C 002CE4AC 7C 08 02 A6 */ mflr r0 +/* 802D1570 002CE4B0 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D1574 002CE4B4 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D1578 002CE4B8 48 09 0C 61 */ bl _savegpr_28 +/* 802D157C 002CE4BC 7C 7C 1B 78 */ mr r28, r3 +/* 802D1580 002CE4C0 7C 9D 23 78 */ mr r29, r4 +/* 802D1584 002CE4C4 7C BE 2B 78 */ mr r30, r5 +/* 802D1588 002CE4C8 7C DF 33 78 */ mr r31, r6 +/* 802D158C 002CE4CC 4B FF FE F1 */ bl __ct__11JKRDisposerFv +/* 802D1590 002CE4D0 3C 60 80 3D */ lis r3, lbl_803CC114@ha +/* 802D1594 002CE4D4 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l +/* 802D1598 002CE4D8 90 1C 00 00 */ stw r0, 0(r28) +/* 802D159C 002CE4DC 38 7C 00 18 */ addi r3, r28, 0x18 +/* 802D15A0 002CE4E0 7F 84 E3 78 */ mr r4, r28 +/* 802D15A4 002CE4E4 48 00 A8 59 */ bl __ct__10JSUPtrLinkFPv +/* 802D15A8 002CE4E8 38 00 00 00 */ li r0, 0 +/* 802D15AC 002CE4EC 90 1C 00 68 */ stw r0, 0x68(r28) +/* 802D15B0 002CE4F0 90 1C 00 64 */ stw r0, 0x64(r28) +/* 802D15B4 002CE4F4 90 1C 00 6C */ stw r0, 0x6c(r28) +/* 802D15B8 002CE4F8 98 1C 00 60 */ stb r0, 0x60(r28) +/* 802D15BC 002CE4FC 90 1C 00 70 */ stw r0, 0x70(r28) +/* 802D15C0 002CE500 7F 83 E3 78 */ mr r3, r28 +/* 802D15C4 002CE504 4B FF D2 79 */ bl findFromRoot__7JKRHeapFPv +/* 802D15C8 002CE508 7C 64 1B 79 */ or. r4, r3, r3 +/* 802D15CC 002CE50C 40 82 00 08 */ bne lbl_802D15D4 +/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +lbl_802D15D4: +/* 802D15D4 002CE514 7F 83 E3 78 */ mr r3, r28 +/* 802D15D8 002CE518 7F A5 EB 78 */ mr r5, r29 +/* 802D15DC 002CE51C 7F E6 FB 78 */ mr r6, r31 +/* 802D15E0 002CE520 48 00 02 C5 */ bl setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli +/* 802D15E4 002CE524 7F 83 E3 78 */ mr r3, r28 +/* 802D15E8 002CE528 80 9C 00 28 */ lwz r4, 0x28(r28) +/* 802D15EC 002CE52C 7F C5 F3 78 */ mr r5, r30 +/* 802D15F0 002CE530 48 00 02 41 */ bl setCommon_mesgQueue__9JKRThreadFP7JKRHeapi +/* 802D15F4 002CE534 7F 83 E3 78 */ mr r3, r28 +/* 802D15F8 002CE538 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D15FC 002CE53C 48 09 0C 29 */ bl _restgpr_28 +/* 802D1600 002CE540 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D1604 002CE544 7C 08 03 A6 */ mtlr r0 +/* 802D1608 002CE548 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D160C 002CE54C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s new file mode 100644 index 0000000000..f9ff4b833a --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1610.s @@ -0,0 +1,43 @@ +/* 802D1610 002CE550 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D1614 002CE554 7C 08 02 A6 */ mflr r0 +/* 802D1618 002CE558 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D161C 002CE55C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D1620 002CE560 48 09 0B B5 */ bl _savegpr_27 +/* 802D1624 002CE564 7C 7B 1B 78 */ mr r27, r3 +/* 802D1628 002CE568 7C 9C 23 78 */ mr r28, r4 +/* 802D162C 002CE56C 7C BD 2B 78 */ mr r29, r5 +/* 802D1630 002CE570 7C DE 33 78 */ mr r30, r6 +/* 802D1634 002CE574 7C FF 3B 78 */ mr r31, r7 +/* 802D1638 002CE578 4B FF FE 45 */ bl __ct__11JKRDisposerFv +/* 802D163C 002CE57C 3C 60 80 3D */ lis r3, lbl_803CC114@ha +/* 802D1640 002CE580 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l +/* 802D1644 002CE584 90 1B 00 00 */ stw r0, 0(r27) +/* 802D1648 002CE588 38 7B 00 18 */ addi r3, r27, 0x18 +/* 802D164C 002CE58C 7F 64 DB 78 */ mr r4, r27 +/* 802D1650 002CE590 48 00 A7 AD */ bl __ct__10JSUPtrLinkFPv +/* 802D1654 002CE594 38 00 00 00 */ li r0, 0 +/* 802D1658 002CE598 90 1B 00 68 */ stw r0, 0x68(r27) +/* 802D165C 002CE59C 90 1B 00 64 */ stw r0, 0x64(r27) +/* 802D1660 002CE5A0 90 1B 00 6C */ stw r0, 0x6c(r27) +/* 802D1664 002CE5A4 98 1B 00 60 */ stb r0, 0x60(r27) +/* 802D1668 002CE5A8 90 1B 00 70 */ stw r0, 0x70(r27) +/* 802D166C 002CE5AC 28 1C 00 00 */ cmplwi r28, 0 +/* 802D1670 002CE5B0 40 82 00 08 */ bne lbl_802D1678 +/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, lbl_80451374-_SDA_BASE_(r13) +lbl_802D1678: +/* 802D1678 002CE5B8 7F 63 DB 78 */ mr r3, r27 +/* 802D167C 002CE5BC 7F 84 E3 78 */ mr r4, r28 +/* 802D1680 002CE5C0 7F A5 EB 78 */ mr r5, r29 +/* 802D1684 002CE5C4 7F E6 FB 78 */ mr r6, r31 +/* 802D1688 002CE5C8 48 00 02 1D */ bl setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli +/* 802D168C 002CE5CC 7F 63 DB 78 */ mr r3, r27 +/* 802D1690 002CE5D0 80 9B 00 28 */ lwz r4, 0x28(r27) +/* 802D1694 002CE5D4 7F C5 F3 78 */ mr r5, r30 +/* 802D1698 002CE5D8 48 00 01 99 */ bl setCommon_mesgQueue__9JKRThreadFP7JKRHeapi +/* 802D169C 002CE5DC 7F 63 DB 78 */ mr r3, r27 +/* 802D16A0 002CE5E0 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D16A4 002CE5E4 48 09 0B 7D */ bl _restgpr_27 +/* 802D16A8 002CE5E8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D16AC 002CE5EC 7C 08 03 A6 */ mtlr r0 +/* 802D16B0 002CE5F0 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D16B4 002CE5F4 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s b/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s new file mode 100644 index 0000000000..f8504eec89 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D16B8.s @@ -0,0 +1,40 @@ +/* 802D16B8 002CE5F8 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D16BC 002CE5FC 7C 08 02 A6 */ mflr r0 +/* 802D16C0 002CE600 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D16C4 002CE604 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D16C8 002CE608 48 09 0B 15 */ bl _savegpr_29 +/* 802D16CC 002CE60C 7C 7D 1B 78 */ mr r29, r3 +/* 802D16D0 002CE610 7C 9E 23 78 */ mr r30, r4 +/* 802D16D4 002CE614 7C BF 2B 78 */ mr r31, r5 +/* 802D16D8 002CE618 4B FF FD A5 */ bl __ct__11JKRDisposerFv +/* 802D16DC 002CE61C 3C 60 80 3D */ lis r3, lbl_803CC114@ha +/* 802D16E0 002CE620 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l +/* 802D16E4 002CE624 90 1D 00 00 */ stw r0, 0(r29) +/* 802D16E8 002CE628 38 7D 00 18 */ addi r3, r29, 0x18 +/* 802D16EC 002CE62C 7F A4 EB 78 */ mr r4, r29 +/* 802D16F0 002CE630 48 00 A7 0D */ bl __ct__10JSUPtrLinkFPv +/* 802D16F4 002CE634 38 00 00 00 */ li r0, 0 +/* 802D16F8 002CE638 90 1D 00 68 */ stw r0, 0x68(r29) +/* 802D16FC 002CE63C 90 1D 00 64 */ stw r0, 0x64(r29) +/* 802D1700 002CE640 90 1D 00 6C */ stw r0, 0x6c(r29) +/* 802D1704 002CE644 98 1D 00 60 */ stb r0, 0x60(r29) +/* 802D1708 002CE648 90 1D 00 70 */ stw r0, 0x70(r29) +/* 802D170C 002CE64C 90 1D 00 28 */ stw r0, 0x28(r29) +/* 802D1710 002CE650 93 DD 00 2C */ stw r30, 0x2c(r29) +/* 802D1714 002CE654 80 7E 03 04 */ lwz r3, 0x304(r30) +/* 802D1718 002CE658 80 1E 03 08 */ lwz r0, 0x308(r30) +/* 802D171C 002CE65C 7C 03 00 50 */ subf r0, r3, r0 +/* 802D1720 002CE660 90 1D 00 5C */ stw r0, 0x5c(r29) +/* 802D1724 002CE664 80 1E 03 04 */ lwz r0, 0x304(r30) +/* 802D1728 002CE668 90 1D 00 58 */ stw r0, 0x58(r29) +/* 802D172C 002CE66C 7F A3 EB 78 */ mr r3, r29 +/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13) +/* 802D1734 002CE674 7F E5 FB 78 */ mr r5, r31 +/* 802D1738 002CE678 48 00 00 F9 */ bl setCommon_mesgQueue__9JKRThreadFP7JKRHeapi +/* 802D173C 002CE67C 7F A3 EB 78 */ mr r3, r29 +/* 802D1740 002CE680 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D1744 002CE684 48 09 0A E5 */ bl _restgpr_29 +/* 802D1748 002CE688 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D174C 002CE68C 7C 08 03 A6 */ mtlr r0 +/* 802D1750 002CE690 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D1754 002CE694 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s new file mode 100644 index 0000000000..6ae3077f55 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1758.s @@ -0,0 +1,58 @@ +/* 802D1758 002CE698 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D175C 002CE69C 7C 08 02 A6 */ mflr r0 +/* 802D1760 002CE6A0 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1764 002CE6A4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1768 002CE6A8 93 C1 00 08 */ stw r30, 8(r1) +/* 802D176C 002CE6AC 7C 7E 1B 79 */ or. r30, r3, r3 +/* 802D1770 002CE6B0 7C 9F 23 78 */ mr r31, r4 +/* 802D1774 002CE6B4 41 82 00 A0 */ beq lbl_802D1814 +/* 802D1778 002CE6B8 3C 60 80 3D */ lis r3, lbl_803CC114@ha +/* 802D177C 002CE6BC 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l +/* 802D1780 002CE6C0 90 1E 00 00 */ stw r0, 0(r30) +/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, lbl_8043428C@ha +/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l +/* 802D178C 002CE6CC 38 9E 00 18 */ addi r4, r30, 0x18 +/* 802D1790 002CE6D0 48 00 A9 CD */ bl remove__10JSUPtrListFP10JSUPtrLink +/* 802D1794 002CE6D4 80 1E 00 28 */ lwz r0, 0x28(r30) +/* 802D1798 002CE6D8 28 00 00 00 */ cmplwi r0, 0 +/* 802D179C 002CE6DC 41 82 00 3C */ beq lbl_802D17D8 +/* 802D17A0 002CE6E0 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D17A4 002CE6E4 48 06 F4 ED */ bl OSIsThreadTerminated +/* 802D17A8 002CE6E8 2C 03 00 00 */ cmpwi r3, 0 +/* 802D17AC 002CE6EC 40 82 00 14 */ bne lbl_802D17C0 +/* 802D17B0 002CE6F0 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D17B4 002CE6F4 48 06 FF 61 */ bl OSDetachThread +/* 802D17B8 002CE6F8 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D17BC 002CE6FC 48 06 FD 9D */ bl OSCancelThread +lbl_802D17C0: +/* 802D17C0 002CE700 80 7E 00 58 */ lwz r3, 0x58(r30) +/* 802D17C4 002CE704 80 9E 00 28 */ lwz r4, 0x28(r30) +/* 802D17C8 002CE708 4B FF CD 39 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D17CC 002CE70C 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D17D0 002CE710 80 9E 00 28 */ lwz r4, 0x28(r30) +/* 802D17D4 002CE714 4B FF CD 2D */ bl free__7JKRHeapFPvP7JKRHeap +lbl_802D17D8: +/* 802D17D8 002CE718 80 7E 00 50 */ lwz r3, 0x50(r30) +/* 802D17DC 002CE71C 38 80 00 00 */ li r4, 0 +/* 802D17E0 002CE720 4B FF CD 21 */ bl free__7JKRHeapFPvP7JKRHeap +/* 802D17E4 002CE724 34 1E 00 18 */ addic. r0, r30, 0x18 +/* 802D17E8 002CE728 41 82 00 10 */ beq lbl_802D17F8 +/* 802D17EC 002CE72C 38 7E 00 18 */ addi r3, r30, 0x18 +/* 802D17F0 002CE730 38 80 00 00 */ li r4, 0 +/* 802D17F4 002CE734 48 00 A6 21 */ bl __dt__10JSUPtrLinkFv +lbl_802D17F8: +/* 802D17F8 002CE738 7F C3 F3 78 */ mr r3, r30 +/* 802D17FC 002CE73C 38 80 00 00 */ li r4, 0 +/* 802D1800 002CE740 4B FF FC E5 */ bl __dt__11JKRDisposerFv +/* 802D1804 002CE744 7F E0 07 35 */ extsh. r0, r31 +/* 802D1808 002CE748 40 81 00 0C */ ble lbl_802D1814 +/* 802D180C 002CE74C 7F C3 F3 78 */ mr r3, r30 +/* 802D1810 002CE750 4B FF D5 2D */ bl __dl__FPv +lbl_802D1814: +/* 802D1814 002CE754 7F C3 F3 78 */ mr r3, r30 +/* 802D1818 002CE758 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D181C 002CE75C 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1820 002CE760 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1824 002CE764 7C 08 03 A6 */ mtlr r0 +/* 802D1828 002CE768 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D182C 002CE76C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s new file mode 100644 index 0000000000..60dd0775e4 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1830.s @@ -0,0 +1,29 @@ +/* 802D1830 002CE770 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1834 002CE774 7C 08 02 A6 */ mflr r0 +/* 802D1838 002CE778 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D183C 002CE77C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1840 002CE780 7C 7F 1B 78 */ mr r31, r3 +/* 802D1844 002CE784 7C 86 23 78 */ mr r6, r4 +/* 802D1848 002CE788 90 A3 00 54 */ stw r5, 0x54(r3) +/* 802D184C 002CE78C 80 03 00 54 */ lwz r0, 0x54(r3) +/* 802D1850 002CE790 54 03 10 3A */ slwi r3, r0, 2 +/* 802D1854 002CE794 38 80 00 00 */ li r4, 0 +/* 802D1858 002CE798 7C C5 33 78 */ mr r5, r6 +/* 802D185C 002CE79C 4B FF CC 19 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D1860 002CE7A0 90 7F 00 50 */ stw r3, 0x50(r31) +/* 802D1864 002CE7A4 38 7F 00 30 */ addi r3, r31, 0x30 +/* 802D1868 002CE7A8 80 9F 00 50 */ lwz r4, 0x50(r31) +/* 802D186C 002CE7AC 80 BF 00 54 */ lwz r5, 0x54(r31) +/* 802D1870 002CE7B0 48 06 D1 25 */ bl OSInitMessageQueue +/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, lbl_8043428C@ha +/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l +/* 802D187C 002CE7BC 38 9F 00 18 */ addi r4, r31, 0x18 +/* 802D1880 002CE7C0 48 00 A6 CD */ bl append__10JSUPtrListFP10JSUPtrLink +/* 802D1884 002CE7C4 38 00 00 00 */ li r0, 0 +/* 802D1888 002CE7C8 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D188C 002CE7CC 90 1F 00 78 */ stw r0, 0x78(r31) +/* 802D1890 002CE7D0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1894 002CE7D4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1898 002CE7D8 7C 08 03 A6 */ mtlr r0 +/* 802D189C 002CE7DC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D18A0 002CE7E0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D18A4.s b/include/JSystem/JKernel/JKRThread/asm/func_802D18A4.s new file mode 100644 index 0000000000..63b6d1dcac --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D18A4.s @@ -0,0 +1,36 @@ +/* 802D18A4 002CE7E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D18A8 002CE7E8 7C 08 02 A6 */ mflr r0 +/* 802D18AC 002CE7EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D18B0 002CE7F0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D18B4 002CE7F4 93 C1 00 08 */ stw r30, 8(r1) +/* 802D18B8 002CE7F8 7C 7E 1B 78 */ mr r30, r3 +/* 802D18BC 002CE7FC 7C DF 33 78 */ mr r31, r6 +/* 802D18C0 002CE800 90 83 00 28 */ stw r4, 0x28(r3) +/* 802D18C4 002CE804 54 A0 00 34 */ rlwinm r0, r5, 0, 0, 0x1a +/* 802D18C8 002CE808 90 03 00 5C */ stw r0, 0x5c(r3) +/* 802D18CC 002CE80C 80 63 00 5C */ lwz r3, 0x5c(r3) +/* 802D18D0 002CE810 38 80 00 20 */ li r4, 0x20 +/* 802D18D4 002CE814 80 BE 00 28 */ lwz r5, 0x28(r30) +/* 802D18D8 002CE818 4B FF CB 9D */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D18DC 002CE81C 90 7E 00 58 */ stw r3, 0x58(r30) +/* 802D18E0 002CE820 38 60 03 18 */ li r3, 0x318 +/* 802D18E4 002CE824 38 80 00 20 */ li r4, 0x20 +/* 802D18E8 002CE828 80 BE 00 28 */ lwz r5, 0x28(r30) +/* 802D18EC 002CE82C 4B FF CB 89 */ bl alloc__7JKRHeapFUliP7JKRHeap +/* 802D18F0 002CE830 90 7E 00 2C */ stw r3, 0x2c(r30) +/* 802D18F4 002CE834 80 FE 00 5C */ lwz r7, 0x5c(r30) +/* 802D18F8 002CE838 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D18FC 002CE83C 3C 80 80 2D */ lis r4, start__9JKRThreadFPv@ha +/* 802D1900 002CE840 38 84 19 34 */ addi r4, r4, start__9JKRThreadFPv@l +/* 802D1904 002CE844 7F C5 F3 78 */ mr r5, r30 +/* 802D1908 002CE848 80 1E 00 58 */ lwz r0, 0x58(r30) +/* 802D190C 002CE84C 7C C0 3A 14 */ add r6, r0, r7 +/* 802D1910 002CE850 7F E8 FB 78 */ mr r8, r31 +/* 802D1914 002CE854 39 20 00 01 */ li r9, 1 +/* 802D1918 002CE858 48 06 F9 75 */ bl OSCreateThread +/* 802D191C 002CE85C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1920 002CE860 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1924 002CE864 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1928 002CE868 7C 08 03 A6 */ mtlr r0 +/* 802D192C 002CE86C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1930 002CE870 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1934.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1934.s new file mode 100644 index 0000000000..2a7763fc68 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1934.s @@ -0,0 +1,11 @@ +/* 802D1934 002CE874 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1938 002CE878 7C 08 02 A6 */ mflr r0 +/* 802D193C 002CE87C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1940 002CE880 81 83 00 00 */ lwz r12, 0(r3) +/* 802D1944 002CE884 81 8C 00 0C */ lwz r12, 0xc(r12) +/* 802D1948 002CE888 7D 89 03 A6 */ mtctr r12 +/* 802D194C 002CE88C 4E 80 04 21 */ bctrl +/* 802D1950 002CE890 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1954 002CE894 7C 08 03 A6 */ mtlr r0 +/* 802D1958 002CE898 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D195C 002CE89C 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s new file mode 100644 index 0000000000..85403b95b7 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1960.s @@ -0,0 +1,18 @@ +/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, lbl_8043428C@ha +/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, lbl_8043428C@l +/* 802D1968 002CE8A8 80 84 00 00 */ lwz r4, 0(r4) +/* 802D196C 002CE8AC 48 00 00 20 */ b lbl_802D198C +lbl_802D1970: +/* 802D1970 002CE8B0 80 A4 00 00 */ lwz r5, 0(r4) +/* 802D1974 002CE8B4 80 05 00 2C */ lwz r0, 0x2c(r5) +/* 802D1978 002CE8B8 7C 00 18 40 */ cmplw r0, r3 +/* 802D197C 002CE8BC 40 82 00 0C */ bne lbl_802D1988 +/* 802D1980 002CE8C0 7C A3 2B 78 */ mr r3, r5 +/* 802D1984 002CE8C4 4E 80 00 20 */ blr +lbl_802D1988: +/* 802D1988 002CE8C8 80 84 00 0C */ lwz r4, 0xc(r4) +lbl_802D198C: +/* 802D198C 002CE8CC 28 04 00 00 */ cmplwi r4, 0 +/* 802D1990 002CE8D0 40 82 FF E0 */ bne lbl_802D1970 +/* 802D1994 002CE8D4 38 60 00 00 */ li r3, 0 +/* 802D1998 002CE8D8 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D199C.s b/include/JSystem/JKernel/JKRThread/asm/func_802D199C.s new file mode 100644 index 0000000000..37b6d65b24 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D199C.s @@ -0,0 +1,30 @@ +/* 802D199C 002CE8DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D19A0 002CE8E0 7C 08 02 A6 */ mflr r0 +/* 802D19A4 002CE8E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D19A8 002CE8E8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D19AC 002CE8EC 7C 7F 1B 78 */ mr r31, r3 +/* 802D19B0 002CE8F0 3C 60 80 3D */ lis r3, lbl_803CC100@ha +/* 802D19B4 002CE8F4 38 03 C1 00 */ addi r0, r3, lbl_803CC100@l +/* 802D19B8 002CE8F8 90 1F 00 00 */ stw r0, 0(r31) +/* 802D19BC 002CE8FC 90 9F 00 04 */ stw r4, 4(r31) +/* 802D19C0 002CE900 3C 60 80 2D */ lis r3, callback__15JKRThreadSwitchFP8OSThreadP8OSThread@ha +/* 802D19C4 002CE904 38 63 1A E4 */ addi r3, r3, callback__15JKRThreadSwitchFP8OSThreadP8OSThread@l +/* 802D19C8 002CE908 48 06 F0 E1 */ bl OSSetSwitchThreadCallback +/* 802D19CC 002CE90C 38 60 00 00 */ li r3, 0 +/* 802D19D0 002CE910 90 7F 00 0C */ stw r3, 0xc(r31) +/* 802D19D4 002CE914 38 00 00 01 */ li r0, 1 +/* 802D19D8 002CE918 90 1F 00 10 */ stw r0, 0x10(r31) +/* 802D19DC 002CE91C 90 7F 00 1C */ stw r3, 0x1c(r31) +/* 802D19E0 002CE920 90 7F 00 18 */ stw r3, 0x18(r31) +/* 802D19E4 002CE924 90 6D 8E 34 */ stw r3, lbl_804513B4-_SDA_BASE_(r13) +/* 802D19E8 002CE928 90 6D 8E 3C */ stw r3, lbl_804513BC-_SDA_BASE_(r13) +/* 802D19EC 002CE92C 90 6D 8E 38 */ stw r3, lbl_804513B8-_SDA_BASE_(r13) +/* 802D19F0 002CE930 90 7F 00 20 */ stw r3, 0x20(r31) +/* 802D19F4 002CE934 90 7F 00 24 */ stw r3, 0x24(r31) +/* 802D19F8 002CE938 98 1F 00 08 */ stb r0, 8(r31) +/* 802D19FC 002CE93C 7F E3 FB 78 */ mr r3, r31 +/* 802D1A00 002CE940 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1A04 002CE944 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1A08 002CE948 7C 08 03 A6 */ mtlr r0 +/* 802D1A0C 002CE94C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1A10 002CE950 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s new file mode 100644 index 0000000000..12feca9386 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1A14.s @@ -0,0 +1,25 @@ +/* 802D1A14 002CE954 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1A18 002CE958 7C 08 02 A6 */ mflr r0 +/* 802D1A1C 002CE95C 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1A20 002CE960 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1A24 002CE964 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D1A28 002CE968 40 82 00 08 */ bne lbl_802D1A30 +/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13) +lbl_802D1A30: +/* 802D1A30 002CE970 38 60 00 28 */ li r3, 0x28 +/* 802D1A34 002CE974 7F E4 FB 78 */ mr r4, r31 +/* 802D1A38 002CE978 38 A0 00 00 */ li r5, 0 +/* 802D1A3C 002CE97C 4B FF D2 5D */ bl __nw__FUlP7JKRHeapi +/* 802D1A40 002CE980 7C 60 1B 79 */ or. r0, r3, r3 +/* 802D1A44 002CE984 41 82 00 10 */ beq lbl_802D1A54 +/* 802D1A48 002CE988 7F E4 FB 78 */ mr r4, r31 +/* 802D1A4C 002CE98C 4B FF FF 51 */ bl __ct__15JKRThreadSwitchFP7JKRHeap +/* 802D1A50 002CE990 7C 60 1B 78 */ mr r0, r3 +lbl_802D1A54: +/* 802D1A54 002CE994 90 0D 8E 30 */ stw r0, lbl_804513B0-_SDA_BASE_(r13) +/* 802D1A58 002CE998 7C 03 03 78 */ mr r3, r0 +/* 802D1A5C 002CE99C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1A60 002CE9A0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1A64 002CE9A4 7C 08 03 A6 */ mtlr r0 +/* 802D1A68 002CE9A8 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1A6C 002CE9AC 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1A70.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1A70.s new file mode 100644 index 0000000000..07bbb818ea --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1A70.s @@ -0,0 +1,32 @@ +/* 802D1A70 002CE9B0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1A74 002CE9B4 7C 08 02 A6 */ mflr r0 +/* 802D1A78 002CE9B8 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1A7C 002CE9BC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1A80 002CE9C0 93 C1 00 08 */ stw r30, 8(r1) +/* 802D1A84 002CE9C4 7C 9E 23 79 */ or. r30, r4, r4 +/* 802D1A88 002CE9C8 7C BF 2B 78 */ mr r31, r5 +/* 802D1A8C 002CE9CC 40 82 00 0C */ bne lbl_802D1A98 +/* 802D1A90 002CE9D0 38 60 00 00 */ li r3, 0 +/* 802D1A94 002CE9D4 48 00 00 38 */ b lbl_802D1ACC +lbl_802D1A98: +/* 802D1A98 002CE9D8 80 7E 00 2C */ lwz r3, 0x2c(r30) +/* 802D1A9C 002CE9DC 4B FF FE C5 */ bl searchThread__9JKRThreadFP8OSThread +/* 802D1AA0 002CE9E0 28 03 00 00 */ cmplwi r3, 0 +/* 802D1AA4 002CE9E4 41 82 00 08 */ beq lbl_802D1AAC +/* 802D1AA8 002CE9E8 7C 7E 1B 78 */ mr r30, r3 +lbl_802D1AAC: +/* 802D1AAC 002CE9EC 38 00 00 00 */ li r0, 0 +/* 802D1AB0 002CE9F0 90 1E 00 68 */ stw r0, 0x68(r30) +/* 802D1AB4 002CE9F4 90 1E 00 64 */ stw r0, 0x64(r30) +/* 802D1AB8 002CE9F8 90 1E 00 6C */ stw r0, 0x6c(r30) +/* 802D1ABC 002CE9FC 38 00 00 01 */ li r0, 1 +/* 802D1AC0 002CEA00 98 1E 00 60 */ stb r0, 0x60(r30) +/* 802D1AC4 002CEA04 93 FE 00 70 */ stw r31, 0x70(r30) +/* 802D1AC8 002CEA08 7F C3 F3 78 */ mr r3, r30 +lbl_802D1ACC: +/* 802D1ACC 002CEA0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1AD0 002CEA10 83 C1 00 08 */ lwz r30, 8(r1) +/* 802D1AD4 002CEA14 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1AD8 002CEA18 7C 08 03 A6 */ mtlr r0 +/* 802D1ADC 002CEA1C 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1AE0 002CEA20 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s new file mode 100644 index 0000000000..61c450e0e9 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1AE4.s @@ -0,0 +1,113 @@ +/* 802D1AE4 002CEA24 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 802D1AE8 002CEA28 7C 08 02 A6 */ mflr r0 +/* 802D1AEC 002CEA2C 90 01 00 24 */ stw r0, 0x24(r1) +/* 802D1AF0 002CEA30 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D1AF4 002CEA34 48 09 06 E1 */ bl _savegpr_27 +/* 802D1AF8 002CEA38 7C 7B 1B 78 */ mr r27, r3 +/* 802D1AFC 002CEA3C 7C 9C 23 78 */ mr r28, r4 +/* 802D1B00 002CEA40 81 8D 8E 40 */ lwz r12, lbl_804513C0-_SDA_BASE_(r13) +/* 802D1B04 002CEA44 28 0C 00 00 */ cmplwi r12, 0 +/* 802D1B08 002CEA48 41 82 00 0C */ beq lbl_802D1B14 +/* 802D1B0C 002CEA4C 7D 89 03 A6 */ mtctr r12 +/* 802D1B10 002CEA50 4E 80 04 21 */ bctrl +lbl_802D1B14: +/* 802D1B14 002CEA54 80 6D 8E 34 */ lwz r3, lbl_804513B4-_SDA_BASE_(r13) +/* 802D1B18 002CEA58 38 03 00 01 */ addi r0, r3, 1 +/* 802D1B1C 002CEA5C 90 0D 8E 34 */ stw r0, lbl_804513B4-_SDA_BASE_(r13) +/* 802D1B20 002CEA60 3B A0 00 00 */ li r29, 0 +/* 802D1B24 002CEA64 3C 60 80 43 */ lis r3, lbl_8043428C@ha +/* 802D1B28 002CEA68 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) +/* 802D1B2C 002CEA6C 48 00 00 FC */ b lbl_802D1C28 +lbl_802D1B30: +/* 802D1B30 002CEA70 83 FE 00 00 */ lwz r31, 0(r30) +/* 802D1B34 002CEA74 80 1F 00 2C */ lwz r0, 0x2c(r31) +/* 802D1B38 002CEA78 7C 00 D8 40 */ cmplw r0, r27 +/* 802D1B3C 002CEA7C 40 82 00 34 */ bne lbl_802D1B70 +/* 802D1B40 002CEA80 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13) +/* 802D1B44 002CEA84 28 00 00 00 */ cmplwi r0, 0 +/* 802D1B48 002CEA88 90 1F 00 74 */ stw r0, 0x74(r31) +/* 802D1B4C 002CEA8C 88 1F 00 60 */ lbz r0, 0x60(r31) +/* 802D1B50 002CEA90 28 00 00 00 */ cmplwi r0, 0 +/* 802D1B54 002CEA94 41 82 00 1C */ beq lbl_802D1B70 +/* 802D1B58 002CEA98 48 07 0B BD */ bl OSGetTick +/* 802D1B5C 002CEA9C 80 1F 00 6C */ lwz r0, 0x6c(r31) +/* 802D1B60 002CEAA0 7C 60 18 50 */ subf r3, r0, r3 +/* 802D1B64 002CEAA4 80 1F 00 64 */ lwz r0, 0x64(r31) +/* 802D1B68 002CEAA8 7C 00 1A 14 */ add r0, r0, r3 +/* 802D1B6C 002CEAAC 90 1F 00 64 */ stw r0, 0x64(r31) +lbl_802D1B70: +/* 802D1B70 002CEAB0 80 1F 00 2C */ lwz r0, 0x2c(r31) +/* 802D1B74 002CEAB4 7C 00 E0 40 */ cmplw r0, r28 +/* 802D1B78 002CEAB8 40 82 00 AC */ bne lbl_802D1C24 +/* 802D1B7C 002CEABC 88 1F 00 60 */ lbz r0, 0x60(r31) +/* 802D1B80 002CEAC0 28 00 00 00 */ cmplwi r0, 0 +/* 802D1B84 002CEAC4 41 82 00 18 */ beq lbl_802D1B9C +/* 802D1B88 002CEAC8 48 07 0B 8D */ bl OSGetTick +/* 802D1B8C 002CEACC 90 7F 00 6C */ stw r3, 0x6c(r31) +/* 802D1B90 002CEAD0 80 7F 00 68 */ lwz r3, 0x68(r31) +/* 802D1B94 002CEAD4 38 03 00 01 */ addi r0, r3, 1 +/* 802D1B98 002CEAD8 90 1F 00 68 */ stw r0, 0x68(r31) +lbl_802D1B9C: +/* 802D1B9C 002CEADC 80 6D 8E 30 */ lwz r3, lbl_804513B0-_SDA_BASE_(r13) +/* 802D1BA0 002CEAE0 88 03 00 08 */ lbz r0, 8(r3) +/* 802D1BA4 002CEAE4 28 00 00 00 */ cmplwi r0, 0 +/* 802D1BA8 002CEAE8 41 82 00 7C */ beq lbl_802D1C24 +/* 802D1BAC 002CEAEC 80 9F 00 74 */ lwz r4, 0x74(r31) +/* 802D1BB0 002CEAF0 7C 9D 23 78 */ mr r29, r4 +/* 802D1BB4 002CEAF4 28 04 00 00 */ cmplwi r4, 0 +/* 802D1BB8 002CEAF8 40 82 00 0C */ bne lbl_802D1BC4 +/* 802D1BBC 002CEAFC 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1BC0 002CEB00 48 00 00 64 */ b lbl_802D1C24 +lbl_802D1BC4: +/* 802D1BC4 002CEB04 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13) +/* 802D1BC8 002CEB08 4B FF CF E1 */ bl isSubHeap__7JKRHeapCFP7JKRHeap +/* 802D1BCC 002CEB0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 802D1BD0 002CEB10 40 82 00 54 */ bne lbl_802D1C24 +/* 802D1BD4 002CEB14 80 1F 00 78 */ lwz r0, 0x78(r31) +/* 802D1BD8 002CEB18 2C 00 00 02 */ cmpwi r0, 2 +/* 802D1BDC 002CEB1C 41 82 00 3C */ beq lbl_802D1C18 +/* 802D1BE0 002CEB20 40 80 00 14 */ bge lbl_802D1BF4 +/* 802D1BE4 002CEB24 2C 00 00 00 */ cmpwi r0, 0 +/* 802D1BE8 002CEB28 41 82 00 3C */ beq lbl_802D1C24 +/* 802D1BEC 002CEB2C 40 80 00 14 */ bge lbl_802D1C00 +/* 802D1BF0 002CEB30 48 00 00 34 */ b lbl_802D1C24 +lbl_802D1BF4: +/* 802D1BF4 002CEB34 2C 00 00 04 */ cmpwi r0, 4 +/* 802D1BF8 002CEB38 40 80 00 2C */ bge lbl_802D1C24 +/* 802D1BFC 002CEB3C 48 00 00 24 */ b lbl_802D1C20 +lbl_802D1C00: +/* 802D1C00 002CEB40 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha +/* 802D1C04 002CEB44 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l +/* 802D1C08 002CEB48 38 63 00 34 */ addi r3, r3, 0x34 +/* 802D1C0C 002CEB4C 48 01 6A F1 */ bl JUTWarningConsole +/* 802D1C10 002CEB50 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1C14 002CEB54 48 00 00 10 */ b lbl_802D1C24 +lbl_802D1C18: +/* 802D1C18 002CEB58 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13) +/* 802D1C1C 002CEB5C 48 00 00 08 */ b lbl_802D1C24 +lbl_802D1C20: +/* 802D1C20 002CEB60 83 AD 8D F0 */ lwz r29, lbl_80451370-_SDA_BASE_(r13) +lbl_802D1C24: +/* 802D1C24 002CEB64 83 DE 00 0C */ lwz r30, 0xc(r30) +lbl_802D1C28: +/* 802D1C28 002CEB68 28 1E 00 00 */ cmplwi r30, 0 +/* 802D1C2C 002CEB6C 40 82 FF 04 */ bne lbl_802D1B30 +/* 802D1C30 002CEB70 28 1D 00 00 */ cmplwi r29, 0 +/* 802D1C34 002CEB74 41 82 00 0C */ beq lbl_802D1C40 +/* 802D1C38 002CEB78 7F A3 EB 78 */ mr r3, r29 +/* 802D1C3C 002CEB7C 4B FF C7 FD */ bl becomeCurrentHeap__7JKRHeapFv +lbl_802D1C40: +/* 802D1C40 002CEB80 81 8D 8E 44 */ lwz r12, lbl_804513C4-_SDA_BASE_(r13) +/* 802D1C44 002CEB84 28 0C 00 00 */ cmplwi r12, 0 +/* 802D1C48 002CEB88 41 82 00 14 */ beq lbl_802D1C5C +/* 802D1C4C 002CEB8C 7F 63 DB 78 */ mr r3, r27 +/* 802D1C50 002CEB90 7F 84 E3 78 */ mr r4, r28 +/* 802D1C54 002CEB94 7D 89 03 A6 */ mtctr r12 +/* 802D1C58 002CEB98 4E 80 04 21 */ bctrl +lbl_802D1C5C: +/* 802D1C5C 002CEB9C 39 61 00 20 */ addi r11, r1, 0x20 +/* 802D1C60 002CEBA0 48 09 05 C1 */ bl _restgpr_27 +/* 802D1C64 002CEBA4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 802D1C68 002CEBA8 7C 08 03 A6 */ mtlr r0 +/* 802D1C6C 002CEBAC 38 21 00 20 */ addi r1, r1, 0x20 +/* 802D1C70 002CEBB0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s new file mode 100644 index 0000000000..3d501ed482 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1C74.s @@ -0,0 +1,113 @@ +/* 802D1C74 002CEBB4 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 802D1C78 002CEBB8 7C 08 02 A6 */ mflr r0 +/* 802D1C7C 002CEBBC 90 01 00 54 */ stw r0, 0x54(r1) +/* 802D1C80 002CEBC0 DB E1 00 40 */ stfd f31, 0x40(r1) +/* 802D1C84 002CEBC4 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 +/* 802D1C88 002CEBC8 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D1C8C 002CEBCC 48 09 05 41 */ bl func_803621CC +/* 802D1C90 002CEBD0 7C 7A 1B 78 */ mr r26, r3 +/* 802D1C94 002CEBD4 7C 9B 23 78 */ mr r27, r4 +/* 802D1C98 002CEBD8 7C BC 2B 79 */ or. r28, r5, r5 +/* 802D1C9C 002CEBDC 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha +/* 802D1CA0 002CEBE0 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l +/* 802D1CA4 002CEBE4 3B 23 00 5D */ addi r25, r3, 0x5d +/* 802D1CA8 002CEBE8 3B A3 00 7F */ addi r29, r3, 0x7f +/* 802D1CAC 002CEBEC 41 82 00 34 */ beq lbl_802D1CE0 +/* 802D1CB0 002CEBF0 7F 83 E3 78 */ mr r3, r28 +/* 802D1CB4 002CEBF4 48 01 59 39 */ bl JUTConsole_NS_clear +/* 802D1CB8 002CEBF8 7F 83 E3 78 */ mr r3, r28 +/* 802D1CBC 002CEBFC 7F 24 CB 78 */ mr r4, r25 +/* 802D1CC0 002CEC00 80 AD 8E 34 */ lwz r5, lbl_804513B4-_SDA_BASE_(r13) +/* 802D1CC4 002CEC04 80 DA 00 1C */ lwz r6, 0x1c(r26) +/* 802D1CC8 002CEC08 80 FA 00 10 */ lwz r7, 0x10(r26) +/* 802D1CCC 002CEC0C 4C C6 31 82 */ crclr 6 +/* 802D1CD0 002CEC10 48 01 5E E9 */ bl JUTConsole_NS_print_f +/* 802D1CD4 002CEC14 7F 83 E3 78 */ mr r3, r28 +/* 802D1CD8 002CEC18 7F A4 EB 78 */ mr r4, r29 +/* 802D1CDC 002CEC1C 48 01 5F 5D */ bl JUTConsole_NS_print +lbl_802D1CE0: +/* 802D1CE0 002CEC20 3C 60 80 43 */ lis r3, lbl_8043428C@ha +/* 802D1CE4 002CEC24 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3) +/* 802D1CE8 002CEC28 48 00 01 04 */ b lbl_802D1DEC +lbl_802D1CEC: +/* 802D1CEC 002CEC2C 83 3E 00 00 */ lwz r25, 0(r30) +/* 802D1CF0 002CEC30 88 19 00 60 */ lbz r0, 0x60(r25) +/* 802D1CF4 002CEC34 28 00 00 00 */ cmplwi r0, 0 +/* 802D1CF8 002CEC38 41 82 00 F0 */ beq lbl_802D1DE8 +/* 802D1CFC 002CEC3C 3B A0 00 00 */ li r29, 0 +/* 802D1D00 002CEC40 28 1B 00 00 */ cmplwi r27, 0 +/* 802D1D04 002CEC44 41 82 00 34 */ beq lbl_802D1D38 +/* 802D1D08 002CEC48 7F 65 DB 78 */ mr r5, r27 +/* 802D1D0C 002CEC4C 48 00 00 20 */ b lbl_802D1D2C +lbl_802D1D10: +/* 802D1D10 002CEC50 80 65 00 00 */ lwz r3, 0(r5) +/* 802D1D14 002CEC54 80 19 00 70 */ lwz r0, 0x70(r25) +/* 802D1D18 002CEC58 7C 03 00 00 */ cmpw r3, r0 +/* 802D1D1C 002CEC5C 40 82 00 0C */ bne lbl_802D1D28 +/* 802D1D20 002CEC60 7C 9D 23 78 */ mr r29, r4 +/* 802D1D24 002CEC64 48 00 00 14 */ b lbl_802D1D38 +lbl_802D1D28: +/* 802D1D28 002CEC68 38 A5 00 08 */ addi r5, r5, 8 +lbl_802D1D2C: +/* 802D1D2C 002CEC6C 80 85 00 04 */ lwz r4, 4(r5) +/* 802D1D30 002CEC70 28 04 00 00 */ cmplwi r4, 0 +/* 802D1D34 002CEC74 40 82 FF DC */ bne lbl_802D1D10 +lbl_802D1D38: +/* 802D1D38 002CEC78 28 1D 00 00 */ cmplwi r29, 0 +/* 802D1D3C 002CEC7C 40 82 00 24 */ bne lbl_802D1D60 +/* 802D1D40 002CEC80 38 61 00 08 */ addi r3, r1, 8 +/* 802D1D44 002CEC84 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha +/* 802D1D48 002CEC88 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l +/* 802D1D4C 002CEC8C 38 84 00 A7 */ addi r4, r4, 0xa7 +/* 802D1D50 002CEC90 80 B9 00 70 */ lwz r5, 0x70(r25) +/* 802D1D54 002CEC94 4C C6 31 82 */ crclr 6 +/* 802D1D58 002CEC98 48 09 47 85 */ bl func_803664DC +/* 802D1D5C 002CEC9C 3B A1 00 08 */ addi r29, r1, 8 +lbl_802D1D60: +/* 802D1D60 002CECA0 83 F9 00 68 */ lwz r31, 0x68(r25) +/* 802D1D64 002CECA4 80 7A 00 18 */ lwz r3, 0x18(r26) +/* 802D1D68 002CECA8 80 9A 00 1C */ lwz r4, 0x1c(r26) +/* 802D1D6C 002CECAC 48 09 09 51 */ bl func_803626BC +/* 802D1D70 002CECB0 80 19 00 64 */ lwz r0, 0x64(r25) +/* 802D1D74 002CECB4 C8 42 C5 C8 */ lfd f2, lbl_80455FC8-_SDA2_BASE_(r2) +/* 802D1D78 002CECB8 90 01 00 1C */ stw r0, 0x1c(r1) +/* 802D1D7C 002CECBC 3C 00 43 30 */ lis r0, 0x4330 +/* 802D1D80 002CECC0 90 01 00 18 */ stw r0, 0x18(r1) +/* 802D1D84 002CECC4 C8 01 00 18 */ lfd f0, 0x18(r1) +/* 802D1D88 002CECC8 EC 00 10 28 */ fsubs f0, f0, f2 +/* 802D1D8C 002CECCC EF E0 08 24 */ fdivs f31, f0, f1 +/* 802D1D90 002CECD0 C0 02 C5 C0 */ lfs f0, lbl_80455FC0-_SDA2_BASE_(r2) +/* 802D1D94 002CECD4 EC 20 07 F2 */ fmuls f1, f0, f31 +/* 802D1D98 002CECD8 48 09 03 15 */ bl func_803620AC +/* 802D1D9C 002CECDC 7C 79 1B 78 */ mr r25, r3 +/* 802D1DA0 002CECE0 C0 02 C5 C4 */ lfs f0, lbl_80455FC4-_SDA2_BASE_(r2) +/* 802D1DA4 002CECE4 EC 20 07 F2 */ fmuls f1, f0, f31 +/* 802D1DA8 002CECE8 48 09 03 05 */ bl func_803620AC +/* 802D1DAC 002CECEC 38 80 00 0A */ li r4, 0xa +/* 802D1DB0 002CECF0 7C 03 23 96 */ divwu r0, r3, r4 +/* 802D1DB4 002CECF4 7C 00 21 D6 */ mullw r0, r0, r4 +/* 802D1DB8 002CECF8 7D 00 18 50 */ subf r8, r0, r3 +/* 802D1DBC 002CECFC 28 1C 00 00 */ cmplwi r28, 0 +/* 802D1DC0 002CED00 41 82 00 28 */ beq lbl_802D1DE8 +/* 802D1DC4 002CED04 7F 83 E3 78 */ mr r3, r28 +/* 802D1DC8 002CED08 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha +/* 802D1DCC 002CED0C 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l +/* 802D1DD0 002CED10 38 84 00 AA */ addi r4, r4, 0xaa +/* 802D1DD4 002CED14 7F A5 EB 78 */ mr r5, r29 +/* 802D1DD8 002CED18 7F E6 FB 78 */ mr r6, r31 +/* 802D1DDC 002CED1C 7F 27 CB 78 */ mr r7, r25 +/* 802D1DE0 002CED20 4C C6 31 82 */ crclr 6 +/* 802D1DE4 002CED24 48 01 5D D5 */ bl JUTConsole_NS_print_f +lbl_802D1DE8: +/* 802D1DE8 002CED28 83 DE 00 0C */ lwz r30, 0xc(r30) +lbl_802D1DEC: +/* 802D1DEC 002CED2C 28 1E 00 00 */ cmplwi r30, 0 +/* 802D1DF0 002CED30 40 82 FE FC */ bne lbl_802D1CEC +/* 802D1DF4 002CED34 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 +/* 802D1DF8 002CED38 CB E1 00 40 */ lfd f31, 0x40(r1) +/* 802D1DFC 002CED3C 39 61 00 40 */ addi r11, r1, 0x40 +/* 802D1E00 002CED40 48 09 04 19 */ bl _restgpr_25 // func_80362218 +/* 802D1E04 002CED44 80 01 00 54 */ lwz r0, 0x54(r1) +/* 802D1E08 002CED48 7C 08 03 A6 */ mtlr r0 +/* 802D1E0C 002CED4C 38 21 00 50 */ addi r1, r1, 0x50 +/* 802D1E10 002CED50 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1E14.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1E14.s new file mode 100644 index 0000000000..fcf11351e7 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1E14.s @@ -0,0 +1,2 @@ +/* 802D1E14 002CED54 38 60 00 00 */ li r3, 0 +/* 802D1E18 002CED58 4E 80 00 20 */ blr diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1E1C.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1E1C.s new file mode 100644 index 0000000000..73265fd030 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1E1C.s @@ -0,0 +1,12 @@ +/* 802D1E1C 002CED5C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1E20 002CED60 7C 08 02 A6 */ mflr r0 +/* 802D1E24 002CED64 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1E28 002CED68 38 A0 00 00 */ li r5, 0 +/* 802D1E2C 002CED6C 81 83 00 00 */ lwz r12, 0(r3) +/* 802D1E30 002CED70 81 8C 00 08 */ lwz r12, 8(r12) +/* 802D1E34 002CED74 7D 89 03 A6 */ mtctr r12 +/* 802D1E38 002CED78 4E 80 04 21 */ bctrl +/* 802D1E3C 002CED7C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1E40 002CED80 7C 08 03 A6 */ mtlr r0 +/* 802D1E44 002CED84 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1E48 002CED88 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JKernel/JKRThread/asm/func_802D1E4C.s b/include/JSystem/JKernel/JKRThread/asm/func_802D1E4C.s new file mode 100644 index 0000000000..025c28f413 --- /dev/null +++ b/include/JSystem/JKernel/JKRThread/asm/func_802D1E4C.s @@ -0,0 +1,19 @@ +/* 802D1E4C 002CED8C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 802D1E50 002CED90 7C 08 02 A6 */ mflr r0 +/* 802D1E54 002CED94 90 01 00 14 */ stw r0, 0x14(r1) +/* 802D1E58 002CED98 93 E1 00 0C */ stw r31, 0xc(r1) +/* 802D1E5C 002CED9C 7C 7F 1B 79 */ or. r31, r3, r3 +/* 802D1E60 002CEDA0 41 82 00 1C */ beq lbl_802D1E7C +/* 802D1E64 002CEDA4 3C A0 80 3D */ lis r5, lbl_803CC100@ha +/* 802D1E68 002CEDA8 38 05 C1 00 */ addi r0, r5, lbl_803CC100@l +/* 802D1E6C 002CEDAC 90 1F 00 00 */ stw r0, 0(r31) +/* 802D1E70 002CEDB0 7C 80 07 35 */ extsh. r0, r4 +/* 802D1E74 002CEDB4 40 81 00 08 */ ble lbl_802D1E7C +/* 802D1E78 002CEDB8 4B FF CE C5 */ bl __dl__FPv +lbl_802D1E7C: +/* 802D1E7C 002CEDBC 7F E3 FB 78 */ mr r3, r31 +/* 802D1E80 002CEDC0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 802D1E84 002CEDC4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 802D1E88 002CEDC8 7C 08 03 A6 */ mtlr r0 +/* 802D1E8C 002CEDCC 38 21 00 10 */ addi r1, r1, 0x10 +/* 802D1E90 002CEDD0 4E 80 00 20 */ blr \ No newline at end of file diff --git a/include/JSystem/JSupport/JSUList/JSUList.h b/include/JSystem/JSupport/JSUList/JSUList.h index 550243c688..9eefc0c6ca 100644 --- a/include/JSystem/JSupport/JSUList/JSUList.h +++ b/include/JSystem/JSupport/JSUList/JSUList.h @@ -143,7 +143,7 @@ class JSUListIterator { } JSUListIterator(JSULink* link) : mLink(link) { } - JSUListIterator(JSUList* list) : JSUListIterator(list->getFirst()) { + JSUListIterator(JSUList* list) : mLink(list->getFirst()) { } JSUListIterator& operator=(JSULink* link) { diff --git a/include/functions.h b/include/functions.h index f8ac1cef6b..107b362069 100644 --- a/include/functions.h +++ b/include/functions.h @@ -28,6 +28,11 @@ extern "C" { void func_80362218(void); void _restgpr_26(void); void _savegpr_26(void); + void func_8036221C(void); + void func_803621D0(void); + void func_803620AC(void); + void func_803626BC(void); + void func_803664DC(void); void _restgpr_29(void); void _savegpr_29(void); void _restgpr_28(void); @@ -45,6 +50,7 @@ extern "C" { void JUTReport_X1_(void); void JUTAssertion_NS_setMessageCount(void); void DynamicModuleControlBase_NS_dump(void); + void _restgpr_25(void); unsigned int getSelectItemIndex__21dSv_player_status_a_cCFi(int); void setLineUpItem__17dSv_player_item_cFv(void); void dMeter2Info_c_NS_setHotSpringTimer(void); @@ -157,11 +163,65 @@ extern "C" { void func_80003458(void); void dStage_roomControl_c_NS_initZone(void); void checkItemGet(u8,int); + void JUTWarningConsole(void); + void JUTConsole_NS_print(void); + void JUTConsole_NS_check(void); + void JUTConsole_NS_print_f(void); + void JUTConsole_NS_clear(void); + void JUTReportConsole_f(void); + void JUTWarningConsole(void); + void JUTWarningConsole_f(void); + + void func_803621CC(void); + void VIWaitForRetrace(void); + void func_80361C24(void); + + void _restgpr_26(void); + void _restgpr_27(void); + void _restgpr_28(void); + void _restgpr_29(void); + void _savegpr_26(void); + void _savegpr_27(void); + void _savegpr_28(void); + void _savegpr_29(void); + void func_80003540(void); + void func_80365470(void); + void func_803688DC(void); + void func_80368ABC(void); + void func_80368BE4(void); + void JKRArchive_NS_getDirEntry(void); + + void _restgpr_29(void); + void _savegpr_29(void); + void func_80361C24(void); + + void func_803621CC(void); + void func_80362218(void); + + void JKRAramArchive(void); + void JKRArchive_NS_findDirectory(void); + void JKRArchive_NS_findFsResource(void); + void JKRArchive_NS_findIdResource(void); + void JKRArchive_NS_findIdxResource(void); + void JKRArchive_NS_findNameResource(void); + void JKRArchive_NS_findPtrResource(void); + void JKRArchive_NS_findTypeResource(void); + void JKRCompArchive(void); + void JKRDvdArchive(void); + void JKRMemArchive(void); + void JKRMemArchive_X1_(void); + + void func_80365470(void); } // OS +struct OSThread; +struct OSMessageQueue; +typedef void* OSMessage; extern "C" { void OSInitMutex(u8[24]); + void OSLockMutex(u8[24]); + void OSUnlockMutex(u8[24]); void OSEnableScheduler(void); void OSDisableScheduler(void); void OSCheckActiveThreads(void); @@ -170,7 +230,6 @@ extern "C" { void OSSuspendThread(void); void OSSetThreadPriority(void); void OSResumeThread(void); - void OSCreateThread(void); void OSGetThreadPriority(void); void OSGetConsoleType(void); void OSGetResetCode(void); @@ -184,17 +243,40 @@ extern "C" { u32 OSInitAlloc(u32 low, u32 high, int param_3); void OSSetArenaLo(u32 param_1); void OSSetArenaHi(u32 param_1); + + void OSGetTick(void); + + + void OSCreateThread(OSThread* thread, void* (*func)(void*), void* param, + void* stack, u32 stackSize, int param_6, int param_7); + void OSCancelThread(OSThread* thread); + void OSDetachThread(OSThread* thread); + bool OSIsThreadSuspended(OSThread* thread); + bool OSIsThreadTerminated(OSThread* thread); + void OSInitMessageQueue(OSMessageQueue *queue, OSMessage* messages, int message_count); + void OSSetSwitchThreadCallback(void); + void OSReceiveMessage(void); + void OSSendMessage(void); } // DVD extern "C" { + void DVDOpen(void); void DVDClose(void); void DVDReadPrio(void); - void DVDOpen(void); void DVDGetCurrentDiskID(void); + void DVDFastOpen(void); + int DVDGetCommandBlockStatus(u8[48]); + void DVDReadAsyncPrio(void); + void DVDConvertPathToEntrynum(void); + + void DVDChangeDir(void); + void DVDCloseDir(void); + void DVDOpenDir(void); + void DVDReadDir(void); } -// JSupport/JSUList.h +// JSystem/JSupport/JSUList extern "C" { void __ct__10JSUPtrLinkFPv(void); void __dt__10JSUPtrLinkFv(void); @@ -209,14 +291,22 @@ extern "C" { void getNthLink__10JSUPtrListCFUl(void); } -// JKernel/JKRDisposer.h +// JSyste,/JKernel/JKRFile +extern "C" { + void read__7JKRFileFPvll(void); +} + +// JSystem/JKernel/JKRDisposer extern "C" { void __ct__11JKRDisposerFv(void); void __dt__11JKRDisposerFv(void); } -// JKernel/JKRHeap.h +// JSystem/JKernel/JKRHeap extern "C" { + void __ct__7JKRHeapFPvUlP7JKRHeapb(void); + void __dt__7JKRHeapFv(void); + void initArena__7JKRHeapFPPcPUli(void); void becomeCurrentHeap__7JKRHeapFv(void); void becomeSystemHeap__7JKRHeapFv(void); void destroy__7JKRHeapFv(void); @@ -285,7 +375,7 @@ extern void GXSetVtxDesc(u32, u32); extern "C" { void JUTReport__FiiPCce(int, int, const char*, ...); - extern void JUTReportConsole(const char*); + void JUTReportConsole(const char*); } // m_Do_main.h @@ -385,4 +475,235 @@ extern "C" { extern "C"{ void Z2CreatureRide_NS_setLinkRiding(void); void checkDownDamage__10e_wb_classFv(void); -} \ No newline at end of file +} + +// JSystem/JKernel/JKRThread +extern "C" { + void __ct__9JKRThreadFUlii(void); + void __ct__9JKRThreadFP7JKRHeapUlii(void); + void __ct__9JKRThreadFP8OSThreadi(void); + void __dt__9JKRThreadFv(void); + void setCommon_mesgQueue__9JKRThreadFP7JKRHeapi(void); + void setCommon_heapSpecified__9JKRThreadFP7JKRHeapUli(void); + void start__9JKRThreadFPv(void); + void searchThread__9JKRThreadFP8OSThread(void); + void __ct__15JKRThreadSwitchFP7JKRHeap(void); + void createManager__15JKRThreadSwitchFP7JKRHeap(void); + void enter__15JKRThreadSwitchFP9JKRThreadi(void); + void callback__15JKRThreadSwitchFP8OSThreadP8OSThread(void); + void draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole(void); + void run__9JKRThreadFv(void); + void draw__15JKRThreadSwitchFP14JKRThreadName_(void); + void __dt__15JKRThreadSwitchFv(void); +} + +// JSystem/JKernel/JKRDvdFile +extern "C" { + void __ct__10JKRDvdFileFPCc(void); + void __ct__10JKRDvdFileFl(void); + void __ct__10JKRDvdFileFv(void); + void __dt__10JKRDvdFileFv(void); + void close__10JKRDvdFileFv(void); + void doneProcess__10JKRDvdFileFlP11DVDFileInfo(void); + void getFileSize__10JKRDvdFileCFv(void); + void initiate__10JKRDvdFileFv(void); + void open__10JKRDvdFileFPCc(void); + void open__10JKRDvdFileFl(void); + void readData__10JKRDvdFileFPvll(void); + void sync__10JKRDvdFileFv(void); + void writeData__10JKRDvdFileFPCvll(void); +} + +// JSystem/JKernel/JKRFileCache +extern "C" { + void __ct__12JKRFileCacheFPCcPCc(void); + void __ct__Q212JKRFileCache11CCacheBlockFUlUlPCv(void); + void __dt__12JKRFileCacheFv(void); + void becomeCurrent__12JKRFileCacheFPCc(void); + void convStrLower__12JKRFileCacheCFPc(void); + void countFile__12JKRFileCacheCFPCc(void); + void detachResource__12JKRFileCacheFPv(void); + void findCacheBlock__12JKRFileCacheCFPCv(void); + void findCacheBlock__12JKRFileCacheCFUl(void); + void findFile__12JKRFileCacheCFPcPCc(void); + void getDvdPathName__12JKRFileCacheCFPCc(void); + void getFirstFile__12JKRFileCacheCFPCc(void); + void getFsResource__12JKRFileCacheFPCc(void); + void getNameResource__12JKRFileCacheFUlPCc(void); + void getResSize__12JKRFileCacheCFPCv(void); + void getResource__12JKRFileCacheFPCc(void); + void getResource__12JKRFileCacheFUlPCc(void); + void mount__12JKRFileCacheFPCcP7JKRHeapPCc(void); + void readFsResource__12JKRFileCacheFPvUlPCc(void); + void readNameResource__12JKRFileCacheFPvUlUlPCc(void); + void readResource__12JKRFileCacheFPvUlPCc(void); + void readResource__12JKRFileCacheFPvUlUlPCc(void); + void removeResourceAll__12JKRFileCacheFv(void); + void removeResource__12JKRFileCacheFPv(void); +}; + + +// JSystem/JKernel/JKRFileFinder +extern "C" { + void __ct__12JKRArcFinderFP10JKRArchivell(void); + void __ct__12JKRDvdFinderFPCc(void); + void __dt__12JKRArcFinderFv(void); + void __dt__12JKRDvdFinderFv(void); + void __dt__13JKRFileFinderFv(void); + void findNextFile__12JKRArcFinderFv(void); + void findNextFile__12JKRDvdFinderFv(void); +}; + +// JSystem/JKernel/JKRFileLoader +extern "C" { + void __ct__13JKRFileLoaderFv(void); + void __dt__13JKRFileLoaderFv(void); + void detachResource__13JKRFileLoaderFPvP13JKRFileLoader(void); + void fetchVolumeName__13JKRFileLoaderFPclPCc(void); + void findVolume__13JKRFileLoaderFPPCc(void); + void getGlbResource__13JKRFileLoaderFPCc(void); + void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(void); + void removeResource__13JKRFileLoaderFPvP13JKRFileLoader(void); + void unmount__13JKRFileLoaderFv(void); +}; + +// JSystem/JKernel/JKRAssertHeap +extern "C" { + void __ct__13JKRAssertHeapFPvUlP7JKRHeapb(void); + void __dt__13JKRAssertHeapFv(void); + void check__13JKRAssertHeapFv(void); + void create__13JKRAssertHeapFP7JKRHeap(void); + void do_alloc__13JKRAssertHeapFUli(void); + void do_changeGroupID__13JKRAssertHeapFUc(void); + void do_destroy__13JKRAssertHeapFv(void); + void do_fillFreeArea__13JKRAssertHeapFv(void); + void do_freeAll__13JKRAssertHeapFv(void); + void do_freeTail__13JKRAssertHeapFv(void); + void do_free__13JKRAssertHeapFPv(void); + void do_getCurrentGroupId__13JKRAssertHeapFv(void); + void do_getFreeSize__13JKRAssertHeapFv(void); + void do_getMaxFreeBlock__13JKRAssertHeapFv(void); + void do_getSize__13JKRAssertHeapFPv(void); + void do_getTotalFreeSize__13JKRAssertHeapFv(void); + void do_resize__13JKRAssertHeapFPvUl(void); + void dump__13JKRAssertHeapFv(void); + void dump_sort__13JKRAssertHeapFv(void); + void getHeapType__13JKRAssertHeapFv(void); +}; + +// JSystem/JKernel/JKRExpHeap +extern "C" { + void __ct__10JKRExpHeapFPvUlP7JKRHeapb(void); + void __dt__10JKRExpHeapFv(void); + void allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc(void); + void allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc(void); + void allocFromHead__10JKRExpHeapFUl(void); + void allocFromHead__10JKRExpHeapFUli(void); + void allocFromTail__10JKRExpHeapFUl(void); + void allocFromTail__10JKRExpHeapFUli(void); + void appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(void); + void check__10JKRExpHeapFv(void); + void createRoot__10JKRExpHeapFib(void); + void create__10JKRExpHeapFPvUlP7JKRHeapb(void); + void create__10JKRExpHeapFUlP7JKRHeapb(void); + void do_alloc__10JKRExpHeapFUli(void); + void do_changeGroupID__10JKRExpHeapFUc(void); + void do_destroy__10JKRExpHeapFv(void); + void do_fillFreeArea__10JKRExpHeapFv(void); + void do_freeAll__10JKRExpHeapFv(void); + void do_freeTail__10JKRExpHeapFv(void); + void do_free__10JKRExpHeapFPv(void); + void do_getCurrentGroupId__10JKRExpHeapFv(void); + void do_getFreeSize__10JKRExpHeapFv(void); + void do_getMaxFreeBlock__10JKRExpHeapFv(void); + void do_getSize__10JKRExpHeapFPv(void); + void do_getTotalFreeSize__10JKRExpHeapFv(void); + void do_resize__10JKRExpHeapFPvUl(void); + void dump__10JKRExpHeapFv(void); + void dump_sort__10JKRExpHeapFv(void); + void free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap(void); + void getHeapBlock__Q210JKRExpHeap9CMemBlockFPv(void); + void getHeapType__10JKRExpHeapFv(void); + void getTotalUsedSize__10JKRExpHeapCFv(void); + void getUsedSize__10JKRExpHeapCFUc(void); + void initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc(void); + void joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(void); + void recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(void); + void removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(void); + void removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(void); + void setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock(void); + void state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState(void); + void state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl(void); +}; + +// JSystem/JKernel/JKRSolidHeap +extern "C" { + void __ct__12JKRSolidHeapFPvUlP7JKRHeapb(void); + void __dt__12JKRSolidHeapFv(void); + void adjustSize__12JKRSolidHeapFv(void); + void allocFromHead__12JKRSolidHeapFUli(void); + void allocFromTail__12JKRSolidHeapFUli(void); + void check__12JKRSolidHeapFv(void); + void create__12JKRSolidHeapFUlP7JKRHeapb(void); + void do_alloc__12JKRSolidHeapFUli(void); + void do_destroy__12JKRSolidHeapFv(void); + void do_fillFreeArea__12JKRSolidHeapFv(void); + void do_freeAll__12JKRSolidHeapFv(void); + void do_freeTail__12JKRSolidHeapFv(void); + void do_free__12JKRSolidHeapFPv(void); + void do_getFreeSize__12JKRSolidHeapFv(void); + void do_getMaxFreeBlock__12JKRSolidHeapFv(void); + void do_getSize__12JKRSolidHeapFPv(void); + void do_getTotalFreeSize__12JKRSolidHeapFv(void); + void do_resize__12JKRSolidHeapFPvUl(void); + void dump__12JKRSolidHeapFv(void); + void getHeapType__12JKRSolidHeapFv(void); + void state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState(void); + void state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl(void); +}; + +// JSystem/JKernel/JKRArchivePub +extern "C" { + void becomeCurrent__10JKRArchiveFPCc(void); + void check_mount_already__10JKRArchiveFlP7JKRHeap(void); + void countFile__10JKRArchiveCFPCc(void); + void countResource__10JKRArchiveCFv(void); + void detachResource__10JKRArchiveFPv(void); + void getDirEntry__10JKRArchiveCFPQ210JKRArchive9SDirEntryUl(void); + void getFileAttribute__10JKRArchiveCFUl(void); + void getFirstFile__10JKRArchiveCFPCc(void); + void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(void); + void getIdxResource__10JKRArchiveFUl(void); + void getResSize__10JKRArchiveCFPCv(void); + void getResource__10JKRArchiveFPCc(void); + void getResource__10JKRArchiveFUlPCc(void); + void getResource__10JKRArchiveFUs(void); + void mount__10JKRArchiveFPCcQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection(void); + void mount__10JKRArchiveFPvP7JKRHeapQ210JKRArchive15EMountDirection(void); + void mount__10JKRArchiveFlQ210JKRArchive10EMountModeP7JKRHeapQ210JKRArchive15EMountDirection(void); + void readIdxResource__10JKRArchiveFPvUlUl(void); + void readResource__10JKRArchiveFPvUlPCc(void); + void readResource__10JKRArchiveFPvUlUlPCc(void); + void readResource__10JKRArchiveFPvUlUs(void); + void removeResourceAll__10JKRArchiveFv(void); + void removeResource__10JKRArchiveFPv(void); +}; + +// JSystem/JKernel/JKRArchivePri +extern "C" { + void __ct__10JKRArchiveFlQ210JKRArchive10EMountMode(void); + void __dt__10JKRArchiveFv(void); + void findDirectory__10JKRArchiveCFPCcUl(void); + void findFsResource__10JKRArchiveCFPCcUl(void); + void findIdResource__10JKRArchiveCFUs(void); + void findIdxResource__10JKRArchiveCFUl(void); + void findNameResource__10JKRArchiveCFPCc(void); + void findPtrResource__10JKRArchiveCFPCv(void); + void findResType__10JKRArchiveCFUl(void); + void findTypeResource__10JKRArchiveCFUlPCc(void); + void getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry(void); + void isSameName__10JKRArchiveCFRQ210JKRArchive8CArcNameUlUs(void); + void setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl(void); + void store__Q210JKRArchive8CArcNameFPCc(void); + void store__Q210JKRArchive8CArcNameFPCcc(void); +}; \ No newline at end of file diff --git a/include/m_Do/m_Do_main/asm/func_8000628C.s b/include/m_Do/m_Do_main/asm/func_8000628C.s index a2a06d0548..31af38a032 100644 --- a/include/m_Do/m_Do_main/asm/func_8000628C.s +++ b/include/m_Do/m_Do_main/asm/func_8000628C.s @@ -96,7 +96,7 @@ lbl_800063A8: /* 800063E4 00003324 38 63 D8 00 */ addi r3, r3, 0x0014D800@l /* 800063E8 00003328 80 8D 8D F4 */ lwz r4, lbl_80451374-_SDA_BASE_(r13) /* 800063EC 0000332C 38 A0 00 00 */ li r5, 0 -/* 800063F0 00003330 48 2C A6 35 */ bl JKRSolidHeap_NS_create +/* 800063F0 00003330 48 2C A6 35 */ bl create__12JKRSolidHeapFUlP7JKRHeapb /* 800063F4 00003334 90 6D 86 3C */ stw r3, lbl_80450BBC-_SDA_BASE_(r13) /* 800063F8 00003338 3C 60 80 3F */ lis r3, lbl_803EAF40@ha /* 800063FC 0000333C 3B E3 AF 40 */ addi r31, r3, lbl_803EAF40@l diff --git a/include/variables.h b/include/variables.h index 55b82561dc..0766f9bd93 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1,3 +1,5 @@ +#include "JSystem/JSupport/JSUList/JSUList.h" + extern float lbl_80451D5C; extern u8 lbl_80379234[0x64]; extern int lbl_804061C0; @@ -88,11 +90,10 @@ class JKRHeap; extern JKRHeap* lbl_80451370; // JKRHeap::sSystemHeap extern JKRHeap* lbl_80451378; // JKRHeap::sRootHeap extern JKRHeap* lbl_80451374; // JKRHeap::sCurrentHeap -extern void* lbl_8045137C; // JKRHeap::mErrorHandler +extern void* lbl_8045137C; // JKRHeap::mErrorHandler - -extern u8 lbl_804508B0[8]; // ::*fill* -extern u8 lbl_80451380[4]; // DAT_80451380 +extern bool lbl_804508B0; // ::*fill* +extern bool lbl_80451380; // DAT_80451380 // func_802CE378 extern void* lbl_80451384; // JKRHeap::mCodeStart @@ -180,17 +181,70 @@ extern u32 lbl_80455834; extern u32 lbl_80451330; extern u32 lbl_80451334; - -//Z2SoundLib SInstance +// Z2SoundLib SInstance class Z2SceneMgr; extern Z2SceneMgr* lbl_80450B80; // Z2SceneMgr sInstance class Z2SoundMgr; extern Z2SoundMgr* lbl_80450B60; // Z2SoundMgr sInstance class Z2SeqMgr; -extern Z2SeqMgr* lbl_80450B84; //Z2SeqMgr sInstance +extern Z2SeqMgr* lbl_80450B84; // Z2SeqMgr sInstance class Z2StatusMgr; -extern Z2StatusMgr* lbl_80450B7C; //Z2StatusMgr sInstance +extern Z2StatusMgr* lbl_80450B7C; // Z2StatusMgr sInstance class Z2SeMgr; -extern Z2SeMgr* lbl_80450B88; //Z2SeMgr sInstance +extern Z2SeMgr* lbl_80450B88; // Z2SeMgr sInstance class Z2SoundObjMgr; -extern Z2SoundObjMgr* lbl_80450B48; //Z2SoundObjMgr sInstance \ No newline at end of file +extern Z2SoundObjMgr* lbl_80450B48; // Z2SoundObjMgr sInstance +extern void* lbl_803CC114; // JKRThread::__vt + +class JKRThreadSwitch; +extern void* lbl_803CC100[5]; // JKRThreadSwitch::__vt +extern u32 lbl_804513B4; // JKRThreadSwitch::sTotalCount +extern u32 lbl_804513BC; // DAT_804513bc +extern u32 lbl_804513B8; // JKRThreadSwitch::sTotalStart +extern JKRThreadSwitch* lbl_804513B0; // JKRThreadSwitch::sManager +extern void* lbl_804513C0; // JKRThreadSwitch::mUserPreCallback +extern void* lbl_804513C4; // JKRThreadSwitch::mUserPostCallback + +extern char lbl_8039CFA8[1]; // 8039cfdc-0x34 "JKRThreadSwitch: currentHeap destroyed.\n" + +extern float lbl_80455FC0; // JKernel::@934 = 100.0 +extern float lbl_80455FC4; // JKernel::@935 = 1000.0 +extern double lbl_80455FC8; // JKernel::@937 = 4.503599627370496E15 + +class JKRDvdFile; +extern JSUList lbl_8043436C; // JKRDvdFile::sDvdList +extern u8 lbl_803CC438; // JKRDvdFile::__vt +extern u8 lbl_80434360; // JKernel::@657 (global destructor chain) +extern u8 lbl_8039D260; // "JKRDvdFile.cpp" +extern u8 lbl_803CC328; // JKRFile::__vt + +class JKRFileLoader; +extern JKRFileLoader* lbl_80451418; // JKRFileLoader::sCurrentVolume +extern u8 lbl_8039D158; // "/" +extern u8 lbl_803CC238; // JKRFileCache::__vt +extern JSUList lbl_80434354; // JKRFileLoader::sVolumeList +extern u8 lbl_803CC218; // JKRArcFinder::__vt +extern u8 lbl_803CC228; // JKRFileFinder::__vt +extern u8 lbl_803CC208; // JKRDvdFinder::__vt +extern u8 lbl_8039D150; // "/" +extern u8 lbl_803CC1C8; // JKRFileLoader::__vt +extern u8 lbl_804508C0; // "/" JKernel::rootPath$2498 +extern u8 lbl_80434348; // JKernel::@2182 (global destructor chain) +extern u8 lbl_803D2D18[256]; // MSL_C.PPCEABI.bare.H::__lower_map +extern u8 lbl_803CC090; // JKRAssertHeap::__vt +extern u8 lbl_80451398; // JKernel::DBfoundSize +extern u8 lbl_8045139C; // JKernel::DBfoundOffset +extern u8 lbl_804513A0; // JKernel::DBfoundBlock +extern u8 lbl_804513A4; // JKernel::DBnewFreeBlock +extern u8 lbl_804513A8; // JKernel::DBnewUsedBlock +extern float lbl_80455F98; // JKernel::@1121 = 100.0 +extern u8 lbl_803CBFD0; // JKRExpHeap::__vt +extern u8 lbl_8039CAF0; // ":::cannot alloc memory (0x%x byte).\n" +extern double lbl_80455FA0; // JKernel::@1123 = 4.503599627370496E15 +extern u8 lbl_803CC030; // JKRSolidHeap::__vt +extern double lbl_80455FB8; // JKernel::@697 = 4.503599627370496E15 +extern u8 lbl_8039CE50; // "allocFromHead: cannot alloc memory (0x%x byte).\n" +extern double lbl_80455FB0; // JKernel::@695 = 4.503601774854144E15 +extern float lbl_80455FA8; // JKernel::@693 = 100.0 +extern u8 lbl_80451420; // JKRArchive::sCurrentDirID +extern u8 lbl_803CC288; // JKRArchive::__vt diff --git a/ldscript.lcf b/ldscript.lcf index 44e425b7e0..6c05765fe3 100644 --- a/ldscript.lcf +++ b/ldscript.lcf @@ -786,6 +786,106 @@ FORCEACTIVE { setGX__10JUTResFontF6TColor6TColor setGX__10JUTResFontFv setBlock__10JUTResFontFv + draw__15JKRThreadSwitchFP14JKRThreadName_P10JUTConsole + run__9JKRThreadFv + draw__15JKRThreadSwitchFP14JKRThreadName_ + __dt__15JKRThreadSwitchFv + __sinit_JKRThread_cpp + close__10JKRDvdFileFv +getFileSize__10JKRDvdFileCFv +readData__10JKRDvdFileFPvll +writeData__10JKRDvdFileFPCvll +__dt__12JKRFileCacheFv +becomeCurrent__12JKRFileCacheFPCc +countFile__12JKRFileCacheCFPCc +detachResource__12JKRFileCacheFPv +getFirstFile__12JKRFileCacheCFPCc +getFsResource__12JKRFileCacheFPCc +getNameResource__12JKRFileCacheFUlPCc +getResSize__12JKRFileCacheCFPCv +getResource__12JKRFileCacheFPCc +getResource__12JKRFileCacheFUlPCc +readFsResource__12JKRFileCacheFPvUlPCc +readNameResource__12JKRFileCacheFPvUlUlPCc +readResource__12JKRFileCacheFPvUlPCc +readResource__12JKRFileCacheFPvUlUlPCc +removeResourceAll__12JKRFileCacheFv +removeResource__12JKRFileCacheFPv +__dt__12JKRArcFinderFv +__dt__12JKRDvdFinderFv +__dt__13JKRFileFinderFv +findNextFile__12JKRArcFinderFv +findNextFile__12JKRDvdFinderFv +__sinit_JKRFileLoader_cpp +unmount__13JKRFileLoaderFv +__dt__13JKRAssertHeapFv +check__13JKRAssertHeapFv +do_alloc__13JKRAssertHeapFUli +do_changeGroupID__13JKRAssertHeapFUc +do_destroy__13JKRAssertHeapFv +do_fillFreeArea__13JKRAssertHeapFv +do_freeAll__13JKRAssertHeapFv +do_freeTail__13JKRAssertHeapFv +do_free__13JKRAssertHeapFPv +do_getCurrentGroupId__13JKRAssertHeapFv +do_getFreeSize__13JKRAssertHeapFv +do_getMaxFreeBlock__13JKRAssertHeapFv +do_getSize__13JKRAssertHeapFPv +do_getTotalFreeSize__13JKRAssertHeapFv +do_resize__13JKRAssertHeapFPvUl +dump__13JKRAssertHeapFv +dump_sort__13JKRAssertHeapFv +getHeapType__13JKRAssertHeapFv +__dt__10JKRExpHeapFv +check__10JKRExpHeapFv +do_alloc__10JKRExpHeapFUli +do_changeGroupID__10JKRExpHeapFUc +do_destroy__10JKRExpHeapFv +do_fillFreeArea__10JKRExpHeapFv +do_freeAll__10JKRExpHeapFv +do_freeTail__10JKRExpHeapFv +do_free__10JKRExpHeapFPv +do_getCurrentGroupId__10JKRExpHeapFv +do_getFreeSize__10JKRExpHeapFv +do_getMaxFreeBlock__10JKRExpHeapFv +do_getSize__10JKRExpHeapFPv +do_getTotalFreeSize__10JKRExpHeapFv +do_resize__10JKRExpHeapFPvUl +dump__10JKRExpHeapFv +dump_sort__10JKRExpHeapFv +getHeapType__10JKRExpHeapFv +state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState +state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl +__dt__12JKRSolidHeapFv +check__12JKRSolidHeapFv +do_alloc__12JKRSolidHeapFUli +do_destroy__12JKRSolidHeapFv +do_fillFreeArea__12JKRSolidHeapFv +do_freeAll__12JKRSolidHeapFv +do_freeTail__12JKRSolidHeapFv +do_free__12JKRSolidHeapFPv +do_getFreeSize__12JKRSolidHeapFv +do_getMaxFreeBlock__12JKRSolidHeapFv +do_getSize__12JKRSolidHeapFPv +do_getTotalFreeSize__12JKRSolidHeapFv +do_resize__12JKRSolidHeapFPvUl +dump__12JKRSolidHeapFv +getHeapType__12JKRSolidHeapFv +state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState +state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl +becomeCurrent__10JKRArchiveFPCc +countFile__10JKRArchiveCFPCc +detachResource__10JKRArchiveFPv +getFirstFile__10JKRArchiveCFPCc +getResSize__10JKRArchiveCFPCv +getResource__10JKRArchiveFPCc +getResource__10JKRArchiveFUlPCc +readResource__10JKRArchiveFPvUlPCc +readResource__10JKRArchiveFPvUlUlPCc +removeResourceAll__10JKRArchiveFv +removeResource__10JKRArchiveFPv +getExpandSize__10JKRArchiveCFPQ210JKRArchive12SDIFileEntry +setExpandSize__10JKRArchiveFPQ210JKRArchive12SDIFileEntryUl } /* .init 80003100 - 80005600 diff --git a/libs/JSystem/JKernel/JKRArchivePri.cpp b/libs/JSystem/JKernel/JKRArchivePri.cpp index 4bf93c8658..b65dc49163 100644 --- a/libs/JSystem/JKernel/JKRArchivePri.cpp +++ b/libs/JSystem/JKernel/JKRArchivePri.cpp @@ -1 +1,79 @@ -// ok +#include "JSystem/JKernel/JKRArchive/JKRArchive.h" +#include "global.h" + +asm JKRArchive::JKRArchive(long, JKRArchive::EMountMode) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6294.s" +} + +asm JKRArchive::~JKRArchive() { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6334.s" +} + +asm void JKRArchive::isSameName(JKRArchive::CArcName&, u32, unsigned short) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6394.s" +} + +asm void JKRArchive::findResType(u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D63E0.s" +} + +asm void JKRArchive::findDirectory(char const*, u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D641C.s" +} + +asm void JKRArchive::findTypeResource(u32, char const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D64F4.s" +} + +asm void JKRArchive::findFsResource(char const*, u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D65A4.s" +} + +asm void JKRArchive::findIdxResource(u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6684.s" +} + +asm void JKRArchive::findNameResource(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D66AC.s" +} + +asm void JKRArchive::findPtrResource(void const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6734.s" +} + +asm void JKRArchive::findIdResource(unsigned short) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6770.s" +} + +asm void JKRArchive::CArcName::store(char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D67F4.s" +} + +asm const char* JKRArchive::CArcName::store(char const*, char) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6884.s" +} + +#if 0 +asm void JKRArchive::setExpandSize(JKRArchive::SDIFileEntry*, u32) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D693C.s" +} + +asm void JKRArchive::getExpandSize(JKRArchive::SDIFileEntry*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6978.s" +} +#endif \ No newline at end of file diff --git a/libs/JSystem/JKernel/JKRArchivePub.cpp b/libs/JSystem/JKernel/JKRArchivePub.cpp index 4bf93c8658..49b76ff1cf 100644 --- a/libs/JSystem/JKernel/JKRArchivePub.cpp +++ b/libs/JSystem/JKernel/JKRArchivePub.cpp @@ -1 +1,117 @@ -// ok +#include "JSystem/JKernel/JKRArchive/JKRArchive.h" +#include "global.h" + +asm void JKRArchive::check_mount_already(long, JKRHeap*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5778.s" +} + +asm void JKRArchive::mount(char const*, JKRArchive::EMountMode, JKRHeap*, JKRArchive::EMountDirection) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D57E4.s" +} + +asm void JKRArchive::mount(void*, JKRHeap*, JKRArchive::EMountDirection) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5840.s" +} + +asm void JKRArchive::mount(long, JKRArchive::EMountMode, JKRHeap*, JKRArchive::EMountDirection) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D58C8.s" +} + +asm void JKRArchive::becomeCurrent(char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5A38.s" +} + +asm bool JKRArchive::getDirEntry(JKRArchive::SDirEntry*, u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5AC0.s" +} + +asm void JKRArchive::getGlbResource(u32, char const*, JKRArchive*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5B38.s" +} + +asm void JKRArchive::getResource(char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5BE8.s" +} + +asm void JKRArchive::getResource(u32, char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5C64.s" +} + +asm void JKRArchive::getIdxResource(u32) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5CE4.s" +} + +asm void JKRArchive::getResource(unsigned short) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5D38.s" +} + +asm void JKRArchive::readResource(void*, u32, u32, char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5D8C.s" +} + +asm void JKRArchive::readResource(void*, u32, char const*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5E30.s" +} + +asm void JKRArchive::readIdxResource(void*, u32, u32) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5ECC.s" +} + +asm void JKRArchive::readResource(void*, u32, unsigned short) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5F40.s" +} + +asm void JKRArchive::removeResourceAll(void) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D5FB4.s" +} + +asm void JKRArchive::removeResource(void*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D603C.s" +} + +asm void JKRArchive::detachResource(void*) { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D609C.s" +} + +asm void JKRArchive::getResSize(void const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D60D8.s" +} + +asm void JKRArchive::countResource(void) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D610C.s" +} + +asm void JKRArchive::countFile(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D6150.s" +} + +asm void JKRArchive::getFirstFile(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D61B0.s" +} + +asm void JKRArchive::getFileAttribute(u32) const { + nofralloc +#include "JSystem/JKernel/JKRArchive/asm/func_802D625C.s" +} diff --git a/libs/JSystem/JKernel/JKRAssertHeap.cpp b/libs/JSystem/JKernel/JKRAssertHeap.cpp index 4bf93c8658..7fc02f5c37 100644 --- a/libs/JSystem/JKernel/JKRAssertHeap.cpp +++ b/libs/JSystem/JKernel/JKRAssertHeap.cpp @@ -1 +1,102 @@ -// ok +#include "JSystem/JKernel/JKRAssertHeap/JKRAssertHeap.h" +#include "global.h" + +asm JKRAssertHeap::JKRAssertHeap(void*, unsigned long, JKRHeap*, bool) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D12C4.s" +} + +asm JKRAssertHeap::~JKRAssertHeap() { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1300.s" +} + +asm void JKRAssertHeap::create(JKRHeap*) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1368.s" +} + +asm void JKRAssertHeap::do_destroy(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D13D8.s" +} + +asm u32 JKRAssertHeap::getHeapType(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1408.s" +} + +asm bool JKRAssertHeap::check(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1414.s" +} + +asm bool JKRAssertHeap::dump(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D141C.s" +} + +asm void JKRAssertHeap::dump_sort(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1424.s" +} + +asm u8 JKRAssertHeap::do_changeGroupID(u8 param_1) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D142C.s" +} + +asm u8 JKRAssertHeap::do_getCurrentGroupId(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1434.s" +} + +asm void* JKRAssertHeap::do_alloc(u32, int) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D143C.s" +} + +asm void JKRAssertHeap::do_free(void*) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1444.s" +} + +asm void JKRAssertHeap::do_freeAll(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1448.s" +} + +asm void JKRAssertHeap::do_freeTail(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D144C.s" +} + +asm void JKRAssertHeap::do_fillFreeArea(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1450.s" +} + +asm s32 JKRAssertHeap::do_resize(void*, u32) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1454.s" +} + +asm s32 JKRAssertHeap::do_getSize(void*) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D145C.s" +} + +asm s32 JKRAssertHeap::do_getFreeSize(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1464.s" +} + +asm void* JKRAssertHeap::do_getMaxFreeBlock(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D146C.s" +} + +asm s32 JKRAssertHeap::do_getTotalFreeSize(void) { + nofralloc +#include "JSystem/JKernel/JKRAssertHeap/asm/func_802D1474.s" +} diff --git a/libs/JSystem/JKernel/JKRDvdFile.cpp b/libs/JSystem/JKernel/JKRDvdFile.cpp index 4bf93c8658..60826fe35e 100644 --- a/libs/JSystem/JKernel/JKRDvdFile.cpp +++ b/libs/JSystem/JKernel/JKRDvdFile.cpp @@ -1 +1,68 @@ -// ok +#include "JSystem/JKernel/JKRDvdFile/JKRDvdFile.h" +#include "global.h" + + +asm JKRDvdFile::JKRDvdFile(void) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9584.s" +} + +asm JKRDvdFile::JKRDvdFile(char const *) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D95F8.s" +} + +asm JKRDvdFile::JKRDvdFile(long) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D96A0.s" +} + +asm JKRDvdFile::~JKRDvdFile() { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9748.s" +} + +asm void JKRDvdFile::initiate(void) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D97E4.s" +} + +asm bool JKRDvdFile::open(char const *) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s" +} + +asm bool JKRDvdFile::open(long) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s" +} + +asm void JKRDvdFile::close(void) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s" +} + +asm void JKRDvdFile::readData(void *, long, long) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D99B4.s" +} + +asm s32 JKRDvdFile::writeData(void const *, long, long) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9A68.s" +} + +asm void JKRDvdFile::sync(void) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9A70.s" +} + +asm void JKRDvdFile::doneProcess(long, DVDFileInfo *) { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9AC4.s" +} + +asm s32 JKRDvdFile::getFileSize(void) const { + nofralloc + #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s" +} diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index 4bf93c8658..35ebaf6407 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -1 +1,208 @@ -// ok +#include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h" +#include "global.h" + +asm void JKRExpHeap::createRoot(int, bool) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CEDB4.s" +} + +asm void JKRExpHeap::create(u32, JKRHeap *, bool) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CEE2C.s" +} + +asm void JKRExpHeap::create(void *, u32, JKRHeap *, bool) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CEF00.s" +} + +asm void JKRExpHeap::do_destroy(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CEFAC.s" +} + +asm JKRExpHeap::JKRExpHeap(void *, u32, JKRHeap *, bool) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF030.s" +} + +asm JKRExpHeap::~JKRExpHeap() { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF0C0.s" +} + +asm void* JKRExpHeap::do_alloc(u32, int) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF128.s" +} + +asm void JKRExpHeap::allocFromHead(u32, int) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF234.s" +} + +asm void JKRExpHeap::allocFromHead(u32) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF490.s" +} + +asm void JKRExpHeap::allocFromTail(u32, int) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF574.s" +} + +asm void JKRExpHeap::allocFromTail(u32) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF6D4.s" +} + +asm void JKRExpHeap::do_free(void *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF7AC.s" +} + +asm void JKRExpHeap::do_freeAll(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF820.s" +} + +asm void JKRExpHeap::do_freeTail(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s" +} + +asm void JKRExpHeap::do_fillFreeArea(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF924.s" +} + +asm u8 JKRExpHeap::do_changeGroupID(u8) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF928.s" +} + +asm s32 JKRExpHeap::do_resize(void *, u32) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CF978.s" +} + +asm s32 JKRExpHeap::do_getSize(void *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFB24.s" +} + +asm s32 JKRExpHeap::do_getFreeSize(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFBA4.s" +} + +asm void* JKRExpHeap::do_getMaxFreeBlock(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFC10.s" +} + +asm s32 JKRExpHeap::do_getTotalFreeSize(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFC84.s" +} + +asm s32 JKRExpHeap::getUsedSize( unsigned char) const { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFCE8.s" +} + +asm s32 JKRExpHeap::getTotalUsedSize( void) const { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFD64.s" +} + +asm void JKRExpHeap::appendUsedList(JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFDCC.s" +} + +asm void JKRExpHeap::setFreeBlock(JKRExpHeap::CMemBlock *, JKRExpHeap::CMemBlock *, JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFE68.s" +} + +asm void JKRExpHeap::removeFreeBlock(JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFEB4.s" +} + +asm void JKRExpHeap::removeUsedBlock(JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFEE8.s" +} + +asm void JKRExpHeap::recycleFreeBlock(JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802CFF1C.s" +} + +asm void JKRExpHeap::joinTwoBlocks(JKRExpHeap::CMemBlock *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D00B4.s" +} + +asm bool JKRExpHeap::check(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0190.s" +} + +asm bool JKRExpHeap::dump(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D03B8.s" +} + +asm void JKRExpHeap::dump_sort(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D05CC.s" +} + +asm void JKRExpHeap::CMemBlock::initiate( JKRExpHeap::CMemBlock *, JKRExpHeap::CMemBlock *, u32, unsigned char, unsigned char) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0810.s" +} + +asm void JKRExpHeap::CMemBlock::allocFore( u32, unsigned char, unsigned char, unsigned char, unsigned char) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0830.s" +} + +asm void JKRExpHeap::CMemBlock::allocBack( u32, unsigned char, unsigned char, unsigned char, unsigned char) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0874.s" +} + +asm void JKRExpHeap::CMemBlock::free( JKRExpHeap *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D08CC.s" +} + +asm void JKRExpHeap::CMemBlock::getHeapBlock( void *) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D091C.s" +} + +asm void JKRExpHeap::state_register(JKRHeap::TState *, u32) const { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s" +} + +asm bool JKRExpHeap::state_compare( JKRHeap::TState const &, JKRHeap::TState const &) const { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D09E0.s" +} + +asm u32 JKRExpHeap::getHeapType(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0A10.s" +} + +asm u8 JKRExpHeap::do_getCurrentGroupId(void) { + nofralloc + #include "JSystem/JKernel/JKRExpHeap/asm/func_802D0A1C.s" +} + diff --git a/libs/JSystem/JKernel/JKRFile.cpp b/libs/JSystem/JKernel/JKRFile.cpp index 4bf93c8658..3741982af0 100644 --- a/libs/JSystem/JKernel/JKRFile.cpp +++ b/libs/JSystem/JKernel/JKRFile.cpp @@ -1 +1,8 @@ -// ok +#include "JSystem/JKernel/JKRFile/JKRFile.h" +#include "global.h" + +asm s32 JKRFile::read(void *, long, long) { + nofralloc + #include "JSystem/JKernel/JKRFile/asm/func_802D9518.s" +} + diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp index 4bf93c8658..70a6f04c9a 100644 --- a/libs/JSystem/JKernel/JKRFileCache.cpp +++ b/libs/JSystem/JKernel/JKRFileCache.cpp @@ -1 +1,122 @@ -// ok +#include "JSystem/JKernel/JKRFileCache/JKRFileCache.h" +#include "global.h" + +asm void JKRFileCache::mount(char const*, JKRHeap*, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D49B4.s" +} + +asm JKRFileCache::JKRFileCache(char const*, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4AB4.s" +} + +asm JKRFileCache::~JKRFileCache() { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4C70.s" +} + +asm void JKRFileCache::becomeCurrent(char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4D44.s" +} + +asm void JKRFileCache::getResource(char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4DD8.s" +} + +asm void JKRFileCache::getResource(unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4EDC.s" +} + +asm void JKRFileCache::readResource(void*, unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s" +} + +asm void JKRFileCache::readResource(void*, unsigned long, unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D503C.s" +} + +asm void JKRFileCache::removeResourceAll(void) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D50D4.s" +} + +asm void JKRFileCache::removeResource(void*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D5164.s" +} + +asm void JKRFileCache::detachResource(void*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D51F8.s" +} + +asm void JKRFileCache::getResSize(void const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D526C.s" +} + +asm void JKRFileCache::countFile(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D52A0.s" +} + +asm void JKRFileCache::getFirstFile(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D531C.s" +} + +asm void JKRFileCache::findCacheBlock(void const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D53B8.s" +} + +asm void JKRFileCache::findCacheBlock(unsigned long) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D53E4.s" +} + +asm void JKRFileCache::findFile(char*, char const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D5410.s" +} + +asm void JKRFileCache::getDvdPathName(char const*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D551C.s" +} + +asm void JKRFileCache::convStrLower(char*) const { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D5624.s" +} + +asm JKRFileCache::CCacheBlock::CCacheBlock(unsigned long, unsigned long, void const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D566C.s" +} + +asm void JKRFileCache::getFsResource(char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D56C8.s" +} + +asm void JKRFileCache::getNameResource(unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D56F4.s" +} + +asm void JKRFileCache::readFsResource(void*, unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D5720.s" +} + +asm void JKRFileCache::readNameResource(void*, unsigned long, unsigned long, char const*) { + nofralloc +#include "JSystem/JKernel/JKRFileCache/asm/func_802D574C.s" +} diff --git a/libs/JSystem/JKernel/JKRFileFinder.cpp b/libs/JSystem/JKernel/JKRFileFinder.cpp index 4bf93c8658..dfba72ceec 100644 --- a/libs/JSystem/JKernel/JKRFileFinder.cpp +++ b/libs/JSystem/JKernel/JKRFileFinder.cpp @@ -1 +1,38 @@ -// ok +#include "JSystem/JKernel/JKRFileFinder/JKRFileFinder.h" +#include "global.h" + +asm JKRArcFinder::JKRArcFinder(JKRArchive *, long, long) { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D4638.s" +} + +asm bool JKRArcFinder::findNextFile(void) { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D46C4.s" +} + +asm JKRDvdFinder::JKRDvdFinder(char const *) { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D4770.s" +} + +asm JKRDvdFinder:: ~JKRDvdFinder() { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D47F4.s" +} + +asm bool JKRDvdFinder::findNextFile(void) { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D4874.s" +} + +asm JKRFileFinder::~JKRFileFinder() { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D4910.s" +} + +asm JKRArcFinder::~JKRArcFinder() { + nofralloc + #include "JSystem/JKernel/JKRFileFinder/asm/func_802D4958.s" +} + diff --git a/libs/JSystem/JKernel/JKRFileLoader.cpp b/libs/JSystem/JKernel/JKRFileLoader.cpp index 4bf93c8658..de5ed49098 100644 --- a/libs/JSystem/JKernel/JKRFileLoader.cpp +++ b/libs/JSystem/JKernel/JKRFileLoader.cpp @@ -1 +1,53 @@ -// ok +#include "JSystem/JKernel/JKRFileLoader/JKRFileLoader.h" +#include "global.h" + +asm JKRFileLoader::JKRFileLoader(void) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D40F0.s" +} + +asm JKRFileLoader::~JKRFileLoader() { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D4148.s" +} + +asm void JKRFileLoader::unmount(void) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D41D4.s" +} + +asm void* JKRFileLoader::getGlbResource(char const *) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D4224.s" +} + +asm void* JKRFileLoader::getGlbResource(char const *, JKRFileLoader *) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D4270.s" +} + +asm bool JKRFileLoader::removeResource(void *, JKRFileLoader *) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D4308.s" +} + +asm bool JKRFileLoader::detachResource(void *, JKRFileLoader *) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D43A0.s" +} + +asm JKRFileLoader* JKRFileLoader::findVolume(char const **) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D4438.s" +} + +#if 0 +// JSystem\JKernel\JKRFileLoader\asm\func_802D44C4.s:18: illegal object reference in constant expression (lbl_804508C0) +// JSystem\JKernel\JKRFileLoader\asm\func_802D44C4.s:20: illegal object reference in constant expression (lbl_804508C0) +// JSystem\JKernel\JKRFileLoader\asm\func_802D44C4.s:57: illegal object reference in constant expression (lbl_804508C0) +asm void JKRFileLoader::fetchVolumeName(char *, long, char const *) { + nofralloc + #include "JSystem/JKernel/JKRFileLoader/asm/func_802D44C4.s" +} + +#endif \ No newline at end of file diff --git a/libs/JSystem/JKernel/JKRHeap.cpp b/libs/JSystem/JKernel/JKRHeap.cpp index 1b2c039494..e905f1f52f 100644 --- a/libs/JSystem/JKernel/JKRHeap.cpp +++ b/libs/JSystem/JKernel/JKRHeap.cpp @@ -4,9 +4,9 @@ // #include "JSystem/JKernel/JKRHeap/asm/func_802CE138.s" JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_flag) : JKRDisposer(), mChildTree(this), mDisposerList() { - OSInitMutex(this->mutex); + OSInitMutex(this->mMutex); this->mSize = size; - this->mBegin = (u32)data; + this->mStart = (u32)data; this->mEnd = (u32)data + size; if (parent == NULL) { @@ -28,9 +28,9 @@ JKRHeap::JKRHeap(void* data, u32 size, JKRHeap* parent, bool error_flag) lbl_8045137C = JKRHeap::JKRDefaultMemoryErrorRoutine; } - this->field_0x3c = lbl_804508B0[0]; - this->field_0x3d = lbl_80451380[0]; - this->field_0x69 = 0; + this->mDebugFill = lbl_804508B0; + this->mCheckMemoryFilled = lbl_80451380; + this->mInitFlag = false; } // using the wrong register for storing the results @@ -42,7 +42,7 @@ JKRHeap::~JKRHeap() { JSUTree* nextRootHeap = lbl_80451378->mChildTree.getFirstChild(); - JKRHeap* rootHeap = lbl_80451378; + JKRHeap* rootHeap = lbl_80451378; JKRHeap* currentHeap = lbl_80451374; if (currentHeap == this) { if (!nextRootHeap) { @@ -224,20 +224,19 @@ s32 JKRHeap::getMaxAllocatableSize(int alignment) { return alignedSize; } #else -asm s32 JKRHeap::getMaxAllocatableSize(int alignment){ +asm s32 JKRHeap::getMaxAllocatableSize(int alignment) { nofralloc #include "JSystem/JKernel/JKRHeap/asm/func_802CE7DC.s" } #endif - // #include "JSystem/JKernel/JKRHeap/asm/func_802CE83C.s" JKRHeap* JKRHeap::findFromRoot(void* ptr) { if (lbl_80451378 == NULL) { return NULL; } - if ((void*)lbl_80451378->mBegin <= ptr && ptr < (void*)lbl_80451378->mEnd) { + if (lbl_80451378->getStartAddr() <= ptr && ptr < lbl_80451378->getEndAddr()) { return lbl_80451378->find(ptr); } @@ -246,7 +245,7 @@ JKRHeap* JKRHeap::findFromRoot(void* ptr) { // #include "JSystem/JKernel/JKRHeap/asm/func_802CE894.s" JKRHeap* JKRHeap::find(void* ptr) const { - if ((void*)this->mBegin <= ptr && ptr < (void*)this->mEnd) { + if (this->getStartAddr() <= ptr && ptr < this->getEndAddr()) { const JSUTree& tree = this->mChildTree; if (tree.getNumChildren() != 0) { JSUTreeIterator iterator; @@ -280,8 +279,8 @@ JKRHeap* JKRHeap::findAllHeap(void* ptr) const { } } - if ((void*)this->mBegin <= ptr && ptr < (void*)this->mEnd) { - // Cast away const + if (this->getStartAddr() <= ptr && ptr < this->getEndAddr()) { + // not sure about this... casting away const for now. return (JKRHeap*)this; } diff --git a/libs/JSystem/JKernel/JKRSolidHeap.cpp b/libs/JSystem/JKernel/JKRSolidHeap.cpp index 4bf93c8658..ab0d02ef20 100644 --- a/libs/JSystem/JKernel/JKRSolidHeap.cpp +++ b/libs/JSystem/JKernel/JKRSolidHeap.cpp @@ -1 +1,113 @@ -// ok +#include "JSystem/JKernel/JKRSolidHeap/JKRSolidHeap.h" +#include "global.h" + +asm void JKRSolidHeap::create(unsigned long, JKRHeap *, bool) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s" +} + +asm void JKRSolidHeap::do_destroy(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0AD0.s" +} + +asm JKRSolidHeap::JKRSolidHeap(void *, unsigned long, JKRHeap *, bool) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0B30.s" +} + +asm JKRSolidHeap::~JKRSolidHeap(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0B8C.s" +} + +asm void JKRSolidHeap::adjustSize(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0BF4.s" +} + +asm void* JKRSolidHeap::do_alloc(unsigned long, int) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0CB0.s" +} + +asm void JKRSolidHeap::allocFromHead(unsigned long, int) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0D58.s" +} + +asm void JKRSolidHeap::allocFromTail(unsigned long, int) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0E20.s" +} + +asm void JKRSolidHeap::do_free(void *) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0EE4.s" +} + +asm void JKRSolidHeap::do_freeAll(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0F14.s" +} + +asm void JKRSolidHeap::do_freeTail(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D0F74.s" +} + +asm void JKRSolidHeap::do_fillFreeArea(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1000.s" +} + +asm s32 JKRSolidHeap::do_resize(void *, unsigned long) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1004.s" +} + +asm s32 JKRSolidHeap::do_getSize(void *) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1038.s" +} + +asm bool JKRSolidHeap::check(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D106C.s" +} + +asm bool JKRSolidHeap::dump(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D10FC.s" +} + +asm void JKRSolidHeap::state_register(JKRHeap::TState *, unsigned long) const { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D11FC.s" +} + +asm bool JKRSolidHeap::state_compare(JKRHeap::TState const &, JKRHeap::TState const &) const { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1258.s" +} + +asm u32 JKRSolidHeap::getHeapType(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1288.s" +} + +asm s32 JKRSolidHeap::do_getFreeSize(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D1294.s" +} + +asm void* JKRSolidHeap::do_getMaxFreeBlock(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D129C.s" +} + +asm s32 JKRSolidHeap::do_getTotalFreeSize(void) { + nofralloc + #include "JSystem/JKernel/JKRSolidHeap/asm/func_802D12A4.s" +} + diff --git a/libs/JSystem/JKernel/JKRThread.cpp b/libs/JSystem/JKernel/JKRThread.cpp index 4bf93c8658..6ea9de3abb 100644 --- a/libs/JSystem/JKernel/JKRThread.cpp +++ b/libs/JSystem/JKernel/JKRThread.cpp @@ -1 +1,147 @@ -// ok +#include "JSystem/JKernel/JKRThread/JKRThread.h" +#include "JSystem/JKernel/JKRHeap/JKRHeap.h" +#include "global.h" + +// #include "JSystem/JKernel/JKRThread/asm/func_802D1568.s" +JKRThread::JKRThread(u32 stack_size, int message_count, int param_3) : mThreadListLink(this) { + this->mSwitchCount = 0; + this->mCost = 0; + this->field_0x6c = 0; + this->field_0x60 = 0; + this->field_0x70 = 0; + + JKRHeap* heap = JKRHeap::findFromRoot(this); + if (heap == NULL) { + heap = lbl_80451370; + } + + this->setCommon_heapSpecified(heap, stack_size, param_3); + this->setCommon_mesgQueue(this->mHeap, message_count); +} + +// #include "JSystem/JKernel/JKRThread/asm/func_802D1610.s" +JKRThread::JKRThread(JKRHeap* heap, u32 stack_size, int message_count, int param_4) : mThreadListLink(this) { + this->mSwitchCount = 0; + this->mCost = 0; + this->field_0x6c = 0; + this->field_0x60 = 0; + this->field_0x70 = 0; + + if (heap == NULL) { + heap = lbl_80451374; + } + + this->setCommon_heapSpecified(heap, stack_size, param_4); + this->setCommon_mesgQueue(this->mHeap, message_count); +} + +asm JKRThread::JKRThread(OSThread* thread, int message_count) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D16B8.s" +} + +asm JKRThread::~JKRThread() { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1758.s" +} + +// #include "JSystem/JKernel/JKRThread/asm/func_802D1830.s" +void JKRThread::setCommon_mesgQueue(JKRHeap* heap, int message_count) { + this->mMessageCount = message_count; + this->mMessages = (OSMessage*)JKRHeap::alloc(this->mMessageCount * sizeof(OSMessage), 0, heap); + + OSInitMessageQueue(&this->mQueue, this->mMessages, this->mMessageCount); + lbl_8043428C.append(&this->mThreadListLink); + + this->field_0x74 = (JKRHeap*)NULL; + this->field_0x78 = (JKRHeap*)NULL; +} + +// #include "JSystem/JKernel/JKRThread/asm/func_802D18A4.s" +void JKRThread::setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3) { + this->mHeap = heap; + this->mStackSize = stack_size & 0xffffffe0; + this->mStackPtr = JKRHeap::alloc(this->mStackSize, 0x20, this->mHeap); + this->mOsThread = (OSThread*)JKRHeap::alloc(sizeof(OSThread), 0x20, this->mHeap); + + void* stackBase = (void*)((int)this->mStackPtr + this->mStackSize); + OSCreateThread(this->mOsThread, start, this, stackBase, this->mStackSize, param_3, 1); +} + +// #include "JSystem/JKernel/JKRThread/asm/func_802D1934.s" +void* JKRThread::start(void* param) { + JKRThread* thread = (JKRThread*)param; + return thread->run(); +} + +#ifdef NONMATCHING +// #include "JSystem/JKernel/JKRThread/asm/func_802D1960.s" +JKRThread* JKRThread::searchThread(OSThread* thread) { + JSUList* threadList = JKRThread::getList(); + JSUListIterator iterator; + for (iterator = threadList; iterator != threadList->getEnd(); iterator++) { + JKRThread* jkrThread = iterator.getObject(); + if (jkrThread->mOsThread == thread) { + return jkrThread; + } + } + + return NULL; +} +#else +asm JKRThread* JKRThread::searchThread(OSThread* thread) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1960.s" +} +#endif + +// +// +// + +asm JKRThreadSwitch::JKRThreadSwitch(JKRHeap* heap) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D199C.s" +} + +asm JKRThreadSwitch* JKRThreadSwitch::createManager(JKRHeap* heap) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1A14.s" +} + +asm JKRThread* JKRThreadSwitch::enter(JKRThread* param_1, int param_2) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1A70.s" +} + +asm void JKRThreadSwitch::callback(OSThread* param_1, OSThread* param_2) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1AE4.s" +} + +asm void JKRThreadSwitch::draw(JKRThreadName_* param_1, JUTConsole* param_2){nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1C74.s" +} + +// +// +// + +// #include "JSystem/JKernel/JKRThread/asm/func_802D1E14.s" +void* JKRThread::run() { + return NULL; +} + +// +// +// + +asm void JKRThreadSwitch::draw(JKRThreadName_* param_1) { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1E1C.s" +} + +asm JKRThreadSwitch::~JKRThreadSwitch() { + nofralloc +#include "JSystem/JKernel/JKRThread/asm/func_802D1E4C.s" +} diff --git a/obj_files.mk b/obj_files.mk index d6ac5a9b07..e02f067e19 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -426,26 +426,30 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/gf/GFTev.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRHeap.o \ $(BUILD_DIR)/asm/JKernel/JKRHeap.o \ - $(BUILD_DIR)/asm/JKernel/JKRExpHeap.o \ - $(BUILD_DIR)/asm/JKernel/JKRSolidHeap.o \ - $(BUILD_DIR)/asm/JKernel/JKRAssertHeap.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRExpHeap.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRSolidHeap.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRAssertHeap.o \ $(BUILD_DIR)/libs/JSystem/JKernel/JKRDisposer.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRThread.o \ $(BUILD_DIR)/asm/JKernel/JKRThread.o \ $(BUILD_DIR)/asm/JKernel/JKRAram.o \ $(BUILD_DIR)/asm/JKernel/JKRAramHeap.o \ $(BUILD_DIR)/asm/JKernel/JKRAramBlock.o \ $(BUILD_DIR)/asm/JKernel/JKRAramPiece.o \ $(BUILD_DIR)/asm/JKernel/JKRAramStream.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRFileLoader.o \ $(BUILD_DIR)/asm/JKernel/JKRFileLoader.o \ - $(BUILD_DIR)/asm/JKernel/JKRFileFinder.o \ - $(BUILD_DIR)/asm/JKernel/JKRFileCache.o \ - $(BUILD_DIR)/asm/JKernel/JKRArchivePub.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRFileFinder.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRFileCache.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRArchivePub.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRArchivePri.o \ $(BUILD_DIR)/asm/JKernel/JKRArchivePri.o \ $(BUILD_DIR)/asm/JKernel/JKRMemArchive.o \ $(BUILD_DIR)/asm/JKernel/JKRAramArchive.o \ $(BUILD_DIR)/asm/JKernel/JKRDvdArchive.o \ $(BUILD_DIR)/asm/JKernel/JKRCompArchive.o \ - $(BUILD_DIR)/asm/JKernel/JKRFile.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRFile.o \ + $(BUILD_DIR)/libs/JSystem/JKernel/JKRDvdFile.o \ $(BUILD_DIR)/asm/JKernel/JKRDvdFile.o \ $(BUILD_DIR)/asm/JKernel/JKRDvdRipper.o \ $(BUILD_DIR)/asm/JKernel/JKRDvdAramRipper.o \ diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 477418c6b1..c8625c7ae0 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -14,7 +14,7 @@ void version_check(void) { void HeapCheck::CheckHeap1(void) { s32 totalUsedSize = this->heap->getTotalUsedSize(); - s32 freeSize = ((JKRHeap*)this->heap)->getFreeSize(); + s32 freeSize = this->heap->getFreeSize(); if (this->max_total_used_size < totalUsedSize) { this->max_total_used_size = totalUsedSize;