clanky/neco-malo-o-betadisku

Něco málo o BETADISKu

-Pro ZXM 5/1994 Pavel Čejka (CYGNUS)-

Úvodem

Za starých časů, je to asi rok, byl jsem i já "šťastným" majitelem Didaktiku Gama 89', se zabudovaným Melodikem, jednou BT100 a D40. Sestava to byla celkem provozuschopná, jenomže kamarád si pořídil ZX 128 a spolu s ním i hromadu programů pro l28-čku. V programování nejsem natolik zběhlý a tak se úpravy programů na Gamu nekonaly. Koupil jsem na inzerát ZX 128 +2. Jako zhýčkanému majiteli D40 mi vadilo nahrávání z kazet, navíc D40 se ZX 128 bez úprav nepracuje a úpravy nikdo neprováděl. Nezbylo než sehnat jiný řadič, který se ZX 128 pracuje. Dostala se mi do rukou MIKROBÁZE ročník 89 a tam je popsaná stavba BETADISKu i jeho funkce. Občas ho budu srovnávat s D40 a D80, ale budu psát jen D40 pokud platí pro D80 něco jiného, tak na to upozorním.

Porovnání formátů disket u D40/D80 a BETADISKu

D40 stejně jako BETADISK formátuje s dvojitou hustotou zápisu, tedy formát DD.

  • D40 - 40 stop, 9 sektorů na stopu a 512 bytů na sektor diskety 5 1/4" oboustranně i jednostranně
  • D80 (Kompakt) - 80 stop, 9 sektorů na stopu a 512 bytů na sektor diskety 3 1/2" oboustranně i jednostranně
  • BETADISK - formát 40 nebo 80 stop, 16 sektorů na stopě, 256 bytů na sektor, oboustranně i jednostranně, diskety 5 1/4" nebo 3 1/2" podle nastavení DOSu a podle možností připojené mechaniky

Jaké disketové mechaniky?

U Bety je pravděpodobně nejrozšířenější zapojení s 80-ti stopou mechanikou 5 1/4". Pravda 3 1/2" je menší, tišší atd., ale počítám-li s větší zásobou dat a programů, je cena disket DD 5 1/4" přibližně poloviční. Pokud vím, tak všichni Betadiskaři, které znám, mají právě 80-ti stopou 5 1/4". U Bety se vyskytují pravděpodobně nejčastěji kombinace dvou mechanik 5 1/4" 80 stop a nějaké další často užívané mechaniky, třeba 3 1/2" pro převody programů z D80.

K Betadisku je možné připojit 4 mechaniky s označením A, B, C, D. U D40 a D80 je možné připojit jen A a B, přičemž A je zapojena už od výrobce u řadiče a B je prodávaná zvlášť jako externí.

Pokud jde o 80-ti stopou 5 1/4" DD, asi ji seženete jen v bazaru, ale celkem úspěšně jsem připojil mechaniku TEAC HD. Aby uměla i zapisovat, bylo nutné přemístit dvě propojky. TRDOS 5.05, který mám je programován na 80-ti stopé mechaniky, takže je nutné ho upravit, pokud chcete používat mechaniku 40-ti stopou. Na 80-ti stopé mechanice čte diskety formátované 40-ti stopou mechanikou naprosto bez problémů.

MDOS po RESETu testuje, jaká mechanika je připojena a proto je možné mechaniky kombinovat podobně jako u Bety. Test připojené mechaniky prováděl i starý TRDOS 5.03, jenomže BETADISK po resetu nahrává z disku BOOT program a tak test poněkud zdržoval. Nové verze DOSu ho tedy nemají a pokud vím, nikomu to nevadí.

Vliv jednotlivých systémů na paměť počítače

D40 nemá na paměť vliv žádný. Celý systém je uložen ve 14 kB ROM a má vlastní 2 kB SRAM, kterou využívá pro svoje operace a data.

Betadisk nemá na pamět' vliv jen v případě, nebyl-li spuštěn, jinak posouvá BASIC o 112 bytů výš. Tam ukládá vlastní systémové proměnné (podobně jako INTERFACE l) a pro některé operace využívá krátkodobě dalších 256 bytů ve WORKSPACE nebo pod BASICem. Chcete-li současně připojit Mikrodrive a Betadisk, bude se BASIC posouvat dále nahoru, jinak se však tato zařízení celkem snesou.

Použitelnost u různých počítačů

D40 lze připojit ke všem Didaktikům i Didacticům, bez problémů i k běžnému ZX 48k, Plusku i Deltě. Problémy nastanou až s připojováním k ZXl28k+,+2,+2A,+3 a dalším jako Timex, ale ty neznám. U ZX128k jsou totiž problémy se stránkováním ROM. D40 je nutné upravit a spolu s ní i počítač, nevím ale, jak se to projeví na kompatibilitě. Úprava není nijak složitá (nepište mi, já ji neznám, viděl jsem ji pouze jednou), spočívá v několika propojkách a jednom IO. Úpravu prováděl mému kamarádovi p. Drexler a spolu s výměnou ULY do ZX128k +2A si naúčtoval asi 2500 Kč! Navíc s použitého IO smazal pro jistotu i číslo, snad aby mu nemohl nikdo konkurovat. Přesto je to obvod TTL nejspíše řady 74xx (Úpravu vám udělají i v Kompakt Servisu ve Veselí nad Moravou, pozn. redakce) [1].

Betadisk lze připojit ke všem čtyřicetosmičkám i k ZX128k+, +2. Nelze však připojit k ZX l28k +2A a +3. U Didak(c)tik(c)ů je nutné upravit napájení podobně jako u UR-4. Betadisk se připojuje přímo na zdroj 9V a přes něj je potom napájen počítač a protože Didak(c)tik(c)y nemají 9V zdroj, je potřeba napájet Betadisk až za stabilizátorem 7805 5V z počítače.

Napájení Betadisku závisí také na použitém řadiči, ale starší řadič WD 1793 už asi neseženete, ten totiž potřebuje oproti novějšímu WD 2793 napájecí napětí 12V a i další dva IO. V D40 je použitý obvod řadiče 2797, ten je velice podobný, liší se od 2793 pouze softwareovým ovládáním.

Použitelnost dalších zařízení spolu s diskovým systémem

U D40 je výběr omezen pouze na zařízení plně nebo alespoň téměř plně prostupná, jako je třeba MELODIK nebo BEST apod. D40 se totiž připojuje k počítači neprostupným kabelem ačkoliv udělat kabel prostupný u D40 by bylo mnohem snazší než u Betadisku.

Betadisk prostupný je a to pro úplně všechny signály. Pouze signál IORQ/ je během činnosti DOSu zablokován pro další periferie. To však vůbec nevadí, jak už jsem se zmínil, současně s Betou lze bez problémů použít INTERFACE l, UR-4 (D40 obsahuje jeho ekvivalent) a u ZX48k třeba MELODIK nebo BEST.

Volání DOSů (5 pádem oslovujeme...)

MDOS se inicializuje po RESETu. Potom lze zadávat podle manuálu z BASICu nebo využívat rutiny v ROM ze strojového kódu. Příkazy jsou popsány v manuálu a ovládání strojákem je občas popisováno v ZXM a tak myslím, že nemá cenu opakovat.

Betadisk je možné volat třemi způsoby.

  • volání zBASICu
  • využívání služeb DOSu ze strojáku
  • zadávání příkazů DOSu

Z BASICu se příkazy zadávají podobně jako u DISKFACE s rozdílem spouštěcí adresy. U Bety je potřeba zadat RANDOMIZE USR 15619: REM : příkaz DOSu. Nebo můžeme zavolat DOS příkazem RANDOMIZE USR 15616, tím se dostaneme do DOSu a tam můžeme zadávat přímo příkazy DOSu. Práce v DOSu je výhodnější, obzvláště je-li potřeba provést s diskem více operací najednou.

O ovládání Betadisku ze strojáku povím něco později.

Seznam příkazů TRDOSu 5.05

Pokud vím, stále ještě nikdo Betadisk nevyrábí, alespoň o nikom nevím, a právě proto není k Betě žádný manuál. Příkazy D40 není potřeba popisovat, ale co majitel Betadisku, když neví, co napsat?

Protože je Betadisk určen i pro ZX128k, lze všechny příkazy psát po jednotlivých písmenech, proto je možné použít i různě upravené ROMky (myslím, že je to LEC ROM), kde se píší příkazy po znacích jako ve 128 BASICu.

  • LOAD - funguje stejně jako v BASICu, ale s diskem, při syntaxi LOAD jméno" CODE není možné za CODE použít VAL "číslo"
  • SAVE - platí pro něj to samé co pro LOAD
  • VERIFY - totéž
  • MERGE- totéž
  • CAT - katalog disku (název, typ a počet obsazených sektorů)
  • ERASE - klasické mazání, ERASE jméno" i ERASE "jméno" CODE smažou jeden soubor zadaného jména.
    Příkazem ERASE "*" lze smazat celý k disk. Smazání celého disku nebo posledního souboru nelze vrátit, protože se z FAT odstraní úplně. Pouze při smazání jiných souborů než posledního v pořadí, se nahradí první znak názvu nulou a soubor lze obnovit a to i po následujícím zápisu na disk. Souvisí to s číslováním sektorů a stop.
  • 40 - nastaví DOS na práci se 40-ti stopou mechanikou
  • 80 - nastaví DOS na práci s 80-ti stopou mechanikou
  • * - nastaví DOS na určitou mechaniku.
    Například *A nastaví jako aktivní mechaniku A
  • RUN - funguje jako LOAD, ale s tím rozdílem, že nahraný blok spustí a to jak BASIC, tak i CODE. Spouští od počáteční adresy bloku nebo prvního řádku. Syntaxe je stejná jako u LOAD. Příkaz .RUN stejně jako na D40 může nahrát "BOOT" (obdoba unirunu) stejně tak LOAD, PEEK, MERGE a POKE nahrají "boot" zadáme-li je bez parametrů. Příkaz RUN je často používán u packovaných souborů, kde se soubor po nahrání spustí, rozpakuje a vrátí do BASICu nebo spustí hra. Šetří se tím jeden RANDOMIZE USR xxxxx.
  • NEW - příkaz pro přejmenování, může přejmenovat jak soubor, tak i disketu. Při přejmenování souboru je nutné použít syntaxi NEW "nové jméno", E staré jméno" a u souboru bytes navíc l CODE. Při přejmenování disku se používá pouze NEW "jméno". U starších verzí DOSu mohly mít oba názvy po 8-mi znacích. U TR DOSu 5.05 může být ve jménu diskety znaků 10. U souboru je devátý znak přípona.
  • FORMAT - je to klasický formát diskety. Jak bude disketa formátována záleží na nastavení počtu stop (40/80) a na tom, je-li první znak názvu "$". Je-li první $, pak bude TRDOS formátovat jednostranně.
  • COPY - může kopírovat jednotlivé soubory nebo celý disk. Používá se syntaxe COPY "A:jméno","B:jme'no" eventuelně CODE, kde A je cílový disk a B disk zdrojový. Při kopírování na jedné mechanice se používá COPY s „A:jméno" eventuelně ještě CODE. Při kopírování celého disku stačí nahradit jméno hvězdičkou. Používat COPY není vůbec výhodné, protože kopíruje po jednom souboru a delší soubory kopíruje nadvakrát. Navíc vyžaduje RAMTOP co nejvýš, jinak hlásí "OUT OF RAM". Přesná čísla neznám, protože příkaz nepoužívám.
  • LIST - provede výpis podrobného katalogu disku
  • MOVE - provede fyzický přesun souborů směrem k FAT (vyčistí díry na disku - něco jako setřesení). Smazané soubory, které bylo možné obnovit po tomto příkazu obnovit nelze! K obnově souborů se docela hodí BETATOOLS.
  • GOTO - tohle je příkaz, který umí nahrát SNAPSHOT celé paměti a to jak SNAP 48k tak i l28k. Zadává se v syntaxi GOTO "jméno" CODE
  • PEEK - v syntaxi PEEK "jméno"adresa, sektor nahraje z disku vybraný sektor na zadanou adresu ze souboru zadaného jména
  • POKE - ten zase sektor na disk ukládá. Je vlastně opakem PEEKu.
  • !! - u verzí TRDOSu 5.04 a 5.05 vyvolávají monitor z ROM. Je to známý DEVAST. Pří použití tohoto příkazu Beta neposouvá Basic.
  • OPEN a CLOSE - o těchto příkazech vím jen, že slouží pro práci se sekvenčními soubory. Syntaxi ale neznám. Vím ještě o tom, že TRDOS 5.03 má chybu a TRDOS 5.04 a 5.05 je už opraven.
  • RETURN - provede návrat do BASICu z DOSu.

Snapování na Betadisku a D40

Na obou systémech existuje tolik používané tlačítko SNAP až na to, že se na Betě nazývá "Magic button". Oba systémy ukládají celou paměť, obsah registrů, adresu poslední provedené instrukce a snad ještě něco navíc.

D40 umí snapnout pouze 48kB paměti, tedy žádné stránky ani na Gamě ani na ZX l28k. Navíc SNAPSHOT programu, který l zrovna běžel pod IM2 se většinou zakousne nebo zhroutí (tady bych si dovolil s autorem nesouhlasit). Tím je snapování silně omezeno. Ne snad, že bych nějak podporoval snapshoty, ale pokud se vám zacyklí program, tak je jediným řešením právě snapshot a potom CRACKSHOT (nebo DESNAPER na Betě).

Betadisk snapuje jak 48k tak i l28k se všemi stránkami. Na rozdíl od D40 pojmenovává všechny snapshoty stejně s tím, že 128 snap má jako poslední znak názvu číslo stránky. Pokud vám bude divné, proč Beta snapuje občas stránek míň, tak vynechává stránky neobsazené, stránky, kde součet bytů je roven 0. K stránkám navíc přidává "osmou stránku", což je blok o délce 256 bytů. To nahrává vždy, ale k čemu slouží, to nevím. Pokud je paměť snapnutá při IM2, stačí jako první znak názvu napsat „$“. Při přejmenovávání 128k snapu je třeba dávat pozor na čísla stránek a na to, aby jméno před číslem bylo u všech bloků snapu stejné.

Málem bych se zapomněl zmínit o snapování obrázku na Betadisku - podržíte-li klávesu v okamžiku snapu, nahraje se na disk pouze obsah VRAM a to s názvem „#“. Lze nahrát jako běžný SCREEN blok.

Programové vybavení Betadisku a D40

D40 má zatím velkou výhodu, protože se rozšířila veřejně, kdežto Betadisk si většina jeho majitelů stavěla (to neplatí pro originální anglickou verzi 3.xx). Díky tomu se na D40 programy prodávají. Nejznámější jsou asi Proxima a Ultrasoft, ale existují další. Přesto pro D40 platí stále to, co pro Betu. Co si člověk nepřevede, to nemá. I když D40 je ve výhodě. Na Betu není málo programů, snad dokonce naopak, ale programy se neprodávají, přestože Betadisk je mnohem starší než D40. Byl bych moc rád, kdyby se v produkci začaly více objevovat programy s Basicovským zavaděčem - jako třeba SQ-Tracker (Téměř všechny hry mají basicový zavaděč, problém je spíš v nízko položeném ramtopu). Jinak je totiž pro nás Betadiskaře nesmysl cokoliv u Proximy kupovat. A to je pro Proximu celkem škoda ne? Stejně tak Ultrasoft. Jištění proti kopírování s jakým jsem se setkal u originální diskety NOTORIK je celkem zbytečné, protože disketu lze zkopírovat po jednotlivých sektorech a potom žádný program nepozná, že je nahrán na jiné disketě.

Pokud jde o srovnání existujících programů, není to žádný problém:

BETADISK D40/D80/KOMPAKT
Matasoftův BOOT Proximácké uniruny
Desnaper Crackshot
Betatools Tools 40/Tools 80
Sample Tracker Sample Tracker
Sound Tracker existuje
ST Compilerexistuje
SQ Tracker SQ Tracker
K Copy + ???
Prométheus Prométheus
a mnoho dalších a mnoho dalších
 

Jediný program, který jsem neviděl kvalitně převedený z D40 na Betadisk byl DESKTOP a upřímně řečeno, celkem mi chybí. Nejspíš je to jeden z mála programů, u nichž jsou s převodem velké problémy. Ti, kdo navštívili 22. - 24. dubna Samcon vědí, o čem mluvím.

Zkušenosti se stavbou Bety

Celý řadič, to jest obě desky, jsem postavil podle Mikrobáze '89. V ní je od čísla 4/89 popsána celkem podrobně stavba i funkce Betadisku. Stavbu by zvládl i jen trochu zkušený amatér, ale je potřeba stavět s rozmyslem. Deska DOSu (ta dolní) je celkem bez problémů až na EPROM. V jedné z Mikrobází je popsán celkem jednoduchý programátor EPROM a na něm jsem naprogramoval svoji první EPROM s ještě starým TRDOSem 5.03. Programování samozřejmě nebylo jednoduché, bylo nutné opsat program a v něm jsem samozřejmě nadělal spoustu chyb, takže jsem EPROMku několikrát mazal. Druhou s novějším DOSem mi zkopíroval z jiné už naprogramované známý PC-čkář. Pozor na desce DOSu je zapojená D0 jako D7 a D7 jako D0, takže se vyskytují EPROM opravené a EPROM programované pro chybnou desku. Doporučuji desku opravit a EPROM sehnat opravenou. Obsah ROM uložíte na disk stejně jako na D40 a to pouhým SAVE "ROM" CODE 0,16384. Takto uložená data samozřejmě D0 a D7 přehozené nemají. Budete-li programovat EPROM na ZX, pak je dobré plošňák opravit. Oprava se provádí přímo u EPROM.

Deska řadiče byla o něco málo horší. Dnes se totiž obvod WD1793 už neprodává a možná ani nevyrábí, je potřeba ho nahradit jiným, nejlépe 2793. Já jsem použil SAB 2793. Ten se od 1793 liší zapojením a napájením. Oproti starší 1793 má napájení pouze 5V, což je dobré při použití u Didaktiků. Pokud jde o zapojení, jedná se o několik vývodů. Při úpravě ušetříte dva IO a to IO9 a IO10. Dále je nutné přeškrábnout několik spojů a natáhnout pár propojek. Podrobně je celá úprava popsána v Mikrobázi 92/1 (hobby). Kondenzátor Ctx1 jsem seřídil během čtení katalogu diskety. Ideální hodnota je asi uprostřed dráhy, kdy řadič pracuje. Je dobré nahradit kondensátorový trimr nějakým pevným kondenzátorem. Kapacita vychází okolo 30pF. Při nastavování trimru pozor na změnu kapacity, ta se mění při pouhém přiblížení ruky ke kondenzátoru.

Na Samconu jsem zaslechl zvěsti o tom, že kdosi připravuje návrh jednodeskového, plně prostupného Betadisku. Stálo by za to podat o něm zprávu třeba do ZXM.

Něco nakonec

Podle mého mínění je D40 celkem dobrá, ale u ZX128k je použitelná jen částečně a navíc pro ZX128k asi moc programů na D40 není. I když se začínají šířit předělané Gamy (o emku raději nemluvím). Betadisk je zase pro ZX128 docela vhodný. Pokud vím a mám, je většina programů pro Betu právě do ZX128k. D40 bych doporučil každému, kdo má doma ZX48k a Betadisk zase každému se ZX128k. Dalším velice zajímavým řadičem je MD disk, je jediným řadičem na ZX, který pracuje s formátem HD a to 1.8 MB, tedy alespoň podle některých nejmenovaných zdrojů. Stálo by za to, aby o něm někdo informoval

-Pro ZXM 5/1994 Pavel Čejka (CYGNUS)-

[1] Bohužel to dnes již neplatí


Stránka byla už zobrazena: 906 ×

Aktualizováno: 4. 5. 2018, 11:50



     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.00068 sekund.