diff --git a/BizHawk.Emulation/Computers/Commodore64/C64.MotherboardInterface.cs b/BizHawk.Emulation/Computers/Commodore64/C64.MotherboardInterface.cs index 31ff65c49f..46613f9d6e 100644 --- a/BizHawk.Emulation/Computers/Commodore64/C64.MotherboardInterface.cs +++ b/BizHawk.Emulation/Computers/Commodore64/C64.MotherboardInterface.cs @@ -74,7 +74,10 @@ namespace BizHawk.Emulation.Computers.Commodore64 byte Cpu_ReadPort() { - return 0xFF; + byte data = 0x1F; + if (!cassPort.Sense) + data &= 0xEF; + return data; } bool Cpu_ReadRDY() diff --git a/BizHawk.Emulation/Computers/Commodore64/MOS/MOS6510.cs b/BizHawk.Emulation/Computers/Commodore64/MOS/MOS6510.cs index dc4cac9c9e..ce170f1349 100644 --- a/BizHawk.Emulation/Computers/Commodore64/MOS/MOS6510.cs +++ b/BizHawk.Emulation/Computers/Commodore64/MOS/MOS6510.cs @@ -70,7 +70,7 @@ namespace BizHawk.Emulation.Computers.Commodore64.MOS // configure data port defaults port = new LatchedPort(); port.Direction = 0x00; - port.Latch = 0x1F; + port.Latch = 0xFF; // NMI is high on startup (todo: verify) pinNMILast = true; @@ -152,7 +152,7 @@ namespace BizHawk.Emulation.Computers.Commodore64.MOS { get { - return port.ReadOutput(); + return port.ReadInput(ReadPort()); } set {