Autor: Michal Pohořelský |
Uveřejněno: CHIP 02/1996, str. 145 |
Konec jedné velké bariéry DOSu |
Když se před mnoha lety začal prosazovat operační systém MS-DOS 3.3,
začalo se stále více uživatelů setkávat s velmi nepříjemnými problémy,
které jsou výsledkem nesmyslné bariéry všeobecně známé jako konvenční
paměť DOSu. Ačkoliv mnozí zpočátku považovali paměť 640 KB RAM za
nevyčerpatelný prostor k vlastním kreacím, brzy se začali projevovat
fatální důsledky jejich omylu. Bohužel ani v dnešní době nelze na toto
dědictví zapomenout, a proto obrovské množství uživatelů stále používá
různé správce paměti (MemMaker, RamBoost, QEMM atd.). Přesto nemůže
hodně uživatelů DOSu a Windows 3.x dosáhnout 640 KB volné konvenční
paměti.
Výrazně lépe na tom jsou uživatelé systému OS/2 2.1 nebo 3.0 Warp, kteří
mohou bez problému spustit několik samostatných DOS relací. Každá
z těchto relací může být ovládána rozdílnými ekvivalenty souboru
AUTOEXEC.BAT a za běžných podmínek Vám nabídne až 639 KB volné konvenční
paměti. U každé relace můžete nastavit několik desítek různých
parametrů, což neumějí ani Windows 95. Pokud ovšem často používáte
v OS/2 textově orientované aplikace DOSu nepochybně přivítáte
následující prográmek, jenž byl vytvořen v jazyku REXX.
Program VELDOS.CMD vygeneruje textovou relaci DOSu, která vám nabídne
nevídaných 735 KB volné paměti s tím, že není možné používat grafiku
(podporovaná je pouze CGA). Vedle toho budete mít k dispozici také 3 MB
paměti XMS i EMS. S trochou zkušeností můžete libovolně doplňovat nebo
měnit vlastní "Settings" řádky.
Ve všech programech vytvořených v jazyku REXX musí být na prvním řádku
komentář začínající znaky "/*", takže neodstraňujte úvodní komentáře.
Kromě toho je nutné dodržet všechny středníky, čárky a mezery uvnitř
programových konstrukcí.
/* VELDOS.CMD - Autor: Michal Pohorelsky */
/* Vytvoreno pro system OS/2 Warp */
/* Program vytvori novou DOS relaci, ktera
nabidne uzivateli az 735 KB volne hlavni pameti */
/* Aktivuji knihovnu funkci REXXUTIL */
CALL RxFuncAdd SysLoadFuncs, RexxUtil,SysLoadFuncs;
CALL SysLoadFuncs;
/* --------------------------------- */
Title='Velky DOS'; /* Titulek na okne */
Location='<WP_NOWHERE>'; /* Umisteni objektu */
ClassName='WPProgram'; /* Typ Objektu */
Program='EXENAME=*;'; /* Vyber spustitelnych programu */
Type='PROGTYPE=VDM;'; /* Cela DOS relace */
StartUp='STARTUPDIR=C:\;' /* Pracovni adresar */
Objectid='OBJECTID=<BIGDOS>;' /* ID Objektu */
/* Vsechna nastaveni DOS relace */
/* Volba Video_Mode_Restriction musi byt nastavena na CGA */
/* Nastaveni DOS_UMB a DOS_HIGH musi byt zachovana... */
/* Pokud nepouzivate alternativni AUTOEXEC.BAT pro DOS
relaci, vynechte posledni radek - Settings ! */
Settings='SET VIDEO_MODE_RESTRICTION=CGA ;'
Settings=Settings||'SET DOS_UMB=1;'
Settings=Settings||'SET DOS_HIGH=1;'
Settings=Settings||'SET DOS_FILES=50;'
Settings=Settings||'SET XMS_MEMORY_LIMIT=3072;'
Settings=Settings||'SET EMS_MEMORY_LIMIT=3072;'
Settings=Settings||'SET DOS_AUTOEXEC=D:\AUTOEXD2.BAT;'
/* ------------------------------------------------------ */
Open='OPEN=DEFAULT;'
call SysCreateObject classname, title, location,,
program||type||startup||objectid||settings||open, 'REPLACE'
call SysSetObjectData '<BIGDOS>', open
Return