diff --git a/Machines/Apple/AppleIIgs/AppleIIgs.cpp b/Machines/Apple/AppleIIgs/AppleIIgs.cpp index d98b5f9a8..7e374f565 100644 --- a/Machines/Apple/AppleIIgs/AppleIIgs.cpp +++ b/Machines/Apple/AppleIIgs/AppleIIgs.cpp @@ -232,6 +232,10 @@ class ConcreteMachine: case Write(0xc032): video_->clear_interrupts(*value); break; + case Read(0xc032): + // TODO: this seems to be undocumented, but used. What value is likely? + *value = 0xff; + break; // Shadow register. case Read(0xc035): diff --git a/Machines/Apple/AppleIIgs/Video.cpp b/Machines/Apple/AppleIIgs/Video.cpp index da1ac9d14..bd2a36c3c 100644 --- a/Machines/Apple/AppleIIgs/Video.cpp +++ b/Machines/Apple/AppleIIgs/Video.cpp @@ -440,8 +440,8 @@ Video::Counters Video::get_counters(Cycles offset) { cycles_into_frame = (cycles_into_frame + 25 - start_of_pixels)%(Lines * CyclesPerLine); // Break it down. - const auto cycles_into_line = cycles_into_frame / CyclesPerLine; - const auto lines_into_frame = (cycles_into_frame % CyclesPerLine) + 0x100; + const auto cycles_into_line = cycles_into_frame / (CyclesPerLine * CyclesPerTick); + const auto lines_into_frame = (cycles_into_frame % (CyclesPerLine * CyclesPerTick)) + 0x100; return Counters( lines_into_frame - ((lines_into_frame / 0x200) * 0x106), // TODO: this assumes NTSC.