interrupt cleanup started
This commit is contained in:
1 parent
87b6a3f19a
commit
44ca73be40
12 files changed
+51
-25
No files matched your search
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
SRC_COMMON = $(wildcard c64/aliases/*.s)
|
SRC_COMMON = $(wildcard c64/aliases/*.s)
|
||||||
SRC_BASIC_COMMON = $(SRC_COMMON) $(wildcard c64/basic/*.s)
|
SRC_BASIC_COMMON = $(SRC_COMMON) $(wildcard c64/basic/*.s)
|
||||||
SRC_KERNAL_COMMON = $(SRC_COMMON) $(wildcard c64/kernal/*.s c64/kernal/jumptable/*.s c64/kernal/iec/*.s)
|
SRC_KERNAL_COMMON = $(SRC_COMMON) $(wildcard c64/kernal/*.s c64/kernal/jumptable/*.s c64/kernal/iec/*.s c64/kernal/interrupts/*.s)
|
||||||
|
|
||||||
SRC_BASIC_generic = $(SRC_BASIC_COMMON) $(wildcard c64/basic/,target_generic/*.s)
|
SRC_BASIC_generic = $(SRC_BASIC_COMMON) $(wildcard c64/basic/,target_generic/*.s)
|
||||||
SRC_BASIC_mega65 = $(SRC_BASIC_COMMON) $(wildcard c64/basic/,target_mega65/*.s)
|
SRC_BASIC_mega65 = $(SRC_BASIC_COMMON) $(wildcard c64/basic/,target_mega65/*.s)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ The following ROM features are currently missing:
|
|||||||
* floating point routines
|
* floating point routines
|
||||||
* tape support
|
* tape support
|
||||||
* RS-232 support
|
* RS-232 support
|
||||||
* warm start (RUN/STOP + RESTORE) - NMI is not implemented at all
|
* warm start (RUN/STOP + RESTORE) - NMI/BRK handling is not implemented at all
|
||||||
* breaking Kernal routines with RUN/STOP key
|
* breaking Kernal routines with RUN/STOP key
|
||||||
|
|
||||||
Features currently being worked on:
|
Features currently being worked on:
|
||||||
@@ -73,7 +73,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
|
|||||||
| `$FF81` | `CINT` | PARTIAL | at least PAL/NTSC detection is missing |
|
| `$FF81` | `CINT` | PARTIAL | at least PAL/NTSC detection is missing |
|
||||||
| `$FF84` | `IOINIT` | PARTIAL | at least SID volume handling is missing |
|
| `$FF84` | `IOINIT` | PARTIAL | at least SID volume handling is missing |
|
||||||
| `$FF87` | `RAMTAS` | DONE | |
|
| `$FF87` | `RAMTAS` | DONE | |
|
||||||
| `$FF8A` | `RESTOR` | PARTIAL | CBINV, NMINV, and USRCMD missing |
|
| `$FF8A` | `RESTOR` | DONE | |
|
||||||
| `$FF8D` | `VECTOR` | DONE | |
|
| `$FF8D` | `VECTOR` | DONE | |
|
||||||
| `$FF90` | `SETMSG` | DONE | |
|
| `$FF90` | `SETMSG` | DONE | |
|
||||||
| `$FF93` | `SECOND` | DONE | |
|
| `$FF93` | `SECOND` | DONE | |
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
;; CHKIN implementation
|
;; CHKIN implementation
|
||||||
|
|
||||||
chkin:
|
chkin_real:
|
||||||
|
|
||||||
;; Store Y for preservation
|
;; Store Y for preservation
|
||||||
tya
|
tya
|
||||||
@@ -88,11 +88,9 @@ chkinout_file_not_output:
|
|||||||
tay
|
tay
|
||||||
jmp kernalerror_FILE_NOT_OUTPUT
|
jmp kernalerror_FILE_NOT_OUTPUT
|
||||||
|
|
||||||
chkinout_common:
|
|
||||||
|
|
||||||
;; CKOUT implementation
|
;; CKOUT implementation
|
||||||
|
|
||||||
ckout:
|
ckout_real:
|
||||||
|
|
||||||
;; Store Y for preservation
|
;; Store Y for preservation
|
||||||
tya
|
tya
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
;; In our implementation CHKIN and CKOUT are closely tied,
|
||||||
|
;; placing it here would cause a collision
|
||||||
|
|
||||||
|
chkin:
|
||||||
|
jmp chkin_real
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
;; In our implementation CHKIN and CKOUT are closely tied,
|
||||||
|
;; placing it here would cause a collision
|
||||||
|
|
||||||
|
ckout:
|
||||||
|
jmp ckout_real
|
||||||
File renamed without changes.
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
default_nmi_handler:
|
||||||
|
|
||||||
|
;; XXX provide real implementation
|
||||||
|
|
||||||
|
inc $D020
|
||||||
|
rti
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
default_brk_handler:
|
||||||
|
|
||||||
|
;; XXX implement this!
|
||||||
|
|
||||||
|
;; Acknowledge CIA interrupt and return
|
||||||
|
jmp clear_cia1_interrupt_flag_and_return_from_interrupt
|
||||||
File renamed without changes.
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
nmi_handler:
|
||||||
|
|
||||||
|
jmp (NMINV)
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
nmi_handler:
|
|
||||||
inc $D020
|
|
||||||
rti
|
|
||||||
@@ -8,19 +8,19 @@
|
|||||||
|
|
||||||
vector_defaults:
|
vector_defaults:
|
||||||
.word default_irq_handler ;; CINV
|
.word default_irq_handler ;; CINV
|
||||||
.word $0000 ;; CBINV XXX implement this, has to be $FE66 for autostart support
|
.word default_brk_handler ;; CBINV
|
||||||
.word $0000 ;; NMINV XXX implement this, has to be $FE47 for autostart support
|
.word default_nmi_handler ;; NMINV
|
||||||
|
|
||||||
.word open ;; IOPEN
|
.word open ;; IOPEN
|
||||||
.word close ;; ICLOSE
|
.word close ;; ICLOSE
|
||||||
.word chkin ;; ICHKIN XXX move routine to $F20E - for autostart support
|
.word chkin ;; ICHKIN
|
||||||
.word ckout ;; ICKOUT XXX move routine to $F250 - for autostart support
|
.word ckout ;; ICKOUT
|
||||||
.word clrchn ;; ICLRCH
|
.word clrchn ;; ICLRCH
|
||||||
.word chrin ;; IBASIN
|
.word chrin ;; IBASIN
|
||||||
.word chrout ;; IBSOUT
|
.word chrout ;; IBSOUT
|
||||||
.word stop ;; ISTOP
|
.word stop ;; ISTOP
|
||||||
.word getin ;; IGETIN
|
.word getin ;; IGETIN
|
||||||
.word clall ;; ICLALL
|
.word clall ;; ICLALL
|
||||||
.word $0000 ;; USRCMD XXX implement this, has to be $FE66 for autostart support
|
.word default_brk_handler ;; USRCMD
|
||||||
.word load ;; ILOAD
|
.word load ;; ILOAD
|
||||||
.word save ;; ISAVE
|
.word save ;; ISAVE
|
||||||
Reference in new issue
Block a user