diff options
Diffstat (limited to 'shared/mmc3.s')
| -rw-r--r-- | shared/mmc3.s | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/shared/mmc3.s b/shared/mmc3.s new file mode 100644 index 0000000..b3f484a --- /dev/null +++ b/shared/mmc3.s @@ -0,0 +1,23 @@ +;;; Useful macros and constants for development on the MMC3 chip. + +.scope MMC3 + BANK_SELECT = $8000 + BANK_DATA = $8001 + MIRRORING = $A000 + RAM_PROTECT = $A001 + IRQ_LATCH = $C000 + IRQ_RELOAD = $C001 + IRQ_DISABLE = $E000 + IRQ_ENABLE = $E001 +.endscope + +.macro BANK_REGISTER_SET REGISTER_ID, REGISTER_VALUE + .if REGISTER_ID < 0 || REGISTER_ID > 7 + .error "bad value for REGISTER_ID when bank switching" + .endif + + lda #REGISTER_ID + sta MMC3::BANK_SELECT + lda #REGISTER_VALUE + sta MMC3::BANK_DATA +.endmacro |
