Merge branch 'master' of https://github.com/TASVideos/bizhawk into Release
This commit is contained in:
commit
24c98ab5ae
|
@ -270,7 +270,7 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
string discHash = new DiscHasher(disc).Calculate_PSX_BizIDHash().ToString("X8");
|
string discHash = new DiscHasher(disc).Calculate_PSX_BizIDHash().ToString("X8");
|
||||||
game = Database.CheckDatabase(discHash);
|
game = Database.CheckDatabase(discHash);
|
||||||
if (game.IsRomStatusBad() || game.Status == RomStatus.NotInDatabase)
|
if (game == null || game.IsRomStatusBad() || game.Status == RomStatus.NotInDatabase)
|
||||||
sw.WriteLine("Disc could not be identified as known-good. Look for a better rip.");
|
sw.WriteLine("Disc could not be identified as known-good. Look for a better rip.");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -272,6 +272,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
||||||
case "sha1:E8BC7E6BAE7032D571152F6834516535C34C68F0": // Bill and Ted's Excellent Adventure bad dump
|
case "sha1:E8BC7E6BAE7032D571152F6834516535C34C68F0": // Bill and Ted's Excellent Adventure bad dump
|
||||||
case "sha1:401023BAE92A38B89F7D0C2E0F023E35F1FFEEFD": // Bill and Ted's Excellent Adventure bad dump
|
case "sha1:401023BAE92A38B89F7D0C2E0F023E35F1FFEEFD": // Bill and Ted's Excellent Adventure bad dump
|
||||||
case "sha1:6270F9FF2BD0B32A23A45985D9D7FB2793E1CED3": // Bill and Ted's Excellent Adventure overdump dump
|
case "sha1:6270F9FF2BD0B32A23A45985D9D7FB2793E1CED3": // Bill and Ted's Excellent Adventure overdump dump
|
||||||
|
case "sha1:5E3C02A3A5F6CD4F2442311630F1C44A8E9DC7E2": // Paperboy
|
||||||
throw new UnsupportedGameException("Game known to not be playable in this core");
|
throw new UnsupportedGameException("Game known to not be playable in this core");
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -322,7 +322,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
ret.readcallback = cd_callback_handle = new LibGPGX.cd_read_cb(CDRead);
|
ret.readcallback = cd_callback_handle = new LibGPGX.cd_read_cb(CDRead);
|
||||||
|
|
||||||
var ses = CD.Session1;
|
var ses = CD.Session1;
|
||||||
int ntrack = ses.Tracks.Count;
|
int ntrack = ses.InformationTrackCount;
|
||||||
|
|
||||||
// bet you a dollar this is all wrong
|
// bet you a dollar this is all wrong
|
||||||
//zero 07-jul-2015 - throws a dollar in the pile, since he probably messed it up worse
|
//zero 07-jul-2015 - throws a dollar in the pile, since he probably messed it up worse
|
||||||
|
@ -330,8 +330,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
||||||
{
|
{
|
||||||
if (i < ntrack)
|
if (i < ntrack)
|
||||||
{
|
{
|
||||||
ret.tracks[i].start = ses.Tracks[i].LBA;
|
ret.tracks[i].start = ses.Tracks[i + 1].LBA;
|
||||||
ret.tracks[i].end = ses.Tracks[i + 1].LBA;
|
ret.tracks[i].end = ses.Tracks[i + 2].LBA;
|
||||||
if (i == ntrack - 1)
|
if (i == ntrack - 1)
|
||||||
{
|
{
|
||||||
ret.end = ret.tracks[i].end;
|
ret.end = ret.tracks[i].end;
|
||||||
|
|
|
@ -100,7 +100,9 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
ControllerDefinition.FloatControls.Add("Disc Select");
|
ControllerDefinition.FloatControls.Add("Disc Select");
|
||||||
|
|
||||||
ControllerDefinition.FloatRanges.Add(
|
ControllerDefinition.FloatRanges.Add(
|
||||||
new[] {-1f,-1f,-1f} //this is carefully chosen so that we end up with a -1 disc by default (indicating that it's never been set)
|
//new[] {-1f,-1f,-1f} //this is carefully chosen so that we end up with a -1 disc by default (indicating that it's never been set)
|
||||||
|
//hmm.. I don't see why this wouldn't work
|
||||||
|
new[] {0f,1f,1f}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -586,6 +588,10 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
else
|
else
|
||||||
OctoshockDll.shock_SetTraceCallback(psx, IntPtr.Zero, null);
|
OctoshockDll.shock_SetTraceCallback(psx, IntPtr.Zero, null);
|
||||||
|
|
||||||
|
//apply soft reset if needed
|
||||||
|
if (Controller["Reset"])
|
||||||
|
OctoshockDll.shock_SoftReset(psx);
|
||||||
|
|
||||||
//------------------------
|
//------------------------
|
||||||
OctoshockDll.shock_Step(psx, OctoshockDll.eShockStep.Frame);
|
OctoshockDll.shock_Step(psx, OctoshockDll.eShockStep.Frame);
|
||||||
//------------------------
|
//------------------------
|
||||||
|
|
|
@ -202,6 +202,9 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
||||||
[DllImport(dd, CallingConvention = cc)]
|
[DllImport(dd, CallingConvention = cc)]
|
||||||
public static extern int shock_PowerOn(IntPtr psx);
|
public static extern int shock_PowerOn(IntPtr psx);
|
||||||
|
|
||||||
|
[DllImport(dd, CallingConvention = cc)]
|
||||||
|
public static extern int shock_SoftReset(IntPtr psx);
|
||||||
|
|
||||||
[DllImport(dd, CallingConvention = cc)]
|
[DllImport(dd, CallingConvention = cc)]
|
||||||
public static extern int shock_PowerOff(IntPtr psx);
|
public static extern int shock_PowerOff(IntPtr psx);
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,8 @@ namespace BizHawk.Emulation.DiscSystem
|
||||||
session.Tracks.Add(new DiscStructure.Track()
|
session.Tracks.Add(new DiscStructure.Track()
|
||||||
{
|
{
|
||||||
Number = 0,
|
Number = 0,
|
||||||
Control = EControlQ.None, //TODO - not accurate (take from track 1?)
|
Control = EControlQ.None, //we'll set this later
|
||||||
LBA = -150 //TODO - not accurate
|
LBA = -new Timestamp(99,99,99).Sector //obvious garbage
|
||||||
});
|
});
|
||||||
|
|
||||||
int ntracks = TOCRaw.LastRecordedTrackNumber - TOCRaw.FirstRecordedTrackNumber + 1;
|
int ntracks = TOCRaw.LastRecordedTrackNumber - TOCRaw.FirstRecordedTrackNumber + 1;
|
||||||
|
@ -63,7 +63,9 @@ namespace BizHawk.Emulation.DiscSystem
|
||||||
session.Tracks.Add(new DiscStructure.Track()
|
session.Tracks.Add(new DiscStructure.Track()
|
||||||
{
|
{
|
||||||
Number = 0xA0, //right?
|
Number = 0xA0, //right?
|
||||||
Control = EControlQ.None, //TODO - not accurate (take from track 1?)
|
//kind of a guess, but not completely
|
||||||
|
Control = session.Tracks[session.Tracks.Count -1 ].Control,
|
||||||
|
Mode = session.Tracks[session.Tracks.Count - 1].Mode,
|
||||||
LBA = TOCRaw.LeadoutLBA.Sector
|
LBA = TOCRaw.LeadoutLBA.Sector
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -72,6 +74,11 @@ namespace BizHawk.Emulation.DiscSystem
|
||||||
{
|
{
|
||||||
session.Tracks[i].NextTrack = session.Tracks[i + 1];
|
session.Tracks[i].NextTrack = session.Tracks[i + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//fix lead-in track type
|
||||||
|
//guesses:
|
||||||
|
session.Tracks[0].Control = session.Tracks[1].Control;
|
||||||
|
session.Tracks[0].Mode = session.Tracks[1].Mode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Binary file not shown.
|
@ -128,6 +128,9 @@ sha1:32D71DD6C5A8D78A918FE1B9D6D6C4A570D9652D Oeka Kids - Anpanman no Hiragana
|
||||||
;it works, so don't laugh
|
;it works, so don't laugh
|
||||||
sha1:203523818A348361584CDEBE47AEB860808757FC U Jurassic Boy 2 (Sachen) NES board=NES-TR1ROM;VRAM=8
|
sha1:203523818A348361584CDEBE47AEB860808757FC U Jurassic Boy 2 (Sachen) NES board=NES-TR1ROM;VRAM=8
|
||||||
|
|
||||||
|
;wrong mirroring, no bootgod entry
|
||||||
|
sha1:C1D82F6BE8AF524F951FC7C9D41604E59F9FE92A G Dragon Wars (USA) (Proto) NES board=MAPPER004;PAD_H=0;PAD_V=0
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
;;;;;;;;;;;;;;;;;;;-----------------------------------------------------------------------
|
||||||
;mmc3 homebrews that need chip specification
|
;mmc3 homebrews that need chip specification
|
||||||
sha1:35C157A921156E47FD3F6573D150F54108D0EDFC Blargg's 5.MMC3_rev_A.nes NES board=MAPPER004;MMC3=MMC3A
|
sha1:35C157A921156E47FD3F6573D150F54108D0EDFC Blargg's 5.MMC3_rev_A.nes NES board=MAPPER004;MMC3=MMC3A
|
||||||
|
|
|
@ -1342,6 +1342,16 @@ EW_EXPORT s32 shock_PowerOn(void* psx)
|
||||||
return SHOCK_OK;
|
return SHOCK_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Triggers a soft reset immediately. Returns SHOCK_NOCANDO if console is powered off.
|
||||||
|
EW_EXPORT s32 shock_SoftReset(void *psx)
|
||||||
|
{
|
||||||
|
if (!s_ShockState.power) return SHOCK_NOCANDO;
|
||||||
|
|
||||||
|
PSX_Power(false);
|
||||||
|
|
||||||
|
return SHOCK_OK;
|
||||||
|
}
|
||||||
|
|
||||||
//Sets the power to OFF. It is an error to turn an already-off console OFF again
|
//Sets the power to OFF. It is an error to turn an already-off console OFF again
|
||||||
EW_EXPORT s32 shock_PowerOff(void* psx)
|
EW_EXPORT s32 shock_PowerOff(void* psx)
|
||||||
{
|
{
|
||||||
|
|
|
@ -344,6 +344,9 @@ EW_EXPORT s32 shock_MountEXE(void* psx, void* exebuf, s32 size);
|
||||||
//Sets the power to ON. Returns SHOCK_NOCANDO if already on.
|
//Sets the power to ON. Returns SHOCK_NOCANDO if already on.
|
||||||
EW_EXPORT s32 shock_PowerOn(void* psx);
|
EW_EXPORT s32 shock_PowerOn(void* psx);
|
||||||
|
|
||||||
|
//Triggers a soft reset immediately. Returns SHOCK_NOCANDO if console is powered off.
|
||||||
|
EW_EXPORT s32 shock_SoftReset(void* psx);
|
||||||
|
|
||||||
//Sets the power to OFF. Returns SHOCK_NOCANDO if already off.
|
//Sets the power to OFF. Returns SHOCK_NOCANDO if already off.
|
||||||
EW_EXPORT s32 shock_PowerOff(void* psx);
|
EW_EXPORT s32 shock_PowerOff(void* psx);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue