From 3bdd305fb6ea17e3bdd66650f08ef325dc9d177b Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Tue, 27 Sep 2016 12:13:11 -0700 Subject: [PATCH] disable onscreen printing, add lock to prevent corruption --- Lua/inject/print.asm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Lua/inject/print.asm b/Lua/inject/print.asm index 8215b5f..6bdcd87 100644 --- a/Lua/inject/print.asm +++ b/Lua/inject/print.asm @@ -2,6 +2,9 @@ // to copy strings to memory instead // for Lua to later pick up on + jr + nop +/* [global_context]: 0x80212020 // offset from first pointer in global context @@ -14,10 +17,6 @@ [InitTxtStruct]: 0x800FBB8C // unused here; we set it up inline [DoTxtStruct]: 0x800FBC1C [UpdateTxtStruct]: 0x800FBC64 - -[ObjectSpawn]: 0x80097C00 -[ObjectIndex]: 0x8009812C - push 4, 1, ra // draw the debug text li a0, 0x00010001 // xy @@ -38,20 +37,31 @@ fmt: .align .include "simple text.asm" +*/ // keep track of where we are in the buffer +.org 0x807006F8 buffer_pos: + .word buffer + +buffer_lock: .word 0 -.align 4 +//.align 4 buffer: .skip 0x3000 +// force a crash-like thing that dumps a ton of (RDP?) info: +//.org 0x800C5E78 +// li t8, 0x29a + // overwrite (not hook) the debug printing function .org 0x800021B0 // a0: unknown // a1: char *msg // a2: size_t len + li t0, 1 + sw t0, buffer_lock lw t0, buffer_pos copy_loop: lb t1, 0(a1) @@ -62,5 +72,6 @@ copy_loop: bne a2, r0, copy_loop sb r0, 0(t0) // null terminate sw t0, buffer_pos + sw r0, buffer_lock jr nop