apple2: support MONCHRONOME

This commit is contained in:
goyuken 2015-06-16 23:24:52 +00:00
parent 343190094e
commit 81d8018d4c
6 changed files with 390 additions and 324 deletions

View File

@ -356,7 +356,8 @@ namespace BizHawk.Client.Common
nextEmulator = new AppleII(
nextComm,
assets,
roms);
roms,
(AppleII.Settings)GetCoreSettings<AppleII>());
break;
default:
return false;

File diff suppressed because it is too large Load Diff

View File

@ -3777,5 +3777,10 @@ namespace BizHawk.Client.EmuHawk
{
GlobalWin.Tools.Load<AutoHawk>();
}
private void settingsToolStripMenuItem1_Click_1(object sender, EventArgs e)
{
GenericCoreConfig.DoDialog(this, "Apple II Settings");
}
}
}

View File

@ -123,7 +123,7 @@
<DependentUpon>AppleII.cs</DependentUpon>
</Compile>
<Compile Include="Computers\AppleII\AppleII.IDebuggable.cs">
<DependentUpon>AppleII.cs</DependentUpon>
<DependentUpon>AppleII.cs</DependentUpon>
</Compile>
<Compile Include="Computers\AppleII\AppleII.IDisassembler.cs">
<DependentUpon>AppleII.cs</DependentUpon>
@ -137,6 +137,7 @@
<Compile Include="Computers\AppleII\AppleII.IMemoryDomains.cs">
<DependentUpon>AppleII.cs</DependentUpon>
</Compile>
<Compile Include="Computers\AppleII\AppleII.ISettable.cs" />
<Compile Include="Computers\AppleII\AppleII.IStatable.cs">
<DependentUpon>AppleII.cs</DependentUpon>
</Compile>

View File

@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BizHawk.Emulation.Common;
using System.ComponentModel;
namespace BizHawk.Emulation.Cores.Computers.AppleII
{
partial class AppleII : ISettable<AppleII.Settings, object>
{
private Settings _settings;
public class Settings
{
[DefaultValue(false)]
[Description("Choose a monochrome monitor.")]
public bool Monochrome { get; set; }
public Settings Clone()
{
return (Settings)MemberwiseClone();
}
}
public AppleII.Settings GetSettings()
{
return _settings.Clone();
}
public object GetSyncSettings()
{
return null;
}
public bool PutSettings(AppleII.Settings o)
{
_settings = o;
_machine.Video.IsMonochrome = _settings.Monochrome;
return false;
}
public bool PutSyncSettings(object o)
{
return false;
}
}
}

View File

@ -16,15 +16,15 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
)]
public partial class AppleII : IEmulator, IDriveLight
{
public AppleII(CoreComm comm, IEnumerable<GameInfo> gameInfoSet, IEnumerable<byte[]> romSet)
: this(comm, gameInfoSet.First(), romSet.First())
public AppleII(CoreComm comm, IEnumerable<GameInfo> gameInfoSet, IEnumerable<byte[]> romSet, Settings settings)
: this(comm, gameInfoSet.First(), romSet.First(), settings)
{
GameInfoSet = gameInfoSet.ToList();
RomSet = romSet.ToList();
}
[CoreConstructor("AppleII")]
public AppleII(CoreComm comm, GameInfo game, byte[] rom)
public AppleII(CoreComm comm, GameInfo game, byte[] rom, Settings settings)
{
GameInfoSet = new List<GameInfo>();
@ -50,6 +50,7 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
InitSaveStates();
SetupMemoryDomains();
PutSettings(settings ?? new Settings());
}
public List<GameInfo> GameInfoSet { get; private set; }