NBrowser / ZX Spectrum Next / NextZXOS

NBrowser: file browser a file picker s myší

Tenhle program vznikl vlastně úplně jednoduše: někdo se mě zeptal, jestli bych dokázal napsat pro ZX Spectrum Next výběr souboru s podporou myši, který vrátí vybranou cestu a název hry zpátky do BASICu.

Existující .browse tohle umí jen částečně a myš nepodporuje. A tak vznikl NBrowser – nejdřív jako odpověď na jeden konkrétní požadavek, ale velmi rychle z toho vyrostl plnohodnotný dvoupanelový správce souborů.

„Dokázal bys napsat program picker pro Spectrum Next s podporou myši, který vrátí vybranou cestu a název hry do string proměnné v BASICu? Současný .browse myš neumí. Bylo by skvělé mít dot command, který to zvládne.“

Od file pickeru k plnohodnotnému browseru

NBrowser běží v hi-res režimu ZX Spectrum Next v rozlišení 640×256 s ostrým pixelovým písmem. Ovládat se dá kompletně myší i klávesnicí. Je to dot command, takže v NextBASICu stačí napsat .nbrowser. Po ukončení se vrátíte zpět do BASICu.

Program má dvě role:

  • File browser – otevírá soubory stejně jako Browser v NextZXOS a používá stejný browser.cfg.
  • File picker – pomocí .nbrowser f$ necháte uživatele vybrat soubor a jeho plná cesta se vrátí přímo do BASIC stringu.

Právě druhý režim byl původním důvodem vzniku programu. Pokud píšete vlastní menu, launcher nebo jiný BASICový nástroj, může NBrowser fungovat jako praktická náhrada za .browse.

Myš i klávesnice

  • Kliknutím položku vyberete, dvojklikem otevřete.
  • Pravé tlačítko otevře kontextové menu.
  • Kolečkem rolujete seznam.
  • Kliknutím na záhlaví sloupce změníte řazení.
  • Ukazatel myši se objeví až ve chvíli, kdy myší skutečně pohnete. Pokud ji nepoužíváte, nic na obrazovce nepřekáží.

Všechno jde ale ovládat i z klávesnice, takže myš je příjemný bonus, nikoli povinná výbava.

Dva panely

NBrowser má dva nezávislé panely. Každý si drží vlastní adresář, vybranou položku i způsob řazení. Soubory můžete přetáhnout do druhého panelu a zvolit Copy here nebo Move here. Jinými slovy: trochu Calm Commander,...

Kopírování, přesun, mazání a přejmenování

  • Kopírování a přesun souborů i celých adresářových stromů.
  • Mazání souborů i adresářů včetně obsahu.
  • Přejmenování souborů a složek.
  • Průběhové okno ukazuje aktuální soubor, jeho průběh i stav celé operace.
  • Při kolizi existujícího souboru jsou dostupné volby Overwrite, Overwrite all, Skip, Skip all a Cancel.

Označování souborů

Položky lze označovat klávesou SPACE, kliknutím na ikonu, přes SHIFT+klik pro rozsah nebo EXT+klik pro jednu položku.

Funguje i označení podle masky, například:

*.tap *.tzx

K tomu slouží klávesy +, - a *. Kopírování, přesun, mazání i drag & drop potom pracují se všemi označenými položkami.

Quick View

Pomocí EXT+Q lze vybraný soubor zobrazit přímo ve druhém panelu.

  • Obrázky: SCR, NXI, SL2 256×192 / 320×256 / 640×256 s paletou i bez ní a BMP v režimech 1, 4, 8, 24 a 32 bitů.
  • Snapshoty: SNA 48K/128K a všechny verze Z80.
  • Pásky: bloky TAP a TZX.
  • BASIC: listing programu včetně ZX BASIC a NextBASIC keywordů.
  • Text a hex: prvních 8 KB souboru.

Text, hex a BASIC listing lze posouvat kolečkem myši, případně přes TRUE VIDEO a šipky.

Hudba při procházení souborů

NBrowser umí přehrávat hudbu na pozadí, zatímco dál pracujete se soubory.

  • PT3
  • PT2
  • MXC včetně SID voices a samplovaných bicích z MXTrackeru
  • STC
  • STP
  • SQT

V Quick View se při přehrávání zobrazuje spectrum analyser. Po skončení skladby se automaticky spustí další hudební soubor v adresáři.

Hledání a porovnávání adresářů

  • EXT+F vyhledá soubory podle masek v aktuálním adresáři i všech podadresářích.
  • EXT+G porovná oba panely. Soubory, které na druhé straně chybí nebo jsou starší, se automaticky označí a jsou připravené ke kopírování.

Disky, oblíbené složky a historie

Pomocí EXT+B se otevře nabídka disků a oblíbených adresářů. NBrowser má také historii složek: EXT+5 jde zpět a EXT+8 vpřed. Každý navštívený adresář si navíc pamatuje položku, kterou jste v něm měli vybranou.

Otevírání souborů

NBrowser používá stejný browser.cfg jako Browser NextZXOS, takže stávající asociace souborů zůstávají zachované. Podporuje také rozšířené akce z enBrowsext.cfg, odkazy .lnk, adresáře .RUN a nabídku aplikací z enMenus.cfg. Pokud pro nějaký typ souboru není definovaný program, NBrowser se jednou zeptá, který dot command má použít, a asociaci následně přidá do browser.cfg.

Nastavení a nápověda

  • Tři témata: Light, Dark a ZX Spectrum.
  • Pruhované řádky.
  • Zobrazení skrytých souborů.
  • Výchozí řazení.
  • Vlastní textový editor a viewer, například .nword.

Klávesa ? otevře vestavěnou nápovědu s tématy a hledáním. Stačí začít psát slovo a seznam se zúží na témata, která ho obsahují.

Malý a rychlý při startu

Méně používané části nejsou trvale v paměti. NBrowser je načítá jako pluginy až ve chvíli, kdy jsou potřeba. Díky tomu zůstává samotný dot command relativně malý a rychle startuje.

Požadavky

  • ZX Spectrum Next s NextZXOS 2.07 nebo novějším.
  • Myš je volitelná. Vše funguje i čistě z klávesnice.

Instalace

Soubor NBROWSER zkopírujte do:

C:/DOT/

Pluginy *.nbp patří do:

C:/SYS/NBROWSER/

Program a pluginy vždy kopírujte společně. Musí pocházet ze stejné verze.

Potom v NextBASICu stačí napsat:

.nbrowser

BREAK nebo křížek vpravo nahoře program zavře. Nastavení se ukládá do c:/sys/nbrowser.cfg.

Výběr souboru z BASICu

Tohle je funkce, kvůli které celý NBrowser původně vznikl.

PříkazVýsledek
.nbrowser f$f$ obsahuje plnou cestu k vybranému souboru. Při zrušení je prázdný.
.nbrowser f$ n$n$ obsahuje pouze název souboru.
-t tap -t tzxPovolí pouze vybrané typy souborů. Podporované jsou masky ? a *.
-p "text"Vlastní text výzvy ve stavovém řádku.
--dir "c:/games"Výchozí adresář.
-8Vrací krátké názvy ve formátu 8.3.
--cdPo výběru zůstane BASIC v adresáři vybraného souboru.

Příklad: jednoduchý launcher her

10 .nbrowser -t tap -t nex -p "Choose a game" f$ n$
20 IF f$="" THEN STOP
30 PRINT "Loading ";n$
40 LOAD f$

Volby původního .browse NBrowser akceptuje a ignoruje, takže v mnoha existujících programech stačí jednoduše nahradit .browse za .nbrowser.

Hlavní klávesy

KlávesaFunkce
ENTER / DELETEOtevřít / o adresář výš.
SYM+ENTERKontextové menu.
EXT+C / EXT+X / EXT+VKopírovat / vyjmout / vložit.
EXT+N / EXT+E / EXT+K / EXT+IPřejmenovat / smazat / nový adresář / informace.
SPACE, +, -, *Označování položek a práce s maskami.
EXT+W / TRUE VIDEODva panely / přepnutí panelu; v Quick View rolování.
EXT+Q / EXT+PQuick View / přehrát nebo zastavit hudbu.
EXT+F / EXT+GHledat soubory / porovnat adresáře.
EXT+B / EXT+5 / EXT+8Disky a oblíbené / zpět / vpřed.
EXT+S / EXT+RZměna řazení / obrácení řazení.
EXT+O / ?Nastavení / nápověda.

EXT = CAPS SHIFT + SYMBOL SHIFT, BREAK = CAPS SHIFT + SPACE, TRUE VIDEO = CAPS SHIFT + 3.

Jedna malá prosba, jeden trochu větší program

NBrowser měl původně udělat jedinou věc: umožnit uživateli vybrat soubor myší a vrátit jeho cestu do BASICu. Jenže jakmile už máte prohlížeč souborů, dva panely, myš a vlastní UI, začne být velmi lákavé přidat „ještě jen jednu věc“. Výsledkem je správce souborů, file picker, viewer, hudební přehrávač a náhrada za .browse v jednom. Takže ano – zadání jsem asi trochu překročil.

Program si můžete stáhnout zde: https://shrek128.itch.io/nbrowser-zx-spectrum-next