public release of panzgb
This commit is contained in:
30
lib/mbc3.c
Executable file
30
lib/mbc3.c
Executable file
@@ -0,0 +1,30 @@
|
||||
#include "gb-impl.h"
|
||||
|
||||
void mbc3_changeBank(gb *cpu, WORD addr, BYTE data) {
|
||||
// RAM enabling
|
||||
if (addr < 0x2000) {
|
||||
BYTE testData = data & 0xF;
|
||||
if (testData == 0x0) {
|
||||
cpu->isRAMEnable = 0;
|
||||
} else
|
||||
cpu->isRAMEnable = 1;
|
||||
}
|
||||
|
||||
/*Change ROM bank*/
|
||||
else if ((addr >= 0x2000) && (addr < 0x4000)) {
|
||||
BYTE lower7 = data & 0x7F;
|
||||
cpu->currentROMBank = lower7;
|
||||
if (cpu->currentROMBank == 0x00)
|
||||
cpu->currentROMBank = 1;
|
||||
|
||||
}
|
||||
|
||||
else if ((addr >= 0x4000) && (addr < 0x6000)) {
|
||||
if (data <= 0x3)
|
||||
cpu->currentRAMBank = data & 0x3;
|
||||
}
|
||||
|
||||
/*Should handle the timer*/
|
||||
else if ((addr >= 0x6000) && (addr < 0x8000)) {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user