summaryrefslogtreecommitdiff
path: root/asm/TRK_MINNOW_DOLPHIN/flush_cache.s
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2023-02-02 17:29:19 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2023-02-03 13:27:06 -0400
commitf2eabdb6257c09cf2890dac5e9737912728542af (patch)
tree3b46f6787185d65605651a0f48776dc9779ce648 /asm/TRK_MINNOW_DOLPHIN/flush_cache.s
parenteef1dd840b7cecac28c2e6b0574707b90a37d4e7 (diff)
global: Add rest of Dolphin SDK proper, add MSL, and MetroTRK
Finally, it links properly.
Diffstat (limited to 'asm/TRK_MINNOW_DOLPHIN/flush_cache.s')
-rw-r--r--asm/TRK_MINNOW_DOLPHIN/flush_cache.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/asm/TRK_MINNOW_DOLPHIN/flush_cache.s b/asm/TRK_MINNOW_DOLPHIN/flush_cache.s
new file mode 100644
index 0000000..46dd87f
--- /dev/null
+++ b/asm/TRK_MINNOW_DOLPHIN/flush_cache.s
@@ -0,0 +1,20 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80005600 - 0x8036FBA0
+.global TRK_flush_cache
+TRK_flush_cache:
+/* 8008A33C 0008727C 3C A0 FF FF */ lis r5, 0xFFFFFFF1@h
+/* 8008A340 00087280 60 A5 FF F1 */ ori r5, r5, 0xFFFFFFF1@l
+/* 8008A344 00087284 7C A5 18 38 */ and r5, r5, r3
+/* 8008A348 00087288 7C 65 18 50 */ subf r3, r5, r3
+/* 8008A34C 0008728C 7C 84 1A 14 */ add r4, r4, r3
+lbl_8008A350:
+/* 8008A350 00087290 7C 00 28 6C */ dcbst 0, r5
+/* 8008A354 00087294 7C 00 28 AC */ dcbf 0, r5
+/* 8008A358 00087298 7C 00 04 AC */ sync 0
+/* 8008A35C 0008729C 7C 00 2F AC */ icbi 0, r5
+/* 8008A360 000872A0 30 A5 00 08 */ addic r5, r5, 8
+/* 8008A364 000872A4 34 84 FF F8 */ addic. r4, r4, -8
+/* 8008A368 000872A8 40 80 FF E8 */ bge lbl_8008A350
+/* 8008A36C 000872AC 4C 00 01 2C */ isync
+/* 8008A370 000872B0 4E 80 00 20 */ blr