summaryrefslogtreecommitdiffstats
path: root/oncology/dpfhack_display/src/p_start_pearl.s
diff options
context:
space:
mode:
Diffstat (limited to 'oncology/dpfhack_display/src/p_start_pearl.s')
-rw-r--r--oncology/dpfhack_display/src/p_start_pearl.s32
1 files changed, 32 insertions, 0 deletions
diff --git a/oncology/dpfhack_display/src/p_start_pearl.s b/oncology/dpfhack_display/src/p_start_pearl.s
new file mode 100644
index 00000000..dde8ef9a
--- /dev/null
+++ b/oncology/dpfhack_display/src/p_start_pearl.s
@@ -0,0 +1,32 @@
+; Patch for startup (mod37 on pearl)
+ .include 'dpf.inc'
+ .include 'dpf_int.inc'
+ .include 'hack.inc'
+
+ .area HOME (CODE)
+ .area BANK0 (CODE, ABS)
+
+ .org 0x1330
+
+ orl wdtcon,#0x20
+ mov a,i_G_f
+ jbc acc.3, usbact ; If this bit is 1, USB is plugged in.
+ sjmp continue
+usbact:
+ ljmp hack
+
+ .org 0x133c
+continue:
+
+ .org 0x15b0
+hack:
+ clr ea ; No IRQ
+ mov dptr, #(0x196a - 0x800)
+ mov a, #cloned_jumptable_offset >> 16
+ movx @dptr, a
+
+ ; Jump into own firmware:
+ mov a,#(54 - 1)
+ mov dptr,#entry_addr
+ ljmp tramp_jmp
+