| Revision: 393
          http://svn.sourceforge.net/fuse-for-macosx/?rev=393&view=rev
Author:   fredm
Date:     2007-06-19 21:17:59 -0700 (Tue, 19 Jun 2007)
Log Message:
-----------
Add support for tape fastloading to the emulation loop.
Modified Paths:
--------------
    trunk/fuse/fusepb/models/Emulator.m
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m	2007-06-20 03:56:24 UTC (rev 392)
+++ trunk/fuse/fusepb/models/Emulator.m	2007-06-20 04:17:59 UTC (rev 393)
@@ -159,6 +159,17 @@
           (0.8 * sound_framesiz / (float)settings_current.sound_freq ) ) 
         too_long = 1;
     }
+  /* If we're fastloading, keep running frames until we have used up 95% of
+     the timer interval */
+  } else if( settings_current.fastload && tape_is_playing() ) {
+    int done = 0;
+    CFTimeInterval startTime = CFAbsoluteTimeGetCurrent();
+    while( !done ) {
+      event_do_frame();
+      CFTimeInterval endTime = CFAbsoluteTimeGetCurrent();
+      if( (endTime - startTime) > (0.95 * timerInterval) ) 
+        done = 1;
+    }
   } else {
     float speed = ( settings_current.emulation_speed < 1 ?
                     100.0                                :
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |