MSVC: Fix for compiler bug in x86 (did not generate valid assembly)
This commit is contained in:
parent
f3a0eb9c5c
commit
731f86e846
1 changed files with 8 additions and 5 deletions
|
@ -136,12 +136,15 @@ uint8_t InternalRegisters::Read(uint16_t addr)
|
|||
case 0x4216: return (uint8_t)_multOrRemainderResult;
|
||||
case 0x4217: return (uint8_t)(_multOrRemainderResult >> 8);
|
||||
|
||||
case 0x4218: case 0x421A: case 0x421C: case 0x421E:
|
||||
return (uint8_t)_controllerData[((addr & 0x0E) - 8) >> 1];
|
||||
case 0x4218: return (uint8_t)_controllerData[0];
|
||||
case 0x4219: return (uint8_t)(_controllerData[0] >> 8);
|
||||
case 0x421A: return (uint8_t)_controllerData[1];
|
||||
case 0x421B: return (uint8_t)(_controllerData[1] >> 8);
|
||||
case 0x421C: return (uint8_t)_controllerData[2];
|
||||
case 0x421D: return (uint8_t)(_controllerData[2] >> 8);
|
||||
case 0x421E: return (uint8_t)_controllerData[3];
|
||||
case 0x421F: return (uint8_t)(_controllerData[3] >> 8);
|
||||
|
||||
case 0x4219: case 0x421B: case 0x421D: case 0x421F:
|
||||
return (uint8_t)(_controllerData[((addr & 0x0E) - 8) >> 1] >> 8);
|
||||
|
||||
default:
|
||||
MessageManager::Log("[Debug] Unimplemented register read: " + HexUtilities::ToHex(addr));
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue