/vdos

V's notes on MS-DOS programming.

Primary LanguageAssembly

If I had a time machine that could send source code back in time, and I sent it to a competant developer 20 years ago, would they be able to compile it and run it? If the answer is yes, then that means it already has 20 years of future-proofing built into it.

vDOS

V's notes on MS-DOS programming.

DOSBox Setup

Install (not tested): brew install dosbox

Generate config file: config -writeconf file.conf

FN+F10 unlocks the mouse!

changes to config:

See the top of DOSBox.conf for how to configure separate "environments." Main changes for all environments are:

[sdl]
fullresolution=desktop
aspect=true
autolock=false

...

[autoexec]
mount c ~/code/vdos/
c:

You can run it on the command line with: /Applications/dosbox.app/Contents/MacOS/DOSBox -conf DOSBox.conf

And use run.sh to pass start-up commands, e.g.: ./run.sh -c "mount a floppies/tc201"

QEMU Setup

To-do:

VSCode Setup

So that files created with VSCode are compatible with MS-DOS, .vscode/settings.json has the following config:

{
    "files.eol": "\r\n" // CRLF line endings
}

Turbo C 2.01

Utilities

For DOSBox, some utilities were copied from FreeDOS:

  • edit.exe
  • exe2bin.com
  • debug.com

They should be present by default on vanilla (non-DOSBox) versions of MS-DOS.

ls replacement ls.bat:

`dir/w/p`

compile.bat for Turbo C:

rescan
tcc -ml %1

For BAT files in general:

  • dir & echo foo runs two commands
  • dir && echo foo runs the second only runs if the first succeeds

Books

Assembly Primer for the IBM PC & XT

Notes on the material plus example code transcription at data/assembly-primer-ibm-pc/.

Advanced MS-DOS, Ray Duncan

Requires:

Advanced MS-DOS, Ray Duncan - 2nd Edition

Requires:

  • Microsoft Macro Assembler 5.1

Assembly Language Step-by-Step: Programming with DOS and Linux, Second Edition

Programming with 64-Bit ARM Assembly Language, Stephen Smith

Graphics Primer For The IBM PC

Links (untriaged)

old software

emulators

assembly

arm64

msdos

raycasting project

graphics programming

wasm

windows

c

games

other

https://electronics.stackexchange.com/questions/11386/where-can-i-find-an-8086-chip