BASIC-DOS

A PCjs Retro-Programming Project

BASIC-DOS is on Twitter Project maintained by jeffpar

BASIC-DOS in Protected Mode on a COMPAQ DeskPro 386

The machine below is a COMPAQ DeskPro 386 with a 16Mhz 80386, 2Mb of memory (640K of conventional memory and 1Mb of extended memory, plus 384K that COMPAQ reserves at FA0000h), a VGA Color Display, a 1.2Mb and a 1.44Mb diskette drive, a 10Mb hard disk, and a serial mouse on COM1. It boots the BASIC-DOS Protected Mode (80386) diskette, which runs the same three consoles as the PC AT version of this demo, each on its own page of video memory, but with a CPU=80386 line, so CPU$ also uses the 80386’s features: an 80386 TSS, selectors that can cover more than 64K, paging, and V86 machines, which V86 uses to run real-mode COM programs. Use SHIFT-TAB to switch between consoles. Type PAINT in any console to draw with the mouse (click the screen to capture the mouse, and press Esc twice to exit); while PAINT’s graphics mode is on the screen, the other consoles wait.

See The CPU$ Drivers and Protected-Mode Initialization for more details.

COMPAQ DeskPro 386, 2Mb RAM, 10Mb Hard Disk, VGA, Serial Mouse

Color Display
Caps
Num
Scroll
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Esc
1 !
2 @
3 #
4 $
5 %
6 ^
7 &
8 *
9 (
0 )
- _
= +
Back
-
Num
Scroll
Tab
Q
W
E
R
T
Y
U
I
O
P
[ {
] }
↵
7
↑ 8
9
Ctrl
A
S
D
F
G
H
J
K
L
; :
' "
` ~
← 4
5
→ 6
+
Shift
\ |
Z
X
C
V
B
N
M
, <
. >
/ ?
Shift
PrtSc
1
↓ 2
3
Alt
Space
Caps
Ins 0
Del .
Esc
Tab
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
Num
Scroll
1 !
2 @
3 #
4 $
5 %
6 ^
7 &
8 *
9 (
0 )
- _
= +
Back
-
+
Q
W
E
R
T
Y
U
I
O
P
[ {
] }
↵
7
↑ 8
9
A
S
D
F
G
H
J
K
L
; :
' "
` ~
← 4
5
→ 6
\ |
Z
X
C
V
B
N
M
, <
. >
/ ?
Shift
PrtSc
1
↓ 2
3
Ctrl
Shift
Alt
Space
Caps
Ins 0
Del .

The diskette’s CONFIG.SYS defines three full-screen 80-column consoles, each running its own copy of COMMAND.COM: HELLO.BAT in the first, FIBO.BAT in the second, and PRIMES.BAS in the third. Each session’s memory is in its own LDT (local descriptor table), so a session’s programs can’t name another session’s memory. Only the page of the console with keyboard focus is displayed, but every console keeps running.

The boot sector first displays System starting...; press any key (or wait 2 seconds) to boot from the diskette, or press Esc to boot from the hard disk instead. Note that bypassing the diskette and booting from the hard disk will give you only one full-screen console.

CONFIG.SYS from the BASIC-DOS Protected Mode (80386) Diskette

REM Multiple Video Pages (0, 1, and 2) in protected mode on an 80386
CPU=80386
SHELL=C:COMMAND.COM PATH$="C:\;C:\EXT;C:\DEMOS;C:\SAMPLES;C:\TOOLS":HELLO.BAT
SHELL=C:COMMAND.COM PATH$="C:\;C:\EXT;C:\DEMOS;C:\SAMPLES;C:\TOOLS":FIBO.BAT
SHELL=C:COMMAND.COM PATH$="C:\;C:\EXT;C:\DEMOS;C:\SAMPLES;C:\TOOLS":PRIMES.BAS

Copyright (c) 2020-2026 Jeff Parsons Released under MIT License