GB: Fixed serial control behavior (bit 7 is cleared after transfer)
Fixes freeze in Renju Club
This commit is contained in:
parent
cf745e1faf
commit
d0ec40be37
1 changed files with 5 additions and 0 deletions
|
@ -86,6 +86,11 @@ void GbMemoryManager::Exec()
|
|||
if(_state.SerialBitCount && (_state.CycleCount & 0x1FF) == 0) {
|
||||
_state.SerialData = (_state.SerialData << 1) | 0x01;
|
||||
if(--_state.SerialBitCount == 0) {
|
||||
//"It will be notified that the transfer is complete in two ways:
|
||||
//SC's Bit 7 will be cleared"
|
||||
_state.SerialControl &= 0x7F;
|
||||
|
||||
//"and the Serial Interrupt handler will be called"
|
||||
RequestIrq(GbIrqSource::Serial);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue