From 42af9e06e59747bd133559fd25b0582c6984ad44 Mon Sep 17 00:00:00 2001 From: Treeki Date: Thu, 7 Jul 2011 15:29:48 +0200 Subject: added a module that OSReports created actors/processes --- NewerProject.yaml | 1 + actorlog.yaml | 9 +++++++++ src/actorlog.S | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 actorlog.yaml create mode 100644 src/actorlog.S diff --git a/NewerProject.yaml b/NewerProject.yaml index b3248b1..f796ec6 100644 --- a/NewerProject.yaml +++ b/NewerProject.yaml @@ -20,3 +20,4 @@ modules: - processed/levelspecial.yaml - processed/eventlooper.yaml - processed/compression.yaml +# - processed/actorlog.yaml diff --git a/actorlog.yaml b/actorlog.yaml new file mode 100644 index 0000000..3e4adb2 --- /dev/null +++ b/actorlog.yaml @@ -0,0 +1,9 @@ +--- +source_files: [../src/actorlog.S] +hooks: + - name: ActorLogHook + type: branch_insn + branch_type: bl + src_addr_pal: 0x80162BC0 + target_func: 'ActorLogHook' + diff --git a/src/actorlog.S b/src/actorlog.S new file mode 100644 index 0000000..f4e7205 --- /dev/null +++ b/src/actorlog.S @@ -0,0 +1,41 @@ +.text + +.set sp, 1 + +.align 4 +.extern OSReport + +.global ActorLogHook +ActorLogHook: + stwu sp, -0x20(sp) + mflr r0 + stw r0, 0x24(sp) + stw r3, 0x1C(sp) + stw r4, 0x18(sp) + stw r5, 0x14(sp) + stw r6, 0x10(sp) + + lis r8, 0x8032 + ori r8, r8, 0xB58 + slwi r7, r3, 2 + lwzx r7, r8, r7 + + lis r3, M@h + ori r3, r3, M@l + crclr 4*cr1+eq + bl OSReport + + lwz r6, 0x10(sp) + lwz r5, 0x14(sp) + lwz r4, 0x18(sp) + lwz r3, 0x1C(sp) + lwz r0, 0x24(sp) + mtlr r0 + addi sp, sp, 0x20 + + # Return to __objCreate + clrlslwi r31, r3, 16, 2 + blr + +.data +M: .string "P:%p S:%08x T:%d N:%s\n" -- cgit v1.2.3