aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--simon/simon.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 9551e1a03a..f0b84785c7 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -2037,9 +2037,9 @@ void SimonState::set_video_mode(uint mode, uint vga_res_id)
_lock_word |= 0x20;
-// while ((*(volatile uint16*)&_lock_word) & 2) {
-// delay(10);
-// }
+ while ((*(volatile uint16*)&_lock_word) & 2) {
+ delay(10);
+ }
unlock();
@@ -2659,27 +2659,23 @@ void SimonState::timer_proc1()
if (!(_game & GAME_SIMON2)) {
expire_vga_timers();
expire_vga_timers();
+ _sync_flag_2 ^= 1;
_cepe_flag ^= 1;
if (!_cepe_flag)
expire_vga_timers();
- _sync_flag_2 ^= 1;
} else {
_sync_flag_2 ^= 1;
if (!_sync_flag_2)
expire_vga_timers();
- if (_lock_counter != 0 && !_sync_flag_2) {
- _lock_word &= ~2;
- return;
- }
}
-// if (_lock_counter !=0 && _sync_flag_2==1) {
-// printf("skipping draw...\n");
-// goto get_out;
-// }
+ if (_lock_counter != 0 && !_sync_flag_2) {
+ _lock_word &= ~2;
+ return;
+ }
}
timer_vga_sprites();
@@ -2718,9 +2714,9 @@ void SimonState::timer_callback()
_sync_flag_2 = true;
_timer_5--;
} else {
-// start = timeGetTime();
+// start = _system->get_msecs();
timer_proc1();
-// end = timeGetTime();
+// end = _system->get_msecs();
// if (start + 45 < end) {
// _timer_5 = (uint16)( (end - start) / 45);