From fdf44365e56c3741f47cbd421a57f0d074a5492c Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Thu, 23 Jan 2025 16:14:12 +0100 Subject: fx: Provide an example of PPU bank switching MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- shared/mmc3.s | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 shared/mmc3.s (limited to 'shared/mmc3.s') 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 -- cgit v1.2.3