Felszedhetetlen gyémánt esete: mellékelve egy zx128emu snapshot, lehet próbálkozni
Túl gyorsan indul el a lift, képtelenség odaérni, és utána már nem jön le a földszintre.
Megnézve a
C64 végigjátszást (33. perc környékén), ott később indul el, simán elérhető. Máshol is később indulnak a liftek, de ez az egyetlen kritikus hely.
C64-es oldalakról sikerült pálya adatszerkezet leírást szerezni, mint kiderült a C64, CPC, Spectrum verziókban bitre megegyeznek a pályaadatok.
Lift adatoknak az utolsó bájt felső 2 bitje választja ki a várakozási időt, ennél a liftnél 2 másodperc kéne legyen.
Itt számolja ki a lift kezelő program számára, hogy mennyit kell várakozni, a várakozás értéke 1/25 másodpercben értendő, mivel minden második 50Hz-es megszakításban lesz meghívva.
DBC4 7E LD A, (HL)
DBC5 E6 C0 AND C0
DBC7 CB 3F SRL A
*DBC9 DD 77 08 LD (IX+08), A
DBCC DD 77 09 LD (IX+09), A
A 2 másodperces várakozáshoz 20h lesz a kiszámolt érték, azaz 32/25=1.28 másodperc. Na ezért nem lehet elérni a liftet!
Az SRL utasítást likvidálva már elérhető, 2.56 másodperc lesz... hmm, végülis EP-n van helyünk hosszabb rutint berakva pontos értékeket kiszámolni...
Kipróbáltam, nem olyan nagy baj a .5 másodperc plusz, jó lesz az így