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( nextEmulator = new AppleII(
nextComm, nextComm,
assets, assets,
roms); roms,
(AppleII.Settings)GetCoreSettings<AppleII>());
break; break;
default: default:
return false; 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>(); 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> <DependentUpon>AppleII.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Computers\AppleII\AppleII.IDebuggable.cs"> <Compile Include="Computers\AppleII\AppleII.IDebuggable.cs">
<DependentUpon>AppleII.cs</DependentUpon> <DependentUpon>AppleII.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Computers\AppleII\AppleII.IDisassembler.cs"> <Compile Include="Computers\AppleII\AppleII.IDisassembler.cs">
<DependentUpon>AppleII.cs</DependentUpon> <DependentUpon>AppleII.cs</DependentUpon>
@ -137,6 +137,7 @@
<Compile Include="Computers\AppleII\AppleII.IMemoryDomains.cs"> <Compile Include="Computers\AppleII\AppleII.IMemoryDomains.cs">
<DependentUpon>AppleII.cs</DependentUpon> <DependentUpon>AppleII.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Computers\AppleII\AppleII.ISettable.cs" />
<Compile Include="Computers\AppleII\AppleII.IStatable.cs"> <Compile Include="Computers\AppleII\AppleII.IStatable.cs">
<DependentUpon>AppleII.cs</DependentUpon> <DependentUpon>AppleII.cs</DependentUpon>
</Compile> </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 partial class AppleII : IEmulator, IDriveLight
{ {
public AppleII(CoreComm comm, IEnumerable<GameInfo> gameInfoSet, IEnumerable<byte[]> romSet) public AppleII(CoreComm comm, IEnumerable<GameInfo> gameInfoSet, IEnumerable<byte[]> romSet, Settings settings)
: this(comm, gameInfoSet.First(), romSet.First()) : this(comm, gameInfoSet.First(), romSet.First(), settings)
{ {
GameInfoSet = gameInfoSet.ToList(); GameInfoSet = gameInfoSet.ToList();
RomSet = romSet.ToList(); RomSet = romSet.ToList();
} }
[CoreConstructor("AppleII")] [CoreConstructor("AppleII")]
public AppleII(CoreComm comm, GameInfo game, byte[] rom) public AppleII(CoreComm comm, GameInfo game, byte[] rom, Settings settings)
{ {
GameInfoSet = new List<GameInfo>(); GameInfoSet = new List<GameInfo>();
@ -50,6 +50,7 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
InitSaveStates(); InitSaveStates();
SetupMemoryDomains(); SetupMemoryDomains();
PutSettings(settings ?? new Settings());
} }
public List<GameInfo> GameInfoSet { get; private set; } public List<GameInfo> GameInfoSet { get; private set; }