MZ is back!

This commit is contained in:
Mark Zbikowski
2024-04-25 21:24:10 +01:00
committed by Microsoft Open Source
parent 8ee9712c74
commit 2d04cacc53
1339 changed files with 527719 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
date
time
prompt $p$g
path a:\bin;a:\


Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
cd bin
pound 290 a:bbset.exe a:sm.exe


View File

@@ -0,0 +1,4 @@
c:
cd \bin
pound 800 bbset.exe sm.exe


View File

@@ -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 not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -0,0 +1,3 @@
buffers = 40
files = 20
break=on

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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 * * *

199
v4.0-ozzie/bin/DISK1/SM.DOC Normal file
View File

@@ -0,0 +1,199 @@
Multi-Tasking MS-DOS
Beta Test Release 1.00
Session Manager
User's Guide
Introduction
The Session Manager(SM) for Multi-Tasking MS-DOS
allows you to run up to six programs at one time and switch
between them with a couple of keystrokes. Each program's
screen is preserved so that it can be restored when you
switch back to it. SM also contains the system-wide, Int24
Handler.
Initialization
The first thing SM does when it is started is look for
any program initialization information you may have. SM
looks for the initialization information in a file named
SM.INI in the current directory. Although recommended, no
initialization information is needed.
There are two types of initialization lines:
1) define <program key> <program name> [program args]
<working directory>
2) start <program key>
"program key" - a printable ascii character, a control
character (^A thru ^^), or a function key (F1
- F10).
"working directory" - a well formed path; i.e., begins
with drive letter (d:\).
Each define line will associate a key with a program.
If there is more than one define line using the same key,
only the information in the last one is used.
A start line is optional. If one exists, the program
associated with the key on the start line is run as soon as
SM finishes initializing. If more than one start line is
given, the last one is used.
This is what a sample initialization file might look like:
define f1 a:\command.com c:\bin\src
define ^z z.exe foo.c a:\foo\bar
start f1
Running the Session Manager
To run Session Manager, just type SM. It does not
require any arguments. If there was a start line in the
Session Manager User's Guide - Page: 2
initialization file, the program associated with the start
key will be run. Otherwise, the SM screen will be displayed
and you will be prompted for input.
The SM screen contains a chart that describes each
defined program's key, status, arguments, and working
directory. There are 3 types of program status:
1) New - the program has never been run.
2) Active - the program has been started.
3) Dead - the program has terminated.
The input choices at this point are to either type a
program key or hit the <ESC> button to enter command mode.
If you hit a program key, the screen associated with that
program will be displayed and the program will
start/continue executing. If this is the first time the
program has been run, a chdir to the program's working
directory is made before it is started. If SM cannot start
the program you desired, the SM screen will reappear.
If the program you chose to run has died, its screen
will still be displayed so that you can check its output.
That is all you can do while in a dead programs screen
except switch back to SM.
To switch back to SM, hit Alt-F10. Alt-F10 is
currently the program key for SM and will be recognized no
matter what other programs are running. This is the only
program key that works this way. All of the others will
only be recognized if SM is running and the SM screen is
being displayed.
Whenever any of SM's children die, their status is
changed to dead. You will see the status change the next
time the SM screen is displayed. If the program using the
current screen dies, you will go back into SM.
Command Mode
When you enter SM's command mode the prompt "SM command or
HELP>" is displayed. The valid SM commands are:
1) INIT <program key>
Initialize the program associated with key so that
it can be run again. The program's status is
changed to "New" and its screen memory is freed.
If the program is active, it is killed before it
is initialized.
2) DEFINE <program key> <program name> [program args]
<working directory>
Define and run a new program using the supplied
information. If the key was previously defined,
redefine it.
Session Manager User's Guide - Page: 3
3) RUN <program key>
Run the program associated with key.
4) RESTART <program key>
Restart the program associated with key. This
like issuing an INIT and a RUN command.
5) KILL <program key>
Kill the program associated with key. Its status
is changed to dead.
6) HELP
Display a help screen.
7) EXIT
Kill all of SM's children and exit SM.
In all of the above commands, "key" is the printable
ascii representation of a programs key. If a command fails,
you will either be asked to enter a new command or placed in
SM's top level.
Session Manager's Int24 Handler
Whenever an Int24 occurs, SM's Int24 handler is called.
No matter what program is using the screen and no matter
which program caused the error, SM's Int24 screen is always
displayed. This screen will contain information on the type
of Int24 that happened, and the name and pid of the program
that caused the error. You will then be prompted for one of
the valid actions for this type of error. After the action
typed in has been taken, you are returned to the screen you
were using before the Int24.

View File

@@ -0,0 +1,2 @@
define F7 a:\command.com a:\
define F8 a:\command.com c:\