BASIC-DOS

A PCjs Retro-Programming Project

BASIC-DOS is on Twitter Project maintained by jeffpar

PC DOS Reimagined

Read the Blog, then check out the Preview, which highlights a few of the original Demos.

BASIC-DOS 1.00

Project Status

BASIC-DOS began as a technology demo: a reimagining of what the first IBM PC operating system could have been, with a unified DOS and BASIC command interpreter, preemptive multitasking sessions, and other features that PC DOS wouldn’t offer for years (if ever). The goal now is to turn it into a usable product.

This section tracks what’s been completed ([x]) and what remains ([ ]). Items marked partial work, but with known gaps.

Boot and System Configuration

Device Drivers

Kernel: Processes, Memory, and Sessions

Kernel: File System

Command Interpreter: DOS Commands

Command Interpreter: BASIC Language

Floating-Point

BASIC-DOS will support only one floating-point type: IEEE 754 64-bit (double-precision) values. It won’t use any MBF (Microsoft Binary Format) code.

Build, Tests, and Documentation

Roadmap

These are the next steps, roughly in priority order:

  1. Use DOS_HDL_CREATE for output redirection, and add the DEL and REN commands
  2. Handle zero-length writes (truncation), the read-only attribute, and file attribute/date/time functions
  3. FCB create, write, delete, and rename functions
  4. Essential BASIC statements: GOSUB, FOR/NEXT, INPUT, READ/DATA, and DIM
  5. BASIC string functions and file I/O statements
  6. IEEE 754 floating-point support, starting with conversions and I/O
  7. Critical error handling
  8. Subdirectory support

License

BASIC-DOS is an open-source project on GitHub released under the terms of an MIT License.

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