Fixed per scanline interrupts. No artifacts in MMCOI

This commit is contained in:
2026-05-15 23:38:40 +01:00
parent 4e745b4fbc
commit ec40e04ff3
8 changed files with 263 additions and 104 deletions

View File

@@ -1,5 +1,6 @@
using Core.Interfaces;
using System;
using System.IO;
namespace Core.Memory
{
@@ -225,6 +226,28 @@ namespace Core.Memory
}
}
public void SaveState(BinaryWriter bw)
{
bw.Write(_workRam);
bw.Write(_cartridgeRam);
bw.Write(SramUsed);
bw.Write(_mapperControl);
bw.Write(_romBank0);
bw.Write(_romBank1);
bw.Write(_romBank2);
}
public void LoadState(BinaryReader br)
{
Array.Copy(br.ReadBytes(_workRam.Length), _workRam, _workRam.Length);
Array.Copy(br.ReadBytes(_cartridgeRam.Length), _cartridgeRam, _cartridgeRam.Length);
SramUsed = br.ReadBoolean();
_mapperControl = br.ReadByte();
_romBank0 = br.ReadInt32();
_romBank1 = br.ReadInt32();
_romBank2 = br.ReadInt32();
}
public void CleanRAMData()
{
Array.Clear(_workRam, 0, _workRam.Length);