Atari 2600 - AR (Super Charger) - implement Cart Ram memory domain, and a Fast SC Bios sync setting

This commit is contained in:
adelikat 2014-05-26 01:01:47 +00:00
parent d1743a2ce3
commit 898c57f5d9
2 changed files with 14 additions and 3 deletions

View File

@ -122,6 +122,9 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
[Description("Set the Right Difficulty switch on the console")]
public bool RightDifficulty { get; set; }
[Description("Super Charger only, sets whether or not to skip the BIOS intro")]
public bool FastScBios { get; set; }
public A2600SyncSettings Clone()
{
return (A2600SyncSettings)MemberwiseClone();

View File

@ -35,8 +35,6 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
{
internal class mAR : MapperBase
{
// TODO: fastscbios setting
// TODO: cart ram
public mAR(Atari2600 core)
{
Core = core;
@ -165,6 +163,16 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
#endregion
public override bool HasCartRam
{
get { return true; }
}
public override ByteBuffer CartRam
{
get { return _superChargerImage; }
}
public override void HardReset()
{
_superChargerImage = new ByteBuffer(8192);
@ -353,7 +361,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
// The scrom.asm code checks a value at offset 109 as follows:
// 0xFF -> do a complete jump over the SC BIOS progress bars code
// 0x00 -> show SC BIOS progress bars as normal
DummyRomCode[109] = 0x00; // TODO: fastscbios setting
DummyRomCode[109] = (byte)(Core.SyncSettings.FastScBios ? 0xFF : 0x00);
// Stella does this, but randomness is bad for determinacy! Hopefully we don't really need it
//ourDummyROMCode[281] = mySystem->randGenerator().next();