BASIC-DOS

A PCjs Retro-Programming Project

BASIC-DOS is on Twitter Project maintained by jeffpar

Wolfenstein 3D on an IBM PC AT Running BASIC-DOS

The machine below is an IBM PC AT (Model 5170) with a 6Mhz 80286, 640K of memory, a VGA Color Display, a Sound Blaster, two 1.2Mb diskette drives, and a 10Mb hard disk. It boots BASIC-DOS from its hard disk (drive C:) and then types WOLF3D at the prompt, which runs the shareware version (1.4) of Wolfenstein 3D from the hard disk’s DEMOS\WOLF3D directory.

IBM PC AT, 640Kb RAM, 10Mb Hard Disk, VGA, Sound Blaster

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 .

Click the screen to give the game the keyboard. Press any key to get past the opening screens, use the arrow keys to move, Ctrl to fire, Space to open doors, and Esc for the menu; quitting the game returns to the BASIC-DOS prompt. Any changes you make to the hard disk are lost when you leave the page.

This demo is also available on a COMPAQ DeskPro 386.

This demo runs a real DOS program, Wolfenstein 3D, on BASIC-DOS. The game is an LZEXE-compressed EXE file built with Borland C++, so it exercises BASIC-DOS’s EXE loader, its DOS file functions (open, read, seek, findfirst, and IOCTL), its memory functions (allocate, free, and resize), and its interrupt vector functions, while the game itself takes over the keyboard, the timer, the VGA, and the Sound Blaster directly.

The WOLF3D.BAT file in the DEMOS directory changes to DEMOS\WOLF3D, runs WOLF3D.EXE, and returns to the root directory when the game exits. The game needs roughly 528K of free conventional memory, so BASIC-DOS gives it all the memory it asks for, less 64K for every other session that has a program loaded. The hard disk is the same BASICDOS-10MB disk (and CONFIG.SYS) that the 10Mb Hard Disk demo uses.

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