Add init code for mapper

init_mapper now remaps so that it can change irq vectors
This commit is contained in:
Byron Lathi
2023-11-22 17:33:12 -08:00
parent 924dd69f2b
commit 930e802a86
6 changed files with 79 additions and 5 deletions

View File

@@ -3,15 +3,38 @@
.autoimport
.import _enable_irq
.import _map
.export irq_int, nmi_int
.export _register_irq
.export _init_interrupts
IRQ_CMD_ADDR = $effc
IRQ_DAT_ADDR = $effd
IRQ_CMD_READIRQ = $00
; void init_interrupts();
; remap the upper page into ram,
; then load the new vector addresses.
.proc _init_interrupts
; map(001f, f);
lda #$1f
jsr pushax
lda #$f
jsr _map
lda #<irq_int
sta $fffe
lda #>irq_int
sta $ffff
lda #<nmi_int
sta $fffa
lda #>nmi_int
sta $fffb
rts
.endproc
.proc nmi_int
rti