mirror of
https://github.com/mgcaret/of816.git
synced 2024-06-12 23:29:33 +00:00
46 lines
1.4 KiB
ArmAsm
46 lines
1.4 KiB
ArmAsm
|
.p816
|
||
|
.a16
|
||
|
.i16
|
||
|
.include "macros.inc"
|
||
|
|
||
|
.segment "ROMBOOT"
|
||
|
.proc romboot
|
||
|
jml f:$200000
|
||
|
.endproc
|
||
|
|
||
|
.proc emuirq
|
||
|
pha
|
||
|
lda 2,s
|
||
|
and #%00100000
|
||
|
bne romboot ; if BRK, handle like we reset.
|
||
|
pla ; in case we want to RTI or something in the future
|
||
|
; fall-through
|
||
|
.endproc
|
||
|
|
||
|
.proc die
|
||
|
wdm $FF ; GoSXB will exit
|
||
|
hang: bra hang ; Anything else will hang
|
||
|
.endproc
|
||
|
|
||
|
.segment "VECTORS"
|
||
|
.proc vectors
|
||
|
; native mode vectors
|
||
|
.word $FFFF ; FFE0 - reserved
|
||
|
.word $FFFF ; FFE2 - reserved
|
||
|
.word .loword(die) ; FFE4 - COP
|
||
|
.word .loword(romboot) ; FFE6 - BRK
|
||
|
.word .loword(die) ; FFE8 - ABORT
|
||
|
.word .loword(romboot) ; FFEA - NMI
|
||
|
.word $FFFF ; FFEC - reserved
|
||
|
.word .loword(die) ; FFEE - IRQ
|
||
|
; emulation mode vectors
|
||
|
.word $FFFF ; FFF0 - reserved
|
||
|
.word $FFFF ; FFF2 - reserved
|
||
|
.word .loword(die) ; FFF4 - COP
|
||
|
.word $FFFF ; FFF6 - reserved
|
||
|
.word .loword(die) ; FFF8 - ABORT
|
||
|
.word .loword(romboot) ; FFFA - NMI
|
||
|
.word .loword(romboot) ; FFFC - RESET
|
||
|
.word .loword(emuirq) ; FFFE - IRQ/BRK
|
||
|
.endproc
|