public void loadROM(ROM rom) { // System.out.println("Loading ROM."); if (!rom.isValid()) { // System.out.println("MMC2: Invalid ROM! Unable to load."); return; } // Get number of 16K banks: int num_16k_banks = rom.getRomBankCount() * 4; // Load PRG-ROM: loadRomBank(0, 0x8000); loadRomBank(num_16k_banks - 1, 0xC000); // Load CHR-ROM: loadCHRROM(); // Load Battery RAM (if present): loadBatteryRam(); // Do Reset-Interrupt: nes.getCpu().requestIrq(CPU.IRQ_RESET); }
public void loadROM(ROM rom) { int num_8k_banks = rom.getRomBankCount() * 2; // Load PRG-ROM: load8kRomBank(0, 0x8000); load8kRomBank(1, 0xA000); load8kRomBank(num_8k_banks - 2, 0xC000); load8kRomBank(num_8k_banks - 1, 0xE000); // Load CHR-ROM: loadCHRROM(); // Do Reset-Interrupt: nes.getCpu().requestIrq(CPU.IRQ_RESET); }
public void loadROM(ROM rom) { // System.out.println("Loading ROM."); if (!rom.isValid()) { System.out.println("VRC2: Invalid ROM! Unable to load."); return; } // Get number of 8K banks: int num_8k_banks = rom.getRomBankCount() * 2; // Load PRG-ROM: load8kRomBank(0, 0x8000); load8kRomBank(1, 0xA000); load8kRomBank(num_8k_banks - 2, 0xC000); load8kRomBank(num_8k_banks - 1, 0xE000); // Load CHR-ROM: loadCHRROM(); // Do Reset-Interrupt: nes.getCpu().requestIrq(CPU.IRQ_RESET); }