romloader cleanup
This commit is contained in:
parent
d354faeec1
commit
9072614dfb
|
@ -672,23 +672,9 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
case "GB":
|
case "GB":
|
||||||
case "DGB":
|
case "DGB":
|
||||||
// adelikat: remove need for tags to be hardcoded to left and right, we should clean this up, also maybe the DGB core should just take the xml file and handle it itself
|
|
||||||
var leftBytes = xmlGame.Assets[0].Value;
|
|
||||||
var rightBytes = xmlGame.Assets[1].Value;
|
|
||||||
var left = Database.GetGameInfo(leftBytes, "left.gb");
|
|
||||||
var right = Database.GetGameInfo(rightBytes, "right.gb");
|
|
||||||
if (_config.PreferredCores["GB"] == CoreNames.GbHawk)
|
if (_config.PreferredCores["GB"] == CoreNames.GbHawk)
|
||||||
{
|
{
|
||||||
nextEmulator = new GBHawkLink(
|
nextEmulator = MakeCoreFromXml<GBHawkLink>(game);
|
||||||
nextComm,
|
|
||||||
left,
|
|
||||||
leftBytes,
|
|
||||||
right,
|
|
||||||
rightBytes,
|
|
||||||
GetCoreSettings<GBHawkLink, GBHawkLink.GBLinkSettings>(),
|
|
||||||
GetCoreSyncSettings<GBHawkLink, GBHawkLink.GBLinkSyncSettings>()
|
|
||||||
);
|
|
||||||
// other stuff todo
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -697,53 +683,13 @@ namespace BizHawk.Client.Common
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
case "GB3x":
|
case "GB3x":
|
||||||
var leftBytes3x = xmlGame.Assets[0].Value;
|
nextEmulator = MakeCoreFromXml<GBHawkLink3x>(game);
|
||||||
var centerBytes3x = xmlGame.Assets[1].Value;
|
|
||||||
var rightBytes3x = xmlGame.Assets[2].Value;
|
|
||||||
var left3x = Database.GetGameInfo(leftBytes3x, "left.gb");
|
|
||||||
var center3x = Database.GetGameInfo(centerBytes3x, "center.gb");
|
|
||||||
var right3x = Database.GetGameInfo(rightBytes3x, "right.gb");
|
|
||||||
nextEmulator = new GBHawkLink3x(
|
|
||||||
nextComm,
|
|
||||||
left3x,
|
|
||||||
leftBytes3x,
|
|
||||||
center3x,
|
|
||||||
centerBytes3x,
|
|
||||||
right3x,
|
|
||||||
rightBytes3x,
|
|
||||||
GetCoreSettings<GBHawkLink3x, GBHawkLink3x.GBLink3xSettings>(),
|
|
||||||
GetCoreSyncSettings<GBHawkLink3x, GBHawkLink3x.GBLink3xSyncSettings>()
|
|
||||||
);
|
|
||||||
return true;
|
return true;
|
||||||
case "GB4x":
|
case "GB4x":
|
||||||
var A_Bytes4x = xmlGame.Assets[0].Value;
|
nextEmulator = MakeCoreFromXml<GBHawkLink4x>(game);
|
||||||
var B_Bytes4x = xmlGame.Assets[1].Value;
|
|
||||||
var C_Bytes4x = xmlGame.Assets[2].Value;
|
|
||||||
var D_Bytes4x = xmlGame.Assets[3].Value;
|
|
||||||
var A_4x = Database.GetGameInfo(A_Bytes4x, "A.gb");
|
|
||||||
var B_4x = Database.GetGameInfo(B_Bytes4x, "B.gb");
|
|
||||||
var C_4x = Database.GetGameInfo(C_Bytes4x, "C.gb");
|
|
||||||
var D_4x = Database.GetGameInfo(D_Bytes4x, "D.gb");
|
|
||||||
nextEmulator = new GBHawkLink4x(
|
|
||||||
nextComm,
|
|
||||||
A_4x,
|
|
||||||
A_Bytes4x,
|
|
||||||
B_4x,
|
|
||||||
B_Bytes4x,
|
|
||||||
C_4x,
|
|
||||||
C_Bytes4x,
|
|
||||||
D_4x,
|
|
||||||
D_Bytes4x,
|
|
||||||
GetCoreSettings<GBHawkLink4x, GBHawkLink4x.GBLink4xSettings>(),
|
|
||||||
GetCoreSyncSettings<GBHawkLink4x, GBHawkLink4x.GBLink4xSyncSettings>()
|
|
||||||
);
|
|
||||||
return true;
|
return true;
|
||||||
case "AppleII":
|
case "AppleII":
|
||||||
nextEmulator = new AppleII(
|
nextEmulator = MakeCoreFromXml<AppleII>(game);
|
||||||
nextComm,
|
|
||||||
xmlGame.Assets.Select(a => a.Value),
|
|
||||||
GetCoreSettings<AppleII, AppleII.Settings>()
|
|
||||||
);
|
|
||||||
return true;
|
return true;
|
||||||
case "C64":
|
case "C64":
|
||||||
nextEmulator = new C64(
|
nextEmulator = new C64(
|
||||||
|
@ -786,19 +732,7 @@ namespace BizHawk.Client.Common
|
||||||
nextEmulator = MakeCoreFromXml<GPGX>(game, DiscType.MegaCD, "GEN");
|
nextEmulator = MakeCoreFromXml<GPGX>(game, DiscType.MegaCD, "GEN");
|
||||||
return true;
|
return true;
|
||||||
case "Game Gear":
|
case "Game Gear":
|
||||||
var leftBytesGG = xmlGame.Assets[0].Value;
|
nextEmulator = MakeCoreFromXml<GGHawkLink>(game);
|
||||||
var rightBytesGG = xmlGame.Assets[1].Value;
|
|
||||||
var leftGG = Database.GetGameInfo(leftBytesGG, "left.gg");
|
|
||||||
var rightGG = Database.GetGameInfo(rightBytesGG, "right.gg");
|
|
||||||
nextEmulator = new GGHawkLink(
|
|
||||||
nextComm,
|
|
||||||
leftGG,
|
|
||||||
leftBytesGG,
|
|
||||||
rightGG,
|
|
||||||
rightBytesGG,
|
|
||||||
GetCoreSettings<GGHawkLink, GGHawkLink.GGLinkSettings>(),
|
|
||||||
GetCoreSyncSettings<GGHawkLink, GGHawkLink.GGLinkSyncSettings>()
|
|
||||||
);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -21,10 +21,10 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
|
||||||
AppleIIController.BoolButtons.AddRange(ExtraButtons);
|
AppleIIController.BoolButtons.AddRange(ExtraButtons);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppleII(CoreComm comm, IEnumerable<byte[]> romSet, Settings settings)
|
public AppleII(CoreLoadParameters<Settings, object> lp)
|
||||||
: this(comm, romSet.First(), settings)
|
: this(lp.Comm, lp.Roms.First().RomData, lp.Settings)
|
||||||
{
|
{
|
||||||
_romSet = romSet.ToList();
|
_romSet = lp.Roms.Select(r => r.RomData).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
[CoreConstructor("AppleII")]
|
[CoreConstructor("AppleII")]
|
||||||
|
@ -39,6 +39,7 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
|
||||||
};
|
};
|
||||||
|
|
||||||
_disk1 = rom;
|
_disk1 = rom;
|
||||||
|
// TODO: Doesn't this add the first rom twice in the case of multirom?
|
||||||
_romSet.Add(rom);
|
_romSet.Add(rom);
|
||||||
|
|
||||||
_appleIIRom = comm.CoreFileProvider.GetFirmware(
|
_appleIIRom = comm.CoreFileProvider.GetFirmware(
|
||||||
|
|
|
@ -30,14 +30,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||||
public bool do_frame_fill;
|
public bool do_frame_fill;
|
||||||
|
|
||||||
//[CoreConstructor("GB", "GBC")]
|
//[CoreConstructor("GB", "GBC")]
|
||||||
public GBHawkLink(CoreComm comm, GameInfo game_L, byte[] rom_L, GameInfo game_R, byte[] rom_R, /*string gameDbFn,*/
|
public GBHawkLink(CoreLoadParameters<GBHawkLink.GBLinkSettings, GBHawkLink.GBLinkSyncSettings> lp)
|
||||||
GBHawkLink.GBLinkSettings settings, GBHawkLink.GBLinkSyncSettings syncSettings)
|
|
||||||
{
|
{
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
ServiceProvider = ser;
|
ServiceProvider = ser;
|
||||||
|
|
||||||
linkSettings = (GBLinkSettings)settings ?? new GBLinkSettings();
|
linkSettings = (GBLinkSettings)lp.Settings ?? new GBLinkSettings();
|
||||||
linkSyncSettings = (GBLinkSyncSettings)syncSettings ?? new GBLinkSyncSettings();
|
linkSyncSettings = (GBLinkSyncSettings)lp.SyncSettings ?? new GBLinkSyncSettings();
|
||||||
_controllerDeck = new GBHawkLinkControllerDeck(GBHawkLinkControllerDeck.DefaultControllerName, GBHawkLinkControllerDeck.DefaultControllerName);
|
_controllerDeck = new GBHawkLinkControllerDeck(GBHawkLinkControllerDeck.DefaultControllerName, GBHawkLinkControllerDeck.DefaultControllerName);
|
||||||
|
|
||||||
var temp_set_L = new GBHawk.GBHawk.GBSettings();
|
var temp_set_L = new GBHawk.GBHawk.GBSettings();
|
||||||
|
@ -57,8 +56,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
||||||
temp_sync_L.RTCOffset = linkSyncSettings.RTCOffset_L;
|
temp_sync_L.RTCOffset = linkSyncSettings.RTCOffset_L;
|
||||||
temp_sync_R.RTCOffset = linkSyncSettings.RTCOffset_R;
|
temp_sync_R.RTCOffset = linkSyncSettings.RTCOffset_R;
|
||||||
|
|
||||||
L = new GBHawk.GBHawk(comm, game_L, rom_L, temp_set_L, temp_sync_L);
|
L = new GBHawk.GBHawk(lp.Comm, lp.Roms[0].Game, lp.Roms[0].RomData, temp_set_L, temp_sync_L);
|
||||||
R = new GBHawk.GBHawk(comm, game_R, rom_R, temp_set_R, temp_sync_R);
|
R = new GBHawk.GBHawk(lp.Comm, lp.Roms[1].Game, lp.Roms[1].RomData, temp_set_R, temp_sync_R);
|
||||||
|
|
||||||
ser.Register<IVideoProvider>(this);
|
ser.Register<IVideoProvider>(this);
|
||||||
ser.Register<ISoundProvider>(this);
|
ser.Register<ISoundProvider>(this);
|
||||||
|
|
|
@ -30,14 +30,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||||
public bool do_frame_fill;
|
public bool do_frame_fill;
|
||||||
|
|
||||||
//[CoreConstructor("GB", "GBC")]
|
//[CoreConstructor("GB", "GBC")]
|
||||||
public GBHawkLink3x(CoreComm comm, GameInfo game_L, byte[] rom_L, GameInfo game_C, byte[] rom_C, GameInfo game_R, byte[] rom_R,
|
public GBHawkLink3x(CoreLoadParameters<GBLink3xSettings, GBLink3xSyncSettings> lp)
|
||||||
/*string gameDbFn,*/ GBHawkLink3x.GBLink3xSettings settings, GBHawkLink3x.GBLink3xSyncSettings syncSettings)
|
|
||||||
{
|
{
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
ServiceProvider = ser;
|
ServiceProvider = ser;
|
||||||
|
|
||||||
Link3xSettings = (GBLink3xSettings)settings ?? new GBLink3xSettings();
|
Link3xSettings = (GBLink3xSettings)lp.Settings ?? new GBLink3xSettings();
|
||||||
Link3xSyncSettings = (GBLink3xSyncSettings)syncSettings ?? new GBLink3xSyncSettings();
|
Link3xSyncSettings = (GBLink3xSyncSettings)lp.SyncSettings ?? new GBLink3xSyncSettings();
|
||||||
_controllerDeck = new GBHawkLink3xControllerDeck(GBHawkLink3xControllerDeck.DefaultControllerName, GBHawkLink3xControllerDeck.DefaultControllerName, GBHawkLink3xControllerDeck.DefaultControllerName);
|
_controllerDeck = new GBHawkLink3xControllerDeck(GBHawkLink3xControllerDeck.DefaultControllerName, GBHawkLink3xControllerDeck.DefaultControllerName, GBHawkLink3xControllerDeck.DefaultControllerName);
|
||||||
|
|
||||||
var tempSetL = new GBHawk.GBHawk.GBSettings();
|
var tempSetL = new GBHawk.GBHawk.GBSettings();
|
||||||
|
@ -63,9 +62,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
||||||
tempSyncC.RTCOffset = Link3xSyncSettings.RTCOffset_C;
|
tempSyncC.RTCOffset = Link3xSyncSettings.RTCOffset_C;
|
||||||
tempSyncR.RTCOffset = Link3xSyncSettings.RTCOffset_R;
|
tempSyncR.RTCOffset = Link3xSyncSettings.RTCOffset_R;
|
||||||
|
|
||||||
L = new GBHawk.GBHawk(comm, game_L, rom_L, tempSetL, tempSyncL);
|
L = new GBHawk.GBHawk(lp.Comm, lp.Roms[0].Game, lp.Roms[0].RomData, tempSetL, tempSyncL);
|
||||||
C = new GBHawk.GBHawk(comm, game_C, rom_C, tempSetC, tempSyncC);
|
C = new GBHawk.GBHawk(lp.Comm, lp.Roms[1].Game, lp.Roms[1].RomData, tempSetC, tempSyncC);
|
||||||
R = new GBHawk.GBHawk(comm, game_R, rom_R, tempSetR, tempSyncR);
|
R = new GBHawk.GBHawk(lp.Comm, lp.Roms[2].Game, lp.Roms[2].RomData, tempSetR, tempSyncR);
|
||||||
|
|
||||||
ser.Register<IVideoProvider>(this);
|
ser.Register<IVideoProvider>(this);
|
||||||
ser.Register<ISoundProvider>(this);
|
ser.Register<ISoundProvider>(this);
|
||||||
|
|
|
@ -51,13 +51,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||||
public bool do_frame_fill;
|
public bool do_frame_fill;
|
||||||
|
|
||||||
//[CoreConstructor("GB", "GBC")]
|
//[CoreConstructor("GB", "GBC")]
|
||||||
public GBHawkLink4x(CoreComm comm, GameInfo game_A, byte[] rom_A, GameInfo game_B, byte[] rom_B, GameInfo game_C, byte[] rom_C, GameInfo game_D, byte[] rom_D, /*string gameDbFn,*/
|
public GBHawkLink4x(CoreLoadParameters<GBLink4xSettings, GBLink4xSyncSettings> lp)
|
||||||
GBHawkLink4x.GBLink4xSettings settings, GBHawkLink4x.GBLink4xSyncSettings syncSettings)
|
|
||||||
{
|
{
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
|
|
||||||
Link4xSettings = (GBLink4xSettings)settings ?? new GBLink4xSettings();
|
Link4xSettings = (GBLink4xSettings)lp.Settings ?? new GBLink4xSettings();
|
||||||
Link4xSyncSettings = (GBLink4xSyncSettings)syncSettings ?? new GBLink4xSyncSettings();
|
Link4xSyncSettings = (GBLink4xSyncSettings)lp.SyncSettings ?? new GBLink4xSyncSettings();
|
||||||
_controllerDeck = new GBHawkLink4xControllerDeck(GBHawkLink4xControllerDeck.DefaultControllerName, GBHawkLink4xControllerDeck.DefaultControllerName,
|
_controllerDeck = new GBHawkLink4xControllerDeck(GBHawkLink4xControllerDeck.DefaultControllerName, GBHawkLink4xControllerDeck.DefaultControllerName,
|
||||||
GBHawkLink4xControllerDeck.DefaultControllerName, GBHawkLink4xControllerDeck.DefaultControllerName);
|
GBHawkLink4xControllerDeck.DefaultControllerName, GBHawkLink4xControllerDeck.DefaultControllerName);
|
||||||
|
|
||||||
|
@ -90,10 +89,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
||||||
tempSyncC.RTCOffset = Link4xSyncSettings.RTCOffset_C;
|
tempSyncC.RTCOffset = Link4xSyncSettings.RTCOffset_C;
|
||||||
tempSyncD.RTCOffset = Link4xSyncSettings.RTCOffset_D;
|
tempSyncD.RTCOffset = Link4xSyncSettings.RTCOffset_D;
|
||||||
|
|
||||||
A = new GBHawk.GBHawk(comm, game_A, rom_A, tempSetA, tempSyncA);
|
A = new GBHawk.GBHawk(lp.Comm, lp.Roms[0].Game, lp.Roms[0].RomData, tempSetA, tempSyncA);
|
||||||
B = new GBHawk.GBHawk(comm, game_B, rom_B, tempSetB, tempSyncB);
|
B = new GBHawk.GBHawk(lp.Comm, lp.Roms[1].Game, lp.Roms[1].RomData, tempSetB, tempSyncB);
|
||||||
C = new GBHawk.GBHawk(comm, game_C, rom_C, tempSetC, tempSyncC);
|
C = new GBHawk.GBHawk(lp.Comm, lp.Roms[2].Game, lp.Roms[2].RomData, tempSetC, tempSyncC);
|
||||||
D = new GBHawk.GBHawk(comm, game_D, rom_D, tempSetD, tempSyncD);
|
D = new GBHawk.GBHawk(lp.Comm, lp.Roms[3].Game, lp.Roms[3].RomData, tempSetD, tempSyncD);
|
||||||
|
|
||||||
ser.Register<IVideoProvider>(this);
|
ser.Register<IVideoProvider>(this);
|
||||||
ser.Register<ISoundProvider>(this);
|
ser.Register<ISoundProvider>(this);
|
||||||
|
|
|
@ -25,13 +25,12 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||||
|
|
||||||
private bool do_r_next = false;
|
private bool do_r_next = false;
|
||||||
|
|
||||||
public GGHawkLink(CoreComm comm, GameInfo game_L, byte[] rom_L, GameInfo game_R, byte[] rom_R, /*string gameDbFn,*/
|
public GGHawkLink(CoreLoadParameters<GGLinkSettings, GGLinkSyncSettings> lp)
|
||||||
GGLinkSettings settings, GGLinkSyncSettings syncSettings)
|
|
||||||
{
|
{
|
||||||
var ser = new BasicServiceProvider(this);
|
var ser = new BasicServiceProvider(this);
|
||||||
|
|
||||||
linkSettings = (GGLinkSettings)settings ?? new GGLinkSettings();
|
linkSettings = (GGLinkSettings)lp.Settings ?? new GGLinkSettings();
|
||||||
linkSyncSettings = (GGLinkSyncSettings)syncSettings ?? new GGLinkSyncSettings();
|
linkSyncSettings = (GGLinkSyncSettings)lp.SyncSettings ?? new GGLinkSyncSettings();
|
||||||
_controllerDeck = new GGHawkLinkControllerDeck(GGHawkLinkControllerDeck.DefaultControllerName, GGHawkLinkControllerDeck.DefaultControllerName);
|
_controllerDeck = new GGHawkLinkControllerDeck(GGHawkLinkControllerDeck.DefaultControllerName, GGHawkLinkControllerDeck.DefaultControllerName);
|
||||||
|
|
||||||
var temp_set_L = new SMS.SmsSettings();
|
var temp_set_L = new SMS.SmsSettings();
|
||||||
|
@ -40,8 +39,8 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
||||||
var temp_sync_L = new SMS.SmsSyncSettings();
|
var temp_sync_L = new SMS.SmsSyncSettings();
|
||||||
var temp_sync_R = new SMS.SmsSyncSettings();
|
var temp_sync_R = new SMS.SmsSyncSettings();
|
||||||
|
|
||||||
L = new SMS(comm, game_L, rom_L, temp_set_L, temp_sync_L);
|
L = new SMS(lp.Comm, lp.Roms[0].Game, lp.Roms[0].RomData, temp_set_L, temp_sync_L);
|
||||||
R = new SMS(comm, game_R, rom_R, temp_set_R, temp_sync_R);
|
R = new SMS(lp.Comm, lp.Roms[1].Game, lp.Roms[1].RomData, temp_set_R, temp_sync_R);
|
||||||
|
|
||||||
ser.Register<IVideoProvider>(this);
|
ser.Register<IVideoProvider>(this);
|
||||||
ser.Register<ISoundProvider>(this);
|
ser.Register<ISoundProvider>(this);
|
||||||
|
|
Loading…
Reference in New Issue