DOSCMD(1) BSD Reference Manual DOSCMD(1)
NAME
doscmd - run a real-mode, text-only dos program
SYNOPSIS
doscmd [-vt] command [args ...]
DESCRIPTION
This program provides a limited emulation of DOS, and is intended to run
non-graphics real-mode programs such as compilers and linkers. It is
still very much in the experimental stage, and it only runs a small num-
ber of programs. It does work well with the Microsoft assembler, linker
and exe2bin programs, so it is useful for maintaining real-mode assembly
programs under BSD/386.
The -v and -t flags turn on various debug options. The first argument is
the name of the DOS program to execute. Doscmd searches for the program
in the directories listed in the environment variable DOSPATH, which has
the same format as PATH. By default, DOSPATH is set to
":/usr/lib/dos/bin". For each directory, doscmd first looks for a
The entire set of BSD environment strings are passed to the DOS program
as the DOS environment.
Doscmd translates DOS file operations to operations on regular BSD/386
files. The BSD/386 standard input, output and error are connected to the
corresponding DOS file descriptors. File names are translated by delet-
ing any drive specifier, converting all uppercase letters to lower case,
and converting back-slashes to slashes. There is no attempt to recognize
an ASCII mode and insert carriage return characters. If a program re-
quires CRLF pairs, use bsd2dos(1) to create a properly formatted tempo-
rary file.
The exit status of the DOS program is propagated as the exit value of
doscmd.
The set of DOS system calls that are implemented is fairly limited. If
the program attempts to make an unimplemented call, doscmd will print a
message such as:
unknown int21 func 0x99
along with a register dump. If the program attempts to access video or
other special memory, doscmd will print a message like:
random signal 12
AUTHOR
Pace Willisson
HISTORY
The doscmd program first appeared in BSD/386.
BSDI BSD/386 March 27, 1993 1