GBHawk: fix linking in perfect dark
This commit is contained in:
parent
45dec23352
commit
5d6cf748bf
|
@ -16,6 +16,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
public byte coming_in;
|
public byte coming_in;
|
||||||
public bool can_pulse;
|
public bool can_pulse;
|
||||||
public bool IRQ_block;
|
public bool IRQ_block;
|
||||||
|
public bool tranfser_complete_flag;
|
||||||
|
|
||||||
public byte ReadReg(int addr)
|
public byte ReadReg(int addr)
|
||||||
{
|
{
|
||||||
|
@ -41,9 +42,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
case 0xFF02:
|
case 0xFF02:
|
||||||
if ((value & 0x1) == 1)
|
if ((value & 0x1) == 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
serial_bits = 8;
|
|
||||||
|
|
||||||
if (((value & 2) > 0) && Core.GBC_compat)
|
if (((value & 2) > 0) && Core.GBC_compat)
|
||||||
{
|
{
|
||||||
clk_rate = 16;
|
clk_rate = 16;
|
||||||
|
@ -69,14 +67,21 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
can_pulse = true;
|
|
||||||
|
if (tranfser_complete_flag)
|
||||||
|
{
|
||||||
|
can_pulse = true;
|
||||||
|
serial_bits = 8;
|
||||||
|
tranfser_complete_flag = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
serial_bits = 8;
|
serial_bits = 8;
|
||||||
clk_rate = -1;
|
clk_rate = -1;
|
||||||
serial_clock = clk_rate;
|
serial_clock = clk_rate;
|
||||||
can_pulse = false;
|
can_pulse = false;
|
||||||
|
tranfser_complete_flag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Core.GBC_compat)
|
if (Core.GBC_compat)
|
||||||
|
@ -112,6 +117,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
if (serial_bits == 0)
|
if (serial_bits == 0)
|
||||||
{
|
{
|
||||||
serial_control &= 0x7F;
|
serial_control &= 0x7F;
|
||||||
|
tranfser_complete_flag = true;
|
||||||
|
|
||||||
if (Core.REG_FFFF.Bit(3)) { Core.cpu.FlagI = true; }
|
if (Core.REG_FFFF.Bit(3)) { Core.cpu.FlagI = true; }
|
||||||
Core.REG_FF0F |= 0x08;
|
Core.REG_FF0F |= 0x08;
|
||||||
|
@ -139,6 +145,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
coming_in = 1;
|
coming_in = 1;
|
||||||
can_pulse = false;
|
can_pulse = false;
|
||||||
IRQ_block = false;
|
IRQ_block = false;
|
||||||
|
tranfser_complete_flag = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SyncState(Serializer ser)
|
public void SyncState(Serializer ser)
|
||||||
|
@ -152,6 +159,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
||||||
ser.Sync(nameof(coming_in), ref coming_in);
|
ser.Sync(nameof(coming_in), ref coming_in);
|
||||||
ser.Sync(nameof(can_pulse), ref can_pulse);
|
ser.Sync(nameof(can_pulse), ref can_pulse);
|
||||||
ser.Sync(nameof(IRQ_block), ref IRQ_block);
|
ser.Sync(nameof(IRQ_block), ref IRQ_block);
|
||||||
|
ser.Sync(nameof(tranfser_complete_flag), ref tranfser_complete_flag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue