Trailing-Edge
-
PDP-10 Archives
-
BB-D480G-SB_FORTRAN10_V11.0_short
-
forhst.mac
There are 23 other files named forhst.mac in the archive. Click here to see a list.
SEARCH MTHPRM,FORPRM
TV FORHST Fortran object time system, 11(5026)
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1981, 1987
;ALL RIGHTS RESERVED.
;
;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
;TRANSFERRED.
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
COMMENT \
***** Begin Revision History *****
1100 CKS 12-MAR-79
New
1101 CKS 20-Mar-80
Only give truncated-record warning once per unit
1102 CKS 20-Mar-80
Implement DISP=SUBMIT
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
synonym units.
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
MACRO bug
1112 CKS 17-Apr-80
Correct off-by-1 bug in filename move, results in an extra char used
in filename
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
wrong behavior
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
calculation.
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
code
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
Fix IOSTAT
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
get done
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
ENCODE/DECODE too
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
I/O.
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
FOROTS.
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
OBCNT.
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
record buffer.
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
SKIP RECORD
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
handler
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
in FORPRM.
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
the -10.
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
V6 FOROTS.
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
an OPEN.
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
FORIO.
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
ops.
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
%IREC.
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
sections.
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
statement.
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
record buffers.
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
to fail.
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.
1456 PY/JLC
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
in FORLIB
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
for MAPW.
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
memory management.
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
call %AUXBF.
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
not set.
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
in FOROTS.
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
support 6.03.
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
Typo FORTRP/%CALU.
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.
Eliminated D%ERR.
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
Implement D%NCLS.
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
to them.
1722 JLC 16-Sep-81
Code for IRPOS had to be much more complicated than originally
envisaged.
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
TV macro.
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
got called.
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
was illegal.
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
opened.
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
programs.
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.
Module:
FORMEM
2035 DAW 28-Jan-82 Q10-06649
Exponentiation for Real**Real, sometimes results in an overflow
instead of an underflow message.
Module:
FORDBL
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
error".
Module:
FOROTS
2037 DAW 1-Feb-82
NAMELIST input runs too slow if a large array is read one
element at a time.
Module:
FORCNV
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.
Modules:
FOROTS FORXIT
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
sequence.
Module:
FOROPN
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.
Modules:
FORIO FOROPN
2043 ERD 9-Feb-82 10-32099
Fix to allow leading space in file names on TOPS-10.
Module:
FOROPN
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).
Module:
FORIO
2045 EGM 18-Mar-82 20-17299
Change error ARC (Ambiguous repeat count in FORMAT) from a fatal error
to a continuable warning.
Module:
FORFMT FORERR
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
written.
This edit has been removed by Edit 2054.
Module:
FORIO
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.
Module:
FOROTS
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.
Module:
FOROPN
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).
Modules:
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
errors.
Modules:
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.
Module:
FORMEM
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.
Module:
FORIO
2055 TGS 10-May-82 10-32471
Fix typo in CDLOG so STOR routine POPJs instead of POPing P
and plowing into YZRO.
Module:
FORCDX
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
boundary.
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).
Module:
FORIO
2057 TGS 25-May-82 20-17764
Addition to Edit 2051 to clear the second encoding word during
NAMELIST and list-directed IO.
Modules:
FORCNV FORFMT
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).
Module:
FORERR
2061 EDS 1-Jun-82 10-32547
Registers restored in the incorrect order in FORLIB routine TIME.
Module:
FORMSC
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'.
Module:
FOROPN
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).
Module:
FORERR
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.
Modules:
FOROPN FOROTS
***** 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.
Module: 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.
Module: FORMSC
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
work yet.
Module: FORCNV
3003 JLC 26-Oct-81
Add fatal error message if character I/O is done to an
unformatted file - not supported yet.
Module: FORIO
3004 JLC 27-Oct-81
Fix ALPHI for character variables: was not blank-filling.
Module: FORCNV
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".
Module: FOROTS
3006 AHM/JLC 29-Oct-81
When storing the indefinite repeat pointer (%FMRPT) in LPRENC,
use an XMOVEI to generate a global address.
Module: FORFMT
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
IFIWs.
Module: FORPSE
3010 JLC 2-Nov-81
Merged edit from V6 for FORCNV.
Module: FORCNV
3011 AHM 3-Nov-81
Put CPRINT into a separate module in FORCHR.
Module: 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
the compiler.
Module: FORCHR
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.
Module: FOROPN
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.
Module: FORCNV
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.
Module: FORIO
3021 JLC 10-Nov-81
Fix bad call to %MVBLK within low segment memory manager.
NOTE: FIXED IN V6, EDIT 2031.
Module: FORMEM
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.
Module: FORIO
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.
Module: FORMSC
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.
Module: FORMEM
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).
Module: FORFMT
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.
Module: FORCHR
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
Module: FOROTS
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
library.
Module: FORCHR
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.
Modules: FORCNV,FORERR,FORFMT,FORHAK,FORHST,FORINI,FORIO
FOROP,FOROPN,FOROTS,FORPRM,FORXIT
3036 BL 10-Feb-82
Inserted code for list-directed character I/O.
Modules: FORCNV,FORIO,FORPRM
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.
Modules: FORIO,FORERR,FORPRM
3040 JLC 11-Feb-82
Make 0 print out as 00000000E+00, as the ANSI Standard says so.
Module: FORCNV
3041 JLC 11-Feb-82
Fix binary/char I/O, broken by mask table with missing commas.
Module: FORIO
3042 JLC 12-Feb-82
Fix ordinary binary I/O, broken by call to UOALIN
with pntr/count=0.
Module: FORIO
3043 JLC 18-Feb-82
Fix internal files. Total length count was wrong.
Module: FORIO
3044 BL 19-Feb-82
Put NLCPTR in DATA where it belongs. Initialize properly in
NLINIT.
Module: FORCNV
3045 BL 23-Feb-82
Really initialize properly. see #3044.
Module: FORCNV
3046 JLC 24-Feb-82
Fix PAGCHK, was looking at wrong page to unmap it. Also
did the wrong thing for extended addressing.
Module: FORIO
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.
Module: FORIO
3050 BL 25-Feb-82
Install changes to NAMELIST/LIST-DIRECTED character I/O
from code review
Modules: FORPRM,FORCNV
3051 JLC 26-Feb-82
Set BUFFERCOUNT on TOPS-10 magtapes to 1 no matter what,
since PULSAR does not work when doing backspace.
Module: FOROPN
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.
Module: FORMSC
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.
Module: FORPRM
3054 JLC 17-Mar-82
Fixed FOROTS so it doesn't smash the constant -6 when doing
REREAD.
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).
Modules: FORCNV,FORERR,FORFMT,FORINI,FORIO,FORMEM,FORMSG
FORNML,FOROP,FOROTS,FORPRM,FORTRP,FORXIT
3057 JLC 25-Mar-82
Fix namelist/list-directed I/O by clearing the 2nd encoded format
word to do free-format I/O.
Module: FORNML
3060 JLC 25-Mar-82
Remove RELEA. from entry vector. Replace it with EXIT1.
Module: FORPRM
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.
Modules: FORFMT,FORMSG
3062 JLC 25-Mar-82
Change error entry in FOROTS vector table to point to AC save
type entry.
Module: FORPRM
3063 BL 26-Mar-82
Insert NAMELIST character I/O code.
Module: FORNML
3064 JLC 26-Mar-82
Install new range-checking logic for formatted I/O. Remove
a couple of unused messages.
Modules: FORFMT,FORMSG
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
is encoded.
Module: FORFMT
3066 RVM 27-Mar-82
Fix ADJ1., ADJG., ADJC1., and ADJCG. to not calculate the size
of assumed-size arrays.
Module: FORMSC
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
AC1.
Module: FORCHR
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.
Module: FORCHR
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.
Modules: FORPRM,FORMSC
3074 BL 31-Mar-82
Cleanup NAMELIST character I/O stuff[3063].
3075 JLC 31-Mar-82
Fix underflow/overflow messages in FLIRT/INTI.
Module: FORCNV
3076 CDM 1-Apr-82
Do argument fixup for character word alligned constants as
arguments to SORT.
Module: FORSRT
3077 JLC 5-Apr-82
Fix formatted I/O: make links and indef repeat pointer calcs
relative.
Module: FORFMT
3100 JLC 5-Apr-82
Fixed error msg file so it is V6-compatible again. Added
a couple of externals.
Module: FORMSG
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.
Modules: FORINI,FOROTS
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.
Modules: FORINI,FOROTS
3103 JLC 8-Apr-82
More minor changes to lowseg/hiseg interface.
Modules: FORINI,FOROTS
3104 JLC 8-Apr-82
Word-alignment of input was incorrect.
Module: FORIO
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.
Modules: FORERR,FORIO,FOROTS
3106 BL 12-Apr-82
Fix FORNML so it will handle substrings of character scalars.
Module: FORNML
3107 JLC 12-Apr-82
Disallow PA1050 - RESET% was in the wrong place, reset the
monitor to allow PA1050.
Module: FOROTS
3110 JLC 14-Apr-82
Undo edit 3107 - it was a release 5 monitor bug.
Module: FOROTS
3111 JLC 15-Apr-82
Fix bad error message, was getting unit # with LOAD, which
does not sign-extend.
Module: FOROPN
3112 BL 15-Apr-82
Change SKIPN to SKIPE in FORNML.
Module: FORNML
3113 JLC 22-Apr-82
Fix binary I/O of character data - OWORD was calling ONXTW
with a non-zero byte count.
Module: FORIO
3114 BL 29-Apr-82
Make character expressions work in OPEN statements.
Module: FOROPN
3115 BL 13-May-82
Correct omissions of 3114.
3116 BL 14-May-82
Move label DIANST up one line
Module: FOROPN
3117 BL 14-May-82
Changed HLRE to HXRE in CNSCHK to get correct unit number
in SDO error.
Module: FOROPN
3120 BL 19-MAY-82
Ensure no delimiters after LD character output
Module: FORNML
3121 AHM 24-May-82
Make PLOT.A search FORPRM.
Module: FORPL2
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.
Module: FORPRM
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.
Module: FORCHR
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.
Modules: FORMSC
3133 BL 16-Jun-82
Code review changes to FORNML.
3134 AHM 22-Jun-82
Make the FUNCT% dispatch table contain IFIWs.
Module: FORMEM
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.
Module: FORMEM
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
Module: FORMSC
3143 AHM 6-Jul-82
Correct AC field of the XBLT at ALPBLT-3L that sets extended
hollerith arrays to spaces before doing input.
Module: FORCNV
3144 AHM 6-Jul-82
Mend fencepost at ALPBLT-3L which cleared one location too
many in the user's array with an XBLT.
Module: FORCNV
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.
Module: FORCHR
3146 AHM 8-Jul-82
Put the RESET% following the call to %MEMINI under IF20 so
that we can build on the -10.
Module: FOROTS
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.
Module: FORERR
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.
Module: FORERR
3152 JLC 14-Jul-82
Fix AC save restore problem in FORIO.
Module: 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.
Module: FORERR
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.
Module: FORINI
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".
Module: FORERR
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.
Module: FORINI
3164 BL 27-Aug-82
NAMELIST bug...DECRP (FORNML) was not resetting input string count
(NLSWRD). Sometimes resulted in incorrect input string byte
pointers (NLSPTR/NLCPTR).
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.
Module: FORIO
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.
Module: FORPRM
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.
Module: FORCHR
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.
Module:
FORMSC
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.
Modules:
FORPL1, FORPL2
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.
Module: FORMEM
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.
Module:
FORERR
3220 AHM 18-Nov-82
Remove more stack pointer sign check hacks.
Module: FORINI
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
the -20.
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.
Module: FORSRT
3233 AHM/JLC 14-Dec-82
Fix extended addressing bug.
Module: FORMEM
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.
Module: FORINI
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.
Module: FORCHR
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.
Module: FORCHR
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
%UDBAD.
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.
Module: FORRTF
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.
Module: FORMSC
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
routines.
Module: FORCHR
***** End V7 Development *****
;;.EDIT 3262 RESERVED FOR DEC
;;.EDIT 3263 RESERVED FOR DEC
;;.EDIT 3264 RESERVED FOR DEC
;.EDIT 3265 OVERLAY PROGRAMS USING SEVERAL REWIND WRITE SEQUENCES FAIL
;; The programs fail with a ?Can't create page nnn error.
; JLC,10-FEB-83,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3266 ALLOWS FOROTS TO BE PROTECTED EXECUTE-ONLY ON TOPS-10
; JLC,11-FEB-83,SPR:NONE
; A:SRC FORFMT.MAC
;.EDIT 3267 INCORRECT DATA BEING REFERENCED WHEN USING LARGE I/O LISTS
;; If an I/O list contains more than 128 elements and one or more
;; of them are subscripted array references, incorrect data is
;; being stored or retrieved.
; JLC,11-FEB-83,SPR:NONE
; A:SRC FOROTS.MAC
;.EDIT 3270 EXTRANEOUS NULLS ON DIVERT MESSAGES
; JLC,11-FEB-83,SPR:NONE
; A:SRC FORIO.MAC
;.EDIT 3271 PROGRAM FAILS WHEN TRACE CALLED AS AN ERRSET SUBROUTINE
; JLC,14-FEB-83,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3272 NAMELIST CHARACTER STRING OUTPUT DID INFINITE LOOP
;; String comparison routine made one-too-many comparisons when
;; checking for repeat count.
; BL,17-FEB-83,SPR:NONE
; A:SRC FORNML.MAC
;.EDIT 3273 ASTERISKS MUST BE PRINTED IF FIELD WIDTH TOO SMALL
;; If the field width is too small for either the E in E
;; editing or the + in SP editing, asterisks must be printed.
; JLC,21-FEB-83,SPR:NONE
; A:SRC FORCNV.MAC
;.EDIT 3274 WARNING MESSAGE WITH BLANK= AND RANDOM FILES
; JLC,23-FEB-83,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3275 HAVE TRACE PRINT NUMBER OF ARGUMENTS IN DECIMAL
; RJD,18-MAR-83,SPR:10-33669
; A:SRC FORERR.MAC
;.EDIT 3276 SLIDE ENDP DOWN BECAUSE UDDT NEEDS THEM
; TGS,22-MAR-83,SPR:NONE
; A:SRC FORPRM.MAC
;.EDIT 3277 FORPSE CANNOT USE MTHPRM'S FUNCT MACRO
; TGS,31-MAR-83,SPR:NONE
; A:SRC FORPSE.MAC
;.EDIT 3300 MOVE ARGKWD,ARGTYP,ARGADR TO MTHPRM FOR MTHCDX ROUTINES
;; MTHPRM (MTHLIB edit 3242) needs to set FTGFL to 1 so MTHCDX calls
;; diagnose Gfloating arg types. For MTHCDX to compile, however,
;; the ARGxxx definitions in FORPRM must also be moved. Also delete
;; the FTGFL flag from FORPRM, as it is also defined in MTHPRM.
; TGS,01-APR-83,SPR:NONE
; A:SRC FORPRM.MAC
;.EDIT 3301 INCLUDE MATHLIB EDITS FOR AUTOPATCH
;; 3231 CKS 23-Mar-83
;; Work on RANS. Change the constant multiplier of the seed
;; from 16807 to 630360016 so that RANS matches RAN. Module: MTHSNG
;; 3232 CKS 23-Mar-83
;; Rewrote DMOD to remove restrictions on the magnitudes of
;; its arguments. Module: MTHDBL
;; NOTE: retracted by Mathlib edit 3244 (FOROTS edit 3303)
;; 3233 CKS 23-Mar-83
;; Rewrote GMOD to remove restrictions on the magnitudes of
;; its arguments. Module: MTHGDB
;; 3234 CKS 23-Mar-83
;; The maximum value of the arg to SIN was given erroneously
;; as 36394.429 instead of the correct value of 823549.66.
;; Module: MTHCPX
;; 3235 RVM 24-Mar-83
;; Equate REAL to FLOAT. so that REAL is defined. Module: MTHSNG
;; 3236 PLB 25-Mar-83
;; Once again, change the FUNCT macro. It should
;; not OR the IFIW in, since that implies a 30 bit
;; argument address. Module: MTHPRM
;; 3237 RVM 30-Mar-83
;; CGSQRT was not returning the primary square root (ie, the
;; result was not in the right half-plane). Module: MTHCGX
;; 3240 RVM 30-Mar-83
;; CDSQRT used an old standard for register names, this edit
;; updated the routine to be more modern. Also, memory
;; locations allocated but not used were deleted. Module: MTHCDX
;; 3241 TGS 31-Mar-83
;; Fix FUNCT macro to correctly expand arguments of the type
;; (SUB,<<TP%SPR,adr>>). FORPL2 was getting Q compilation errors.
;; Module: MTHPRM
; TGS,01-APR-83,SPR:NONE
; A:SRC MTHCDX.MAC,MTHCGX.MAC,MTHCPX.MAC,MTHDBL.MAC,MTHGDB.MAC,-
MTHHST.MAC,MTHMSG.MAC,MTHPRM.MAC,MTHSNG.MAC,MTHTRP.MAC,FORHST.MAC
; A:MSC M20SHR.MAC
;.EDIT 3302 FIX EDIT 3273 TO NOT TRASH AC2
;; 3273's exponent width check can fail for Gfloat numbers because
;; of a trashed index AC.
; TGS,05-APR-83,SPR:NONE
; A:SRC FORCNV.MAC
;.EDIT 3303 RETRACT MATHLIB EDIT 3232
;; Mathlib edit 3232 to DMOD causes inaccurate results in the 2d word
;; of the double-precision remainder. Edit 3244 to Mathlib replaces
;; the routine with its original version.
; TGS,07-APR-83,SPR:NONE
; A:SRC MTHDBL.MAC
;.EDIT 3304 EXPONENTIATION GETS OVERFLOW MESSAGE FOR UNDERFLOW CONDITION
;; Get and clear PC flags with new GETFLG and RESFLG
;; macros. Fixes always clearing underflow in MTHTRP.
;; Only applies to JOV branches. This is edit 3243 in
;; MTHLIB.
; BCM,5-APR-83,SPR:10-33653
; A:SRC MTHDBL.MAC,MTHGDB.MAC,MTHPRM.MAC,MTHSNG.MAC,MTHTRP.MAC
;.EDIT 3305 DOUBLE PRECISION COTAN CAUSES ILLEGAL INSTRUCTION
;; the routine DCOTAN in module MTHDBL pops to many ac's off
;; the stack when a results to large error occurs. This is
;; edit 3245 in MTHLIB.
; MRB,11-APR-83,SPR:20-19015
; A:SRC MTHDBL.MAC
;.EDIT 3306 LARGE RECORDS CAN GET ILL MEM REF
;; When reading in a very large input record (>163840)
;; an illegal memory reference will occur. This patch
;; issues a fatal runtime error message. Restriction.
; MRB,13-APR-83,SPR:10-33696
; A:SRC FORIO.MAC,FORMSG.MAC
;.EDIT 3307 LIST-DIRECTED CHARACTER I/O DIES WITH ?ILLEGAL INSTR
;; Character strings dimensioned to exactly the terminal width cause
;; ?Illegal instruction on output. If the TTY width exceeds the string
;; length, output is prematurely truncated.
; TGS,15-APR-83,SPR:20-19101
; A:SRC FORNML.MAC
;.EDIT 3310 CMPLX DP SINE AND COSINE DESTROY INPUT VARIABLE
;; The double precision sine and cosine functions destroy the
;; input variables. The result field gets written over the
;; input variable in some cases. This is edit 3246 to MTHLIB.
; MRB,19-APR-83,SPR:20-19072
; A:SRC MTHCPX.MAC
;.EDIT 3311 /DEBUG:TRACE WITH /SEGMENT:DEFAULT CAUSES ILL MEM WRITE
;; The dummy FDDT module that resolves XCT FDDT.## requests from
;; /DEBUG:TRACE when FORDDT isn't loaded was in the hiseg instead
;; of the lowseg. Unfortunately, FDDT. contains self-modifying
;; code, and write-locking the high segment made it die.
; AHM,21-APR-83,SPR:NONE
; A:SRC MTHMSC.MAC
;;.EDIT 3312 RESERVED FOR AUTOPATCH
;;.EDIT 3313 RESERVED FOR AUTOPATCH
;.ENDA
;.AUTOPATCH 7
;.EDIT 3314 NUMBER PLOTTER OUTPUTS INCORRECT FLOATING-POINT NUMBERS
;; Recursive calls to DECP2 can trash AC 0, which is then checked
;; to determine if a "0" needs to be output immediately following
;; the decimal point. Input of 1.2 outputs as 1.02.
; TGS,12-MAY-83,SPR:10-33781
; A:SRC FORPL2.MAC
;.EDIT 3315 ALLOW 'TRANSLATED' AS KEYWORD SYNONYM FOR CC='FORTRAN'
;; Allow CARRAIGECONTROL='TRANSLATED' as a synonym for 'FORTRAN',
;; which may be disallowed in a future release. (V10 edit 4040).
; TGS,20-MAY-83,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3316 FIXED EXPONENTIATING COMPLEX NUMBERS
;; Fixed routines CEXP2. and CEXP3. in MathLib.
;; This is edit 3247 to MathLib.
; MRB,24-MAY-83,SPR:10-33795
; A:SRC MTHCPX.MAC,MTHCDX.MAC
;;.EDIT 3317 RESERVED FOR AUTOPATCH
;;.EDIT 3320 RESERVED FOR AUTOPATCH
;.EDIT 3321 RANDOM ACCESS WITH STATUS OLD CREATES NEW FILE
;; when opening a random file with status=old and file
;; doesn't exist will cause the file NOT to be createc.
; MRB,3-JUN-83,SPR:20-19244
; A:SRC FOROPN.MAC
;.EDIT 3322 MISSING EXTERNAL FOR ERRSET SUBROUTINE DIES WITH ILL INST
;; Calling ERRSET with a subroutine argument not declared EXTERNAL
;; in the calling program unit jumps into an empty variable when
;; the user subroutine is called. Test for this case and ABORT if so.
; TGS,6-JUN-83,SPR:20-19252
; A:SRC FORMSC.MAC
;.EDIT 3323 FIX BYTESIZE MISMATCH FOR MAGTAPE I/O
;; Make sure the SINR/SOUTR JSYS for ANSI-ASCII and INDUSTRY mode
;; magtape I/O is setup with a 36-bit byte pointer. A bytesize mismatch
;; was causing garbage to be read/written if the pointers were set to
;; either 7- or 8-bit. (Implemented in different form in V10).
; TGS,10-JUN-83,SPR:20-19264
; A:SRC FOROPN.MAC
;.EDIT 3324 OPENING A FILE SHOULD ALWAYS CAUSE IT TO EXIST
;; To conform to the ANSI standard, a program which OPENs a file,
;; does no I/O to it, then exits, should still create the file.
; TGS,14-JUN-83,SPR:NONE
; A:SRC FORXIT.MAC
;.EDIT 3325 OPENING A LABELED TAPE IGNORES BLOCKSIZE
;; When openng a tape file the blocksize, recordlength and
;; format will be specified at the GTJFN.
; MRB,21-JUN-83,SPR:20-19257
; A:SRC FOROPN.MAC
;;.EDIT 3326 RESERVED FOR AUTOPATCH
;;.EDIT 3327 RESERVED FOR AUTOPATCH
;.EDIT 3330 JBFF IMPROPERLY RESET TO POINT INTO HISEG
;; In order to preserve the user symbol table in case of overlays,
;; FORMEM resets .JBFF above .JBSYM(rh). It does not consider the
;; case of a program loaded /SYMSEG:HIGH.
; TGS,6-JUL-83,SPR:10-33967
; A:SRC FORMEM.MAC
;.EDIT 3331 CORRECTION TO ARGCOPIER FOR LARGE ARGLIST IN DIF SECTION
;; Correct typo in BARGXF arg copier routine. Resolve indexing
;; and indirection through BIND instead of IND for large I/O lists.
;; (Already implemented in V10)
; TGS,7-JUL-83,SPR:10-34009
; A:SRC FOROTS.MAC
;;.EDIT 3332 RESERVED FOR AUTOPATCH
;.EDIT 3333 ALLOW EDIT 3330 TO HANDLE /OTS:NONSHARE CASE
; TGS,22-JUL-83,SPR:NONE
; A:SRC FORMEM.MAC
;.EDIT 3335 FOHSP FOROP. CALL INCORRECTLY CALCULATES HISEG ORIGIN
;; FOHSP does not return a correct hiseg symbol table pointer on TOPS20
;; due to an incorrect calculation of the hiseg origin: zero can be
;; returned when a pointer exists; in addition, a private page
;; can be incorrectly created. (Already implemented in V10).
; TGS,28-JUL-83,SPR:NONE
; A:SRC FOROP.MAC
;;.EDIT 3336 RESERVED FOR AUTOPATCH
;;.EDIT 3337 RESERVED FOR AUTOPATCH
;.EDIT 3340 FILESIZE VALUE BEING EVALUATED AS BLOCKS RATHER THAN WORDS
;; The user provides the FILESIZE in words but the value is not being
;; converted to blocks before being stored in the .RBEST for the file.
; RJD,8-AUG-83,SPR:10-34053
; A:SRC FOROPN.MAC
;.EDIT 3341 INAPPROPRIATE UNIT NUMBERS IN INTERNAL FILE ERRORS
;; Internal file READ/WRITE errors erroneously reference a bogus
;; current unit number.
; TGS,16-AUG-83,SPR:10-34074
; A:SRC FORIO.MAC
;.EDIT 3342 DP OCTAL INPUT INCORRECT
;; Input of double-precision octal numbers whose high-order word
;; is all zero will in effect swap words, placing the significant
;; digits in the high-order word on output.
; TGS,16-AUG-83,SPR:10-34005
; A:SRC FORCNV.MAC
;.EDIT 3343 BAD CARD CAUSES ALL SUBSEQUENT READS TO BE TREATED AS ERRORS
;; When a READ ERROR occurs all subsequent reads take the ERR=
;; branch because the error bit is not being cleared.
; RJD,17-AUG-83,SPR:10-30961
; A:SRC FORIO.MAC
;.EDIT 3344 INCORRECT RESULTS WHEN SQUARING COMPLEX NUMBERS
;; make raising a complex number to a integral power and the complex
;; number has a zero imaginary part and a integral real part a special
;; case. (This is mathlib edit 3251)
; MRB,30-AUG-83,SPR:10-34015
; A:SRC MTHCPX.MAC
;.EDIT 3345 MEMORY FULL ERROR BEFORE MEMORY IS REALLY FULL
;; The code at CHKPFH: munges the registers before calling INUSCK.
; MRB,30-AUG-83,SPR:10-34134
; A:SRC FORMEM.MAC
;.EDIT 3346 FOROTS SKIPS TOO MANY TABS IN LINED FILES
;; FOROTS attempted to read the character after the 5-digit
;; line number and got the 1st character of data instead.
; JLC,30-AUG-83,SPR:20-19447
; A:SRC FORIO.MAC
;;.EDIT 3347 RESERVED FOR AUTOPATCH
;;.EDIT 3350 RESERVED FOR AUTOPATCH
;;.ENDA 7-SEP-83
;.EDIT 3351 ADD ERROR MESSAGE FOR IPCF SEND FAILURES
;; Returns error code for IPCFS. which is used for GALAXY V2
;; style queueing.
; MRB,20-SEP-83,SPR:10-34177
; A:SRC FOROPN.MAC,FORMSG.MAC
;.EDIT 3352 CHANGE SECOND NUMBER FOR ARITHMETIC TRAPS
;; Set the second number of ERRSET values to the number of
;; times this error has occured. (This is edit 3252 to MTHLIB)
; MRB,27-SEP-83,SPR:10-34127
; A:SRC FORERR.MAC,MTHTRP.MAC,FORMSG.MAC,FORXIT.MAC
;.EDIT 3353 ELAPSED TIME GREATER THAN 99 HOURS PRINTS GARBAGE
;; Elapsed time greater than 99 hours prints extra colon and
;; wrong digits.
; RJD,30-SEP-83,SPR:10-34121
; A:SRC FORERR.MAC
;.EDIT 3354 STORE DBMS ENTRY VECTOR IN .JBBLT+2
;; To avoid possible conflict with PA1050/DBMS/COBOL, store
;; the DBMS entry vector in .JBBLT+2 as well as .JBBLT on
;; TOPS20. Move the setup from FORINI to FOROTS.
; TGS,3-OCT-83,SPR:NONE
; A:SRC FORINI.MAC,FOROTS.MAC
;;.EDIT 3355 RESERVED FOR AUTOPATCH
;;.EDIT 3356 RESERVED FOR AUTOPATCH
;;.ENDA 3-Oct-83
;.EDIT 3357 EXPAND TRACE HEADER FOR EXTENDED ADDRESSES
;; Expand TRACE header slightly for extended addresses. Change
;; type code for immediate args to "I" for tracebacks.
; TGS,11-OCT-83,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3360 DBSTP. TO D.BSTP TO PREVENT LIBOL CONFLICTS
;; Since both FORLIB and LIBOL define DBSTP. as a global symbol
;; for DBMS calls, producing a LNKMDS error, change it to D.BSTP.
; TGS,17-OCT-83,SPR:20-19540
; A:SRC FOROTS.MAC,FOROPN.MAC
;.EDIT 3361 COLON FORMAT IGNORED ON INPUT
;; The standard specifies that colon edit descriptors must terminate
;; format control on input as well as output. We were ignoring it
;; on input. (Accomplished in V10 by edit 4052).
; TGS,25-OCT-83,SPR:NONE
; A:SRC FORFMT.MAC
;.EDIT 3362 NEW FORMSC CALLS FOR LARGE OVERLAYED MEMORY ALLOCATION
;; Overlayed programs over 600K can fail because FOROTS does not start
;; allocating memory from the top down. New TOPMEM subroutine with a
;; user-supplied octal page number argument will force FORMEM to start
;; allocating from that page down. New SRTINI subroutine will do the same
;; and additionally pre- allocate pages 600:677 for SORT.
;; NOTE: In V10, part of this edit is accomplished by edit 4065.
; TGS,28-OCT-83,SPR:20-19293
; A:SRC FOROTS,FOROP,FORMEM,FORSRT,FORMSC,FORPRM
; A:MSC F20OTS.CCL
;.EDIT 3363 FIX FORERR SAVEACS ROUTINE FOR EXTENDED ADDRESSING
;; /USE-SECTION:n where n > 1 may fail on entry to the error handler
;; since improper addresses are used in BLTing the ACS. (Already
;; fixed in V10).
; TGS,9-NOV-83,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3364 SP FORMAT IGNORES PLUS SIGN ON OVERFLOW
;; If SP editing is specified and a plus sign will cause an overflow,
;; the plus is ignored and no overflow occurs.
; TGS,9-NOV-83,SPR:NONE
; A:SRC FORCNV.MAC
;;.EDIT 3365 RESERVED FOR AUTOPATCH
;;.EDIT 3366 RESERVED FOR AUTOPATCH
;;.ENDA 9-NOV-83
;.ENDA
;.AUTOPATCH 8
;.EDIT 3367 ADDRESS CHECK ERRORS DURING I/O
;; Change the way we truncate files on the -10. Eliminate
;; routine OSWCRE and modify OSWUPD to handle these cases.
; MRB,28-NOV-83,SPR:1034330
; A:SRC FOROPN.MAC
;.EDIT 3370 MAKE SEGMENT MACRO CASE-INSENSITIVE
;; Fix SEGMENT macro in MTHPRM so its string argument is converted
;; to SIXBIT. This is edit 3253 to MTHLIB.
; TGS,29-NOV-83,SPR:10-34340
; A:SRC MTHPRM.MAC
;.EDIT 3371 FILE PROTECTION OF <000>
;; Allow the CLOSE to accept zero in the PROTECTION specifier
;; in order that files may be protected <000>.
; RJD,6-DEC-83,SPR:10-34318
; A:SRC FOROPN.MAC
;.EDIT 3372 ASTERISK IN COLUMN 1 FOR TTY: OUTPUT
;; When outputting to the TTY: check to see if the user
;; is outputting an asterisk in column 1 (Carriage control
;; character) change CC character to a "space". This will
;; make the asterisk and the space CC characters the same
;; for TTY:'s.
; MRB,6-DEC-83,SPR:20-19774
; A:SRC FORIO.MAC
;.EDIT 3373 OPEN ON A CONNECTED UNIT
;; OPEN on a connected unit closes and reopens the file and resets
;; the file pointers, contrary to ANSI-77. (V7 only).
; TGS,12-DEC-83,SPR:10-34236
; A:SRC FOROPN.MAC
;.EDIT 3374 DOUBLE PRECISION EXPONENT NOT ZEROING RESULT ON UNDERFLOW
;; The DEXP2. routine does not zero the result field when an
;; underflow occurs.
; MRB,13-DEC-83,SPR:20-19812
; A:SRC MTHDBL.MAC
;.EDIT 3375 CORRECTION TO EDIT 3353
;; Enhances edit 3353 and correctly prints elapsed times with
;; more than 3-digits in the hours field.
; RJD,14-DEC-83,SPR:10-34341
; A:SRC FORERR.MAC
;;.EDIT 3376 RESERVED FOR AUTOPATCH
;;.EDIT 3377 RESERVED FOR AUTOPATCH
;;.ENDA 27-DEC-83
;.EDIT 3400 MAKE LIST-DIRECTED I/O TO TTY SAME AS FORMATTED
;; TYPE * of CHARACTER*40 with TTY width < string length should output
;; exactly TTY-width characters to the line after the leading space is
;; stripped, to equal the behavior of FMT='1X,An'.
;; (Not required for V10)
; TGS,16-JAN-84,SPR:10-34348
; A:SRC FOROPN.MAC
;.EDIT 3401 UPDATE EOFN FOR CRLF RECORDS WITH CARRIAGECONTROL=FORTRAN
;; When CARRIAGECONTROL='FORTRAN' the EOFN should be updated for
;; records which consist only of a CRLF.
; RJD,16-JAN-84,SPR:20-19862
; A:SRC FORIO.MAC
;;.EDIT 3402 RESERVED OR AUTOPATCH
;;.EDIT 3403 RESERVED OR AUTOPATCH
;;.ENDA 20-JAN-84
;.EDIT 3404 CDLOG OF (0,0) RETURNS INCORRECT VALUE
;; The CDLOG of (0,0) returns (+infinity,0) instead of (-inifinity,0).
;; (This is edit 3404 to mathlib.)
; MRB,23-JAN-84,SPR:20-19901
; A:SRC MTHCDX.MAC
;.EDIT 3405 TIME SUBROUTINE INACCURATE
;; TIME will return strange results around the minute boundary.
; TGS,24-JAN-84,SPR:20-19857
; A:SRC FORMSC.MAC
;.EDIT 3406 FIX FORERR'S SYMBOL OUTPUT WHEN RUNNING EXTENDED
;; Fix SYMCNV/SYMSRH to properly handle extended addresses. Values
;; fetched from the symbol table were not always having a section
;; number inserted. If the symbol+offset found is an offset from
;; MAIN. and there is also a PROGRAM name symbol, prefer the latter.
;; Part of the functionality of this edit has been implemented in
;; V10 by edit 4015.
; TGS,25-JAN-84,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3407 MAKE QUIETX COMPLETELY QUIET (NO LIBRARY ERROR SUMMARY)
;; QUIETX suppresses CPU summaries but not library routine error
;; summaries. Make it suppress all exit typeout.
; TGS,31-JAN-84,SPR:20-19929
; A:SRC FORXIT.MAC,FORMSC.MAC
;.EDIT 3411 FRSIWI DURING DYNAMIC CONCATENATION
;; %SAVAC may be called from FUNCT. during dynamic concatenation
;; of character strings within an IOLST call. Since %SAVAC checks
;; %UDBAD for recursive I/O, an undeserved FRSIWI error can result.
;; FUNCT should use its own local AC save routine.
;; (Not a problem in V10 because of edit 4035)
; TGS,31-JAN-84,SPR:10-34489
; A:SRC FORMEM.MAC
;.EDIT 3412 FO$GFB NOT RETURNING ADDRESS OF FILOP BLOCK
;; The FOROP. function FO$GFB is using the wrong index register
;; to obtain the address of the FILOP. block.
; RJD,1-FEB-84,SPR:10-34491
; A:SRC FOROP.MAC
;.EDIT 3413 %ERINI NOT AN ENTRY
;; Change %ERINI from an ENTRY to an INTERN.
; TGS,6-FEB-84,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3414 IMAGE-MODE FOR TTYS
;; Implement image-mode I/O for TTYs.
;; (Implemented in V10)
; TGS,16-FEB-84,SPR:10-34478
; A:SRC FOROTS.MAC,FORIO.MAC,FOROPN.MAC
; A:MSC F10OTS.CCL
;.EDIT 3415 FIX 3411 FOR ALCOR
;; (No V10 change).
; TGS,20-FEB-84,SPR:NONE
; A:SRC FORMEM.MAC
;;.EDIT 3416 RESERVED FOR AUTOPATCH
;;.ENDA 16-FEB-84
;.EDIT 3420 ALLOW A BLANK STRING IN DIRECTORY=
;; On TOPS10 allow DIRECTORY= with a blank character string.
;; (V7 only)
; TGS,24-FEB-84,SPR:10-34523
; A:SRC FOROPN.MAC
;.EDIT 3421 UNABLE TO RENAME A FILE TO A HIGHER SFD OR UFD
;; When DIRECTORY= specifies a higher level SFD or UFD the
;; file is not written to the specified DIRECTORY.
; RJD,27-FEB-84,SPR:10-34529
; A:SRC FOROPN.MAC
;.EDIT 3422 INCORRECT CREATION DATE ON RENAMED TOPS-10 FILES
;; When a file is renamed on TOPS-10, it is given a creation
;; date of about 11 years ago.
; RJD,5-MAR-84,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3423 ADRCHK MAY ILL MEM REF(TOPS10), CREATE PAGE(TOPS20)
; TGS,6-MAR-84,SPR:NONE
; A:SRC FORERR.MAC
;.EDIT 3424 FIX OVERLAP DETECTION FOR OWG BYTE POINTERS
;; Correction to edit 3242; part of edit 4075 of V10,
;; there is no change to V10.
;; The character addresses of one word global byte pointer
;; are calculated as one less than the corresponding addresses
;; of local byte pointer.
; RLF,9-MAR-84,SPR:NONE
; A:SRC FORCHR.MAC
;;.EDIT 3425 RESERVED FOR AUTOPATCH
;.EDIT 3426 IRC ERROR USES WRONG AC
;; When diagnosing repeat count overlow at DIGENC, the wrong AC
;; was being used to index off the state table.
; TGS,23-APR-84,SPR:20-20087
; A:SRC FORFMT.MAC
;;.ENDA 23-MAR-84
;;.EDIT 3430 RESERVED OR AUTOPATCH
;;.ENDA 26-APR-84
;.ENDA
;.AUTOPATCH 9
;.EDIT 3431 RESERVED OR AUTOPATCH
;; NOP edit to update version
; MRB,18-MAY-84,SPR:NONE
; A:SRC FORHST.MAC
;;.ENDA 18-MAY-84
;.EDIT 3432 FO$UDB FOROP CALL
;; Add FO$UDB (23) FOROP call to return the contents of %UDBAD. This
;; call will be used by FORDDT after edit 211 to check for "I/O within
;; I/O" conditions.
; TGS,7-JUN-84,SPR:NONE
; A:SRC FOROP.MAC,FORPRM.MAC
;.EDIT 3433 RESERVED FOR AUTOPATCH
;.EDIT 3434 RESERVED FOR AUTOPATCH
;;.ENDA 22-JUN-84
;.EDIT 3435 REORDER FORLIB FOR CHRPT.
;; Move CHRPT. from FORINI to FORCHR and %ABORT in MTHDUM to its own
;; module so that Fortran subroutines which do character concatenations
;; called from non-Fortran main programs won't get undefined globals.
;; (MTHLIB edit 3256; not a problem in V10)
; TGS,12-Jul-84,SPR:20-20206
; A:SRC FORINI.MAC,FORCHR.MAC,MTHDUM.MAC
;;.EDIT 3436 RESERVED FOR AUTOPATCH
;;.ENDA 17-JUL-84
;.EDIT 3437 TERMINATING SUBSTRING INDEX IGNORED IN DIRECTORY= SPECIFIERS
;; DIRECTORY=CHAR(s1:s2) ignores "s2" and uses for the DIRECTORY string
;; all characters from "s1" to the end of the array, up to the maximum
;; ^D79 for TOPS20 directory strings, resulting in a "?Can't OPEN file:
;; No such directory name" error depending of the structure of the array.
; (Not a problem in V10)
; TGS, 13-Aug-84,SPR:20-20315
; A:SRC FOROPN.MAC
;;.EDIT 3440 RESERVED FOR AUTOPATCH
;;.ENDA 16-AUG-84
;.EDIT 3441 FN%MPG/FN%UPG MAY NOT ALLOCATE/DEALLOCATE CORRECTLY
;; %MRKPG/%UMKPG use the wrong instruction in their calls to DOPGS when
;; testing whether any page within the range is already allocated or
;; non-allocated. Since the instruction skips on the first non-allocated
;; or allocated page, the full range may never be tested.
; TGS,7-Sep-84,SPR:20-20332
; A:SRC FORMEM.MAC
;.EDIT 3442 IF DDT NOT IN CORE, INITIALIZE PAGES ENDP:777 AVAILABLE
;; Check if DDT is in core at memory initialization time. If it is,
;; leave pages above 763 (ENDP) marked as unavailable, as is done now. If
;; no DDT, mark ENDP:777 (TOPS20 only) as available. This allows
;; TOPMEM calls above original ENDP to be honored if DDT is absent.
; (Implemented in V10 by edit 4200).
; TGS,17-Sep-84,SPR:20-20357
; A:SRC FORMEM.MAC
; A:MSC F20OTS.CCL
;.EDIT 3443 ENDFILE MAY NOT TRUNCATE, MAY LEAVE HOLES
;; ENDFILE may write out the current file window instead of truncating,
;; resulting in some cases in a file with holes. A REWIND/ENDFILE
;; sequence may write a file of one page with a byte count of zero.
; TGS,20-Sep-84,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3444 FIX EDIT 3437 FOR NON-CHARACTER DIRECTORY=.
;; Edit 3437 fixed DIRECTORY=CHAR(s1:s2) but can cause DIRECTORY=
;; specifiers for double-precision arrays to be truncated.
; TGS,24-Sep-84,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 3445 FIX EDIT 3410 FOR DEFERRED OPEN FILES
;; Additional checks are necessary in the close routine if
;; 1) a file is opened by a deferred open, 2) the device
;; designator was determined by stepping over any undefined
;; logical names and 3) no I/O is done to the file.
; RJD,24-SEP-84,SPR:NONE
; A:SRC FOROPN.MAC
;;.ENDA 20-SEP-84
;.ENDA
;.AUTOPATCH 10
;.EDIT 3446 NOOP EDIT TO UPDATE OUR VERSION
;; Update the edit number and thereby teach Autopatch to update it
;; also. No code changes.
; MRB,19-OCT-84,SPR:NONE
; A:SRC FORHST.MAC
;;.EDIT 3447 RESERVED FOR AUTOPATCH
;;.ENDA 19-OCT-84
;.EDIT 3450 ILLEGAL MEMORY REFERENCE ERRORS FROM GETPC
;; If a PUSHJ instruction with a 0 effective address is encountered
;; by GETPC, an illegal memory reference error results.
; RJD,31-OCT-84,SPR:10-34904
; A:SRC FORERR.MAC
; A:MSC F10LIB.CCL
;.EDIT 3451 INCORRECT CREATION DATE WHEN A FILE IS RENAMED ON TOPS-10
;; When a file is renamed on TOPS-10, the resulting creation date
;; is about 11 years wrong.
; RJD,5-NOV-84,SPR:10-34948
; A:SRC FOROPN.MAC
;.EDIT 3452 INCORRECT RESULTS IN COS ROUTINE
;; Clear out the extra bits if the COS routine when the result is
;; greater than one. This routine has a 3-bit error range and in
;; some cases, when the result is very close to one, this three
;; bit error range can put us over the maximum result of one. this
;; edit will scale the result down to one. (edit 3257 to MthLib)
; MRB,6-NOV-84,SPR:20-20394
; A:SRC MTHHST.MAC, MTHSNG.MAC
;.EDIT 3453 INCORRECT LIMIT FOR TOPS10 DISPOSE=PRINT
;; When calculating the QUEUE limit value for DISPOSE='PRINT',
;; don't use SIZ(D) to retrieve filesize in words, since this
;; will be accurate only for existing files to which no I/O
;; has been performed. Use EOFN(D) instead.
; TGS,12-NOV-84,SPR:10-34969
; A:SRC FOROPN.MAC
;;.EDIT 3454 RESERVED FOR AUTOPATCH
;;.ENDA 19-NOV-84
;;.EDIT 3456 RESERVED FOR AUTOPATCH
;;.ENDA 26-DEC-84
;.EDIT 3457 IMPROVE CHECK FOR O-FORMAT CHARACTER VARIABLE MISMATCH
;; Using O-format with character variables is not allowed. Add a
;; better format/variable mismatch test for this case.
; TGS,3-JAN-85,SPR:20-20501
; A:SRC FORFMT.MAC
;.EDIT 3460 WRONG ADDRESSES GIVEN IN MESSAGES FOR ARITHMETIC ERRORS
;; When an arithmetic error occurs in a program which is loaded
;; /OTS:NONSHAR or in an overlaid program, the error message
;; prints the instruction location incorrectly.
; RJD,5-JAN-85,SPR:10-35060
; A:SRC FORERR.MAC
;.EDIT 3461 CAN'T CREATE PAGE ERROR
;; FORMEM continues to look for free pages when the bottom
;; page is zero or below.
; RJD,9-JAN-85,SPR:NONE
; A:SRC FORMEM.MAC
;.EDIT 3463 FIXUP EDIT 3455.
; MRB,14-FEB-85,SPR:NONE
; A:SRC FORSRT.MAC
;.EDIT 3466 FILE NOT FOUND ERROR WITH DEFERRED OPEN FILES AND NO I/O
;; In addition to edit 3445, additional checks are necessary in the
;; close routine if 1) a file is opened by a deferred open, 2) the
;; device designator was determined by stepping over any undefined
;; logical names and 3) no I/O is done to the file.
; RJD,6-MAR-85,SPR:NONE
; A:SRC FOROPN.MAC
;.ENDA
;.ENDV
;.ENDR REVISION HISTORY
***** Begin Version 10 *****
3262 PLB 17-Feb-83
This became edit 4003.
4000 JLC 22-Feb-83
V7 autopatch edits, performance enhancements (especially
in error processing).
4001 JLC 23-Feb-83
Fix overlay program bug.
4002 JLC 23-Feb-83
Code review changes.
4003 PLB 17-Feb-83
Make FORPL2 run in non-zero sections. Yes My edit
Pre-dates Jons, he should have started at 4001.
4004 JLC 24-Feb-83
Bug fixes to FORFMT and FORIO.
4005 JLC 28-Feb-83
Add DDB entry for FIN address.
4006 JLC 1-Mar-83
V7 becomes V10.
4007 RJD 24-Mar-83
Clean up version 6 edit 2077 in FORMSC.
4010 JLC 14-Apr-82
Various performance enhancements and bug fixes.
4011 PLB 27-May-83
Fix CHADDR macro used in OVRLP% to work with OWGBPs,
required adding a second 'MAGIC' table.
Module: FORCHR
4012 PLB 1-Jun-83
Fix ERRSET to work with user code and OTS in different sections.
Module: FORMSC
4013 PLB 1-Jun-83
Fix FOREC to be able to type out library errors when
the error text resides in a different section from FORERR.
Module: FORERR
4014 JLC 13-Jun-83
INQUIRE. Changed OPEN in major ways to make INQUIRE work,
such as establishment of files (via UFPGS%) when open
for output if they previously did not exist. Changes
to begin work on RMS and magtape support. Implement
image-mode TTY.
4015 PLB 21-Jun-83
Fix SYMSRH in FORERR to handle a symbol table in a foreign
section.
4016 JLC 22-Jun-83
Fixed image mode to TTY to be consistent - now does word I/O
for numeric variables regardless of how TTY is opened.
4017 PLB 23-Jun-83
Make Lowseg memory manager (LSGET/LSFREE) in FORMEM return/take
global addresses. Lowseg memory comes from FOROTS' section.
4020 PLB 23-Jun-83
Use global IOPDL if running in a non-zero section.
Modules: FORFMT
4021 PLB 24-Jun-83
TRACE% in FORERR used AOBJN.
4022 PLB 28-Jun-83
Ream FORINI so it will get FOROTS into another section,
things includes section searching.
4023 JLC 29-Jun-83
Final divorce of MTHLIB from FORLIB. Remove all traces
of FTSHR. Make the OTS rels TWOSEG so we can /SEARCH
MTHLIB.REL for MTHTRP.
4024 JLC 30-Jun-83
INQUIRE code review changes.
4025 JLC 1-Jul-83
Add error block for library trap calls.
4026 PLB 1-Jul-83
Use single equal sign in RESET.=FOROT. in FORHST so that
you don't see JSP 16, <trash>
4027 JLC 6-Jul-83
Fix misunderstanding about "D" format records: the RECL
specifier includes the 4 bytes for the control word.
4030 PLB 6-Jul-83
Fix OVERFL in FORMSC. It was using an AOBJN loop and a BLT.
4031 JLC 7-Jul-83
Fix .JBHRL in FORINI so it really looks like TOPS-10.
Fix FORERR so it uses the lowseg arg list for library errors.
4032 JLC 12-Jul-83
Reinstate a last-minute mode/form setting routine for DOOPEN,
needed only by ENDFILE.
4033 JLC 18-Jul-83
Clear %SPFLG in namelist and list-directed I/O.
4034 JLC 19-Jul-83
Fix overflow reporting in OCTO.
4035 JLC 22-Jul-83
Fix BLANK= in INQUIRE. Create local AC save routine for
FUNCT., since it can be called from within an I/O
statement which does dynamic concatenation.
4036 JLC 3-Aug-83
Allow binary/image I/O for ASCII-only devices via
the flag ASCFLG(D). Allow user "fixup" of asterisks given
for field width too small.
4037 JLC 31-Aug-83
Remove extra space from negative unit error typeout.
Modify FORINI so that FORO10.EXE can have a page 0 which
will be ignored.
4040 JLC 6-Sep-83
Finally make CARRIAGECONTROL='FORTRAN' VAX-compatible, that
is, set the bit in the FDB. If the CHFDB fails, issue a warning
message. Change CC='FORTRAN' to CC='TRANSLATED' for TTYs and
LPTs. Fix a bug in DIALOG whereby it was looping in DIALOG
mode on command errors even though running under batch.
4041 JLC 7-Sep-83
Fix typo in GMODBY in FOROPN. Caused all files to be 36-bit.
4042 JLC 8-Sep-83
Fix GET code in FORINI to avoid page 0 of FOROTS in non-zero
sections.
4043 JLC 15-Sep-83
Move FLIRT, INTI/INTO, HEXI/HEXO, and POWTB to MTHLIB.
4044 JLC 19-Sep-83
Added debugging feature to memory manager to flag lost blocks
and pages. Made "missing external declaration" msg use $N so
it can be used by any subroutine. Made FUNCT block globally
accessible by FOROTS modules. Added function to deallocate
all encoded formats and the format encoding area.
4045 JLC 30-Sep-83
Removed UBSZ from FORPRM. Added a device type - RMS file.
4046 JLC 3-Oct-83
Repair edit 3352 in FORERR.
4047 JLC 5-Oct-83
Fix EOFSET in FOROPN, just a typo. Did some minor formatted
I/O enhancements.
4050 JLC 6-Oct-83
Fix FORMEM initialization bug, was bug-halting in KILPGS
when killing pages left around. Modified TRACE to give special
message for ERRSET-initiated subroutine calls.
4051 JLC 6-Oct-83
Fix edit 4050 in FORFMT and FORERR.
4052 JLC 12-Oct-83
Minor performance enhancements, fix magtape attributes
for assigned magtapes.
4053 JLC 18-Oct-83
Fix CC=FORTRAN for non-stream files, was not changing
carriage-control character of next line for dollar format.
4054 JLC 25-Oct-83
Fix some minor bugs in FORIO, FORFMT, FOROPN, FORNML.
4055 JLC 27-Oct-83
Fixed image-mode I/O for odd-size magtape blocksizes.
Undid edit 3252, removing "arithmetic" from integer
overflow message and summary line, as it was inconsistent
with other arithmetic overflow messages.
4056 JLC 30-Oct-83
Fix CC='NONE', was getting ignored. For STREAM files, now
suppresses normal CRLF record terminator, simulating its
effect on RMS files.
4057 JLC 31-Oct-83
Fix mixed-mode code in FOROPN, which was not adding
LSCWs to the unformatted record length for ASCII files.
4060 JLC 1-Nov-83
Remove EXTEND error messages from FORMSC, was a mistake
to put them there.
4061 JLC 4-Nov-83
Fix IOSTAT bug, was clearing IOSTAT variable at beginning
of I/O statement, should set it only at the end. Fixed
ERRSNS so it only returns non-zero values for I/O errors.
4062 JLC 7-Nov-83
Reinsert "extraneous" code in arg copier - it was not
extraneous.
4063 JLC 8-Nov-83
Fix OWG bug in returning "fixed-up" record pointer.
4064 JLC 14-Nov-83
Removed .REQUEST of MTHLIB. Appended MTHLIB.REL to the
end of FORLIB.REL. Added more keywords for RMS.
Corrected a bug involving setting ASCFLG. Corrected
updated IOSTAT handling. Fixed bug in INQUIRE, whereby
FILE= or UNIT= was getting processed before ERR=
and IOSTAT= were being saved, so program terminated
instead of proceeding. Simplified similar processing
in OPEN and CLOSE statements.
4065 JLC 6-Dec-83
Prepare for RMS interface.
4066 JLC 11-Jan-84
More preparations for RMS.
4067 JLC 13-Jan-84
Fix bugs in APPEND and SKIP RECORD.
4070 JLC 16-Jan-84
Fix bugs in output record processing.
4071 JLC 18-Jan-84
Fix bugs in INQUIRE.
4072 JLC 24-Jan-84
Fix more bugs in INQUIRE, prepare INQUIRE code for RMS.
4073 JLC 26-Jan-84
Fix a bug in RMS INQUIRE functionality: don't rely on
IJFN(D) being non-zero to tell if the file is open. RMS
files have no JFN assigned by FOROTS.
4074 RVM 2-Jan-84
Add the Military Spec/VAX bit manipulation functions to
FORLIB.
Module:
FORMSC
4075 TJK 2-Feb-84
Add routines CASNM., CASNN., and CASNO. to replace CHASN.,
which is now obsolete, and rewrite CHASN. to call CASNM. Also
add routines CNCAM., CNCAN., and CNCAO. to replace CONCA.,
which is now obsolete, and rewrite CONCA. to call CNCAM.
Also fix a bug in the CHADDR macro in OVRLP% which resulted in
the character addresses of one word global byte pointers being
calculated as one less than the corresponding character
addresses of local byte pointers. This also allowed the
removal of the MAGIC2 table added in edit 4011.
Module:
FORCHR
4076 TGS 6-Feb-84
Fix SYMSRH so it does not depend on the module count word in
the symble table containing an 18-bit module start address in
the right half. Future LINKs may not supply this in non-zero
sections. Search for the global symbol corresponding to the
module name instead.
4077 JLC 6-Feb-84
Fix FOHSP in FOROP to deal with a correct .JBHRL. Fix
FORERR so that the user gets a complete trace on an
I/O error, not a truncated one, since there is now only
one stack.
4100 MRB 9-Feb-84
Added code to do compatibility flagging in FOROTS. Outputs
a warning message for usage of non compatible language features.
4101 CDM 16-Feb-84
Create and expand the character stack differently when running
in extended addressing. Give the stack its own section(s) so
that it has plenty of room. Also add user subroutine ALCCHR.
Modules:
FORCHR FORINI FORMSC FORPRM
4102 JLC 17-Feb-84
Add TGS code for setting/resetting free CRLF for image mode
TTY I/O for TOPS-10. Massive changes to OPEN and CLOSE to get
STATUS and DISPOSE orthogonal for RMS.
4103 JLC 21-Feb-84
Fix some bugs introduced by 4102. Add some V7A patch code to
DIRECTORY= for TOPS-10.
4104 JLC 22-Feb-84
More flagging code.
4105 JLC 28-Feb-84
Modify the error handling routines, and fix a whole pile
of latent and real bugs in error handling.
4106 JLC 2-Mar-84
Fix another bug in error handling. Rework some AC definitions
in FORCHR.
4107 JLC 5-Mar-84
Fix bugs introduced into DIALOG by edit 4105.
4110 CDM 8-Mar-84
Reworked DUMP and PDUMP to work under extended addressing.
Changed how the AC's are stored to be dumped out (used to be
stored on the stack, with AC's being PUSH-ed and POP-ed
everywhere, even though this is a subroutine and doesn't need to
preserve any AC's). Corrected I/O calls to the ots to work in
non-zero sections. For now, not giving both upper and lower
bounds for dumping will give a warning message. Lots of
comments added. Grouped together argument lists to make them
look coherent.
4111 JLC 16-Mar-84
Changed fatal error calling macro to $ACALL. Reworked the /OTS:NON
loading sequence to avoid and remove names with "%" on the end.
Fixed some bugs in the restructured OPEN regarding DDB consolidation.
4112 JLC 19-Mar-84
Moved CARRIAGECONTROL setup mechanism so INQUIRE works for deferred
OPEN files. Installed some code in FORDBM for TOPS-10.
4113 JLC 21-Mar-84
Changed .REQUEST in FORDST back to a .TEXT, since it has to run
on TOPS-10 and LINK hasn't been fixed anyhow.
4114 JLC 28-Mar-84
Remove I%TCH on TOPS-10, as it is almost useless
and didn't work anyhow.
4115 JLC 2-Apr-84
TOPS-10 I/O and OPEN fixes.
4116 JLC 4-Apr-84
More fixes to TOPS-10 I/O and OPEN. Remove $E from messages,
substitute a (smarter) $J. Fix ENDFILE for magtape.
4117 JLC 26-Apr-84
Fix entry vector/reenter address bug.
Modules affected: FORINI
4120 PLB 26-Apr-84
Added sub-routine DOPDVS to %MEMINI in FORMEM to scan the PDVs
to initialize PTAB and JOBDAT when there is no LINK JOBDAT.
4121 AHM 30-Apr-84
Made QUIETX use HELLO macro, since it is now user callable,
and supported.
Module: FORMSC
4122 JLC 2-May-84
A whole raft of changes to make the TOPS-10 and TOPS-20
DDB databases the same.
4123 JLC 4-May-84
Install REENT. in FORINI for /EXTEND. Fix ADRCHK for TOPS-10
twoseg programs. Make TABLK on TOPS-10 more similar to TOPS-20.
4124 JLC 8-May-84
Stop generation number copying in CLOSE with rename. Fix
IOARG so that the "delayed" args (ERR=, END=, IOSTAT=) are
have their effective address calculation done immediately.
4125 JLC 11-May-84
Fix PROTECTION= and DIRECTORY=.
4126 CDM 11-May-84
Update copyright notice for ots image in FOROTS.MAC.
4127 JLC 15-May-84
Fix MVARG so most OPEN/CLOSE arguments accept hollerith arguments
again. Fix some TOPS-10 append code. Make releasing of DDB and
UDB on errors more rational.
4130 MRB 6-Jun-84
Fixes for compatibility flagger. SETRAN, SAVRAN, GTODA, DTOGA
and FFUNIT.
4131 JLC 8-Jun-84
Changed DIALOG scanner and OPNARG so there is more common code.
Removed some extraneous flags from F. Removed some extraneous
messages from FORMSG. Made %GTBLK and %MVBLK give skip returns
for success, so that we can report memory full, etc. more
explicitly (e.g., what statement caused it). Make DUMP mode
illegal for magtape. Fix tests of IPTR for TOPS-10 buffered
I/O.
4132 JLC 15-Jun-84
Added new SLIST/ELIST entries for "new-style" calls which
have their increments in WORDS/CHARS rather then "entries".
4133 MRB 3-Jul-84
Added some documentation to the carriage control code in
FORIO. (No code changes)
4134 JLC 3-Jul-84
Made some changes in error messages and changed around
the order of the tables for COMND% in DIALOG so that
you get a reasonable error message for a bad character.
Fixed DUMP mode again.
4135 JLC 9-Jul-84
Fix GTJFN and COMND% interfaces so the entire JFN, including
flags, is saved so JFNS will return the exact string given.
Add MOPBTS, since magtape does not allow both OF%RD and OF%WR
at the same time. At %SETOUT, set the access to SEQOUT so that
successive calculations of SAIDX will yield the same results.
4136 MRB 11-Jul-84
Fix GETDEL to handle RCW's for magtape correctly. FORIO.MAC
4137 JLC 17-Jul-84
Fix magtape ISWTCH and OSWTCH problems for TOPS-20 - they
were not resetting the magtape parameters, which go away
when you close the file. Allow wildcard specs in the
filespec in CLOSE.
4140 JLC 24-Jul-84
Fix ELISTs and SLISTs so they get the right increment for
the right situation.
4141 JLC 3-Aug-84
Fix magtape code for TOPS-10.
4142 MRB 7-Aug-84
Change FOROT. to <FOROT.+0> to get macro to generate the
correct polish stuff.
4143 MRB 17-Aug-84
Change GABS., GMAX1., GMIN1. & GSIGN. to <nnn.+0> to get
macro to generate the correct polish stuff.
4144 JLC 29-Aug-84
Remove code to put FOROTS in its own section, since this
would disallow use of V7 rels. Fix magtape code once again.
4145 JLC 7-Sep-84
Fix DISPOSE=. If it failed, it would leave around
a JFN/channel. Fix handling of no such device. Setup the
file size of files not actually opened for DISPOSE='PRINT'.
4146 MRB 11-Sep-84
Insert code to perform compatibility flagging for the "G"
format specifier. {See FORFMT}
4147 MRB 11-Sep-84
Change the symbol named FLGVX. to FLGV. {See FORINI}
4150 JLC 13-Sep-84
Fix magtape append code yet again, since edit 4144 broke it
for the normal append case.
4151 MRB 19-Sep-84
Magtape stuff, re-write CNFDEV in FOROPN, added BSRDEL & BSRLAB
in FORIO, and modified COMBSR also in FORIO.
4152 JLC 24-Sep-84
Add %SVCNV, a routine to translate an IOWD or symbol vector
address into address and length, at the end of FOROTS.MAC
as a separate module, so that both FOROTS.EXE and FORDDT
can get at it. Finally remove the fake JOBDAT code from
FORINI, replaced with similar, but smarter fake JOBDAT code
in FORMEM. Make FORERR use %SVCNV whenever it looks at the
symbol table.
4153 JLC 27-Sep-84
Fix FORINI/FORDDT start address recording problem.
4154 JLC 1-Oct-84
Don't call error break subroutine for informational messages
or FOROTS internal errors.
4155 JLC 2-Oct-84
Move %SVCNV to FORMSC where anybody can look at it. Include
a /SEARCH of FORSMC.REL in FOROTS' LINK command files.
Fix several bugs in FOROPN regarding CLOSE options which
cause errors.
4156 JLC 23-Oct-84
Set %UDBAD to -1 in %SAVAC so that it is really a flag
of whether I/O is in progress.
4157 MRB 25-OCT-84
Add error messages for the magtape specifiers conflicts,
also add code in FOROPN (CNVDEV) to call them.
4160 MRB 25-Oct-84
Disallow an unformatted, image device to do backspaces or skip
records. (Give an error message.)
4161 JLC 1-Nov-84
Change ASCFLG to IMGFLG, change the tests of MODE=MD.IMG to test
for IMGFLG. Rearrange some magtape code.
4162 RVM 2-Nov-84
Add VAX INTEGER*2 and INTEGER*4 function names.
Modules:
FORCOM FORMSC
4163 RVM 2-Nov-84
Add undotted names of bit functions.
Modules:
FORMSC
4164 JLC 13-Nov-84
Fix edit 4161 regarding IMGFLG, which was not getting set
by DIALOG.
4165 MRB 15-Nov-84
Change the equates for the undotted names to the dotted names
to equate 30 bit addresses instead of just 18 bit addresses.
Modules:
FORMSC
4166 MRB 15-Nov-84
Change the way ALPNIN was creating a word of spaces. It was
under the impresstion that the internal bite-size was the
same as the external byte-size. Internal bytesize is always
7. Module: FORCNV
4167 MRB 15-Nov-84
Added routine MVBITS. Changed ISHFC to ISHFTC.
Module: FORCOM.
4170 JLC 19-Nov-84
Add SEGMENT CODE to FORSYM in FORMSC, so %SVCNV won't be
null when it's called on TOPS-10. In FORMEM, leave the
loop trying to find free pages when the bottom page is
zero. Fix OPEN on a connected unit in FOROPN.
4171 JLC 29-Nov-84
Fix OPEN on a connected unit again. Set the bit in the
RIB on TOPS-10 for CARRIAGECONTROL='FORTRAN', and set
.RBMAX to the 7.03 value in FORPRM. Fix some documentation
in FORMSC.
4172 MRB 4-Dec-84
Fix-up some flagger stuff in FORMSC. For the routines DATE,
TIME, ERRSET, ERRSNS. Also SORT in FORSRT.
4173 MRB 4-Dec-84
Change the FOROP FO$UDB to return the address of %UDBAD
insead of the contents of it. FOROP
4174 JLC 9-Jan-85
Fix FTVAX code in FOROPN so that the units are aligned correctly.
Fix code in DSKRNM so that the FILOP error will be preserved
in T1. Fix %SVCNV in FORMSC so that we can use IOWDs for symbol
tables up to 511 pages long. Remove the new definition of .RBMAX
in FORPRM, since the TOPS-10 group wedged the new bits into the
current RIB. In FORMEM, always mark page 0 as used, since
LINK does not mark it used when we are in extended sections.
In FOROTS, move some code so we don't clear LEVTAB after we
have set it up.
4175 JLC 16-Jan-84
Fix bad AOBJN pointer for TOPS-10 in FOROPN. Fix bounds
check in FUNCT calls in FORMEM will accept either local
or in-section addresses (previously rejected args with
a section number).
4176 MRB 21-Jan-85
Fixed ALOG10 to call ALG10. Was calling ALOG.
(Module FORCOM)
4177 JLC 28-Jan-85
Do not set the bytesize of non-magtape IMAGE devices
to the default bytesize, as that makes IMAGE files
have 7-bit bytes instead of 36-bit bytes.
4200 TGS 28-Jan-85
Implement V7 edit 3442: Initialize ENDP/%ENDP to 777. In section
0, set %ENDP for MINILP to 763 if DDT is in core; if not, leave
at 777. For non-zero sections, simply set page 777 as unavailable.
(Modules FORPRM, FORMEM)
4201 JLC 29-Jan-85
Fix FLOUT so that -1PE10.1 "works": it used to output an
extra zero after the decimal point.
4202 JLC 15-Feb-85
Move ALCHN. and DECHN. to FORMEM (since the FUNCT. entries
for the same functions are there already). Make them use
the AC save routine local to FORMEM. For extended addressing
programs, have DOPDVS unmap all unallocated pages, so that
restarts will work.
4203 JLC 13-Mar-85
In FORMEM, use FMACS, the local saved AC0, and not @AU.ACS.
In FOROPN, set D%IN and D%OUT for TTY to avoid going to OSWTCH code.
Fix DSKREN so that the path block is copied correctly.
Store user-supplied bytesize separately from actual bytesize
used, so that going through the code again will not do
weird things. In FORINI, fix TOPS-10 REENTER code.
4204 MRB 15-Mar-85
Moved DUMVAX and DUMF77 to here from FORINI. Aleviates the
undefinied globals when searching FORLIB for math routines
in a non-FORTRAN program.
4205 JLC 29-Mar-85
In FOROPN, allow *.* for filename for TOPS-10 magtapes, clearing
the filename and extension field so that the TOPS-10 labeled tape
processor gets the "next file" on the tape. Make some of the
pseudonyms for RECORDTYPE invisible for DIALOG, and modify FNDSWT
so that it does not return those strings for INQUIRE.
In FORMEM, fix a bug in the page-marking algorithm, and expand
the PDV scan to all PDVs.
4206 CDM 29-Mar-85 QAR 853072
Fix ISHFTC to work correctly when rotate index is negative.
Module:
FORMSC
4207 CDM 29-Mar-85 QAR 853038
Add SECNDS function for VMS compatability.
4210 JLC 4-Apr-85
Fix FORBOT so that it initializes the lowest FOROTS data
page so that it exists in the .EXE file, and thus will
give a decent error message if the user's program runs
into it.
***** End V10 Development *****
;.VERSION 10
;.AUTOPATCH 11
;.EDIT 4211 DEALLOCATE UNUSED CHANNELS
;; Deallocate channels allocated by accident by TOPS-10 on FILOPs
;; which fail, thus preventing undeserved "out of channels" errors
;; for programs which open a few files many times.
; JLC,2-May-85,SPR:NONE
; A:SRC FORHST.MAC
;.EDIT 4212 DATE 75 BUG
;; Fix yet another DATE75 bug, this one due to the fact that TOPS-10
;; deposits the rename error code in the right half of .RBEXT, where
;; the low-order 15 bits of the creation date reside. This happened
;; only on a rename failure after DIALOG.
; JLC,2-May-85,SPR:NONE
; A:SRC FOROPN.MAC,FORMSG.MAC
;.EDIT 4213 ADD CHECK FOR BLOCKSIZE
;; Make sure BLOCKSIZE is an integral multiple of RECL for fixed-length
;; records on industry magtape; issue fatal error if not.
; JLC,9-May-85,SPR:NONE
; A:SRC FOROPN.MAC
;;.EDIT 4214 RESERVED FOR AUTOPATCH
;;.ENDA 9-MAY-85
;.EDIT 4215 FIX FLAG FOR UNFORMATTED CHARACTER IO
;; Don't clear RECLEN flag for unformatted character data input. This
;; fixes an undeserved "?Bad format binary file" error when FORIO
;; looks for a nonexistent LSCW 3.
; TGS, 4-Jun-85,SPR:NONE
; A:SRC FORIO.MAC
;;.EDIT 4216 RESERVED FOR AUTOPATCH
;;.ENDA 24-JUN-85
;.EDIT 4217 UNABLE TO BACKSPACE A VERY LARGE RECORD
;; A ?FRSRNR Record 1 has not been written error occurs when
;; trying to BACKSPACE a very large record.
; RJD,16-JUL-85,SPR:10-35226
; A:SRC FORIO.MAC
;.EDIT 4220 INITIAL FORM CONTROL LOST ON TTY
;; Fix initial TTY output, which was throwing away all vertical
;; motion control, instead of reducing the number of LFs by 1,
;; as in V7.
; JLC,25-JUL-85,SPR:NONE
; A:SRC FORIO.MAC,FOROPN.MAC
;.EDIT 4223 FLAG FORMAT DEFAULT WIDTHS FOR VAX INCOMPATIBILITY
;; When a default width is used for a format statement, the
;; VAX compatibility flagger should issue a warning.
; RJD,18-SEP-85,SPR:20-20881
; A:SRC FORFMT.MAC,FORMSG.MAC,FORHST.MAC
;;.EDIT 4224 Reserved for Autopatch
;.EDIT 4225 FOROTS CANNOT BE BUILT WHEN FTDSK IS NON-ZERO
;; When FTDSK is set non-zero, FOROPN compiles with errors.
; RJD,23-SEP-85,SPR:20-20881
; A:SRC FOROPN.MAC
;.EDIT 4227 ALLOW SORT TO USE CHARACTER STRINGS
;; When SORT encounters a character string as an argument have
;; it get some OTS memory, make a copy of the character string
;; and null terminate it.
; MRB,31-OCT-85,SPR:10-35368
; A:SRC FORSRT.MAC
;.EDIT 4231 CORRECTION TO EDIT 4223
;; The CALL in edit 4223 should be a PUSHJ P.
; RJD,14-NOV-85,SPR:NONE
; A:SRC FORFMT.MAC
;.EDIT 4233 ILL MEM REF WITH ILLEGAL FORMAT STATEMENTS
;; When an illegal format is specified, TOPS-10
;; dies with an Illegal Memory Reference. TOPS-20
;; completes the program but creates page 777 as
;; a private page.
; RJD,18-NOV-85,SPR:10-35367
; A:SRC FORFMT.MAC,FORMSG.MAC,FORPRM.MAC
;.EDIT 4234 FIX EDIT 4227 FOR TOPS-10
;; Edit 4227 did not check correctly for the total number
;; of arguments to the call to SORT.
; MRB,20-NOV-85,SPR:NONE
; A:SRC FORSRT.MAC
;.EDIT 4235 INSTALL EDIT 4020 TO MTHLIB
;; (See MTHHST for more details)
; DCE,17-Dec-85,SPR:20-21032
; A:SRC MTHHST.MAC,MTHDBL.MAC,MTHGDB.MAC
;.EDIT 4237 CANT USE DDT WITH EXTENDED PROGRAMS ON 5.1 SYSTEMS
;; There is 1000(8) pages in a section
; MRB,30-DEC-85,SPR:20-20995
; A:SRC FORMEM.MAC
;.EDIT 4240 UNDEFINED GLOBAL FLGON. USING MTHLIB WITH MACRO PROGRAMS
;; Added routine DUMON. to get rid of undefined global
;; FLGON. when using macro programs.
; MRB,10-JAN-86,SPR:10-35427
; A:SRC FORCOM.MAC
;.EDIT 4241 MATH LIBRARY INCORRECTLY CALCULATES HIGH SEG STARTING ADDRESS
;; (See MTHHST edit 4021 for more details)
;; The math library may not give the correct name of the math
;; function in which an error was detected.
; MRB,13-JAN-86,SPR:10-35428
; A:SRC MTHHST.MAC,MTHDUM.MAC
;.EDIT 4242 CORRECTION TO EDIT 4223
;; The edit causes all FORMAT descriptors which are not
;; followed by a number to get a VMS incompatiblilty
;; warning.
; RJD,21-JAN-86,SPR:NONE
; A:SRC FORFMT.MAC
;.EDIT 4244 FILES ARE ALWAYS WRITTEN IN .IODMP MODE
;; When closing a file on a TOPS-10 system we should look
;; at the I/O mode specified by the user and perform a rename
;; FILOP. to set the proper I/O mode in the FDB.
; MRB,7-Feb-86,SPR:10-35413
; A:SRC FOROPN.MAC
;.EDIT 4246 CORRECTION TO EDIT 4244
;; When closing a non-disk unit we should NOT do a rename FILOP.
; MRB,11-MAR-86,SPR:10-35413A
; A:SRC FOROPN.MAC
;.EDIT 4247 ABORT ON TOO MANY FILES OPEN ERROR
;; Make the error "FRSOPN Can't open file: Too many open units"
;; a fatal error.
; RJD,11-Mar-86,SPR:10-35434
; A:SRC FOROPN.MAC
;.EDIT 4250 DONT WAIT FOR A CONTROLING TERMINAL IF DETACHED
; MRB,17-Mar-86,SPR:20-20018
; A:SRC FOROPN.MAC
;.EDIT 4251 DONT RENAME FILES OPENED FOR INPUT
;; Another correction to edit 4244! When closing a disk unit
;; which is opened for input only we should NOT do a rename FILOP.
; MRB,1-APR-86,SPR:NONE
; A:SRC FOROPN.MAC
;;.EDIT 4252 RESERVED FOR AUTOPATCH
;.ENDA 08-APR-86
;;
;.AUTOPATCH 15
;.EDIT 4253 FIX .IOMOD FOR PLOTTERS ON TOPS-10
;; Remove check for Ascii only devices.
; MRB,5-MAY-86,SPR:10-35466
; A:SRC FORHST.MAC,FOROPN.MAC
;.EDIT 4254 CRLF BEFORE ERROR MESSAGE WAS LOST
;; after installing edit 4250.
; MRB,6-MAY-86,SPR:NONE
; A:SRC FOROPN.MAC
;;.EDIT 4255 RESERVED FOR AUTOPATCH
;;.ENDA 27-MAY-86
;.EDIT 4256 SET BLOCKSIZE FOR MAGTAPE OPENS'
; MRB,20-JUN-86,SPR:20-21287
; A:SRC FOROPN.MAC
;;.ENDA 27-Jun-86
;;.EDIT 4257 CHANGE ORDERING OF FORLIB
;; Move module FORCOM closer to the end of the library
;; MRB,09-JUL-86,SPR:20-21328
;; A:MSC F20LIB.CCL,F10LIB.CCL
;;.ENDA 28-Jul-86
;;.ENDA 9-Sep-86
;.EDIT 4260 MORE EDIT 4251
;; Defined here for autopatch 15. Edit 4251 was incomplete
;; on autopatch 14.
; MRB,30-SEP-86,SPR:NONE
; A:SRC FOROPN.MAC
;.EDIT 4261 DON'T OPEN .SFD's FOR UPDATE MODE
;; Check for this special case and don't perform the
;; close/open.
; MRB,01-OCT-86,SPR:10-35596
; A:SRC FOROPN.MAC
;;.ENDA 1-Oct-86
;.ENDA
;.ENDV
;.ENDR REVISION HISTORY
***** Begin Version 11 *****
5000 TGS 1-Jul-85
Implement RMS OPEN.
5001 TGS 1-Aug-85
Implement RMS INQUIRE.
5002 TGS 1-Sep-85
Implement RMS CLOSE.
5003 TGS 24-Oct-85
Implement RMS READ.
5004 TGS 10-Nov-85
Implement RMS WRITE
MRB 2-Dec-85
5005 Initial cleanup of MTOP code in FORIO. Moved routine UNFSKP closer
to it's caller. Inserted code to do non-opened rewind for tapes.
In FOROPN added routine MTGTJF and called it by code in MTAOPN.
5006 18-Dec-85
Disallow append mode for labeled magtapes, disallow
Input and output switching for labeled tapes.
Disallow file positoning statements that don't work for labeled
tapes. (endfile,backspace)
5007 TGS/MRB 4-Jan-86
Add RMS error-handling. Add 4TH argument to ERRSNS for RMS STV values.
5010 MRB 5-Feb-86
Allow long subroutine names in traceback messages.
5011 MRB 7-APR-86
Allow long symbol names in namelist names
5012 MRB 6-MAY-86
Fix namelist when using long strings. There are 37(octal)
characters in a name not 31.
5013 TGS 28-May-86
RMS file-positioning.
5014 MRB 6-JUN-86
Implement RMS UNLOCK statement.
5015 MRB 5-JUN-86
Added a check to see if the symbol name is a long symbol name.
If it is then pass the address of the sixbitz string otherwise
pass a sixbit word to the error routine.
5016 MRB 16-Jun-86
Implement MAXREC keyword in open statements.
5017 MRB 19-JUN-86
Fix routine that types out R50 symbol names to type out
the long (SIXBIT) symbol names it they are there.
5020 MRB 3-JUL-86 QAR:931007
Check to see if the error PC is zero and don't type the
symbolic address for $E calls.
5021 MRB 18-AUG-86
Fix long symbol typeout routine SIXPTR (again).
5022 MRB 8-Oct-86
wrong error messages are coming out for blocksize not
specified/intregal multiple. Corrected it.
5023 TGS 18-Nov-86
Pre-diagnose ER$REX erros to avoid various network problems.
5024 MRB 20-Nov-86 QAR:940002,940003
Moved routine DUMON from FORCOM to FORMSC and re-ordered
FORLIB (See F20LIB.CCL&F10LIB.CCL), thus removing edit
4257 and changing edit 4240.
5025 MRB 10-DEC-86 QAR:940014
Change routine SIXPTR in FORERR to use OWGBP to get chars.
(Only needed when user code and FOROTS are in different
sections.)
5026 MRB 7-Jan-87
Use a 30 bit address in routine PROSB. when calling the
error message routine (address of the string name).
See FORMSC.MAC
***** End Revision History *****
\
ENTRY RESET.,RESET$
EXTERN FOROT.,FOROT%,FOROT$
INTERN %VER
%VER==<VER>
RESET.=<FOROT.+0>
RESET$=FOROT$
;Remove .REQUEST of MTHLIB.REL (sigh...) as LINK cannot
;yet support it correctly, namely, .REQUESTed libraries
;are not searched for overlays, and /SEG:LOW is not left
;on when they are searched, so you get MTHLIB linked
;TWOSEG whether you like it or not. For now, we will
;append MTHLIB.REL to the end of FORLIB.REL.
; .REQUEST MTHLIB
END