RELEASE NOTICE: MP/AOS REV 2.00 JUNE.1984 085-000232-04
_________________________________________________________________________
MODEL # 30056, 30057, 30058, 30163
1. Summary
-- -------
The purpose of the product release notice is to provide the user with
specific information about the product which is not available in the
product manuals (information may be repeated in subsequent release
notices if the appropriate manual is not yet available).
Between revisions of the product, periodic updates to the product may be
issued. The purpose of an update is to reduce the time required to
respond to problems by providing a level of corrections which does not
require a release of the complete product. Each update of a product
release supersedes the previous update.
A release of the product consists of two parts, as defined below:
Part Description Part Number
________________ ___________
1. MP/AOS Rev 2.00 Release Notice 085-000232-04
2. MP/AOS Rev 2.00 Release Media Defined by this
release notice
in section 6A.
Included in this release notice are:
1. Summary
2. Environment
3. Enhancements
4. Notes/Warnings
5. Fixes
6. Product Organization
A. Software
B. Documentation
7. Documentation Changes
Copyright (C) Data General Corporation, 1982, 1983, 1984
All rights reserved.
Licensed material - Property of Data General Corporation
Page 2
2. Environment
__ ___________
A. Prerequisites
________________
For executing MP/AOS:
Eclipse processor (S120, S130, S140, C150, S250, S280, C330,
C350) with CIS, floating point instruction set, and
192kb of memory.
Magnetic tape (preferred load device)
Disk storage (at least a single disk of 5mb):
6098/6099/6100/6103 12.5/25mb Winchester Disk Subsystem
6045/6050 5mb Cartridge Disk Subsystem
6070 5mb Cartridge Disk Subsystem
6060/6061/6067 50/96/190mb Disk Storage Subsystem
6122 277mb Cartridge Disk Subsystem
6160/6161 73/147mb Winchester Disk Subsystem
6225/6227 5/15mb Winchester Disk Subsystem
6234 50mb Winchester Disk Subsystem
6236 354mb Winchester Disk Subsystem
4514 368kb Disk Subsystem
OR
microEclipse processor (S20) and 192kb of memory.
Magnetic tape (preferred load device)
Disk storage (at least a single disk of at least 5mb):
6101/6102/6104/6105 12.5/25mb Disk Subsystem
(with diskette as alternate load device)
6095 10mb Cartridge Disk
6097 1.26mb Disk Subsystem (alternate load device)
6220/6222 5/15mb Winchester Disk Subsystem
5551/6235 5/15/50mb Winchester Disk Subsystem
4513 368kb Disk Subsystem (alternate load device)
For executing AOS to MP/AOS Cross Development Software:
AOS system Revision 3.20 or later with CIS and
floating point instruction set.
For executing AOS/VS to MP/AOS Cross Development Software:
AOS/VS system Revision 1.50 or later
Page 3
B. Dependent Products
_____________________
TCS Text Control System, Rev. 1.20
MP/File Management System, Rev. 1.10
MP/AOS SP/Pascal, Rev. 1.20
MP/AOS MP/Pascal, Rev 3.00
MP/AOS MP/FORTRAN, Rev 2.00, software floating point
MP/AOS MP/FORTRAN, Rev 2.00, hardware floating point
MP/AOS MP/BASIC, Rev 3.00
C. Collateral Products
----------------------
AOS and AOSVS MP/Pascal, Rev. 3.00
AOS and AOSVS FORTRAN, Rev. 2.00
AOS and AOSVS MP/BASIC, Rev 3.00
AOS and AOSVS TCS Text Control System Rev 1.20
AOS and AOSVS SP/Pascal, Rev. 1.20
3. Enhancements
------------
1) MP/AOS Rev. 2.00 is able to run memory resident. Memory resident
MP/AOS is described in the Documentation Changes section of this
document.
2) Many enhancements have been made to the patching utility, VAMP
(MVAMP in cross development releases), such as automatic patch
insertion in a binder-allocated patch area. These enhancements are
described in the document VAMP_ENHANC.DOC in the documentation
directory. Basic VAMP functionality is described in the MP/AOS and
MP/AOS-SU File Utilities Manual (093-400204-01).
3) Several changes have been made to the debugger calls ?RDST, ?GIDS
and ?WSIG to better handle overlays. See the documentation section.
4) MP/BIND Rev 2.00 has several enhancements, described in
BIND_ENHANC.DOC in the documentation directory. Included in this
are partition remapping, memory segment support, virtual overlays,
and patch area allocation for use with VAMP. In the Notes/Warnings
section below it is explained that Rev 2.00 programs will not run
on older MP/AOS systems.
5) MP/AOS now supports virtual overlays in user programs. File
BIND_ENHANC.DOC explains how to bind programs having virtual overlays.
Page 4
6) The ?CSEG call now has an ID option, which if used indicates that
AC1 contains a user-specified global segment number. Refer to the
Documentation Changes section below for more details.
7) The ?CTASK call checks the task starting address for validity.
This test has been extended to accept addresses within memory
segment pages mapped by the user. More simply, the address is valid
iff it is within a page currently mapped into the logical address
space.
8) The ?SCHAR call with the ?HC option now accepts a disk name as
an argument to support the multiple allowable formats of the 368kb
diskette.
9) The Tape Installer has undergone a number of changes, including a
change in the format of the starter tape. As a result, it is easier to
use and will run noticeably faster. For detailed information see the
Documentation section below.
10) Carriage Return is echoed the same way New-line is. During a ?READ
for which echoing is done (i.e., ?READ from a terminal), a typed
Carriage Return with the ?CNAS characteristic turned off (or a typed
New-line with the ?CNAS characteristic on) will be echoed as a New-line
(or CR/LF). In the past this was echoed as a Carriage Return with no
Line Feed. This change does not affect the way a ?WRITE displays
Carriage Return.
11) There is a facility within MP/AOS for performing interprocess
synchronization. Its use is described in the Documentation Changes
section below.
12) MP/AOS supports power fail/auto restart using the Battery Backup
Option on the S120, S140, S250, and C350 processors as described in the
Documentation Changes section below.
13) An option has been added to the MP/AOS ?GTIME and ?STIME system calls
to allow interrogation and setting of the system time in milliseconds.
Its use is described in the Documentation Changes section below.
14) Disk support for the 15 inch Eclipse line has been enlarged to
include the following disks:
- 6122 277mb Cartridge Disk Subsystem
- 6160/6161 73/147 mb Winchester Disk Subsystem
- 6225/6227 5/15mb Winchester Disk Subsystem
- 6234 50mb Winchester Disk Subsystem
- 6236 354mb Winchester Disk Subsystem
- 4514 368kb Disk Subsystem
15) Disk support for the S20 has been enlarged to include the following
disks:
- 6220/6222 5/15mb Winchester Disk Subsystem
- 5551/6235 5/15/50mb Winchester Disk Subsystem
- 4513 368kb Disk Subsystem
Page 5
16) The asynchronous lines on the ULM (models 4241 and 4243) are
supported.
17) SYSBOOT will take any pathname from the root directory as a
response to the system name question. Links to files on the same disk
are also supported.
18) MP/AOS release format tapes with customized systems can be
generated under MP/AOS. See the Documentation Changes section below.
19) MP/AOS magnetic tape support has been enhanced to support the
15mb cartridge tape drive in both the 15" and 7X9" form factors model
numbers:
6230 Free standing cartridge tape drive for S/20
6220-C Cartridge tape drive with 5 mb winchester on S/20
6222-C Cartridge tape drive with 15 mb winchester on S/20
6231 Free standing cartridge tape drive on Eclipse bus
6225-C Cartridge tape drive with 5 mb winchester on Eclipse
bus
6227-C Cartridge tape drive with 15 mb winchester on Eclipse
bus
In addition, MP/AOS is available for distribution on cartridge tape.
20) SYSGEN support for the S280 asks if the system should automatically
be shut down on a power supply error. A system created for the S280
will no longer panic on an interrupt generated by the S280 power supply
on device code 4.
21) The error message corresponding to the mnemonic ERSAD formerly
indicated the error condition "Scheduling already disabled". Beginning
with this revision, it now indicates the error "Condition already
exists". The error code itself has not changed, and the error will
still be returned under those conditions in which it was previously an
expected error. The only change has been to broaden the meaning to
allow it to be returned under additional circumstances, as they may
be indicated.
22) Added functionality in SYSBOOT.SY has it check for a file called
:AUTOBOOT.SYS when the system is booted. If the file exists, it is
assumed to be the desired system file and the operator is not asked
for one. Further, the time and date are not requested before the
initial process is started. This feature functions on all processors
supported by MP/AOS. Additionally, MP/AOS supports auto-program
load on S120 and S140 processors, so that the intial process will
run with no operator intervention.
23) The MP/AOS system call ?IPEND now has a new option, DS, for
disabling I/O instruction mode. This is for those users who mix LEF
instructions with device drivers in a multitasked program. A task that
wishes to start a device will disable rescheduling (?DRSCH), enable I/O
instructions (?ENBL), stop interrupts (INTDS), start the device with
I/O instructions and then ?IPEND DS to both wait for the interrupt
service routine to ?IUNPEND and disable I/O instructions at base level.
Page 6
Note that if the user disabled I/O (?DSBL) before the ?IPEND, then
interrupts would be enabled upon leaving the ?DSBL system call and an
interrupt service routine could ?IUNPEND before the base level ?IPEND.
If the ?DSBL were called after the ?IPEND in a multitasked program,
then other tasks might execute LEF instructions as I/O instructions
leading to a system crash.
24) The MP/AOS system call ?ENBL has a new option, CK, for checking if
I/O mode is already enabled and returning an error (ERSAD) if it is.
25) There have been several features added to the SPOOLER utility. For
details, see the Documentation Changes section below.
26) ?PEND/?UNPEND are now FIFO operations rather than LIFO. The effect
of this is that if several tasks pend on the same event, the first one
pended rather than the last one pended will be awakened. Note that task
priority is not considered in the UNPEND mechanism.
27) Pends with timeouts are restarted after an ?EXEC/?RETURN with the
original timeout instead of no timeout. Previous versions of MP/AOS
would repend the task with no timeout after an ?EXEC/?RETURN and thus a
delay call (which uses the ?PEND call) for several seconds would never
come back if an ?EXEC/?RETURN was made. Note that the repend is made
with the original value and not the remaining time. Thus if a task is
pended for 10 minutes and an ?EXEC is made every 5 minutes, the task
will still never be awakened.
28) ?UNPEND has a new option, 'PRC', which unpends tasks in another
process. AC1, which was previously unused, has the process ID that the
?UNPEND is to act up on. An invalid process ID is not returned as an
error but generates a 'zero tasks unpended' count to be returned in AC0.
Note that AC2 will still need an event code or task ID with the 'ID'
option.
29) ?PROC has a new option, 'BLK', which creates the new process in a
blocked condition, with the old process still able to run. The new
process must be UNBLOCKed in order to execute.
30) SPEED recognizes the global /S switch, which will cause the
"** Lower case input encountered **" message to be suppressed.
31) The RDOS Utility now allows MP/AOS users to transfer files
between RDOS and MP/AOS disks and to list information about RDOS disk
files, as well as to dump and load RDOS format tapes. For detailed
information on this utility, please see the RDOS.DOC file in the
Documentation Directory (DOC).
32) The ?MSEG call is now approx. 10 times faster than it was under
Rev 1.20. It will take approx. 300 micro seconds to map one page using
the ?MSEG call if there is no other segment activity going on at the
same time. By other segment activity we mean ?CSEG's, ?ASEG's, or
?DSEG's. Concurrent ?MSEG's will all proceed at the new improved speed.
Page 7
4. Notes/Warnings
__ ______________
1) The starter system for Eclipse processors will panic on any ERCC
error with a "Kernel panic 022". As your top priority, you should
generate a customized operating system. Users who are executing
on the S280 should see note (16) in the "Enhancements" section above.
2) When using SYSGEN to assign lines on asynchronous multiplexors
(ALMs, ATIs, AMIs, ASLMs, and ULMs), the default hardware
characteristics for Dasher (TM) terminals include no parity and 8-bit
characters. This means that MP/AOS ignores the parity bit when
received from an asynchronous device, and transmits the parity bit
specified by the user (if characteristic ?C8BT is set), or always
transmits a 0 in the parity position. However, an 8-bit character is
always transmitted. This is not compatible with the D100, D200, D400
and G300 terminal "no parity" setting which does not provide for any
parity bit, but rather sets the terminal for transmitting and receiving
7-bit characters. These terminals MUST BE set to "mark" in order to
operate with MP/AOS default characteristics.
3) Users of recursive and nested CLI macros should be aware of the
following restriction: macros that call either themselves or other
macros recursively should do so from the last line of the macro. In
this way they will consume minimal CLI resources, and will be able to
iterate indefinitely. Recursion from any other place in a macro will
result in the consumption of CLI data space and can cause the eventual
termination and re-invocation of the CLI due to lack of this resource.
By using the !RETURN pseudo-macro in conjunction with the textual
substitution of string buffers containing macro names, users can
simulate recursion from any point in a macro, and still invoke a macro
from the end of the calling macro.
4) The system console in the supplied starter systems is configured
for use as a non-ANSI standard hard-copy device; that is, the ?CNAS
characteristic is set, and the ?C605X characteristic is not. ?CNAS
controls the way New-line ("<12>") and Carriage Return ("<15>") are
handled. ?C605X is used to distinguish between Data General CRTs
vs. hard-copys (or any other terminal). Issuing the following
command to the CLI:
CHARACTERISTICS/ON/ST/605X/OFF/NAS
will set the standard Data General CRT characteristics.
5) Users of the magnetic tape and data channel line printer libraries
(MTA.LB and DCLP.LB) should be aware that the libraries do not preserve
the state of LEF-mode as it existed in the user program prior to the
issuance of a library call. I/O instructions will be enabled on return
from these library calls and subsequent LEF instructions will be
misinterpreted. To avoid problems, high level language programs which
using these libraries should be compiled with the /NOLEF switch, if
appropriate.
Page 8
6) When two processes are attempting to take character input from the
same device, the following conditions exist:
a) ^C^A and ^C^B sequences entered on that device are detected only by
the FIRST process to open the device. When that process
terminates, subsequent ^C sequences are not detected by the other
process(es) using that device.
b) If an attempt is made to terminate one of these processes while it
has an outstanding ?READ issued to that device, the termination
will only succeed if the target process is either the first (or
only) process to be currently seeking input from that device, or if
the other request(s) are satisfied.
7) When using the /L(=filename) switch with programs or CLI commands
that support the switch, the following should be noted: the use of the
switch in those modes that direct output to a programmed I/O line
printer (@LPT) will not cause output to be sent to the spooler; if a
spooler is present, this use of the switch will not result in printed
output. In addition, output cannot be directed to a data channel line
printer by supplying @LPB as the filename argument. When the file to
which output will be directed is an existing disk file, the output will
be appended to the existing file contents.
8) After installing the software included in this release, it is
recommended that the release media be stored, intact, in a safe place,
and that periodic backups of the file structure be made to safeguard
against any catastrophic disk failures.
9) When either the Tape Installer or DINIT program prompts for the
CPU type on which a disk will be run, the microEclipse (M) option,
selects only the S/20 and Desktop Generation processors.
10) In systems containing 6060/6061/6067 disk subsystems, all units
that will be used while the system is running must be ready PRIOR to
booting the system. If this is not done, such disks will be recorded
as inaccessible in the system's runtime databases, and will not be
available unless the system is rebooted.
11) Tape library routines are accessible to high level language
programs. Tape library call words should be truncated to five
characters and declared as external integer variables in the user
program. The following example would be an appropriate declaration
and library call in SP/Pascal.
EXTERNAL VAR ?tclo, ?tope, ?twri, ?trea, ?tspo, ?tgpo: INTEGER;
BEGIN
:
failure := ?SYS(?tope, 0, ac0, ac1, ac2);
:
END.
12) Users of the AOS cross development running on S/120s should have
patch #4 from update 4.28 installed or they may encounter problems
using MBIND, OSYSGEN and other programs.
Page 9
13) Users of the AOS/VS cross development package should be aware of
the following warnings and restrictions:
1. The MBIND utility cannot be used to produce programs to run
under AOS/VS; the AOS/VS LINK utility must be used for this
purpose. The MLINK.CLI macro is included in this release as a
model for user program linking procedures. Special attention
should be paid to the inclusion of the /TASKS= switch when
LINK'ing all programs as well as to the ordering of the command
line so that the VS_MICREM.OB module precedes all user library
and object modules, and so that VSMSL.LB immediately precedes
URT16.LB. The value specified for /TASKS= must be equal to the
number of tasks required by the user program plus 2 (the number
required by the system call translator); the value specified
for ?NTAS must be the same as the number of tasks in the user
program. The MBIND utility must be used to produce MP/AOS
programs, and will automatically provide the proper tasking
values.
2. Overlaid programs built by LINK must explicitly load overlay 0
prior to using it.
3. Assembly language programs that use the .TSK directive to set
the number of tasks to be created by the program must include
the LINK switch /TASKS=, augmenting the number of tasks the
user requires by the 2 reserved by the system call translator.
When setting the value of ?NTAS, the number of user tasks
should be specified.
4. Proper emulation of multi-tasked programs under revision 1.60
of AOS/VS requires that patch #42 to the agent be applied.
With revision 2.00 of AOS/VS, patches #8 and 36 are required for
this reason; in Revision 3.00, patch #25 must be applied.
5. Proper operation of certain programs supplied with this release,
most notably AOSMIC.PR, in all AOS/VS configurations,
particularly those involving MV/4000's and MV/10000's requires
that the following patches be installed in the agent: in
revision 2.00 of AOS/VS, patch #25 must be applied; in revision
3.00, patch #7 must be applied.
14) Cross development users on both AOS and AOS/VS should be aware
that AOSMIC does not support the larger disks which may be used under
MP/AOS. This means that AOSMIC may not be used on any disk that has a
capacity greater than 30 megabytes.
15) SYSBOOT now checksums the system file and issues a warning if the
system doesn't checksum. Rev 1.00 systems did not have this feature,
and thus will always cause the warning to be issued. For these systems,
the warning should be ignored.
16) When using the QDISPLAY.CLI macro from the CLI to interrogate the
SPOOLER as to the state of the print queue, please be aware that the
information returned by the SPOOLER may appear intermixed with the
results of any subsequent CLI command you may have issued.
17) If a ?READ is done from a console that is in BINARY mode, the ?READ
stays a binary read even if binary mode is cleared from another console.
Page 10
18) The 4518 printer is supported by MP/AOS. It should be SYSGEN'd as a
line on the ALM,ULM or ASLM. The default characteristics can be used if
you disable parity on the 4518. The printer can then be addressed via
CLI commands or directly by the user by means of the line name.
19) The KONG_IT.CLI macro provided in the :SYSGEN release directory is
used to rebuild a system which has already been built, but has had a
patch applied to it.
KONG_IT is the final phase of the SYSGEN procedure which binds together
the intermediate pieces left around by SYSGEN. It can only be run to
rebuild a system which has already been built by SYSGEN.
Assuming SYSGEN was run to build system ?SYSNAM.SYS, then KONG_IT will
bind together ?SYSNAM.KNL, ?SYSNAM.SUP, ?PSYSNAM.PR and ?SYSNAM.OL to
create an updated ?SYSNAM.SYS. The updated system, ?SYSNAM.SYS, will
reflect any patches made to the kernel (?SYSNAM.KNL) or supervisor
(?SYSNAM.SUP) images.
If the system you wish to rebuild with KONG_IT is named ?SYSNAM.SYS,
then the command line to invoke KONG_IT looks like:
) KONG_IT SYSNAM ?PSYSNAM
20) The ?TREAD call in the magnetic tape library has been changed so
that when an end of file error is returned (EREOF) the tape is
repositioned before the EOF marker. To position the tape past the EOF
marker, the ?TSPOS call must be used.
21) In Rev. 1.10 of MP/AOS, the Tape Installer loaded the file MPAOS.SYS
with the permanence attribute set. This attribute should be cleared
using the CLI ATTRIBUTES command prior to using the Tape Installer
supplied with this release.
22) MP/MASM enhancements:
a) Two additional memory partitions are supported. (See item 27
in the Documentation Changes section below for a description of
.NREL 2 & 3.) In the process, the PS file format (MASM.PS,
etc.) of revisions prior to Rev 1.30 has been rendered obsolete.
To minimize the inconvenience this might cause, a PS file
conversion utility called RENEWPS is being provided temporarily,
as part of the current release. For information on the use of
RENEWPS (MRENEWPS under AOS and AOS/VS), see item 28 in the
Documentation Changes section below.
b) The Bit Alignment operator ("B") now accepts as the second
operand the values 16-31, in addition to 0-15. This makes it
possible to shift the value of the first operand to the right
as well as to the left. The following operations and results
will illustrate:
177777B0 = 100000 177777B16 = 077777
177777B1 = 140000 177777B17 = 037777
177777B2 = 160000 177777B18 = 017777
177777B3 = 170000 177777B19 = 007777
... . ... ... . ...
177777B14 = 177776 177777B30 = 000001
177777B15 = 177777 177777B31 = 000000
Page 11
Note that the result is always zero when 31 is the second
operand.
23) MP/BIND now places the Overlay Area at the front of the Pure Area
for an /AOS overlayed program (increasing the similarity to /MPAOS
programs). Prior to this the overlay nodes were interspersed throughout
the Pure Area, as specified in the bind line. Among other things, this
had the disadvantage of leaving "holes" in front of the overlay nodes.
24) Users of AOS or AOS/VS cross development packages should note that
in addition to the documented warnings concerning the use of the system
calls ?SCHAR and ?GCHAR to manipulate the characteristics of the user's
console, any use of the ?SCHS call should FOLLOW the setting of the
console's device characteristics. This ordering is not required under
MP/AOS.
25) The use of the CLI textual substitution !ASCII to produce
characters that have a special meaning to the CLI (such as '<' or ';')
will result in those characters being included in the syntax checking
performed on the resulting command line; this can lead to either
unexpected syntax errors or misinterpreted command lines unless the
high bit is set on the value passed to !ASCII.
26) SYSGEN now assigns decimal numbers to TTY's instead of octal
numbers.
27) Prior to attempting to boot any of the diskettes included in your
release (models 30056Q and 30057Q only), please be sure that the
diskette has been write-enabled (i.e. the write protect notch has been
covered by non-translucent material). Failure to do this will produce
spurious system panics.
28) The format of the MP/AOS program file header has been extended
as of Rev 2.00. While any program that ran under previous revisions
of MP/AOS will continue to run under Rev 2.00 systems, any program
built with MP/BIND Rev 2.00 will not be able to run under previous
revisions of the system. All MP/AOS Rev 2.00 utilities have been
built using MP/BIND Rev 2.00.
30) You must install the Rev. 2.00 SYSBOOT.SY in order to boot
Rev. 2.00 MP/AOS systems. The Rev. 2.00 SYSBOOT.SY will continue
to boot older rev. systems. Similarly, the Rev. 1.10 SYSBOOT will
not allow proper shutdown of post-Rev.1.10 systems. The newest
Rev. of SYSBOOT should always be installed to be able to deal
with newest Rev. systems. New Revs of SYSBOOT will be able to
deal with older Rev. systems as well.
31) When SYSGEN invokes KONG to build the .SYS file, KONG now
outputs its command line. The command line will typically look
like: KONG/GO SYSNAM ?PSYSNAM when building a system named
SYSNAM.SYS. Note also that the initial process image now is
.PR file format and is named ?PSYSNAM.PR instead of ?PSYSNAM.SUP
when building a system named SYSNAM.SYS. For more information on
the usefulness of seeing KONG's command line, see the paragraph on
memory resident systems in the Documentation Changes section of this
document.
Page 12
32) When issuing a WHO [!ACTIVE] from the CLI, the following error
may result: ERRNF - "Resource not found". This reflects a temporary
state in the system when the target process is pushing or popping a
swaplevel and the information is not readily available. Once the
process has completed its swaplevel change, the WHO [!ACTIVE] can
successfully be re-issued.
33) To support programs bound with virtual overlays, the system
reads the overlays into 1-4 "virtual overlay segments". Since
maximum segment size is 128. pages, the number of segments used
depends on the size of the virtual overlay nodes. The user is
responsible for specifying enough attached segment descriptors and
global segment descriptors for the process at SYSGEN time and at
?PROC time. Also, the user is responsible for specifying enough
mapblocks at SYSGEN time to hold the physical pages which make up
the segment(s). Each mapblock can hold 1-16. physical page
numbers so the number needed depends on the size of the virtual
overlay nodes.
34) The predefined memory segments described by the document
BIND_ENHANC.DOC will not be supported by memory resident versions
of MP/AOS Rev. 2.00.
35) During the installation phase of DINIT, one of the questions
now reads:
Install SYSBOOT (MP/AOS-SU System) [N]?
and a "Y" response prompts further:
SYSBOOT (System) pathname [SYSBOOT.SY]?
When running DINIT to initialize an MP/AOS system, these questions
refer ONLY to SYSBOOT.SY, not to any MP/AOS-SU system. You must
install SYSBOOT.SY to be able to boot any MP/AOS system. MP/AOS
cannot be installed in place of SYSBOOT.SY.
These references to MP/AOS-SU occur only because both MP/AOS and
MP/AOS-SU use the same DINIT program and should NOT be taken to
mean that a system can be installed instead of SYSBOOT.SY.
36) The cross development versions of fixup for AOS and AOS/VS
may occasionally fail due to insufficient heap space. If this
problem is encountered the disk can be fixed by running the native
MP/AOS FIXUP.PR over the disk.
5. Fixes
__ _____
1) In order that MP/AOS starter systems not hang or panic as a result
of hardware configured using disk device codes other than the MP/AOS
defaults, starter systems have been provided with a conversational
mechanism that allows the user to specify appropriate device codes.
For details on the operation of this mechanism, please see the
Documentation section below.
Page 13
2) The following CLI problems have been fixed:
a) The presence of text strings containing one or more exclamation
point characters ('!') within an !EQUAL/!NEQUAL/!ELSE block of a
macro in situations where they are not part of pseudo-macros or
textual substitutions no longer result in the macro hanging.
b) The DECIMAL command properly reports all errors in supplied
arguments.
c) Attempts to COPY from non-existant files are handled properly in
all cases.
d) The data sensitive delimiter entered on a !READ is correctly
stripped from the text string returned by the pseudo-macro.
e) Using DIRECTORY/I with an argument correctly echoes the name of the
new directory in cases where the original working directory was the
root directory of a disk.
f) Recursive macros that conform to the format described in the Notes
and Warnings section for performing infinite recursion will
function correctly.
g) The presence of angle brackets or parentheses within the text string
displayed as the optional message with the !READ pseudo macro no
longer cause either the CLI or the macro to terminate abnormally.
h) Very long command entries (individual strings 124 characters or
more) are handled properly.
i) The PROMPT command now functions properly when the prompt includes
commands that accept switches governing their output (e.g. STRING)
or display switches within their output (e.g. CHARACTERISTICS).
j) Issuing a QPRINT from a terminal identified by a device name
containing a 2-digit number now results in an appropriate
acknowledgement message appearing on the screen, and in the file
printing correctly.
k) Textual substitutions of the PATHNAME command where the argument
supplied is a filename that would result in the command returning
an error will return a null string.
l) The ASCII command now handles all special display characters, such
as newlines, bells and other non-printing characters properly.
m) Several problems in the processing of expressions containing angle
brackets and/or parentheses have been corrected.
n) The DECIMAL and OCTAL commands now handle 32-bit arguments properly.
o) Multiple uses of certain commands, e.g. ASCII, on a single command
line no longer produce spurious results.
Page 14
p) When the redirection of input or output has been specified on the
EXECUTE (or XEQ) command, the redirected channel is now closed,
and the original source/destination is reopened immediately upon
return to the CLI, prior to the processing of any returned program
message or error processing. This change will eliminate the
overwriting or apparent loss of initial characters in a redirected
output stream.
q) Use of /P on the STRING command now properly sets the indicated
buffer to the previous contents of that buffer.
r) The information returned by !ACTIVE is now left-justified to permit
easier manipulation of the process id's within a macro.
s) The arithmetic commands (e.g. UADD, UDIVIDE) now correctly handle
all unsigned integers in the documented ranges.
t) The /l=filename switch now works properly in all cases.
u) The command CHARACTERISTICS/PSQ now works properly.
3) The following problems have been fixed in the MOVE utility:
a) MOVE no longer aborts with the message "Indecipherable dump
format" if users attempt to perform MOVE/FROM/DUMP operations to
disks with insufficient free or contiguous disk space.
b) When using the /DUMP operations in MOVE, attempts to dump link
files no longer result in the file indicated by the link's
resolution pathname being dumped instead of the link itself.
c) MOVE will now correctly read and write labeled tapes during
the first two months of any leap year.
d) A few inconsistencies in the handling of templates by MOVE
have been corrected.
4) In LED, the use of long library names (12 or more characters) with
options that create temporary or backup filenames by appending an
extension onto the original name no longer results in termination of
the program with "Filename too long" errors.
5) Maintenance of the TCB pend queue has been modified to prevent the
queue being put into an inconsistent state. The problem was most
likely to occur in heavily multi-tasked programs doing many ?UNPENDS
and ?PENDS including some synchronization with a user defined interrupt
handler.
6) System shutdown has been modified so that a "recal" is always the
last disk operation done against the system master disk. This means
that it is no longer necessary to manually get the disk back to track 0
after a normal system shutdown on any disk supported by MP/AOS.
Page 15
7) Systems running from master disks having 6 character names will now
shut down properly. An example of a six character disk name is
"@DPH10". Shutting down an earlier revision of MP/AOS from such a
device name resulted in an "abnormal system shutdown".
8) ?LRMV system call processing has been corrected. The previous
revision of MP/AOS did not perform proper cleanup for this system call
with the result that after performing an ?LRMV on a line, an ?LDEF of
the same line would result in a "device already in use" error.
9) Interrupt processing for the ASLM (model numbers 4336-S and
4336A-S) multiplexor has been improved to clear interrupts on lines
that were not defined by system generation. An earlier revision of
MP/AOS might have hung or taken random panics when encountering an ASLM
interrupt on a line which was not defined.
10) Processing of the ?WSIG system call has been modified to correct a
problem associated with execution of the PROFILE program. In an
earlier revision of MP/AOS, it was not possible to terminate the
PROFILE program if it had created the target process, unless that
process was terminated first. This revision allows termination of the
PROFILE program, and will also terminate the process that was being
monitored.
11) Initialization for ALMs, ATIs, AMIs, and ULMs has been corrected
to properly set the parity mode specified during the system generation
process.
12) In the magnetic tape library (MTA.LB), the ?TREAD call now updates
AC0 to the address of the last word read +1.
13) When booting previous revisions of MP/AOS, if an error was made
while entering the system time, it was necessary to enter all 3 fields
of the system time (hours-mins-secs) in order to clear the error. This
is no longer necessary.
14) When booting previous revisions of MP/AOS, if an error was
encountered while the system was performing a ?PROC of the root CLI, no
status was displayed on the system console, and the system shut itself
down. This update will display the error code returned on the ?PROC of
the root CLI. This was most likely to happen when there was
insufficient memory in the system to contain the operating system and
the root CLI.
15) ?OPEN and ?CLOSE processing has been modified so that console
interrupts are generated after the debugger has been executed. In
previous revisions of MP/AOS, if the debugger was executed, console
interrupts were not passed to whatever program was executing the
debugger after swapping back to that program.
16) I/O to a character device has been modified so that entering
"Control S" (^S) on a terminal keyboard no longer causes the task which
is doing output to the terminal's display to loop within the executive.
Page 16
17) I/O to a character device has been modified so that data returned
as a result of ?READ execution no longer has a "garbage" byte appended
to it. Previous revisions of MP/AOS sometimes returned an extra byte
of data which was not reflected in AC2 (actual number of bytes read)
returned by the system call.
18) I/O to a character device has been modified so that entering a
"Control U" (^U) on a terminal keyboard no longer causes the cursor to
be "backspaced" for what seems like forever. Previous revisions of the
operating system exhibited such behavior, and it may or may not have
been possible to interrupt the backspacing by entering "Control C"
"Control A" (^C^A).
19) A window in the scheduler which may have caused system hangs if an
IDEF'd device belonging to a certain process interrupted just as that
process was being loaded to run has been closed.
20) The SPOOLER queue now handles a maximum of 256 simultaneous
entries. Attempts to QPRINT more entries from the CLI will result in a
^C^A-interruptible wait for the printing of a file to free up a queue
slot. A user program dealing with the spooler may experience a
time-out of its IPC ?SEND to the spooler if a slot does not become
available quickly enough. In addition, SPOOLER commands issued from
consoles having 2 digit device names will now be correctly acknowledged
and printing will proceed normally. The printing of the "time last
modified" on the file header page has been fixed to display the correct
time of last modification. Also, spooling to Data Channel LP2 line
printers now works as documented (previously, LP2 printers had to be
incorrectly referenced as type LPD).
21) FLIT and FLED fixes:
a) Corrected problem that DSTR command sometimes skipped
whole words, and always displayed content starting with
the low-order byte regardless of the byte address
specified.
22) FLED fixes:
a) #TCB breakfile special symbol now set correctly.
b) '@
' syntax now returns just the contents of
instead of a 32-bit quantity (contents of
concatenated with contents of ).
c) Can do an EVAL on '@'.
d) Corrected problem that a change to the last word of
the last block of a file caused the entire last 1/2
block to not be saved!
e) Corrected problem that, when doing an EVAL on an
expression evaluating to more than 16 bits, only the
high-order 16 bits-worth would be displayed.
Page 17
23) FLIT fixes:
a) Breakpoints set in an overlay node are now maintained
properly; they no longer contaminate overlay code
subsequently loaded into the same node.
b) When the ?B command is entered, if a particular break-
point lies within an overlay node, the overlay node
number and overlay numbers are displayed on the same
line as the breakpoint number.
c) When FLIT is awakened because of an overlay load, the
overlay node number and overlay number are displayed
after the banner.
d) FLIT may now be run in a memory-resident environment.
e) When the user enters RESTART as a command, an error
message is displayed (command cannot be implemented).
f) When FLIT returns control to the system, the ?WSIG
system call is executed with the ?RE option in all
cases, except if FLIT had been awakened for the 1st
time, or for a primary, secondary, or temporary
breakpoint, or for a ^C^D, or for an ?EXEC call, or
for an overlay load.
g) FLIT's I/O buffer has been reduced from 32 words to 4,
mitigating its affect on debugged code within a shared
segment.
24) In the magnetic tape library ?TREAD has been fixed so that issuing
the call against a blank tape will no longer run the tape off the reel.
25) A problem was fixed in handling multiple users of a single overlay.
The problem occured when an ?OVLOD call on a given overlay came through
just as that overlay was being read in. That ?OVLOD call ended up
being interpreted as a load of overlay 0, even if the user did not
specify overlay 0.
26) The ?HC option on the ?SCHAR system call now works correctly.
27) The ?PROC call no longer returns the error message "No available
resource". Instead, it returns specific error messages which indicate
which resource has been used up.
28) It is now possible for users to define their own XOP table entries,
and for these entries coexist with the MP/AOS-defined entries contained
in OSL.LB. See the Documentation Section below for more information.
29) Several problems have been fixed in the Interprocess Communication
mechanism:
(a) Fixed a problem which resulted in certain IPC requests getting
lost in the system and thus never matched up with a corresponding
IPC.
Page 18
(b) Fixed a problem which could cause an error return to be taken
on an IPC call when actually a match had occurred and a good
return should have been taken.
(c) Fixed a problem in the ?OBITS code which could have caused
a deadlock in the system.
30) In the Data Channel Library (DCLP.LB), a problem has been
corrected so that the SPOOLER Utility will now handle tabs properly
when running on a data channel line printer.
31) A problem with using ?STMP at interrupt level has been fixed. This
caused several user hangs.
32) A problem with multiple board ALM configurations has been fixed.
Previously, if a user configured a system with more than one ALM board,
the only lines that would respond would be on the last board.
33) Previously, an unsuccessful ?MOUNT (due to ERDOL or ERDFT errors)
could cause the system to panic with a Kernel Panic 5. This situation
has been fixed.
34) SCMP fixes:
a) Corrected the problem that if a line was not terminated with
a NEWLINE, FORM FEED, or CARRIAGE RETURN, that line did not
participate in the comparison process.
b) Corrected the problem that if SCMP was run from a non-system
console (without the 'L' switch), all output was routed to
the system console.
35) SPEED fixes:
a) Files which are open and local to a buffer will no longer
become inaccessable, while still remaining open, after the
contents of the buffer have been deleted via a BCx or BTx
command. The local files if any will continue to be open
and associated with the buffer until they are explicitly
closed or a BKx command is issued.
b) Searches that used ^\...^\ templates at the instant when the
end of the buffer was encountered started causing SPEED to
trap. This has been fixed.
c) Under obscure circumstances, using a ^F$ where
involved the network under AOS/VS caused SPEED to
trap. The bug, which also existed benignly in MP/AOS SPEED,
has been fixed.
Page 19
36) MP/BIND fixes:
a) Symbol entries in +.ST files are now being generated correctly.
Symbols in overlays now have the overlay node # and overlay #
(instead of -1) stored in the appropriate word. Common symbols
now have the common block length (instead of a zero) stored in
the appropriate word. A result is that debuggers are able to
tell the difference between overlayed and non-overlayed
symbols, and only use the overlayed symbols corresponding
to the currently loaded overlay.
b) The value of ?NMAX in program files is now being properly
adjusted to take into consideration absolute (.LOC, etc.)
locations above Impure Code & Data partitions. This is
described more fully in BIND_ENHANC.DOC.
c) Binder command lines that do not specify any OB or library file
names are now detected, and the file ".PR" is no longer
created.
37) The following pathname resolution problems have been fixed:
a) A pathname without a prefix (@DPD0:, :, =, ^) can be resolved
from the working directory or any of the directories specified
by the searchlist. If before the actual file is located, a
file is found having (at least) the first filename in the path
in common but in one of the other directories, a Supervisor
Panic 42 would result. A similar but more general situation
with link resolution would also cause a Supervisor Panic 42.
b) A link to a directory on another disk can now be used in a
pathname to specify files within that directory. Previously,
a seemingly random file on the same disk as the link would be
found instead.
38) MP/MASM Rev 1.30 would generate a correct assembler listing but an
incorrect OB file when .GLOC code was followed by code of a PC having a
different relocation base (ex. .GLOC followed by .NREL).
39) Several problems with the /ED switch in SYSGEN have been fixed.
Problems included SYSGEN losing track of alm/aslm line numbers which
had been assigned, losing track of the type of disk being selected,
and failing to provide proper default choices for system configuration
parameters.
40) The ?EINFO call now correctly returns elapsed time in
milliseconds.
41) Fixed bug in the ?XMT/?REC library code which could cause the
system to lose track of which call was being executed if these calls
were being heavily used.
42) Closed window which could cause the timeout queue to become
circularly linked if a task being ?KTASK'ed was on the timeout
queue and he timed out just as the ?KTASK code was removing him from
the queue.
43) Fixed bug where ?EINFO call could return the wrong number of
attached segments after a ?EXEC call.
Page 20
6. Product Organization
__ ____________________
A. Software
___________
MP/AOS Rev 2.00 for Eclipse products on 1.26 mb diskette
Model: 30056Q
Status Part Number Description
______ ___________ ___________
R 062-000255-04 MP/AOS system and utilities 0
R 062-000256-04 MP/AOS system and utilities 1
R 062-000401-01 MP/AOS system and utilities 2
MP/AOS Rev 2.00 for Eclipse products on 800 & 1600 bpi magnetic tape
and cartridge
Model: 30056M/H/C
Status Part Number Description
------ ----------- -----------
R 071-000630-04 MP/AOS system and utilities
MP/AOS Rev 2.00 for micro Eclipse on 1.26 mb diskette
Model: 30057Q
Status Part Number Description
______ ___________ ___________
R 062-000257-04 MP/AOS system and utilities 0
R 062-000256-04 MP/AOS system and utilities 1
R 062-000401-01 MP/AOS system and utilities 2
MP/AOS Rev 2.00 for micro Eclipse on 800 & 1600 bpi magnetic tape
and cartridge
Model: 30057/M/H/C
Status Part Number Description
______ ___________ ___________
R 071-000631-04 MP/AOS system and utilities
Page 21
AOS to MP/AOS cross development software Rev 2.00 on 1.26 mb diskette
Model: 30058Q
Status Part Number Description
______ ___________ ___________
R 062-000259-04 AOS to MP/AOS cross development software 0
R 062-000272-04 AOS to MP/AOS cross development software 1
AOS to MP/AOS cross development software Rev 2.00 on 800 & 1600 BPI
magnetic tape and cartridge
Model: 30058M/H/C
Status Part Number Description
------ ----------- -----------
R 071-000632-04 AOS to MP/AOS cross development software
AOS/VS to MP/AOS cross development software Rev 2.00 on magnetic tape
Model: 30163H/C
Status Part Number Description
------ ----------- -----------
R 071-000767-03 AOS/VS to MP/AOS cross development software
B. Documentation
________________
Status Part Number Description
______ ___________ ___________
- 093-400051-01 MP/AOS System Programmer's Reference
- 069-400200-00 MP/AOS Concepts and Facilities
- 069-400201-00 MP/AOS Command Line Interpreter (CLI)
- 069-400202-00 MP/AOS Speed Text Editor
- 069-400204-01 MP/AOS File Utilities
- 069-400205-00 MP/AOS Debugger and Performance Monitoring
Utilities
- 069-400206-01 MP/AOS System Generation and Related Utilities
- 069-400207-01 Loading MP/AOS
- 069-400210-00 MP/AOS Macroassembler and Binder Utilities
- 086-000069-00 Addendum to MP/AOS Macroassembler, Binder
and Library Utilities
A 093-400204-01 MP/AOS and MP/AOS-SU File Utilities
Page 22
7. Documentation Changes
__ _____________________
1. MP/AOS DISKETTE RELEASE
MPAOS.SYS distributed on release diskettes is attribute protected
for permanence.
2. USER-SUPPLIED PANIC AND UNDEFINED INTERRUPT ROUTINES
A facility exists for users to write their own system panic and
undefined interrupt processors. Users must create their own OB's, and
then modify the CLI macros used by sysgen in order to include these
ob's in the system.
a) Catching System Panics:
System panics can be caught by inclusion of an ob containing the
ENTRY name ".UDOWN". The /8 switch on the assembler must be used
to generate the correct entry name. The user-supplied routine is
given control via a "JSR".
b) Catching Undefined Interrupts:
To catch an undefined interrupt, include an OB containing the ENTRY
name "?DSMS". This routine is given control by a "JSR", and on
entry, the device code of the offending device will be in AC1. The
user-supplied routine has complete responsibility for clearing the
interrupt; the system does not even perform an "NIOC".
c) Modifying System Macros To Include User-Defined Handlers:
The CLI macro KSYSG.BIND.CLI, found in :SYSGEN, must be modified to
include a user-supplied panic handler and/or undefined interrupt
handler. Assuming the panic handler OB's name is UDOWN and the
undefined interrupt handler is ?DSMS, the new KSYSG.BIND.CLI would
be as follows:
DELETE/2=IGNORE ?K%1%.