STOP + RESTORE now works (bad news: works even without STOP)
This commit is contained in:
1 parent
03bc8b8e78
commit
e4ddf9ec0c
12 files changed
+46
-19
No files matched your search
@@ -1,12 +1,25 @@
|
||||
|
||||
default_nmi_handler:
|
||||
|
||||
;; XXX implement according to Compute's Mapping the Commodore 64, page 74
|
||||
;; Implemented according to Compute's Mapping the Commodore 64, page 74
|
||||
;; and to https://www.c64-wiki.com/wiki/Interrupt
|
||||
|
||||
;; Save registers, sequence according to Compute's Mapping the Commodore 64, page 73
|
||||
pha
|
||||
txa
|
||||
pha
|
||||
tya
|
||||
pha
|
||||
|
||||
;; XXX: RS-232 support is not implemented
|
||||
|
||||
;; XXX check if the source was RESTORE key, quit if it wasn't (no RS-232 support)
|
||||
;; XXX if cartridge present, enter it through warm start vector
|
||||
;; XXX if stop pressed, go to default_brk_handler
|
||||
|
||||
inc $D020
|
||||
rti
|
||||
;; According to C64 Wiki, if STOP key is pressed, the routine assumes warm start request
|
||||
|
||||
jsr JSTOP
|
||||
bcs +
|
||||
jmp return_from_interrupt ; no STOP pressed
|
||||
*
|
||||
jmp (CBINV) ; STOP + RESTORE
|
||||
|
||||
Reference in new issue
Block a user