From 7ff4cea6c7fb2e133ab9a233ae6fb1fadf9a1788 Mon Sep 17 00:00:00 2001 From: Asnivor Date: Mon, 20 Aug 2018 17:24:14 +0100 Subject: [PATCH] ZXHawk: +3/+2a writes to 0x1ffd and 0x7ffd decoded more faithfully --- .../Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs | 4 ++-- .../Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs index 6809731766..9e97b56867 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs @@ -75,7 +75,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum AYDevice.WritePort(port, value); // port 0x7ffd - hardware should only respond when bits 1 & 15 are reset and bit 14 is set - if (port == 0x7ffd) + if (!portBits[1] && !portBits[15] && portBits[14]) { if (!PagingDisabled) { @@ -95,7 +95,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum } } // port 0x1ffd - hardware should only respond when bits 1, 13, 14 & 15 are reset and bit 12 is set - if (port == 0x1ffd) + if (!portBits[1] && portBits[12] && !portBits[13] && !portBits[14] && !portBits[15]) { if (!PagingDisabled) { diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs index 5e13f828ca..e9c8494fff 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs @@ -81,7 +81,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum UPDDiskDevice.WritePort(port, value); // port 0x7ffd - hardware should only respond when bits 1 & 15 are reset and bit 14 is set - if (port == 0x7ffd) + if (!portBits[1] && !portBits[15] && portBits[14]) { if (!PagingDisabled) { @@ -101,7 +101,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum } } // port 0x1ffd - hardware should only respond when bits 1, 13, 14 & 15 are reset and bit 12 is set - if (port == 0x1ffd) + if (!portBits[1] && portBits[12] && !portBits[13] && !portBits[14] && !portBits[15]) { if (!PagingDisabled) {