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. Add the REN command and input redirection
  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: INPUT and READ/DATA
  5. BASIC file I/O statements, and the remaining string features (the MID$ statement, LINE INPUT, and comma print zones)
  6. Runtime error handling (ON ERROR, ERR, ERL)
  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