public int read(Size size, int bank, int addr) { boolean fastrom = false; // Determine speed by bank if (bank >= 0x80) { fastrom = true; } if ((bank == 0x00 || bank == 0x80) && addr >= 0x4000 && addr <= 0x41FF) { Timing.cycle(12); // 12 master cycles to access these return get(size, bank, addr); } if (fastrom) { // 6 cycles Timing.cycle(6); return get(size, bank, addr); } else { // 8 cycles Timing.cycle(8); return get(size, bank, addr); } }