BASIC-DOS

A PCjs Retro-Programming Project

BASIC-DOS is on Twitter Project maintained by jeffpar

BASIC-DOS on an IBM PC AT with 640K, No Video, and Two VT100 Terminals

The machine below is an IBM PC AT (Model 5170) with a 6Mhz 80286, 640K of memory, a 1.2Mb and a 1.44Mb diskette drive, a 10Mb hard disk, two serial ports, and no video adapter: its only displays are two DEC VT100 terminals, one connected to COM1 and the other to COM2, at 9600 baud. It boots the BASIC-DOS HD Dual Terminal Demo diskette and runs a console on each VT100, both starting on drive C:, the hard disk, with the BASIC-DOS source code, tests, and tools.

IBM PC AT, 640Kb RAM, 10Mb Hard Disk, COM1, COM2, No Video

VT100 Terminal (COM1)

VT100 Display
ON LINE
LOCAL
LOCKED
L1
L2
L3
L4
CAPS

VT100 Terminal (COM2)

VT100 Display
ON LINE
LOCAL
LOCKED
L1
L2
L3
L4
CAPS

Wait a few seconds for the BASIC-DOS banner to appear on both VT100s, then click either one and type a command, such as DIR or PRINT "Hello from the VT100". Each VT100 has its own keyboard, so there’s no need for SHIFT-TAB: click a terminal’s screen to type at it. The PC has no screen of its own, so its diskette drive, hard disk, and Reset controls are below the VT100s.

Any changes you make to the hard disk are lost when you leave the page, unless you first click Save HD to download the hard disk as an IMG file.

This demo is also available, with one VT100, on an IBM PC with 64K and no hard disk, and an IBM PC XT with 640K and a 10Mb hard disk.

No Video Required

The IBM PC AT almost doesn’t require a video adapter. Its CMOS setup records the primary display, and when that’s 00 (the setting an EGA uses, since it has its own BIOS), POST skips its video tests and initialization, but it also requires a video ROM, and without one, it reports a 162 configuration error and waits for the F1 key. So this machine has a stub ROM at C0000h, which isn’t real hardware: just enough of an option ROM (512 bytes, with a signature and an initialization entry point that simply returns) to satisfy POST. The BIOS video functions do nothing, so the BIOS has nothing to show until BASIC-DOS opens COM1 and COM2.

BASIC-DOS doesn’t require one either. The diskette’s CONFIG.SYS skips the VKD$ (video and keyboard) driver, opens a console on COM1 and another on COM2, both with the COM driver’s VT100 terminal type, and starts each console’s shell on drive C:, the hard disk, so all of its programs and files are available. Commands like CLS and LOCATE use VT100 escape sequences, the VT100’s DELETE key erases the previous character (like the PC’s BACKSPACE key), and XON/XOFF flow control is enabled, which the VT100 relies on whenever it falls behind (eg, while smooth scrolling).

BASIC Samples

The hard disk’s SAMPLES directory contains text copies of the BASIC samples from the IBM PC DOS 1.00 diskette, but most of them use graphics, so try the Color (with FPU) machine demo instead.

CONFIG.SYS from the BASIC-DOS HD Dual Terminal Demo Diskette

REM No video: two consoles, on VT100s connected to COM1 and COM2, with shells on the hard disk
SKIP=VKD$
BUFFERS=8
CON=COM1:9600,N,8,1,VT100
SHELL=C:COMMAND.COM PATH$="C:\;C:\EXT;C:\DEMOS;C:\SAMPLES;C:\TOOLS"
CON=COM2:9600,N,8,1,VT100
SHELL=C:COMMAND.COM PATH$="C:\;C:\EXT;C:\DEMOS;C:\SAMPLES;C:\TOOLS"

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