Page 1 of 1

16K software, run faster with Russian clones?

Posted: Sun Sep 09, 2018 11:17 am
by Pegaz
A few years ago I read somewhere that Spectrum's original software runs faster in Russian clones because they dont use contended memory.
I think it was said, that games for 16K Spectrum work up to 15% faster, while acceleration for 48K titles is much less because they dont use contended memory that much.
I tried to check this acceleration with emulator in some 16K commercial games, but I'm not sure I noticed that speed-up.
Perhaps standard pcw basic benchmark tests, could give more accurate information.
Does anybody know more details about this?

Re: 16K software, run faster with Russian clones?

Posted: Sun Sep 09, 2018 5:45 pm
by Seven.FFF
It all depends whether they are framelocked games, or games that run as fast as possible.

But the Pentagon has no contention, for sure.

Re: 16K software, run faster with Russian clones?

Posted: Mon Sep 10, 2018 6:31 am
by g0blinish
for Pentagon - yes, it works

Re: 16K software, run faster with Russian clones?

Posted: Mon Sep 10, 2018 7:57 am
by R-Tape
Pegaz wrote: Sun Sep 09, 2018 11:17 am
I tried to check this acceleration with emulator in some 16K commercial games, but I'm not sure I noticed that speed-up.
As SevenFFF says, a lot of games will be set at a constant framerate, so while the code will run faster, it will just wait for longer each frame until the next interrupt and there will be no visible difference. Arcade games (especially older ones) that are not-constant framerate tend to run too fast already, in my experience, so it may be too hard to spot.

You might notice the difference in wireframe games, but there aren't many 16k ones. Aces High, Amaze, 1 line 3D Maze would be worth a look.

I don't know about pcw tests, but I remember testing a bugfix for Chronos by using a stopwatch to time distance travelled. Crude, but it worked!

Re: 16K software, run faster with Russian clones?

Posted: Mon Sep 10, 2018 11:22 am
by Ralf
Yes, Pentagons run a little bit faster, about 10% or so and generally have a bit different timings. In case of "normal" programs it usually doesn't matter but when we deal with e.g. multicolor everything stops working properly.

Also games that don't use multicolor but have very strict timings used for screen refresh synchronisation or so will stop running correctly. Russian hackers often made things like "Pentagon fix" to adjust games for their machines.

But in most case you won't notice this 10% of speed. Even when it's not "lost" by CPU waiting for next interrupt, then it's just too small increase to give any different gaming experience.

Re: 16K software, run faster with Russian clones?

Posted: Mon Sep 10, 2018 1:17 pm
by AndyC
It might be more noticeable in the Freescape titles (although they obviously aren't 16K) because they run at full speed but are slowed down enough that any speed increase might help somewhat.

Re: 16K software, run faster with Russian clones?

Posted: Mon Sep 10, 2018 9:45 pm
by Pegaz
Thanks guys, now everything looks much more understandable.
I was most interested in, how commercial 16K games behave in Russian models and how this acceleration affects them.
For example, does it have a visible acceleration on aracade games like Ultimate Jet Pac, Cookie, Pssst or not?
If I understand correctly, in such games frame rate is locked and theres no acceleration?
I doubt its noticeable in 48K games, because contended memory takes only one small part.

Re: 16K software, run faster with Russian clones?

Posted: Tue Sep 11, 2018 1:37 am
by djnzx48
Try 3D Deathchase, Sir Lancelot or Styx - they all run noticeably faster, at least on an emulator. A side effect of this is the sound effects are also dfferent, so the bike sound in Deathchase doesn't really sound like an engine anymore.

Re: 16K software, run faster with Russian clones?

Posted: Wed Sep 12, 2018 4:39 pm
by 1024MAK
One point that I don't remember seeing mentioned: the 'lower' 16K is contended only during the time the ULA is drawing the screen or during I/O port operations. So a clever programmer can sometimes arrange for all the time critical code to run during the time when contention does not occur, such as during the time that the ULA is drawing the border, during line (horizontal) or field (vertical) flyback etc. Then use the time when the contention occurs to perform non-time critical functions.

On a machine which does not have contended RAM, it's unlikely that any significant speed up would be noticed.

Some 16K games are a mix of BASIC, machine code, and calls to the BASIC ROM routines. ROM is never contended. So depending on the ratio and how the code was written, again, although it may run slightly faster, it may not be noticeable. Especially if it is using BASIC or some ROM routines (which are rather slow).

Mark