I made a statement "WORLD'S FASTEST" in one of the screens on JSW128 VK
So here I will justify the claim, and add some data.
The Timing quoted for all versions is the time taken to do the same double room walk.
The double room walk is through "The Kitchen" and then through "West of kitchen"
Times are displayed to 100th of a second. Whilst the timing is accurate, my reactions varied a lot.
Since music only slows this down, all times are without music.
The T-states quoted are the times needed to copy one byte from memory and move elsewhere.
This timing is needed because the slowest part of the game is the huge amount of data copied on each and every game loop. It is these copies which have one of the largest influences on how fast the game runs.
Matthews unmolested code using LDIR --- each byte taking 21 T-states
19.96 to 20.12 rounded up to 20.00 seconds.
My code changed back to using ldir's is comparable in time, which considering all the extra routines, is to be expected.
My code using a long line of LDI's ---- each byte taking 16 T-states plus a small overhead
Mark Woodmass posted a "marginally faster" versions of Manic Miner and Jet Set Willy to alt.binaries.comp.sinclair on 27th January 2002
his version of jsw does the double room walk in
15.51 Mark Woodmass uses a stack copy routine and it also destroys the rope routine. (e.g. it is bugged)
Mysterion posted his Turbo versions, so I will list the times from his versions
These use a stack copy method and the 128k, increase in speed is achieved by rolling the code out further
Matthews code using Stack copy --- stack copy has a theoretical minimum of 10.5 T-states, but the overhead is quite high
13.71SEC IN TURBO JSW IN 48K
12.14SEC IN TURBO JSW IN 128K
And finally I will list the times from My stack copy routines
10.61 in 48k
This is 3.1 seconds faster than Mysterion's version in 48k
My version in 48k is still 1.43seconds faster than Mysterion's version which is rolled out and will waste quite a large chunk of the 128k of ram needed.
So yes "WORLD'S FASTEST"
NOTE the timing depends on the individuals response to the change of screen and partially to the machine it is being tested on. The times I list are consistent with the machine and hardware I use. (others will obtain different timing) however the overall trend will still be as above.
Addendum concerning Speed and T-States
From the above it is easy to see the relationship between the double room walk time and the T-State's for the method used to do the screen copying.
LDIR 21 T-states 20 seconds
LDI 16 T-states 15.46 seconds
stack 10.5 T-states 10.61 seconds
Edited by Norman Sword, 23 August 2018 - 08:27 AM.