39 lines
895 B
C#
39 lines
895 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
using BizHawk.Emulation.Common;
|
|
|
|
|
|
namespace BizHawk.Emulation.Cores.WonderSwan
|
|
{
|
|
partial class WonderSwan : ISaveRam
|
|
{
|
|
byte[] saverambuff;
|
|
|
|
void InitISaveRam()
|
|
{
|
|
saverambuff = new byte[BizSwan.bizswan_saveramsize(Core)];
|
|
}
|
|
|
|
public byte[] CloneSaveRam()
|
|
{
|
|
if (!BizSwan.bizswan_saveramsave(Core, saverambuff, saverambuff.Length))
|
|
throw new InvalidOperationException("bizswan_saveramsave() returned false!");
|
|
return (byte[])saverambuff.Clone();
|
|
}
|
|
|
|
public void StoreSaveRam(byte[] data)
|
|
{
|
|
if (!BizSwan.bizswan_saveramload(Core, data, data.Length))
|
|
throw new InvalidOperationException("bizswan_saveramload() returned false!");
|
|
}
|
|
|
|
public bool SaveRamModified
|
|
{
|
|
get { return BizSwan.bizswan_saveramsize(Core) > 0; }
|
|
}
|
|
}
|
|
}
|