mirror of
https://github.com/microsoft/MS-DOS.git
synced 2026-06-12 15:36:59 +01:00
MZ is back!
This commit is contained in:
committed by
Microsoft Open Source
parent
8ee9712c74
commit
2d04cacc53
@@ -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.
@@ -0,0 +1,3 @@
|
||||
cd bin
|
||||
pound 290 a:bbset.exe a:sm.exe
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
c:
|
||||
cd \bin
|
||||
pound 800 bbset.exe sm.exe
|
||||
|
||||
@@ -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.
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
@@ -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,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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
define F7 a:\command.com a:\
|
||||
define F8 a:\command.com c:\
|
||||
Reference in New Issue
Block a user