On 3/6/18 2:19 PM, John R. Hogerhuis wrote:
Ah. Well, CloudT dynamically inserts delays to simulate the Model T
processor speed. If you look at the number at the bottom of the screen
running off timer event callbacks, I can't get cycle accuracy.
Ahh, that's how you are emulating the 2.4MHz speed. I was wondering.
What do you use to determine the number of cycles to dynamically delay?
VirtualT works a bit differently. It has two threads running:
1 Thread T (throttle) wakes up every 20ms (10ms for Windows) and
calculates the number of emulated CPU cycles the emulation thread is
allowed to execute. This number will vary dynamically depending on the
number of FLTK window updates during the previous 20/10ms period. It
then wakes up thread E and goes to sleep.
2. Thread E (emulate) wakes up and executes the number of allowed CPU
cycles for this timer period as calculated by Thread T then goes back to
sleep. So the throttled emulation (2.4MHz, 8Mhz, 20Mhz) modes actually
execute 8085 code in short bursts every 10/20ms.