├── pctest ├── cwtest.bat ├── pmwtest.bat ├── 4gtest.bat ├── 4gwtest.bat ├── d32atest.bat ├── zrdxtest.bat └── pctest.exe ├── src ├── sutils │ ├── pctest │ │ ├── cwtest.bat │ │ ├── pmwtest.bat │ │ ├── 4gtest.bat │ │ ├── 4gwtest.bat │ │ ├── d32atest.bat │ │ ├── zrdxtest.bat │ │ ├── main.c │ │ ├── pctest.asm │ │ ├── make.bat │ │ └── main.h │ ├── misc │ │ ├── tasm.cfg │ │ └── stddef.inc │ ├── build │ │ ├── make.bat │ │ └── build.c │ └── sver │ │ └── make.bat ├── stub32a │ ├── oemtitle.inf │ ├── make.bat │ └── stub32a.asm ├── sb │ ├── sb.d32 │ ├── sbind.asm │ ├── oemtitle.inf │ ├── make.bat │ └── main.h ├── sc │ ├── main.c │ ├── sc.d32 │ ├── scomp.asm │ ├── sload.asm │ ├── oemtitle.inf │ ├── make.bat │ └── main.h ├── sd │ ├── sd.asm │ ├── sd.d32 │ ├── sdebug.asm │ ├── sloader.asm │ ├── sloadlc.asm │ ├── sdisassm.asm │ ├── sdlib │ │ ├── sdebug.asm │ │ ├── sdebug.inc │ │ ├── sdisassm.inc │ │ └── make.bat │ ├── oemtitle.inf │ └── make.bat ├── ss │ ├── main.c │ ├── ss.d32 │ ├── iface.c │ ├── setup.asm │ ├── oemtitle.inf │ └── make.bat ├── _todo.txt ├── setvars.bat ├── dos32a │ ├── make.bat │ ├── makebeta.bat │ ├── text │ │ ├── include.asm │ │ ├── oemtitle.asm │ │ ├── kernel │ │ │ ├── test.asm │ │ │ └── exit.asm │ │ └── testbeta.asm │ ├── loadpe.asm │ └── notes.txt └── makeall.bat ├── examples ├── asm_7 │ ├── tsr.d32 │ ├── make.bat │ └── oemtitle.inf ├── c_2 │ ├── make.bat │ ├── oemtitle.inf │ └── memory.c ├── c_1 │ ├── hello.c │ ├── make.bat │ └── oemtitle.inf ├── asm_6 │ ├── make.bat │ ├── oemtitle.inf │ └── lfb.asm ├── c_3 │ ├── except86.d32 │ ├── make.bat │ ├── oemtitle.inf │ └── except86.c ├── c_4 │ ├── nullptr.d32 │ ├── make.bat │ ├── oemtitle.inf │ └── nullptr.c ├── asm_1 │ ├── make.bat │ ├── oemtitle.inf │ └── hello.asm ├── c_5 │ ├── make.bat │ └── oemtitle.inf ├── asm_2 │ ├── make.bat │ └── oemtitle.inf ├── asm_3 │ ├── make.bat │ └── oemtitle.inf ├── asm_5 │ ├── make.bat │ ├── oemtitle.inf │ └── memerr.asm ├── c_7 │ ├── make.bat │ └── oemtitle.inf ├── c_6 │ ├── oemtitle.inf │ ├── make.bat │ ├── prog2.c │ ├── prog1.c │ └── spawn.c ├── asm_4 │ ├── oemtitle.inf │ ├── make.bat │ ├── dbgshow.asm │ ├── excshow.asm │ ├── intshow.asm │ └── simshow.asm └── makeall.bat ├── readme ├── binw ├── sb.exe ├── sc.exe ├── sd.exe ├── ss.exe ├── sver.exe ├── dos32a.exe ├── stub32a.exe ├── stub32c.exe └── dos32a.lnk ├── l32 ├── d32a.lib └── sdebug.lib ├── d32 ├── default.d32 ├── dos4gw.d32 ├── maximum.d32 ├── minimum.d32 ├── pmodew.d32 ├── verbose.d32 ├── failsafe.d32 └── standard.d32 ├── docs ├── img │ ├── g0.png │ ├── p1.png │ ├── p2.png │ ├── s2.png │ ├── s3.png │ ├── s4.png │ ├── s6.png │ ├── w1.png │ ├── w2.png │ ├── w3.png │ ├── w4.png │ ├── w5.png │ ├── w6.png │ └── shim.png ├── index.html ├── readme.txt └── html │ ├── down.html │ ├── gnrl.html │ ├── libr.html │ ├── main.html │ ├── prog.html │ ├── tech.html │ ├── user.html │ ├── util.html │ ├── gnrl │ ├── 0c.html │ ├── 1.html │ ├── 10.html │ ├── 12.html │ ├── 13.html │ ├── 2.html │ ├── 3.html │ ├── 4.html │ ├── 5.html │ ├── 6.html │ ├── 7.html │ └── 9.html │ ├── libr │ ├── 2 │ │ ├── 1.htm │ │ ├── 10.htm │ │ ├── 11.htm │ │ ├── 12.htm │ │ ├── 13.htm │ │ ├── 2.htm │ │ ├── 3.htm │ │ ├── 4.htm │ │ ├── 5.htm │ │ ├── 6.htm │ │ ├── 7.htm │ │ ├── 8.htm │ │ └── 9.htm │ ├── 3 │ │ ├── 1.htm │ │ ├── 2.htm │ │ └── 3.htm │ ├── 4 │ │ ├── 1.htm │ │ ├── 10.htm │ │ ├── 11.htm │ │ ├── 2.htm │ │ ├── 3.htm │ │ ├── 4.htm │ │ ├── 5.htm │ │ ├── 6.htm │ │ ├── 7.htm │ │ ├── 8.htm │ │ └── 9.htm │ ├── 5 │ │ ├── 1.htm │ │ └── 2.htm │ ├── 6 │ │ ├── 1.htm │ │ ├── 2.htm │ │ ├── 3.htm │ │ ├── 4.htm │ │ ├── 5.htm │ │ └── 6.htm │ ├── 1.html │ ├── 2.html │ ├── 3.html │ ├── 4.html │ ├── 5.html │ └── 6.html │ ├── prog │ ├── 1.html │ ├── 2.html │ ├── 3.html │ ├── 4.html │ ├── 5.html │ ├── int21h │ │ ├── 09.htm │ │ ├── 1a.htm │ │ ├── 1b.htm │ │ ├── 1c.htm │ │ ├── 1f.htm │ │ ├── 25.htm │ │ ├── 2f.htm │ │ ├── 32.htm │ │ ├── 34.htm │ │ ├── 35.htm │ │ ├── 39.htm │ │ ├── 3a.htm │ │ ├── 3b.htm │ │ ├── 3c.htm │ │ ├── 3d.htm │ │ ├── 3f.htm │ │ ├── 40.htm │ │ ├── 41.htm │ │ ├── 42.htm │ │ ├── 43.htm │ │ ├── 47.htm │ │ ├── 48.htm │ │ ├── 49.htm │ │ ├── 4a.htm │ │ ├── 4b.htm │ │ ├── 4c.htm │ │ ├── 4e.htm │ │ ├── 4f.htm │ │ ├── 51.htm │ │ ├── 56.htm │ │ ├── 5a.htm │ │ ├── 5b.htm │ │ ├── 62.htm │ │ ├── 7139.htm │ │ ├── 713a.htm │ │ ├── 713b.htm │ │ ├── 7141.htm │ │ ├── 7143.htm │ │ ├── 7147.htm │ │ ├── 7156.htm │ │ ├── 7160.htm │ │ ├── 716c.htm │ │ ├── 0ff00.htm │ │ ├── 0ff80.htm │ │ ├── 0ff88.htm │ │ ├── 0ff89.htm │ │ ├── 0ff8a.htm │ │ ├── 0ff90.htm │ │ ├── 0ff91.htm │ │ ├── 0ff92.htm │ │ ├── 0ff93.htm │ │ ├── 0ff94.htm │ │ ├── 0ff95.htm │ │ ├── 0ff96.htm │ │ ├── 0ff97.htm │ │ ├── 0ff98.htm │ │ ├── 0ff99.htm │ │ └── 0ff9a.htm │ ├── int31h │ │ ├── 00.htm │ │ ├── 01.htm │ │ ├── 02.htm │ │ ├── 03.htm │ │ ├── 04.htm │ │ ├── 05.htm │ │ ├── 06.htm │ │ ├── 07.htm │ │ ├── 08.htm │ │ ├── 09.htm │ │ ├── 0000.htm │ │ ├── 0001.htm │ │ ├── 0002.htm │ │ ├── 0003.htm │ │ ├── 0006.htm │ │ ├── 0007.htm │ │ ├── 0008.htm │ │ ├── 0009.htm │ │ ├── 000a.htm │ │ ├── 000b.htm │ │ ├── 000c.htm │ │ ├── 000e.htm │ │ ├── 000f.htm │ │ ├── 0100.htm │ │ ├── 0101.htm │ │ ├── 0102.htm │ │ ├── 0200.htm │ │ ├── 0201.htm │ │ ├── 0202.htm │ │ ├── 0203.htm │ │ ├── 0204.htm │ │ ├── 0205.htm │ │ ├── 0300.htm │ │ ├── 0301.htm │ │ ├── 0302.htm │ │ ├── 0303.htm │ │ ├── 0304.htm │ │ ├── 0305.htm │ │ ├── 0306.htm │ │ ├── 0400.htm │ │ ├── 0500.htm │ │ ├── 0501.htm │ │ ├── 0502.htm │ │ ├── 0503.htm │ │ ├── 050a.htm │ │ ├── 0600.htm │ │ ├── 0601.htm │ │ ├── 0602.htm │ │ ├── 0603.htm │ │ ├── 0604.htm │ │ ├── 0702.htm │ │ ├── 0703.htm │ │ ├── 0800.htm │ │ ├── 0801.htm │ │ ├── 0900.htm │ │ ├── 0901.htm │ │ ├── 0902.htm │ │ ├── 0a00.htm │ │ ├── 0e00.htm │ │ ├── 0e01.htm │ │ ├── dapi.htm │ │ ├── derr.htm │ │ └── 0eeff.htm │ ├── int10h │ │ ├── 1b.html │ │ ├── 1c.html │ │ ├── 4f00.html │ │ ├── 4f01.html │ │ ├── 4f04.html │ │ ├── 4f09.html │ │ └── 4f0a.html │ └── int33h │ │ ├── 0009.htm │ │ ├── 000c.htm │ │ ├── 0014.htm │ │ ├── 0016.htm │ │ ├── 0017.htm │ │ ├── 0018.htm │ │ ├── 0019.htm │ │ └── 0020.htm │ ├── tech │ ├── 1.html │ ├── 10.html │ ├── 11.html │ ├── 2.html │ ├── 3.html │ ├── 4.html │ ├── 5.html │ ├── 6.html │ ├── 7.html │ ├── 8.html │ └── 9.html │ ├── user │ ├── 1.html │ ├── 2.html │ ├── 3.html │ ├── 4.html │ ├── 5.html │ ├── 6.html │ ├── 7.html │ └── 8.html │ ├── util │ ├── 1.html │ ├── 2.html │ ├── 3.html │ ├── 3a.html │ ├── 3b.html │ ├── 3c.html │ ├── 3d.html │ ├── 3e.html │ ├── 3f.html │ ├── 4.html │ ├── 5.html │ └── 6.html │ ├── sheet.css │ ├── index.html │ └── menu.html ├── .gitattributes ├── version.id ├── .gitignore ├── readme.1st ├── license ├── press.txt ├── h32 ├── debug.h └── typedefs.h └── readme.md /pctest/cwtest.bat: -------------------------------------------------------------------------------- 1 | @cwc pctest.exe 2 | -------------------------------------------------------------------------------- /pctest/pmwtest.bat: -------------------------------------------------------------------------------- 1 | @pctest.exe 2 | -------------------------------------------------------------------------------- /pctest/4gtest.bat: -------------------------------------------------------------------------------- 1 | @dos4g pctest.exe 2 | -------------------------------------------------------------------------------- /pctest/4gwtest.bat: -------------------------------------------------------------------------------- 1 | @dos4gw pctest.exe 2 | -------------------------------------------------------------------------------- /pctest/d32atest.bat: -------------------------------------------------------------------------------- 1 | @dos32a pctest.exe 2 | -------------------------------------------------------------------------------- /pctest/zrdxtest.bat: -------------------------------------------------------------------------------- 1 | @zrdx pctest.exe 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/cwtest.bat: -------------------------------------------------------------------------------- 1 | @cwc pctest.exe 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/pmwtest.bat: -------------------------------------------------------------------------------- 1 | @pctest.exe 2 | -------------------------------------------------------------------------------- /examples/asm_7/tsr.d32: -------------------------------------------------------------------------------- 1 | ID32 2 |  o@ -------------------------------------------------------------------------------- /src/stub32a/oemtitle.inf: -------------------------------------------------------------------------------- 1 | db 'R9-08.0000.0100',0 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/4gtest.bat: -------------------------------------------------------------------------------- 1 | @dos4g pctest.exe 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/4gwtest.bat: -------------------------------------------------------------------------------- 1 | @dos4gw pctest.exe 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/d32atest.bat: -------------------------------------------------------------------------------- 1 | @dos32a pctest.exe 2 | -------------------------------------------------------------------------------- /src/sutils/pctest/zrdxtest.bat: -------------------------------------------------------------------------------- 1 | @zrdx pctest.exe 2 | -------------------------------------------------------------------------------- /readme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/readme -------------------------------------------------------------------------------- /src/sutils/misc/tasm.cfg: -------------------------------------------------------------------------------- 1 | -iC:\WATCOM\INCLUDE\INC 2 | -r -ml -m -q -t 3 | -------------------------------------------------------------------------------- /binw/sb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/sb.exe -------------------------------------------------------------------------------- /binw/sc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/sc.exe -------------------------------------------------------------------------------- /binw/sd.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/sd.exe -------------------------------------------------------------------------------- /binw/ss.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/ss.exe -------------------------------------------------------------------------------- /binw/sver.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/sver.exe -------------------------------------------------------------------------------- /l32/d32a.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/l32/d32a.lib -------------------------------------------------------------------------------- /src/sb/sb.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sb/sb.d32 -------------------------------------------------------------------------------- /src/sc/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sc/main.c -------------------------------------------------------------------------------- /src/sc/sc.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sc/sc.d32 -------------------------------------------------------------------------------- /src/sd/sd.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sd.asm -------------------------------------------------------------------------------- /src/sd/sd.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sd.d32 -------------------------------------------------------------------------------- /src/ss/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/ss/main.c -------------------------------------------------------------------------------- /src/ss/ss.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/ss/ss.d32 -------------------------------------------------------------------------------- /binw/dos32a.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/dos32a.exe -------------------------------------------------------------------------------- /d32/default.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/default.d32 -------------------------------------------------------------------------------- /d32/dos4gw.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/dos4gw.d32 -------------------------------------------------------------------------------- /d32/maximum.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/maximum.d32 -------------------------------------------------------------------------------- /d32/minimum.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/minimum.d32 -------------------------------------------------------------------------------- /d32/pmodew.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/pmodew.d32 -------------------------------------------------------------------------------- /d32/verbose.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/verbose.d32 -------------------------------------------------------------------------------- /docs/img/g0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/g0.png -------------------------------------------------------------------------------- /docs/img/p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/p1.png -------------------------------------------------------------------------------- /docs/img/p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/p2.png -------------------------------------------------------------------------------- /docs/img/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/s2.png -------------------------------------------------------------------------------- /docs/img/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/s3.png -------------------------------------------------------------------------------- /docs/img/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/s4.png -------------------------------------------------------------------------------- /docs/img/s6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/s6.png -------------------------------------------------------------------------------- /docs/img/w1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w1.png -------------------------------------------------------------------------------- /docs/img/w2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w2.png -------------------------------------------------------------------------------- /docs/img/w3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w3.png -------------------------------------------------------------------------------- /docs/img/w4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w4.png -------------------------------------------------------------------------------- /docs/img/w5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w5.png -------------------------------------------------------------------------------- /docs/img/w6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/w6.png -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/index.html -------------------------------------------------------------------------------- /docs/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/readme.txt -------------------------------------------------------------------------------- /l32/sdebug.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/l32/sdebug.lib -------------------------------------------------------------------------------- /src/ss/iface.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/ss/iface.c -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /binw/stub32a.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/stub32a.exe -------------------------------------------------------------------------------- /binw/stub32c.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/binw/stub32c.exe -------------------------------------------------------------------------------- /d32/failsafe.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/failsafe.d32 -------------------------------------------------------------------------------- /d32/standard.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/d32/standard.d32 -------------------------------------------------------------------------------- /docs/img/shim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/img/shim.png -------------------------------------------------------------------------------- /examples/c_2/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32a -s memory.c 3 | del *.obj 4 | -------------------------------------------------------------------------------- /pctest/pctest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/pctest/pctest.exe -------------------------------------------------------------------------------- /src/sb/sbind.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sb/sbind.asm -------------------------------------------------------------------------------- /src/sc/scomp.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sc/scomp.asm -------------------------------------------------------------------------------- /src/sc/sload.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sc/sload.asm -------------------------------------------------------------------------------- /src/sd/sdebug.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sdebug.asm -------------------------------------------------------------------------------- /src/sd/sloader.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sloader.asm -------------------------------------------------------------------------------- /src/sd/sloadlc.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sloadlc.asm -------------------------------------------------------------------------------- /src/ss/setup.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/ss/setup.asm -------------------------------------------------------------------------------- /docs/html/down.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/down.html -------------------------------------------------------------------------------- /docs/html/gnrl.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl.html -------------------------------------------------------------------------------- /docs/html/libr.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr.html -------------------------------------------------------------------------------- /docs/html/main.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/main.html -------------------------------------------------------------------------------- /docs/html/prog.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog.html -------------------------------------------------------------------------------- /docs/html/tech.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech.html -------------------------------------------------------------------------------- /docs/html/user.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user.html -------------------------------------------------------------------------------- /docs/html/util.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util.html -------------------------------------------------------------------------------- /examples/c_1/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/examples/c_1/hello.c -------------------------------------------------------------------------------- /src/sd/sdisassm.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sdisassm.asm -------------------------------------------------------------------------------- /docs/html/gnrl/0c.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/0c.html -------------------------------------------------------------------------------- /docs/html/gnrl/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/1.html -------------------------------------------------------------------------------- /docs/html/gnrl/10.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/10.html -------------------------------------------------------------------------------- /docs/html/gnrl/12.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/12.html -------------------------------------------------------------------------------- /docs/html/gnrl/13.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/13.html -------------------------------------------------------------------------------- /docs/html/gnrl/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/2.html -------------------------------------------------------------------------------- /docs/html/gnrl/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/3.html -------------------------------------------------------------------------------- /docs/html/gnrl/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/4.html -------------------------------------------------------------------------------- /docs/html/gnrl/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/5.html -------------------------------------------------------------------------------- /docs/html/gnrl/6.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/6.html -------------------------------------------------------------------------------- /docs/html/gnrl/7.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/7.html -------------------------------------------------------------------------------- /docs/html/gnrl/9.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/gnrl/9.html -------------------------------------------------------------------------------- /docs/html/libr/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/1.html -------------------------------------------------------------------------------- /docs/html/libr/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2.html -------------------------------------------------------------------------------- /docs/html/libr/2/1.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/1.htm -------------------------------------------------------------------------------- /docs/html/libr/2/10.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/10.htm -------------------------------------------------------------------------------- /docs/html/libr/2/11.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/11.htm -------------------------------------------------------------------------------- /docs/html/libr/2/12.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/12.htm -------------------------------------------------------------------------------- /docs/html/libr/2/13.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/13.htm -------------------------------------------------------------------------------- /docs/html/libr/2/2.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/2.htm -------------------------------------------------------------------------------- /docs/html/libr/2/3.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/3.htm -------------------------------------------------------------------------------- /docs/html/libr/2/4.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/4.htm -------------------------------------------------------------------------------- /docs/html/libr/2/5.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/5.htm -------------------------------------------------------------------------------- /docs/html/libr/2/6.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/6.htm -------------------------------------------------------------------------------- /docs/html/libr/2/7.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/7.htm -------------------------------------------------------------------------------- /docs/html/libr/2/8.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/8.htm -------------------------------------------------------------------------------- /docs/html/libr/2/9.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/2/9.htm -------------------------------------------------------------------------------- /docs/html/libr/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/3.html -------------------------------------------------------------------------------- /docs/html/libr/3/1.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/3/1.htm -------------------------------------------------------------------------------- /docs/html/libr/3/2.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/3/2.htm -------------------------------------------------------------------------------- /docs/html/libr/3/3.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/3/3.htm -------------------------------------------------------------------------------- /docs/html/libr/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4.html -------------------------------------------------------------------------------- /docs/html/libr/4/1.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/1.htm -------------------------------------------------------------------------------- /docs/html/libr/4/10.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/10.htm -------------------------------------------------------------------------------- /docs/html/libr/4/11.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/11.htm -------------------------------------------------------------------------------- /docs/html/libr/4/2.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/2.htm -------------------------------------------------------------------------------- /docs/html/libr/4/3.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/3.htm -------------------------------------------------------------------------------- /docs/html/libr/4/4.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/4.htm -------------------------------------------------------------------------------- /docs/html/libr/4/5.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/5.htm -------------------------------------------------------------------------------- /docs/html/libr/4/6.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/6.htm -------------------------------------------------------------------------------- /docs/html/libr/4/7.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/7.htm -------------------------------------------------------------------------------- /docs/html/libr/4/8.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/8.htm -------------------------------------------------------------------------------- /docs/html/libr/4/9.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/4/9.htm -------------------------------------------------------------------------------- /docs/html/libr/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/5.html -------------------------------------------------------------------------------- /docs/html/libr/5/1.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/5/1.htm -------------------------------------------------------------------------------- /docs/html/libr/5/2.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/5/2.htm -------------------------------------------------------------------------------- /docs/html/libr/6.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6.html -------------------------------------------------------------------------------- /docs/html/libr/6/1.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/1.htm -------------------------------------------------------------------------------- /docs/html/libr/6/2.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/2.htm -------------------------------------------------------------------------------- /docs/html/libr/6/3.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/3.htm -------------------------------------------------------------------------------- /docs/html/libr/6/4.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/4.htm -------------------------------------------------------------------------------- /docs/html/libr/6/5.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/5.htm -------------------------------------------------------------------------------- /docs/html/libr/6/6.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/libr/6/6.htm -------------------------------------------------------------------------------- /docs/html/prog/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/1.html -------------------------------------------------------------------------------- /docs/html/prog/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/2.html -------------------------------------------------------------------------------- /docs/html/prog/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/3.html -------------------------------------------------------------------------------- /docs/html/prog/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/4.html -------------------------------------------------------------------------------- /docs/html/prog/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/5.html -------------------------------------------------------------------------------- /docs/html/tech/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/1.html -------------------------------------------------------------------------------- /docs/html/tech/10.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/10.html -------------------------------------------------------------------------------- /docs/html/tech/11.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/11.html -------------------------------------------------------------------------------- /docs/html/tech/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/2.html -------------------------------------------------------------------------------- /docs/html/tech/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/3.html -------------------------------------------------------------------------------- /docs/html/tech/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/4.html -------------------------------------------------------------------------------- /docs/html/tech/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/5.html -------------------------------------------------------------------------------- /docs/html/tech/6.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/6.html -------------------------------------------------------------------------------- /docs/html/tech/7.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/7.html -------------------------------------------------------------------------------- /docs/html/tech/8.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/8.html -------------------------------------------------------------------------------- /docs/html/tech/9.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/tech/9.html -------------------------------------------------------------------------------- /docs/html/user/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/1.html -------------------------------------------------------------------------------- /docs/html/user/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/2.html -------------------------------------------------------------------------------- /docs/html/user/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/3.html -------------------------------------------------------------------------------- /docs/html/user/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/4.html -------------------------------------------------------------------------------- /docs/html/user/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/5.html -------------------------------------------------------------------------------- /docs/html/user/6.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/6.html -------------------------------------------------------------------------------- /docs/html/user/7.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/7.html -------------------------------------------------------------------------------- /docs/html/user/8.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/user/8.html -------------------------------------------------------------------------------- /docs/html/util/1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/1.html -------------------------------------------------------------------------------- /docs/html/util/2.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/2.html -------------------------------------------------------------------------------- /docs/html/util/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3.html -------------------------------------------------------------------------------- /docs/html/util/3a.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3a.html -------------------------------------------------------------------------------- /docs/html/util/3b.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3b.html -------------------------------------------------------------------------------- /docs/html/util/3c.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3c.html -------------------------------------------------------------------------------- /docs/html/util/3d.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3d.html -------------------------------------------------------------------------------- /docs/html/util/3e.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3e.html -------------------------------------------------------------------------------- /docs/html/util/3f.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/3f.html -------------------------------------------------------------------------------- /docs/html/util/4.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/4.html -------------------------------------------------------------------------------- /docs/html/util/5.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/5.html -------------------------------------------------------------------------------- /docs/html/util/6.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/util/6.html -------------------------------------------------------------------------------- /src/sd/sdlib/sdebug.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sdlib/sdebug.asm -------------------------------------------------------------------------------- /src/sd/sdlib/sdebug.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sdlib/sdebug.inc -------------------------------------------------------------------------------- /examples/asm_6/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x lfb.asm 3 | sc -bs -q lfb 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/c_1/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x hello.c 3 | sc -bs -q hello 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/c_3/except86.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/examples/c_3/except86.d32 -------------------------------------------------------------------------------- /examples/c_4/nullptr.d32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/examples/c_4/nullptr.d32 -------------------------------------------------------------------------------- /src/sd/sdlib/sdisassm.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sd/sdlib/sdisassm.inc -------------------------------------------------------------------------------- /src/sutils/pctest/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sutils/pctest/main.c -------------------------------------------------------------------------------- /docs/html/prog/int21h/09.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/09.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/1a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/1a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/1b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/1b.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/1c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/1c.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/1f.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/1f.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/25.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/25.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/2f.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/2f.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/32.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/32.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/34.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/34.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/35.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/35.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/39.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/39.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/3a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/3a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/3b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/3b.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/3c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/3c.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/3d.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/3d.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/3f.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/3f.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/40.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/40.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/41.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/41.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/42.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/42.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/43.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/43.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/47.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/47.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/48.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/48.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/49.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/49.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/4a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/4a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/4b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/4b.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/4c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/4c.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/4e.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/4e.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/4f.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/4f.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/51.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/51.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/56.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/56.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/5a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/5a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/5b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/5b.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/62.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/62.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/00.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/00.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/01.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/01.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/02.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/02.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/03.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/03.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/04.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/04.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/05.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/05.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/06.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/06.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/07.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/07.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/08.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/08.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/09.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/09.htm -------------------------------------------------------------------------------- /examples/asm_1/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x hello.asm 3 | sc -bs -q hello 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/c_5/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x -s -4r vesa.c 3 | sc -bs -q vesa 4 | del *.obj 5 | -------------------------------------------------------------------------------- /src/sutils/pctest/pctest.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/src/sutils/pctest/pctest.asm -------------------------------------------------------------------------------- /docs/html/prog/int10h/1b.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/1b.html -------------------------------------------------------------------------------- /docs/html/prog/int10h/1c.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/1c.html -------------------------------------------------------------------------------- /docs/html/prog/int21h/7139.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7139.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/713a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/713a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/713b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/713b.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/7141.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7141.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/7143.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7143.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/7147.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7147.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/7156.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7156.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/7160.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/7160.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/716c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/716c.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0000.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0000.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0001.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0001.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0002.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0002.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0003.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0003.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0006.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0006.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0007.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0007.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0008.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0008.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0009.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0009.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/000a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/000a.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/000b.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/000b.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/000c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/000c.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/000e.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/000e.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/000f.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/000f.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0100.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0100.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0101.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0101.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0102.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0102.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0200.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0200.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0201.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0201.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0202.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0202.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0203.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0203.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0204.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0204.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0205.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0205.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0300.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0300.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0301.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0301.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0302.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0302.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0303.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0303.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0304.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0304.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0305.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0305.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0306.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0306.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0400.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0400.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0500.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0500.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0501.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0501.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0502.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0502.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0503.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0503.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/050a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/050a.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0600.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0600.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0601.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0601.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0602.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0602.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0603.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0603.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0604.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0604.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0702.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0702.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0703.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0703.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0800.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0800.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0801.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0801.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0900.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0900.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0901.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0901.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0902.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0902.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0a00.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0a00.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0e00.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0e00.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0e01.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0e01.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/dapi.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/dapi.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/derr.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/derr.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0009.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0009.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/000c.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/000c.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0014.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0014.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0016.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0016.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0017.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0017.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0018.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0018.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0019.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0019.htm -------------------------------------------------------------------------------- /docs/html/prog/int33h/0020.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int33h/0020.htm -------------------------------------------------------------------------------- /examples/asm_2/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x detect.asm 3 | sc -bs -q detect 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/asm_3/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x int1ch.asm 3 | sc -bs -q int1ch 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/asm_5/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x memerr.asm 3 | sc -bs -q memerr 4 | del *.obj 5 | -------------------------------------------------------------------------------- /examples/asm_7/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32xc tsr.asm 3 | ss tsr tsr -q 4 | 5 | del *.obj 6 | -------------------------------------------------------------------------------- /docs/html/prog/int10h/4f00.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/4f00.html -------------------------------------------------------------------------------- /docs/html/prog/int10h/4f01.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/4f01.html -------------------------------------------------------------------------------- /docs/html/prog/int10h/4f04.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/4f04.html -------------------------------------------------------------------------------- /docs/html/prog/int10h/4f09.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/4f09.html -------------------------------------------------------------------------------- /docs/html/prog/int10h/4f0a.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int10h/4f0a.html -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff00.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff00.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff80.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff80.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff88.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff88.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff89.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff89.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff8a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff8a.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff90.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff90.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff91.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff91.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff92.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff92.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff93.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff93.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff94.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff94.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff95.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff95.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff96.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff96.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff97.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff97.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff98.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff98.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff99.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff99.htm -------------------------------------------------------------------------------- /docs/html/prog/int21h/0ff9a.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int21h/0ff9a.htm -------------------------------------------------------------------------------- /docs/html/prog/int31h/0eeff.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amindlost/dos32a/HEAD/docs/html/prog/int31h/0eeff.htm -------------------------------------------------------------------------------- /examples/c_7/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x -s -4r d32alib.cpp 3 | sc -bs -q d32alib 4 | del *.obj 5 | -------------------------------------------------------------------------------- /docs/html/sheet.css: -------------------------------------------------------------------------------- 1 | a:hover 2 | { 3 | color: #FF0000; 4 | } 5 | 6 | p 7 | { 8 | text-align: justify; 9 | } 10 | -------------------------------------------------------------------------------- /version.id: -------------------------------------------------------------------------------- 1 | DOS/32 Advanced DOS Extender Liberty Edition 2 | Version: 8.00 3 | Edition: Open Source 4 | Release: 9 5 | Revision: [A] 6 | -------------------------------------------------------------------------------- /examples/c_3/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=dos32x -fm=except86 except86.c 3 | sc -bc -q except86 4 | ss except86 except86 -q 5 | del *.obj 6 | -------------------------------------------------------------------------------- /src/sd/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: SUNSYS Debugger 2 | Version: 8.00 [R9-08.000000235] 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_4/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=dos32x -s -fm=nullptr nullptr.c 3 | sc -bc -q nullptr 4 | ss nullptr.exe nullptr.d32 -q 5 | 6 | del *.obj 7 | -------------------------------------------------------------------------------- /src/sb/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: SUNSYS Bind Utility Program 2 | Version: 8.00 [R9-08.000000199] 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /src/sc/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: SUNSYS Compress Utility Program 2 | Version: 8.00 [R9-08.000000183] 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /src/ss/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: SUNSYS Setup Utility Program 2 | Version: 8.00 [R9-08.000000172] 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /src/sutils/build/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 Build 3 | echo ************************************* 4 | echo. 5 | 6 | wcl %WCLFLAGS% build.c 7 | del *.obj 8 | -------------------------------------------------------------------------------- /examples/c_1/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: HELLO.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_2/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: MEMORY.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_5/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: VESA.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_6/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: SPAWN.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_1/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: HELLO.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_2/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: DETECT.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_3/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: INT1CH.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_4/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: ***SHOW.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_5/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: MEMERR.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_6/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: LFB.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/asm_7/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: TSR.ASM 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_3/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: EXCEPT86.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_4/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: NULLPTR.C 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_7/oemtitle.inf: -------------------------------------------------------------------------------- 1 | Title: D32ALIB.CPP 2 | Description: DOS/32 Advanced Example Files Collection 3 | Copyright: (C) 1996-2002 Supernar Systems, Ltd. 4 | Author: Narech Koumar -------------------------------------------------------------------------------- /examples/c_6/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x -s -5r spawn.c 3 | wcl386 -zq -l=stub32x -s -5r prog1.c 4 | wcl386 -zq -l=stub32x -s -5r prog2.c 5 | sc -bs -q spawn 6 | sc -bs -q prog1 7 | sc -bs -de -q prog2 8 | 9 | del *.obj 10 | -------------------------------------------------------------------------------- /src/_todo.txt: -------------------------------------------------------------------------------- 1 | - dos32a\text\client 2 | * int21h.asm: Change CMP with a Jump table. Maybe also int10h.asm and int33h.asm. 3 | 4 | 5 | - pctest detects 8.00 as 7.1 6 | 7 | - Write the press release of 8.00 dev, send to freedos, openwatcom, ... 8 | 9 | -------------------------------------------------------------------------------- /src/sutils/sver/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 SVER 3 | echo ************************************* 4 | echo. 5 | 6 | wcl %WCLFLAGS% /lr /fe=SVER.EXE MAIN.C 7 | copy sver.exe %DOS32A%\binw >nul 8 | del *.obj 9 | del *.exe 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/sutils/pctest/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 PCTEST 3 | echo ************************************* 4 | echo. 5 | tasm32 %TASMFLAGS% pctest.asm 6 | wcl386 %WCLFLAGS% -fe=PCTEST.EXE -k65535 -l=dos32a MAIN.C PCTEST.OBJ 7 | copy pctest.exe %DOS32A%\pctest >nul 8 | del *.obj 9 | del *.exe -------------------------------------------------------------------------------- /examples/asm_4/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | wcl386 -zq -l=stub32x dbgshow.asm 3 | wcl386 -zq -l=stub32x excshow.asm 4 | wcl386 -zq -l=stub32x intshow.asm 5 | wcl386 -zq -l=stub32x simshow.asm 6 | sc -bs -q dbgshow 7 | sc -bs -q excshow 8 | sc -bs -q intshow 9 | sc -bs -q simshow 10 | 11 | del *.obj 12 | -------------------------------------------------------------------------------- /src/sd/sdlib/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating SUNSYS Debugger Library 3 | echo ******************************** 4 | echo. 5 | 6 | tasm32 %TASMFLAGS% sdebug.asm 7 | wlib -b -c sdebug.lib +-sdebug.obj 8 | rem copy sdebug.lib %WATCOM%\LIB386\L32 9 | copy sdebug.lib %DOS32A%\l32 >nul 10 | del *.obj -------------------------------------------------------------------------------- /src/sutils/misc/stddef.inc: -------------------------------------------------------------------------------- 1 | 2 | cr equ 0Dh,0Ah 3 | cre equ 0Dh,0Ah,00h 4 | 5 | 6 | bptr equ byte ptr 7 | wptr equ word ptr 8 | dptr equ dword ptr 9 | offs equ offset 10 | fptr equ far ptr 11 | 12 | clr macro r1 13 | xor r1,r1 14 | endm 15 | 16 | rdtsc macro 17 | db 0Fh, 31h 18 | endm 19 | 20 | TRUE equ 1 21 | FALSE equ 0 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.obj 3 | 4 | # Linker output 5 | *.map 6 | *.exp 7 | 8 | # Precompiled Headers 9 | *.pch 10 | 11 | # Libraries 12 | *.lib 13 | 14 | # Shared objects (inc. Windows DLLs) 15 | *.dll 16 | 17 | # Executables 18 | *.exe 19 | 20 | # Exclusions 21 | !binw/*.* 22 | !examples/*.* 23 | !l32/*.* 24 | !pctest/*.* 25 | -------------------------------------------------------------------------------- /src/sd/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating SUNSYS Debugger 3 | echo ************************ 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build oemtitle.inf 50 7 | tasm32 -dSVR=0 %TASMFLAGS% sd.asm 8 | wcl386 %WCLFLAGS% -l=dos32a -fe=sd sd.obj 9 | rem _sc -b -q sd 10 | rem _ss sd sd -q 11 | rem _ss sd -lock -q 12 | rem copy sd.exe %WATCOM%\BINW\sd.exe 13 | rem copy sd.exe %WATCOM%\BINW\_sd.exe 14 | copy sd.exe %DOS32A%\binw >nul 15 | del *.obj 16 | del *.exe -------------------------------------------------------------------------------- /src/setvars.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | set TASM=C:\FICHEROS\TA 3 | set WATCOM=C:\FICHEROS\WC 4 | set DOS32A=C:\PROYECTOS\DOS32A 5 | set TASMFLAGS=-r -ml -m -q -zn -w2 -m5 -i%DOS32A%\SRC\SUTILS\MISC 6 | set WCLFLAGS=-oneatx -ohirbk -ei -zp16 -6 -fp6 -fpi87 -bt=dos 7 | set PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%WATCOM%\BINP;%TASM%\BIN;%PATH% 8 | set EDPATH=%WATCOM%\EDDAT 9 | set INCLUDE=%WATCOM%\H;%WATCOM%\MFC\INCLUDE;%WATCOM%\H\NT;.;%DOS32A%\H32;%DOS32A%\SRC\SUTILS\MISC 10 | -------------------------------------------------------------------------------- /src/dos32a/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 Advanced DOS Extender 3 | echo ************************************* 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build TEXT\oemtitle.asm 1958 7 | tasm32 -dEXEC_TYPE=0 %TASMFLAGS% -c kernel.asm 8 | tasm32 -dEXEC_TYPE=0 %TASMFLAGS% -c dos32a.asm 9 | wcl %WCLFLAGS% -lr -fm=dos32a -fe=dos32a dos32a.obj kernel.obj 10 | rem copy dos32a.exe %WATCOM%\BINW 11 | copy dos32a.exe %DOS32A%\binw >nul 12 | del *.obj 13 | del *.exe -------------------------------------------------------------------------------- /src/dos32a/makebeta.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | @echo Creating DOS/32 Advanced DOS Extender Beta 3 | @echo ****************************************** 4 | @echo. 5 | 6 | %dos32a%\src\sutils\build\build TEXT\oemtitle.asm 1958 7 | tasm32 -dEXEC_TYPE=2 %TASMFLAGS% -c kernel.asm 8 | tasm32 -dEXEC_TYPE=2 %TASMFLAGS% -c dos32a.asm 9 | wcl %WCLFLAGS% -lr -fm=dos32a -fe=dos32a dos32a.obj kernel.obj 10 | rem copy dos32a.exe %WATCOM%\BINW 11 | del *.obj 12 | copy dos32a.exe %DOS32A%\binw >nul -------------------------------------------------------------------------------- /src/sb/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating SUNSYS Bind Utility 3 | echo **************************** 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build oemtitle.inf 62 7 | tasm32 %TASMFLAGS% sbind.asm 8 | wcl386 %WCLFLAGS% -l=dos32a -fe=sb -k65536 sbind.obj main.c 9 | rem _sc -b -q sb 10 | rem _ss sb sb -q 11 | rem _ss sb -lock -q 12 | rem copy sb.exe %WATCOM%\BINW\sb.exe 13 | rem copy sb.exe %WATCOM%\BINW\_sb.exe 14 | copy sb.exe %DOS32A%\binw >nul 15 | del *.obj 16 | del *.exe -------------------------------------------------------------------------------- /src/ss/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating SUNSYS Setup Utility 3 | echo ***************************** 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build oemtitle.inf 63 7 | tasm32 %TASMFLAGS% setup.asm 8 | wcl386 %WCLFLAGS% -l=dos32a -fe=ss -k65536 setup.obj main.c 9 | rem _sc -b -q ss 10 | rem _ss ss ss -q 11 | rem _ss ss -lock -q 12 | rem copy ss.exe %WATCOM%\BINW\ss.exe 13 | rem copy ss.exe %WATCOM%\BINW\_ss.exe 14 | copy ss.exe %DOS32A%\binw >nul 15 | del *.obj 16 | del *.exe -------------------------------------------------------------------------------- /src/sc/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating SUNSYS Compress Utility 3 | echo ******************************** 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build oemtitle.inf 66 7 | tasm32 %TASMFLAGS% scomp.asm 8 | tasm32 %TASMFLAGS% sload.asm 9 | wcl386 %WCLFLAGS% -l=dos32a -fe=sc -k65536 scomp.obj sload.obj encode.c main.c 10 | 11 | rem _sc -b -q sc 12 | rem _ss sc sc -q 13 | rem _ss sc -lock -q 14 | rem copy sc.exe %WATCOM%\BINW\sc.exe 15 | rem copy sc.exe %WATCOM%\BINW\_sc.exe 16 | copy sc.exe %DOS32A%\binw >nul 17 | del *.obj 18 | del *.exe -------------------------------------------------------------------------------- /src/stub32a/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 STub 3 | echo ************************************* 4 | echo. 5 | 6 | %dos32a%\src\sutils\build\build oemtitle.inf 15 7 | tasm32 -dEXEC_TYPE=0 %TASMFLAGS% stub32a.asm 8 | tasm32 -dEXEC_TYPE=0 %TASMFLAGS% stub32c.asm 9 | wcl %WCLFLAGS% -lr -fe=stub32a stub32a.obj 10 | wcl %WCLFLAGS% -lr -fe=stub32c stub32c.obj 11 | rem copy stub32a.exe %WATCOM%\BINW 12 | rem copy stub32c.exe %WATCOM%\BINW 13 | copy stub32a.exe %DOS32A%\binw >nul 14 | copy stub32c.exe %DOS32A%\binw >nul 15 | del *.obj 16 | del *.exe 17 | -------------------------------------------------------------------------------- /src/makeall.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating DOS/32 Package 3 | echo ************************************* 4 | echo. 5 | 6 | cd %dos32a%\src\dos32a 7 | call make.bat 8 | 9 | cd %dos32a%\src\sb 10 | call make.bat 11 | 12 | cd %dos32a%\src\sc 13 | call make.bat 14 | 15 | cd %dos32a%\src\sd 16 | call make.bat 17 | 18 | cd %dos32a%\src\sd\sdlib 19 | call make.bat 20 | 21 | 22 | cd %dos32a%\src\ss 23 | call make.bat 24 | 25 | cd %dos32a%\src\stub32a 26 | call make.bat 27 | 28 | cd %dos32a%\src\sutils\build 29 | call make.bat 30 | 31 | cd %dos32a%\src\sutils\pctest 32 | call make.bat 33 | 34 | cd %dos32a%\src\sutils\sver 35 | call make.bat 36 | 37 | 38 | cd %dos32a%\src -------------------------------------------------------------------------------- /docs/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | DOS/32 Advanced DOS Extender - On-line Documentation 4 | 5 | 6 | 7 | 8 | 9 | 10 | <body> 11 | <p> 12 | <font size=-1 face="Verdana, Arial, Helvetica"> 13 | Your browser does not seem to support frames.<br> 14 | Please click <a href="main.html">here</a> to view 15 | the non-framed version of the documentation manuals.<br> 16 | </font> 17 | </p> 18 | </body> 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /examples/makeall.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | cd ASM_1 4 | call make.bat 5 | cd.. 6 | 7 | cd ASM_2 8 | call make.bat 9 | cd.. 10 | 11 | cd ASM_3 12 | call make.bat 13 | cd.. 14 | 15 | cd ASM_4 16 | call make.bat 17 | cd.. 18 | 19 | cd ASM_5 20 | call make.bat 21 | cd.. 22 | 23 | cd ASM_6 24 | call make.bat 25 | cd.. 26 | 27 | cd ASM_7 28 | call make.bat 29 | cd.. 30 | 31 | 32 | cd C_1 33 | call make.bat 34 | cd.. 35 | 36 | cd C_2 37 | call make.bat 38 | cd.. 39 | 40 | cd C_3 41 | call make.bat 42 | cd.. 43 | 44 | cd C_4 45 | call make.bat 46 | cd.. 47 | 48 | cd C_5 49 | call make.bat 50 | cd.. 51 | 52 | cd C_6 53 | call make.bat 54 | cd.. 55 | 56 | cd C_7 57 | call make.bat 58 | cd.. 59 | 60 | -------------------------------------------------------------------------------- /readme.1st: -------------------------------------------------------------------------------- 1 | 2 | Welcome to DOS/32 Advanced DOS Extender 3 | Liberty Edition version 8.0! 4 | 5 | 6 | Dear user of DOS/32 Advanced DOS Extender Liberty Edition, 7 | before you start using this software package please read "DOS/32 8 | Advanced DOS Extender - Readme" documentation manual (file 9 | "readme.txt" located in the .\DOCS directory). It contains 10 | important information about DOS/32 Advanced DOS Extender, its 11 | usage and distribution. 12 | 13 | The file "readme.txt" is in plain text format, and can be viewed 14 | in any text-viewing or text-editing program. 15 | 16 | Thank you for getting DOS/32 Advanced DOS Extender! 17 | 18 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | DOS/32 Advanced DOS Extender Software License 2 | ============================================= 3 | 4 | Copyright (C) 1996-2006 by Narech K. All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are 8 | met: 9 | 10 | 1. Redistributions of source code must retain the above copyright 11 | notice, this list of conditions and the following disclaimer. 12 | 13 | 2. Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | 17 | 3. The end-user documentation included with the redistribution, if any, 18 | must include the following acknowledgment: 19 | 20 | "This product uses DOS/32 Advanced DOS Extender technology." 21 | 22 | Alternately, this acknowledgment may appear in the software itself, if 23 | and wherever such third-party acknowledgments normally appear. 24 | 25 | 4. Products derived from this software may not be called "DOS/32A" or 26 | "DOS/32 Advanced". 27 | 28 | THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 29 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 30 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 31 | DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 32 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 33 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 35 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 36 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 37 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 38 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 39 | 40 | -------------------------------------------------------------------------------- /src/dos32a/text/include.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | cr equ 0Dh, 0Ah 41 | cre equ 0Dh, 0Ah ,0 42 | offs equ offset 43 | bptr equ byte ptr 44 | wptr equ word ptr 45 | dptr equ dword ptr 46 | fptr equ fword ptr 47 | -------------------------------------------------------------------------------- /src/dos32a/text/oemtitle.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | 41 | ;============================================================================= 42 | ; OEM info 43 | ; 44 | db 'DOS/32A' ,0 45 | db 'Copyright (C) 1996-2006 by Narech K.' ,0 46 | db ??date ,0 47 | db ??time ,0 48 | -------------------------------------------------------------------------------- /src/dos32a/loadpe.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | PushState 41 | 42 | 43 | .386p 44 | ;============================================================================= 45 | load_pe_app: 46 | mov _app_type,3 47 | ; 48 | ; Insert PE loader implementation here 49 | ; 50 | mov ax,3004h ; "exec format not supported" 51 | jmp file_error 52 | 53 | 54 | 55 | PopState 56 | 57 | -------------------------------------------------------------------------------- /src/sb/main.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | //#include 51 | 52 | extern int open_exec(char *); 53 | extern void close_exec(void); 54 | 55 | extern int check_if_unbound_exec(void); 56 | extern int get_exec_start(void); 57 | extern int get_exec_type(void); 58 | extern int get_extender_type(void); 59 | extern int unbind_exec(void); 60 | extern int bind_exec(int, int, int, int); 61 | extern char *find_oem_info(void); 62 | 63 | extern short exec_handle; 64 | -------------------------------------------------------------------------------- /binw/dos32a.lnk: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # DOS/32 Advanced DOS Extender version 7.1 system file for WATCOM Linker. 3 | #============================================================================== 4 | # Available DOS/32 Advanced DOS Extender systems (for use with "wcl386.exe"): 5 | # -l=dos32a - DOS/32 Advanced DOS Extender (LE-style) 6 | # -l=dos32x - DOS/32 Advanced DOS Extender (LX-style) 7 | # -l=stub32a - DOS/32A DOS Extender w/ Standard stub (LE-style) 8 | # -l=stub32x - DOS/32A DOS Extender w/ Standard stub (LX-style) 9 | # -l=stub32ac - DOS/32A DOS Extender w/ Configurable stub (LE-style) 10 | # -l=stub32xc - DOS/32A DOS Extender w/ Configurable stub (LX-style) 11 | ############################################################################### 12 | 13 | system begin dos32a 14 | option osname='DOS/32 Advanced DOS Extender (LE-style)' 15 | libpath %WATCOM%\lib386 16 | libpath %WATCOM%\lib386\dos 17 | libpath %WATCOM%\lib386\l32 18 | op stub=dos32a.exe 19 | format os2 le 20 | end 21 | system begin dos32x 22 | option osname='DOS/32 Advanced DOS Extender (LX-style)' 23 | libpath %WATCOM%\lib386 24 | libpath %WATCOM%\lib386\dos 25 | libpath %WATCOM%\lib386\l32 26 | # debug watcom all 27 | # op symfile 28 | op stub=dos32a.exe 29 | op internalrelocs 30 | op align=16 31 | format os2 lx 32 | end 33 | system begin stub32a 34 | option osname='DOS/32A DOS Extender w/ Standard stub (LE-style)' 35 | libpath %WATCOM%\lib386 36 | libpath %WATCOM%\lib386\dos 37 | libpath %WATCOM%\lib386\l32 38 | op stub=stub32a.exe 39 | format os2 le 40 | end 41 | system begin stub32x 42 | option osname='DOS/32A DOS Extender w/ Standard stub (LX-style)' 43 | libpath %WATCOM%\lib386 44 | libpath %WATCOM%\lib386\dos 45 | libpath %WATCOM%\lib386\l32 46 | # debug watcom all 47 | # op symfile 48 | op stub=stub32a.exe 49 | op internalrelocs 50 | op align=16 51 | format os2 lx 52 | end 53 | system begin stub32ac 54 | option osname='DOS/32A DOS Extender w/ Configurable stub (LE-style)' 55 | libpath %WATCOM%\lib386 56 | libpath %WATCOM%\lib386\dos 57 | libpath %WATCOM%\lib386\l32 58 | op stub=stub32c.exe 59 | format os2 le 60 | end 61 | system begin stub32xc 62 | option osname='DOS/32A DOS Extender w/ Configurable stub (LX-style)' 63 | libpath %WATCOM%\lib386 64 | libpath %WATCOM%\lib386\dos 65 | libpath %WATCOM%\lib386\l32 66 | # debug watcom all 67 | # op symfile 68 | op stub=stub32c.exe 69 | op internalrelocs 70 | op align=16 71 | format os2 lx 72 | end 73 | -------------------------------------------------------------------------------- /press.txt: -------------------------------------------------------------------------------- 1 | 29/06/2002 2 | I am very pleased to inform you about the new DOS/32 Advanced web site. 3 | The new site is located at http://dos32a.sourceforge.net, and will be the central head quarters that will coordinate the forthcomming new 8.00 version. 4 | DOS/32 Advanced is freely available in the mentioned site with its binaries, source code and documentation. You can get the stable/final 7.10 version (original Narech Koumar release), as wll as the new development/beta 8.00 version. 5 | 6 | 7 | About DOS/32 Advanced DOS Extender 8 | DOS/32 Advanced DOS Extender is a state-of-the-art, high-performance, high-speed, true "Plug&Play" replacement of the world's most popular DOS Extender, DOS/4GW, created by Tenberry Software (formerly Rational Systems Inc.) for WATCOM C/C++ and FORTRAN 77 compilers which allow DOS Extended applications to run in a 32-bit flat protected mode environment. 9 | DOS/32 Advanced DOS Extender provides full compatibility with WATCOM C/C++ and OpenWatcom C/C++ featuring one of the most complete software emulations of DOS/4GW, thus allowing the users to "plug" DOS/32 Advanced into the protected mode programs which use DOS/4G, DOS/4GW, DOS/4GW Professional and any other compatible DOS Extenders without the need in modifying a single line of code. 10 | DOS/32 Advanced has been designed and optimized to be the fastest, most flexible and highly compatible with other software DOS Extender. It performs mode translating operations, such as Protected to Real and Real To Protected mode switching, as fast as machine's hardware allow, and while being compatible with DOS/4GW, it is the fastest DOS Extender that supports WATCOM C/C++ at this time! A large number of configuration options allow DOS/32 Advanced to be configured in hundreds different ways, either by a special environment variable or by an external setup program, giving its users the ability to manually adjust the number of allocated selectors, callbacks, virtual stacks, turn off the exception handling, change the size of DOS transfer buffer and much, much more. Compatibility with "Clean" (also known as "Raw" or INT 15h), XMS, VCPI and DPMI system softwares allows DOS/32 Advanced DOS Extender to run on different machines with various operating systems installed. Additionally, availability of such features as Null-Pointer Protection, Extended Memory Blocks Checking and support for built-in Debug Mode turns DOS/32 Advanced into a powerful tool for protected mode programmers who want to make their 32-bit protected mode applications error-free. 11 | 12 | 13 | About DOS/32 Advanced Team 14 | The newly founded DOS/32 Advanced Team is coordinated by Javier Gutierrez, and is open to any developer that want to contribute to the project. 15 | Its intention is to improve the excellent DOS/32 Advanced DOS Extender in order to be freely available to OpenWatcom users, and also to the Watcom C/C++ legacy users by giving them a fast, small and free DOS Extender replacement for the DOS4/GW family. 16 | -------------------------------------------------------------------------------- /examples/asm_1/hello.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; HELLO.ASM 43 | ; This program will use DOS API to write a message on the screen. Enjoy! 44 | ; 45 | ;***************************************************************************** 46 | 47 | .386p 48 | .MODEL flat 49 | 50 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 51 | 52 | .CODE 53 | ;============================================================================= 54 | start: 55 | mov ah,09h ; AH = DOS API function 09h 56 | mov edx,offset _msg1 ; EDX = offset of string 57 | int 21h ; call DOS API 58 | 59 | mov ax,4C00h ; return to DOS with error code 00h 60 | int 21h 61 | 62 | 63 | .DATA 64 | ;============================================================================= 65 | _msg1 db 0Dh,0Ah,'Hello world from protected mode!!!',0Dh,0Ah,'$' 66 | 67 | 68 | 69 | .STACK 70 | ;============================================================================= 71 | db 1000h dup(?) 72 | 73 | 74 | end start 75 | -------------------------------------------------------------------------------- /h32/debug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /*==========================================================================*/ 41 | /* C/C++ Run-Time Library: DEBUGGER Library Header file */ 42 | /*==========================================================================*/ 43 | 44 | #ifndef __DEBUG__ 45 | #define __DEBUG__ 46 | 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | /******************************************************************** 52 | The line below will provide WATCOM Linker with information on 53 | where the library corresponding to this include file is located. 54 | 55 | Modify the line below to match your WATCOM Library directory. 56 | *********************************************************************/ 57 | #pragma library ("C:\WATCOM\LIB386\L32\sdebug.lib"); 58 | 59 | 60 | extern void DBG(void); 61 | extern void Debug(void); 62 | extern void Debug_Init(void); 63 | #pragma aux DBG = "int 3"; 64 | 65 | 66 | #ifdef __cplusplus 67 | }; 68 | #endif 69 | 70 | #endif // __DEBUG__ 71 | -------------------------------------------------------------------------------- /src/sc/main.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | //#include 53 | 54 | extern int app_num_objects; 55 | 56 | extern int get_exec_type(void); 57 | 58 | extern int create_temp(void); 59 | extern int close_temp(void); 60 | 61 | extern int create_lc_header(void); 62 | extern int create_lc_object(long); 63 | extern int create_lc_fixups(void); 64 | 65 | extern int relocate_exec(char *); 66 | extern int write_oem_to_temp(int, char *, int); 67 | 68 | extern unsigned short exec_handle; 69 | extern unsigned short temp_handle; 70 | 71 | extern int obj_old_size; 72 | extern int obj_new_size; 73 | extern int relocated_fixups; 74 | 75 | extern byte app_enc_status; 76 | extern byte app_obj_iscode; 77 | extern byte app_obj_is32bit; 78 | extern long app_obj_seekattr[]; 79 | 80 | 81 | -------------------------------------------------------------------------------- /examples/asm_4/dbgshow.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; DBGSHOW.ASM 43 | ; This program will show how to use DOS/32 Advanced built-in Debugger. 44 | ; NOTE: this program will not work correctly under external DPMI. 45 | ; 46 | ;***************************************************************************** 47 | 48 | .386p 49 | .MODEL flat 50 | 51 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 52 | 53 | .CODE 54 | ;============================================================================= 55 | start: 56 | int 03h ; enter Debug mode 57 | 58 | mov eax,11111111h 59 | mov ebx,22222222h 60 | mov ecx,33333333h 61 | mov edx,44444444h 62 | mov esi,55555555h 63 | mov edi,66666666h 64 | 65 | push eax 66 | push ebx 67 | push ecx 68 | push edx 69 | pop eax 70 | pop ebx 71 | pop ecx 72 | pop edx 73 | 74 | mov ax,4C00h ; return to DOS with error code 00h 75 | int 21h 76 | 77 | 78 | .DATA 79 | ;============================================================================= 80 | 81 | 82 | .STACK 83 | ;============================================================================= 84 | db 1000h dup(?) 85 | 86 | 87 | end start 88 | -------------------------------------------------------------------------------- /docs/html/menu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | DOS/32 Advanced DOS Extender - Menu Frame 4 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 |
Main Page


General
Information
User's
Reference
Programmer's
Reference
Technical
Reference
Library
Reference
Utility
Programs
Download



SourceForge Logo
89 | 90 | 91 | -------------------------------------------------------------------------------- /examples/asm_4/excshow.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; EXCSHOW.ASM 43 | ; This program will show how DOS/32 Advanced reports an exception. 44 | ; 45 | ; Note the difference: 46 | ; If you want to hook an exception in protected mode, you must use DPMI 47 | ; functions 0202h and 0203h. 48 | ; If you want to hook an interrupt in protected mode, you must use DPMI 49 | ; functions 0204h and 0205h. 50 | ; For example INT 00h and exception 00h have the same interrupt vector #0, 51 | ; but will be processed by different handlers. 52 | ; 53 | ;***************************************************************************** 54 | 55 | .386p 56 | .MODEL flat 57 | 58 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 59 | 60 | .CODE 61 | ;============================================================================= 62 | start: 63 | xor eax,eax 64 | div eax ; generate EXC #0, Divide Error 65 | 66 | mov ax,4C00h ; return to DOS with error code 00h 67 | int 21h 68 | 69 | 70 | .DATA 71 | ;============================================================================= 72 | 73 | 74 | .STACK 75 | ;============================================================================= 76 | db 1000h dup(?) 77 | 78 | 79 | end start 80 | -------------------------------------------------------------------------------- /examples/asm_4/intshow.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; INTSHOW.ASM 43 | ; This program will show how DOS/32 Advanced reports unexpected interrupts. 44 | ; NOTE: this program will not work correctly under external DPMI. 45 | ; 46 | ; Note the difference: 47 | ; If you want to hook an exception in protected mode, you must use DPMI 48 | ; functions 0202h and 0203h. 49 | ; If you want to hook an interrupt in protected mode, you must use DPMI 50 | ; functions 0204h and 0205h. 51 | ; For example INT 00h and exception 00h have the same interrupt vector #0, 52 | ; but will be processed by different handlers. 53 | ; 54 | ;***************************************************************************** 55 | 56 | .386p 57 | .MODEL flat 58 | 59 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 60 | 61 | .CODE 62 | ;============================================================================= 63 | start: 64 | int 00h 65 | 66 | mov ax,4C00h ; return to DOS with error code 00h 67 | int 21h 68 | 69 | 70 | .DATA 71 | ;============================================================================= 72 | 73 | 74 | .STACK 75 | ;============================================================================= 76 | db 1000h dup(?) 77 | 78 | 79 | end start 80 | -------------------------------------------------------------------------------- /examples/c_6/prog2.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | PROG2.C 43 | See SPAWN.C 44 | 45 | *****************************************************************************/ 46 | 47 | 48 | unsigned char CpuType; 49 | unsigned char SysType; 50 | 51 | struct memory { 52 | unsigned long LargestFreeBlock; 53 | unsigned long MaxUnlockedPages; 54 | unsigned long MaxLockedPages; 55 | unsigned long LinearSpaceInPages; 56 | unsigned long TotalNumOfUnlockedPages; 57 | unsigned long TotalNumOfFreePages; 58 | unsigned long TotalNumOfPhysPages; 59 | unsigned long FreeLinearSpaceInPages; 60 | unsigned long SizeOfPagingFile; 61 | unsigned long Reserved[3]; 62 | } Mem; 63 | 64 | 65 | #pragma aux getmem = \ 66 | "mov eax,0500h" \ 67 | "mov edi,offset Mem" \ 68 | "int 31h" \ 69 | modify [eax edi]; 70 | 71 | #pragma aux getinfo = \ 72 | "push fs" \ 73 | "mov eax,0FF8Ah" \ 74 | "int 21h" \ 75 | "mov CpuType,cl" \ 76 | "mov SysType,ch" \ 77 | "pop fs" \ 78 | modify [eax ebx ecx edx esi]; 79 | 80 | 81 | 82 | 83 | int main(int argc, char *argv[]) { 84 | int n,i; 85 | 86 | getmem(); 87 | getinfo(); 88 | printf(" PROG2: SYS=%02Xh, MEM=%08Xh\n", 89 | SysType, Mem.FreeLinearSpaceInPages); 90 | 91 | return(0x88); 92 | } 93 | -------------------------------------------------------------------------------- /h32/typedefs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /*==========================================================================*/ 41 | /* C/C++ Run-Time Library: type definitions */ 42 | /*==========================================================================*/ 43 | 44 | #ifndef __TYPEDEFS__ 45 | #define __TYPEDEFS__ 46 | 47 | #ifdef __cplusplus 48 | extern "C" { 49 | #endif 50 | 51 | #define NULL 0 52 | #define TRUE 1 53 | #define FALSE 0 54 | #define YES 1 55 | #define NO 0 56 | #define ON 1 57 | #define OFF 0 58 | 59 | /* typedefs for compatibility with previous versions */ 60 | typedef unsigned char uchar; 61 | typedef unsigned short ushort; 62 | typedef unsigned long ulong; 63 | typedef unsigned char byte; 64 | typedef unsigned short word; 65 | typedef unsigned long dword; 66 | 67 | /* the new typedefs are in upper case */ 68 | typedef unsigned char UCHAR; 69 | typedef unsigned short USHORT; 70 | typedef unsigned long ULONG; 71 | typedef unsigned int UINT; 72 | typedef unsigned char BYTE; 73 | typedef unsigned short WORD; 74 | typedef unsigned long DWORD; 75 | /* WATCOM C v10.6 and below do not support __int64 */ 76 | #if __WATCOMC__ > 1060 77 | typedef unsigned __int64 QWORD; 78 | #endif 79 | 80 | #ifdef __cplusplus 81 | }; 82 | #endif 83 | 84 | #endif // __TYPEDEFS__ 85 | -------------------------------------------------------------------------------- /src/sutils/build/build.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /* 41 | * Build number increaser, reads the specified file and increases the build 42 | * number by one at the given offset. 43 | */ 44 | 45 | 46 | #include 47 | #include 48 | #include 49 | #include 50 | #include 51 | #include 52 | #include 53 | #include 54 | #include 55 | #include 56 | #include 57 | 58 | 59 | 60 | void main(int argc, char *argv[]) 61 | { 62 | int n; 63 | int offs; 64 | char buf[1024]; 65 | 66 | FILE *src; 67 | 68 | 69 | puts("BUILD -- SUNSYS Version Report Utility Version 8.00"); 70 | puts("Copyright (C) Supernar Systems, Ltd. 1996-2002"); 71 | 72 | if(argc<3) 73 | { 74 | printf("Syntax is: build filename.xxx offset\n"); 75 | exit(1); 76 | } 77 | 78 | offs=atoi(argv[2]); 79 | memset(buf,0,sizeof(buf)); 80 | 81 | if( (src=fopen(argv[1],"rb")) == NULL ) 82 | { 83 | printf("Cannot open file %s\n",argv[1]); 84 | exit(1); 85 | } 86 | fseek(src,offs,SEEK_SET); 87 | fread(buf,1,4,src); 88 | fclose(src); 89 | 90 | n=atoi(buf); n++; 91 | 92 | src=fopen(argv[1],"r+b"); 93 | fseek(src,offs,SEEK_SET); 94 | fprintf(src,"%04d",n); 95 | fclose(src); 96 | } 97 | 98 | 99 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /examples/c_6/prog1.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | PROG1.C 43 | See SPAWN.C 44 | 45 | *****************************************************************************/ 46 | 47 | #include 48 | 49 | 50 | unsigned char CpuType; 51 | unsigned char SysType; 52 | 53 | struct memory { 54 | unsigned long LargestFreeBlock; 55 | unsigned long MaxUnlockedPages; 56 | unsigned long MaxLockedPages; 57 | unsigned long LinearSpaceInPages; 58 | unsigned long TotalNumOfUnlockedPages; 59 | unsigned long TotalNumOfFreePages; 60 | unsigned long TotalNumOfPhysPages; 61 | unsigned long FreeLinearSpaceInPages; 62 | unsigned long SizeOfPagingFile; 63 | unsigned long Reserved[3]; 64 | } Mem; 65 | 66 | 67 | #pragma aux getmem = \ 68 | "mov eax,0500h" \ 69 | "mov edi,offset Mem" \ 70 | "int 31h" \ 71 | modify [eax edi]; 72 | 73 | #pragma aux getinfo = \ 74 | "push fs" \ 75 | "mov eax,0FF8Ah" \ 76 | "int 21h" \ 77 | "mov CpuType,cl" \ 78 | "mov SysType,ch" \ 79 | "pop fs" \ 80 | modify [eax ebx ecx edx esi]; 81 | 82 | 83 | 84 | 85 | void main(int argc, char *argv[]) { 86 | int n,i; 87 | 88 | getmem(); 89 | getinfo(); 90 | printf(" PROG1: SYS=%02Xh, MEM=%08Xh\n", 91 | SysType, Mem.FreeLinearSpaceInPages); 92 | 93 | for(i=0; i<3; i++) n=spawnl(P_WAIT, "prog2.exe", "prog2.exe", 0); 94 | 95 | getmem(); 96 | printf(" PROG1: RET=%lXh, MEM=%08Xh\n", 97 | n, Mem.FreeLinearSpaceInPages); 98 | exit(0x55); 99 | } 100 | -------------------------------------------------------------------------------- /examples/asm_5/memerr.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; MEMERR.ASM 43 | ; This program shows how the DOS Extender keeps track on whether the Extended 44 | ; memory blocks are valid or they have been corrupted (overwritten). 45 | ; NOTE: this program will not work correctly under external DPMI. 46 | ; 47 | ;***************************************************************************** 48 | 49 | .386p 50 | .MODEL flat 51 | 52 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 53 | 54 | .CODE 55 | ;============================================================================= 56 | start: 57 | push ds ; make ES=DS 58 | pop es 59 | 60 | mov ax,0FF91h ; allocate memory (use DOS/32 Advanced 61 | mov ebx,1000h ; specific mem allocation functions) 62 | int 21h 63 | 64 | mov edi,ebx ; fill memory with 0FFh 65 | mov ecx,1001h ; Note: 1000h + 1 bytes to force 66 | mov eax,-1 ; overwriting of next block header 67 | rep stosb 68 | 69 | ; Note: the DOS Extender cannot detect that 70 | ; memory blocks have been corrupted unless 71 | ; you call an extended memory related DPMI 72 | ; function (any 05xxh function will do) 73 | 74 | mov ax,0FF92h ; try to deallocate memory 75 | int 21h ; at this point DOS/32 Advanced will 76 | ; terminate the application with an 77 | ; error 78 | 79 | mov ah,9 ; this code should never be executed 80 | mov edx,offset _str1 81 | int 21h 82 | mov ax,4C00h 83 | int 21h 84 | 85 | 86 | .DATA 87 | ;============================================================================= 88 | _str1 db 0Dh,0Ah 89 | db 'You should never see this!!!',0Dh,0Ah,'$' 90 | 91 | 92 | .STACK 93 | ;============================================================================= 94 | db 1000h dup(?) 95 | 96 | 97 | end start 98 | -------------------------------------------------------------------------------- /src/sutils/pctest/main.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | //#include 47 | 48 | void show_copyright(void); 49 | void check_mem_avail(void); 50 | void measure_cpu_speed(void); 51 | void measure_fpu_speed(void); 52 | void measure_risc_speed(void); 53 | 54 | void measure_int_speed(void); 55 | void measure_irq_speed(void); 56 | 57 | void measure_lmem_speed(void); 58 | void measure_hmem_speed(void); 59 | void measure_vmem_speed(void); 60 | void measure_system_speed(void); 61 | 62 | extern byte get_cpl(void); 63 | extern byte get_iopl(void); 64 | extern char *get_cpu_id(void); 65 | extern byte get_cpu_type(void); 66 | extern byte get_fpu_type(void); 67 | extern byte get_fpu_info(void); 68 | extern byte get_sys_type(void); 69 | extern byte get_extender_type(void); 70 | extern byte get_dpmi_flags(void); 71 | extern dword get_lomem_size(void); 72 | extern dword get_himem_size(void); 73 | extern dword get_total_size(void); 74 | extern dword get_pmodew_ver(void); 75 | 76 | extern dword test_cpu(void); 77 | extern dword test_fpu(void); 78 | extern dword test_int(void); 79 | extern dword test_irq(void); 80 | extern dword test_risc(void); 81 | extern dword test_priv(void); 82 | extern dword test_low_movsw(void); 83 | extern dword test_low_movsd(void); 84 | extern dword test_low_stosw(void); 85 | extern dword test_low_stosd(void); 86 | extern dword test_high_movsw(void); 87 | extern dword test_high_movsd(void); 88 | extern dword test_high_stosw(void); 89 | extern dword test_high_stosd(void); 90 | extern dword test_vid_movsw(void); 91 | extern dword test_vid_movsd(void); 92 | extern dword test_vid_stosw(void); 93 | extern dword test_vid_stosd(void); 94 | 95 | extern void setvideomode(byte); 96 | extern void gotoxy(byte, byte); 97 | -------------------------------------------------------------------------------- /src/dos32a/text/kernel/test.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;============================================================================= 41 | ; Low-level debugging support for beta releases 42 | ;============================================================================= 43 | 44 | hexal: push dx 45 | mov dx,offs hexbuf+6 46 | jmp mkhex 47 | hexax: push dx 48 | mov dx,offs hexbuf+4 49 | jmp mkhex 50 | hexeax: push dx 51 | mov dx,offs hexbuf 52 | mkhex: push eax cx si di ds dx 53 | smsw si 54 | test si,1 55 | jz @@a 56 | mov ds,cs:seldata 57 | jmp @@b 58 | @@a: mov ds,cs:kernel_code 59 | @@b: mov di,7 60 | @@0: mov si,ax 61 | and si,000Fh 62 | mov cl,cs:hextab[si] 63 | mov ds:hexbuf[di],cl 64 | shr eax,4 65 | dec di 66 | jns @@0 67 | pop si 68 | mov cx,offset hexbuf+10 69 | sub cx,si 70 | @@c: lodsb 71 | mov dl,al 72 | mov ah,2 73 | int 21h 74 | ;loop @@c GUTI 75 | dec ecx 76 | jnz @@c 77 | pop ds di si cx eax dx 78 | ret 79 | hextab db '0123456789ABCDEF' 80 | hexbuf db ' ',13,10 81 | wait: push ax 82 | xor ax,ax 83 | int 16h 84 | pop ax 85 | ret 86 | @_tone: push ax cx dx ; AX=frequency, CX=time 87 | mov dx,0540h 88 | mov cx,9FFFh 89 | mov al,0B6h ; set frequency 90 | out 43h,al 91 | mov al,dl ; fLow 92 | out 42h,al 93 | mov al,dh ; fHigh 94 | out 42h,al 95 | in al,61h ; beep on 96 | or al,03h 97 | out 61h,al 98 | @@loop: mov ax,0001h 99 | cwd 100 | div ax 101 | div ax 102 | div ax 103 | ;loop @@loop GUTI 104 | dec ecx 105 | jnz @@loop 106 | in al,61h ; beep off 107 | and al,not 03h 108 | out 61h,al 109 | pop dx cx ax 110 | @@done: ret 111 | 112 | 113 | show_debug_string: 114 | pusha 115 | mov ah,9 116 | mov dx,offset _debug_string 117 | int 21h 118 | popa 119 | ret 120 | _debug_string label byte 121 | db 'Kernel Module, built-in DPMI host 0.9A',0Dh,0Ah 122 | db 'Debug Version, build ',??date,' ',??time,0Dh,0Ah 123 | db 0Dh,0Ah,'$' 124 | -------------------------------------------------------------------------------- /examples/c_6/spawn.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | SPAWN.C 43 | This example program will show how to spawn an application under DOS/32A. 44 | 45 | The SPAWN.EXE program will run PROG1.EXE which in its turn will run PROG2.EXE 46 | Each program will report the amount of available extended memory (in pages) 47 | and return codes. 48 | 49 | *****************************************************************************/ 50 | #include 51 | #include 52 | #include 53 | #include 54 | 55 | 56 | unsigned char CpuType; 57 | unsigned char SysType; 58 | 59 | struct memory { 60 | unsigned long LargestFreeBlock; 61 | unsigned long MaxUnlockedPages; 62 | unsigned long MaxLockedPages; 63 | unsigned long LinearSpaceInPages; 64 | unsigned long TotalNumOfUnlockedPages; 65 | unsigned long TotalNumOfFreePages; 66 | unsigned long TotalNumOfPhysPages; 67 | unsigned long FreeLinearSpaceInPages; 68 | unsigned long SizeOfPagingFile; 69 | unsigned long Reserved[3]; 70 | } Mem; 71 | 72 | 73 | 74 | 75 | #pragma aux getmem = \ 76 | "mov eax,0500h" \ 77 | "mov edi,offset Mem" \ 78 | "int 31h" \ 79 | modify [eax edi]; 80 | 81 | #pragma aux getinfo = \ 82 | "push fs" \ 83 | "mov eax,0FF8Ah" \ 84 | "int 21h" \ 85 | "mov CpuType,cl" \ 86 | "mov SysType,ch" \ 87 | "pop fs" \ 88 | modify [eax ebx ecx edx esi]; 89 | 90 | 91 | 92 | 93 | void main() { 94 | int n,i; 95 | clock_t exec_start, exec_end; 96 | const char *args[] = { "prog1.exe", 0 }; // command line 97 | 98 | getmem(); 99 | getinfo(); 100 | printf("\n"); 101 | printf("SPAWN: SYS=%02Xh, MEM=%08Xh\n", 102 | SysType, Mem.FreeLinearSpaceInPages); 103 | 104 | putenv("DOS32A=QUIET"); 105 | 106 | exec_start=clock(); 107 | for(i=0; i<3; i++) n=spawnvp(P_WAIT, "prog1.exe", args); 108 | exec_end=clock(); 109 | 110 | getmem(); 111 | printf("SPAWN: RET=%02Xh, MEM=%08Xh\n", 112 | n, Mem.FreeLinearSpaceInPages); 113 | printf("\n"); 114 | 115 | printf("Execution time was: %d timer ticks\n", 116 | exec_end-exec_start); 117 | 118 | exit(0); 119 | } 120 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # DOS/32 Advanced DOS Extender 2 | 3 | This repository contains the source code of DOS/32A v9.12, released 2006-04-20, for the purpose of archival and preservation. As of 2022-01, the original host website at [dos32a.narechk.net](http://dos32a.narechk.net/) is no longer available, but is archived on the [Wayback Machine](https://web.archive.org/web/20210726190857/https://dos32a.narechk.net/index_en.html). 4 | 5 | The binary (dos32a-912-bin.zip) and source (dos32a-912-src.zip) archives have been unzipped over the contents of DOS/32A v8.00 Liberty Edition, retrieved from [Sourceforge.net](https://sourceforge.net/projects/dos32a/), which contains documentation, examples, and other files not included with the v9.12 release. The v8.0 release appears to have been independant of the original author, with the "press.txt" file advertising the _newly founded DOS/32 Advanced Team is coordinated by Javier Gutierrez_. 6 | 7 | DOS/32A is Copyright © 1996-2006 by Narech Koumar. 8 | 9 | ## Overview 10 | 11 | DOS/32 Advanced DOS Extender is a drop-in replacement for the popular DOS/4GW DOS Extender and compatibles. During 1990'es many software applications and games were developed using Watcom C/C++ and Fortran compilers which allowed DOS applications to run in 32-bit flat protected mode environment, e.g. be "DOS Extended." This functionality was provided by the DOS/4GW DOS Extender from Tenberry Software, a middleware product which at the time was bundled with Watcom tools. While being royalty-free, DOS/4GW was big, slow and lacked many important features, all in favour of its commercial (and rather expensive) siblings. To remedy the situation a number of independent projects set out to create a replacement of DOS/4GW that could match and exceed it in terms of features, performance and price. DOS/32A is the result of such a project. 12 | 13 | DOS/32 Advanced DOS Extender provides full compatibility with Watcom C/C++ and features one of the most complete software emulations of DOS/4GW, thus allowing the users to "plug" it into the protected mode programs which use DOS/4G, DOS/4GW, DOS/4GW Professional and any other compatible DOS Extenders without the need to modify a single line of code. 14 | 15 | DOS/32 Advanced DOS Extender has been designed to be fast, flexible and reliable. It features very fast mode translation and interrupt servicing, ability to configure and bind the DOS Extender to applications, protected mode executable compression, support for allocation of up to 2 GB of memory, Null-pointer protection and more. 16 | 17 | DOS/32 Advanced DOS Extender has been commercially available since 1996 and has been used in numerous projects targeting many different segments of software market including research, aviation, antivirus, embedded systems and dedicated real-time mission-critical software. In May 2002 DOS/32 Advanced DOS Extender was released to the public in the form of "Liberty Edition" which included the complete set of the latest binaries, documentation manuals and the complete source code of the DOS Extender and its tools under a special Apache-like license allowing unrestricted, royalty-free distribution and use of the released materials in any software projects including commercial products. 18 | 19 | ## License 20 | 21 | Redistribution and use in source and binary forms, with or without 22 | modification, are permitted provided that the following conditions are 23 | met: 24 | 25 | 1. Redistributions of source code must retain the above copyright 26 | notice, this list of conditions and the following disclaimer. 27 | 28 | 2. Redistributions in binary form must reproduce the above copyright 29 | notice, this list of conditions and the following disclaimer in the 30 | documentation and/or other materials provided with the distribution. 31 | 32 | 3. The end-user documentation included with the redistribution, if any, 33 | must include the following acknowledgment: 34 | 35 | "This product uses DOS/32 Advanced DOS Extender technology." 36 | 37 | Alternately, this acknowledgment may appear in the software itself, if 38 | and wherever such third-party acknowledgments normally appear. 39 | 40 | 4. Products derived from this software may not be called "DOS/32A" or 41 | "DOS/32 Advanced". 42 | 43 | THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 44 | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 45 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 46 | DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 47 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 48 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 49 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 50 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 51 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 52 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 53 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 54 | 55 | -------------------------------------------------------------------------------- /examples/c_3/except86.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | EXCEPT86.C 43 | This program will show how the exceptions are handled under DOS/32 Advanced. 44 | 45 | *****************************************************************************/ 46 | 47 | 48 | #pragma aux except86 = \ 49 | "mov cs:[0080h],al"; 50 | 51 | #pragma aux cls = \ 52 | "mov ax,03h" \ 53 | "int 10h" \ 54 | modify [eax]; 55 | 56 | #pragma aux getkey = \ 57 | "xor ax,ax" \ 58 | "int 16h" \ 59 | modify [eax]; 60 | 61 | #pragma aux except86chk = \ 62 | "mov ax,0FF8Ah" \ 63 | "int 21h" \ 64 | "cmp eax,'ID32'" \ 65 | "mov eax,3" \ 66 | "jnz @@done" \ 67 | "cmp ch,3" \ 68 | "mov eax,2" \ 69 | "jz @@done" \ 70 | "test dl,02h" \ 71 | "mov eax,1" \ 72 | "jz @@done" \ 73 | "mov eax,0" \ 74 | "@@done:" \ 75 | modify [eax ebx ecx edx esi]\ 76 | value [eax]; 77 | 78 | 79 | 80 | 81 | 82 | void main() { 83 | 84 | cls(); 85 | 86 | printf("\ 87 | ==========================================================\n\ 88 | This program will generate an exception #13, General \n\ 89 | Protection Fault, just to show you how DOS/32 Advanced \n\ 90 | traps down run-time errors and reports them to the user, \n\ 91 | and how you can debug an application that generates an \n\ 92 | exception. \n\ 93 | \n\ 94 | To debug an application that contains error, use SUNSYS \n\ 95 | Debugger. Note the unrelocated address, and start the \n\ 96 | Debugger by typing SD at DOS prompt. Now \n\ 97 | press the ENTER key and enter the unrelocated address \n\ 98 | you memorized preceeded by a <.> (point). The Debugger \n\ 99 | will now show the faulting instruction under the cursor. \n\ 100 | \n\ 101 | You may also want to instruct the linker to generate \n\ 102 | a map file. By looking at map file and compairing the \n\ 103 | unrelocated addresses you may gain the information about \n\ 104 | where, in which module and which subroutine in your \n\ 105 | application the exception is thrown. \n\ 106 | ==========================================================\n\n"); 107 | 108 | printf("Now the exception #13 will be generated.\n"); 109 | printf("Press any key to continue...\n"); 110 | getkey(); 111 | printf("\n"); 112 | 113 | switch(except86chk()) { 114 | case 0: except86(); 115 | break; 116 | 117 | case 1: printf("Internal Exception Control is not active!!!\n\n"); 118 | printf("Use the SUNSYS Setup Utility Program to turn on the Internal\n"); 119 | printf("Exception Control.\n"); 120 | break; 121 | 122 | case 2: printf("Generating exception under external DPMI host...\n\n"); 123 | except86(); 124 | break; 125 | 126 | case 3: printf("DOS/32 Advanced DOS Extender not present!!!\n\n"); 127 | printf("You should not run this test program under other DOS Extenders\n"); 128 | printf("than DOS/32 Advanced.\n"); 129 | break; 130 | } 131 | 132 | exit(0); 133 | } 134 | -------------------------------------------------------------------------------- /examples/c_4/nullptr.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | NULLPTR.C 43 | This is an example of what happens when you use an uninitialized (null) 44 | pointer to access memory under DOS/32 Advanced with Null-Pointer Protection 45 | turned on. 46 | 47 | *****************************************************************************/ 48 | 49 | 50 | char *mypointer; 51 | 52 | /* 53 | #pragma aux nullptr = \ 54 | "mov ds:[0000h],al"; 55 | */ 56 | 57 | void nullptr() { 58 | mypointer=0; 59 | *mypointer=0; 60 | } 61 | 62 | #pragma aux cls = \ 63 | "mov ax,03h" \ 64 | "int 10h" \ 65 | modify [eax]; 66 | 67 | #pragma aux getkey = \ 68 | "xor ax,ax" \ 69 | "int 16h" \ 70 | modify [eax]; 71 | 72 | #pragma aux nullptrchk = \ 73 | "mov ax,0FF89h" \ 74 | "int 21h" \ 75 | "cmp eax,'ID32'" \ 76 | "mov eax,2" \ 77 | "jnz @@done" \ 78 | "test edx,80h" \ 79 | "mov eax,1" \ 80 | "jz @@done" \ 81 | "mov eax,0" \ 82 | "@@done:" \ 83 | modify [eax ebx ecx edx esi edi]\ 84 | value [eax]; 85 | 86 | 87 | 88 | void main() { 89 | 90 | cls(); 91 | 92 | printf("\ 93 | ==================================================================\n\ 94 | This program will show how DOS/32 Advanced built-in Null-Pointer \n\ 95 | Protection feature can be used to trap down writes to the memory \n\ 96 | in range 0:00000000h to 0:00000010h (abs. addresses). \n\ 97 | \n\ 98 | When a null-pointer is used to access (write to) memory, the \n\ 99 | real mode interrupt vector table is most likely to be modified, \n\ 100 | and the first interrupt vectors, starting with INT 00h are to be \n\ 101 | overwritten since the bases of DS, ES and SS selectors are zero \n\ 102 | under DOS/4GW and DOS/32 Advanced. This may lead to improper \n\ 103 | exception handling in real mode and in worst case to application \n\ 104 | crashes, which in their turn can lead to loss of data. To \n\ 105 | prevent this, DOS/32 Advanced offers the programmers the ability \n\ 106 | to write-protect the first 16 bytes of memory, starting at \n\ 107 | absolute address 0:00000000h. The protection is done by hardware \n\ 108 | and 80x86 debug registers are used to accomplish this task. \n\ 109 | \n\ 110 | When developing an application, turn on the Null-Ptr Protection \n\ 111 | to ensure that your program does not contain any uninitialized \n\ 112 | (null) pointers. \n\ 113 | ==================================================================\n\n"); 114 | 115 | printf("Now the Null-Pointer Protection will be triggered and debugger mode entered.\n"); 116 | printf("Press any key to continue...\n"); 117 | getkey(); 118 | printf("\n"); 119 | 120 | switch(nullptrchk()) { 121 | 122 | case 0: nullptr(); 123 | break; 124 | 125 | case 1: printf("Null-Pointer Protection is not active!!!\n\n"); 126 | printf("To turn on Null-Pointer Protection either use\n"); 127 | printf("the SUNSYS Setup Utility Program, or add the\n"); 128 | printf("following keyword to DOS32A environment string\n"); 129 | printf("in your autoexec.bat: /NULLP\n\n"); 130 | break; 131 | 132 | case 2: printf("DOS/32 Advanced not detected!!!\n\n"); 133 | break; 134 | } 135 | exit(0); 136 | } 137 | -------------------------------------------------------------------------------- /examples/c_2/memory.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The end-user documentation included with the redistribution, if any, 16 | * must include the following acknowledgment: 17 | * 18 | * "This product uses DOS/32 Advanced DOS Extender technology." 19 | * 20 | * Alternately, this acknowledgment may appear in the software itself, if 21 | * and wherever such third-party acknowledgments normally appear. 22 | * 23 | * 4. Products derived from this software may not be called "DOS/32A" or 24 | * "DOS/32 Advanced". 25 | * 26 | * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | */ 39 | 40 | /***************************************************************************** 41 | 42 | MEMORY.C 43 | This program will show memory availability under DOS/32 Advanced. 44 | Note that this program is linked in LE format, so that you could run it 45 | under other DOS Extenders. 46 | 47 | *****************************************************************************/ 48 | 49 | 50 | 51 | struct memory { 52 | unsigned long LargestFreeBlock; 53 | unsigned long MaxUnlockedPages; 54 | unsigned long MaxLockedPages; 55 | unsigned long LinearSpaceInPages; 56 | unsigned long TotalNumOfUnlockedPages; 57 | unsigned long TotalNumOfFreePages; 58 | unsigned long TotalNumOfPhysPages; 59 | unsigned long FreeLinearSpaceInPages; 60 | unsigned long SizeOfPagingFile; 61 | unsigned long Reserved[3]; 62 | } Mem; 63 | 64 | #pragma aux getmeminfo = \ 65 | "mov eax,0500h" \ 66 | "mov edi,offset Mem" \ 67 | "int 31h" \ 68 | modify [eax edi]; 69 | 70 | 71 | 72 | void main(int argc, char *argv[]) { 73 | 74 | getmeminfo(); 75 | 76 | printf("\n"); 77 | printf("DPMI Memory Information:\n"); 78 | printf("-----------------------------------------------------------------\n"); 79 | 80 | printf("Largest Available Free Block Size: "); 81 | printf("0x%08X (%9d) bytes", 82 | Mem.LargestFreeBlock, 83 | Mem.LargestFreeBlock); 84 | printf("\n"); 85 | 86 | printf("Maximum Unlocked Page Allocations: "); 87 | if(Mem.MaxUnlockedPages!=-1) 88 | printf("0x%08X (%9d) pages", 89 | Mem.MaxUnlockedPages, 90 | Mem.MaxUnlockedPages); 91 | else printf("information not available"); 92 | printf("\n"); 93 | 94 | printf("Maximum Locked Page Allocations: "); 95 | if(Mem.MaxLockedPages!=-1) 96 | printf("0x%08X (%9d) pages", 97 | Mem.MaxLockedPages, 98 | Mem.MaxLockedPages); 99 | else printf("information not available"); 100 | printf("\n"); 101 | 102 | printf("Linear Address Space Size: "); 103 | if(Mem.LinearSpaceInPages!=-1) 104 | printf("0x%08X (%9d) pages", 105 | Mem.LinearSpaceInPages, 106 | Mem.LinearSpaceInPages); 107 | else printf("information not available"); 108 | printf("\n"); 109 | 110 | printf("Total Number of Unlocked Pages: "); 111 | if(Mem.TotalNumOfUnlockedPages!=-1) 112 | printf("0x%08X (%9d) pages", 113 | Mem.TotalNumOfUnlockedPages, 114 | Mem.TotalNumOfUnlockedPages); 115 | else printf("information not available"); 116 | printf("\n"); 117 | 118 | printf("Total Number of Free Pages: "); 119 | if(Mem.TotalNumOfFreePages!=-1) 120 | printf("0x%08X (%9d) pages", 121 | Mem.TotalNumOfFreePages, 122 | Mem.TotalNumOfFreePages); 123 | else printf("information not available"); 124 | printf("\n"); 125 | 126 | printf("Total Number of Physical Pages: "); 127 | if(Mem.TotalNumOfPhysPages!=-1) 128 | printf("0x%08X (%9d) pages", 129 | Mem.TotalNumOfPhysPages, 130 | Mem.TotalNumOfPhysPages); 131 | else printf("information not available"); 132 | printf("\n"); 133 | 134 | printf("Free Linear Address Space: "); 135 | if(Mem.FreeLinearSpaceInPages!=-1) 136 | printf("0x%08X (%9d) pages", 137 | Mem.FreeLinearSpaceInPages, 138 | Mem.FreeLinearSpaceInPages); 139 | else printf("information not available"); 140 | printf("\n"); 141 | 142 | printf("Size of Paging File/Partition: "); 143 | if(Mem.SizeOfPagingFile!=-1) 144 | printf("0x%08X (%9d) pages", 145 | Mem.SizeOfPagingFile, 146 | Mem.SizeOfPagingFile); 147 | else printf("information not available"); 148 | printf("\n"); 149 | 150 | 151 | exit(0); 152 | } 153 | -------------------------------------------------------------------------------- /src/dos32a/text/kernel/exit.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;============================================================================= 41 | ; Exit Protected Mode 42 | ;============================================================================= 43 | 44 | int21h_pm: 45 | cmp ah,4Ch ; watch for INT 21h AH=4Ch 46 | jne @@done 47 | 48 | cli 49 | cld 50 | push ax ; save error code in AL 51 | 52 | mov ds,cs:seldata 53 | mov es,selzero 54 | 55 | mov eax,oldcr0 ; restore CR0 56 | mov cr0,eax 57 | 58 | mov eax,oldint1Bh ; restore critical INTs 59 | mov es:[4*1Bh],eax 60 | mov eax,oldint1Ch 61 | mov es:[4*1Ch],eax 62 | mov eax,oldint21h 63 | mov es:[4*21h],eax 64 | mov eax,oldint23h 65 | mov es:[4*23h],eax 66 | mov eax,oldint24h 67 | mov es:[4*24h],eax 68 | mov eax,oldint2Fh 69 | mov es:[4*2Fh],eax 70 | 71 | call mem_dealloc ; dealloc memory for current process 72 | movzx bx,pmodetype ; appropriate exit routine 73 | add bx,bx 74 | call @@exit[bx] ; call cleanup routine on exit 75 | 76 | pop ax ; restore AX 77 | @@done: jmp int_matrix+4*21h ; go to INT 21h redirection 78 | 79 | @@exit dw r_exit 80 | dw x_exit 81 | dw v_exit 82 | dw d_exit 83 | 84 | 85 | ; deallocate memory for this process (eg all blocks matching id32_process_id) 86 | ;============================================================================= 87 | mem_dealloc: 88 | cmp id32_process_id,0 ; no need in freeing memory when 89 | jz @@done ; only one process is running 90 | 91 | mov esi,mem_ptr 92 | mov eax,mem_free 93 | or eax,esi ; check if memory was allocated 94 | jz @@done ; if not, we are done 95 | 96 | @@1: mov eax,es:[esi+04h] 97 | mov edx,es:[esi+08h] 98 | btr eax,31 99 | cmp edx,dptr id32_process_id ; block allocated from this process 100 | jnz @@2 ; if not, jump 101 | mov es:[esi+04h],eax ; otherwise set this block as free 102 | @@2: lea esi,[esi+eax+10h] ; get ptr to next memory block 103 | cmp esi,mem_top ; check if at top of memory 104 | jb @@1 ; if not, loop 105 | push ds es 106 | pop ds 107 | call int31_linkfreeblocks 108 | pop ds 109 | @@done: ret 110 | 111 | 112 | ; RAW exit prologue 113 | ;============================================================================= 114 | r_exit: mov eax,oldint15h ; put back old INT 15h handler 115 | mov es:[4*15h],eax 116 | ret 117 | 118 | ; XMS exit prologue 119 | ;============================================================================= 120 | x_exit: call xms_dealloc 121 | mov ah,A20_state ; reset A20 gate to initial state 122 | and ah,1 123 | xor ah,1 ; calculate appropriate function num 124 | add ah,3 125 | jmp xms_call_pm 126 | 127 | ; VCPI exit prologue 128 | ;============================================================================= 129 | v_exit: mov cx,vcpi_allocmem ; check if memory was allocated 130 | mov esi,pagetablefree 131 | jcxz xms_dealloc ; if no VCPI memory was allocated, try XMS 132 | 133 | @@0: mov edx,es:[esi] 134 | add esi,4 135 | and dx,0F000h 136 | mov ax,0DE05h 137 | call fptr vcpi_calleip 138 | loop @@0 139 | 140 | mov eax,vcpi_cr3 ; reload CR3 to flush page cache 141 | mov cr3,eax 142 | 143 | ;----------------------------------------------------------------------------- 144 | xms_dealloc: ; XMS deallocate memory 145 | mov dx,xms_handle ; check if memory was allocated 146 | test dx,dx 147 | jz d_exit ; if not, done 148 | 149 | @@0: mov ah,0Dh ; unlock XMS memory 150 | call xms_call_pm 151 | mov ah,0Ah ; free XMS memory 152 | xms_call_pm: 153 | push ss 154 | pop es 155 | sub esp,32h 156 | mov edi,esp 157 | xor ecx,ecx 158 | mov [esp+14h],dx ; DX 159 | mov [esp+1Ch],ax ; AX 160 | mov eax,dptr xms_call ; real mode CS:IP 161 | mov [esp+20h],cx ; clear flags 162 | mov [esp+2Eh],ecx ; clear SS:SP 163 | mov [esp+2Ah],eax ; put in structure 164 | xor bx,bx 165 | mov ax,0301h 166 | int 31h 167 | add esp,32h 168 | 169 | ; DPMI exit prologue (actually there is no such thing) 170 | ;============================================================================= 171 | d_exit: ret 172 | 173 | 174 | -------------------------------------------------------------------------------- /src/dos32a/text/testbeta.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;============================================================================= 41 | ; Low-level debugging support for beta releases 42 | ; 43 | ; Note: this code is shared between CLIENT & KERNEL; whenever there is a need 44 | ; to differentiate between the two (seg/sel regs and such), use the 45 | ; BUILDING_KERNEL and BUILDING_CLIENT macro symbols 46 | ; 47 | ;============================================================================= 48 | 49 | 50 | ;============================================================================= 51 | ; write the contents of AL (8-bit) register to STDOUT 52 | ; 53 | dbg_hexal: 54 | push dx 55 | mov dx,offs hexbuf+6 56 | jmp mkhex 57 | 58 | ;============================================================================= 59 | ; write the contents of AX (16-bit) register to STDOUT 60 | ; 61 | dbg_hexax: 62 | push dx 63 | mov dx,offs hexbuf+4 64 | jmp mkhex 65 | 66 | ;============================================================================= 67 | ; write the contents of EAX (32-bit) register to STDOUT 68 | ; 69 | ; works from real & protected modes, should be fairly transparent to the app 70 | ; 71 | dbg_hexeax: 72 | push dx 73 | mov dx,offs hexbuf 74 | mkhex: push eax cx si di ds dx 75 | smsw si 76 | test si,1 77 | jz @@0 78 | ; 79 | ; TODO: rewrite this shit pronto! (in particular avoid memory r/w access a la CLIENT/strings.asm) 80 | ; 81 | 82 | If BUILDING_KERNEL eq 0 83 | mov ds,cs:_sel_ds 84 | jmp @@1 85 | @@0: mov ds,cs:_seg_ds 86 | Else 87 | mov ds,cs:seldata 88 | jmp @@1 89 | @@0: mov ds,cs:kernel_code 90 | Endif 91 | 92 | @@1: mov di,7 93 | 94 | @@cvt: mov si,ax 95 | and si,000Fh 96 | mov cl,cs:hextab[si] 97 | mov ds:hexbuf[di],cl 98 | shr eax,4 99 | dec di 100 | jns @@cvt 101 | pop si 102 | 103 | mov cx,offs hexbuf+10 104 | sub cx,si 105 | @@loop: lodsb 106 | mov dl,al 107 | mov ah,2 108 | int 21h 109 | loop @@loop 110 | pop ds di si cx eax dx 111 | ret 112 | hextab db '0123456789ABCDEF' 113 | hexbuf db ' ',13,10 114 | 115 | 116 | ;============================================================================= 117 | ; pause until a key is pressed 118 | ; 119 | ; note: this switches CPU to real mode (BIOS Fn Int16h/AX=0) 120 | ; 121 | dbg_kbhit: 122 | push ax 123 | xor ax,ax 124 | int 16h 125 | pop ax 126 | ret 127 | 128 | ;============================================================================= 129 | ; beep a sound from the PC speaker 130 | ; AX = frequency 131 | ; CX = time 132 | ; 133 | dbg_beep: 134 | @@0: push cx dx ax ; AX=frequency, CX=time 135 | mov al,0B6h ; set frequency 136 | out 43h,al 137 | pop ax 138 | out 42h,al ; fLow 139 | mov al,ah 140 | out 42h,al ; fHigh 141 | in al,61h ; beep on 142 | or al,03h 143 | out 61h,al 144 | @@loop: in al,40h 145 | in al,40h 146 | mov ah,al 147 | @@1: in al,40h 148 | in al,40h 149 | cmp ah,al 150 | je @@1 151 | loop @@loop 152 | in al,61h ; beep off 153 | and al,not 03h 154 | out 61h,al 155 | pop dx cx 156 | ret 157 | 158 | ;============================================================================= 159 | ; halt execution forever 160 | ; 161 | ; this blocks app execution in an endless loop, with predicate AX being tested 162 | ; for being zero; the state of AX is then expected to be changed by an external 163 | ; debugger (i.e. from an emulator) so that debugging can proceed from that point 164 | ; 165 | dbg_halt: 166 | pushf 167 | cli 168 | push ax 169 | xor ax,ax 170 | @@loop: test ax,ax 171 | jz @@loop 172 | pop ax 173 | sti 174 | popf 175 | ret 176 | 177 | ;============================================================================= 178 | ; convinience fn: peep a beep, then die a little in hope of a better future 179 | ; 180 | ; real men don't use no hardware debuggers! 181 | ; 182 | dbg_break: 183 | pushf 184 | push ax cx 185 | mov cx,0200h 186 | mov ax,0500h 187 | call dbg_beep 188 | mov ax,0100h 189 | call dbg_beep 190 | mov ax,0500h 191 | call dbg_beep 192 | pop cx ax 193 | popf 194 | jmp dbg_halt 195 | 196 | -------------------------------------------------------------------------------- /src/stub32a/stub32a.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2006 by Narech K. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | .286 41 | .MODEL tiny 42 | LOCALS 43 | 44 | .CODE 45 | ;============================================================================= 46 | db 'STUB/32A' ,0 47 | db 'Copyright (C) 1996-2006 by Narech K.' ,0 48 | db ??date ,0 49 | db ??time ,0 50 | 51 | 52 | start: sti 53 | push cs 54 | pop ds 55 | mov ax,es 56 | mov bx,ss 57 | mov _psp,ax 58 | sub bx,ax 59 | mov ax,sp 60 | shr ax,4 61 | add bx,ax 62 | inc bx 63 | mov ah,4Ah 64 | int 21h 65 | jc err1 66 | 67 | @@1: mov es,es:[002Ch] ; get environment 68 | call make_cmd 69 | mov bp,0090h 70 | call exec 71 | call find_path1 72 | call find_path2 73 | 74 | err0: mov ah,09h 75 | mov dx,offset str1 76 | mov byte ptr byte0,22h 77 | int 21h 78 | err1: mov ax,4CFFh 79 | int 21h 80 | 81 | 82 | ;----------------------------------------------------------------------------- 83 | make_cmd: 84 | push ds es 85 | push ss 86 | pop ds 87 | xor ax,ax 88 | xor di,di 89 | mov cx,7FFFh 90 | @@1: repne scasb 91 | scasb 92 | jnz @@1 93 | inc di 94 | inc di 95 | mov si,di 96 | repne scasb 97 | sub di,si 98 | mov cx,di 99 | mov ax,di 100 | mov di,0011h 101 | push ss 102 | push es 103 | pop ds 104 | pop es 105 | rep movsb 106 | mov byte ptr es:[di-1],20h 107 | mov ds,cs:_psp 108 | mov si,0081h 109 | mov cl,[si-1] 110 | add al,cl 111 | inc cx 112 | mov es:[0010h],al 113 | rep movsb 114 | pop es ds 115 | ret 116 | 117 | 118 | ;----------------------------------------------------------------------------- 119 | find_path1: 120 | xor ax,ax 121 | xor di,di 122 | @@1: mov cx,0007h 123 | mov si,offset path1 124 | rep cmpsb 125 | jz @@2 126 | mov cl,0FFh 127 | repne scasb 128 | cmp al,es:[di] 129 | jnz @@1 130 | ret 131 | @@2: mov al,20h ; skip leading spaces 132 | mov cl,0FFh 133 | rep scasb 134 | cmp word ptr es:[di],'\:' 135 | jz @@3 136 | ret 137 | @@3: dec di 138 | mov bp,0090h 139 | @@loop: mov al,es:[di] 140 | test al,al 141 | jz @@4 142 | inc di 143 | cmp al,20h 144 | jz @@4 145 | mov [bp],al 146 | inc bp 147 | jmp @@loop 148 | @@4: mov byte ptr [bp],'\' 149 | mov word ptr [bp+1],'IB' 150 | mov word ptr [bp+3],'WN' 151 | add bp,5 152 | jmp exec 153 | 154 | 155 | 156 | 157 | ;----------------------------------------------------------------------------- 158 | find_path2: 159 | xor ax,ax 160 | xor di,di 161 | @@1: mov cx,0005h 162 | mov si,offset path2 163 | rep cmpsb 164 | jz @@2 165 | mov cl,0FFh 166 | repne scasb 167 | cmp al,es:[di] 168 | jnz @@1 169 | ret 170 | @@2: mov bp,0090h 171 | @@loop: mov al,es:[di] 172 | test al,al 173 | jz exec 174 | inc di 175 | cmp al,20h 176 | jz @@loop 177 | cmp al,';' 178 | jz @@3 179 | mov [bp],al 180 | inc bp 181 | jmp @@loop 182 | @@3: call exec 183 | jmp @@2 184 | 185 | 186 | ;----------------------------------------------------------------------------- 187 | exec: push ds es di 188 | xor si,si 189 | cmp bp,0090h 190 | jz @@0 191 | inc si 192 | mov byte ptr [bp],'\' 193 | @@0: lea di,[bp+si] 194 | mov si,offset name1 195 | push ss 196 | pop es 197 | mov cx,11 198 | rep movsb 199 | 200 | push ss ss ss 201 | pop ds es ax 202 | xor bx,bx 203 | mov word ptr ds:[0000h],bx 204 | mov word ptr ds:[0002h],0010h 205 | mov word ptr ds:[0004h],ax 206 | mov word ptr ds:[0006h],005Ch 207 | mov word ptr ds:[0008h],ax 208 | mov word ptr ds:[000Ah],006Ch 209 | mov word ptr ds:[000Ch],ax 210 | 211 | mov dx,0090h 212 | mov ax,4B00h 213 | int 21h 214 | jc @@1 215 | 216 | mov ah,4Dh 217 | int 21h 218 | mov ah,4Ch 219 | int 21h 220 | 221 | @@1: pop di es ds 222 | ret 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | ;============================================================================= 231 | path1 db 'DOS32A=' 232 | path2 db 'PATH=' 233 | str1 db 'Cannot find file "' 234 | name1 db 'DOS32A.EXE' 235 | byte0 db 0,0Dh,0Ah,'$' 236 | 237 | $theend proc near 238 | db 2 dup(0) 239 | $theend endp 240 | 241 | 242 | _psp dw ? 243 | 244 | 245 | 246 | .STACK 247 | ;============================================================================= 248 | 249 | 250 | end start 251 | -------------------------------------------------------------------------------- /src/dos32a/notes.txt: -------------------------------------------------------------------------------- 1 | Implementation Notes 2 | ******************** 3 | 4 | To compile DOS/32A DOS Extender use Turbo Assembler (TASM) 4.0 or better. 5 | 6 | 7 | General Notes 8 | ************* 9 | 10 | DOS/32A is built up of three different parts, that are split up into three 11 | different segments: _ID32, _KERNEL and _TEXT16. An additional segment, _STACK, 12 | is used by the DOS Extender as a local stack. 13 | 14 | The _ID32 segment contains DOS/32A built-in configuration which can be 15 | changed by SUNSYS Setup Utility. The segment is located at 0080h by default, 16 | and is 128 bytes long including the copyright message and time-stamp. 17 | 18 | _ID32 is followed by the _KERNEL segment, which contains DOS/32A built-in DPMI 19 | Kernel and initialization routines that determine CPU, FPU, System type 20 | (INT 15h, XMS, VCPI or DPMI) etc. It is from here DOS/32A provides DPMI 21 | services through INT 31h. 22 | 23 | _TEXT16 segment, which follows the _KERNEL, contains the main code of the DOS 24 | Extender. This segment includes initialization routines, configuration 25 | routines and entry points for extended INT 10h, INT 21h and INT 33h. It also 26 | contains the LE/LX/LC loader. 27 | 28 | When the documentation refers to "Kernel" it acually means the _KERNEL segment, 29 | likewise "Client" means the _TEXT16 segment. 30 | 31 | 32 | 33 | DOS/32A Memory Map Layout 34 | ************************* 35 | 36 | This diagram shows what the memory looks like when the DOS Extender is loaded 37 | and executed by the Operating System: 38 | 39 | 40 | Memory Area Description Length Comment 41 | ======================= ====== ======= 42 | 43 | +-----------------------+ 44 | | PSP | 0200h - Program Segment Prefix 45 | +-----------------------+ 46 | +-----------------------+ 47 | | ID32 | 0080h - DOS/32A ID32 Header 48 | +-----------------------+ 49 | *[1] | | xxxxh - DOS/32A built-in ADPMI host 50 | | Kernel | 51 | | | 52 | +-----------------------+ 53 | | | xxxxh - DOS/32A DOS Extender client 54 | | Client | 55 | | | 56 | +-----------------------+ 57 | *[2] |- Stack -| 0800h - DOS/32A internal stack 58 | +-----------------------+ 59 | | RM INT Table | 0400h - copy of Real Mode Interrupts 60 | +-----------------------+ 61 | *[3] | DPMI host data | xxxxh - present DPMI host private data 62 | // // 63 | | | 64 | +-----------------------+ 65 | | DOS Transfer Buffer | xxxxh - DOS Transfer Buffer 66 | // // 67 | | | 68 | +-----------------------+ 69 | +-----------------------+ 70 | | Free DOS Memory | xxxxh - Free DOS memory available for 71 | | | DOS programs 72 | // // 73 | | | 74 | | | 75 | +-----------------------+ 76 | 77 | 78 | 79 | [1] Kernel Note 80 | *************** 81 | 82 | When DOS/32A has recognized the system software to be DPMI, it will remove 83 | its own built-in DPMI from memory by copying the Client code (the whole 84 | segment) to the upper memory location overwriting Kernel, to free up some 85 | conventional memory. See "dos32a.asm" for more info. 86 | 87 | 88 | 89 | [2] Stack Structure Note 90 | ************************ 91 | 92 | The local stack (ie DOS/32A own stack) is used by the DOS Extender when 93 | loading executable image, as well as a temporary buffer for Mouse Callback, 94 | local DTA and Mouse Shape Buffer (used when mouse functions are called): 95 | 96 | 97 | Offset Stack Area Description Comments 98 | ====== ====================== ======== 99 | 100 | +0000h +-----------------------+ <- Top of stack (lower address) 101 | | Space used by Loader | 102 | | | 103 | +0040h +-----------------------+ 104 | | Mouse Callback Struct.| 105 | | | 106 | +0100h +-----------------------+ 107 | | Local DTA Structure | 108 | | | 109 | +0180h +-----------------------+ 110 | | Local Mouse ShapeBuf | 111 | | | 112 | // // 113 | | | 114 | +07FFh +-----------------------+ <- Bottom of stack (higher address) 115 | 116 | 117 | In order to save some conventional memory, DOS/32A (Client) will allocate 118 | certain local variables at the very top of stack. DOS/32A will also reuse 119 | its own memory space occupied by executable code to allocate additional 120 | variables, when that code has been executed and is no longer needed. See the 121 | source code for more information. 122 | 123 | 124 | [3] DOS/32A built-in DPMI structure map 125 | *************************************** 126 | 127 | This diagram shows the memory map of the built-in DPMI server: 128 | 129 | 130 | Size DPMI Area Description Comments 131 | ==== ===================== ======== 132 | 133 | +-----------------------+ 134 | 1000h | VCPI Page Dir | VCPI PageDir (if sys_type == VCPI, 135 | | | otherwise N/A) 136 | +-----------------------+ 137 | ????h | VCPI Page Tables | VCPI PageTables, # determind at runtime 138 | | | (if sys_type == VCPI, otherwise N/A) 139 | // // 140 | | | 141 | +-----------------------+ 142 | ????h | VCPI Phys Tables | VCPI PageTables for phys. mem. mapping 143 | | | ( --//--, --//-- N/A) 144 | // // 145 | | | 146 | +-----------------------+ 147 | | VCPI TSS | 148 | | | 149 | +-----------------------+ 150 | 151 | 152 | 153 | 154 | The below diagram is common for Clean, XMS and VCPI 155 | 156 | +-----------------------+ 157 | 0800h | IDT | Interrupt Descriptor Table 158 | +-----------------------+ 159 | ????h | RM stacks | Real Mode stack structure for use 160 | // // when passing interrupts down 161 | | | (# of stacks configurable) 162 | +-----------------------+ 163 | ????h | PM stacks | Prot. Mode stack structure for use 164 | // // when passing interrupts up 165 | | | (# of stacks configurable) 166 | +-----------------------+ 167 | ????h | Callbacks | Allocated Callbacks 168 | // // (# of Callbacks configurable) 169 | | | 170 | +-----------------------+ 171 | ????h | GDT | Global Descriptor Table containing 172 | // // Selectors (initially reset to 0) 173 | | | (# of Selectors configurable) 174 | +-----------------------+ 175 | 176 | For more information see "KERNEL\init.asm" file. 177 | 178 | 179 | 180 | 181 | 182 | [end of notes] -------------------------------------------------------------------------------- /examples/asm_6/lfb.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; LFB.ASM 43 | ; This example will show how to use physical memory mapping under DOS/32A 44 | ; and how to access VBE Linear Framebuffer. 45 | ; 46 | ;***************************************************************************** 47 | 48 | .386p 49 | .MODEL flat 50 | 51 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 52 | 53 | .CODE 54 | ;============================================================================= 55 | start: 56 | push ds ; make ES = DS 57 | pop es 58 | 59 | 60 | mov eax,4F01h ; VBE function - get videomode info 61 | mov ecx,0111h ; videomode 0111h, 640*480*16bpp 62 | mov edi,offset _mib_buffer ; offset of Mode Info Block buffer 63 | int 10h 64 | cmp eax,004Fh ; check if VBE call is supported 65 | jnz error1 ; die if not 66 | 67 | mov al,byte ptr _mib_buffer[00h] ; check if LFB is supported 68 | test al,80h 69 | jz error2 70 | 71 | mov eax,dword ptr _mib_buffer[28h] ; get physical addr of LFB 72 | mov _lfb_physbase,eax 73 | 74 | mov eax,0FF98h ; map LFB into linear memory space 75 | mov ebx,_lfb_physbase ; using DOS/32A specific functions 76 | mov esi,_lfb_physsize ; you can substitute this with a call 77 | int 21h ; to DPMI function 0800h, of course 78 | jc error3 ; exit if could not map phys. memory 79 | mov _lfb_linebase,ebx 80 | 81 | mov eax,4F02h ; set videomode 0111h, 640*480*16bpp 82 | mov ebx,4111h ; note 0111h OR 4000h (LFB mode) 83 | int 10h 84 | cmp eax,004Fh ; if the call was unsuccessful, 85 | jnz error4 ; return to DOS 86 | 87 | 88 | xor ebx,ebx 89 | 90 | @@0: mov eax,ebx ; display something on the screen 91 | mov edi,_lfb_linebase 92 | mov ecx,_lfb_linesize 93 | @@1: stosw 94 | inc eax 95 | dec ecx 96 | jnz @@1 97 | inc ebx 98 | mov eax,0100h ; check if a key has been pressed 99 | int 16h 100 | jz @@0 101 | 102 | xor eax,eax ; remove char from keyboard buffer 103 | int 16h 104 | 105 | 106 | mov eax,0003h ; set the famous mode 03h 107 | int 10h 108 | 109 | mov eax,0FF99h ; free mapped linear memory 110 | mov ebx,_lfb_linebase 111 | int 21h 112 | 113 | mov eax,0FF80h ; show information about LFB 114 | mov ebx,_lfb_physbase 115 | mov edx,offset _exitmsg1 116 | int 21h 117 | mov ebx,_lfb_linebase 118 | mov edx,offset _exitmsg2 119 | int 21h 120 | mov ebx,_lfb_physsize 121 | mov edx,offset _exitmsg3 122 | int 21h 123 | 124 | mov eax,4C00h ; happily exit to DOS 125 | int 21h 126 | 127 | 128 | 129 | ;----------------------------------------------------------------------------- 130 | error1: mov edx,offset _errmsg1 131 | jmp exit 132 | 133 | error2: mov edx,offset _errmsg2 134 | jmp exit 135 | 136 | error3: mov edx,offset _errmsg3 137 | jmp exit 138 | 139 | error4: mov edx,offset _errmsg4 140 | 141 | exit: mov eax,0FF80h ; display error message and exit 142 | int 21h 143 | mov eax,4CFFh 144 | int 21h 145 | 146 | 147 | 148 | 149 | .DATA 150 | ;============================================================================= 151 | _lfb_physbase dd 0 ; physical address of LFB 152 | _lfb_physsize dd 640*480*2 ; size of LFB for mode 0111h 153 | _lfb_linebase dd 0 ; linear address of LFB 154 | _lfb_linesize dd 640*480 ; size of LFB / 2 (16bit per colour) 155 | 156 | _errmsg1 db 'Error: VBE functions not supported!',13,10,0 157 | _errmsg2 db 'Error: VBE Linear Framebuffer not supported!',13,10,0 158 | _errmsg3 db 'Error: cannot map LFB into linear memory!',13,10,0 159 | _errmsg4 db 'Error: cannot set videomode 0111h (w/ LFB on)!',13,10,0 160 | 161 | _exitmsg1 db 'Linear Framebuffer physical base: %lh',13,10,0 162 | _exitmsg2 db 'Linear Framebuffer linear base: %lh',13,10,0 163 | _exitmsg3 db 'Linear Framebuffer size: %lh',13,10,0 164 | 165 | 166 | 167 | .DATA? 168 | ;============================================================================= 169 | _mib_buffer db 512 dup(?) ; Mode Info Block buffer 170 | 171 | 172 | 173 | .STACK 174 | ;============================================================================= 175 | db 1000h dup(?) ; no comment here... 176 | 177 | 178 | 179 | end start 180 | -------------------------------------------------------------------------------- /examples/asm_4/simshow.asm: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 1996-2002 Supernar Systems, Ltd. All rights reserved. 3 | ; 4 | ; Redistribution and use in source and binary forms, with or without 5 | ; modification, are permitted provided that the following conditions are 6 | ; met: 7 | ; 8 | ; 1. Redistributions of source code must retain the above copyright 9 | ; notice, this list of conditions and the following disclaimer. 10 | ; 11 | ; 2. Redistributions in binary form must reproduce the above copyright 12 | ; notice, this list of conditions and the following disclaimer in the 13 | ; documentation and/or other materials provided with the distribution. 14 | ; 15 | ; 3. The end-user documentation included with the redistribution, if any, 16 | ; must include the following acknowledgment: 17 | ; 18 | ; "This product uses DOS/32 Advanced DOS Extender technology." 19 | ; 20 | ; Alternately, this acknowledgment may appear in the software itself, if 21 | ; and wherever such third-party acknowledgments normally appear. 22 | ; 23 | ; 4. Products derived from this software may not be called "DOS/32A" or 24 | ; "DOS/32 Advanced". 25 | ; 26 | ; THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESSED 27 | ; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | ; DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 | ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 33 | ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 34 | ; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 35 | ; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 36 | ; ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | ; 38 | ; 39 | 40 | ;***************************************************************************** 41 | ; 42 | ; SIMSHOW.ASM 43 | ; This program will show how DOS/32 Advanced reports unexpected interrupts 44 | ; issued to emulate IRQs. Interrupts in range INT 08h-0Fh will be reported 45 | ; as software interrups. This feature can be disabled using SUNSYS Setup 46 | ; Program, option Trap and Report Software INTs. If the user has installed 47 | ; a custom exception handler, it will be executed instead of reporting an 48 | ; error. If this feature is disabled, the software interrupts issued to 49 | ; emulate IRQs will be sent to the appropriate protected mode IRQ handlers 50 | ; if those are installed. Otherwise an exception will be reported (if the 51 | ; user has installed a custom exception handler it will be executed). 52 | ; NOTE: this program will not work correctly under external DPMI. 53 | ; 54 | ;***************************************************************************** 55 | 56 | .386p 57 | .MODEL flat 58 | 59 | DGROUP group _DATA,STACK ; Tasm will complain about STACK here 60 | 61 | .CODE 62 | ;============================================================================= 63 | start: push ds ; make ES=DS 64 | pop es 65 | mov _sel_ds,ds 66 | 67 | mov ax,0FF8Ah ; check if DOS/32 Advanced is present 68 | int 21h ; and get ptr to DPMI Kernel config 69 | cmp eax,'ID32' 70 | jz @@1 71 | mov ax,4CFFh ; if not present, exit 72 | int 21h 73 | 74 | @@1: mov ax,0204h ; get protected mode IRQ 0 vector 75 | mov bl,08h 76 | int 31h 77 | mov _irq0_sel,cx ; save selector and offset 78 | mov _irq0_offs,edx 79 | 80 | cli 81 | mov ax,0203h ; install handler for exception #8 82 | mov bl,08h 83 | mov cx,cs 84 | mov edx,offset exc0 85 | int 31h 86 | mov ax,0205h ; install custom IRQ 0 87 | mov bl,08h 88 | mov cx,cs 89 | mov edx,offset irq0 90 | int 31h 91 | 92 | sti ; enable hardware interrupts 93 | @@2: cmp byte ptr _wait,0 ; wait until IRQ 0 is triggered 94 | jz @@2 ; by a hardware interrupt 95 | cli ; disable hardware interrupts 96 | ; 97 | ; Note: hardware interrupts are disabled all the way down to INT 21h/AH=4Ch 98 | ; 99 | mov al,fs:[esi+00h] ; get DPMI Kernel config bits 100 | and al,11101111b ; turn off Soft-INT trapping 101 | mov fs:[esi+00h],al ; modify DPMI Kernel config 102 | int 08h ; now issue a software INT 8 103 | ; 104 | ; Note: interrupt above will be sent to IRQ 0 handler 105 | ; 106 | mov al,fs:[esi+00h] ; get DPMI Kernel config bits 107 | or al,00010000b ; turn on Soft-INT trapping 108 | mov fs:[esi+00h],al ; modify DPMI Kernel config 109 | int 08h ; issue a software interrupt INT 8 110 | ; 111 | ; Note: interrupt above will be sent to exception #8 handler 112 | ; 113 | mov ax,0205h ; restore default IRQ 0 114 | mov bl,08h 115 | mov cx,_irq0_sel 116 | mov edx,_irq0_offs 117 | int 31h 118 | 119 | mov ax,4C00h ; return to DOS with error code 00h 120 | int 21h 121 | 122 | ; 123 | ; irq0: This subroutine handles both software and hardware interrupts INT 08h. 124 | ; The first time this subroutibe is called, it will show message _msg1, 125 | ; the second time _msg2. 126 | ; However, arghhhh... why the hell am I bothering... it works all right. 127 | ; This is not really important anyway. 128 | ; 129 | ;----------------------------------------------------------------------------- 130 | irq0: pushad 131 | mov ds,cs:_sel_ds 132 | 133 | mov ah,09h 134 | test word ptr [esp+28h],0200h ; check IF status on stack 135 | mov edx,offset _msg1 ; if IF=1, interrupts are on 136 | jnz irq0_1 137 | mov edx,offset _msg2 ; if IF=0, interrupts are off 138 | irq0_1: int 21h 139 | 140 | inc byte ptr _wait ; increment counter 141 | mov al,20h ; send EOI 142 | out 20h,al 143 | popad 144 | iretd 145 | 146 | ;----------------------------------------------------------------------------- 147 | exc0: pushad ; exception handler 148 | mov ds,cs:_sel_ds 149 | mov ah,09h 150 | mov edx,offset _msg3 151 | int 21h 152 | popad 153 | iretd ; Note: IRETD, *NOT* RETF! 154 | 155 | 156 | 157 | 158 | 159 | .DATA 160 | ;============================================================================= 161 | _wait db 0 162 | _sel_ds dw 0 163 | 164 | _irq0_sel dw 0 165 | _irq0_offs dd 0 166 | 167 | _msg1 db ' IRQ 0 was triggered by a Hardware Interrupt',0Dh,0Ah,'$' 168 | _msg2 db ' IRQ 0 was triggered by a Software Interrupt',0Dh,0Ah,'$' 169 | _msg3 db ' EXCEPTION #8 was triggered by a Software Interrupt',0Dh,0Ah,'$' 170 | 171 | 172 | 173 | .STACK 174 | ;============================================================================= 175 | db 1000h dup(?) 176 | 177 | 178 | end start 179 | --------------------------------------------------------------------------------