mirror of
https://github.com/KarolS/millfork.git
synced 2024-12-22 16:31:02 +00:00
63ff28e94e
* non-asm macros can now take `const` and `call` parameters * register parameters to asm functions and macros can be given names if annotated explicitly
37 lines
700 B
Plaintext
37 lines
700 B
Plaintext
#if not(NES)
|
|
#warn nes_mmc4 module should be only used on NES/Famicom targets
|
|
#endif
|
|
|
|
asm inline void set_prg_bank(byte register(a) bank) {
|
|
STA $A000
|
|
? RTS
|
|
}
|
|
|
|
// calling with with e.g. $1E will set $0000-$0fff to $E000-$EFFF in chrrom1
|
|
asm inline void set_chr_bank0(byte register(a) bank) {
|
|
STA $B000
|
|
STA $C000
|
|
? RTS
|
|
}
|
|
|
|
// calling with with e.g. $1E will set $1000-$1fff to $E000-$EFFF in chrrom1
|
|
asm inline void set_chr_bank1(byte register(a) bank) {
|
|
STA $D000
|
|
STA $E000
|
|
? RTS
|
|
}
|
|
|
|
// TODO: FD/FE latches
|
|
|
|
asm inline void set_vertical_mirroring() {
|
|
LDA #0
|
|
STA $F000
|
|
? RTS
|
|
}
|
|
asm inline void set_horizontal_mirroring() {
|
|
LDA #1
|
|
STA $F000
|
|
? RTS
|
|
}
|
|
|