SPRED

File-név: SPRED.COM
Program neve: SPRED 1.5
Active Record - 1989
Sprite-tervező

Mint ismeretes, az ENTERPRISE számítógépben hiányzik valami, ami a C64-et oly sikeres otthoni számítógéppé tette: a hardveres sprite-kezelés. A 8-bites gépek teljesítményére való tekintettel, az akkori játékokban szinte elengedhetetlenné tette a sprite-ok használatát. A C64 programozói abban a kényelmes helyzetben voltak, hogy a játékok írásakor nem kellett ezt minden programban a sprite-okat kezelő rutint. ENTERPRISE számítógépre az egyetlen SPRITE-kezelő program született, az EnterSprite, amely BASIC-ből tette lehetővé sprite-ok egyszerű használatát. Sajnos a program nem nevezhető tökéletes megoldásnak, de a hozzá készített tervező-programról még kevesebb jó mondható el: a FINE PEN használata igen körülményes. A SPRED nagyságrendekkel jobb, könnyebben használható elődjénél!

A program működéséhez a SPRED.COM és a SPRED.APL fájlra van szükségünk. A program betöltése a SPRED.COM indításával történik. A teljes egészében gépi kódú program betöltődése után a címlapján megadja a nevét, verziószámát. A szoftvert az Active Record készítette 1989-ben.
A program teljes egészében menüvezérelt, és ENTERPRISE-on eddig ez a legtisztességesebben megírt felhasználói interfész, amit idáig láttunk. Azért ennek is van néhány apró hiányossága, ezekre majd kitérünk.
A program menüje a klasszikus megoldást használja: a képernyő felső sorában láthatók a főmenü parancsai. A kiválasztás úgy történik, hogy a kiemelést a megfelelő menüpontra visszük, majd megnyomjuk... a szóköz billentyűt. Jobban szerettük volna, ha a kiválasztás az [Enter]-rel (is) működne, hiszen majdnem minden menüvezérlésnél ez a megszokott. A szerzőnek nyilván az volt a szándéka, hogy külső botkormányról is teljes értékűen vezérelhető megoldást adjon. Ehhez viszont az kellett volna, hogy minden almenüben legyen egy CANCEL pont, amire rálépve vissza tudunk menni az előző menübe. Ehelyett most mégis a billentyűzethez kell fordulnunk, az [Esc] gomb vezet vissza az almenük láncolatában. Azt viszont el kell mondanunk, hogy a visszalépés a program tetszőleges szintjéről lehetséges, sok más programtól eltérően itt ez korrektül van megcsinálva. A file-műveletek a STOP billentyűvel megszakíthatók.
De lássuk a lényeget. A főmenüben a FUNCTIONS almenüt választva bejutunk a fő szolgáltatást jelentő tervező képbe. A képernyő baloldalán egy nagy négyzetben tervezhetjük a figurákat. A sprite ugyanakkor jobboldalt fent eredeti nagyságban is látható. Kicsit lejjebb van a nyolc fázisnak megfelelő nyolc ablak, ide kerülnek majd a fázisrajzok. Amint egy fázis a helyére kerül, azonnal részt vesz az animációban, a jobb szélső ablakban "élni kezd".
Jobboldalt lent látható a színválaszték. Természetesen a palettát ízlésünknek megfelelően állíthatjuk össze, és a felső nyolc színt (BIAS) is megválaszthatjuk. Ami kicsit nehézkes, az egy tévedésből lerakott pont törlése: kilépni a rajztáblából, belépni a tintaszín-választásba, kiválasztania háttérszínt, visszalépni, be a rajztáblába, törölni a pontot, majd hasonló eljárással újra beállítani az eredeti tintaszínt... Könnyíti a helyzetet, hogy a színeket az [1]..[8], [O]..[I] billentyűkkel közvetlenül elérhetjük. Beleférhetett volna a programba egy kapcsoló, amely a tinta, a radír és a felemelt toll állapot között választana.
A készülő fázisrajzzal gyakorlatilag minden transzformációt elvégezhetünk, beleértve a tükrözést, átfordítást, elforgatást, eltolást, színrotálást stb. A rajzot tetszőleges fázishelyre letehetjük, és tetszőleges fázist újra felvehetünk, illetve a fázisokat egymással tetszőleges kombinációban felcserélhetjük, kisebb és nagyobb kapacitású ideiglenes raktárba tehetjük.
Az OPTIONS menüből bármelyik EXOS vagy EXDOS változó értéke megváltoztatható, így például nem kell rettegni, hogy felébresztjük az alvó családot, ha órákkal korábban elmulasztottuk kikapcsolni a magnóhangot. Ugyanitt állíthatók a program saját opciói is.
A FILE/DEVICE menüben beállíthatjuk, hogy magnóval vagy lemezegységgel kívánunk-e dolgozni, és itt tudjuk a munkánk eredményét elmenteni, vagy egy meglévő munkát betölteni. Itt esetleg felpanaszolhatnánk, hogy a rajzoláshoz "belőtt" KEY_DELAY és KEY_RATE túlságosan gyors a fájlnév beírásához, jobb lenne ideiglenesen visszaállni a normál értékekre. A SPRED nagyon biztosan működő perifériakezeléssel rendelkezik.
A HELP_PAGES menü a program összes szolgáltatását felsoroló, a képernyőn fel-le görgetve tanulmányozható helpet ír ki, sajnos, angolul.
Nagyon tetszett, hogy a program "kiugrást" enged az operációs rendszerbe a DOS_SHELL menüponttal. Ilyenkor tetszőleges EXOS vagy EXDOS parancsot kiadhatunk, például megnézhetjük a lemezkatalógust. Az [ESC] billentyű lenyomásával ezután visszatérhetünk a SPRED-be. Természetesen magnós konfigurációnál ez a funkció nem hívható.
Ha a munkát befejeztük, programból nem kell magunkat "kirobbantani'' a RESET gombbal, mint sok-sok "lelőhetetlen" program esetében; sőt, az EXIT/RESET menüponttal választhatunk, hogy hideg resetet kérünk, illetve Basic-be vagy WP-be akarunk kilépni.
Ezeknek a "plusz" szolgáltatásoknak minden igényesebb programban meg kellene lenniük. A SPRED itt is magasra állította a mércét.
Összefoglalva: a SPRED egy nagyon kezes, jól használható, teljesen EnterSPRITE kompatibilis sprite tervező program, amelyet nem nélkülözhet az, aki a programjait szellem-grafikával akarja színesíteni és élénkíteni.

A "FUNCTIONS" főfunkció
A képernyőn megjelenik a szerkesztési, a fázisokat és az elérhető színeket tartalmazó terület. A szerkesztési területen készíthető el a sprite egy adott fázisa. A fázisterület legfelső, bal oldali részén a szerkesztés alatt álló sprite-fázist láthatjuk mérethelyesen. A mellette levő négyzetben a sprite-animáció látható. Ennek lényege, hogy a program folyamatosan olvassa a fázisokat, és megjeleníti azokat. Az alsó nyolc négyzet sorrendben a sprite-fázisokat tartalmazza. A legalsó téglalap a színeket tartalmazza, a szín felett látható jelző (marker) azonosítja az aktuális rajzolási színt.

  1. Workspace
    Belépünk a szerkesztési területre. A területen letett pont mérethelyesen látható a fázisoldal bal felső helyén. A gyorsabb színválasztás érdekében a színeket a [1], [2], [3], [4], [5], [6], [7], [8], és az alattuk lévő [Q], [W], [E], [R], [T], [Y], [U], [I] billentyűk lenyomásával is elérhetjük. A marker ekkor a kiválasztott szín felett Áll meg.
  2. Selector
    Az aktuális rajzolási szín választható ki a színmenüből.
  3. Operation
    A szerkesztés alatt álló sprite-on műveleteket végezhetünk.
  4. Assemble
    A főfázis és a kész fázisok összeállítása.
  5. Palette
    A rajzolási színek kiválasztása.
  6. Supply
    A fázisok ideiglenes tárolása.
  7. Clear
    Törlési műveletek.

Az "OPTIONS" főfunkció
Az EXOS, az EXDOS, és a SPRED saját változóinak beállítása. A változók egyes típusai számértékeket, míg másik részűk két értéket (ON és OFF) vesznek fel. A SPRED mindig a változó aktuális értékével jelentkezik be.

  1. Exos
    Az Exos SPRED számára fontos változói állíthatok be. A változok a szabványos elnevezésekhez igazodnak, jelentésűk minden felhasználó számára világos.
  2. Exdos
    Az Exdos SPRED számára fontos változói állíthatók be. A változók a szabványos elnevezésekhez igazodnak, jelentésük minden felhasználó számára világos.
  3. Main
    A SPRED saját változóinak beállítása.

A "FILE/DEVICE" főfunkció
A sprite-ok elmentése, betöltése, és az alapértelmezésű eszköznév beállítása lehetséges itt.

  1. Load
    A megadott nevű sprite-ot betölti.
  2. Save
    A megtervezett fázist a megadott néven elmenti.
  3. Device
    Exdos jelenléte esetén az alapértelmezésű eszköznevet lehet beállítani.

A "HELP_PAGES" főfunkció
A SPRED lehetőségeit összefoglaló angol nyelvű felhasználói támogatás.

A "DOS_SHELL" főfunkció
Exdos megléte esetén kilépési lehetőséget ad az Exdos parancs-értelmezőbe. FONTOS! Mivel valamilyen hiba van az Exos-Exdos illeszkedésnél, néha az Exdos-ból való kilépéskor a SPRED nem tud tovább futni. Ez NEM a SPRED hibája. (Ugyanez a hiba jön elő néha a WP-Exdos csatlakozásnál is.)

Az "EXIT/RESET" főfunkció
Kilépés a SPRED-ből. A program a kilépés végrehajtására rákérdez.

  1. Reset
    Végrehajtása hidegresetet eredményez.
  2. Basic
    Belépés a Basic-be.
  3. WP
    Belépés a WP-be.