aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/simon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/simon/simon.cpp')
-rw-r--r--engines/simon/simon.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp
index 73a7ed0049..7514f1cb3c 100644
--- a/engines/simon/simon.cpp
+++ b/engines/simon/simon.cpp
@@ -2795,9 +2795,17 @@ void SimonEngine::timer_proc1() {
if (!(_lockWord & 0x10)) {
if (getGameType() == GType_FF) {
_syncFlag2 ^= 1;
-
- if (!_syncFlag2)
+ if (!_syncFlag2) {
processVgaEvents();
+ } else {
+ // Double speed on Oracle
+ if (getBitFlag(99)) {
+ processVgaEvents();
+ } else if (_scrollCount == 0) {
+ _lockWord &= ~2;
+ return;
+ }
+ }
} else {
processVgaEvents();
processVgaEvents();