49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
![]() |
using System;
|
|||
|
using BizHawk.Emulation.Common;
|
|||
|
|
|||
|
namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
|||
|
{
|
|||
|
public partial class GBA : ISaveRam
|
|||
|
{
|
|||
|
public bool SaveRamModified
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (disposed)
|
|||
|
throw new ObjectDisposedException(this.GetType().ToString());
|
|||
|
return LibMeteor.libmeteor_hassaveram();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public byte[] CloneSaveRam()
|
|||
|
{
|
|||
|
throw new Exception("This needs to be fixed to match the VBANext Core!");
|
|||
|
#if false
|
|||
|
if (disposed)
|
|||
|
throw new ObjectDisposedException(this.GetType().ToString());
|
|||
|
if (!LibMeteor.libmeteor_hassaveram())
|
|||
|
return null;
|
|||
|
IntPtr data = IntPtr.Zero;
|
|||
|
uint size = 0;
|
|||
|
if (!LibMeteor.libmeteor_savesaveram(ref data, ref size))
|
|||
|
throw new Exception("libmeteor_savesaveram() returned false!");
|
|||
|
byte[] ret = new byte[size];
|
|||
|
Marshal.Copy(data, ret, 0, (int)size);
|
|||
|
LibMeteor.libmeteor_savesaveram_destroy(data);
|
|||
|
return ret;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
public void StoreSaveRam(byte[] data)
|
|||
|
{
|
|||
|
throw new Exception("This needs to be fixed to match the VBANext Core!");
|
|||
|
#if false
|
|||
|
if (disposed)
|
|||
|
throw new ObjectDisposedException(this.GetType().ToString());
|
|||
|
if (!LibMeteor.libmeteor_loadsaveram(data, (uint)data.Length))
|
|||
|
throw new Exception("libmeteor_loadsaveram() returned false!");
|
|||
|
#endif
|
|||
|
}
|
|||
|
}
|
|||
|
}
|