Egy érdekes jelenség (hiba?), amiben mindkét változat érintett:
A robo bénító hatása bizonytalan, valamikor csak egészen rövid ideig tart a hatása. Geco verziója egyébként szőrösszívűbb
Töltöttem fel egy-egy snapshot-ot, nézzétek meg, kérjetek robotbénítót. Konkrétan itt Geco verziójában nincs is hatása a bénítónak.
Akkor van probléma, ha elhagyod a szobát, mielőtt a robotbénító lejárna. Ilyenkor látszólag elveszik, de ha később újat kérsz, az onnan kezdi a visszaszámlálást, ahol az előző félbeszakadt (rosszabb esetben csak az utolsó tizedmásodpercek, mint a snapshotban is). Egyébként az időtartamának pontosan 20 másodpercnek kellene lennie.
Javítás:
A 7603 21 27 BF LD HL, BF27
A 7606 7E LD A, (HL)
A 7607 A7 AND A
A 7608 28 10 JR Z, 761A
A 760A 35 DEC (HL)
A 760B 23 INC HL
A 760C AF XOR A
A 760D 77 LD (HL), A
A 760E 32 04 85 LD (8504), A
Magyarázat:
- a BF27h címen a megmaradt robotbénítók száma található
- ha BF28h-n 0 van, akkor a bénító aktív
- a 8504h címen található jelzőbyte 0 értéke kényszeríti a 8502h-8503h számláló újratöltését 500-ra (1/25 másodpercenként csökken)
A hiba az volt, hogy 8504h-ra eredetileg nem írt 0-t (oda csak akkor kerülhetett 0, ha a számláló lefutott). Így egyébként ha már aktív a robotbénító, akkor újra kérve feltöltődik a számláló 20 másodpercre, eredetileg viszont nem történt semmi (a második bénító elveszett, akkor is, ha az elsőből kevesebb, mint egy másodperc maradt).