I'm wondering ... are you using VirtualT on Windows, Linux or Mac?
When I wrote this code I was using predominately Windows and so all my
testing for speed would have been done there. However I now use
basically only Mac or Linux and use Windows only if I am already having
a bad day anyway. I don't even have VirtualT compiled in my VM (I guess
I could download a pre-compiled binary and run it). So I did my speed
testing using Linux.
I'm wondering if Windows has a similar speed. The simple program I used
was this (and used a stopwatch to time it):
10 FORX=1TO10000:NEXT
Ken
On 2/9/26 12:18 PM, B9 wrote:
Thank you for checking!
Definitely 32 seconds on my Tandy 200. Is this only a problem for
Virtual T's 200 emulation? I think this would have been noticed before
if it affected the Model 100, or perhaps it's a regression?
--b9
On February 9, 2026 8:12:15 AM PST, Kenneth Pettit
<[email protected]> wrote:
I tried that for loop in VirtualT 2.4MHz speed. And yes, it only
took 17 seconds. I did not validate this on an real T200
regarding the 32s speed.
Makes me wonder if the "2.4MHz" calculation is wrong (after all
these years). The emulation doesn't try to execute code at
precisely the same timing as the real hardware (i.e. it doesn't
check the clock after every instruction) but instead check it
every 1000 or maybe 10000 instructions (or maybe cycles, I dont'
remember which) and then adds micro-sleeps to keep the *average*
speed at the desired setting.
So there could be an error in either:
1. The calculation logic for those little micro-sleeps
2. The accumulation of how long each OPCODE takes in terms of
cycles (this is what is used to determine how many cycles the
emulation has progressed).
Would need some investigation.
Ken
On 2/8/26 10:44 AM, John R. Hogerhuis wrote:
Virtual t has speed settings. And Ken worked to make it cycle
accurate.
You might have it on (host) CPU friendly which is not the most
cycle accurate, I think.
My own emulator CoudT is definitely not cycle accurate being
written in JavaScript and running in the browser. Though it does
have some code to put it in the ballpark.
-- John.