diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-09-13 11:58:15 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-13 11:58:15 -0400 |
commit | 11effce5c0a8c617662608d05cdf906ff8e73d2c (patch) | |
tree | e80788b48f3e8df223076fad38516b63d2c1247f /asm/SDK/OS | |
parent | 39a774f1f093131383ab899bb6d48c9ecc7e400b (diff) | |
parent | 48bad3596c5e26488620897da0d413b97422b1f6 (diff) |
Merge pull request #38 from red031000/master
split OSArena
Diffstat (limited to 'asm/SDK/OS')
-rw-r--r-- | asm/SDK/OS/OS.s | 76 | ||||
-rw-r--r-- | asm/SDK/OS/OSArena.s | 79 |
2 files changed, 117 insertions, 38 deletions
diff --git a/asm/SDK/OS/OS.s b/asm/SDK/OS/OS.s index 1a6655a..d4c4666 100644 --- a/asm/SDK/OS/OS.s +++ b/asm/SDK/OS/OS.s @@ -308,11 +308,11 @@ ClearArena: /* 802687B0 00264410 48 00 7B E1 */ bl OSGetResetCode /* 802687B4 00264414 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f /* 802687B8 00264418 40 82 00 4C */ bne lbl_80268804 -/* 802687BC 0026441C 48 00 19 21 */ bl func_8026A0DC +/* 802687BC 0026441C 48 00 19 21 */ bl OSGetArenaHi /* 802687C0 00264420 7C 7F 1B 78 */ mr r31, r3 -/* 802687C4 00264424 48 00 19 31 */ bl func_8026A0F4 +/* 802687C4 00264424 48 00 19 31 */ bl OSGetArenaLo /* 802687C8 00264428 7F E3 F8 50 */ subf r31, r3, r31 -/* 802687CC 0026442C 48 00 19 29 */ bl func_8026A0F4 +/* 802687CC 0026442C 48 00 19 29 */ bl OSGetArenaLo /* 802687D0 00264430 3C 00 00 04 */ lis r0, 4 /* 802687D4 00264434 7C 1F 00 40 */ cmplw r31, r0 /* 802687D8 00264438 40 81 00 10 */ ble lbl_802687E8 @@ -337,11 +337,11 @@ lbl_80268804: /* 80268818 00264478 54 00 00 87 */ rlwinm. r0, r0, 0, 2, 3 /* 8026881C 0026447C 41 82 00 4C */ beq lbl_80268868 lbl_80268820: -/* 80268820 00264480 48 00 18 BD */ bl func_8026A0DC +/* 80268820 00264480 48 00 18 BD */ bl OSGetArenaHi /* 80268824 00264484 7C 7F 1B 78 */ mr r31, r3 -/* 80268828 00264488 48 00 18 CD */ bl func_8026A0F4 +/* 80268828 00264488 48 00 18 CD */ bl OSGetArenaLo /* 8026882C 0026448C 7F E3 F8 50 */ subf r31, r3, r31 -/* 80268830 00264490 48 00 18 C5 */ bl func_8026A0F4 +/* 80268830 00264490 48 00 18 C5 */ bl OSGetArenaLo /* 80268834 00264494 3C 00 00 04 */ lis r0, 4 /* 80268838 00264498 7C 1F 00 40 */ cmplw r31, r0 /* 8026883C 0026449C 40 81 00 10 */ ble lbl_8026884C @@ -358,19 +358,19 @@ lbl_80268850: /* 80268860 002644C0 48 00 1D F5 */ bl DCFlushRange /* 80268864 002644C4 48 00 00 FC */ b lbl_80268960 lbl_80268868: -/* 80268868 002644C8 48 00 18 8D */ bl func_8026A0F4 +/* 80268868 002644C8 48 00 18 8D */ bl OSGetArenaLo /* 8026886C 002644CC 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80268870 002644D0 7C 03 00 40 */ cmplw r3, r0 /* 80268874 002644D4 40 80 00 EC */ bge lbl_80268960 -/* 80268878 002644D8 48 00 18 65 */ bl func_8026A0DC +/* 80268878 002644D8 48 00 18 65 */ bl OSGetArenaHi /* 8026887C 002644DC 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80268880 002644E0 7C 03 00 40 */ cmplw r3, r0 /* 80268884 002644E4 41 81 00 4C */ bgt lbl_802688D0 -/* 80268888 002644E8 48 00 18 55 */ bl func_8026A0DC +/* 80268888 002644E8 48 00 18 55 */ bl OSGetArenaHi /* 8026888C 002644EC 7C 7F 1B 78 */ mr r31, r3 -/* 80268890 002644F0 48 00 18 65 */ bl func_8026A0F4 +/* 80268890 002644F0 48 00 18 65 */ bl OSGetArenaLo /* 80268894 002644F4 7F E3 F8 50 */ subf r31, r3, r31 -/* 80268898 002644F8 48 00 18 5D */ bl func_8026A0F4 +/* 80268898 002644F8 48 00 18 5D */ bl OSGetArenaLo /* 8026889C 002644FC 3C 00 00 04 */ lis r0, 4 /* 802688A0 00264500 7C 1F 00 40 */ cmplw r31, r0 /* 802688A4 00264504 40 81 00 10 */ ble lbl_802688B4 @@ -387,10 +387,10 @@ lbl_802688B8: /* 802688C8 00264528 48 00 1D 8D */ bl DCFlushRange /* 802688CC 0026452C 48 00 00 94 */ b lbl_80268960 lbl_802688D0: -/* 802688D0 00264530 48 00 18 25 */ bl func_8026A0F4 +/* 802688D0 00264530 48 00 18 25 */ bl OSGetArenaLo /* 802688D4 00264534 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802688D8 00264538 7F E3 00 50 */ subf r31, r3, r0 -/* 802688DC 0026453C 48 00 18 19 */ bl func_8026A0F4 +/* 802688DC 0026453C 48 00 18 19 */ bl OSGetArenaLo /* 802688E0 00264540 3C 00 00 04 */ lis r0, 4 /* 802688E4 00264544 7C 1F 00 40 */ cmplw r31, r0 /* 802688E8 00264548 40 81 00 10 */ ble lbl_802688F8 @@ -408,10 +408,10 @@ lbl_802688FC: /* 80268910 00264570 3C 60 80 50 */ lis r3, lbl_80503C80@ha /* 80268914 00264574 38 63 3C 80 */ addi r3, r3, lbl_80503C80@l /* 80268918 00264578 83 E3 00 10 */ lwz r31, 0x10(r3) -/* 8026891C 0026457C 48 00 17 C1 */ bl func_8026A0DC +/* 8026891C 0026457C 48 00 17 C1 */ bl OSGetArenaHi /* 80268920 00264580 7C 03 F8 40 */ cmplw r3, r31 /* 80268924 00264584 40 81 00 3C */ ble lbl_80268960 -/* 80268928 00264588 48 00 17 B5 */ bl func_8026A0DC +/* 80268928 00264588 48 00 17 B5 */ bl OSGetArenaHi /* 8026892C 0026458C 7C 9F 18 50 */ subf r4, r31, r3 /* 80268930 00264590 3C 00 00 04 */ lis r0, 4 /* 80268934 00264594 7C 04 00 40 */ cmplw r4, r0 @@ -445,11 +445,11 @@ ClearMEM2Arena: /* 8026898C 002645EC 48 00 7A 05 */ bl OSGetResetCode /* 80268990 002645F0 54 60 0F FF */ rlwinm. r0, r3, 1, 0x1f, 0x1f /* 80268994 002645F4 40 82 00 4C */ bne lbl_802689E0 -/* 80268998 002645F8 48 00 17 3D */ bl func_8026A0D4 +/* 80268998 002645F8 48 00 17 3D */ bl OSGetMEM2ArenaHi /* 8026899C 002645FC 7C 7F 1B 78 */ mr r31, r3 -/* 802689A0 00264600 48 00 17 4D */ bl func_8026A0EC +/* 802689A0 00264600 48 00 17 4D */ bl OSGetMEM2ArenaLo /* 802689A4 00264604 7F E3 F8 50 */ subf r31, r3, r31 -/* 802689A8 00264608 48 00 17 45 */ bl func_8026A0EC +/* 802689A8 00264608 48 00 17 45 */ bl OSGetMEM2ArenaLo /* 802689AC 0026460C 3C 00 00 04 */ lis r0, 4 /* 802689B0 00264610 7C 1F 00 40 */ cmplw r31, r0 /* 802689B4 00264614 40 81 00 10 */ ble lbl_802689C4 @@ -476,11 +476,11 @@ lbl_802689E0: /* 802689FC 0026465C 28 00 00 00 */ cmplwi r0, 0 /* 80268A00 00264660 41 82 00 4C */ beq lbl_80268A4C lbl_80268A04: -/* 80268A04 00264664 48 00 16 D1 */ bl func_8026A0D4 +/* 80268A04 00264664 48 00 16 D1 */ bl OSGetMEM2ArenaHi /* 80268A08 00264668 7C 7F 1B 78 */ mr r31, r3 -/* 80268A0C 0026466C 48 00 16 E1 */ bl func_8026A0EC +/* 80268A0C 0026466C 48 00 16 E1 */ bl OSGetMEM2ArenaLo /* 80268A10 00264670 7F E3 F8 50 */ subf r31, r3, r31 -/* 80268A14 00264674 48 00 16 D9 */ bl func_8026A0EC +/* 80268A14 00264674 48 00 16 D9 */ bl OSGetMEM2ArenaLo /* 80268A18 00264678 3C 00 00 04 */ lis r0, 4 /* 80268A1C 0026467C 7C 1F 00 40 */ cmplw r31, r0 /* 80268A20 00264680 40 81 00 10 */ ble lbl_80268A30 @@ -497,19 +497,19 @@ lbl_80268A34: /* 80268A44 002646A4 48 00 1C 11 */ bl DCFlushRange /* 80268A48 002646A8 48 00 00 FC */ b lbl_80268B44 lbl_80268A4C: -/* 80268A4C 002646AC 48 00 16 A1 */ bl func_8026A0EC +/* 80268A4C 002646AC 48 00 16 A1 */ bl OSGetMEM2ArenaLo /* 80268A50 002646B0 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80268A54 002646B4 7C 03 00 40 */ cmplw r3, r0 /* 80268A58 002646B8 40 80 00 EC */ bge lbl_80268B44 -/* 80268A5C 002646BC 48 00 16 79 */ bl func_8026A0D4 +/* 80268A5C 002646BC 48 00 16 79 */ bl OSGetMEM2ArenaHi /* 80268A60 002646C0 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80268A64 002646C4 7C 03 00 40 */ cmplw r3, r0 /* 80268A68 002646C8 41 81 00 4C */ bgt lbl_80268AB4 -/* 80268A6C 002646CC 48 00 16 69 */ bl func_8026A0D4 +/* 80268A6C 002646CC 48 00 16 69 */ bl OSGetMEM2ArenaHi /* 80268A70 002646D0 7C 7F 1B 78 */ mr r31, r3 -/* 80268A74 002646D4 48 00 16 79 */ bl func_8026A0EC +/* 80268A74 002646D4 48 00 16 79 */ bl OSGetMEM2ArenaLo /* 80268A78 002646D8 7F E3 F8 50 */ subf r31, r3, r31 -/* 80268A7C 002646DC 48 00 16 71 */ bl func_8026A0EC +/* 80268A7C 002646DC 48 00 16 71 */ bl OSGetMEM2ArenaLo /* 80268A80 002646E0 3C 00 00 04 */ lis r0, 4 /* 80268A84 002646E4 7C 1F 00 40 */ cmplw r31, r0 /* 80268A88 002646E8 40 81 00 10 */ ble lbl_80268A98 @@ -526,10 +526,10 @@ lbl_80268A9C: /* 80268AAC 0026470C 48 00 1B A9 */ bl DCFlushRange /* 80268AB0 00264710 48 00 00 94 */ b lbl_80268B44 lbl_80268AB4: -/* 80268AB4 00264714 48 00 16 39 */ bl func_8026A0EC +/* 80268AB4 00264714 48 00 16 39 */ bl OSGetMEM2ArenaLo /* 80268AB8 00264718 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80268ABC 0026471C 7F E3 00 50 */ subf r31, r3, r0 -/* 80268AC0 00264720 48 00 16 2D */ bl func_8026A0EC +/* 80268AC0 00264720 48 00 16 2D */ bl OSGetMEM2ArenaLo /* 80268AC4 00264724 3C 00 00 04 */ lis r0, 4 /* 80268AC8 00264728 7C 1F 00 40 */ cmplw r31, r0 /* 80268ACC 0026472C 40 81 00 10 */ ble lbl_80268ADC @@ -547,10 +547,10 @@ lbl_80268AE0: /* 80268AF4 00264754 3C 60 80 50 */ lis r3, lbl_80503C80@ha /* 80268AF8 00264758 38 63 3C 80 */ addi r3, r3, lbl_80503C80@l /* 80268AFC 0026475C 83 E3 00 10 */ lwz r31, 0x10(r3) -/* 80268B00 00264760 48 00 15 D5 */ bl func_8026A0D4 +/* 80268B00 00264760 48 00 15 D5 */ bl OSGetMEM2ArenaHi /* 80268B04 00264764 7C 03 F8 40 */ cmplw r3, r31 /* 80268B08 00264768 40 81 00 3C */ ble lbl_80268B44 -/* 80268B0C 0026476C 48 00 15 C9 */ bl func_8026A0D4 +/* 80268B0C 0026476C 48 00 15 C9 */ bl OSGetMEM2ArenaHi /* 80268B10 00264770 7C 9F 18 50 */ subf r4, r31, r3 /* 80268B14 00264774 3C 00 00 04 */ lis r0, 4 /* 80268B18 00264778 7C 04 00 40 */ cmplw r4, r0 @@ -750,17 +750,17 @@ lbl_80268D40: /* 80268DC4 00264A24 54 04 65 3E */ srwi r4, r0, 0x14 /* 80268DC8 00264A28 4C C6 31 82 */ crclr 6 /* 80268DCC 00264A2C 4B D9 EC F9 */ bl func_80007AC4 -/* 80268DD0 00264A30 48 00 12 FD */ bl func_8026A0CC +/* 80268DD0 00264A30 48 00 12 FD */ bl OSGetMEM1ArenaHi /* 80268DD4 00264A34 7C 7E 1B 78 */ mr r30, r3 -/* 80268DD8 00264A38 48 00 13 0D */ bl func_8026A0E4 +/* 80268DD8 00264A38 48 00 13 0D */ bl OSGetMEM1ArenaLo /* 80268DDC 00264A3C 7C 64 1B 78 */ mr r4, r3 /* 80268DE0 00264A40 7F C5 F3 78 */ mr r5, r30 /* 80268DE4 00264A44 38 7F 01 B8 */ addi r3, r31, 0x1b8 /* 80268DE8 00264A48 4C C6 31 82 */ crclr 6 /* 80268DEC 00264A4C 4B D9 EC D9 */ bl func_80007AC4 -/* 80268DF0 00264A50 48 00 12 E5 */ bl func_8026A0D4 +/* 80268DF0 00264A50 48 00 12 E5 */ bl OSGetMEM2ArenaHi /* 80268DF4 00264A54 7C 7E 1B 78 */ mr r30, r3 -/* 80268DF8 00264A58 48 00 12 F5 */ bl func_8026A0EC +/* 80268DF8 00264A58 48 00 12 F5 */ bl OSGetMEM2ArenaLo /* 80268DFC 00264A5C 7C 64 1B 78 */ mr r4, r3 /* 80268E00 00264A60 7F C5 F3 78 */ mr r5, r30 /* 80268E04 00264A64 38 7F 01 D4 */ addi r3, r31, 0x1d4 @@ -875,7 +875,7 @@ lbl_80268F60: lbl_80268F9C: /* 80268F9C 00264BFC 38 64 40 00 */ addi r3, r4, 0x4000 lbl_80268FA0: -/* 80268FA0 00264C00 48 00 11 75 */ bl func_8026A114 +/* 80268FA0 00264C00 48 00 11 75 */ bl OSSetMEM1ArenaLo /* 80268FA4 00264C04 3C 60 80 00 */ lis r3, 0x80003110@ha /* 80268FA8 00264C08 80 63 31 10 */ lwz r3, 0x80003110@l(r3) /* 80268FAC 00264C0C 2C 03 00 00 */ cmpwi r3, 0 @@ -887,7 +887,7 @@ lbl_80268FA0: /* 80268FC4 00264C24 3C 60 81 70 */ lis r3, 0x81700000@ha /* 80268FC8 00264C28 38 63 00 00 */ addi r3, r3, 0x81700000@l lbl_80268FCC: -/* 80268FCC 00264C2C 48 00 11 31 */ bl func_8026A0FC +/* 80268FCC 00264C2C 48 00 11 31 */ bl OSSetMEM1ArenaHi /* 80268FD0 00264C30 3C 60 80 00 */ lis r3, 0x80003124@ha /* 80268FD4 00264C34 80 63 31 24 */ lwz r3, 0x80003124@l(r3) /* 80268FD8 00264C38 2C 03 00 00 */ cmpwi r3, 0 @@ -919,13 +919,13 @@ lbl_80269028: /* 8026903C 00264C9C 40 80 00 08 */ bge lbl_80269044 /* 80269040 00264CA0 7C 03 03 78 */ mr r3, r0 lbl_80269044: -/* 80269044 00264CA4 48 00 10 D9 */ bl func_8026A11C +/* 80269044 00264CA4 48 00 10 D9 */ bl OSSetMEM2ArenaLo lbl_80269048: /* 80269048 00264CA8 3C 60 80 00 */ lis r3, 0x80003128@ha /* 8026904C 00264CAC 80 63 31 28 */ lwz r3, 0x80003128@l(r3) /* 80269050 00264CB0 2C 03 00 00 */ cmpwi r3, 0 /* 80269054 00264CB4 41 82 00 08 */ beq lbl_8026905C -/* 80269058 00264CB8 48 00 10 AD */ bl func_8026A104 +/* 80269058 00264CB8 48 00 10 AD */ bl OSSetMEM2ArenaHi lbl_8026905C: /* 8026905C 00264CBC 48 00 A0 59 */ bl func_802730B4 /* 80269060 00264CC0 48 00 01 CD */ bl OSExceptionInit diff --git a/asm/SDK/OS/OSArena.s b/asm/SDK/OS/OSArena.s new file mode 100644 index 0000000..2beb156 --- /dev/null +++ b/asm/SDK/OS/OSArena.s @@ -0,0 +1,79 @@ +.include "macros.inc" + +.section .text, "ax" # 0x80006980 - 0x803E1E60 + +.global OSGetMEM1ArenaHi +OSGetMEM1ArenaHi: +/* 8026A0CC 00265D2C 80 6D A7 C0 */ lwz r3, lbl_8063FA80-_SDA_BASE_(r13) +/* 8026A0D0 00265D30 4E 80 00 20 */ blr + +.global OSGetMEM2ArenaHi +OSGetMEM2ArenaHi: +/* 8026A0D4 00265D34 80 6D A7 C4 */ lwz r3, lbl_8063FA84-_SDA_BASE_(r13) +/* 8026A0D8 00265D38 4E 80 00 20 */ blr + +.global OSGetArenaHi +OSGetArenaHi: +/* 8026A0DC 00265D3C 80 6D A7 C0 */ lwz r3, lbl_8063FA80-_SDA_BASE_(r13) +/* 8026A0E0 00265D40 4E 80 00 20 */ blr + +.global OSGetMEM1ArenaLo +OSGetMEM1ArenaLo: +/* 8026A0E4 00265D44 80 6D 87 B0 */ lwz r3, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A0E8 00265D48 4E 80 00 20 */ blr + +.global OSGetMEM2ArenaLo +OSGetMEM2ArenaLo: +/* 8026A0EC 00265D4C 80 6D 87 B4 */ lwz r3, lbl_8063DA74-_SDA_BASE_(r13) +/* 8026A0F0 00265D50 4E 80 00 20 */ blr + +.global OSGetArenaLo +OSGetArenaLo: +/* 8026A0F4 00265D54 80 6D 87 B0 */ lwz r3, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A0F8 00265D58 4E 80 00 20 */ blr + +.global OSSetMEM1ArenaHi +OSSetMEM1ArenaHi: +/* 8026A0FC 00265D5C 90 6D A7 C0 */ stw r3, lbl_8063FA80-_SDA_BASE_(r13) +/* 8026A100 00265D60 4E 80 00 20 */ blr + +.global OSSetMEM2ArenaHi +OSSetMEM2ArenaHi: +/* 8026A104 00265D64 90 6D A7 C4 */ stw r3, lbl_8063FA84-_SDA_BASE_(r13) +/* 8026A108 00265D68 4E 80 00 20 */ blr + +.global OSSetArenaHi +OSSetArenaHi: +/* 8026A10C 00265D6C 90 6D A7 C0 */ stw r3, lbl_8063FA80-_SDA_BASE_(r13) +/* 8026A110 00265D70 4E 80 00 20 */ blr + +.global OSSetMEM1ArenaLo +OSSetMEM1ArenaLo: +/* 8026A114 00265D74 90 6D 87 B0 */ stw r3, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A118 00265D78 4E 80 00 20 */ blr + +.global OSSetMEM2ArenaLo +OSSetMEM2ArenaLo: +/* 8026A11C 00265D7C 90 6D 87 B4 */ stw r3, lbl_8063DA74-_SDA_BASE_(r13) +/* 8026A120 00265D80 4E 80 00 20 */ blr + +.global OSSetArenaLo +OSSetArenaLo: +/* 8026A124 00265D84 90 6D 87 B0 */ stw r3, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A128 00265D88 4E 80 00 20 */ blr + +.global OSAllocFromMEM1ArenaLo +OSAllocFromMEM1ArenaLo: +/* 8026A12C 00265D8C 80 0D 87 B0 */ lwz r0, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A130 00265D90 38 A4 FF FF */ addi r5, r4, -1 +/* 8026A134 00265D94 7C A6 28 F8 */ nor r6, r5, r5 +/* 8026A138 00265D98 7C A4 02 14 */ add r5, r4, r0 +/* 8026A13C 00265D9C 38 05 FF FF */ addi r0, r5, -1 +/* 8026A140 00265DA0 7C C0 00 38 */ and r0, r6, r0 +/* 8026A144 00265DA4 7C 60 1A 14 */ add r3, r0, r3 +/* 8026A148 00265DA8 7C 83 22 14 */ add r4, r3, r4 +/* 8026A14C 00265DAC 7C 03 03 78 */ mr r3, r0 +/* 8026A150 00265DB0 38 04 FF FF */ addi r0, r4, -1 +/* 8026A154 00265DB4 7C C0 00 38 */ and r0, r6, r0 +/* 8026A158 00265DB8 90 0D 87 B0 */ stw r0, lbl_8063DA70-_SDA_BASE_(r13) +/* 8026A15C 00265DBC 4E 80 00 20 */ blr |