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.)