Add memory mapper software interface

Adds functions to read and write mappings, as well as enable and disable
the memory mapper.

This also moves increases the io space by 16 bytes.
This commit is contained in:
Byron Lathi
2022-04-07 10:32:28 -05:00
parent 3c44be8e6d
commit a15dde0e89
4 changed files with 49 additions and 2 deletions

32
sw/mapper.s Normal file
View File

@@ -0,0 +1,32 @@
.include "io.inc65"
.importzp sp, sreg
.export _mapper_enable
.export _mapper_read, _mapper_write
.autoimport on
.code
; void mapper_enable(uint8_t en)
_mapper_enable:
sta MM_CTRL
rts
_mapper_read:
phx
tax
lda MM_DATA,x
ldx #$00
rts
_mapper_write:
phx
tax
jsr popa
sta MM_DATA,x
plx
rts