From f2ff5bcfd576c4a6a3f7178218386c3d7e08cf1c Mon Sep 17 00:00:00 2001 From: root <182859762@qq.com> Date: Mon, 6 Mar 2023 18:51:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=87=91=E6=89=8B=E6=8C=87?= =?UTF-8?q?=E4=B8=AD=E5=A4=84=E7=90=86=E7=BB=84=E5=90=88=E9=94=AE=E7=9A=84?= =?UTF-8?q?=E5=AD=90=E8=BF=87=E7=A8=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/cheat-builder/asm/key_enable.s | 22 ++++++++++++++++++++++ tools/cheat-builder/asm/key_onoff.s | 28 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 tools/cheat-builder/asm/key_enable.s create mode 100644 tools/cheat-builder/asm/key_onoff.s diff --git a/tools/cheat-builder/asm/key_enable.s b/tools/cheat-builder/asm/key_enable.s new file mode 100644 index 0000000..bfa507c --- /dev/null +++ b/tools/cheat-builder/asm/key_enable.s @@ -0,0 +1,22 @@ + .file "key_input.c" + .text + .align 2 + .global _start + .type _start,function + +_start: + mov r0, #0x4000000 + ldr r0, [r0, #0x130] @ r0 = read_io(0x4000130) + ldrh r1, [pc, #0x10] @ r1 = 0x3ff + ldrh r2, [pc, #0x0e] @ r2 = 0x384 key:L+R+D+SEL + and r0, r0, r2 @ r0 = r0 & 0x3ff + cmp r0, r1 @ r0 == key + beq _next @ if r0 == key then next else return + bx lr + +_const: + .long 0x03ff0384 + +_next: + .long 0 + diff --git a/tools/cheat-builder/asm/key_onoff.s b/tools/cheat-builder/asm/key_onoff.s new file mode 100644 index 0000000..a9d2c2f --- /dev/null +++ b/tools/cheat-builder/asm/key_onoff.s @@ -0,0 +1,28 @@ + .file "key_onoff.c" + .text + .align 2 + .global _start + .type _start,function + +_start: + mov r0, #0x4000000 + ldr r0, [r0, #0x130] @ r0 = read_io(0x4000130) + ldrh r1, [pc, #0x24] @ r1 = 0x384 key:L+R+D+SEL + ldrh r2, [pc, #0x22] @ r2 = 0x3ff + and r0, r0, r2 @ r0 = r0 & 0x3ff + ldr r2, [pc, #0x1c] @ r2 = static_addr(isOn) + ldrb r3, [r2] @ r3 = *isOn + cmp r0, r1 + eoreq r3, r3, #1 @ if r0 == key then *isOn = !r3 + streqb r3, [r2] + cmp r3, #0 + bne _next @ if r3 != 0 then next else return + bx lr + +_const: + .long 0x03ff0384 + .long 0 + +_next: + .long 0xFFFFFFFF +