blob: b3f484ae17374f804d41bceedfc5cb818f736d17 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
|