Optimizations to control reading

This commit is contained in:
Sergio Martin 2024-01-21 19:22:28 +01:00
parent 8886aad9a6
commit 86470e378c
2 changed files with 5 additions and 5 deletions

View File

@ -871,10 +871,10 @@ size_t serializeLiteState(uint8_t *buffer) const
// to do: to aid with recording, doesn't emulate transparent latch,
// so a game that held strobe at 1 and read $4016 or $4017 would not get
// the current A status as occurs on a NES
unsigned long result = joypad.joypad_latches[addr & 1];
if (!(joypad.w4016 & 1))
joypad.joypad_latches[addr & 1] = (result >> 1) | 0x80000000;
return result & 1;
if (joypad.w4016 & 1) return 0;
const uint8_t result = joypad.joypad_latches[addr & 1] & 1;
joypad.joypad_latches[addr & 1] >>= 1;
return result;
}
if (addr == Apu::status_addr)

View File

@ -3,7 +3,7 @@
"Expected ROM SHA1": "8C68582BDAA32FBC8C7CD858991D4E00D3B1569C",
"Initial State File": "",
"Sequence File": "rcProAmII.race1.sol",
"Disable State Blocks": [ ],
"Disable State Blocks": [ "SRAM", "NTAB", "SPRT", "CTRL", "APUR" ],
"Controller 1 Type": "FourScore1",
"Controller 2 Type": "FourScore2"
}