Exemplo n.º 1
0
        public void SaveBank(int bank)
        {
            RAMBank b = banks[bank];

            if (b == null || b.compressed || b.value.Length > b.ROMEnd - b.ROMStart)
            {
                messages.AppendMessage("RAM bank 0x" + bank.ToString("X2") + " cannot be saved", "Error");
                return;
            }
            Array.Copy(banks[bank].value, 0, ROM, banks[bank].ROMStart, banks[bank].value.Length);
        }
Exemplo n.º 2
0
 public void LoadBank(int bank, int ROMStart, int ROMEnd, bool decompress)
 {
     if (bank >= banks.Length || bank < 0)
     {
         messages.AppendMessage("Bank 0x" + bank.ToString("X") + " is too high!", "Error");
         return;
     }
     if (!AssertROM())
     {
         return;
     }
     if (ROMEnd > ROM.Length || ROMEnd < ROMStart)
     {
         messages.AppendMessage("Invalid ROM end for bank 0x" + bank + " (" + ROMStart.ToString("X") + " - " + ROMEnd.ToString("X") + ").", "Error");
         return;
     }
     banks[bank] = new RAMBank(bank, ROMStart, ROMEnd, decompress);
     if (BankLoaded != null)
     {
         BankLoaded(bank);
     }
 }