NesHawk - properly dispose of bytebuffers
This commit is contained in:
parent
109b21239b
commit
45ba9254cb
|
@ -26,6 +26,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -40,6 +40,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
}
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_regs.Dispose();
|
||||
low.Dispose();
|
||||
chr_regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -59,6 +59,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
public override void Dispose()
|
||||
{
|
||||
prg_banks_16k.Dispose();
|
||||
chr_banks_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
|
|
|
@ -56,6 +56,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
public override void Dispose()
|
||||
{
|
||||
prg_banks_16k.Dispose();
|
||||
chr_banks_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -24,6 +24,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
EXPREGS.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -23,6 +23,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -26,6 +26,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -39,6 +39,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -74,6 +74,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
prg_regs_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -40,6 +40,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
prg_regs_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -21,6 +21,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -40,6 +40,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
prg_regs_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -32,6 +32,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override byte ReadPRG(int addr)
|
||||
{
|
||||
|
|
|
@ -39,6 +39,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
reg.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public void sync(byte value)
|
||||
{
|
||||
prg=reg[2]>>2;
|
||||
|
|
|
@ -28,6 +28,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
reg.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override byte ReadWRAM(int addr)
|
||||
{
|
||||
return ROM[(reg[4] << 13) + (addr & 0x1FFF)];
|
||||
|
|
|
@ -27,6 +27,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
latch.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -46,6 +46,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_8k.Dispose();
|
||||
chr_banks_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
static readonly EMirrorType[] kMirrorTypes = {EMirrorType.Vertical,EMirrorType.Horizontal,EMirrorType.OneScreenA,EMirrorType.OneScreenB};
|
||||
void SyncMirror()
|
||||
{
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_32k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void WriteEXP(int addr, byte value)
|
||||
{
|
||||
switch (addr)
|
||||
|
|
|
@ -34,6 +34,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg.Dispose();
|
||||
chr.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -20,6 +20,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
_SRAM.Dispose();
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
ser.Sync("SRAM", ref _SRAM);
|
||||
|
|
|
@ -36,6 +36,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_16k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override byte ReadPRG(int addr)
|
||||
{
|
||||
int bank_16k = addr >> 14;
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_32k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override byte ReadEXP(int addr)
|
||||
{
|
||||
//some kind of magic number..
|
||||
|
|
|
@ -28,6 +28,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
ser.Sync("reg_addr", ref reg_addr);
|
||||
|
|
|
@ -82,7 +82,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
void SyncMap()
|
||||
private void SyncMap()
|
||||
{
|
||||
ApplyMemoryMapMask(prg_bank_mask_8k, prg_banks_8k);
|
||||
ApplyMemoryMapMask(chr_bank_mask_2k, chr_banks_2k);
|
||||
|
|
|
@ -34,6 +34,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
preg.Dispose();
|
||||
creg.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -31,6 +31,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg.Dispose();
|
||||
chrlo.Dispose();
|
||||
chrhi.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
@ -148,9 +156,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
|
||||
}
|
||||
|
||||
|
||||
return base.ReadPPU(addr);
|
||||
}
|
||||
|
||||
public override void WritePPU(int addr, byte value)
|
||||
{
|
||||
if (addr < 0x2000)
|
||||
|
|
|
@ -23,6 +23,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -32,6 +32,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
SyncIRQ();
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
prg_banks_16k.Dispose();
|
||||
chr_banks_2k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override bool Configure(NES.EDetectionOrigin origin)
|
||||
{
|
||||
switch (Cart.board_type)
|
||||
|
|
|
@ -25,6 +25,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
regs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void WriteEXP(int addr, byte value)
|
||||
{
|
||||
if (addr >= 0x1000 && addr <= 0x1003)
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
reg.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
ser.Sync("reg", ref reg);
|
||||
|
|
|
@ -15,7 +15,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
|
||||
private int prg_mask_8k, chr_mask_1k;
|
||||
|
||||
|
||||
public override bool Configure(NES.EDetectionOrigin origin)
|
||||
{
|
||||
switch (Cart.board_type)
|
||||
|
@ -69,6 +68,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
chr_regs_1k.Dispose();
|
||||
prg_regs_8k.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -26,6 +26,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
exRegs.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
|
@ -31,6 +31,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
return true;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
chr.Dispose();
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public override void SyncState(Serializer ser)
|
||||
{
|
||||
base.SyncState(ser);
|
||||
|
|
Loading…
Reference in New Issue