예제 #1
0
파일: Memory.java 프로젝트: Osmose/sno
  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);
    }
  }