add ui to switch to Atari7800Hawk, still not useable by humans, needs gamedb stuff
This commit is contained in:
parent
47758a519d
commit
8de4e7bff9
|
@ -7,6 +7,7 @@ using BizHawk.Common;
|
|||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Emulation.Cores;
|
||||
using BizHawk.Emulation.Cores.Libretro;
|
||||
using BizHawk.Emulation.Cores.Atari.A7800Hawk;
|
||||
using BizHawk.Emulation.Cores.Atari.Atari7800;
|
||||
using BizHawk.Emulation.Cores.Calculators;
|
||||
using BizHawk.Emulation.Cores.Computers.AppleII;
|
||||
|
@ -835,7 +836,10 @@ namespace BizHawk.Client.Common
|
|||
break;
|
||||
case "A78":
|
||||
var gamedbpath = Path.Combine(PathManager.GetExeDirectoryAbsolute(), "gamedb", "EMU7800.csv");
|
||||
nextEmulator = new Atari7800(nextComm, game, rom.RomData, gamedbpath);
|
||||
|
||||
nextEmulator = Global.Config.A78_UseEmu7800
|
||||
? nextEmulator = new Atari7800(nextComm, game, rom.RomData, gamedbpath)
|
||||
: nextEmulator = new A7800Hawk(nextComm, game, rom.RomData, gamedbpath);
|
||||
break;
|
||||
case "C64":
|
||||
var c64 = new C64(nextComm, Enumerable.Repeat(rom.RomData, 1), GetCoreSettings<C64>(), GetCoreSyncSettings<C64>());
|
||||
|
|
|
@ -537,6 +537,7 @@ namespace BizHawk.Client.Common
|
|||
public bool NES_InQuickNES = true;
|
||||
public bool SNES_InSnes9x = false;
|
||||
public bool GBA_UsemGBA = false;
|
||||
public bool A78_UseEmu7800 = true;
|
||||
public bool CoreForcingViaGameDB = true;
|
||||
public string LibretroCore;
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ using BizHawk.Emulation.Cores.Nintendo.NES;
|
|||
using BizHawk.Emulation.Cores.Nintendo.SNES9X;
|
||||
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
||||
using BizHawk.Emulation.Cores.Nintendo.GBA;
|
||||
using BizHawk.Emulation.Cores.Atari.A7800Hawk;
|
||||
using BizHawk.Emulation.Cores.Atari.Atari7800;
|
||||
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
|
@ -463,6 +465,7 @@ namespace BizHawk.Client.Common
|
|||
public bool? PreviousNES_InQuickNES { get; set; }
|
||||
public bool? PreviousSNES_InSnes9x { get; set; }
|
||||
public bool? PreviousGBA_UsemGBA { get; set; }
|
||||
public bool? PreviousA78_UseEmu7800 { get; set; }
|
||||
|
||||
public void QueueNewMovie(IMovie movie, bool record, IEmulator emulator)
|
||||
{
|
||||
|
@ -530,6 +533,22 @@ namespace BizHawk.Client.Common
|
|||
Global.Config.GBA_UsemGBA = false;
|
||||
}
|
||||
}
|
||||
else if (!record && emulator.SystemId == "A78") // meh, copy pasta one more time, last time, I promise
|
||||
{
|
||||
var atari7800HawkName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(A7800Hawk), typeof(CoreAttributes))).CoreName;
|
||||
var emu7800HawkName = ((CoreAttributes)Attribute.GetCustomAttribute(typeof(Atari7800), typeof(CoreAttributes))).CoreName;
|
||||
|
||||
if (movie.Core == atari7800HawkName)
|
||||
{
|
||||
PreviousA78_UseEmu7800 = Global.Config.A78_UseEmu7800;
|
||||
Global.Config.A78_UseEmu7800 = true;
|
||||
}
|
||||
else if (movie.Core == emu7800HawkName)
|
||||
{
|
||||
PreviousA78_UseEmu7800 = Global.Config.A78_UseEmu7800;
|
||||
Global.Config.A78_UseEmu7800 = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (record) // This is a hack really, we need to set the movie to its propert state so that it will be considered active later
|
||||
{
|
||||
|
|
|
@ -20,6 +20,7 @@ namespace BizHawk.Client.Common
|
|||
bool? PreviousNES_InQuickNES { get; set; }
|
||||
bool? PreviousSNES_InSnes9x { get; set; }
|
||||
bool? PreviousGBA_UsemGBA { get; set; }
|
||||
bool? PreviousA78_UseEmu7800 { get; set; }
|
||||
|
||||
void HandleMovieOnFrameLoop();
|
||||
void HandleMovieAfterFrameLoop();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,9 +5,10 @@ using System.Windows.Forms;
|
|||
|
||||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Emulation.Common.IEmulatorExtensions;
|
||||
using BizHawk.Emulation.Cores.Atari.A7800Hawk;
|
||||
using BizHawk.Emulation.Cores.Atari.Atari7800;
|
||||
using BizHawk.Emulation.Cores.Calculators;
|
||||
using BizHawk.Emulation.Cores.ColecoVision;
|
||||
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
|
||||
using BizHawk.Emulation.Cores.Nintendo.NES;
|
||||
using BizHawk.Emulation.Cores.Nintendo.N64;
|
||||
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
||||
|
@ -1213,6 +1214,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
GBInSGBMenuItem.Checked = Global.Config.GB_AsSGB;
|
||||
NesInQuickNESMenuItem.Checked = Global.Config.NES_InQuickNES;
|
||||
gBAWithMGBAToolStripMenuItem.Checked = Global.Config.GBA_UsemGBA;
|
||||
Atari7800WithEmu7800MenuItem.Checked = Global.Config.A78_UseEmu7800;
|
||||
allowGameDBCoreOverridesToolStripMenuItem.Checked = Global.Config.CoreForcingViaGameDB;
|
||||
}
|
||||
|
||||
|
@ -1270,6 +1272,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
private void Atari7800WithEmu7800MenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.A78_UseEmu7800 ^= true;
|
||||
if (Emulator is A7800Hawk || Emulator is Atari7800)
|
||||
{
|
||||
FlagNeedsReboot();
|
||||
}
|
||||
}
|
||||
|
||||
private void AllowGameDBCoreOverridesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.CoreForcingViaGameDB ^= true;
|
||||
|
|
|
@ -42,6 +42,10 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
|
|||
public A7800Hawk(CoreComm comm, GameInfo game, byte[] rom, string gameDbFn)
|
||||
{
|
||||
var ser = new BasicServiceProvider(this);
|
||||
|
||||
maria = new Maria();
|
||||
tia = new TIA();
|
||||
|
||||
ser.Register<IVideoProvider>(maria);
|
||||
ser.Register<ISoundProvider>(tia);
|
||||
ServiceProvider = ser;
|
||||
|
|
Loading…
Reference in New Issue