Računari 14

Elitno rešenje

Verujemo da su svi ljubitelji Elite nestrpljivo očekivali obećani program za nepoštene. Ispunjavajući obećanje, u ovim vam "Računarima" poklanjamo program pomoću koga ćete za svega desetak minuta dodeliti sebi proizvoljno visok rejting istovremeno snabdevši vašu Cobru 3 svom postojećom opremom. Kao mali dodatak, program će vam omogućiti da svoj bankovni račun povećate do granice koje ni programeri Acornsoft-a nisu predvideli!

Dejan Ristanović

Da biste bili u mogućnosti da iskoristite program koji dajemo na slici 1, morate da imate bar minimalno iskustvo u igri "Elite". Ako ga nemate a želite da ga (nepošteno) steknete, učitajte Elitu i odmah snimiti tekući rejting na traku ili disk (možete jedino da promenite ime komandanta; nema nikakvih posebnih razloga da se on zove Jameson). Posle ove operacije otkucajte program sa slike 1 pa i njega snimite za svaki slučaj. Zatim učitajte rejting komandanta Jameson-a (ili kako ste ga već nazvali) i smestite ga u memoriju počevši od adrese &5000 (najjednostavnije je da otkucate *LOAD E.JAMESON 5000; ukoliko koristite kasetnu verziju, izostavite E i tačku). Kompletan rejting komandanta Jameson-a (kao i bilo kog drugog komandanta) zauzima tačno 256 (&100) bajta od kojih se za sada koristi svega prvih 75 (&4B). Informaciju koju čuva svaki od ovih bajtova možete da promenite običnim POKE (npr. ?&5048=&20 će vam trenutno dati rejting Elite). Kada unesete sve promene, startujte program sa slike 1 (npr. sa CHAIN "E.CHEAT"), odgovorite na pitanje koje vam postavi i sačekajte trenutak da se novi rejting snimi na kasetu ili disk. Učitajte ponovo Elitu, odgovorite sa 'Y' na pitanje Load New Commander i sačekajte da se upravo snimljeni status učita. Pritisnite SPACE i - postali ste Elita. Nemojte nikome da kažete kako!

Preostalo je samo da vam opišemo za šta se koji od 75 bajta rejtinga koristi; poslužićemo se pri tom napisom Cheat at Elite (autori Paula Skirrow i Paul Springate) koji je objavljen u poslednjem (februarskom) broja časopisa Acorn User.

Bajt 0: Kontrola misija. Početna vrednost ovoga bajta je 0; kada dobijete prvu misiju on postaje 1, dok je kritična vrednost za početak druge misije 9. Nema mnogo smisla postavljati ga manualno: da biste dobili prvu misiju, postavite svoj skor na &1800 i pozicionirajte se u prvu galaksiju. Da biste dobili drugu misiju, treba da budete u galaksiji 3; poruku dobijate čim sletite u prvu stanicu. Ako volite da se borite sa Targoidima, postavite ovaj bajt na &0A.

Bajtovi 1 i 2: X i Y koordinate broda. Nema ih mnogo smisla ručno menjati.

Bajtovi 3-8: Podaci o galaksiji. Promenom ovih podataka mogu se kreirati nove galaksije sa čudesnim rasporedima zvezda. Bitovi ovih bajtova su pakovani na način koji je i dalje tajna Acornsoft-a.

Bajtovi 09-0C: Trenutni materijalni resursi. Ukoliko želite da promenite svoj kreditni saldo, pokujte vrednost na ove lokacije. Maksimalan broj kredite koje možete da imate je 429496729.

Bajt 0D: Količina goriva. Ako ovde pokujete vrednost N, imaćete goriva za skokove duge N/10 svetlosnih godina. Obzirom da je najveća vrednost 255, možete sebi da dodelite gorivo za najviše 25.5 svetlosnih godina. Podsetimo se da se u standardnoj Eliti može skakati najviše 7 svetlosnih godina.

Bajt 0E: Editovani komandant. Vrednost ove lokacije je preko &80 ako je komandant više puta učitavan i sniman. Na taj je način Acornsoft u prilici da razdvoji rejting ostvaren u toku jedne sesije od više dana (meseci?) stvaranog rezultata.

Bajt 0F: Broj galaksije - 1. Direktna promena ovoga podatka neće u trenutku promeniti galaksiju u kojoj se nalazite; jednostavno će se promeniti cifra koja se pojavljuje iznad njene mape. Ako želite da stignete u galaksiju broj 3, postavite ovaj bajt na 1 (2-1) a zatim, čim iskočite iz stanice, koristite Galactic Hyperspace.

Bajtovi 10-13: Snaga lasera. Ukoliko sa prednje strane broda nemate laser (do ovoga se normalno ne može doći), bajt 10 će imati vrednost 0. Vrednost 0F odgovare pulse laserima, vrednost 32 označava lasere za miniranje, 8F su beam a 97 military laseri. Svaki broj veći od &97 je na rejting strani označen kao pulse laser ali zadržava snagu koja je proporcionalna njegoj veličini. Postavljanje vrednosti &FF u bajt &10 rejtinga će vam, na primer, dati enormno snažan prednji laser. Bajtovi &11, &12 i &13 odgovaraju respektivno zadnjim, levim i desnim laserima.

Bajtovi 14-15: Nekorišćeni. Reklo bi se da su vrednosti pokovane u ove bajtove nebitne. Moguće je da je Acornsoft tek u zadnjem momentu odustao od realizacije lasera koji bi se smeštali sa gornje i donje strane broda. Bajt 16: Količina tereta + 2. Ako ovde pokujete &FF, u svakom ćete "izletu" moći da ponesete 253 tone tereta.

Bajtovi 17-27: Količine raznih roba koje nosite. Svaki od ovih 17 bajtova odgovara količini odgovarajuće robe koja je utovarena u vaš brod. Redosled (hrana, tekstil, radioaktivnosti, robovi, liker, ...) odgovara tabeli koja se ispisuje kada u stanici pritisnete f7.

Bajtovi 28-2E: Brodska oprema. Lokacija 28 odgovara ECM sistemu, 29 je Fuel scoop, 2A Energy bomb, 2B Energy unit, 2C Docking computer, 2D Galactic Hyperspace i, konačno, 2E Escape pod. Pokovanjem jedinice u odgovarajuću lokaciju ćete sebi dodeliti odgovarajući uređaj. Izuzetak je bajt 2B koji čuva snagu energetske jedinice. 0 označava situaciju u kojoj nemate energetski uređaj dok jedinica odgovara standardnom dodatku. Bilo koji veći broj proporcionalno povećava snagu energetske jedinice; realno je ovde pokovati najviše &40. Niko vas, naravno, ne sprečava da sebi dodelite energetsku jedinicu snage &FF ali vam se tada može dogoditi neprijatnost koju vam nećemo opisati: probajte sami.

Bajtovi 2F-32: Nekorišćeni. Moguće je da je Acornsoft predvideo ove lokacije za uređaje koji će moći da se kupuju u novim verzijama Elite.

Bajt 33: Broj utovarenih dirigovanih projektila. Moguće je utovariti daleko više od 4 dirigovana projektila. Sa druge strane, računar će njihove oznake ispisivati u dnu ekrana kvareći tako radarski prozor.

Bajt 34: Policijski status. 0 označava da poternica za vama ne postoji; bilo koji veći broj označava stanje offender odnosno fugitive.

Bajtovi 35-46: Raspoložive količine raznih roba na stanici. Pokovanjem odgovarajućih vrednosti u odgovarajuće lokacije postojeća se stanica može učiniti prebogatom i snabdevenom ogromnim količinama svake robe. Redosled je standardan: hrana, tekstil, radioaktivnosti...

Bajt 46: Cene u stanici. Ovde je upisana neka vrsta seed-a pomoću koga se slučajno generišu cene raznih tipova robe koje se na stanici nude. Ako, dakle, snimite svoj rejting na disk pa ga docnije ponovo učitete, cene na stanice se neće promeniti.

Bajtovi 47-48: Skor. Bajt &47 čuva LSB a &48 MSB skora. Svakim uništavanjem jednog neprijatelja skor se povećava za 1; kada se god bajt &48 uveća, dobijate poruku Right On, Commander. Kada dobijete prvu ovakvu poruku, vaš će rejting već dostići stanje Competent. Druga poruka donosi rejting Dangerous a peta Deadly. Potrebno vam je još 19 ovakvih poruka da dostignete rejting Elite (skor preko &1800).

Bajt 49: Broj snimanja. Ovaj bajt u startu ima vrednost &80 i prepolovljava se kada god snimite komandanta na traku/disk. Acornsoft je tako u prilici da otkrije komandante koji su do visokog rejtinga stigli u svega desetak seansi.

Bajtovi 4A-4B: Kontrolna šifra. Ove lokacije rejtinga kontrolišu ispravnost ostalih čuvajući komplikovan checksum; ukoliko neko pokuša da svoj rejting ručno unapredi, program će krahirati. Ova se tvrdnja, jasno, ne odnosi na one koji otkucaju program sa slike 1 i pomoću njega formiraju lažnu kontrolnu sumu. Pregledom programa ćete otkriti i kako se ova suma formira.

Ukoliko vam je zamorno da razmišljate i kreirate vaš rejting, otkucajte program sa slike 2 (linijski brojevi su pisani tako da se ovaj program može naći u memoriji zajedno sa programom sa slike 1) i startujte ga; za trenutak ćete se pridružiti eliti.

slika 1:

1000 REM
1010 REM
1020 REM Kreiranje ELITE komandanata
1030 REM
1040 REM Dejan Ristanovic 1986.
1050 REM
1060 REM "Racunari 13"
1070 REM
1080 REM
1090 REM Komandant koga treba kreirati
1100 REM se priprema pocevsi od adrese
1110 REM *** &5000 ***
1120 REM
1130 REM
1140 a=&49:c=0
1150 FOR i=&49 TO 1 STEP -1
1160 a=a+?(&5000+i-1)+c
1170 c=a DIV 256
1180 a=a AND &FF
1190 a=a EOR ?(&5000+i)
1200 NEXT i
1210 ?&504A=a EOR &49
1220 ?&504B=a
1230 FOR i=&504C TO &50FF
1240 ?i=0
1250 NEXT i
1260 INPUT "Ime komandanta E." A$
1270 OSCLI ("SAVE E."+A$+" 5000 +100 0000 0000")
1280 END

slika 2:


10 REM
20 REM E L I T E
30 REM
40 REM Transformacija komandanta
50 REM
60 REM Dejan Ristanovic 1986.
70 REM
80 REM "Racunari 13" 
90 REM
100 REM
110 INPUT "Ime komandanta (JAMESON)";a$
120 IF a$="" THEN a$="JAMESON"
130 OSCLI ("*LOAD E."+a$+" 5000")
140 ?&5000=0: REM Ocekuju se misije
150 ?&5009=&FF: REM Oko 4E8 kredita
160 ?&500D=&FF: REM 25.5 sv.god. goriva
170 ?&5010=&FF: REM Super prednji laser
180 ?&5011=&FF: REM Super zadnji laser
190 ?&5012=&FF: REM Super levi laser
200 ?&5013=&FF: REM Super desni laser
210 ?&5016=&FF: REM 253 tone tereta
220 ?&5028=&1 : REM ECM system
230 ?&5029=&1 : REM Fuel scoops
240 ?&502A=&1 : REM Energy bomb
250 ?&502B=&40: REM Extra strong Energy unit
260 ?&502C=&1 : REM Docking computer
270 ?&502D=&1 : REM Galactic Hyperspace
280 ?&502E=&1 : REM Escape pod
290 ?&5033=&4 : REM 4 missiles
300 ?&5034=&0 : REM CLEAN
310 ?&5047=&0 : REM ELITE
320 ?&5048=&20: REM ELITE