Parabellum's Projects Tracker - ParaJVE
Viewing Issue Advanced Details
25 Emulation > Timings minor always 2009-11-03 14:34 2009-11-04 20:39
parabellum ALL  
parabellum -  
normal -  
resolved  
fixed  
none    
none Release 0.7.0  
Bedlam, Cosmic Chasm, Hyperchase, Rip Off, Star Trek, Tour de France, Polar Rescue
0000025: Bedlam runs way too fast
ParaJVE has some speed timing issues, nonetheless, the games usually remain playable.
An exception is Bedlam, that runs much too fast to be played correctly.
Not platform dependant
Issue History
2009-11-03 14:34 parabellum New Issue
2009-11-03 14:34 parabellum Status new => assigned
2009-11-03 14:34 parabellum Assigned To => parabellum
2009-11-03 14:34 parabellum Cartridge => Bedlam
2009-11-03 14:42 parabellum Note Added: 0000024
2009-11-03 14:42 parabellum Status assigned => resolved
2009-11-03 14:42 parabellum Fixed in Version => 0.7.0 (Milestone)
2009-11-03 14:42 parabellum Resolution open => fixed
2009-11-03 14:48 parabellum Category Emulation > CPU & Chips => Emulation > Timings
2009-11-03 21:22 parabellum Note Added: 0000026
2009-11-03 21:23 parabellum Note Edited: 0000026
2009-11-04 10:04 parabellum Note Edited: 0000026
2009-11-04 10:05 parabellum Note Edited: 0000024
2009-11-04 20:39 parabellum Cartridge Bedlam => Bedlam, Cosmic Chasm, Hyperchase, Rip Off, Star Trek, Tour de France, Polar Rescue

Notes
(0000024)
parabellum   
2009-11-03 14:42   
(edited on: 2009-11-04 10:05)
The emulator detects end of frames using the 6522 T2 timer. After each end of frame, it waits for a specified delay, in order to achieve a constant framerate.

So far, we made the assumption that the T2 counter was always set to 30.000 (which is the default for most of the existing games), but Bedlam does set this counter to 49407 ($C0FF). Hence, ParaJVE was running the game at 160% of its original speed.

Now that it has been fixed, the emulator computes the ratio (T2 value / 30000), and use this as a factor to multiply the initial delay to wait for the next frame.

(0000026)
parabellum   
2009-11-03 21:22   
(edited on: 2009-11-04 10:04)
After testing the patch against the whole set of ROMs, it appears that no less than 7 games were impacted by this bug. So the correction fixes all the 7 games.

Following is a list of these "non-standard" games, with the delay value they're using.

45000 ($AFC8) :
  • Cosmic Chasm
  • Hyperchase
  • Rip Off
  • Star Trek
45056 ($B000) :
  • Tour de France
49152 ($C000) :
  • Polar Rescue
49407 ($C0FF) :
  • Bedlam