There are no other files named iolib5.rnd in the archive.
.ap;.ps 59 75;.lm 5;.t IOLIB v:5 Release
.c;^&IOLIB v:5 Release\&
.b 2;.c;Rob Cook
.c;LaTrobe University Computer Centre
.hl 1 Introduction
IOLIB version 5 is a maintenance release that fixes
all outstanding bugs, and provides compatibility with C.MAC version
7 and MACRO-10 version 50. IOLIB version 5 contains a few
new features and changes in specifications, detailed below.
.hl 1 External Changes
.b;.ls;.le;IOLIB requires C.MAC version 7 and MACRO-10 version 50.
The files C.UNV and IO.UNV should be installed on ersatz device
If the monitor in pre-5.07 and does not recognise device UNV:,
C.UNV and IO.UNV should go onto SYS:.
.le;the instructions for compiling and loading a program with IOLIB
are very much simpler due to the transparent way that MACRO v:50 handles
UNIVERSAL files. If the user program contains a 'SEARCH C,IO' instruction
he can say 'EXECUTE MYPROG,@MAC:IOLO' and all good
.b;Users are not advised to use the .REQUEST pseudo-op to force a library
search of IOLIB at load time because the IOLIB library needs to
be searched twice, and this is not easy with .REQUEST
.le;the VERSN$ macro types the version numbers of C and IO used
.le;there are new macros and routines to open a file for appending
called $APEND and $APDWT. These routines are similar to $UPDAT and
.le;there are new macros and routines to write a number as a
number od blocks, 34B, ($WBWRD), a number of words ,42045W, ($WWWRD)
and as a quantity of core in pages/kwords if an exact number of units
and in words if not ($WCWRD).
.le;the XTUUO$, XTCAL$ and XTDCL$ macros have had their definitions
.le;MAKFD$ is changed slightly to remove the case whereby an
FDB address of less than 20 was assumed to be an
ac that points to an FDB.
.le;add new fields to the FDB. It now contains a path block, an extra
word for the buffer headers to allow MPX channel use, and words for
the results of /ABEFORE and /ASINCE switches. MAKFD$ and $CLRFD setup
$FDPPN to point to $FDPTH, but $FDPPN may be overwritten by a PPN.
The buffer headers are shared by a 6 word path mask block and the
name mask word. $FDDIM, the old directory mask has been removed.
.le;two new fields have been added to the IDB, and both are
initialised by BEGIN$
They are $IDPTH, the job's default path spec., and $IDCPU which
defines the CPU we are running on (0=KA10, 1=KI10).
.le;the feature test switch FT$KIX has dissappeared. IOLIB runs
on both cpus without modification.
.le;a new macro ADVIS$ to print advisory messages enclosed in .
The definition is the same as for FATAL$.
.le;any severity flag character can be set when calling $ERROR.
.le;new macros and routines, $MTxxx and MTxxx$ to execute MTAPE
UUOs for the current file
.le;a $BEGIN routine to do most of the work of BEGIN$. BEGIN$ is
reduced to 5 words of code. The first user word has the internal
.hl 1 Internal Changes
.ls;.le;$ROCT? and $RDEC? have been restructured to use a digit
reader, thus sortening both of them and the combination.
.le;$$XUUO and $$XCAL have been made INTERNAL to aid debugging
.le;$WWORD now continues writing characters until the
SIXBIT word is empty. It does not stop on the first blank.
.le;many bug fixes and speed improvements
.hl 1 Edits
.ts 15 25;.lm +20
.b;.i -20;^&IO IOLIB Changes\&
.b;.i -20;# 143 fix $MKBUF where .BFADR was wrongly addresses as .BFHDR
.b;.i -20;134 144 add symbols $BFSTS, $BFHDR and $BFCNT to IO equivalent to
the C v:6 symbols of the same name. Use these symbols in IOLIB.
.b;.i -20;# 145 correct insignificant typo in $RWORD
.b;.i -20;# 146 write a digit reader $$RUDO and make $ROCT?
and $RDEC? use it.
.b;.i -20;# 147 change $RCASH to use $$RUDO. A user can now
.b;.i -20;# 150 fix bug in $CLRFD with bad stack handling on error
.b;.i -20;# 151 fix similar problems in $INPUT and $OUTPU
.b;.i -20;# 152 fix another in $CRGET
.b;.i -20;# 153 fix bug in $TBUUO which prevents name of RUN UUO
from being output
.b;.i -20;# 154 fix stack handling bug in $RDATE
.b;.i -20;# 155 make $$XUUO and $$XCAL into INTERNals
.b;.i -20;# 156 alter $WWORD so that it outputs all
characters in the SIXBIT word until the word is nul
.b;.i -20;136 157 add $WBWRD, $WCWRD and $WWWRD and associated macros
.b;.i -20;137 change FW$$S definition to remove possibility of
spurious V errors through MACRO 50 bug
.b;.i -20;140 alter MAKFD$ definition to remove same. Also if
the address field of the argument list is 0-17 assume real address
instead of indirect through ac.
.b;.i -20;# 160 make $WDATE more efficient
.b;.i -20;# 161 rewrite $CNVUI ala SCAN v:6
.b;.i -20;# 162 rewrite $SAVE? ala SPR 10-13836
.b;.i -20;# 163 fix bug in $ERRIO whereby filenames sometimes
came out in the wrong format
.b;.i -20;# 164 fix bug in $INPUT/$OUTPU which made all errors
into 'UNK' errors
.b;.i -20;# 165 change $BATCH to use a GETTAB instead of GETLCH
.b;.i -20;141 166 add $APEND and $APDWT and macros
.b;.i -20;142 167 fix bug in $UPDWT so that it can handle a T1 arg.
.b;.i -20;143 170 add new fields to FDB for path spec., longer
buffer headers etc. Fix routines which use these fields to do it
.b;.i -20;144 fix MAKFD$ and FDESC$ to do same
.b;.i -20;145 171 add new fields to IDB for default path and cpu.
Fix heap routines to use cpu info.
.b;.i -20;146 add PRINTX C and IO version numbers to VERSN$
.b;.i -20;# 172 cure $WPATH problem with edit _#170
.b;.i -20;147 get rid of FT$KIX
.b;.i -20;# 173 use VERSN$ macro to define IOLIB version number
.b;.i -20;150 174 implement $ADVIS and ADVIS$
.b;.i -20;# 175 change verbosity handling to use bits in monitor
.b;.i -20;# 176 fix bug whereby $TBMTH got loaded into the LOSEG
.b;.i -20;# 177 fix bug in $ERROR caused by edit _#175
.b;.i -20;# 200 fix bug in $RFILE caused by edit _#172
.b;.i -20;151 201 add $MTxxx routines and MTxxx$ macros to execute MTAPE
UUOs for the current file.
.b;.i -20;152 202 change BEGIN$ so that it fixes up PORTALs and CCL
entry and then calls a $BEGIN routine to initialise everything. BEGIN$
always generates 5 words of code now and labels the first user location
.b;.i -20;# 203 use GETTABs to find the program name and PPN
instead of the values passed in te acs on entry. Trouble is
$IDPEX and $IDPDV are not filled now.
.b;.i -20;# 204 fix bug introduced by edit _#202
.b;.i -20;153 205 fix bug introduced by edit _#203
.hl 1 installation Instructions
.ls;.le;place IOLIB.REL on MAC:
.le;place C.UNV and IO.UNV on UNV: (C version 7, remember)
.le;place IOLO.CMD and IOHI.CMD on MAC:
.hl 1 Known Deficiencies
None apart from those mentioned as being Unimplemented Ideas
.hl 1 Unimplemented Ideas
.ls;.le;a prompt and reply package whereby a caller can
specify a question and the form of a reply, call a subroutine and
wait till a good reply is typed.
.le;interface to a WILD package
.le;interface to a QUEUER package
.le;all SCAN v:7 features