Jak nahrávat ze ZX Microdrive

Neumíte? Nebo si jen myslíte, že to umíte?

Ať si kdo chce co chce říká, ať si Technology Research slzy utírá, Sinclair nám jako mass storage zařízení daroval ZX Interface 1 a to prostě ke Spectru patří jak k vembloudovi hrby.

A rovnou se ptám: Jak má ideálně vypadat zaváděcí Basic programu?

ZX Interface 1, stejně jako Sinclair QL, pracuje s absolutní cestou k souboru a v podstatě nezná nic jako “aktuálně nastavenou cestu” nebo “aktuální zařízení”.

Štvalo mne na D40, že bylo nutno přepisovat úvodní basicové zavaděče a dopisovat hvězdičky. Jako by nestačilo použít prostě LOAD “soubor” s tím, že by se předtím nastavilo vstupní a výstupní zařízení (třeba pomocí SAVE TO “t:”, LOAD TO “a:”).
ZX Interface 1 ale není jiný (sice bohužel, ale prostě to tak je, přotože to tak příroda… protože to tak Sinclair chtěl).
Takže nemůžeme počítat s tím, že by v úvodním Basicu bylo prostě jen LOAD a příslušný soubor by se natahoval z nastaveného zařízení (microdrivu, sítě, RS-232, …).

Takže jak to vypadá v takovém zavaděči?
Samozřejmě se nahrává z microdrivu. A najdete tam toto:
LOAD *”m”;1;”soubor” CODE

Vzal to čert, jednou už tam to “m” je, tak budeme nahrávat z microdrivu.
Co se ale stane, když strčíte kazetku do microdrive jednotky číslo 2 a zkusíte nahrát pomocí LOAD *”m”;2;”program” ??

Ano, zavaděč se nahraje, hrábne na microdrive ěíslo 1, jak mu Basic přikazuje…
…a hodí chybu (Microdrive not present, pokud je jednotka 1 prázdná, nebo File not found, pokud v ní neco je – a chraň vás ruka páně, aby tam nebyl někde soubor stejného jména, jaký se pokoušíte nahrát z microdrivu číslo 2).

Tak tomu je ale konec.
Kdysi, snad ve zpravodaji Spectrum 602. ZO Svazarmu, jsem na to viděl takový trik, a nemohl jsem ho nikde vygooglit. Snad ani Angličani jej neznají.
Tak jsem tedy musel znovu vynalézat už vynalezené.

Každopádně, k jádru pudla:
Vezměte nyní své programy pro microdrive a upravte jejich basicové zavaděče takto:
LOAD *”m”;PEEK 23766;”soubor”

Soubory se pak budou vždycky nahrávat z toho microdrivu, ve kterém nahrajete jejich zavaděč.

(Zkoušel jsem vymyslet nějakou snadno zapamatovatelnou náhradu čísla 23766, ale na nic jsem nepřišel.)