Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50362/iolib5.rnd
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
things happen.
.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
during assembly.
.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
label $$BEG.
.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
type $3K.
.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
watch table
.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
.lm -20
.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