Skip to content
This repository has been archived by the owner on Apr 25, 2024. It is now read-only.

Commit

Permalink
MZ is back!
Browse files Browse the repository at this point in the history
  • Loading branch information
mzbik authored and microsoftopensource committed Apr 25, 2024
1 parent 8ee9712 commit 2d04cac
Show file tree
Hide file tree
Showing 1,339 changed files with 527,719 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
@@ -1,10 +1,11 @@
<img width="150" height="150" align="left" style="float: left; margin: 0 10px 0 0;" alt="MS-DOS logo" src="https://github.com/Microsoft/MS-DOS/blob/main/.readmes/msdos-logo.png">

# MS-DOS v1.25 and v2.0 Source Code
# MS-DOS v1.25, v2.0, v4.0 Source Code

This repo contains the original source-code and compiled binaries for MS-DOS v1.25 and MS-DOS v2.0.
This repo contains the original source-code and compiled binaries for MS-DOS v1.25 and MS-DOS v2.0, plus the source-code for MS-DOS v4.00 jointly developed by IBM and
Microsoft.

These are the same files [originally shared at the Computer History Museum on March 25th, 2014]( http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/) and are being (re)published in this repo to make them easier to find, reference-to in external writing and works, and to allow exploration and experimentation for those interested in early PC Operating Systems.
The MS-DOS v1.25 and v2.0 files [were originally shared at the Computer History Museum on March 25th, 2014]( http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/) and are being (re)published in this repo to make them easier to find, reference-to in external writing and works, and to allow exploration and experimentation for those interested in early PC Operating Systems.

# License

Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added v4.0-ozzie/Multitasking DOS BETA - Intro.pdf
Binary file not shown.
Binary file not shown.
Binary file added v4.0-ozzie/Multitasking DOS BETA - Overview.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
5 changes: 5 additions & 0 deletions v4.0-ozzie/bin/DISK1/AUTOEXEC.BAT
@@ -0,0 +1,5 @@
date
time
prompt $p$g
path a:\bin;a:\

Binary file added v4.0-ozzie/bin/DISK1/BIN/ARENA.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/BBSET.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/CHKDSK.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/COUNTDOW.EXE
Binary file not shown.
3 changes: 3 additions & 0 deletions v4.0-ozzie/bin/DISK1/BIN/DEMO1.BAT
@@ -0,0 +1,3 @@
cd bin
pound 290 a:bbset.exe a:sm.exe

4 changes: 4 additions & 0 deletions v4.0-ozzie/bin/DISK1/BIN/DEMO2.BAT
@@ -0,0 +1,4 @@
c:
cd \bin
pound 800 bbset.exe sm.exe

7 changes: 7 additions & 0 deletions v4.0-ozzie/bin/DISK1/BIN/DEMO3.BAT
@@ -0,0 +1,7 @@
c:
cd \bin
cd a:\bin
detach pound 800 bbset.exe sm.exe
detach pound 290 a:bbset.exe a:sm.exe
basica a:prime

Binary file added v4.0-ozzie/bin/DISK1/BIN/DETACH.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/HE_DAEM.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/KILL.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/POUND.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/PRIME.BAS
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/SLEEP.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/SM.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/BIN/TEXT.EXE
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/COMMAND.COM
Binary file not shown.
199 changes: 199 additions & 0 deletions v4.0-ozzie/bin/DISK1/COMMANDS.DOC
@@ -0,0 +1,199 @@






Multi-Tasking MS-DOS
Beta Test Release 1.00

Command Guide


ARENA.EXE - Prints out arena assignments

arena

The system's memory arena is printed out. The
number listed under the owner field is the PID of
the process which owns the memory.


BBSET.EXE - Set and report on behavior bits

bbset [-o] [ {+|-}bitname ... ] fname ...

BBSET sets or clears behavior bits in an .EXE file
header. Multi-Tasking MS-DOS uses the behavior
bits to determine the level of special
compatibility support needed to run the
application.

BBSET will set (if +bitname) or clear (if -
bitname) the named behavior bit(s) from the
specified files. If the -o switch is specified,
BBSET writes a report on the current setting of
all the defined behavior bits to stdout after
making the requested changes.

For a list of behavior bits that BBSET knows
about, type BBSET without any arguments.


COUNTDOW.EXE - Count down a CPU loop

countdown number

Its argument is a number; it counts the number
down to 0, at about a 1hz rate. It prints out
the countdown. Another CPU loop program like
TEXT, but this one terminates when the count
reaches 0


DETACH.EXE - Detaches a child process

detach command [argument ...]

The command given is run as a background process.
Detach prints out the Command Subgroup ID (CSID)
which may be used as an argument to KILL to
terminate the process.









Multi-Tasking MS-DOS Command Guide - Page: 2

HE_DAEM.EXE - Hard error catcher

detach he_daem

Intercepts hard errors, reports them and requests
user action. This should always be run in the
background for now. Put the above command line in
your AUTOEXEC.BAT file if you're not going to use
the Session Manager (SM).


KILL.EXE - send a signal to a process

kill [-nn] [sig=nn] [disp=mm] pid ...

Sends signal nn with disposition mm to processes
mentioned in pid. Defaults to SIGTERM and process
tree disposition.


POUND.EXE - Exercise disk I/O system

pound [t]count filea fileb

Pound reads sequencially through filea and fileb,
reading 512 bytes at a time alternating between
the files on each read. When the end of file is
read the following read for that file begins at
the beginning of the file. If a count is
specified without the preceeding "t" then pound
reads 512 bytes, count number of times from each
file before the program terminates. If "t"
preceeds the count value then the files are read
for count number of seconds before the program
terminates.


SLEEP.EXE - Sleep for a while

sleep sec[.millisec]

Sleep will execute a sleep system call for the
number of seconds and milliseconds specified.
This might be useful in batch files to pause for
an interval as opposed to waiting for a user
response.


SM.EXE - Session manager

sm

Manages multiple processes running on different
screens. Uses initialization file SM.INI. This










Multi-Tasking MS-DOS Command Guide - Page: 3

program includes the hard error catcher, so don't
run HE_DAEM if you're going to use this. See the
file SM.DOC for more information.


TEXT.EXE - Loop and print text

text argument

CPU loops and prints its argument every 2 CPU
seconds or so


















































3 changes: 3 additions & 0 deletions v4.0-ozzie/bin/DISK1/CONFIG.SYS
@@ -0,0 +1,3 @@
buffers = 40
files = 20
break=on
Binary file added v4.0-ozzie/bin/DISK1/DOS33/FDISK.COM
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/DOS33/FORMAT.COM
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/DOS33/SYS.COM
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/IBMBIO.COM
Binary file not shown.
Binary file added v4.0-ozzie/bin/DISK1/IBMDOS.COM
Binary file not shown.
67 changes: 67 additions & 0 deletions v4.0-ozzie/bin/DISK1/README
@@ -0,0 +1,67 @@






Multi-Taking MS-DOS
Beta Test Release 1.00

Release Notes


Enclosed you will find Microsoft's first beta release
of Multi-tasking MS-DOS. This version is based upon MS-DOS
Version 2 sources, we will be reimplementing the multi-
tasking enhancements on top of Version 3 sources shortly.

Although we have distributed a bootable disk for the
IBM PC, this package can be adapted to any MS-DOS machine.
Those manufacturers who are designing IBM compatible ROMs,
would be wise to keep multi-tasking in mind. Specifically,
this IBM PC implementation has had to hook out the entire
disk (both floppy and hard disk) ROM code because after he
IBM code set's up the DMA transfer it simply loops in ROM
waiting for the interrupt to occur (routine WAIT_INT).

Problems you may wish to avoid within future ROMs are:
1) loading ES with the physical video RAM location
(label M3)
2) Looping in ROM on Cntrl-NumLock (label K40)
3) No way to add special detecting special key
strokes which a jump out into RAM after reading
the keystroke at KB_INT would avoid
4) Not being able to hook the loading of DS to point
to DATA (EQU 40H) in numerous routines.
Other than these deficiencies the ROM code developed should
be very usable.

By implementing the above suggestions, the size of your
BIOS can be reduced since it will not be necessary to
duplicate functionality in RAM.

More detailed specifications of the device driver
formats will be forth coming. For the time being you will
have to make use of the sample source code for the IBM PC.
If you have further questions please contact Microsoft OEM
customer support through Technical Assist Requests (TAR).


* * * WARNING * * * WARNING * * * WARNING * * *

Each copy of this software distribution has been
individually serialized to facilitate tracing of
unauthorized duplication.

* * * WARNING * * * WARNING * * * WARNING * * *











0 comments on commit 2d04cac

Please sign in to comment.