int21h

Opravdový DOS

Úvod

Vážené dámy, vážení pánové, dlouho jsem se těšil, až začnu psát tento článek. V našem časopise píšeme poměrně dost o programování DOSových programů, ale ruku na srdce, kdo z vás ma na počítači opravdu nainstalovaný DOS?
Čest výjimkám, ale myslím, že jako operační systém používáte windows a programujete a DOSové programy pouštíte z nich. Jestli máte W95 nebo W98, tak je to docela dobrá volba. Jestli máte 2000 nebo XP, tak vás nechápu, protože používaní DOSových programů pod tímto OS je jedna velká křeč. Dost ale o windows. Povíme si, jak si nainstalovat opravdový DOS.
Myslím, že vy, kteří se rozhodnete DOS nainstalovat, se v zásadě rozdělíte do dvou skupin. Jedna skupina ho bude instalovat na druhý počítač. V některých rodinách mají totiž dva počítače - na tom novějším běží nějaká windows a funguje jako "rodinný počítač". A potom někde v koutě leží jeho předchůdce, pro něhož není moc využití a hrozí, že bude odnesen do sběru. To je jasný kandidát pro nainstalování DOSu a v tomto případě ho nainstalujeme jako primární, rozuměj jedinný, operační systém.
Druhá skupina ho bude instalovat přímo na hlavní (nebo jedinný) počítač v domácnosti. Asi vám neprojde prostě smazat windows nebo linux, a ani by to nebylo rozumné, a tak ho nainstalujte jako sekundární OS. Musíme být upřímní a uznat, že ačkoliv může být užitná hodnota DOSového systému překvapivě vysoká, tak windows nenahradíte zcela.

Na tomhle místě se ještě pozastavme nad tím, proč se vlastně DOSem zabývat. Jedna skupina uživatelů jsou lidé, kteří mají tak starý hardware, že na něm žádný novější OS stejně nespustí. Sem spadají všechny počítače starší než 486 ba i část čtyřiosmšestek. Velmi pravděpodobně jsou taková PC používána v podstatě jako jednoúčelové stroje. Například ve školních laboratořích, průmyslu, atp.
Druhá skupina uživatelů používá DOSový systém kvůli nějakému konkrétnímu programu. Může to být nějaké starší účetnictví, skladový software a podobně. Částečně sem spadají také fanoušci starých her.
Třetí skupina je nejzajímavější. DOS nepoužívají z donucení, ale je to jejich volba. Z velké části mají duální systém DOS/windows nebo DOS/linux. Jsou, respektive jsme, "hobbyisté". DOS je naše hobby. Nedokonalost tohoto systému vidíme jako zajímavý rys, textové
prostředí se nám líbí a případné obtíže jsou pro nás výzvou. Jsme svým způsobem podobní domácím kutilům, lidem, co si doma pěstují ředkvičky, ačkoliv si je mohou koupit v obchodě, nebo členům specifických klubů jako "Přátelé vozů Lada" a podobně.
A někteří spíše motorkářům, kteří stráví mnohem delší dobu pipláním a pečlivým lazením výkonu svého miláčka než ježděním samotným.
Nejvýrazněji se tato skupina nadšenců (taky bych mohl napsat magorů) profiluje v zemích SNS, především v Rusku a Bělorusku. Tam totiž vzniklo dosti široké hnutí Downgrade, které sdružuje právě takto "postižené" lidi. Někteří downgradisté se zabývají DOSem na moderních strojích (těm říkám softwarová odnož) a jiní se snaží vydupat co nejvíce i ze starého hardware (hardwarová odnož).
Jestli vás toto hnutí zaujalo, tak zkuste stránky fdd5-25.net, což je asi největší centrum downgradu. U nás zatím žádné jasné hnutí downgrade není, nicméně tím směrem míří server asz486.org, který nabízí i bazar starého hardware.

Ještě o jednom aspektu DOSu jsem se zatím nezmínil. Mohli bychom to nazvat DOSem v neDOSu. Tím chci vyjádřit fakt, že mnohé DOSové programy můžete spustit i na jiných systémech. Nemám na mysli jenom spouštění DOSových programů z windows, ale emulaci DOSu vůbec. Snad pro každý systém, včetně kapesních počítačů, existuje nějaký emulátor DOSu. Samozřejmě jejich kvalita je různá, ale podstatné je to, že DOS je chápán jako jakýsi zlatý standard. Oproti jiným systémům má totiž opravdu miniaturní API, které je lehké emulovat. Druhá věc je to, že chybějící funkce API je nutné nahradit přímým přístupem k hardware počítače, což naopak emulaci na nePC systémech výrazně ztěžuje.
A nejde jen o to, že API je malé. Důležité je také to, že je tím jak se dos komerčně už přes deset let nevyvíjí, tak se API nemění.
Lékaři na celém světě používají latinu, protože je to mrtvý jazyk, který se dále nevyvíjí. Programátoři emulátorů se ze stejného důvodu snaží v prvé řadě o přenesení DOSu a teprve v druhé řadě o další systémy.

Instalace


Dopracovali jsme se k tomu, že DOS nainstalovat chceme. Stojíme před otázkou, který DOS si vybrat a kde ho vzít. Poslední verze MS-DOSu byla verze 6.22, která vyšla v roce 1993. Od té doby Microsoft žádnou novou verzi oficiálně nevydal. Slovo "oficiálně" je důležité, neboť DOS je skrytý v systémech Windows95, 98 a Me.
V prvním vydání W95 je MS-DOS 7.0, v dalších vydáních W95 a W98 je MS-DOS 7.10 a v Me je MS-DOS 8.0
MS-DOS 7.0 se od 6.22 liší jen velmi málo. Je trochu vylepšen ovladač rozšířené paměti HIMEM.SYS a EMM386.EXE. Spíše si ale všimnete, že byly odstraněny některé utility. Ačkoliv windows 95 zavedly dlouhá jména souborů, tak je MS-DOS 7.0 nepodporuje. To platí i pro 7.10 a 8.0. Důležitá je verze 7.10, protože podporuje formát disku FAT32. Dříve se totiž používalo formátování FAT16, které ale nelze použít na discích větších než 2GB. Drtivá většina počítačů má dneska disky mnohem větší, takže proto je tento rys tak důležitý. MS-DOS 8.0 považujte za jakousi anomálii. Nepřidává totiž žádné funkce a naopak jich mnoho ubírá.
Závěr je tedy ten, že jesli máte v počítači disky větší než 2GB, tak jediný MS-DOS, který připadá do úvahy, je právě MS-DOS 7.10
Háček je v tom, že oficiálně neexistuje, že je to jen jakási vrstva ve windowsech. Asi víte, že když windows bootují, tak můžete stisknout F8 a v menu vybrat "Nastartovat v režimu MS-DOS." Je ale hloupé mačkat vždycky při startu počítače F8 a pak šaškovat v menu. Lepší způsob je editovat v textovém editoru soubor MSDOS.SYS. Tento soubor má ve windows 9x funkci konfiguračního souboru. Najděte v něm řádku BootGUI nastavte jeho hodnoru na 0 a přidejte řádku "Logo=0".
S takto upraveným MSDOS.SYS počítač nabootuje jenom do prostředí DOS a grafická nadstavba (tedy windows) se nespustí. Můžete ji ale spustit z příkazového řádku příkazem win. Tento postup má ale pořád dvě nevýhody. První je fakt, že jestli takto experimentuje na "rodinném" počítači, tak ostatní členové rodiny budou nést tyto změny asi nelibě. Druhý a závažnější zádrhel spočívá v tom, že až budete optimalizovat konfigurační soubory, tak můžete vyvolat konflikt s windows.
Nejlepší řešení je proto pořídit si nějaký boot manager a udělat si duální systém. Takových boot managerů je více, např. Grub, XOSL nebo GAG. Ty jsou zdarma. Já používám System commander což je komerční program. Všechny ale dělají v podstatě to samé - umožňují vám mít na počítači více operačních systémů současně.
Instalace není obtížná. Předpokládejme, že máte na počítači nainstalovaná windows. Některé boot managery spustíte přímo z nich, některé musíte spustit ze systémové diskety. V každém případě ale najdou, že máte nainstalovaná windows a přizpůsobí se tomu. Teď se při každém startu počítače napřed spustí boot manager, který vypíše, které OS máte nainstalované a umožní vám vybrat si, který chcete zrovna spustit. Ze začátku tedy budete mít jenom Windows. System commander má takovou specialitku, že když najde, že máte windows, tak vás nechá vybírat ze dvou možností: Windows v grafickém prostředí a bez něho - tedy režim DOS. Před instalací dalšího OS si přečtěte pokyny konkrétního boot manageru. System commander nepotřebuje nic nastavovat. Prostě nainstaluju nový OS jako by se nechumelilo a restartuju počítač. A stane se zázrak a System commander ho najde, detekuje a zařadí do tabulky OS.
Jesliže váš boot manager neumí rozdělit bootování windows do režimu GUI a příkazového řádku, tak MS-DOS 7.10 "doinstalujte" ze systémové diskety příkazem sys c:

Dosti podrobně jsme probrali ukrytý DOS uvnitř windows. Jsou ale i jiné možnosti. MS-DOS 7.10 je možné mít i zcela odděleně. Na internetu totiž koluje verze od čínských hackerů, která je od windows zcela oddělená. Můžete ji stáhnout třeba zde. Nechápu, kde se tento DOS vzal. Možná Microsoftu unikla nějaká vývojová verze, možná je to cracknuté, nevím. Funguje ale dobře.
Není ale třeba zabývat se podobnými obskurnostmi. Na světě jsou i jiné DOSy než MS-DOS!
Znovu ale platí, že musíte vybrat nějaký, který podporuje disky formátované na FAT32. Pokud vím, tak máte tyto možnosti:



Kromě posledního jmenovaného jsou všechny ostatní zdarma. A rovněž kromě posledního jsou všechny jen v anglické verzi. Já osobně používám FreeDOS.

Konfigurace


Už máme vybraný a nainstalovaný DOS, ať už s boot managerem nebo samostatně, ale cítíme, že něco není v pořádku. Nevidíme CD/DVD mechaniky, není nainstalovaná myš a počítač je nějaký pomalý. Je potřeba systém nakonfigurovat a vyladit. Musíme tedy editovat konfigurační soubory CONFIG.SYS a AUTOEXEC.BAT
Předpokládám, že v tomto ohledu nejste úplní zelenáči a nemusím všechno vysvětlovat úplě polopaticky. Snad stačí jen lehce postrčit. Napřed si nakonfigurujte řízení paměti. Do souboru CONFIG.SYS zapište ovladač HIMEM.SYS a EMM386.EXE
Přesnou syntaxi zjistíte ze souborů nápovědy DOSu. Stejně tak důležité je nastavit vyrovnávací paměť disků - tedy diskovou cache. Jestli v těmto věcem příliš nerozumíte, tak zkuste stáhnout nějakou rozšířenou distribuci, která už je předkonfigurovaná pro běžné případy a některá nastavení si jen upravit podle svých potřeb.
Velice ale doporučuju, abyste nakonec udělali následující úpravy. Nainstalujte ovladač QCache nebo QDMA!
Jsou to freewarové (dříve dokonce open source) ovladače diskového řadiče. Bez nich jsou i s cache disky mnohem pomalejší než například ve windows. Vyvíjí je programátor John Ellis a nejnovější verze můžete stáhnout na této stránce.
Až zajdete na tyto stránky, tak si všimnete jedné skandální věci. Autor se nedávno pohádal s vývojáři FreeDOSu a modifikoval své ovladače, aby se ve FreeDOSu nespustily. Je to zcela neslýchaná a neuvěřitelná věc a neznám žádný podobný případ. Snad se to brzy vyřeší. Jestli jste se rozhodli pro DOS a rádi byste s ním používali tyto Q-ovladače, tak musíte použít trošku starší verzi, kterou si můžete stáhnout třeba ode mě. Kromě QDMA jsou v balíku i ostatní ovladače ze série - QCDROM a QHIMEM.
Další, podle mě nutný, doplněk je ovladač zobrazovací frekvence.
Zobrazovací frekvence označuje, jak rychle se obnovuje program na monitoru. Důležité je, že když je moc nízká, tak ve vyšších rozlišeních obraz nepříjemně "pomrkává". Mně osobně to hrozně vadí, jiným je to jedno. Někteří lidé to vůbec nevnímají. A patrně se to týká jenom lidí s klasickými CRT monitory. Z mých stránek si stáhněte tento balík grafických utilit. Mimo jiné tam najdete prográmky VbeHZ a Unirefresh. Dvě v podstatě rovnocenné rezidentní utilitky na nastavení video BIOSu, tak aby se v grafických režimech používaly vyšší zobrazovací frekvence než jsou standardní. Na monitor se pak mnohem lépe dívá!
Jako ovladač myši používejte CTmouse dvojkové řady, protože to je jediný DOSový ovladač myši, který obsluhuje kolečko myši. Že tuto vymoženost využívá jen hrstka DOSových programů je potom jiná věc :-(
Kromě FAT32 existuje ještě jedna vymoženost, kterou přinesly windows 95. Mám na mysli podporu dlouhých jmen souborů. ROM-DOS je podporuje přímo v jádře. Pro jiné DOSy musíte nahrát do paměti externí ovladač. Ten se nazývá DOSLFN a bývá zahrnut do většiny DOSových distribucích. Obdobná situace je s disky formátovanými na NTFS. Také existují externí ovladače, ale zatím žádný DOS nepodoruje NTFS nativně. To znamená, že nenabootuje z NTFS disku. Bootovací disk nebo alespoň jeho část musí být ve formátu FAT16 nebo FAT32.

Zatím jsem popisoval obecné věci společné pro téměř každé PC. Bohužel budete mít potíže s ovladači pro DOS. Naštěstí nebudete potřebovat žádné ovladače pro grafickou kartu, protože grafickou kartu DOS ovládá pomocí video BIOSu. Některé zdroje tvrdí, že některé karty od ATI mají BIOS dost zabugovaný a mohou občas dělat problémy. NVidie se prý chovají korektněji.
Jestliže máte trošičku starší kartu (asi tak do roku 1998 včetně), tak můžete zkusit rezidentní ovladač od firmy Scitech - Scitech display doctor. Ten opravuje případné chyby - BIOSu a obvykle výrazně rozšiřuje schopnosti karty.
Problémy nastanou s ovladači na zvukovku, modem a síťovku. U síťových karet je to jednoduché - tam ovladač buďto máte nebo nemáte. Některé distribuce mají přibaleny různé ovladače na síťové karty a je možné, že některé jsou do jisté míry univerzální. Nikdy jsou to nepotřeboval moc zkoumat, protože moje síťová karta DOSový ovladač má.
U zvukové karty a modemu je situace trošičku složitější. Obě zařízení totiž kdysi měla hardwarový standard. U zvukových karet to byl standard karet Sound blaster a u modemů Rockwell. Dá se říct, že jestli máte tyto karty ještě pro sběrnici ISA , tak jste za vodou, protože ty by měly být hardwarově kompatibilní. Jestli pro sběrnici PCI, tak máte problém, protože ty kompatibilní moc nebývají. PCI modemy jsou většinou tzv. softwarové modemy neboli winmodemy. To znamená, že mají zjednodušenou elektroniku a část práce, kterou normálně dělá hardware modemu přechází do kompetence windows. Když windows nemáte, tak modem nefunguje. Nicméně i pro PCI sloty se dají sehnat pravé hardwarové modemy s DOSovým ovladačem, který provede plug and play inicializaci.
U zvukovek je situace obdobná. Myslím, že všechny ISA zvukovky jsou bez jakýchkoli ovladačů kompatibilní se Sound blasterem. U PCI zvukovek je situace horší. Tam už je potřeba velmi sofistikovaný ovladač pro DOS, který funguje jako emulátor Sound blasteru na zcela nekompatibilním hardware. Tedy technicky brilantní kus softwaru, který přece jen nemůže fungovat stoprocentně a lze očekávat různé problémy. Ale díky Bohu alespoň za to. Bohužel ne všechny zvukovky mají DOSový ovladač. Je potřeba se poptat a porozhlédnout.
Ještě horší je situace u zařízení integrovaných na základní desce. Ta mívají DOSový ovladač zřídka :-(

Každodenní provoz


Výborně. Máte nainstalovaný a nakonfigurovaný operační systém DOS. Jestli máte trochu štěstí, tak vám hraje zvukovka a máte ovladač na síťovou kartu. Poradím vám, že není rozumné nechat všechny ovladače nahrát hned při startu. Obzvlášť to platí pro ovladač na síťovku. Ten totiž zabírá hodně konvenční paměti a je zbytečné mít ji neustále takto vyplýtvanou, když na síť nebo dokonce na internet potřebujete jenom příležitostně. Já osobně nenahrávám při startu ovladače USB, síťovky, zvukovky a dlouhých názvů souborů (LFN), ale místo toho si je nahrávám vždy podle potřeby. Pocit ovládnutí počítače je pak maximální :-)
První věc, co si pořídíte bude velmi pravděpodobně nějaký správce souborů. Takových prográmků existuje velká spousta. Obvykle jde o všelijaké klony Nortona. Vyberte si jaký chcete. Doporučuji nějaký, který zná LFN. Výborná volba je Necromancer's DOS navigator. Spousty funkcí, úžasná nastavitelnost a rychlost. Já jsem si pro běžné užívání oblíbil Volkov commander, který je střídmější, a NDN nasazuju jako zbraň hromadného ničení v zapeklitějších případech. Dále budete potřebovat nějaký textový editor. Součástí většiny DOSů je jednoduchý editor a v NDN je také dosti slušný editor, ale jestli chcete opravdu mocný prostředek, tak doporučuji poohlédnout se dále. Já jsem si oblíbil Setedit. Opravdu mimořádný kusanec s tunami funkcí. Na INT21h jsem už o něm psal dříve, tak si daný článek vyhledejte. Většina DOSových textových editorů pracuje v textovém režimu, ale najdou se i ty grafické. Velmi pěkný je třeba GVedit. Rovněž nezapomeňte na svého času věhlasné české editory Text602, MAT a Klasik. Všechny tři jsou je stažení na osdos.net.
OSDOS.NET je mimochodem další vynikající český sajt o "downgrade"
Z toho samého serveru si můžete stáhnout všechny další podstatné DOSové programy, které budete potřebovat. Stojí za to pozastavit se krátce nad internetovými prohlížeči
Pro DOSu existují dva textové prohlížeče: Lynx a DOSlynx. Ten první je port z Linuxu, je to velice robustní 32-bitový systém a je dosti propracovaný. Nevýhodou je určitá těžkopádnost v uživatelském prostředí a obtížká instalace a konfigurace. DOSlynx je překvapivě zcela odlišný program, který běží v pěkném textovém prostředí, ale působí dojmem určité nedodělanosti. Má mnohem méně funkcí, ale je to dobře použitelný prohlížeč.
Kromě těchto textových prohlížečů existuje i jeden grafický - Arachne. Původně ho vyvíjel Michal Polák - tedy Čech, ale pak byl otevřen zdrojový kód a ve vývoji pokračuje komunita nadšenců. Poslední verze můžete stahovat zde. Další doplňky a plugginy jsou ale stále na původní stránce
Jako přehrávač filmů používejte QuickView a jako přehrávač hudby Mpxplay. Oba tyto programy jsou unikátní tím, že podporují mnoho zvukovek i v nativním režimu. Tedy, že nepotřebujete žádné DOSové ovladače zajišťující kompatibilitu se Sound blasterem.

Nakonec si povíme o posledním velmi pěkném prográmku pro DOS. Vezmu to od lesa. To, že ve windows můžete spouštět programy pro DOS samozřejmě víte. Ale víte o tom, že z DOSu je možné spouštět některé programy pro windows? Opravdu lze!
Sice jenom některé, ale i tak je to paráda. Existuje DOSový extender HX-DOS, který si můžete stáhnout na této stránce. Je to emulátor některých funkcí windows pro DOS. S nainstalovaným HX spustíte většinu konzolových aplikací windows. Většinou to bývají různé kompresory, konvertory a podobně. Typický grafický windowsí program s okýnky a barvičkami se vám povede spustit jen zcela výjimečně. O něco větší šance je u některých windowsích her, které využívají SDL, DirectX a OpenGL. Ale je emulována jen velmi malá část těchto rozhraní, a proto vám bude fungovat jen velmi malá část těchto her. Nicméně jsem si v DOSu zapařil Quake II a vím, že funguje i Hexen II a částečně (bez zvuku) i Heretic II. Dobrá zpráva je, že HX-DOS je stále v intenzivním vývoji a spektrum spustitelných windowsích programů se bude dále rozšiřovat.

Doufám, že jsem vás tímto článkem navnadil na DOS a že se do něj pořádně obujete.
DOS-u-akbar!
2007-01-10 | Laaca
Datum: 23.4.2009 11:05
Od: Vladimír Anděl
Titulek: režimy monitoru v dosu
sice článek byl napsaný předloni a diskuse nevypadá příliš živě, ale přes to to zkusím. Používám dosovský program Formica 4.2 a při výměně "skleněného" monitoru za LCD nastal problém. LCD má 1280x1024 a ve Formice je jediný driver pro toto rozlišení VESA107H. Driver prý (podle slov autora) pouze dává hodnotu 107H na příslušné přerušení. Problém je, že v tomto režimu je snímkový kmitočet 90Hz (aspoň mi to píše CRT monitor) a LCD to nebere. Dá se někde najít kompletní seznam režimů monitoru pro MS DOS 6.22? Kvůli moitoru se mi nechce kupovat windowsovskou novou verzi, když ta stará umí všechno co chci.
Datum: 13.7.2009 16:00
Od: Laaca
Titulek:
No, obnovovací frekvence obrazu je dána ne monitorem, ale grafickou kartou. Monitor se musí jenom přizpůsobit. Mě příjde podivné, aby při rozlišení 1280x1024 byla frekvence 90Hz - to mi příjde podezřele hodně (i když úplně vyloučeno to není). Navíc - jestli jste v čistém DOSu, tak standardní frekvence by měla být 60Hz a na vyšší jde přepnout jenom rozhodně ne triviální funkcí. Takže předpokládám, že pracujete pod Windows, které si frekvence řídí po svém. Některé windowsí ovladače grafické karty někdy nastavují obnovovací frekvence nesprávně.
Takže v prvé řadě se zkuste pohrabat v grafických nastaveních windows, jestli tam nepůjde nastavit frekvenci manuálně.
Další rešení je použít zkrátka jiné rozlišení než 1280x1024. Na LCD displeji může být sice jiné než nativní rozlišení trošičku rozmazané, ale ne moc.
Reklamy: