small startup/interrupt cleanup
This commit is contained in:
1 parent
55e2512fe2
commit
6949bd3f48
7 files changed
+8
-10
No files matched your search
@@ -35,7 +35,7 @@ Choose if your CPU supports the Western Design Center 65C02 instruction set, lik
|
||||
|
||||
It enables some speed/size code optimizations. Warning - this is untested!
|
||||
|
||||
### `#define CONFIG_CPU_WDC_65816`
|
||||
### `CONFIG_CPU_WDC_65816`
|
||||
|
||||
Choose if your CPU supports the 16-bit Western Design Center 65816 instruction set, like:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// $FFFA - CPU NMI Hanlder
|
||||
// Uncontrovertial as this is also a CPU requirement.
|
||||
|
||||
.word nmi_handler
|
||||
.word hw_entry_nmi
|
||||
@@ -1,4 +1,4 @@
|
||||
// $FFFC - CPU Reset Vector
|
||||
// Uncontrovertial, as it is a CPU requirement, and nothing else.
|
||||
|
||||
.word reset_entry
|
||||
.word hw_entry_reset
|
||||
@@ -2,4 +2,4 @@
|
||||
// This is non-controvertial, as it is a 6502 CPU requirement, and we just have to point
|
||||
// it to whatever IRQ routine we make.
|
||||
|
||||
.word irq_handler
|
||||
.word hw_entry_irq
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
irq_handler:
|
||||
hw_entry_irq:
|
||||
|
||||
// The IRQ is a commonly messed with thing on the C64,
|
||||
// so we need to handle entry points that are commonly
|
||||
// relied upon, including:
|
||||
@@ -52,4 +53,3 @@ irq_handler_brk:
|
||||
|
||||
// Interrupt caused by BRK
|
||||
jmp (CBINV)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
nmi_handler:
|
||||
hw_entry_nmi:
|
||||
|
||||
sei // don't allow IRQ to interfere, see https://www.c64-wiki.com/wiki/Interrupt
|
||||
|
||||
@@ -18,5 +18,3 @@ nmi_handler:
|
||||
// Vector not initialized - call default interrupt routine
|
||||
pla
|
||||
jmp default_nmi_handler
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// https://www.c64-wiki.com/wiki/Reset_(Process)
|
||||
|
||||
|
||||
reset_entry:
|
||||
hw_entry_reset:
|
||||
|
||||
// The GPL program at https://github.com/Klaus2m5/6502_65C02_functional_tests/blob/master/6502_functional_test.a65
|
||||
// uses the following initial reset sequence, affirmed by c64 PRG p269
|
||||
Reference in new issue
Block a user