Program TConvert

Co to umí
Hlavní, co to umí, je nahrát turbo 2000 program na libovolné místo v paměti a uložit ve formátu DOS 2.5. V případě, že běží PC disková emulace, je takto možno turbo 2000 program snadno přenést do PC.

Dále to umí nahrávat prosté DOS 2.5 soubory. Tím slovem prosté míním formát:
$FF $FF hlavička
dva byty počáteční adresa
dva byty koncová adresa
...
data příslušné délky (=koncová adresa - počáteční +1)
...
$E0 $02 $E1 $02
dva byty startovací adresa

Nesmí tam být nic více a nic méně. Adresy jsou ve formátu dolní byte, horní byte, jak je u této platformy obvyklé.

Dále je možné turbo 2000 i DOS 2.5 programy spouštět. Je-li program nahrán na své místo v paměti, je spuštěn přímo. Pokud ne, je před spuštěním přesunut na své místo bez ohledu na to, co se tím v paměti přemaže. Přesun je řešen samostatnou rutinkou, která se nejprve přesune na adresu $400 (kazetový buffer) a potom tato rutinka přesune spouštěný program. Je tedy možné spuštěním nahraného programu i přemazat celý program TConvert.

Co to umí navíc oproti podobným programům (TSD, TTDOS, apod.)
V případě jakékoliv manipulace s nahraným programem je testováno, zda není poškozen. V případě poškození je vypsána hláška "FILE CORRUPTED" a další práce s programem je znemožněna. K poškození může dojít v důsledku vadné RAM (vadná RAM se bohužel často projevuje jen tak, že se občas náhodně změní obsah jednoho bitu). Dále k poškození může samozřejmě dojít tak, že TConvert opustíme, pracujeme s jiným programem a pak se k TConvertu vrátíme. Upozorňuji, že pokud se vám objevuje při práci s TConvertem hláška FILE CORRUPTED, aniž by bylo z TConvertu odskočeno do jiného programu, pak to znamená, že máte vadnou RAM ! Kontrola se provádí podélnou paritou a využívá se toho, že u turbo 2000 programů je informace o podélné paritě součástí záznamu.

Další výhodou je možnost nahrát program na zvolené místo v paměti.

Počáteční, koncová a startovací adresa jsou zobrazeny ihned po načtení hlavičky. Uživatel má možnost volby, zda chce nahrát program, pokračovat v hledání, nebo ukončit funkci.


Takhle to vypadá

TConvert po svém spuštění zobrazí rozsah adres, kde se sám nachází v paměti, adresu svého vlastního restartu (to se hodí v případě, že odskočíme do DOSu, či jinam), dále volný rozsah adres a adresu "bufferu". Za volné adresy se považují adresy počínaje MEMLO a až po začátek TConvertu. TConvert hlídá, zda není během I/O operací zasahováno mimo tuto oblast. Protože běžně užívané DOSy pro Atari nastavují MEMLO nad svou koncovou adresu, TConvert chrání nahraný DOS a chrání sám sebe. Jako buffer se označuje zvolené místo v paměti, kam se nahraje program, který je v konfliktu s DOSem nebo TConvertem. Adresu bufferu lze zvolit.

Ovládání TConvertu se provádí pomocí klávesových příkazů, podobně jako u Atari DOSu nebo MyDOSu a domnívám se, že průměrně inteligentní člověk s minimální znalostí počítačové angličtiny ho ihned pochopí. Úvodní obrazovku se seznamem povelů lze kdykoliv vyvolat stiskem klávesy Return. Jako "prompt sign", t.j. oznámení, že počítač čeká na povel, jsem zvolil znak # (zvaný hashmark, sharp, zahrádka, křížek, ...). Znak ^ v seznamu povelů označuje klávesu Control.

Příkazové povely
A - Zobrazení adresáře. Po zvolení této funkce je nutno napsat jméno zařízení a masku, např. D:*.* vypíše se obsah adresáře diskety (ať už fyzické, nebo emulované).

L, ^L - Nahraje prostý DOS 2.5 program do paměti. Jak již bylo řečenom, znak ^ v seznamu povelů označuje klávesu Control. L se nejprve pokusí nahrát program na své místo v paměti a v případě konfliktu se nahraje do "bufferu". ^L nahraje vždy program do bufferu. Protože adresu bufferu lze zvolit, je takto možné nahrát program na libovolné volné místo v paměti. V obou případech je nutné zadat jméno zařízení a název souboru, např. D2:abcd.obj

I, ^I - Nahraje turbo 2000 program. Rozdíl mezi I a ^I je stejný jako mezi L a ^L. Není potřeba nic specifikovat. TConvert u nalezených programů zobrazí název a ptá se, zda tento nalezený program chcete nahrát. TConvert jsem vybavil malou "specialitkou" - pokud se nic nenahrává, jsou pruhy na obrazovce červené. Pokud se nahrává, jsou šedo-černé. Tip: pokud netušíte nic o rozdělení adres a uvedené vysvětlení se vám zdá složité, užívejte prostě I - nahrát turbo 2000 program. TConvert sám udělá, co je potřeba. Funkce ^I je určena pro vyspělejší uživatele.

S - Program v paměti uloží ve formátu DOS 2.5 na libovolné zařízení. Opět je nutné zadat jméno zařízení a název souboru, např. D:xyz.obj

P - Vypíše informace o nahraném programu, zejména co se týká adres. Dále provede kontrolu, zda program nebyl poškozen a případně vypíše chybu "FILE CORRUPTED"

R, ^R - Spustí nahraný program. R je určeno k přímému spouštění, ^R nejprve zjistí, zda je program na správném místě v pameti, v případě potřeby ho přesune a následně spustí. Proces přesunu je vysvětlen výše.

Z - Umožňuje zadat počáteční adresu bufferu (v šestnáctkovém tvaru). Zadáte-li zde např. 2000 a poté zvolíte ^I, nahraje se turbo 2000 program na adresu $2000.

X - Provede instrukci RTS. Touto funkcí se lze vrátit k DOSu. Je-li TConvert spuštěn z jiného programu instrukcí JSR, lze se tímto příkazem vrátit k programu, z něhož byl spuštěn TConvert.

Několik slov závěrem

Tento program je vlastně bočním produktem jiného projektu. Původním cílem byl program na úrovni operačního systému, který by umožnil volně pracovat se soubory v nejrůznějším formátu, nahrávat je na libovolná místa v paměti a libovolně konvertovat. Systém měl podle původního plánu umět pracovat s libovolným zařízením, t.j. hlavně kazeta standard, kazeta turbo, disketa a RAM-disk. Systém byl psán jako modulový. Pro případ, že by někdo nechtěl pracovat s turbo kazetou, nemusel si nahrát příslušný modul a ušetřit tak místo v paměti.

Z pochopitelných důvodů jsem se však rozhodl zastavit další vývoj tohoto produktu. Nicméně pokud by někdo měl pocit, že mu zde chybí nějaká funkce, ať mi pošle mail a já ji tam dopíšu.

TConvert je 100% freeware.


Návrat na hlavní stránku
Vladimír tichý
sdq@post.cz