programy/betadisk/boot/Cygnus/cygnus-boot-21

 Cygnus

Cygnus Boot 2.1

Boot je určen k usnadnění spouštění dalších programů z disket. Protože je na disketě uložen pod jménem boot.b, tak ho TRDOS po resetu načte (je-li správně nastaven) a spustí. Program Cygnus Boot pak načte adresář, setřídí podle jmen souborů a přehledně ho zobrazí.

Program jsem se snažil napsat co možná nejmenší, ale bohužel přesto se nevejde na jednu stopu (tj. do 4096 bytů), takže jeho načítání by mohlo být ještě o něco málo rychlejší. K setřídění je použitý algoritmus bubble sort, protože jsem tenkrát nic lepšího neuměl, což může výrazně zpomalit zobrazení většího počtu souborů, ale to naštěstí nenastává často.

Ovládání programu

Program je napsán tak, aby ho bylo možno ovládat co možná nejvíce způsoby aniž by bylo cokoliv třeba nastavovat, nebo aniž by ovládání navzájem kolidovalo. Největší problém byl v kombinaci Kempston Joystick a Amiga myši, protože obě zařízení komunikují na stejném portu. To je řešeno autodetekcí stavu, který nemůže na joysticku nikdy nastat (směr nahoru a dolů, nebo vlevo a vpravo zároveň), zatímco na připojené myši nastává běžně po několika málo cm pohybu. Krom toho lze kurzor samozřejmě ovládat klávesnicí, resp. joystickem, který je na klávesnici mapován.

Čím lze ovládat

  • Sinclair Joystick = 6-vlevo, 7-vpravo, 8-dolu, 9-nahoru, 0-fire
  • Amiga mouse = TTL myš zapojená na port 31 (viz. popis čipu 8255 a myší)
  • klávesa 1 přepne na disk A
  • klávesa 2 přepne na disk B
  • klávesa 3 přepne na disk C
  • klávesa 4 přepne na disk D
  • klávesa enter způsobí znovunačtení a zobrazení obsahu diskety, užitečné např. při její výměně

Funkce ikonek

  • kliknutím na soubor se nejprve označí (např. pro zobrazení obrázku), druhým kliknutím se označený soubor spustí
  • A,B,C,D - změna mechaniky
  • VIEW - zobrazení obrázku a to i komprimovaného Pressorem (4,5,6 ?), funguje autodetekce
  • SRAM - načte 16kB nebo 32kB ROM do statické RAM, k tomu aby funkce něco provedla je nutné mít vestavěnu kompletní úpravu ISO-ROM 128
  • NEXT PAGE - zobrazí další stránku souborů pokud se tyto nevešly na první
  • D/A OUT - před spuštěním programu inicializuje UR-4, nebo kompatibilní interface s 8255 jako výstup pro přehrávání hudby přes tříkanálový D/A převodník

Známé chyby

V současné době znám jen jednu fatální chybu programu, ale bohužel nemám čas ji odstranit. Důsledkem chyby je nefunkční kopie programu při použití tlačítka COPY. Druhý drobný nedostatek je důsledkem testování myši, joysticku a klávesnice zároveň, to způsobí zamrznutí programu po stisknutí tlačítka v emulátorech i na reálných Spectrech, která nemají port 31 (jedno jestli interface s 8255, nebo alespoň Kempston joystick). Například v emulátoru Fuse stačí povolit emulaci Kempstonu a program bude fungovat.

Cygnus Boot 2.1

  [4 kB]
[Stáhnuto   35 × - naposledy dne:  28. 3. 2024, 19:11 ]



Cygnus Boot 2.2

Nejvýraznější změnou GUI je zvětšení sloupců se jmény souborů o dva řádky, vynechání jména diskety z azurového rámečku nad nimi (je přesunuto do titulku okna). Zrušil jsem i funkci autocopy, protože v praxi byla skoro k ničemu.

Pro zajímavost - jeden řádek výpisu přibyl díky použití vlastního tiskového programu. Původně používaný kód v ROM (RST16) má stejná omezení jako PRINT v BASICu. Za cenu pár desítek bytů navíc je v booteru nyní výrazně odolnější kód, který určitě nebude nežádoucím způsobem interpretovat řídící znaky jako token a pod.

Delší kód některých částí programu jsem si mohl dovolit díky přepsání GUI. Ve verzi 2.1 bylo okno booteru vložené jako komprimovaný obrázek a do něj se zobrazovaly informace. Ve verzi 2.2 se celé GUI kreslí v booteru pomocí výpisu textu a obdélníků. Ve výsledku zabírá asi polovinu RAM a dokonce je vykresleno o trochu rychleji.

Další důležité změny

  • podpora KMouse Turbo včetně práce s kolečkem
  • propracované ovládání klávesnicí, odhadnutelné klávesové zkratky
  • důkladnější ošetření všech chyb, které mohou nastat při práci s disketou
  • rychlejší zpracování souborů a seřazení podle abecedy (heapsort)
  • vylepšený instalátor obsahu ISOROM

Podpora KMouse byla nutnost, AMouse nelze mít trvale připojenou, protože se ve většině poloh clonek spoustě programů jeví jako sepnuté směry Kepston joysticku. Naproti tomu KMouse existuje i v interním provedení zabudovatelném do ZX Spectra a je mnohem více podporována ruskými klony ZX Spectra. Nekoliduje. Lze připojit i relativně moderní optické PS/2 myši, nejenom TTL kuličkové. Volba tedy byla jasná. Ovladač AMouse jsem zcela odstranil a místo něj je ovladač KMouse s kolečkem a dvěma tlačítky.

Ne vždy je myš k dispozici, proto jsem se pokusil usnadnit práci s Booterem pomocí klávesnice použitím mnoha klávesových zkratek, díky kterým není nutné přejíždět šipkou přes celou obrazovku kvůli zobrazení informací o souboru, zobrazení obrázku atd...

Cygnus Boot 2.2.1

  [5 kB]
[Stáhnuto   4 × - naposledy dne:  28. 3. 2024, 19:11 ]


Cygnus Boot 2.2.3

Ačkoli jsem už s verzí 2.2.1 byl docela spokojen, v průběhu pár let se mi nahromadilo pár drobných detailů, které jsem ještě chtěl opravit, nebo doplnit. Postupně přibyla i možnost vypnout řazení souborů (T), přepínat filtr zobrazených souborů (F), pár oprav chyb a taky možnost znovu překreslit celé GUI klávesou R.

Občas se totiž stane, že TRDOS zobrazí hlášku s dotazem "Retry, Abort, Ignore?". Může se tak stát v emulátoru, pokud není vložena disketa, nebo není-li naformátovaná, může se tak stát na reálném hardwaru, je-li disketa poškozená a nějaký sektor je opravdu nečitelný. Protože však booter nepřekresluje své GUI po každém znovunačtení diskety, buď by kód byl složitější, nebo by to nepěkně, byť velmi krátce, probliklo při každém načtení diskety. Proto jsem problém vyřešil přidáním klávesové zkratky.

Zajímavé je, že na reálném hardwaru, pokusím-li se zobrazit disketu v prázdné disketové mechanice, tak TRDOS správně detekuje nepřítomnost diskety a booter správně ohlásí "NO DISC!" a k žádnému poškození GUI nedochází, nikoli však ve Fuse emulátoru (určitě 1.4.0 a starších).

Základní ovládání

  • O,P,Q,A - pohyb šipkou - často používané a oblíbené klávesové ovládání
  • 6,7,8,9 - pohyb šipkou - Sinclair Joystick, nebo klávesnice - dle osobních preferencí
  • M,0 - kliknutí jako levým tlačítkem myši
  • N - kliknutí jako pravým tlačítkem myši
  • W,S - klávesová zkratka pro scroll, jako pootočení kolečka myši

Klávesové zkratky

  • 1,2,3,4 - načtení diskety v mechanice A,B,C,D
  • ENTER - znovunačtení diskety
  • C - CAT, zobrazí katalog diskety
  • V - VIEW, pokud je vybrán bytes, nebo snapshot, booter zkusí zobrazit obrázek
  • I - INFO, zobrazí informace o souboru
  • E - Exit, booter se ukončí a zavolá příkazový řádek TRDOSu
  • K - vypne/zapne KMouse pro případ, že by nefungovala správně autodetekce

Ve verzi 2.2.3, kterou lze poznat asi jen podle délky 4322 bytů oproti 4321 bytům verze 2.2.1, protože na informaci o verzi v booteru nezbylo místo, kromě oprav pár drobných chyb, přibyly ještě tyto klávesové zkratky.

  • R - provede kompletní reload a překreslení GUI, blikne, pomalejší než ENTER, ale řeší problém s poškozeným GUI po dotazu TRDOSu
  • F - přepíná filtr, klávesová zkratka ekvivalentní kliknutí myší na filtr BASIC, Snapshot, Bytes.
  • T - vypne/zapne řazení souborů podle abecedy (S jako sort by bylo lepší, ale už je obsazené)

Instalace obsahu ISOROM a přepnutí čipu 8255 jako výstup nemá klávesovou zkratku, protože to nejsou často používané funkce. Naopak chybí ikonka pro CAT, protože se mi do GUI nehodila.

Cygnus Boot 2.2.3

  [5 kB]
[Stáhnuto   5 × - naposledy dne:  28. 3. 2024, 19:11 ]

cygnus

Stránka byla už zobrazena: 252 ×
  Aktualizováno: 2. 12. 2020, 05:54



     psp-ikona.gif, 2 kB    Text to HTML converter and formatter  builder_ikonka.gif, 3 kB
           
  Best Old Games      kabelmanie.gif, 2 kB  root_ico.gif, 2 kB  český diskmag pro počítače ZX Spectrum a kompatibilní
synapse.gif, 4 kB   TuningPC.cz - Vše pro tuning a casemodding vašeho PC        pspad88x31.gif  delphix.gif, 1 kB
sgatlantis_88x31_3.jpg, 4 kB  atlan.gif, 22 kB  arkon.jpg, 12 kB  ico_abeceda.gif, 888B  blog.idnes.cz   
           
       
 
  torry_logo.gif, 4 kB  

Stránka načtena za 0.00188 sekund.