Spindizzy

Z PMD 85 Infoserver

(Rozdiel medzi revíziami)
Rombor (Diskusia | príspevky)
(Doplnený text)
Rombor (Diskusia | príspevky)
(Malé úpravy textu)
Riadok 8: Riadok 8:
| developer = '''[[RM-TEAM]]'''
| developer = '''[[RM-TEAM]]'''
| author = '''[[RM-TEAM]]'''
| author = '''[[RM-TEAM]]'''
-
| version = {{Príkaz|SPINDZ}}, 2013<br />''(PMD 85-2A,3,C2717)''
+
| version = {{Príkaz|SPINDZ}}, 2013<br />''(PMD 85-2A, PMD 85-3, Consul 2717)''
| genre = logická hra
| genre = logická hra
| language = angličtina
| language = angličtina
Riadok 33: Riadok 33:
A nakoniec:
A nakoniec:
-
* je možné využívať '''Výťahy''', tie je však niekedy potrebné zapnúť
+
* je možné využívať '''Výťahy''', tie je však potrebné niekedy zapnúť
* vo '''Vode''' sa GERALD "utopí"
* vo '''Vode''' sa GERALD "utopí"
* po '''Ľade''' sa GERALD kĺže
* po '''Ľade''' sa GERALD kĺže
Riadok 46: Riadok 46:
* brzdenie - -1
* brzdenie - -1
* strata GERALDa - -5
* strata GERALDa - -5
-
* stretnutie s iným objektom - -2
+
* stretnutie s nepriateľom - -2
Obtiažnosť:
Obtiažnosť:
Riadok 63: Riadok 63:
* MAP - zobrazenie mapy
* MAP - zobrazenie mapy
* SCORE - zobrazenie aktuálneho stavu hry, typ obtiažnosti a možnosť uloženia a načítania aktuálneho stavu hry
* SCORE - zobrazenie aktuálneho stavu hry, typ obtiažnosti a možnosť uloženia a načítania aktuálneho stavu hry
-
* GERALD SHAPE - zmena vzhľadu GERALDa - pyramída, guľa, gyroskop
+
* GERALD SHAPE - zmena vzhľadu GERALDa - ihlan, guľa, gyroskop
Naviac možno pomocou klávesov K0 až K3 meniť pohľad.
Naviac možno pomocou klávesov K0 až K3 meniť pohľad.
Riadok 105: Riadok 105:
Hra vznikla portovaním rovnomennej hry pre ZX Spectrum, ktorú vytvoril v roku 1986 '''Paul Shirley''' a '''Phil Churchyard''' z '''Electric Dreams'''.
Hra vznikla portovaním rovnomennej hry pre ZX Spectrum, ktorú vytvoril v roku 1986 '''Paul Shirley''' a '''Phil Churchyard''' z '''Electric Dreams'''.
-
Rozhodnutie, portovať hru Spindizzy zo ZX Spectra na PMD 85, bolo svojim spôsobom veľmi ambiciózne. Už pôvodný čistý kód má 34kB (samozrejme, vrátane grafiky), takže bolo veľmi pravdepodobné, že sa portovaný kód do základnej pamäti 32kB na PMD 85 asi nevôjde. To sa nakoniec aj potvrdilo, takže hra je iba pre PMD 85-2A, PMD 85-3 a C2717, ktoré majú 64kB RAM a tak možnosť mať v oblasti 8000h až BFFFh rošírenú RAM.
+
Rozhodnutie, portovať hru Spindizzy zo ZX Spectra na PMD 85, bolo svojim spôsobom veľmi ambiciózne. Už pôvodný čistý kód má 34kB (samozrejme, vrátane grafiky), takže bolo veľmi pravdepodobné, že sa portovaný kód do základnej pamäti 32kB na PMD 85 asi nevôjde. To sa nakoniec aj potvrdilo, takže hra je iba pre PMD 85-2A, PMD 85-3 a Consul 2717, ktoré majú 64kB RAM a tak možnosť mať v oblasti 8000h až BFFFh rošírenú RAM.
-
Portovanie spočívalo v disassemblovaní pôvodného Z80 kódu a jeho prepis do i8080 inštrukcií. Vždy sa najprv určitá časť kódu analyzovala, okomentovala (ak bolo jednoznačne jasné, čo daná časť kódu robí; nie vždy to bolo úplne jasné), následne sa prepísala do i8080 a testovala už na PMD 85. Niektoré časti kódu, hlavne algoritmy izometrického zobrazenia, či viditeľnosti objektov v priestore, neboli zo začiatku vôbec jasné a boli iba "hrubou silou" prepísané do i8080. Až neskôr pri pochopení kódu ako celku sa dopisoval komentár.
+
Portovanie spočívalo v disassemblovaní pôvodného Z80 kódu a jeho prepis do i8080 inštrukcií. Vždy sa najprv určitá časť kódu analyzovala, okomentovala, následne sa prepísala do i8080 a testovala už na PMD 85. Niektoré časti kódu, hlavne algoritmy izometrického zobrazenia, či viditeľnosti objektov v priestore, neboli zo začiatku vôbec jasné a boli iba "hrubou silou" prepísané do i8080. Až neskôr po pochopení kódu ako celku sa dopisoval komentár.
-
Na PMD 85 je hra citeľne "lenivejšia", avšak proti PMD 85 hralo mnoho faktorov:
+
Na PMD 85 je hra citeľne "lenivejšia", hlavne ak je v miestnosti okrem GERALDa viac objektov (diamanty, výťahy, nepriatelia). Avšak, proti PMD 85 hralo mnoho faktorov:
* rýchlosť procesora: i8080@2MHz v PMD 85 vs. Z80@3,5Mhz v ZX Spectre
* rýchlosť procesora: i8080@2MHz v PMD 85 vs. Z80@3,5Mhz v ZX Spectre
* inštrukčná sada Z80 vs. i8080: V pôvodnom kóde sa využíva mnoho inštrukcií, ktoré i8080 nemá (indexové registre, 16 bitová aritmetika, rotácie a posuny), čo výsledý kód na PMD 85 predĺžilo a aj spomalilo.
* inštrukčná sada Z80 vs. i8080: V pôvodnom kóde sa využíva mnoho inštrukcií, ktoré i8080 nemá (indexové registre, 16 bitová aritmetika, rotácie a posuny), čo výsledý kód na PMD 85 predĺžilo a aj spomalilo.

Verzia zo dňa a času 11:59, 6. október 2013

Spindizzy

Spindizzy
Obrázok:Spindizzy_01.png
úvodný obrázok pri nahrávaní
Autor:RM-TEAM
Vývojár:RM-TEAM
Verzia:SPINDZ, 2013
(PMD 85-2A, PMD 85-3, Consul 2717)
Lokalizácia:angličtina
Žáner:logická hra
Download: pmd85emu_games_rm-team.zip

archív obsahuje verziu vo formáte súboru pásky PTP, ako aj image bootovateľnej diskety P32 pre MIKROS PMD 85 a diskety DZ8 pre CP/M Consul 2717.

informácie

Po objavení novej dimenzie, v ktorej sa nachádza neobyčajný svet vysiaci v priestore, ste dostali úlohu preskúmať ho. Dostali ste na to zariadenie s názvom GERALD - Geographic Environmental Reconnaissance Land-mapping Device, ktoré obsahuje základnú mapu povrchu a vy musíte preskúmať každú oblasť nového sveta. Na prieskum máte obmedzený čas, ktorý sa predlžuje navštívením ďalšej neobjavenej oblasti a zbieraním diamantov. Keďže nový svet visí v priestore, dávajte si veľký pozor na to, aby ste nespadli mimo. Vaše zariadenie bude síce obnovené a prenesené na posledne navštívenú lokáciu, stratíte však časť svojej energie vo forme času.

typy

V hornej časti obrazovky je informačný panel, ktorý obsahuje:

  • zostávajúci Čas
  • počet Miestností (oblastí), ktoré je ešte treba navštíviť, zmapovať
  • počet zozbieraných Diamantov
  • aktívované Prepínače

V pravej dolnej časti obrazovky je Kompas, ktorý ukazuje stále na Sever a uľahčuje orientáciu pri zmene pohľadu.

V niektorých miestnostiach sa v ľavej dolnej časti obrazovky zobrazuje Stopa, ktorá je vodítkom, ktorý Prepínač je treba zapnúť, aby sa v danej miestnosti niečo zobrazilo, alebo skrylo. Občas je potrebné zapnúť naraz dva prepínače, avšak pozor na to, že niektoré prepínače vypínajú iné prepínače.

Na východ od úvodnej miestnosti je sekcia pre začiatočníkov. V tejto časti je odpočítavanie času pomalšie a tak je tu možné expermentovať a vyskúšať si niektoré "zákonitosti" hry.

A nakoniec:

  • je možné využívať Výťahy, tie je však potrebné niekedy zapnúť
  • vo Vode sa GERALD "utopí"
  • po Ľade sa GERALD kĺže
  • Trampolíny možno využiť na preskakovanie

odpočítavanie času a obtiažnosť

Počiatočný čas je 100 jednotiek. Maximálny čas je 150 jednotiek.

  • navštívenie novej miestnosti - +8
  • zobranie diamantu - +10
  • normálne plynutie času - -1
  • brzdenie - -1
  • strata GERALDa - -5
  • stretnutie s nepriateľom - -2

Obtiažnosť:

  • HARD - normálne odpočítavanie času
  • MEDIUM - čas sa neodpočítava pri brzdení, čas môže byť väčší ako 150
  • EASY - čas sa vôbec neodpočítava ani nepripočítava

ovládanie

Hru možno ovládať voliteľnými klávesami a joystickom. Joystick ovláda smery a zrýchlenie. Testovanie Joysticku sa aktivuje, ak sa hra spustí pomocou FIRE na Joysticku. Testovanie navolených kláves však zostáva naďalej aktívne.

  • DOWN, UP, RIGHT, LEFT - pohyb GERALDa v danom smere
  • FIRE - zrýchľovanie GERALDa
  • FREEZE - zabrzdenie GERALDa na pevnom povrchu
  • PAUSE - pozastavenie hry
  • MAP - zobrazenie mapy
  • SCORE - zobrazenie aktuálneho stavu hry, typ obtiažnosti a možnosť uloženia a načítania aktuálneho stavu hry
  • GERALD SHAPE - zmena vzhľadu GERALDa - ihlan, guľa, gyroskop

Naviac možno pomocou klávesov K0 až K3 meniť pohľad.

  • K0 - otočenie pohľadu proti smeru hodinových ručičiek o 90°
  • K1 - otočenie pohľadu o 180°
  • K2 - otočenie do základného pohľadu
  • K3 - otočenie pohľadu v smere hodinových ručičiek o 90°

Klávesom STOP možno hru prerušiť.

uloženie a načítanie stavu hry

Z hlavnej obrazovky je možné načítať uložený stav hry a v samotnej hre po zobrazení SCORE je možné stav hry načítať aj uložiť. Uložené dáta obsahujú okrem samotného stavu hry aj typ obtiažnosti, zoznam navolených ovládacích klávesov a príznak o použití joysticku.

Uloženie stavu hry sa zapisuje do súboru, ktorého názov musí užívateľ zadať. Názov súboru môže mať 1 až 8 znakov. Na editáciu sa používajú tieto klávesy:

  • A až Z, 0 až 9 a pomlčka - pre samotné meno
  • <--- - zmazanie znaku pred kurzorom
  • CLR - zmazanie celého mena
  • EOL - potvrdenie zadaného mena
  • RCL - prerušenie vstupu

Súbor na magnetofónovej páske má vždy číslo 0 a typ #. Súbor na CP/M disku má vždy príponu SPD.

screenshoty

úvodné menu
úvodné menu
HELP obrazovka
HELP obrazovka
počiatočná miestnosť hry
počiatočná miestnosť hry
ďalšia z miestností
ďalšia z miestností
zobrazené SCORE hry
zobrazené SCORE hry
MAPA rozohranej hry
MAPA rozohranej hry

o vzniku...

Hra vznikla portovaním rovnomennej hry pre ZX Spectrum, ktorú vytvoril v roku 1986 Paul Shirley a Phil Churchyard z Electric Dreams.

Rozhodnutie, portovať hru Spindizzy zo ZX Spectra na PMD 85, bolo svojim spôsobom veľmi ambiciózne. Už pôvodný čistý kód má 34kB (samozrejme, vrátane grafiky), takže bolo veľmi pravdepodobné, že sa portovaný kód do základnej pamäti 32kB na PMD 85 asi nevôjde. To sa nakoniec aj potvrdilo, takže hra je iba pre PMD 85-2A, PMD 85-3 a Consul 2717, ktoré majú 64kB RAM a tak možnosť mať v oblasti 8000h až BFFFh rošírenú RAM.

Portovanie spočívalo v disassemblovaní pôvodného Z80 kódu a jeho prepis do i8080 inštrukcií. Vždy sa najprv určitá časť kódu analyzovala, okomentovala, následne sa prepísala do i8080 a testovala už na PMD 85. Niektoré časti kódu, hlavne algoritmy izometrického zobrazenia, či viditeľnosti objektov v priestore, neboli zo začiatku vôbec jasné a boli iba "hrubou silou" prepísané do i8080. Až neskôr po pochopení kódu ako celku sa dopisoval komentár.

Na PMD 85 je hra citeľne "lenivejšia", hlavne ak je v miestnosti okrem GERALDa viac objektov (diamanty, výťahy, nepriatelia). Avšak, proti PMD 85 hralo mnoho faktorov:

  • rýchlosť procesora: i8080@2MHz v PMD 85 vs. Z80@3,5Mhz v ZX Spectre
  • inštrukčná sada Z80 vs. i8080: V pôvodnom kóde sa využíva mnoho inštrukcií, ktoré i8080 nemá (indexové registre, 16 bitová aritmetika, rotácie a posuny), čo výsledý kód na PMD 85 predĺžilo a aj spomalilo.
  • grafika: Na ZX Spectre je celá scéna vyskladaná z "dlaždičiek" o veľkosti 16x8 bodov, teda 2x8=16 bytov na dlaždičku. Na PMD 85 je ale VideoRAM delená na šestice bodov vedľa seba, takže pôvodné grafické dáta nebolo možné priamo použiť. Preto bola grafika prekreslená a jedna dlaždička má na PMD 85 veľkosť 18x9 bodov, teda 3x9=27 bytov. Opäť v neprospech PMD 85...
  • aritmetika: Pôvodná aritmetika pre určenie pozície v scéne, či pohybu GERALDa používa obvyklé 16 bitové inštrukcie ADD, ADC a SBC. Na PMD 85 museli byť vytvorené špeciálne rutiny s aritmetikou, kde nižší byte 16 bitovej hodnoty je iba v rozsahu <0, 251>. Tieto rutiny nahrádzajú pôvodné jednoduché inštrukcie a trvajú samozrejme omnoho dlhšie.

Napriek vyššie uvedeným negatívnym faktorom je hra aj na PMD 85 hrateľná. Kód bol optimalizovaný na každom kroku, aby sa čo najviac zrýchlil. Naviac boli opravené tri zásadné chyby z pôvodného kódu.

Oproti pôvodnej verzii bola pridaná možnosť zvoliť si obtiažnosť, keďže hra je skutočne ťazká. Ďalšie uľahčenie hry je v podobe možnosti uložiť si rozohraný stav hry na kazetu alebo disk. A v neposednom rade má verzia na PMD 85 aj pekný úvodný obrázok, ktorý je na ZX Spectre iba ako jednoduchý "nadpis".