BizHawk/BizHawk.Emulation.Common/Interfaces/Services/ISaveRam.cs

27 lines
1013 B
C#
Raw Normal View History

namespace BizHawk.Emulation.Common
{
/// <summary>
/// This service provdes the system by which a client can request SRam data to be stored by the client
/// SaveRam encompasses things like battery backed ram, memory cards, and data saved to disk drives
/// If available, save files will be automatically loaded when loading a ROM,
/// In addition the client will provide features like sram-anchored movies, and ways to clear SaveRam
/// </summary>
public interface ISaveRam : IEmulatorService
{
/// <summary>
/// return a copy of the saveram. editing it won't do you any good unless you later call StoreSaveRam()
/// </summary>
byte[] CloneSaveRam();
/// <summary>
/// store new saveram to the emu core. the data should be the same size as the return from ReadSaveRam()
/// </summary>
void StoreSaveRam(byte[] data);
/// <summary>
/// Whether or not Save ram has been modified since the last save
/// </summary>
bool SaveRamModified { get; }
}
}