mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-24 12:30:17 +00:00
The vertical blank flag now works again.
This commit is contained in:
parent
a1e63e8320
commit
b8708b805c
@ -217,7 +217,7 @@ void Machine::output_pixels(unsigned int count)
|
||||
{
|
||||
OutputState state;
|
||||
|
||||
// determine which output will start in four cycles
|
||||
// determine which output state will be active in four cycles from now
|
||||
switch(_horizontalTimer >> 2)
|
||||
{
|
||||
case 56: case 0: case 1: case 2: state = OutputState::Blank; break;
|
||||
@ -235,6 +235,11 @@ void Machine::output_pixels(unsigned int count)
|
||||
state = (state = OutputState::Sync) ? OutputState::Blank : OutputState::Sync;
|
||||
}
|
||||
|
||||
// honour the vertical blank flag
|
||||
if(_vBlankEnabled && state == OutputState::Pixel) {
|
||||
state = OutputState::Blank;
|
||||
}
|
||||
|
||||
// write that state as the one that will become effective in four clocks
|
||||
_upcomingEvents[(_upcomingEventsPointer+4)%number_of_upcoming_events].state = state;
|
||||
|
||||
@ -352,13 +357,6 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin
|
||||
|
||||
output_pixels(cycles_run_for * 3);
|
||||
|
||||
// if(_hMoveWillCount) {
|
||||
// _hMoveCounter = 0x0f;
|
||||
// _hMoveFlags = 0x1f;
|
||||
// _hMoveIsCounting = true;
|
||||
// _hMoveWillCount = false;
|
||||
// }
|
||||
|
||||
if(operation != CPU6502::BusOperation::Ready) {
|
||||
|
||||
// check for a paging access
|
||||
|
Loading…
Reference in New Issue
Block a user