There are 23 other files named forhst.mac in the archive. Click here to see a list.
TV FORHST Fortran object time system ,7(3261)
;COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1981, 1983
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
***** Begin Revision History *****
1100 CKS 12-MAR-79
1101 CKS 20-Mar-80
Only give truncated-record warning once per unit
1102 CKS 20-Mar-80
1103 CKS 26-Mar-80
Change FUNCT% to %FUNCT and add DBMS%% so DBMS 5A will work
1104 CKS 29-Mar-80
Can OPEN file every time IO is done when it is accessed
through multiple units (TTY: for instance). DDB address
only gets stored for one unit, so IO on any synonymous unit
thinks file needs opening. Fix to store DDB address for all
1105 CKS 29-Mar-80
Move labels DLP, XLP so record size does not get decremented
twice when record crosses file window boundary
1106 CKS 29-Mar-80
Remove MODE:EBCDIC, add $UNIT
1107 CKS 01-Apr-80
Make rewind call generic NXTW so it works for unformatted IO; add
special code to handle case when LSCW is last word in window
1110 CKS 12-Apr-80
Put in error numbers for IOSTAT and ERRSNS to return
1111 CKS 17-Apr-80
Replace JSHALT calls in FOROTS.MAC with ERCAL ERRIJE to sidestep
1112 CKS 17-Apr-80
Correct off-by-1 bug in filename move, results in an extra char used
1113 CKS 15-May-80 Q1210
Make X format act as 1X, not 0X
1114 CKS 27-May-80
Fix pre-error-message CRLF routine
1115 CKS 5-Jun-80 Q1212
More of 1111, missed a JSHALT
1116 CKS 5-Jun-80 Q1211
fix [Enter correct file specs] message
1117 CKS 9-Jul-80 Q1223
Image mode never takes END= branch, or notices EOF at all
1120 JLC 13-Jul-80
Fix so (I5$) format parses as (I5,$)
1121 CKS 15-Jul-80
Add FT20UUO so fools can try doing (simple) UUOs with native FOROTS
1122 CKS 17-Jul-80 Q1234
Add SFMOD so control chars are not translated on terminal output
1123 CKS 4-Aug-80 Q1240
Make REWIND an input operation if file is doing input
1124 CKS 11-Aug-80
Clear F when entering FORERR from library routine to prevent random
1125 CKS 12-Aug-80
Prevent premature EOF in binary IO
1126 CKS 12-Aug-80
Need device designator of TTY to check for interaction between
error messages and file IO. A mere STDEV of TTY: gets confused
by logical names. Get designator of physical TTY.
1127 CKS 12-Aug-80
Compiler doesn't set up L for FIN. so don't trust it in %SAVE
1130 CKS 13-Aug-80
OPEN with DIALOG always takes ERR= branch, with error message
"[Enter correct file specs]". Don't take ERR= on  messages.
1131 CKS 13-Aug-80
Fix ERRSNS again: remove extra indirect bit, fix so jsys
error number is the one that caused the IO statement to fail,
not the most recent error at the time of the error message
1132 CKS 14-Aug-80
Unformatted output sets associate variable off by 1; fix.
1133 CKS 18-Aug-80
Hack to allow UUOs on -20 fails if low seg is larger than 128K.
Hack the hack.
1134 CKS 21-Aug-80 Q4500
Use FO.CHN instead of 777B17 to load channel number
1135 CKS 22-Aug-80 Q4510
OPEN (UNIT=1,DIALOG) doesn't go into dialog if batch; it should.
1136 CKS 22-Aug-80 Q4514
Binary IO doesn't take END=
1137 CKS 23-Aug-80 Q4504
EOF from TTY is permanent; CLOSE the channel at EOF to clear it
1140 CKS 29-Aug-80 Q4559
Put FRSXXX prefix on TOPS-10 error messages
1141 CKS 29-Aug-80 Q4567
ALCHN doesn't store T0 in U.ACS so it doesn't get returned to user
1142 CKS 29-Aug-80
Don't rely on IOSUB being set up on REWIND
1143 CKS 26-Sep-80 Q4698
Don't fall into CLOSE from CLOSE%
1144 CKS 26-Sep-80 Q4689
Remove .+n constructs
1145 CKS 26-Sep-80 [Abbott]
FORPLT bug: routine NUMBER calls SYMBOL with L set up wrong. Change
MOVE to MOVEI
1146 CKS 26-Sep-80
More of 1137
1147 CKS 29-Sep-80 Q4648
Add VFOROTS to FORPRM so MACRO routines can include version-dependent
1150 CKS 29-Sep-80 Q4653
Remove debugging code from DUMP and PDUMP
1151 CKS 1-Oct-80
Prevent junk F from causing spurious ERR= branches in FORERR
1152 CKS 2-Oct-80 Q4734
1153 JLC 18-Sep-80
Alpha I/O speedup
1154 JLC 26-Sep-80
Fixed integer overflow in INTI
1155 JLC 29-Sep-80
FLOUT fix - turn off sign bit in word 2 for dp values
1156 JLC 3-Oct-80
Fix NAMELIST to demand $ in col 2 after skipping data
1157 CKS 3-Oct-80
Do not suppress carriage control of first line if it isn't LF
1160 CKS 16-Oct-80 Q1260
Correct / format in ENCODE to not pad record with spaces first
1161 CKS 16-Oct-80 Q4747
OPEN(5,ACCESS=SEQIN) prevents TYPE statements from working.
"Cure": make all opens of controlling TTY for input and output both
1162 CKS 22-Oct-80 Q4693
Prevent -10 disk files from being one word too long
1163 JLC 23-OCT-80
A whole lot of bug fixes to magtape ops for TOPS-10.
Fixed byte/count synch in %IREC
1164 CKS 24-Oct-80
Make OPEN (DEVICE='DEV:') work
1165 CKS 24-Nov-80 Q4572
Change some statement labels
1166 CKS 1-Dec-80 Q5048
Use SAVE4 not SAVE2 in xIREC
1167 CKS 1-Dec-80 Q5049
Add missing GETTAB T1, in FORINI
1170 CKS 1-Dec-80 Q5047
Add .TFSET to tapop set functions
1171 CKS 1-Dec-80 Q5054
Call %SAVE in EXIT. so that the ACs are set up for the CLOSEs that
1172 JLC 2-Dec-80 Q1318
Clear DPFLG in ALPHI/ALPHO
1173 EDS 8-Dec-80
Replace SEARCH JOBDAT in FORPRM with EXTERNs.
1174 CKS 10-Dec-80 Q5052
Remove "Too many args" error. If program sends more arguments
than will fit in the static block, dynamically allocate a block.
1175 JLC 12-Dec-80
Fixed LSNGET again
1176 CKS 13-Dec-80
Remove confusion about ERR= and END= and IOSTAT= addresses sticking
around and applying to the following statement
1177 CKS 13-Dec-80
Fix ERRSNS returning JSYS error number
1200 CKS 13-Dec-80
Make CLOSE of non-open file a nop
1201 CKS 13-Dec-80
Precede and follow all terminal input with SFCOCs to get the terminal
modes right. .TTATE doesn't quite make it.
1202 CKS 15-Dec-80
Remove TLO of IFIW in arg copier; won't work with 30-bit addresses and
is not necessary without 30-bit addresses.
1203 JLC 17-Dec-80
Finally fix TOPS-10 read followed by write.
1204 CKS 18-Dec-80 Q1330
-20 TIME routine can return negative time if HOURS .LT. GMT_CORRECTION.
Add 24 if it goes negative.
1205 CKS 18-Dec-80 Q1332
Move copying of ERR=, END=, IOSTAT= to where it will happen for
1206 CKS 18-Dec-80 Q1333
Don't set REREAD unit on WRITE statements
1207 CKS 18-Dec-80 Q1336
-20 tape code handles nulls by jumping off to the middle of the disk
IO loop. Jump instead to the middle of the tape loop, it works better.
1210 CKS 18-Dec-80 Q5114
In TRACE's PC finder, check for JSP 1,.OVRLAY by looking at the RH of
the instruction, not the LH.
1211 JLC 19-Dec-80
In %%GETIO make sure not to substitute for complex for list-directed
1212 JLC 22-Dec-80
Another SEQINOUT fix (TOPS-10). If we reach EOF, there is
no truncation to do. Additionally, we must not turn off the
EOF bit, as that's the only way to tell. Otherwise buffers
are left out of synch (ENDXFR now only turns off D%END).
1213 CKS 29-Dec-80 Q5203
DIRECTORY=array doesn't work; change a SKIPE to SKIPN
1214 JLC 05-Jan-81
Fix DISPOSE='DELETE' and 'RENAME' by inserting a
test for JFN open in IOCHK, calls address in IOSUB if
not open yet.
1215 JLC 06-Jan-81
Inserted a POPJ at end of SFDEL in FORFMT, was dropping off
the end and dropping into dollar format.
1216 JLC 08-Jan-81
New code for DECODE for 'next record'; moves pointer/count
to next word of string, as in V5.
1217 JLC 09-Jan-81
Fix integer divide check in FORTRP to "patch" the answer.
1220 CKS 9-Jan-81
Rework OSWTCH to fix TOPS-20 read to EOF followed by write
1221 JLC 15-Jan-81
Force input check (call of subr in left half of IOSUB) for
all magtape operations.
1222 JLC 16-Jan-81
FILOPs in OSWTCH were allocating buffers spuriously. Clear
the buffer count word.
1223 JLC 16-Jan-81
Add increment of BLKN(D) to -10 SMAPW, as it was not getting
bumped for unformatted I/O.
1224 CKS 18-Jan-81
More of 1220
1225 JLC 19-Jan-81
Make %DDBTAB full-word table, affects FOROPN, FORIO, and
1227 JLC 20-Jan-81 Q4829
Added code to only allocate buffer space needed instead
of always assuming both input and output.
1230 JLC 20-Jan-81
Changed format repeat count size from 9 to 12 bits,
allowing new maximum of 4095A1.
1231 JLC 20-Jan-81
Changed FCNT to a word in preparation for a merger
of FCNT and IBCNT on the -10.
1232 JLC 21-Jan-81
Fixed random I/O on -10 - buffers were not being allocated.
1233 JLC 21-Jan-81
Partial merger of FCNT and IBCNT/OBCNT - FCNT is now
a full-word indirect on the -10, pointing to IBCNT or
1234 CKS 22-Jan-81
Fix OPEN/CLOSE with no intervening IO to not complain when the
file does not exist
1235 CKS 22-Jan-81
Add initial value for .JBHRN to fake highseg JOBDAT.
1236 JLC 23-Jan-81
Restore pntr/count setup in ISW and OSW, removed by accident.
1237 JLC 23-Jan-81
Fix to decode eof condition, was leaving negative record size
if record previously used up.
1240 JLC 23-Jan-81
FOROPN - binary/image kluge in OSWTCH: number of words to write
is one less than specified by buffer pointer.
1241 JLC 23-Jan-81
Remove setup of FCNT at end of DOOPEN for -10, as FCNT is now
automatically set up.
1242 JLC 23-Jan-81
Fix to exit code in FOROPN for full-word DDBTAB.
1243 JLC 26-Jan-81
Another DECODE fix; RPTR was being reset to beginning of
1244 JLC 26-Jan-81
Move ISWTCH/OSWTCH recall code to inside IF10.
1245 JLC 26-Jan-81
Recode ISWTCH for -10 to not set to EOF, as it would
not work properly for BACKSPACE.
1246 JLC 26-Jan-81
DF was not being renewed in ISWTCH or OSWTCH. Changes in
FOROPN and FORIO.
1247 JLC 27-Jan-81
Fix REWIND yet again, did not have code for the 20-type
binary buffer pointer.
1250 DAW 27-Jan-81
Put IFIW's in front of some indirect addresses.
1251 CKS 28-Jan-81
MOVE => MOVEI in GETIO to make complex non-*-fmt work
1252 CKS 28-Jan-81
Fix SKIP RECORD after SEQINOUT OPEN, add code for unformatted
1253 JLC 29-Jan-81
Patch to prevent OPEN from truncating files in ISWTCH, plus
preventing 2nd truncation in OSWTCH.
1254 JLC 29-Jan-81
Yet another minor patch in OSWTCH, wasn't correcting for
binary/image kluge correctly.
1255 CKS 5-Feb-81
If -10 open error occurs, mark file as not open before trying
to proceed with dialog. Avoids infinite CLOSE loop when trying
to close un-opened file on error exit.
1256 DAW 5-Feb-81
New calling sequence for FOROP. (Affects FORMSC, FORDDT, FOROP).
1257 JLC 6-Feb-81
Major modification to byte pointer and mapping routines, now
point to last used word instead of next available, to make
-10 and -20 code more similar.
1260 DAW 6-Feb-81
LSNGET smashed ACs 2 and 3.
1261 JLC 9-Feb-81
Unformatted skip record dropped into formatted I/O on the -10.
1262 DAW 9-Feb-81
Allow FORINI to run in non-zero sections.
1263 JLC 9-Feb-81 QAR 10-05487
Fix -10 backspace code, SOJLE should be SOJGE.
1264 EDS 10-Feb-81 QAR 10-04519
Fix FORPRM to not allow a KI-20 version to be generated.
1265 CKS 10-Feb-81
Fix FORERR to allow calls of FORER. from within user-supplied error
1266 DAW 11-Feb-81
Changes to FORMSC to allow extended addressing. In particular,
lots of changes to DUMP and PDUMP (also bugs fixed), TIME, and
DATE routines. (More FORMSC changes to come..).
1267 EGM 15-Feb-81 Q10-04519
Clean up FORPRM, add checks for feature test conflicts, replace
DDB byte pointer definitions in FOROTS with call to macro defined
1270 CKS 17-Feb-81
Arrays more than 128K output by a single SLIST don't work because
of a HRREM. Make it a HRRZM.
1271 EGM 18-FEB-81 --------
Allow lower case (d) to generate optimal code and use the previously
defined DDB byte pointer, and fix the position field for all cases that
do not index using (D) or (d).
1272 DAW 19-FEB-81
Certain low-risk extended-addressing changes to FOROPN & FORIO
1273 EDS 19-Feb-81 Q10-04732
Add /RECL to dialog keyword table in FOROPN
1274 EDS 19-Feb-81 Q10-04574
Add TM.ANS to FORPRM for ANSI-ASCII tapes and
add ANSI-ASCII keyword to TAPEMODE table.
1275 DAW 20-Feb-81
Make FORMEM function %GETBK return a whole 30-bit address.
1276 DAW 20-Feb-81
Add MACRO definitions for fields and masks to FORPRM.
Taken from MACSYM: FLD, POINTR.
1277 JLC 23-Feb-81
Added code for 1st performance improvements: precalculated
record size for %IREC.
1300 DAW 24-Feb-81
Get FIN. calls and IOLISTS correct again in DUMP & PDUMP.
1301 JLC 24-Feb-81
Added line sequence number word to DDB.
1302 JLC 24-Feb-81
Added channel arg to LSNGET and FOROP call.
1303 JLC 25-Feb-81
Folded -10 and -20 code for DIREC together, store line
sequence number in DDB.
1304 CKS 25-Feb-81
Update DDB when -20 dialog GTJFN changes device or filename
1305 JLC 26-Feb-81
More on RSIZE, fix RECSIZ
1306 DAW 26-Feb-81
Change %SAVE arg list outputs, affects FOROTS, FORIO, FOROPN, FORFMT.
1307 EDS 26-Feb-81
Put ACCESS back in valid switches for DIALOG.
1310 DAW 26-Feb-81
Full words in DDB for ERR=, END=, IOST=, AVAR= addresses.
1311 CKS 27-Feb-81
Random formatted IO can output more than one record per WRITE
statement. Fix file length setter to know about last record written.
1312 EDS 27-Feb-81
Remove edit 1307 as it causes generation number skew on TOPS-20
with certain combinations of ACCESS in DIALOG different from
the ACCESS that was specified in the OPEN.
1313 JLC 3-Mar-81
Added code to FOROPN for handling magtape op's better.
1314 EDS 4-Mar-81 Q20-01392
Add feature test switch FTNLC1 to allow skipping of column 1 of
NAMELIST input data. Add $END to NAMELIST output.
1315 DAW 5-Mar-81
Set IFIW bit in %LTYPE word so "LDB T1,@LTYPE" works in
a non-zero section. (This is really more of 1306).
1316 JLC 5-Mar-81
Major changes to FOROPN and FORIO for handling TOPS-10 magtapes
and direction switching properly.
1317 DAW 6-Mar-81
Add flag "EXTADD" - INIT% sets to -1 if FOROTS is
running in a non-zero section, for easy testing.
1320 DAW 6-Mar-81
Define feature test switches for type of byte pointer to
use when indexed byte pointers won't do.
1321 DAW 6-Mar-81
Some changes to FORFMT to allow it to run in non-zero section.
1322 JLC 8-Mar-81
More mta fixes
1323 CKS 9-Mar-81
Yet more (-20) MTA fixes
1324 EDS 9-MAR-81 Q20-01396
Fix FORFMT to allow DOLLAR ($) and COLON (:) to work correctly.
1325 JLC 9-Mar-81
Yet more fixes for -10 magtapes
1326 CKS 9-Mar-81
Remove fencepost bug caused by 1257
1327 JLC 10-Mar-81
Minor bug fix in OPEN for -10.
1330 CKS 11-Mar-81
Check for JRST-type entry vector when calling DBMSF
1331 CKS 11-Mar-81
Remove FTGAL2. On -10, try QUEUE. uuo. If that fails, send a
version 2 packet to QUASAR. Requires that FOROTS-10 be
assembled with QSRMAC from Galaxy release 2.
1332 JLC 11-Mar-81
Install dump mode I/O into FORIO.
1333 JLC 11-Mar-81
Magtape fixes (mostly typos) for the -10.
1334 DAW 12-Mar-81
Add macros for dealing with the different types of byte pointers
without seeing a lot of feature test switches in the code.
The macro names are $BLDBP, $LODBP, $STRBP.
1335 EDS 12-Mar-81 Q10-05759
Make TIME use the arguments correctly for -10 and -20. Use
symbols when testing ODCNV% output.
1336 JLC 12-Mar-81
Fix some bugs in binary I/O for the -10. Pointer/count
was not getting updated on the way into the FILOP. Remove
some extraneous saves of the pntr/count. Fix more typos
in the magtape direction switching code for the -10.
1337 JLC 12-Mar-81
Moved MAXARG (number of I/O list elements max) from
FOROTS.MAC to FORPRM.MAC and increased it to 128.
1340 DAW 12-Mar-81
Make FUNCT macro use XMOVEI instead of MOVEI for arg-list ptr.
1341 JLC 13-Mar-81
Make some magtape ops work without a file being open on
1342 EDS 13-Mar-81 Q10-05075
Make FORMSC routines TRACEable, use HELLO macro. Fix
TWOSEG and RELOC problems and fix TITLEs.
1343 DAW 16-Mar-81
Some FORIO extended addressing changes.
1344 CKS 16-Mar-81
Make REWIND to a nonopen tape not be a nop. REWIND of any other unit
that is not open is still a nop.
1345 EDS 16-Mar-81 Q10-04806
Fix ASIN and ACOS library error message.
1346 JLC 16-Mar-81
Modify code for skip file, back file, and clear eof for rewind
1347 DAW 16-Mar-81
To allow list-directed I/O and FLIRT. to run in extended addressing.
1350 EDS 16-Mar-81 Q10-04761
Fix TWOSEGs and RELOCs in random number routines. (FORSNG)
1351 EDS 16-Mar-81 Q10-04786
Fix TWOSEGs and RELOCs in FORDBL, FORCPX, FORMSC and FORPL2.
1352 DAW 17-Mar-81
Recent bug in %ISAVE that caused V5 rel files to stop working with
1353 JLC 18-Mar-81
More magtape op patches for the -10. Empty buffer was confusing
OSWTCH. Installed new code to back over EOF if program reads
to EOF, then writes.
1354 JLC 18-Mar-81
Fix to -10 OSWTCH. Must truncate file to previous block to
prevent monitor from rounding up word count.
1355 CKS 18-Mar-81
Opening a file without a MODE= specification, then doing binary IO,
doesn't work well. Fix more things in UNFSW: the /MODE field in the
DDB, the monitor byte size (20) or data mode (10), and the byte sizes
in the buffer pointers.
1356 JLC 18-Mar-81
Add dump mode write to OSWTCH.
1357 JLC 19-Mar-81
Fix some more bugs in magtape (BAKEOF) for the -10.
Install code to prevent creation of null file for
just a rewind, unload, backfile, or skipfile without
1360 EDS 19-Mar-81 Q10-05866
Add UNIT number range checking to FORIO.
1361 JLC 20-Mar-81
Put -20 null file creation code in IF20. Fix typos in
1362 JLC 23-Mar-81
More magtape fixes, FCNT/FPTR becomes IPTR/ICNT and OPTR/OCNT.
1363 JLC 24-Mar-81
Commented out common tty ddb code in FOROPN. Minor seqinout
fix (missing global). FORIO fixes to error typeout, magtape
1364 CKS 24-Mar-81
In error cleanup, don't RLJFN the JFN if we haven't succeeded in
getting a JFN on the file yet.
1365 JLC 25-Mar-81
Typos in FORPRM and FORIO. Move code in FOROPN to get
device type up slightly so magtape ops will know about it.
1366 JLC 26-Mar-81
Yet more typos in FORIO. Binary I/O was going in wrong direction.
BAKEOF returned garbage in T1, used in backspace. MOPEND did
simulate reading the EOF record.
1367 EGM 26-Mar-81 --------
Update FORSRT to search FORPRM and use FORTRAN feature test switchs.
1370 EDS 26-Mar-81 Q10-04566
Make IMAGE and BINARY mode I/O illegal on TTY device. Fixed
typos in FOROPN.
1371 JLC 27-Mar-81
Make zero-trip do loops work in list-directed I/O
1372 EGM 30-Mar-81 --------
Make OVERFL compatible with verison 5A, and eliminate JSYS conflict
in TIME prologue.
1373 CKS 31-Mar-81
Fix more 20 tape bugs. Write and back over a record when necessary
to convince monitor to write tape marks. Fix unformatted backspace.
Backspace doesn't work at all if file is open for output, so reopen
the file when necessary. Replace SIN/SOUT with SINR/SOUTR so spacing
operations stay in sync with the monitor's buffers.
1374 JLC 31-Mar-81
Replace code to turn off D%END for terminals, was smashing T1,
which contained valuable data.
1375 EDS 31-Mar-81 Q10-05002
Fix FILOP. programming error for CLOSE DISPOSE='RENAME'.
1376 JLC 31-Mar-81
Stop clearing use-bits in backspace to avoid cache-sweep
bugs. Fix OSWTCH-10 bugs regarding null files.
1377 JLC 01-Apr-81
Changed load/store of FLGS to move/movem of FLAGS, since
FLGS was defined to be a full word. Minor edits to UNFO,
to check for empty window at beginning of loop instead
of end. Minor edit to -10 backspace, no need to specify
FILOP read address if we turn on virgin buffer bit.
1400 JLC 02-Apr-81
Typo in FOROPN.MAC, PUSHJ with no "P,".
1401 JLC 03-Apr-81
Put code to clear use bits back, was not causing bugs,
merely masked another problem.
1402 JLC 06-Apr-81
Don't do dump-mode update code for magtape on -10 in
OSWTCH. Move code to suppress next CRLF from OSWTCH to
1403 DAW 06-Apr-81
Get rid of magic number in FORERR that prevents users
from loading FOROTS at places other than 400000.
1404 EGM 6-Apr-81 --------
Seperate CDX and CGX routines, add FTGFL feature test, move
GFLOAT double precision checks into CDX routines under FTGFL.
1405 DAW 6-Apr-81
Modify all math library routines to be able to run in extended
1406 JLC 06-Apr-81
Typo in FOROPN, left in reference to OSW for -10. Minor
bug in FORIO, backspacing beyond block 1 would not work.
1407 JLC 07-Apr-81 QAR 10-05241
Move device-dependent code so that BLOCKSIZE is set up
before buffers are allocated. Requires using device
name rather than channel.
1410 JLC 07-Apr-81
Moved record buffer allocation to FORIO in preparation
for separation of input & output record buffers.
1411 DAW 08-Apr-81
Separate JFN field into IJFN and OJFN. Make ACCEPT
use .PRIIN, TYPE use .PRIOU. OPEN of "TTY:" will also
use the primary input and output JFNs, but if the user has
a logical name definition for TTY:, use the JFN obtained
by the GTJFN on TTY:. When the file is not a TTY file,
IJFN and OJFN will always be the same.
The whole reason for this is so input and output can continue at
your new terminal if you DETACH and re-attach somewhere else.
1412 JLC 09-Apr-81
FORIO - minor fix in DIREC to ignore characters after
the record's size. Fix backspace bug in -20 code,
did not handle fixed-length records correctly.
FOROPN - uncommented the commented-out code to tie
all TTY I/O to the same DDB.
1413 DAW 10-Apr-81
Get rid of flag D%MTOP. FOROTS doesn't need to check
whether or not its doing a magtape operation on every IO
1414 DAW 10-Apr-81
MTOP operations were ignoring ERR=.
1415 DAW 10-Apr-81
Extended addressing fix: Allow args to be in acs.
1416 JLC 10-Apr-81
Dectape rewind and unload. Separation of input and output
1417 DAW 10-Apr-81
Type traceback info for OPEN errors before dialog mode.
1420 JLC 10-Apr-81
Deallocation of separate record buffers.
1421 JLC 10-Apr-81
Typo in edit 1407. DF was not set up when DSKSET was
called, causing RANDOM I/O not to work.
1422 JLC 13-Apr-81
Fixup of separation of record buffers, typos in FORIO.
1423 DAW 13-Apr-81
Put %SETD in FORIO.
1424 JLC 14-Apr-81
Typo in %IRINI made DECODE nonexistent.
1425 BL 14-Apr-81 Q10-05076
Make OVERFL functionality include 'logical function'.
Returns T0=-1 if OVERFLOW=YES, T0=0 if OVERFLOW=NO.
Original functionality unchanged.
1426 JLC 14-Apr-81
Change error reporting in OSWTCH to fatal open errors.
Restore .JBFF in DOOPEN if FILOP fails, caused SORT
1427 JLC 15-Apr-81
Changed RSIZ to be a word in the DDB, so we don't
need flag D%RSIZ, can use SKIPN instead.
1430 JLC 15-Apr-81
Typo in -20 backspace broke it.
1431 BL 16-Apr-81 Q10-05949
Change misleading 'RIB error' message to 'checksum error'
or 'data error'; increase lookup block to include .RBSTS
1432 JLC 16-Apr-81
Routine IALIGN in FORIO to correct fixed-length problem
was trashing a returned AC (T3).
1433 DAW 16-Apr-81
Show possible switches user can type when he gets to
DIALOG mode on the -20 and types a question mark.
1434 DAW 16-Apr-81
Check for READONLY specified and if so, change ACCESS=
'RANDOM' to 'RANDIN', 'SEQINOUT' to 'SEQIN'.
1435 CKS 16-Apr-81
More backspace changes, more of 1412 and 1430
1436 JLC 16-Apr-81
More of edit 1432. Return decremented rec count in IRCNT.
1437 DAW 17-Apr-81
Change FILOP error message 12 from "No such device" to
"Can't OPEN device" -- Open of LPT could cause this.
1440 DAW 17-Apr-81
Some extended addressing support in FORCNV.
1441 JLC 17-Apr-81
Changed all references to D%RSIZ to SKIPN/SKIPE RSIZE(D).
Put back @ in RMAP, removed by mistake.
1442 DAW 17-Apr-81
Remove /LABELS:, /TAPEMODE: from possible DIALOG options
(comment them out).
1443 JLC 17-Apr-81
Stabilize EOFN(D) to be fixed number of bytes in file.
EOF detected by comparing BYTN with EOFN.
1444 JLC 21-Apr-81
Fix bug caused by edit 1443; it was smashing T1.
1445 DAW 21-Apr-81
Rework code around UNFSW to make it more understandable.
1446 DAW 22-Apr-81
Rework NMLST code to not smash P4 in a lower-level routine.
This fixed a bug caused by edit 1440.
1447 CKS 22-Apr-81
Fix various things: Don't destroy critical AC in IALGN, use
legal byte pointer (point to bit 34, not 35) when backing past
the beginning of a word, use correct flag AC in revised UNFSW
1450 JLC 22-Apr-81
Fix DECODE new record code.
1451 JLC 23-Apr-81
Fix dump mode. Must do special things for dump mode files
for mtops, ISWTCH, and OSWTCH.
1452 CKS 23-Apr-81
Set EOFN correctly on 20 on BACKSPACE, REWIND, and CLOSE.
Don't set EOFN after WRITE/REWIND/CLOSE sequence.
1453 JLC 24-Apr-81
Move -10 code to set up bytes/word so that BLOCKSIZE setup
will work. Make dump mode backspace and skiprecord work for
magtape (record = 1 block). Insert if20 end after EOFN setup.
1454 JLC 24-Apr-81 QAR 20-01364
Change EOFN if we switch from formatted to unformatted.
1455 JLC 27-Apr-81
Fix bug in edit 1452, must not set D%LIN/D%LOUT on the way
out of magtape operations.
Remove extra angle brackets from POINTR macro in
FORPRM, was causing MACRO to create Polish string in pass
2 after pooling literals in pass 1; caused hiseg break
to be inaccurate.
1457 CKS 27-Apr-81
Prevent ENDFILE statement from always taking END= branch.
Prevent WRITE/REWIND/CLOSE from writing zero-length file.
1460 JLC 28-Apr-81
Fix bug in edit 1453, made non-dump mode files be dump mode.
1461 JLC 29-Apr-81
Fix return from magtape ops again.
1462 CKS 4-May-81
Fix RENAME to not fail on output-only files
1463 JLC 7-May-81
Change EOFN to be updated on the fly. Removed most code
from ISWTCH. Removed IOSUB hack on the -20. Fix disk
backspace. Speed up %GETIO & DOIO. Remove rewind hack
for both -10 and -20.
1464 DAW 12-May-81
Change error macros ERR, LERR, IOERR; replace "ERRJ" with "$ECALL";
put all error messages (except LERR's) into FORERR.MAC.
Also get rid of $2HAK (won't be needed any longer).
1465 JLC 15-May-81
Major changes to -20 magtape ops and magtape i/o.
Other major changes to ISWTCH/OSWTCH for the -20. Minor
bug fixes for the -10 (mostly from the tape 5 beware file).
1466 CKS 18-May-81
Add TOPS-20 PSI interface
1467 CKS 18-May-81
Replace EXTADD with I.EXT to avoid non-dotted global symbols
1470 CKS 20-May-81 Q20-1360
In floating output, fix incrementing doubleword integer
to propagate carry into high word if necessary
1471 CKS 21-May-81 Q10-5010
Add defensive checks to FORHAK
1472 CKS 21-May-81 Q10-5875
Add PC to ENCODE/DECODE message
1473 CKS 21-May-81 Qvarious
Add flags to IOERR macro, I%REC to print current input record with
arrow under current position, I%FMT to do same for current format.
Add I%REC and I%FMT to appropriate messages.
1474 JLC 22-May-81
Fix a bug in %PTOF, was assuming WSIZ(D) contained words, now
contains bytes. Fix bug in new -20 open code, can't look at
DF before it's set up.
1475 JLC 22-May-81
Another bug in new -20 open code, %GTBLK has no error return.
1476 JLC 26-May-81
More bugs in new I/O code, was looking at EOFN for non-disk
files in unformatted I/O.
1477 JLC 27-May-81
Bug in OSWTCH-10, was not clearing BLKN if writing after EOF.
1500 DAW 27-May-81
Fix edit 1464 - got E error in FORMSC.
1501 JLC 27-May-81
Bugs in random I/O caused by changed calling sequence
1502 JLC 28-May-81
Install defensive WAIT operations in all -20 magtape code.
1503 JLC 28-May-81
Round default magtape blocksize to word boundary, since
that's what the monitor does anyway.
1504 BL 1-JUN-81 Q10-06141
Prevent TRACEBACK default call from displaying itself
1505 JLC 1-Jun-81
Don't do extra backspace in MTAISW. Lots of other backspace
fixes in FORIO.
1506 CKS 2-Jun-81
Add F-77 ELIST and SLIST entries, for now equated to F-66 equivalents
1507 BAH 4-Jun-81
Fix up FORRTF, TOPS10 real time library routine, to work with version 6
1510 BL 4-Jun-81 Q10-06197
Fix IllMemRef bug due to all pages being initialized as existing.
1511 JLC 5-Jun-81
More edits in magtape code for BACKFILE and SKIPFILE.
1512 BL 5-Jun-81 Q10-05829
Fix <crlf> omission when output assigned from DSK to TTY.
1513 BL 8-Jun-81 Q10-06193
Fix no error message writing small file to write-locked yape.
1514 JLC 8-Jun-81 Q20-01392
Fix several NAMELIST bugs (subscript out of range, etc.).
Added some new features, fixed column 1 skip code.
1515 BL 9-Jun-81
Change JRST to CLSERR in EDIT 1513 to PUSHJ.
1516 JLC 10-Jun-81
Another bug in backspace. Also fix end-of-record handling
for unformatted I/O.
1517 BL 18-Jun-81 Q10-05075
Use HELLO macro at CLRDIV (FORMSC)
1520 BL 19-Jun-81 Q10-05485
eliminate CORE UUO which wipes out VMDDT
1521 JLC 26-Jun-81
Fix formatted EOF processing: stop processing the I/O list when
about to get an EOF.
1522 JLC 01-Jul-81
Fix R format output to match R format input for width
larger than 5.
1523 JLC 03-Jul-81
1022 interface in FORMEM, FOROP.
1524 DAW 06-Jul-81
Fix POWER function error message to be shorter so it is not truncated.
In FORSNG EXP3. function.
1525 JLC 07-Jul-81
Fix PAUSE so it types the *, etc.
1526 BL 09-Jul-81
Fixes to FORERR,FORTRP,FOROPN,FORHAK to work on TOPS10.
1527 JLC 09-Jul-81
Fixes to FORMEM.
1530 JLC 10-Jul-81
Change name of FOROTS.EXE to FOROT6.EXE in FORINI. Remove
old EXE file compatibility (V5 is now left FOROTS.EXE).
Changed CTL files and CCL files.
1531 JLC 10-Jul-81
More fixes to FORMEM.
1532 DAW 14-Jul-81
OPEN rewrite base level 1.
1533 DAW 14-Jul-81
Errors that were supposed to print the input record didn't.
Also those errors messed up the message text saved for ERRSNS.
1534 DAW 14-Jul-81
Infinite loop if illegal characters in DIALOG='string'.
Also add code for TOPS-20 "STATUS='SCRATCH'".
1535 JLC 14-Jul-81
Add code for proper EOF handling and IOSTAT.
1536 JLC 15-Jul-81
Minor edits. Changed FORFMT and LDIO/NMLST to call
%ORECS instead of %OREC to setup record buffer.
1537 DAW 16-Jul-81
Finish SCRATCH file handling for TOPS-20. Get CLOSE working
again for TOPS-20.
1540 DAW 17-Jul-81
Delete IS from DDB, use IOSTAT variable directly.
Set IOSTAT variable to zero at the start of each IO statement.
Set D%ERR if "?" error in IOERR.
1541 DAW 17-Jul-81
Get rid of D%LIN and D%LOUT
1542 JLC 17-Jul-81
Change EOF and ERR returning, so that we stop I/O processing
when the EOF or error happens.
1543 DAW 17-Jul-81
Allow SCRATCH files to be on devices besides DSK:
1544 DAW 20-Jul-81
/CARRAIGECONTROL not working right; invent a routine "FIXU"
like FIXDEF that solves the problem.
1545 DAW 20-Jul-81
Remove call to %OCRLF at CLOSE time.
1546 JLC 20-Jul-81
TIREC for -20 did not have an input buffer. DECINI was not
being called in DEC%.
1547 DAW 20-Jul-81
Re-work FORIO routines "CLSOPN" and "CLREOF" which used to
1550 JLC 20-Jul-81
Make truly sure there is a buffer before calling the INI
routines. Fix DECODE. Fix X format.
1551 DAW 20-Jul-81
Fix LOAD, STORE macros to give a "Q" error if you try to
"MOVE" or "MOVEM" a quantity that's not defined to be
a full word.
1552 DMN 21-Jul-81
Performance work on FORFMT.
1553 JLC 22-Jul-81
Fixes to ENCODE, DECODE, and TIREC. Remove ENCINX, was
not used any more.
1554 DAW 22-Jul-81
CLOSE keywords separate from OPEN; work on /DISPOSE actions.
1555 BL 22-Jul-81
Install DMN code for non-zero FORSRT.
1556 DAW 22-Jul-81
CLOSE from EXIT no longer worked.
1557 JLC 24-Jul-81
FLOUT uses double precision for everything. Therefore
print same maximum of significant digits for both.
1560 DAW 28-Jul-81
OPEN rewrite base level 2.
1561 DAW 28-Jul-81
LSNGET always returned -1
1562 DMN 28-Jul-81
Improve performance of FORFMT.
1563 DAW 29-Jul-81
DIALOG='string' lost track of its arg type.
1564 DAW 29-Jul-81
Check conflicts in CLOSE switches; use STATUS value if DISPOSE
1565 DAW 29-Jul-81
Do BLANK= defaulting correctly.
1566 JLC 29-Jul-81
Fix error handling in FORFMT.
1567 JLC 30-Jul-81
More fixes to FORIO.
1570 DAW 30-Jul-81
Add flag F%NION so %IONAM doesn't get cleared in OPEN.
1571 DAW 31-Jul-81
Set F to initial value if program goes to %ABORT.
1572 JLC 31-Jul-81
Set F to initial value in FORTRP before printing error.
Initialize ENCODE more completely.
1573 DAW 31-Jul-81
Do RENAME errors better; eliminate typing random CRLF's when
ERR= branch taken.
1574 BL 3-Aug-81
Missing IF20 in FORIO.
1575 JLC 5-Aug-81
Fix record zeroing again. Fix bug implanted by dir=arr patch.
Fix bad illegal repeat count msg from FORFMT.
Implement separate access bit setting mechanisms for DOOPEN
for the -20, eliminating MTACRK.
1576 DAW 11-Aug-81
OSWTCH for disk.
1577 DAW 11-Aug-81
Fix bug caused by dropping a null at EOR when the
record buffer happens to be full.
1600 DAW 11-Aug-81
In a FORMAT, allow "X" to mean "1X" (as it used to!)
1601 DAW 12-Aug-81
ENDFILE trying to open disk file for input on the -20.
1602 JLC 12-Aug-81
Reinserted suppression of initial CRLF for terminals only.
1603 DAW 12-Aug-81
Don't type statement name more than once when
multiple IOERR's are done.
1604 DAW 12-Aug-81
Yet another problem similar to 1601 (DIVERT this time).
1605 JLC 12-Aug-81
FORFMT was not complaining about (A419X) as ambiguous.
1606 DAW 13-Aug-81
Fix right-justified output for single-word items.
1607 DAW 13-Aug-81
Bug in FIND code (Aaaargh!)
1610 DAW 17-Aug-81
CLOSE/RENAME on the -10 failed
1611 DAW 17-Aug-81
"%integer overflow" bombed out program instead of continuing.
1612 BL 18-Aug-81 Q20-01642
SORT put itself into non-zero section prematurely
1613 JLC 19-Aug-81 Q10-6390
Bug in backspace: used word count for ASCII files.
1614 JLC 19-Aug-81
Remove END= processing for end of last record which has no
CRLF. Thus EOF becomes a valid record terminator.
1615 DAW 19-Aug-81
Get rid of code and assembly option for 2-word byte pointers
1616 DAW 19-Aug-81
Infinite loop if non-disk TOPS-10 OPEN error.
1617 DAW 19-Aug-81 Q10-5204
Problem with DISPOSE='SUBMIT'
1620 DAW 20-Aug-81
Fix generation skew problem in dialog mode on the -20.
1621 DAW 20-Aug-81
CLOSE/ RENAME/ DELETE failed on the -10.
1622 JLC 21-Aug-81
Fix record positioning functions, so that T, X format
really work correctly. Rewrite ENCODE/DECODE again.
1623 DAW 21-Aug-81
Alternate entry point RESET$ to test extended addressing
1624 DAW 21-Aug-81
"?Illegal record number" error got record # from wrong ac.
1625 DAW 21-Aug-81
Get rid of accumulator "DF". No more DDB flag synchronization
problems caused by DDB flags in more than one place!
1626 DAW 24-Aug-81
AC changes in FLIRT and FLOUT so they don't define "D".
1627 JLC/DAW 24-Aug-81
On TOPS-20, REWIND and UNLOAD no longer need a filename
1630 JLC 24-Aug-81
Illegal magtape operations are now fatal.
1631 DAW 24-Aug-81
Set D%MOD in UNFO
1632 JLC 24-Aug-81
Fixed X and T format to pad with spaces, not random trash.
1633 JLC 25-Aug-81
Typo in DECINI, added nofile functionality to ENDFILE,
SKIPFILE, and BACKFILE. Fixed some comments in FORFMT.
1634 JLC 25-Aug-81
Fix FIXREC, did not clear ORVIR, so extra blanks got output.
1635 JLC 25-Aug-81
Remove edit 1633 for ENDFILE, can't work that way.
1636 DAW 25-Aug-81
"Ambiguous repeat count" error instead of "Illegal repeat count"
for FORMAT (A4X).
1637 JLC 26-Aug-81
Decode bug. IRPTR was not getting setup properly.
1640 DAW 26-Aug-81
Use EXTENDED form of GTJFN to insure magtape gets ;FORMAT:F
; The above edit was turned off with "REPEAT 0" since it screwed
;up GTJFN for anything except magtape. When /TAPEMODE works a form
;of it will be used.
1641 DAW 26-Aug-81
OPEN with ACCESS='SEQINOUT', STATUS='NEW' didn't get correct
file on TOPS-20.
1642 JLC 27-Aug-81
Remove %FILOP calls from all of FOROTS, since we don't
1643 JLC 27-Aug-81
Made IRBUF & ORBUF full word byte pntrs.
1644 JLC 27-Aug-81
Fix free-format A to stop on comma. Change R*<space>C to
to be read as R*C, at least for version 6 and maybe beyond.
1645 DAW 28-Aug-81
Get TOPS-10 and DIVERT'ed file to column 1 before errors.
(See also 1651).
1646 DAW 28-Aug-81
DTA REWIND and UNLOAD used wrong channel #.
1647 DAW 28-Aug-81
DTA REWIND and UNLOAD to not require an existing file.
1650 BL 31-Aug-81
Fix RECORDSIZE applied to NAMELIST & LIST directed output
1651 DAW 31-Aug-81
Wait for TTY output to finish before doing TRMOP. ".TOHPS".
(Fixes a bug in 1645).
1652 DAW 1-Sep-81
Fix DUMP mode I/O on TOPS-10; make "IOE" a "?" error.
1653 JLC 1-Sep-81
Return -1 (illegal LSN) for non-LINED files and LINED
files with no LSN.
1654 BL 1-Sep-81
Typo in EDIT 1650.
1655 DAW 1-Sep-81
Clear .RBALC after successful OPEN FILOP.
1656 DAW 2-Sep-81
Get rid of some magic 8's and 9's.
1657 DAW 2-Sep-81
Delete 7.01 definitions from FORPRM.
1660 DAW 3-Sep-81
Use low channels if all the extended ones are taken.
1661 BL 4-Sep-81
Fix incorrect info coming from TRACE; & illegal instruction return.
1662 DAW 4-Sep-81
Invent routine %CALU to make error processing easier.
1663 JLC 8-Sep-81
Output bufferful to magtape to make sure tape mark gets out.
Fix page-not-there error for RANDIN.
1664 DAW 8-Sep-81
Don't call DOOPEN twice if DDB's get consolidated at OPENX.
1665 DAW 8-Sep-81
Replace the antiquated U.TTY hack with a brand new D.TTY hack.
1666 DAW 8-Sep-81
/MODE:IMAGE implies /FORM:UNF. /FORM:F is a conflict.
1667 JLC 8-Sep-81
One-word patch to FORMEM, makes lowseg core request work.
1670 DAW 9-Sep-81
Fix two disk 'append' files open at once.
1671 JLC 9-Sep-81 Q10-6480
Installed patch to create data pages on disk if they won't
fit in core, as per request by SIT.
1672 DAW 9-Sep-81
Missing a check for conflict of RANDOM and no RECORDSIZE.
1673 CDM 9-Sep-81
Added routines to FORSNG, FORDBL, FORGDB, FORCPX.
1674 DAW 9-Sep-81
OPEN of LPT: on the -10 got incorrect "?conflict".
1675 DAW 9-Sep-81
Added checks for device conflicts with modes.
1676 DAW 9-Sep-81
Fix %OCRLF so it always outputs a CRLF and doesn't use "U".
1677 JLC 10-Sep-81
Fixed unmapping of unused pages, missing label in MAKDP.
Use seed and multiplier from version 5A for RAN.
1700 BL 10-Sep-81
1701 JLC 10-Sep-81
Setup was wrong for unmapping unused pages.
1702 JLC 10-Sep-81
Added still more code to handle ref to hole in file.
Added code to prevent expansion of random file on -10
by touching file past EOF.
1703 DAW 11-Sep-81
Fix typing too many CRLF's on an error when TTY file is open.
1704 JLC 11-Sep-81
Fix T-format bug, was padding with one blank if current pos
was desired pos. Typo in -10 RDW routine.
1705 JLC 11-Sep-81
Fix more serious T-format bug, send next char position to
%SPOS instead of decremented one.
1706 DAW 11-Sep-81
Change errors around to make them more compatible with V5A,
more consistant, easier to find in FORERR, easier to create
documentation from the code, and more informative to the user.
1707 JLC 14-Sep-81
Edit 1705 broke %IBACK.
1710 JLC 14-Sep-81
Fix LDIO delimiter bugs.
1711 DAW 15-Sep-81
Set D%ERR if fatal IOERR even if message not typed.
1712 JLC 15-Sep-81
Fixed more problems with T-format. Added IRVIR to FORPRM.
1713 BL 15-Sep-81
Added 'DFL.3' to FORDBL.
1714 JLC 15-Sep-81
Remove check for open unit in DIVERT, since a SEQUENTIAL
file isn't open until you write to it.
1715 DAW 15-Sep-81
If user specified FORM='FORMATTED' and didn't specify a
MODE, he got an ?Internal FOROTS error.
1716 JLC 16-Sep-81
Changed some data and subroutine names in FORIO to avoid
confusion. Fixed typo caused by the confusing names.
1717 DAW 16-Sep-81
1720 JLC 16-Sep-81
Undid edit 1714. It was correct as it stood. Added check to
make sure file is open for formatted I/O.
1721 CDM 16-Sept-81
Corrected DDIM and GDIM to prevent overflow for call -INF,+INF
1722 JLC 16-Sep-81
Code for IRPOS had to be much more complicated than originally
1723 DAW 17-Sep-81
Fix problem with sticky ERR= from OPEN.
1724 BL 17-Sep-81
Clean up IMSL error messages.
1725 DAW 17-Sep-81
Better DIALOG parsing error reporting and recovery on TOPS-10.
1726 JLC 17-Sep-81
Can't use P until there's memory for the stack. Use JSP to
call routine to make data pages.
1727 JLC 18-Sep-81
Fix for low-core memory manager. Free list was one word off.
1730 JLC 18-Sep-81
More fixes to T-format. Speed up format encoding.
1731 DAW 21-Sep-81
Overflows not filling in the right stuff.
1732 DAW 22-Sep-81
OPEN (STATUS='NEW') broken on the -20 (again!).
1733 BL 22-Sep-81
Problem finding beginning of NAMELIST.
1734 DAW 22-Sep-81
OPEN (STATUS='SCRATCH', ACCESS='RANDOM') on the -20.
1735 DAW 22-Sep-81
Make TOPS-20 APPEND disk file get EOF if WRITE followed by READ.
1736 JLC 23-Sep-81
Fix to edit 1733 in namelist.
1737 DAW 23-Sep-81
Fix error processing for "?REREAD not preceeded by READ" error.
1740 DAW 23-Sep-81
More REREAD code.
1741 JLC 23-Sep-81
Give illegal char in data if numerics immediately followed
by alpha (or other trash) for list-directed and namelist I/O.
Fixed low segment memory manager.
1742 JLC 23-Sep-81
Modified OSWTCH to back up the record count for disk, as the
ENDFILE record is now counted as a real record. For magtape,
set it to 1, as we are writing a new file.
1743 DAW 24-Sep-81
Obscure bug in DIALOG scanning caused ?Illegal source/destination"
when you misspelled a switch and then retyped it correctly.
1744 DAW 24-Sep-81
Allow user to OPEN negative units. Note: not documented.
1745 JLC 24-Sep-81
Removed IRPOS again, wasn't necessary after conceptual change
to RIPOS/SIPOS. Fixed code in namelist/ldio for reading "3*,".
Made the input and output record buffer lengths full words, as
well as the input record length. Removed the silly % from the
1746 CDM 25-Sep-81
Simple change to DDIM in FORDBL.
1747 DAW 28-Sep-81
Got rid of FORPRM dependency in DIVERT. Changed FOROP. function
FO$DIV to do all the work, also added FO$GDV (get diverted unit).
Added the recent FOROP. function codes to FORPRM.
1750 DAW 28-Sep-81
Stop after reading in 5 SFDs from DIRECTORY=array.
1751 JLC 28-Sep-81
Fix unformatted backspace again.
1752 DAW 29-Sep-81
Minor fixes to DIALOG processing.
1753 DAW 29-Sep-81
IOERR's and LERR's to type out PC.
1754 DAW 29-Sep-81
Allow negative generation numbers on TOPS-20.
(for example, -1 means "next generation of new file").
1755 DAW 1-Oct-81
Allow user to specify protections <111> in TOPS-10 dialog mode,
as per V5A. (i.e. they can be before or after the Path).
1756 JLC 1-Oct-81
Change memory manager again; TRYHRD now starts at STARTP+1,
minus number of pages desired.
1757 DAW 2-Oct-81
Conflict with /READONLY caused "?Ill mem ref".
1760 JLC 5-Oct-81
Changed elapsed time calc to use system uptime rather
than time-of-day to prevent operator causing negative
elapsed time. Changed FORERR to print 2 decimal places.
1761 JLC 5-Oct-81
Fixed ENDFILE on disk, was not opening file for output,
so EOFN could not get updated, also fell over if UNFSW
1762 DAW 6-Oct-81 Q10-06581
Fix printing of FORMAT with arrow pointing to wrong place.
1763 DAW 7-Oct-81
Fatal error if user tries to WRITE into a LINED file.
It is not supported yet. (in V6).
1764 DAW 7-Oct-81
TOPS-10 MTASET got %Integer divide check, TAPOP. error 3.
1765 DAW 7-Oct-81
Make OPEN error display show the non-typing character that
1766 DAW 7-Oct-81
Don't type error PC flags as part of the PC.
1767 DAW 8-Oct-81
Explain with comments the "magic" number 8 in OVERFL.
1770 DAW 8-Oct-81
If TOPS-10 GALAXY V2 is running, progs that used DISPOSE='PRINT'
would hang in EW state.
1771 DAW 8-Oct-81
Missing /LIMIT code for TOPS-10 GALAXY V2 packet.
1772 DAW 8-Oct-81
TOPS-10 DISPOSE='DELETE' did not release channel.
1773 DAW 8-Oct-81
Change error name "CMU" to "IEM" - internal error in mem. management
1774 DAW 8-Oct-81
Instead of getting "?Unexpected TAPOP. error" for typical
errors, either avoid the error in the first place or
give a better error message.
1775 JLC 9-Oct-81
Fix control-Z. Fix tapop being done when it doesn't need to be.
Fix LSNGET to always return -1 for non-open units.
1776 DAW 9-Oct-81
Allow modes BINARY,IMAGE,DUMP to be used with TOPS-10 NUL:.
1777 DAW 9-Oct-81
Don't do FILOP. "releases" without first doing FILOP. "Closes"
if the file is possibly open.
2000 DAW 9-Oct-81
1. Fix typo that caused PLOT to fail since unit -7 couldn't be
2. Get rid of extraneous, unreachable TOPS-10 code.
2001 JLC 13-Oct-81
At INIHLT, the check to see if the page exists in core
was wrong, was TXNE, should have been CAIN.
2002 DAW 13-Oct-81
OPEN 'TTY' with ACCESS='SEQIN' followed by "TYPE" didn't work.
2003 BL 14-Oct-81 Q10-06574
Change data type "0" from "U" to "I".
2004 DAW 14-Oct-81
Make sure MODE is identical before consolidating DDB's.
2005 JLC 15-Oct-81
Reenter code added. Asks the users whether all files are
to be closed, then goes to user-specified reenter address
or exits to monitor if none. Fixed random file bugs.
On -10: update .RBSIZ so that we don't substitute
a block of zeroes for real data. On -20, keep a record of
the highest referenced page and unmap unused pages.
2006 JLC 15-Oct-81
Control-Z change broke DECODE by meddling with IRCNT, which
should be inviolate before the "device-dependent" call.
2007 JLC 16-Oct-81
Fixed runtime and elapsed time calcs. Make "temp stack"
big enough to survive catastrophies.
2010 JLC 19-Oct-81
Made EOFN and BYTN live on the -10 so we can give QUASAR
an accurate block count.
2011 DAW 19-Oct-81
DOOPEN to store EOFN from the .RBSIZ information. Also
get rid of "FSTAT". Compute number of blocks for QUASAR from
EOFN and BPW.
2012 JLC 19-Oct-81
Changed elapsed time calcs yet again.
2013 DAW 19-Oct-81
Fix TRACE to store "..." at end of string, not into a literal.
2014 AHM/JLC 19-Oct-81
Fix NAMELIST block description and code for extended addressing.
Fix NAMELIST check for illegal subscripts.
Fix unmapping of unused pages not to unmap holes.
Remove useless referencing of all of core in initialization.
Changed FORHAK to refer to Z.ERR instead of F.DATA for 1022.
2015 DAW 20-Oct-81
AC smashed in FORMEM caused problems trying to create .GT. 1
pages when it had to go virtual.
2016 JLC 20-Oct-81
SLIST and ELIST fix to differentiate between -66 and -77
2017 JLC 21-Oct-81
Fix 1022 patch in FORHAK, modify F20OTS.CCL and F10OTS.CCL
to create new PSECT, used only by FORHAK to know the end
of the F.ERR PSECT.
2020 DAW 21-Oct-81
Make DATE return the last character as SPACE instead of NULL,
so it will match a literal generated by the compiler.
2021 JLC 22-Oct-81
Change A format so that if no field width is specified,
it uses 5 or 10 for input as well as output to conform
with the ANSI standard.
2022 DAW 22-Oct-81
Make TOPS-20 error message better when JFNs run out.
2023 DAW 23-Oct-81
GALAXY R2 code didn't delete file if DISPOSE='LIST' used.
2024 DAW 26-Oct-81
ILC is now a fatal error, make it go to "%ABORT" if done.
2025 JLC 26-Oct-81
Fix elapsed time calcs for the -10 yet again. Fixed FORMEM
for 1022 folks.
2026 JLC 27-Oct-81
Fixed RSIZW for LINED files, so they will backspace correctly.
2027 DAW 27-Oct-81
Rework the GALAXY V2 code to use symbolic names, this allows
users in the field who have modified QSRMAC to just reassemble
FOROTS to make /DISPOSE:<queue> work.
2030 JLC 27-Oct-81
Fix SLISTs and ELISTs to use 1 for a count if the count
provided is negative or zero.
2031 DAW 27-Oct-81
Fix smashing AC in FORERR if no symbols loaded.
2032 JLC 29-Oct-81
Fix KI code for DPMUL.
2033 DAW/JLC 15-Nov-81
Make R format pad with spaces instead of nulls as in V5A.
Make fatal error "ILS" go to %ABORT if no ERR= branch.
Give error if random I/O attempted without an OPEN statement
(to specify a RECORDSIZE).
Fix A free format.
Make "Data in Io list but not in format" go to %ABORT.
Change names of some global symbols that didn't have "%" in them.
Make ERR= work with ENCODE/DECODE (again).
Fix call to %MVBLK in FORMEM to use correct calling sequence.
Reset "F" in FOROP call to close all files.
Allow leading spaces in some OPEN args (such as FILE= ).
Fix incorrect call to mem manager in FOROPN.
Don't do XSIR% JSYS unless FOROTS is running in a non-zero section;
otherwise the Release 4 EXEC can get confused.
Fixed problems in REENTER code.
Fix dollar format to make T and X format work correctly
at end of record.
2034 DAW 27-Jan-82 Q10-06696
Fix memory manager to allow overlaid programs to have symbols.
2035 DAW 28-Jan-82 Q10-06649
Exponentiation for Real**Real, sometimes results in an overflow
instead of an underflow message.
2036 DAW 29-Jan-82 Q20-01734
If a user restarts a FORTRAN program after switching to another
teletype on a TOPS-20 system, he may get "?Impossible JSYS
2037 DAW 1-Feb-82
NAMELIST input runs too slow if a large array is read one
element at a time.
2040 DAW 1-Feb-82 10-32080
Fix elapsed time calculation on TOPS-10, wrong after
system uptime becomes greater than 160 hours or so.
2041 DAW 2-Feb-82 Q20-01742
Correct deficiency in TOPS-20 logical name handling that
caused unexpected "?File not found" errors for OPEN/READ
2042 TGS 2-Feb-82 20-17208
Fix several end-of-file routines to change NREC(D) to
NREC(U) so record counts are incremented/decremented
instead of byte counts.
2043 ERD 9-Feb-82 10-32099
Fix to allow leading space in file names on TOPS-10.
2044 ERD 19-Feb-82 10-32143
Fix to correct T editing positioning routines to clear
the end of record bit. (Note: this bit eliminated in V7).
2045 EGM 18-Mar-82 20-17299
Change error ARC (Ambiguous repeat count in FORMAT) from a fatal error
to a continuable warning.
2046 ERD 31-Mar-82 10-32150
Changes to disk positioning routines in TOPS-10 code so that RANDOM
files will no longer be padded to block boundary. Additional code to
take the error path if a READ of IMAGE file, opened in RANDOM mode, is
that of a record number which is larger than the largest record number
This edit has been removed by Edit 2054.
2047 ERD 9-Apr-82 20-17398
Correction to TOOMNY routine. WRITE statements within a subroutine
that contain large I/O lists which include elements that are
not defined within the subroutine, may output garbage for those
I/O list elements outside the subroutine.
2050 ERD 20-Apr-82 10-32326
DUMP mode output on magtape causes "Illegal address in UUO" error.
Code correction so that dump output skips over initial output.
2051 TGS 26-Apr-82 10-32144
Implement expanded FORMAT field widths and field-width range checking
in FORFMT by instituting a double encoding word scheme and expanding
left-parenthesis encoding to 2 words; improve core usage by allocating
an expandable encoding area and, when saving formats, saving only the
core their encoding used. (Note: implemented differently in V7).
FORFMT FORPRM FOROTS
2052 EGM 27-Apr-82 10-32296
Improve memory utilization by adding code to trim the paged memory block
list for a cut back core call. Also improve TOPS-10 memory usage by
removing pages as they are freed, freeing pages from unsuccessful
(incomplete) memory requests, increasing the number of pages that can
be added/removed with one UUO, and preventing undeserved page removal
FORPRM FORMEM F20OTS.CCL DBCS2F.CMD
2053 EGM 28-Apr-82
Prevent overallocation of memory by attempting to use free space at
beginning of block list and allocate new pages contiguous with
start of list. Also preserve PC of allocating routine in block
header in one final place.
2054 ERD 7-May-82
Remove Edit 2046 because the edit sometimes updated the filesize
of random files before the block was actually written out
causing some READs to fail if the READ was attempted before
the file was closed.
2055 TGS 10-May-82 10-32471
Fix typo in CDLOG so STOR routine POPJs instead of POPing P
and plowing into YZRO.
2056 ERD 20-May-82 10-32496
Changes to disk positioning routines in TOPS-10 code so
that RANDOM files are no longer padded to the block
Changes that allow READ of RANDOM IMAGE mode files to take
the error path if the record number being read is larger
that the largest record number previously written.
(Note: implemented differently in V7).
2057 TGS 25-May-82 20-17764
Addition to Edit 2051 to clear the second encoding word during
NAMELIST and list-directed IO.
2060 ERD 28-May-82 10-32396
Change Error Message CDI 31,315, to a more general message
so the message that is output is correct for all cases.
(Note: error message changed back and made correct in V7).
2061 EDS 1-Jun-82 10-32547
Registers restored in the incorrect order in FORLIB routine TIME.
2062 EDS 7-Jun-82 20-17675
When files with extension "DAT" are sent to the printer via
DISPOSE = 'LIST' or 'PRINT', the first character of each record
is not used for carriage control. The queue requests need to
include the argument block for '/FILE:FORTRAN'.
2063 ERD 10-Jun-82 10-32514
Error message "?Incompatible attributes" outputs junk as part
of the message on TOPS-10.
(Note: error reporting redone for V7).
2064 EDS 10-Jun-82 10-32539
Create files for STATUS='SCRATCH' using the standard naming
convention for TOPS-10. File names will now be nnnccc.TMP,
where nnn is the job number and ccc are random letters.
***** Begin Version 7 *****
** Edit numbers 3000 through 3777 are reserved for FOROTS
version 7 development. **
3000 CDM 19-Oct-81
Added ADJC1. and ADJCG. to FORMSC.
3001 AHM 22-Oct-81
Make ADJ1. and ADJG. work under extended addressing. Also,
redefine array dimension field from 777B8 to 177B8 so that array
bounds checking blocks in section 0 will hopefully look more
like the final version to be redefined for extended addressing.
Finally, create a PROTA. entry point which is the same as PROAR.
for now to match the symbol that FORTRA 7(1250) requests.
3002 JLC 23-Oct-81
Add character I/O to ALPHI and ALPHO. EVerything else will
hopefully fall out. NOT intended to make SLISTs or ELISTs
3003 JLC 26-Oct-81
Add fatal error message if character I/O is done to an
unformatted file - not supported yet.
3004 JLC 27-Oct-81
Fix ALPHI for character variables: was not blank-filling.
3005 AHM 28-Oct-81
Make %SAVE relocate arg block AC references properly by changing
"1,,ACn" produced by XMOVEI 0,@[IFIW ACn] into plain old "ACn".
3006 AHM/JLC 29-Oct-81
When storing the indefinite repeat pointer (%FMRPT) in LPRENC,
use an XMOVEI to generate a global address.
3007 AHM 1-Nov-81
Make lots of FUNCT calls on IN., OUT. and IOLST. use the V6 (key
field) calling sequence, make all the immediate arguments use
a literal in memory, make all the addresses in the arg blocks use
3010 JLC 2-Nov-81
Merged edit from V6 for FORCNV.
3011 AHM 3-Nov-81
Put CPRINT into a separate module in FORCHR.
3012 JLC 4-Nov-81
Rework of FOROTS call copier to resolve args in ACs, immediates,
and indexed refs before getting to FORIO or FOROPN. Fix SLIST
for character I/O. Fix exteneded addressing bug in SMAPW.
Modules: FORIO, FOROTS, FORCNV, FORFMT, FOROPN
3013 AHM 4-Nov-81
Define Lxy. to be the same as CH.xy. until CH.xy. is removed from
3014 JLC 5-Nov-81
Fixed more bugs in SLIST and free-format A.
Modules: FORIO, FORFMT
3015 AHM 7-Nov-81
DIALOG with zero address comes out as 1,,0 when produced by the XMOVEI
at OPNDIA and was thus not seen as zero.
3016 JLC 9-Nov-81
Fix immediate-mode zeroes to come out right, fix IOGO to check
for immediate-mode constant to decide it's list-directed, OPNDIA
to check for immediate-mode to decide if it has a string.
Fix complex formatted I/O. Fix ELISTs.
Modules: FORIO, FOROTS, FOROPN, FORFMT
3017 AHM 6-Nov-81
Make NAMELIST I/O assume that the address of the NAMELIST block
was specified by an immediate argument.
3020 AHM 10-Nov-81
Mend fencepost at UIZERO in FORIO which cleared one location too many
in the user's array with an XBLT.
3021 JLC 10-Nov-81
Fix bad call to %MVBLK within low segment memory manager.
NOTE: FIXED IN V6, EDIT 2031.
3022 AHM 10-Nov-81
Change some MOVEIs to XMOVEIs in the magtape backspace code so that
the pointer into the window is calculated correctly.
3023 JLC 15-Nov-81
V6 patches: leading blanks in OPEN parameters, no consolidation
of NUL: DDBs, bad call to %FREPGS in CLOSE, illegal subscript in
NAMELIST input, TTY: response to DIALOG for file not found,
%ABORT call for data with no repeatable edit descriptors.
Modules: FOROPN, FORFMT, FORCNV
3024 CDM 17-Nov-81
Make REAL. take integer arguments instead of complex. Original
definition is now named REAL.C and REAL. is equated with FLOAT.
Modules: FORCPX, FORSNG
3025 AHM 18-Nov-81
Fix a bug in the trailing space edit to DATE (2020) that I introduced
when merging it into the V7 sources, and change two MOVEIs to XMOVEIs
for extended addressing support for good measure.
3026 JLC 24-Nov-81
Make normal vanilla FORDDT and FUNCT calls work by NOT copying
the argument block.
Modules: FOROTS, FORMEM
3027 JLC 30-Nov-81
Added fix for symbol table problem. This will eventually have
a V6 edit number.
3030 AHM 4-Dec-81
Revoke edit 3022 (q.v.) and instead make all references treat WADR(D)
as the local (not global) address of the beginning of a file's window.
Also make code after two calls to %GTBLK in FOROPN store an 18 bit
address into WADR(D).
Modules: FORIO, FOROPN
3031 JLC 11-Dec-81
Modify format encoder to get format size from word before format
if there is no size in the arg block (i.e., if the address containing
the value is zero).
3032 AHM 11-Dec-81
Define CHAR and LEN functions, and delete CH.xy. aliases for Lxy.
character relational functions, since the CH.xy. forms are no longer
produced by the compiler.
3033 AHM 14-Dec-81
Check for indexing and indirection in %SAVE when checking for AC
references so that an address field in an argument of the form
<small_integer>(<index_register>) is not relocated to U.ACS
3034 TFV 5-Jan-82
Add routines CHSFN. and CHSFC. to FORCHR.MAC for character
statement functions. They save and restore the AC's A character
statement function is turned into either a call to CHSFN. (the
subroutine form of CHASN.) or a call to CHSFC. (the subroutine
form of CONCA.). CHSFC. is used if the character expression
has concatenations at its top level, CHSFN. is used for all
other character expressions. Also fix CONCA. and CHASN. so they
don't save and restore the AC's since they are also subroutine
subprograms. Also rework FORCHR.MAC so that it uses the HELLO
and GOODBYE macros, has the right copyright notices, and
PRGEND's. This will make it compatible with the rest of the
3035 JLC 29-Jan-82
FOROT6 becomes FOROT7. Integration of binary I/O of character
data, new way of looking at all files, installation of internal
files. Major modifications to nearly all files in FOROTS.
3036 BL 10-Feb-82
Inserted code for list-directed character I/O.
3037 JLC 11-Feb-82
Fixed dump mode I/O, added list overflow message.
Made all magtape errors fatal (some were warnings), removed
ERRN from DDB, as it was useless.
3040 JLC 11-Feb-82
Make 0 print out as 00000000E+00, as the ANSI Standard says so.
3041 JLC 11-Feb-82
Fix binary/char I/O, broken by mask table with missing commas.
3042 JLC 12-Feb-82
Fix ordinary binary I/O, broken by call to UOALIN
3043 JLC 18-Feb-82
Fix internal files. Total length count was wrong.
3044 BL 19-Feb-82
Put NLCPTR in DATA where it belongs. Initialize properly in
3045 BL 23-Feb-82
Really initialize properly. see #3044.
3046 JLC 24-Feb-82
Fix PAGCHK, was looking at wrong page to unmap it. Also
did the wrong thing for extended addressing.
3047 JLC 25-Feb-82
Get around bug in one-word-global microcode bug, always
use a non-zero source count. Fix dump mode I/O again.
3050 BL 25-Feb-82
Install changes to NAMELIST/LIST-DIRECTED character I/O
from code review
3051 JLC 26-Feb-82
Set BUFFERCOUNT on TOPS-10 magtapes to 1 no matter what,
since PULSAR does not work when doing backspace.
3052 AHM 12-Mar-82
Make PROAR. in FORMSC work for extended addressing by widening
the flag field in the dimension block to the upper 4 bits.
Delete the PROTA. entry point since it is not needed for
extended addressing after all.
3053 AHM 12-Mar-82
Defined temporary TWOSEG and RELOC macros under a FTXLIB
feature test that expand to .PSECT and .ENDPS pseudo ops for
psects .CODE. and .DATA. for extended addressing development.
3054 JLC 17-Mar-82
Fixed FOROTS so it doesn't smash the constant -6 when doing
3055 CKS/JLC 17-Mar-82
Fix DEXP2 and GEXP2 to give correct overflow/underflow messages.
3056 JLC 23-Mar-82
Implemented 2-word encoded formats. Implemented packing of
character data in image mode files across READ/WRITE statements
if no RECORDSIZE. Range-check field widths in format statements.
Implemented new lowseg/hiseg dispatch routine which will work
for extended addressing and eliminates both the obnoxious
POP P,T1 at each entry point and many calls to %FSAVE, since
the ACs are now saved in the lowseg.
Catch illegal arguments in OPEN (such as RECORDSIZE=0). Catch
character variables with other than A or G format. Catch I/O
within I/O. Close all unopened files at exit. Remove OTS symbol
search in TRACE to avoid FORHAK as symbol. Start TRACE at user's
stack pntr. Make TRACE work in extended addressing. Fix TTY EOF
for multiline input. Give warning messages for floating underflow
and overflow in FLIRT. Changed some error message numbers.
Separated FORCNV and FORNML (namelist and list-directed I/O).
3057 JLC 25-Mar-82
Fix namelist/list-directed I/O by clearing the 2nd encoded format
word to do free-format I/O.
3060 JLC 25-Mar-82
Remove RELEA. from entry vector. Replace it with EXIT1.
3061 JLC 25-Mar-82
Catch Hollerith and quoted string input to character formats,
now fatal. Fix format encoder so it can't get PDL overflow.
3062 JLC 25-Mar-82
Change error entry in FOROTS vector table to point to AC save
3063 BL 26-Mar-82
Insert NAMELIST character I/O code.
3064 JLC 26-Mar-82
Install new range-checking logic for formatted I/O. Remove
a couple of unused messages.
3065 JLC 26-Mar-82
Fix the format encoder to drop relative addresses for links
and repeat pointer, as the encoded format is moved after it
3066 RVM 27-Mar-82
Fix ADJ1., ADJG., ADJC1., and ADJCG. to not calculate the size
of assumed-size arrays.
3067 TFV 5-Mar-82
Add routine CONCM. to do concatenations with a known maximum
length. It will check the length of the result and give an
error if the specified maximum is exceeded. Finally write
CONCL. to compute the length of concatenations. It fills in the
length in characters into the first argument descriptor (the
descriptor for the result) and returns the length in words in
3070 TFV 24-Mar-82
Rework the algorithms for the concatenation routines to speed
them up. Add register declarations. Cleanup other routines as
needed. Reorder the routines to be functionally grouped.
3071 BL 30-Mar-82
Install missing TWOSEG 400000 pseudo-ops in FORCHR.MAC.
3072 JLC 30-Mar-82
Fixed CLOSE for image mode character to round up correctly.
3073 JLC 31-Mar-82
Change error entry code so that user's ACs are not saved; they
are saved in the error routine. Remove RELEAS from FORLIB.
3074 BL 31-Mar-82
Cleanup NAMELIST character I/O stuff.
3075 JLC 31-Mar-82
Fix underflow/overflow messages in FLIRT/INTI.
3076 CDM 1-Apr-82
Do argument fixup for character word alligned constants as
arguments to SORT.
3077 JLC 5-Apr-82
Fix formatted I/O: make links and indef repeat pointer calcs
3100 JLC 5-Apr-82
Fixed error msg file so it is V6-compatible again. Added
a couple of externals.
3101 JLC 5-Apr-82
Modified lowseg/hiseg interface - the address of the user's
ACs (U.ACS) is now passed to INIT. in F.
3102 JLC 7-Apr-82
Fix /OTS:NONSHAR, was doing JRST 0. Slightly modify the passing
the RESET. return address - PDL is now in the lowseg.
3103 JLC 8-Apr-82
More minor changes to lowseg/hiseg interface.
3104 JLC 8-Apr-82
Word-alignment of input was incorrect.
3105 JLC 9-Apr-82
Fix $L in error messages for programs without symbol tables.
Fix dump-mode I/O to leave properly via %SETAV.
Fix FOROTS to get correct program start address.
3106 BL 12-Apr-82
Fix FORNML so it will handle substrings of character scalars.
3107 JLC 12-Apr-82
Disallow PA1050 - RESET% was in the wrong place, reset the
monitor to allow PA1050.
3110 JLC 14-Apr-82
Undo edit 3107 - it was a release 5 monitor bug.
3111 JLC 15-Apr-82
Fix bad error message, was getting unit # with LOAD, which
does not sign-extend.
3112 BL 15-Apr-82
Change SKIPN to SKIPE in FORNML.
3113 JLC 22-Apr-82
Fix binary I/O of character data - OWORD was calling ONXTW
with a non-zero byte count.
3114 BL 29-Apr-82
Make character expressions work in OPEN statements.
3115 BL 13-May-82
Correct omissions of 3114.
3116 BL 14-May-82
Move label DIANST up one line
3117 BL 14-May-82
Changed HLRE to HXRE in CNSCHK to get correct unit number
in SDO error.
3120 BL 19-MAY-82
Ensure no delimiters after LD character output
3121 AHM 24-May-82
Make PLOT.A search FORPRM.
3122 JLC 28-May-82
Integration of MATHLIB, rewrite of much of FORERR, FILE=
almost the same as DIALOG=, character stack.
3123 JLC 29-May-82
Fixed SMBA in FOROPN.
3124 AHM 1-Jun-82
Added SEGMENT macros to FORDUM, FORMSC, FORSRT and FORPSE so
that everything goes into the .CODE. and .DATA. psects under
FTPSCT. Changed a RELOC to a .ORG in FOROTS so that compiling
under psects is safer. Finally, preserved AC1 around a PSOUT
in FDDT. under Tops-20.
Module: FORDUM, FORMSC, FOROTS, FORPSE, FORSRT
3125 JLC 3-Jun-82
Moved the AC save routine back into the hiseg, now called
%SAVAC, saves the ACs on the stack.
3126 JLC 7-Jun-82
Installed OPEN on a "connected unit". Fixed some code which flowed
across SEGMENT macros.
3127 AHM 8-Jun-82
Remove temporary TWOSEG and RELOC macros created by edit 3053
from FORPRM because edit 3122 put SEGMENT macros in FORLIB.
3130 TFV 9-Jun-82
Modify FORCHR for dynamic concatenations. Make CHALC% be an
internal routine used to allocate dynamic character space.
Modify CONCA., CHASN., and CONCD. to use CHALC% to allocate
dynamic character space. Also add calls to CHMRK. and CHUNW. in
CONCA. and CHASN. for the overlap case.
3131 JLC 11-Jun-82
Allow character argument for ERRSNS string return. Fix Iw.d.
Put $SNH for non-skip return from LSFREE call in symbol table
stuff in F.GAD function. Install more legal delimiters in
namelist end of data check, namely "=" and "(", for abortive
call to %LINT. Make elapsed time calc more accurate.
Modules: FORFMT, FORMEM, FORMSC, FORNML, FOROTS, FORXIT
3132 CKS 11-Jun-82
Add PROSB. to do substring bounds checking.
3133 BL 16-Jun-82
Code review changes to FORNML.
3134 AHM 22-Jun-82
Make the FUNCT% dispatch table contain IFIWs.
3135 AHM 23-Jun-82
Fix bugs that occur when running in a non-zero section. Make
BLTUP a zero trip loop to avoid PDL overflows. Get 30 bit
addresses for .JBFF and EOL.
3136 JLC 26-Jun-82
Performance work, V6 bug fixes, QAR fixes.
3137 AHM 1-Jul-82
Development patches for running entirely in a non-zero section
for V8. If .JBSA in RESET.'s section contains 0, synthesize
reasonable numbers to put in JOBDAT for the current section.
Do XGVEC% and XSVEC% to save and restore the program's entry
vector. Set up a global stack pointer when running in a
non-zero section. Don't pass the address of AU.ACS to INIT.
in F, since it isn't used any more.
Modules: FORINI, FORMEM
3140 JLC 2-Jul-82
Bug fixes for base level.
3141 JLC 2-Jul-82
Code at end of %EOREC was not restoring things properly.
3142 AHM 3-Jul-82
Install PRGEND in FFUNIT
3143 AHM 6-Jul-82
Correct AC field of the XBLT at ALPBLT-3L that sets extended
hollerith arrays to spaces before doing input.
3144 AHM 6-Jul-82
Mend fencepost at ALPBLT-3L which cleared one location too
many in the user's array with an XBLT.
3145 AHM 8-Jul-82
Mend fencepost after CHRCLR which cleared one location too
many in the dynamic character stack array with an XBLT. Also,
remove a dot by changing a MOVE to an XMOVEI to evaluate the
destination address for the XBLT.
3146 AHM 8-Jul-82
Put the RESET% following the call to %MEMINI under IF20 so
that we can build on the -10.
3147 AHM 8-Jul-82
Fix GETPC so that it doesn't die trying to evaluate the jump
address of PUSHJs and overlay calls. Merely setting the sign
bit on a word that has bit 1 set (such as the PUSHJ
instruction) resulted in a type 3 indirect word that causes an
ill mem ref. Bit 0 must be set and bit 1 must be cleared.
3150 JLC 12-Jul-82
Fix input of fixed-length random records so it checks for
record not written. Fix several bugs in OPEN on TOPS-10.
Fix LDIO so it uses %GINTO instead of %INTO so it gets
zero output correctly.
3151 AHM 13-Jul-82
Add a whole new ADRCHK for Tops-20 that decides whether or not
a PC is believable by checking whether it refers to an
existing section. Also, preserve section numbers in GETPC.
3152 JLC 14-Jul-82
Fix AC save restore problem in FORIO.
3153 JLC 20-Jul-82
Fixed -10 problem caused by new EOF handling of RANDOM files.
3154 JLC 20-Jul-82
Fix G-float input.
Modules: FORNML, FORCNV
3155 AHM 19-Jul-82
Remove a lot of code that discards section numbers around
ADDPCM, TRACEL and SYMSRH. Also, make ADRCHK punt on section
numbers that are greater than 37.
3156 AHM 22-Jul-82
Don't do XGVEC% and XSVEC% unless we are running in a non-zero
section so that we can run UNDER Tops-20 release 4.1 on a KS.
Also, do private OPDEFs of PDVOP%, XGVEC% and XSVEC% so that
FORINI will assemble with release 4.1 MONSYM.
3157 BL 9-Aug-82
Fix backspace bug. When backspacing to beginning of binary
sequential file, if the desired record was entirely within
the previous window, UNFBSR attempted to PMAP the previous
BUFCNT pages, whether or not they were in fact real pages
within the file.
3160 BL 9-Aug-82
Made separate modules of FORDBM & FORDST to make building
the OTS more straightforward.
3161 JLC 20-Jul-82
Fixed some extended addressing bugs for ENCODE/DECODE by
adjusting the byte pointer separately rather than relying
on the updated one provided by MOVSLJ, which ends up
being 2-word on the KL. Installed V7 version of TSG patch
for record numbers bigger than a half-word. Coded around
microcode bug which pads incorrectly with 0 as byte pntr/count.
Fix %IBYTC for null records not to do LDB. Fixed ERRSNS so it
returns "No error" if the ERRSNS values are 0. Fixed flushing
of the buffer for %OCRLF on the -10.
3162 AHM 23-Aug-82
Make the Tops-20 ADRCHK light FH%EPR when running in a
non-zero section so that addresses getting checked don't have
section 0 interpreted as "our section".
3163 AHM 24-Aug-82
Make FAKJBD a little more paranoid about blamming the location
that 770001 references with a symbol table pointer by checking
770000 for JRST 770002 ala EXEC and OVRLAY. Use section
defaulting in RPACS% calls. Don't zero left half of .JBREN.
3164 BL 27-Aug-82
NAMELIST bug...DECRP (FORNML) was not resetting input string count
(NLSWRD). Sometimes resulted in incorrect input string byte
3165 JLC 28-Aug-82
Bug fixes (many). In FORIO, make random I/O so it can access
files larger than 256K blocks. In FORERR, recode the error
record typout routine. Smaller bugs elsewhere.
3166 JLC 30-Aug-82
Fix APPEND bug, was setting window size to 3 words. Make
APPEND use PMAP again for disk (open file RANDOM). For the
-10, search QSRMC2, as QSRMAC is now GALAXY 4.1.
3167 JLC 31-Aug-82
Remove %SPEOL, as it accomplished nothing.
3170 AHM 1-Sep-82
Fix bug in edit 3165. Remove index field from reference to
WPAGE at RECTPG to avoid ?Illegal memory READs in section 1.
3171 JLC 1-Sep-82
Fix random I/O and error message typout on the -10, both
due to typos. Fix integer input, as SPR fix broke it.
3172 JLC 2-Sep-82
Fix random I/O on the -10, error messages without symbol table.
3173 JLC 3-Sep-82
Another fix to -10 random I/O, was not calculating when to
truncate block correctly, was not saving .RBSIZ when it
should have been.
3174 JLC 4-Sep-82
Fix TTY input on the -10.
3175 JLC 8-Sep-82
Fix SAVFMT. Make OPEN on connected unit only work if STATUS='OLD'.
3176 JLC 9-Sep-82
Install disk quota exceeded trap.
3177 BL 14-Sep-82
Patch in FORINI to store DBMS entry vector at .JBBLT.
3200 JLC 26-Sep-82
Fix many bugs in many modules, including I/O within I/O message.
Install hooks for marking pages used by DBMS and SORT.
3201 JLC 4-Oct-82
Move unit range code before I/O within I/O check. Add SPR patch
to -10 rename so files in SFDs can be renamed. Install kluge in
GETPC to prevent tracing the arg list for those few MTHCPX routines
which have 16 pointing at the argument itself.
3202 JLC 26-Oct-82
Fixed many, many bugs, and implemented low-level support for
ANSI magtapes (so they'll at least be somewhat compatible with
V5A). Mark pages taken by DBMS so that FOROTS won't use them.
3203 AHM 1-Nov-82
Define a lot more FUNCT. codes for use outside of FOROTS.
3204 AHM 1-Nov-82
Save and restore AC+2 and AC+5 of the AC block used by the
CMPSxy instruction in COMPAR in RELAT. They are smashed
during interrupts when using one word global byte pointers.
3205 AHM 1-Nov-82
Merge extended addressing FORSRT into the library. Use FORPRM
symbols. Use $FCALL for TMA, CGP, CRP, NSS, CFS, CGS errors.
Fix bad PDVOP%. Move %SRTAD to FORINI so that we can restart
SORT. Replace private $ERROR macro with $FCALL. Redo edit
3076 to support variable numbers of arguments, one word global
byte pointers and multiple sections of code. Requires edit
476 to SORT. Call MPG FUNCT. function before getsegging SORT
on both systems and call UPG function after discarding it on
Tops-10 to avoid problem of overlapping the FOROTS heap (same
intent as edit 6(2121)).
Modules: FORINI, FORMSC, FORSRT
3206 CDM 5-Nov-82
Make DATE and TIME accept character arguments.
3207 BL 8-Nov-82
Bring DBASE & %DBMAD outside of IF20, so FORDBM will compile on TOPS10.
3210 PLB 9-Nov-82
Add CAXIS subroutine to FORPL1.FOR, Make SYMBOL accept character
or numeric string args.
3211 AHM 11-Nov-82
Fix alternate return for bad args in CHKPGA. Insert missing
AC field in SKIPN in F.GPSI. Speed up some other code.
3212 JLC 11-Nov-82
Update and consolidate -20 magtape code so that B36FLG(D) controls
whether formatted or unformatted I/O is done. Fix unformatted
I/O routines for mixed-mode files.
3213 JLC 12-Nov-82
More consolidation, minor bug fixes.
3214 BL 12-Nov-82
Merge in EDIT 2124 from V6A...
This edit supersedes edit 2063. Ensure that calls to FRSISW errors
always pass SIXBIT strings for keywords and key values on TOPS10 only.
3215 JLC 15-Nov-82
Fix magtape bugs, typos in FORIO and FOROPN.
3216 JLC 16-Nov-82
Fix XSIR setup to use 30-bit addresses. Fix some magtape bugs,
bytesize in disk CLOSE, diverted error messages.
3217 PLB 17-Nov-82
Remove hacks checking the sign of P to determine if we
are in a non-zero section; Check %FSECT for non-zero-ness.
3220 AHM 18-Nov-82
Remove more stack pointer sign check hacks.
3221 JLC 18-Nov-82
Fix some magtape bugs, typos.
3222 JLC 19-Nov-82
More magtape fixes, DBMS AC fix.
3223 JLC 22-Nov-82
Fix more backspace bugs on the -10, error output bugs on
3224 AHM 22-Nov-82
Reverse the sense of a test in one of the premature
optimizations in edit 3211.
3225 JLC 24-Nov-82
Fix yet more magtape bugs. Type nulls as nulls, since they will
appear more often in V7. Fix I/O within I/O reporting, as well
as TRACE called from an APR trap.
3226 JLC 29-Nov-82
Fix various little bugs, in DBMS, magtape append, QUEUE UUO.
3227 JLC 8-Dec-82
Fix more little bugs in many modules.
3230 RJD 9-Dec-82
STATUS/DISPOSE changes from V6.
3231 JLC 14-Dec-82
More little bug-fixes from internally and QARs.
3232 AHM 14-Dec-82
Fix test for extra args to copy before ARGLOP in Tops-20 code
and NOTCHR in Tops-10 code - MOVNI doesn't sign extend the EA.
3233 AHM/JLC 14-Dec-82
Fix extended addressing bug.
3234 JLC 16-Dec-82
Changed $DBNON to %DBNON, "$" is reserved for customers.
3235 AHM 16-Dec-82
Fix ACs for entry vector JSYS call around code to GET% FOROTS.
3236 JLC 17-Dec-82
Move setup of .JBBLT with JRST FUNCT to FORMEM.
3237 JLC 18-Dec-82
Fixed yet another bug in ENFILL.
3240 JLC 20-Dec-82
Removed ENFILL in FORIO, as it caused innumerable bugs and
could not run in extended addressing.
3241 JLC 21-Dec-82
Put PORTAL instruction at RESET.
3242 AHM 28-Dec-82
Rework AOBJN loops in CONCM., CONCD., OVRLP%, CLR35% and CONC%
so that character manipulation works with multiple sections of
code. Also, change the CHADDR macro in OVRLP% so that it
handles OWGBPs and section local byte pointers. Finally,
make SAVAC%/RESAC% work in non-zero sections.
3243 AHM 29-Dec-82 QAR 10-03062
Make COMPAR check for lengths with 777B8 non-zero as well as
zero lengths so that ?FRSICE is printed instead of ?Illegal
instruction at user PC.
3244 JLC 30-Dec-82
New DBMS interface again. Now FORDST contains all the relevant
files, including a .REQUEST for SYS:DBMS.REL, only LINKed when
it is a DBMS program.
3245 JLC 4-Jan-82
Fix DBMS interface. Eject DBMS from FOROTS and FORLIB.
3246 JLC 5-Jan-83
Make RESET. and RESET$ equates rather than PORTALs.
3247 RJD 7-Jan-83
Add ERJMPs after PMAP calls used to set up the file windows
for sequential and random files.
3250 JLC 7-Jan-83
Fix TRACE stack and AC restore problems. Fix SAVFMT to pay
attention to number of args. Remove obsolete FOROP call
before product release. Fix -20 DOOPEN to use GJ%OLD again.
Added code to list-directed I/O for Hollerith constants.
3251 JLC 9-Jan-83
Fixed several typos: ORCNT instead of IRCNT in FORIO, E.TR1
instead of E.TRC in FORERR, missing symbol in FOROPN.
3252 JLC 12-Jan-83
Fix %SKIP in FORCNV. Fix rename error msg reporting.
Add some FENTRYs.
3253 JLC 13-Jan-83
Code review changes, fix KSORT for -10, fix EXIT1 to clear
3254 CKS 13-Jan-83
Do not set up location 75 on TOPS-20. This makes FOROTS symbols
invisible to DDT unless location 75 is manually set to the first
page of FOROTS.
3255 BCM 13-Jan-83
Make FORRTF not lock programs in EVM.
3256 JLC 14-Jan-83
Fix TRACE so it saves and restores GETPC return PC. Fix CLOSE
so it saves DDB addr in UDB so $F can find it. Fix FDBML5 and
FDBML6 so the DBMS not loaded msg is in the hiseg.
3257 AHM 14-Jan-83
Fix DUMP and PDUMP - FUNCT macro made OTSZERWRD I/O list
elements non-zero, FIN word was in wrong half of an I/O list,
change positional OUT. argument lists to keyword form, correct
change in carriage control semantics between V6 and V7.
3260 JLC 17-Jan-83
Fix error handler to print positive PC offsets from library
warnings, and TRACE thereby called not to put a PC on every
line. Make KSORT an EXTERN on -10 in FORINI.
3261 RVM 4-Feb-83
Make CHASN. and CONCA. save and restore AC's. Originally, it
was thought these routines did not need to save AC's as calls
to these routines were treated as subroutine calls by the
compiler. But, the compiler did not realize that a FUNCTION
subprogram should save its AC's if it contained calls to these
***** End Revision History *****