Russian ZX games is writed on russian ZX clones and support hardware feature TURBO OFF ( for ZX clone ZS SCORPION ). Russian ZX clone ZS SCORPION use software switching of TURBO cpu mode 3.5MHz and 7.0 MHz:
Read port #7FFD = CPU turbo 7MHz (turbo on)
Read port #1FFD = CPU run at 3.5MHz (turbo off)
Write only ports #7FFD and #1FFD is used on ZS SCORPION for memory paging and reading this ports is used for CPU TURBO mode switching.
On ZX Spectrum +2A and +3 is port #7FFD and #1FFD(with different functions) used too for memory paging. Read of this ports is not supported and CPU read data from floating bus ( value #FF ). Software TURBO switching routines for ZS SCORPION is on ZX+2A/+3 models ignored (without effect) and software run always at original ZX speed (3.5 MHz)
Problem with this russian software is on original ZX Spectrum 128 / +2 (grey) models. This computers contain hardware bug - after read port #7FFD will ZX crash (data from floating bus is writed to paging port).
Read port #7FFD = on ZX128/+2 write to paging port data from floating bus (can't be use)
Read port #1FFD = on ZX128/+2 write to paging port data from floating bus (can't be use)
ZX128/+2 use paging port #7FFD only. Hardware use incomplette port adressation (accept only A15=0 + A1=0 and port adress #1FFD is same as port #7FFD). If any russian software use read of port #7FFD of #1FFD, then real ZX128/+2 will crash. For fixed this problem you must remove instruction IN ?,(C) if BC=#1FFD or #7FFD.
This is critical routines ("?" = any register A,B,C,D,E,H,L):
LD BC,#1FFD
IN ?,(C)
LD BC,#7FFD
IN ?,(C)
LD A,#1F
IN A,(#FD)
LD A,#7F
IN A,(#FD)
If you remove this IN instructions from russian games/demos/utilities then will possible use this software also on ZX128/+2 and all other ZX models (+2A/+3 and russian ZX clones)
This is my fixed TAP version of Dizzy 'B' Treasure Island game with removed instruction IN A,(C). Version for all ZX128 models(ZX128/+2/+2A/+3/russian clones):
http://velesoft.speccy.cz/other/dizzy-b_fixed.zip
This is original release(crash on ZX128/+2):
http://www.worldofspectrum.org/infos...cgi?id=0015211
And this is my fixed TAP ( ! ! ! ) version of WALKER game:
http://velesoft.speccy.cz/kmouse/kmg...emo-km.tap.zip
This is original release(crash on ZX128/+2):
http://www.worldofspectrum.org/infos...cgi?id=0013118