summaryrefslogtreecommitdiff
path: root/asm/SDK/OS
diff options
context:
space:
mode:
authorRevo <projectrevotpp@hotmail.com>2020-09-13 11:58:15 -0400
committerGitHub <noreply@github.com>2020-09-13 11:58:15 -0400
commit11effce5c0a8c617662608d05cdf906ff8e73d2c (patch)
treee80788b48f3e8df223076fad38516b63d2c1247f /asm/SDK/OS
parent39a774f1f093131383ab899bb6d48c9ecc7e400b (diff)
parent48bad3596c5e26488620897da0d413b97422b1f6 (diff)
Merge pull request #38 from red031000/master
split OSArena
Diffstat (limited to 'asm/SDK/OS')
-rw-r--r--asm/SDK/OS/OS.s76
-rw-r--r--asm/SDK/OS/OSArena.s79
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