diff --git a/Machines/Apple/AppleII/AppleII.cpp b/Machines/Apple/AppleII/AppleII.cpp index 795f1e50a..4ca222a3d 100644 --- a/Machines/Apple/AppleII/AppleII.cpp +++ b/Machines/Apple/AppleII/AppleII.cpp @@ -742,6 +742,8 @@ template // actor, but this will actually be the result most of the time so it's not // too terrible. if(isReadOperation(operation) && address != 0xc000) { + // Ensure any enqueued video changes are applied before grabbing the + // vapour value. if(video_.has_deferred_actions()) { update_video(); } diff --git a/Machines/Apple/AppleII/Video.hpp b/Machines/Apple/AppleII/Video.hpp index ce0814a3b..fe6ce1504 100644 --- a/Machines/Apple/AppleII/Video.hpp +++ b/Machines/Apple/AppleII/Video.hpp @@ -123,7 +123,8 @@ template class Video: public VideoBase { bus_handler_(bus_handler) {} /*! - Obtains the last value the video read prior to time now+offset. + Obtains the last value the video read prior to time now+offset, according to the *current* + video mode, i.e. not allowing for any changes still enqueued. */ uint8_t get_last_read_value(Cycles offset) { // Rules of generation: