diff options
| author | tv <tv@xso> | 2011-08-22 12:48:27 +0200 |
|---|---|---|
| committer | tv <tv@xso> | 2011-08-22 12:48:27 +0200 |
| commit | c2117a9064fcee0d287fbd8d164eef57d6b6c275 (patch) | |
| tree | 60eda265a3ee69195c86ce8d1ee16c014fd75d52 /oncology/dpfhack_display/src/p_start_blue.s | |
| parent | 45ceee319c70522d821f65505735bc514d123df5 (diff) | |
| parent | 5e102279a72d77305d84f3cab9aef464a76ecb68 (diff) | |
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'oncology/dpfhack_display/src/p_start_blue.s')
| -rw-r--r-- | oncology/dpfhack_display/src/p_start_blue.s | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/oncology/dpfhack_display/src/p_start_blue.s b/oncology/dpfhack_display/src/p_start_blue.s new file mode 100644 index 00000000..1098c0f1 --- /dev/null +++ b/oncology/dpfhack_display/src/p_start_blue.s @@ -0,0 +1,34 @@ +; Patch for startup (mod41 on DX_blue) + .include 'dpf.inc' + .include 'dpf_int.inc' + .include 'hack.inc' + + .area HOME (CODE) + .area BANK0 (CODE, ABS) + + .org 0x1418 + lcall 0x13ac + 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 + +continue: + ljmp tramp_return + +hack: + clr ea ; No IRQ + mov dptr, #(0x196a - 0x800) + mov a, #cloned_jumptable_offset >> 16 + movx @dptr, a + + pop acc ; Fixup stack, as we did a jsr + pop acc ; ..and a bank jsr + + ; Jump into our firmware + mov a,#(50 - 1) + mov dptr,#entry_addr + ljmp tramp_jmp + |
