SMS: add option to make 3d games playable. some are actually interesting. sega does what nintendont
This commit is contained in:
parent
804fed9375
commit
d328fd0479
BizHawk.Client.EmuHawk
BizHawk.Emulation.Cores/Consoles/Sega/SMS
output/gamedb
File diff suppressed because it is too large
Load Diff
|
@ -1294,12 +1294,14 @@ namespace BizHawk.Client.EmuHawk
|
|||
SMSOverclockMenuItem.Checked = ss.AllowOverlock;
|
||||
SMSForceStereoMenuItem.Checked = s.ForceStereoSeparation;
|
||||
SMSSpriteLimitMenuItem.Checked = s.SpriteLimit;
|
||||
SMSFix3DGameDisplayToolStripMenuItem.Checked = s.Fix3D;
|
||||
ShowClippedRegionsMenuItem.Checked = s.ShowClippedRegions;
|
||||
HighlightActiveDisplayRegionMenuItem.Checked = s.HighlightActiveDisplayRegion;
|
||||
|
||||
SMSEnableFMChipMenuItem.Visible =
|
||||
SMSOverclockMenuItem.Visible =
|
||||
SMSForceStereoMenuItem.Visible =
|
||||
SMSFix3DGameDisplayToolStripMenuItem.Visible =
|
||||
Global.Game.System != "GG";
|
||||
|
||||
ShowClippedRegionsMenuItem.Visible =
|
||||
|
@ -1336,6 +1338,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
PutCoreSettings(s);
|
||||
}
|
||||
|
||||
private void SMSFix3DDisplayMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var s = (SMS.SMSSettings)Global.Emulator.GetSettings();
|
||||
s.Fix3D ^= true;
|
||||
PutCoreSettings(s);
|
||||
}
|
||||
|
||||
private void ShowClippedRegionsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var s = (SMS.SMSSettings)Global.Emulator.GetSettings();
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
<data name="DisplayConfigMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NC
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NC
|
||||
NwAAAaRJREFUOE+dk0FLAlEUhd9/kgwFMUQMhMEIhJLIhVCRDIRhAznEIEYtlBiQYApBSGQw2xhBlhLE
|
||||
zCLQTa3bt2nd8tR5pFTaLLxwuJd7vgNv3syIv+Xz+fA9TpSX96s0TZsAp+0862fAM3xpN5DNZpHL5VAo
|
||||
FFAqlVCpVFCtVsEgxZk7emTIMsOsyGQyGAwGM4lZkU6n4bouVg4aCO1cQDGusXbyiA1rIMWZO3pkyEYi
|
||||
|
|
|
@ -123,6 +123,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
byte Port3F = 0xFF;
|
||||
|
||||
byte ForceStereoByte = 0xAD;
|
||||
bool IsGame3D = false;
|
||||
|
||||
public DisplayType DisplayType { get; set; }
|
||||
public bool DeterministicEmulation { get { return true; } }
|
||||
|
@ -188,6 +189,9 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
if (this.Settings.SpriteLimit)
|
||||
Vdp.SpriteLimit = true;
|
||||
|
||||
if (game["3D"])
|
||||
IsGame3D = true;
|
||||
|
||||
if (game["BIOS"])
|
||||
{
|
||||
Port3E = 0xF7; // Disable cartridge, enable BIOS rom
|
||||
|
@ -251,16 +255,16 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
PSG.StereoPanning = Settings.ForceStereoSeparation ? ForceStereoByte : (byte) 0xFF;
|
||||
|
||||
if (Cpu.Debug && Cpu.Logger == null) // TODO, lets not do this on each frame. But lets refactor CoreComm/CoreComm first
|
||||
{
|
||||
Cpu.Logger = (s) => CoreComm.Tracer.Put(s);
|
||||
}
|
||||
|
||||
if (IsGameGear == false)
|
||||
{
|
||||
Cpu.NonMaskableInterrupt = Controller["Pause"];
|
||||
}
|
||||
|
||||
Vdp.ExecFrame(render);
|
||||
if (IsGame3D && Settings.Fix3D)
|
||||
Vdp.ExecFrame((Frame & 1) == 0);
|
||||
else
|
||||
Vdp.ExecFrame(render);
|
||||
|
||||
PSG.EndFrame(Cpu.TotalExecutedCycles);
|
||||
if (lagged)
|
||||
{
|
||||
|
@ -504,6 +508,7 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
{
|
||||
public bool ForceStereoSeparation = false;
|
||||
public bool SpriteLimit = false;
|
||||
public bool Fix3D = true;
|
||||
// GG settings
|
||||
public bool ShowClippedRegions = false;
|
||||
public bool HighlightActiveDisplayRegion = false;
|
||||
|
|
|
@ -147,8 +147,8 @@ DA3A2F57 Black Belt SMS
|
|||
8D39B5E7 F Black Belt (2x overdump) (h) [A] SMS
|
||||
8231C5E6 F Black Belt (2x overdump) (h) [B] SMS
|
||||
CE8DAE8D F Black Belt (2x overdump) (h) [C] SMS
|
||||
8ECD201C Blade Eagle 3-D SMS FM
|
||||
FBF96C81 T Blade Eagle 3-D (BR) SMS FM
|
||||
8ECD201C Blade Eagle 3-D SMS FM;3D
|
||||
FBF96C81 T Blade Eagle 3-D (BR) SMS FM;3D
|
||||
2734A9B4 D blockhead SMS proppy & tet; v1.00
|
||||
6994770D D blockhead [beta 1] SMS proppy & tet; v1.00 14/7/2004
|
||||
79A1D911 D blockhead [beta 2] SMS proppy & tet; v1.00 26/9/2004
|
||||
|
@ -585,8 +585,8 @@ B936F761 H Master Zelda [RHW] SMS Teddy Boy
|
|||
D1B9112E O Masters Of Combat (2x overdump) SMS
|
||||
22F2C541 B Masters of Combat (2 bad bytes) SMS
|
||||
6AD0B71D V Masters of Combat (bad - 10KB missing) SMS
|
||||
31B8040B Maze Hunter 3-D SMS FM
|
||||
CD16DB0A V Maze Hunter 3-D (bad - 54KB missing) SMS FM
|
||||
31B8040B Maze Hunter 3-D SMS FM;3D
|
||||
CD16DB0A V Maze Hunter 3-D (bad - 54KB missing) SMS FM;3D
|
||||
871562B0 Maze Walker (JP) SMS
|
||||
4FCC473B D Mega Drive 6-Button Controller Test SMS Charles MacDonald
|
||||
9EF355D7 D MegaMania SMS SMS Haroldo Pinheiro
|
||||
|
@ -610,8 +610,8 @@ EBC2BFA1 B Miracle Warriors - Seal of the Dark Lord (bad byte) SMS FM
|
|||
41BF3D56 F Miracle Warriors - Seal of the Dark Lord (f) [B] SMS F FM
|
||||
F14A8546 F Miracle Warriors - Seal of the Dark Lord (h) (f) SMS FM
|
||||
ED9FD67D T Miracle Warriors - Seal Of The Dark Lord (DE) SMS Azelistic; v0.95b FM
|
||||
FBE5CFBB Missile Defense 3-D SMS
|
||||
E79BB689 Missile Defense 3-D [BIOS] SMS
|
||||
FBE5CFBB Missile Defense 3-D SMS 3D
|
||||
E79BB689 Missile Defense 3-D [BIOS] SMS 3D
|
||||
458390E7 H Monica 3 [A] SMS Wonder Boy in Monster World
|
||||
693C63D5 H Monica 3 [B] SMS Wonder Boy in Monster World
|
||||
01D67C0B Monica no Castelo do Dragao (BR) SMS FM
|
||||
|
@ -671,8 +671,8 @@ CA99CEFA F Out Run (bad byte) (h) [B] SMS FM;WhenFMDisablePSG
|
|||
D70BBD06 B Out Run (bad byte) [B] SMS FM;WhenFMDisablePSG
|
||||
DC0860E7 F Out Run (f) SMS F FM;WhenFMDisablePSG
|
||||
481BAB2E F Out Run (h) SMS FM;WhenFMDisablePSG
|
||||
D6F43DDA Out Run 3-D SMS FM
|
||||
77936A83 V Out Run 3-D (corrupted) SMS First 12KB is data from Out Run Europa [GG] FM
|
||||
D6F43DDA Out Run 3-D SMS FM;3D
|
||||
77936A83 V Out Run 3-D (corrupted) SMS First 12KB is data from Out Run Europa [GG] FM;3D
|
||||
3932ADBC Out Run Europa SMS
|
||||
F037EC00 Out Run Europa [SMS-GG] SMS
|
||||
2AA12D7E B Out Run Europa [SMS-GG] (four bad bytes) SMS
|
||||
|
@ -748,7 +748,7 @@ BDFB09F6 H Pop Breaker (JP) [GG2SMS] [v1.10] SMS Game Gear Pop Breaker (JP) by C
|
|||
C7A1FDEF Populous SMS
|
||||
C7C906EA O Populous (f) SMS
|
||||
4A9B4ECB F Populous (h) (f) SMS
|
||||
ABD48AD2 Poseidon Wars 3-D SMS FM
|
||||
ABD48AD2 Poseidon Wars 3-D SMS FM;3D
|
||||
4077EFD9 Power Strike SMS FM;OverclockSafe
|
||||
F94616C4 F Power Strike (h) SMS FM;OverclockSafe
|
||||
514E7ABE O Power Strike (2x overdump) SMS FM;OverclockSafe
|
||||
|
@ -969,8 +969,8 @@ CA1D3752 Space Harrier [50 Hz] SMS
|
|||
47BD2006 V Space Harrier [50 Hz] (bad dump) SMS
|
||||
D78F44AE F Space Harrier [50 Hz] (h) [A] SMS
|
||||
F63E2DD4 F Space Harrier [50 Hz] (h) [B] SMS
|
||||
6BD5C2BF Space Harrier 3-D SMS FM
|
||||
156948F9 Space Harrier 3D (JP) SMS FM
|
||||
6BD5C2BF Space Harrier 3-D SMS FM;3D
|
||||
156948F9 Space Harrier 3D (JP) SMS FM;3D
|
||||
33FDEA7A D SpaceOddity v.00 SMS Proppy & Tet
|
||||
5ED9495B D SpaceOddity v.01 SMS Proppy & Tet
|
||||
9039DB33 D SpaceOddity v.02 SMS Proppy & Tet
|
||||
|
@ -1238,8 +1238,8 @@ CE61185D D Z88DK Sound Test [B] SMS Haroldo O. Pinheiro
|
|||
4A444668 D Z88DK Test [B] SMS Haroldo O. Pinheiro
|
||||
B20AD645 D Z88DK Test [C] SMS Haroldo O. Pinheiro
|
||||
CCC71D75 D Z88DK Test [D] SMS Haroldo O. Pinheiro
|
||||
A3EF13CB Zaxxon 3-D SMS FM
|
||||
bba74147 Zaxxon 3-D [Proto] SMS FM
|
||||
A3EF13CB Zaxxon 3-D SMS FM;3D
|
||||
bba74147 Zaxxon 3-D [Proto] SMS FM;3D
|
||||
60C19645 Zillion SMS
|
||||
5718762C Zillion (US) SMS
|
||||
EE298F31 F Zillion (US) (h) SMS
|
||||
|
|
Loading…
Reference in New Issue