pingvin Creative Commons License 2001.03.12 0 0 9
"Pár dolgot elmondanál azokról az ördöglakatokról? "

Röviden összefoglalhatom a program működését, talán nem lesz meglepepő, hogy mennyire egyszerűen van kódolva maga a játékmenet. Pontos memóriacimekbe most nem bocsátkoznák, de úgy rémlik, hogy a programkód a 4000h cimtől kb az 5f00h cimig tart. Ez nem a gépikód, hanem a játék "adatkódjai". Helyszin szerint egymás után vannak rendezve, az egyes helyszinek kódjait FF választja el egymástól. A program a feldolgozás során tehát először is végigmászik a bytekon, számolja az FF-eket, mig az adott helyszin kodjához nem ért. Az egyes cselekvések itt a következő képpen vannak kódolva:

00 00 U1 (U2) (U3) 00 R P1 P2 (...) PX B1 B2 00 ...

Ahol is a két 00 érték az elválasztó jel, az U-k az utásitások sorszámai (lásd a szótárt), amit a játékos begépel, aztán egy kötelező 00, utána az R az adott utasitásokhoz tartozo cselekvés-séma rutin (meglepően kevés van belőle) relativ ugrocime, majd a PX-ek a rutin esetleges paraméterei, a BX-ek pedig a 2000h-as változotáblához tartozo esetleges bejegyzések.
Érdekes, hogy több helyen a program iroja olyan primitiv eszközökkel oldotta meg a program gyorsitását, hogy futás közben átirja a program saját magát (mármint a különböző jump-cimeknél).

Én annak idején irtam egy rövid programocskát, mely egész egyszerüen kiirta a képernyőre, hogy adott helyszinen milyen parancsokat lehet végrehajtani, és azoknak milyen hatásai vannak. Igy már persze nem volt nehéz végigjátszani őket:-)
Az Időrégész más tészta, sokkal rendezetlenebbül lett a kód megirva, néhol BASICszerű részeket is tartalmazott. A Bosszú, Ujvadnyugat1-2 viszont teljesen ugyanaz a program volt, csak más játékkódokkal. Ezért is nem értettem, hogy miért nem jelent meg az UV3, egy délután alatt be lehetne kódolni egy frappáns történetet.

"Sajnos a programodban elfelejtetted kitenni a VISSZA címkét"
:-) csak nem okoz gondot kitalálni, hova gondoltam