SMS: Add Export/Japan, NTSC/PAL, Enable BIOS options to SMS menu. Not yet hooked up to core.
This commit is contained in:
parent
07e984582d
commit
8daab82463
|
@ -230,6 +230,13 @@
|
|||
this.PCEArcadeCardRewindEnableMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.PCEGraphicsSettingsMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSexportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSjapanToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMStoolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.SMS_NTSCToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMS_PALToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMStoolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.SMSenableBIOSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSEnableFMChipMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSOverclockMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.SMSForceStereoMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -2062,6 +2069,13 @@
|
|||
// SMSSubMenu
|
||||
//
|
||||
this.SMSSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.SMSexportToolStripMenuItem,
|
||||
this.SMSjapanToolStripMenuItem,
|
||||
this.SMStoolStripMenuItem1,
|
||||
this.SMS_NTSCToolStripMenuItem,
|
||||
this.SMS_PALToolStripMenuItem,
|
||||
this.SMStoolStripMenuItem2,
|
||||
this.SMSenableBIOSToolStripMenuItem,
|
||||
this.SMSEnableFMChipMenuItem,
|
||||
this.SMSOverclockMenuItem,
|
||||
this.SMSForceStereoMenuItem,
|
||||
|
@ -2078,6 +2092,51 @@
|
|||
this.SMSSubMenu.Text = "&SMS";
|
||||
this.SMSSubMenu.DropDownOpened += new System.EventHandler(this.SMSSubMenu_DropDownOpened);
|
||||
//
|
||||
// SMSexportToolStripMenuItem
|
||||
//
|
||||
this.SMSexportToolStripMenuItem.Name = "SMSexportToolStripMenuItem";
|
||||
this.SMSexportToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||
this.SMSexportToolStripMenuItem.Text = "Export";
|
||||
this.SMSexportToolStripMenuItem.Click += new System.EventHandler(this.SMS_Export_Click);
|
||||
//
|
||||
// SMSjapanToolStripMenuItem
|
||||
//
|
||||
this.SMSjapanToolStripMenuItem.Name = "SMSjapanToolStripMenuItem";
|
||||
this.SMSjapanToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||
this.SMSjapanToolStripMenuItem.Text = "Japan";
|
||||
this.SMSjapanToolStripMenuItem.Click += new System.EventHandler(this.SMS_Japan_Click);
|
||||
//
|
||||
// SMStoolStripMenuItem1
|
||||
//
|
||||
this.SMStoolStripMenuItem1.Name = "SMStoolStripMenuItem1";
|
||||
this.SMStoolStripMenuItem1.Size = new System.Drawing.Size(238, 6);
|
||||
//
|
||||
// SMS_NTSCToolStripMenuItem
|
||||
//
|
||||
this.SMS_NTSCToolStripMenuItem.Name = "SMS_NTSCToolStripMenuItem";
|
||||
this.SMS_NTSCToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||
this.SMS_NTSCToolStripMenuItem.Text = "NTSC";
|
||||
this.SMS_NTSCToolStripMenuItem.Click += new System.EventHandler(this.SMS_NTSC_Click);
|
||||
//
|
||||
// SMS_PALToolStripMenuItem
|
||||
//
|
||||
this.SMS_PALToolStripMenuItem.Name = "SMS_PALToolStripMenuItem";
|
||||
this.SMS_PALToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||
this.SMS_PALToolStripMenuItem.Text = "PAL";
|
||||
this.SMS_PALToolStripMenuItem.Click += new System.EventHandler(this.SMS_PAL_Click);
|
||||
//
|
||||
// SMStoolStripMenuItem2
|
||||
//
|
||||
this.SMStoolStripMenuItem2.Name = "SMStoolStripMenuItem2";
|
||||
this.SMStoolStripMenuItem2.Size = new System.Drawing.Size(238, 6);
|
||||
//
|
||||
// SMSenableBIOSToolStripMenuItem
|
||||
//
|
||||
this.SMSenableBIOSToolStripMenuItem.Name = "SMSenableBIOSToolStripMenuItem";
|
||||
this.SMSenableBIOSToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||
this.SMSenableBIOSToolStripMenuItem.Text = "Enable BIOS";
|
||||
this.SMSenableBIOSToolStripMenuItem.Click += new System.EventHandler(this.SMS_BIOS_Click);
|
||||
//
|
||||
// SMSEnableFMChipMenuItem
|
||||
//
|
||||
this.SMSEnableFMChipMenuItem.Name = "SMSEnableFMChipMenuItem";
|
||||
|
@ -3378,6 +3437,13 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem codeDataLoggerToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem vDPViewerToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMSFix3DGameDisplayToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator SMStoolStripMenuItem2;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMSexportToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMSjapanToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator SMStoolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMS_NTSCToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMS_PALToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem SMSenableBIOSToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1290,6 +1290,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
var s = (SMS.SMSSettings)Global.Emulator.GetSettings();
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
SMSexportToolStripMenuItem.Checked = ss.ExportRegion;
|
||||
SMSjapanToolStripMenuItem.Checked = !ss.ExportRegion;
|
||||
SMS_NTSCToolStripMenuItem.Checked = !ss.UsePAL;
|
||||
SMS_PALToolStripMenuItem.Checked = ss.UsePAL;
|
||||
SMSenableBIOSToolStripMenuItem.Checked = ss.UseBIOS;
|
||||
SMSEnableFMChipMenuItem.Checked = ss.EnableFM;
|
||||
SMSOverclockMenuItem.Checked = ss.AllowOverlock;
|
||||
SMSForceStereoMenuItem.Checked = s.ForceStereoSeparation;
|
||||
|
@ -1298,10 +1303,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
ShowClippedRegionsMenuItem.Checked = s.ShowClippedRegions;
|
||||
HighlightActiveDisplayRegionMenuItem.Checked = s.HighlightActiveDisplayRegion;
|
||||
|
||||
SMSFix3DGameDisplayToolStripMenuItem.Visible =
|
||||
SMSenableBIOSToolStripMenuItem.Visible =
|
||||
Global.Game.System == "SMS";
|
||||
|
||||
SMSEnableFMChipMenuItem.Visible =
|
||||
SMSOverclockMenuItem.Visible =
|
||||
SMSForceStereoMenuItem.Visible =
|
||||
SMSFix3DGameDisplayToolStripMenuItem.Visible =
|
||||
SMS_NTSCToolStripMenuItem.Visible =
|
||||
SMS_PALToolStripMenuItem.Visible =
|
||||
SMStoolStripMenuItem2.Visible =
|
||||
Global.Game.System != "GG";
|
||||
|
||||
ShowClippedRegionsMenuItem.Visible =
|
||||
|
@ -1310,6 +1321,41 @@ namespace BizHawk.Client.EmuHawk
|
|||
Global.Game.System == "GG";
|
||||
}
|
||||
|
||||
private void SMS_Export_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
ss.ExportRegion = true;
|
||||
PutCoreSyncSettings(ss);
|
||||
}
|
||||
|
||||
private void SMS_Japan_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
ss.ExportRegion = false;
|
||||
PutCoreSyncSettings(ss);
|
||||
}
|
||||
|
||||
private void SMS_NTSC_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
ss.UsePAL = false;
|
||||
PutCoreSyncSettings(ss);
|
||||
}
|
||||
|
||||
private void SMS_PAL_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
ss.UsePAL = true;
|
||||
PutCoreSyncSettings(ss);
|
||||
}
|
||||
|
||||
private void SMS_BIOS_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
ss.UseBIOS ^= true;
|
||||
PutCoreSyncSettings(ss);
|
||||
}
|
||||
|
||||
private void SMSEnableFMChipMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ss = (SMS.SMSSyncSettings)Global.Emulator.GetSyncSettings();
|
||||
|
|
|
@ -14,10 +14,7 @@ using BizHawk.Emulation.Cores.Components.Z80;
|
|||
+ HCounter
|
||||
+ Try to clean up the organization of the source code.
|
||||
+ Lightgun/Paddle/etc if I get really bored
|
||||
|
||||
+ SG-1000 TMS does not fire sprite collision bit
|
||||
+ SG-1000 TMS sprite doubling most likely does not work!
|
||||
+ Maybe try to unify the Coleco TMS with SG-1000? Or at least pull in other TMS fixes.
|
||||
+ Mode 1 not implemented in VDP TMS modes. (I dont have a test case in SG1000 or Coleco)
|
||||
|
||||
**********************************************************/
|
||||
|
||||
|
@ -542,6 +539,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
|
||||
public class SMSSettings
|
||||
{
|
||||
// Game settings
|
||||
public bool ForceStereoSeparation = false;
|
||||
public bool SpriteLimit = false;
|
||||
public bool Fix3D = true;
|
||||
|
@ -566,6 +564,9 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
{
|
||||
public bool EnableFM = true;
|
||||
public bool AllowOverlock = false;
|
||||
public bool UseBIOS = false;
|
||||
public bool ExportRegion = true;
|
||||
public bool UsePAL = false;
|
||||
|
||||
public SMSSyncSettings Clone()
|
||||
{
|
||||
|
@ -573,7 +574,12 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
}
|
||||
public static bool RebootNeeded(SMSSyncSettings x, SMSSyncSettings y)
|
||||
{
|
||||
return x.EnableFM != y.EnableFM || x.AllowOverlock != y.AllowOverlock;
|
||||
return
|
||||
x.EnableFM != y.EnableFM ||
|
||||
x.AllowOverlock != y.AllowOverlock ||
|
||||
x.UseBIOS != y.UseBIOS ||
|
||||
x.ExportRegion != y.ExportRegion ||
|
||||
x.UsePAL != y.UsePAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue