Merge branch 'master' of https://github.com/TASVideos/BizHawk
This commit is contained in:
commit
a0b668ddd3
|
@ -8,7 +8,7 @@ libpath=""
|
|||
if [ "$(command -v lsb_release)" ]; then
|
||||
case "$(lsb_release -i | cut -c17- | tr -d "\n")" in
|
||||
"Arch"|"ManjaroLinux") libpath="/usr/lib/wine";;
|
||||
"Ubuntu"|"LinuxMint") libpath="/usr/lib/x86_64-linux-gnu/wine";;
|
||||
"Debian"|"Ubuntu"|"LinuxMint") libpath="/usr/lib/x86_64-linux-gnu/wine";;
|
||||
esac
|
||||
fi
|
||||
if [ -z "$libpath" ]; then
|
||||
|
|
|
@ -3589,30 +3589,12 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
try
|
||||
{
|
||||
bool deterministic;
|
||||
|
||||
if (args.Deterministic == null)
|
||||
{
|
||||
// force deterministic in this case
|
||||
// this is usually null for most cores
|
||||
// previously this was getting set to false if a movie was not queued for recording - surely that can't be good..
|
||||
deterministic = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// a value was actually supplied somehow - use this
|
||||
deterministic = args.Deterministic.Value;
|
||||
}
|
||||
|
||||
if (Global.MovieSession.QueuedMovie != null)
|
||||
{
|
||||
// movies should require deterministic emulation in ALL cases
|
||||
// if the core is managing its own DE through SyncSettings a 'deterministic' bool should be passed into the core's constructor
|
||||
// it is then up to the core itself to override its own local DeterministicEmulation setting
|
||||
deterministic = true;
|
||||
}
|
||||
|
||||
{
|
||||
// movies should require deterministic emulation in ALL cases
|
||||
// if the core is managing its own DE through SyncSettings a 'deterministic' bool can be passed into the core's constructor
|
||||
// it is then up to the core itself to override its own local DeterministicEmulation setting
|
||||
bool deterministic = args.Deterministic ?? Global.MovieSession.QueuedMovie != null;
|
||||
|
||||
if (!GlobalWin.Tools.AskSave())
|
||||
{
|
||||
return false;
|
||||
|
|
|
@ -100,7 +100,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
R.do_single_step();
|
||||
|
||||
// the signal to shift out a bit is when serial_clock = 1
|
||||
if ((L.serialport.serial_clock == 1) || (L.serialport.serial_clock == 2))
|
||||
if (((L.serialport.serial_clock == 1) || (L.serialport.serial_clock == 2)) && !do_r_next)
|
||||
{
|
||||
if (LinkConnected)
|
||||
{
|
||||
|
@ -118,6 +118,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
}
|
||||
else if ((R.serialport.serial_clock == 1) || (R.serialport.serial_clock == 2))
|
||||
{
|
||||
do_r_next = false;
|
||||
|
||||
if (LinkConnected)
|
||||
{
|
||||
R.serialport.send_external_bit((byte)(R.serialport.serial_data & 0x80));
|
||||
|
@ -131,6 +133,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
|
||||
R.serialport.coming_in = L.serialport.going_out;
|
||||
}
|
||||
|
||||
if (R.serialport.serial_clock == 2) { do_r_next = true; }
|
||||
}
|
||||
else
|
||||
{
|
||||
do_r_next = false;
|
||||
}
|
||||
|
||||
// if we hit a frame boundary, update video
|
||||
|
|
|
@ -59,6 +59,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
ser.Sync("IsLag", ref _islag);
|
||||
ser.Sync("_cableconnected", ref _cableconnected);
|
||||
ser.Sync("_cablediscosignal", ref _cablediscosignal);
|
||||
ser.Sync("do_r_next", ref do_r_next);
|
||||
_controllerDeck.SyncState(ser);
|
||||
|
||||
LinkConnected = _cableconnected;
|
||||
|
|
|
@ -30,6 +30,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
// if true, the link cable toggle signal is currently asserted
|
||||
private bool _cablediscosignal = false;
|
||||
|
||||
private bool do_r_next = false;
|
||||
|
||||
//[CoreConstructor("GB", "GBC")]
|
||||
public GBHawkLink(CoreComm comm, GameInfo game_L, byte[] rom_L, GameInfo game_R, byte[] rom_R, /*string gameDbFn,*/ object settings, object syncSettings)
|
||||
{
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue