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