1123 title /student/
1124 *
1125 * student associated parameters
1126 *
1127 use /student/
1128 *
1129 mslimit equ 10 msec/sec cpu limit
1130 tcpulim equ 1000/mslimit 1000/(max cpu msec/sec)
1131 * the above value is used in *exec3* to compute the
1132 * time-to-pause to limit cpu usage to *mslimit*
1133 * msecs/sec according to the following formula. it
1134 * is also the initial value placed in *tcpumax*
1135 * and is controlled by the -cpulim- command.
1136 *
1137 * time-to-pause = tcpumax * (cpu usage) - elapsed time
1138 *
1139 * where cpu usage = timdata + formtim - tcpuuse - tbckcpu
1140 * elapsed time = sysclok - tenttim - tbcktim
1141 * formtim = cpu usage by formatter
1142 *
1143 *** *temklth* must be equal to *uargmax* as it is used
1144 *** for -jumpout- command
1145 temklth equ 10 length of error markup buffer
1146 joinlth equ 10 join list length
1147 *
1148 *
1149 sbstart bss 0 start of student bank
1150 *
1151 key bss 1 current key being processed
1152 station bss 1 station number
1153 ********************* statistics words *********************
1154 keydata bss 1 upper 30 bits= real, lower = pseudo keys
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 23
1155 timdata bss 1 msecs of cpu time for station
1156 * timdata is the cpu-speed scaled cpu usage
1157 * accumulator for the current session. it is
1158 * collected at the end of each time-slice and is
1159 * added to *tcpu*, the accumulator in the users
1160 * permanent record at the end of each session.
1161 * it includes all foregrnd and backgrnd cpu usage
1162 * while *tbckcpu* accumulates only backgrnd time.
1163 timeark bss 1 marker for starting time of above
1164 ********** lesson statistics *****************************
1165 tkeydta bss 1 keydata saved on initial entry to a lesson
1166 ttimdta bss 1 timdata saved in lower 30 bits
1167 * formtim in upper 30 bits upon entry to a lesson
1168 ttimark bss 1 clock saved on initial entry to a lesson
-------------------------------------------------------------------- part= 4, block=f --------------------------- /student/1
space left = 66
1169 *
1170 *
1171 * *** modes ***
1172 *
1173 * 0 initial entry with new terminal bank
1174 * 1 lesson choice display for console
1175 * 2 i/o holding mode (tutim)
1176 * 3 *** unused *** (old condense error mode)
1177 * 4 lesson execution
1178 * 5 *** unused ***
1179 * 6 return to master
1180 * 7 term processing mode
1181 *
1182 mode bss 1 current execution mode
1183 *
1184 * ioretrn = 1/timing,1/allow stop1,1/do stopchk,
1185 * 12/keyval,9/cmnd,18/mode,18/return address
1186 *
1187 * timing bit will be set if a timing request was
1188 * generated
1189 * allow stop1 bit lets stop1 key fall through to be
1190 * processed by following code
1191 * do stopchk bit enables exit to finish unit if
1192 * stop1 presssed
1193 * keyval is the key value that is allowed to break
1194 * the pause, if zero then all keys allowed
1195 *
1196 ioretrn bss 1 saved return info over tutim
1197
1198 * *ovretrn* is used as follows --
1199 *
1200 * 6/0,18/ovret,18/overlay,18/mainret
1201 *
1202 * ovret = return address in level 0 overlay
1203 * overlay = current level 0 overlay loaded
1204 * mainret = main overlay rj addr in *execov0*
1205 *
1206 ovretrn bss 1 overlay return info over tutim
1207
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 24
1208 *
1209 * nctype holds contingency (as well as b7)
1210 *
1211 * 0 = unit-c
1212 * 1 = arrow-c
1213 * 2 = judge-c
1214 * 3 = ans-c
1215 * 4 = search-c
1216 * 5 = term found-c
1217 * 6 = next-now-c
1218 * 7 = all-ok-c
1219 * 8 = arrow ok-c
1220 * 9 = initial lesson entry-c
1221 *
1222 nctype bss 1 holds execution contingency
1223 nctypep bss 1 holds previous non-pause contingency
1224 *
1225 tblesac bss 4 current lesson -- account
1226 tblessn equ tblesac+1 -- file name
1227 tuname equ tblesac+2 -- main unit
1228 tunamec equ tblesac+3 -- current unit
1229 * (in bottom 48 bits...top 12 other info)
1230 *
1231 lesun bss 1 main unit
1232 ilesun bss 1 current unit
1233 *
1234 *
-------------------------------------------------------------------- part= 4, block=g --------------------------- /student/2
space left = 59
1235 *
1236 long bss 1 6-bit char count input at arrow
1237 *
1238 * *jpargs* (-jumpout- arguments information word) is defined
1239 * on top of long. This takes advantage of the fact that
1240 * when an -arrow- is executed, *jpargs*/*long* is zeroed.
1241 * This is necessary because the arguments are stored in
1242 * *ansinf*, which holds student responses. The top bit
1243 * of *jpargs* is 1 -- if it is not, no arguments are known.
1244 * This is to insure that positive *long* values cannot be
1245 * misconstrued.
1246 *
1247 jpargs equ long
1248 *
1249 limit bss 1 max 6-bit chars limit at arrow
1250 tbarrow bss 1 arrow (1/plot,41/unused,9/x,9/y)
1251 arrchrs vfd 12/2r.,18/0,12/2r.,18/0 arrow chars
+ > >
1252 tbinput bss 1 pointer to location of key input buffer
1253 *
1254 * tbmicro = 1/micro key has been pressed/,1/current font/,
1255 * 1/on for shift encountered (special actions)
1256 * 1/access encountered, 1/oriental encountered,
1257 * 17/unused,18/type of microtable,2/unused,
1258 * 18/microtable lesson number/.
1259 * Type of table only 2 bits (0-3), but ax1 20, sb1 x1 used.
1260 * There are places in "keysin" and "logicx" which check
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 25
1261 * bottom (60-tmicbits) bits nz as test of existence of table
1262 *
1263 tbmicro bss 1 micro char substitution switch and pointer
1264 mactshif equ 0 micro active bit
1265 mfntshif equ 1 font encountered
1266 mkupshif equ 2 shift encountered bit
1267 maccshif equ 3 access encountered bit
1268 morishif equ 4 oriental plato active
1269 tmicbits equ 5 number of bits to clear
1270 * for intializations and tests
1271 tbsize bss 1 size for arrow writing
1272 tbrotate bss 1 rotatation for arrow
1273 rsize bss 1 24/0, 18/256sizex, 18/256sizey
1274 rotate bss 1 24/0, 18/256sine, 18/256cosine
1275 *
1276 ** current executor colors (b/f)
1277 *
1278 xcolors bss 1 12/0, 24/bcolor, 24/fcolor
1279 *
1280 tokword bss 1 word to write for -ok- answer
1281 tnoword bss 1 word to write for -no- answer
1282 tbwndow bss 1 windowing info
1283 nx bss 1 screen x co-ordinate
1284 ny bss 1 screen y co-ordinate
1285 tbmarg bss 1 current x margin
-------------------------------------------------------------------- part= 5, block=a --------------------------- /student/3
space left = 119
1286 tbwhere bss 1 12/answer markup y bias,
1287 * 12/current x margin,
1288 * 18/current x co-ordinate,
1289 * 18/current y co-ordinate
1290 *
1291 * note -- cell tbtab is used by signo and accout
1292 * to store lesson library information. do not
1293 * overwrite tbtab between where it is set in
1294 * signo, and where it is snagged in accout.
1295 * accout depends on the library information being
1296 * in tbtab.
1297 *
1298 tbtab bss 1 tabsets for use by tab key
1299 tbedit bss 1 edit buff info (in users vars)
1300 tbcopy bss 1 copy buff info
1301 *
1302 * *tjugbuf* is set negative as a flag that judging
1303 * buffers must be saved during -judge rejudge-
1304 * processing. see *logicx* and *exec1*.
1305 *
1306 * *tjugbuf* is set zero when no judge buffer is
1307 * currently assigned for saving judging information
1308 * across auto-breaks.
1309 *
1310 * when a judge buffer is assigned for judging
1311 * purposes, *tjugbuf* is set to the buffer number
1312 * and the appropriate bit is cleared in a bit map
1313 * in em shared by the executors.
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 26
1314 *
1315 tjugbuf bss 1 assigned ecs judge buffer
1316 *
1317 * *tjdbuf1* holds the judge buffer numbers for two
1318 * processes which use the judge buffer for saving
1319 * other types of information over auto-breaks.
1320 * array-processing uses a judge buffer for storing
1321 * temporary arrays and the -access- command uses
1322 * one for saving the contents of *tbintsv* and the
1323 * overlay stack while searching the access list.
1324 *
1325 * 24/unused, 18/array buffer, 18/access buffer
1326 *
1327 tjdbuf1 bss 1 alternate judge buffers
-------------------------------------------------------------------- part= 5, block=b --------------------------- /student/3
space left = 94
1328 *
1329 inhibs bss 1 various inhibit and force bits
1330 *
1331 * shift counts for inhibit/force options
1332 *
1333 erashif equ 0 shift to get to fse inhib bit
1334 arrshif equ 1 shift to get to arrow inhibit bit
1335 anseshf equ 2 shift to get to ans-c writing erase inhib
1336 nxtshft equ 3 shift to get to inhib next bit
1337 blnkshf equ 5 to get to inhib blank ans input
1338 cclrshf equ 6 shift to get charset clear bit
1339 storshf equ 7 shift to get storage drop bit
1340 unloshf equ 8 shift to get -comload- unload bit
1341 loadshf equ 9 shift to get -comload- load bit
1342 jmpcshf equ 10 -jumpout- ecs check bit
1343 editshf equ 11 inhibit -edit- bit
1344 fromshf equ 12 inhibit -from- bit
1345 termshf equ 13 inhibit -term- bit
1346 advshif equ 14 inhibit auto advance when arrow satisified
1347 iclrshif equ 15 clear inhibits before setting
1348 datashf equ 16 inhibit dataset drop bit
1349 comshf equ 17 inhibit common drop bit
1350 listshf equ 18 inhibit leslist drop bit
1351 * note -- the above two bits are not really used
1352 * since -inhibit dropcom- and -inhibit droplist-
1353 * have not yet been implemented.
1354 aretshf equ 19 inhibit areturn
1355 *
1356 * bits set by force
1357 *
1358 * note -- lngshif is used to mark boundary between force
1359 * and inhibit bits.
1360 *
1361 lngshif equ 20 force judging upon reaching long limit
1362 fntshif equ 21 automatically insert font as first char
1363 micshif equ 22 continuous micro option
1364 fteshif equ 23 first-erase option
1365 bckshif equ 24 backward writing option
1366 fclrshif equ 25 clear force before setting
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 27
1367 bldshif equ 26 bold writing at arrow
1368 fcapshif equ 27 all caps
1369 *
1370 * bits not set by force/inhibit
1371 *
1372 tmicshif equ 40 toggled force micro
-------------------------------------------------------------------- part= 5, block=c --------------------------- /student/4
space left = 106
1373 *
1374 ansinf bss anslim storage for student answers
1375 *
1376 * these variables are not used during normal
1377 * lesson execution and are therefore *equs* for
1378 * use during condensing, inter-lesson branching
1379 * sign-in and sign-out etc.
1380 *
1381 * *linksav* is located at the end of *ansinf* by
1382 * popular demand even though it is used during
1383 * the processing of the -commonx- and -leslist-
1384 * commands. this causes the overwriting and
1385 * resultant strange erasures of type-ins at
1386 * arrows when these commands are used in judging.
1387 * e. truss 11/3/80
1388 *
1389 savlth equ ansinf saved student bank length
1390 option equ ansinf+1 -getles- operation code
1391 *
1392 * jumpout continue in an application lesson flag
1393 * shift count. bit *jconshf* of option is used
1394 * as this flag. see *exchanx* in *tutorx* for use.
1395 *
1396 jconshf equ 36
1397 *
1398 tblesun equ ansinf+2 destination lesson (4 words)
1399 tlastls equ ansinf+6 name of last lesson
1400 tbinary equ ansinf+7 name of lesson binary
1401 oldcode equ ansinf+8 saved -jumpout- code word
1402 ectries equ ansinf+9 count of -getecs- attempts
1403 saverx1 equ ansinf+10 saved execerr info
1404 lnotesv equ ansinf+15 saved lnotes file over execerr
1405 rounit equ ansinf+20 return-to-router unit
1406 quent equ ansinf+20 time at entry to condense queue
1407 romode equ ansinf+21 return-to-router mode
1408 tconden equ ansinf+21 condensor ordinal
1409 rorjsv equ ansinf+22 return-to-router saved -rj-
1410 tconbuf equ ansinf+22 em address of condensor binary
1411 cerror equ ansinf+22 condense error flag
1412 sgninxs equ ansinf+23 -signin- xstor info
1413 centtim equ ansinf+23 time at entry to condensor
1414 sgninrj equ ansinf+24 -signin- saved -rj-
1415 linksav equ ansinf+25 saved -rj- trail (5 words)
1416 *
-------------------------------------------------------------------- part= 5, block=d --------------------------- /student/4
space left = 7
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 28
1417 *
1418 *
1419 * the following variables may be used to save
1420 * status over interrupt within a command
1421 *
1422 tkey bss 1 future tutor *key* variable
1423 tokey bss 1 save original key over i/o
1424 tbintsv bss tintsvl (used as work by everything)
1425 *
1426 helpsav equ tbintsv+4 saved unit over *helpout*
1427 *
1428 savxerr equ tbintsv+11 save exec error info (5 words)
1429 * (tutorx, getles, exec7, tovlay, tutor1).
1430 *
1431 savxerr equ tbintsv+11 save execution error info
1432 erxargn bss 1 arg number in which execerr occured
1433 *
1434 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1435 tberrmk bss 1 number of error mark ups
1436 * during judging
1437 tbmkbuf bss temklth buffer of error markups
1438 jpargbf equ tbmkbuf -jumpout- args buffer (10 wds)
1439 *
1440 * note -- *jpargs* is -equ-ed to *long* -- see comment there
1441 *
1442 *
1443 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1444 * see the beginning of deck *mtutx* for documentation
1445 * of the format of the following two words.
1446 *
1447 tpptwd bss 2 info for ppt-terminals
1448 tpptwd1 equ tpptwd+1
1449 *
1450 *
1451 * *tbsstor* saves system storage information
1452 * for -exchang-.
1453 * format:
1454 * 1/state (lsac?),
1455 * 23/unused,
1456 * 18/site set,
1457 * 18/storage lesson number for -exchang-
1458 *
1459 tbsstor bss 1
1460 tbexlsn bss 1 lesson to -exchang- to
1461 tbcomls bss 5 common lesson number
1462 tbxstor equ tbcomls+1 ecs extra storage lesson number
1463 * following two words are set only if -allow-ed by router
1464 * (sign bit on tbrcom set if read-only allowed)
1465 tbrcom equ tbcomls+2 router common lesson number
1466 trvread equ tbcomls+3 router variables lesson number
1467 * tlvless has the following format:
1468 * sign bit -- set if need to pop stack,
1469 * 5/unused, 18/local var lesson length,
1470 * 18/local var lesson number, 18/stack pointer
1471 tlvless equ tbcomls+4
1472 *
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 29
1473 lvucnt bss 1 number of local vars this unit
1474 lvecsad bss 1 ecs address of local var lesson
1475 *
1476 tcomset bss 6 common loading selections
1477 tstoset equ tcomset+3 storage loading selections
1478 *
1479 tinsfac bss 2 instructor file name
1480 tinsfil equ tinsfac+1
1481 *
1482 nerror bss 1 type of file error
1483 *
1484 *
1485 * -joinl- format:
1486 * 5unused/7rargs conditional index/18lesson number
1487 * 18unit number/12command bias
1488 join bss 1 number deep in joins
1489 joinl bss joinlth holds return info for backing out of joins
-------------------------------------------------------------------- part= 5, block=e --------------------------- /student/5
space left = 81
1490 errunit bss 1 execution error unit to goto
1491 inx bss 1 pointer for compiled calc code
1492 tiofreq bss 1 for io frequency checks
1493 *
1494 * value of real-time clock saved at time of entry
1495 * of current lesson.
1496 *
1497 tenttim bss 1 begin time for cpu use checks
1498 *
1499 * value of timdata+formtim at beginning of current
1500 * lesson. used in computing time-to-pause to limit
1501 * cpu usage and *proctim*.
1502 *
1503 tcpuuse bss 1 accumulated msec cpu use
1504 *
1505 * tbckcpu is the cpu-speed scaled background cpu
1506 * usage accumulator for the current session. it is
1507 * collected whenever switching from backgrnd to
1508 * foregrnd or when entering a lesson (mode 4
1509 * initializations in *tutorx*).
1510 *
1511 tbckcpu bss 1 -backgnd- cpu use
1512 *
1513 * bcktim is the real-time accumulator for processing
1514 * done in background mode. it is updated whenever
1515 * switching from backgrnd to foregrnd or when
1516 * entering a lesson (mode 4 initializations in
1517 * *tutorx*).
1518 *
1519 tbcktim bss 1 -backgnd- elapsed time
1520 tcpumax bss 2 maximum msec/sec
1521 * see the description of *tcpulim*.
1522 tbtdata bss 2 temp (lesson specified) data
1523 terror bss 1 error feedback to user
1524 treturn bss 1 error/status feedback to user
1525 trouinf bss 3 router info (see *route* comnd)
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 30
1526 *
1527 *tbrvnum = 1/in-router flag,23/0,18/#of rvars,18/rvar less#
1528 * (in-router flag is set only while in the user's trouter)
1529 *
1530 tbrvnum bss 1 router variables lesson number
1531 tcatacc bss 2 catalog file name
1532 tcatnam equ tcatacc+1
1533 tallot bss 1 ecs allotment info
1534 taccnt bss 1 accounting info
1535 taccnam bss 1 account name (temporary, until
1536 * number-name conversion avail.)
1537 *
1538 * low 18 bits = cm address of random number seed
1539 *
1540 tseed bss 1 address of random number seed
-------------------------------------------------------------------- part= 5, block=f --------------------------- /student/6
space left = 142
1541 seedms equ 18d mask for *tseed* field
1542 *
1543 tjkeys bss 1 other keys to start judging
1544 *
1545 * low 6 bits = argument count
1546 * next 3 = terminal mode (erase,rewrite,write
1547 * inverse,add,sub)
1548 * next 6 = -sayl- language number
1549 * next 3 = unused
1550 * next 6 = command count for -step-
1551 * top 18 = -nphelps- counter
1552 *
1553 tbnargs bss 1
1554 stepcsf equ 6+3+9 shift for command count
1555 *
1556 * low 3 bits = sized shift/access/font bits
1557 * next 7 = sup/sub raise (signed)
1558 * next 18 = margin x/y position
1559 * next 1 = altfont flag
1560 *
1561 tbwrite bss 1 info for sized write
1562 numcond bss 1 number of condenses
1563 *
1564 * low 12 bits = timel unit number
1565 * next 12 bits = timer unit number in router
1566 *
1567 timing bss 1 timing flag word
1568 timeon equ 59 set means -time- in progress
1569 tmrstop equ 58 stop1 is due to -timer-
1570 tmldone equ 57 -timel- done but not processed
1571 tmrdone equ 56 -timer- done but not processed
1572 tmedone equ 55 -time- done but not processed
1573 *
1574 * low 18 bits = entry key for auto-break
1575 * next 18 bits = return address
1576 * next 6 bits = -finish- unit time-slice counter
1577 * next 12 bits = -finish- unit -ext- counter
1578 * next 5 bits = unused
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 31
1579 * top 1 bits = -backgnd- flag
1580 *
1581 autkey bss 1
-------------------------------------------------------------------- part= 5, block=g --------------------------- /student/7
space left = 81
1582 tbpause bss 1 -1 if pause occurred in judge or ans
1583 *
1584 tbsflag bss 1 scribe flag word
1585 scrbshf equ 0 indicates scribe user
1586 cacwshf equ 1 cware access counter flag
1587 * bits 0 - 57 of *tbsflag* are unused.
1588 *
1589 taucode bss 1 author editing code
1590 *
1591 * tbanswt contains 12/length,16/bias,5/0,9/margin,9/x,9/y
1592 *
1593 tbanswt bss 3 zero or contains last ans-c writing loc-lth
1594 *
1595 * second word contains number of unit containing command
1596 * third word contains rotate
1597 *
1598 thelpwt bss 3 zero or on-page-help writing
1599 *
1600 tnext bss 1 unit to -next- to
1601 tnext1 bss 1 unit to -next1- to
1602 tback bss 1 unit to -back- to
1603 tback1 bss 1 unit to -back1- to
1604 tstop bss 1 unit to -stop- to
1605 tstop1 bss 1 unit to -stop1- to (system les)
1606 *
1607 thelp bss 1 unit to -help- to
1608 thelp1 bss 1 unit to -help1- to
1609 tlab bss 1 unit to -lab- to
1610 tlab1 bss 1 unit to -lab1- to
1611 tdata bss 1 unit to -data- to
1612 tdata1 bss 1 unit to -data1- to
1613 *
1614 tbase bss 1 base unit for off-page help
1615 *
1616 tfinish bss 1 unit to execute at finish
1617 timain bss 1 for -imain- command
1618 tiarrow bss 1 for -iarrow- command
1619 tiarrowa bss 1 for -iarrowa- command
1620 tearrow bss 1 for -earrow- command
1621 terase bss 1 -eraseu- command
1622 *
1623 tterm bss 1 holds last term requested
1624 *
1625 thelpf bss 1 for -phelp- type commands
1626 * top bit = 1 if in on-page-help
1627 * next = 1 if help originated at -pause-
1628 * next = 1 if -arrow- encountered during help
1629 * bottom 6 bits = main unit contingency
1630 *
1631 * the help join stack below is overwritten during
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 32
1632 * lesson signout -- see the *savetb* routine in
1633 * deck lesson.
1634 *
1635 hjoin bss 1
1636 hjoinl bss joinlth join stack for on-page-help
-------------------------------------------------------------------- part= 6, block=a --------------------------- /student/8
space left = 140
1637 *
1638 * the arrow join stack below is overwritten during
1639 * lesson signout -- see the *savetb* routine in
1640 * deck lesson.
1641 *
1642 ajoin bss 1 join count at arrow
1643 ajoinl bss joinlth join list at arrow
1644 *
1645 * make sure there is enough room for *savetb* (deck
1646 * lesson) to save the *tbintsv* cells.
1647 *
1648 errng *-hjoinl-tintsvl
1649 *
1650 *
1651 tsploc bss 1 save location of specs command
1652 tspecs bss 1 holds specs command bits
1653 tjflags bss 1 holds judging flags (e.g., spell,order)
1654 tansok bss 1 answer judgement (-1 = ok, other = bad)
1655 tjudged bss 1 -1=ok,0=no(specif),1=no(univ),2=unjudged
1656 tanscnt bss 1 answer command counter
1657 * -2 = over 40 words/entities
1658 * -1 = no answer match
1659 * +0..n = answer command matched
1660 tjcount bss 1 number of characters in student answer
1661 twcount bss 1 number of words in student ans
1662 *
1663 topcnt bss 1 total number of operators encountered
1664 tvarcnt bss 1 count of number of variables referenced
1665 tformok bss 1 compilation error (-1 ok, 0,1...etc errors)
1666 *
1667 tdisku bss 1 disk unit being referenced
1668 tpname bss 1 name of disk pack
1669 tfname bss 1 name of current file
1670 tfinfo bss 1 file information word
1671 tfindx bss 1 index to file info word
1672 tfxclok bss 1 ms clock when index obtained
-------------------------------------------------------------------- part= 6, block=b --------------------------- /student/9
space left = 83
1673 .mds ifeq *f,1 mastor disk system
1674 *
1675 * format of *tfilb*
1676 *
1677 *t 30/exit jump for one of fileloc/attachp/detachp,
1678 *t, 6/unused,
1679 *t, 24/*filereq* buffer address
1680
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 33
1681 tfilb bss 1 *filereq* buffer information
1682 .mds endif
1683 tioecs bss 1 address of ecs buffer used
1684 * during subfile operations.
1685 *
1686 txfacc bss 2 file name passed to processor lesson
1687 txfile equ txfacc+1
1688
1689 * active file buffer --
1690
1691 tafbuf bss twpf active file infomation packet
1692 tafname equ tafbuf name of currently active file
1693 tafinf1 equ tafbuf+1 active file information word 1
1694 tafinf2 equ tafbuf+2 active file information word 2
1695
1696 * inactive file table --
1697
1698 tiflth equ 2 no. of files in table
1699 tiffwa bss twpf*tiflth fwa of inactive file table
1700
1701 * equates for datasets/namesets/groups
1702
1703 tdsname equ tafname active dataset name
1704 tdsparm equ tafinf1 active dataset parameters
1705 tdsinf equ tafinf2 active dataset information
1706 tdsnam2 equ tiffwa inactive dataset name
1707 tdspar2 equ tiffwa+1 inactive dataset parameters
1708 tdsinf2 equ tiffwa+2 inactive dataset information
1709
1710 bdsname equ tdsname-tdsname
1711 bdsparm equ tdsparm-tdsname
1712 bdsinf equ tdsinf-tdsname
1713
1714 trecnam bss maxnwds current nameset record name
1715 tdskacc bss 2 counts of disk accesses and finish accesses
1716 * format: 6/finish unit counter,27/user,27/system
1717 tbdskac equ tdskacc+1 background counts of disk accesses
1718 tdskblk bss 2 count of disk blocks transferred
1719 * format: 30/user,30/system
1720 tbdskbl equ tdskblk+1 background count of disk blocks transferred
1721 tsdskac bss 1 session disk access statistics
1722 * format: 30/user,30/system
1723 *
1724 tbadatt bss 1 bad -attach- counter
1725 * format: 42/time of last bad -attach-
1726 * 18/no. of bad -attach-es
-------------------------------------------------------------------- part= 6, block=c --------------------------- /student10
space left = 108
1727 *
1728 tbllist bss 1 lesson list pointer
1729 tbdfinf bss 2 current data read buffer info
1730 tbclnum bss 1 charset lesson number
1731 tbcseta bss 3 character set name
1732 tbcset equ tbcseta+1 charset file name
1733 tlinset bss 1 lineset lesson number
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 34
1734 tcommx bss 1 commonx timer
1735 *
1736 *
1737 gdata bss 1 1/lxflag,1/lyflag,9/xorg,9/yorg,
1738 * 10/x-,10/y-,10/x+,10/y+
1739 gdata2 bss 1 to be used for function plots
1740 gxmax bss 1 value of x at x+ end of x-axis
1741 gymax bss 1 value of y at y+ end of y-axis
1742 xoffset bss 1 value of x at origin
1743 yoffset bss 1 value of y at origin
1744 *
1745 rorg bss 1 24/0, 18/xorigin, 18/yorigin
1746 *
1747 * information on previous lesson
1748 *
1749 tfroma bss 1 from account
1750 tfroml bss 1 lesson
1751 tfromu bss 1 unit
1752 tretrnu bss 1 next physical (return) unit
1753 *
1754 tjouts bss 1 count of jumpouts
1755 tstogs bss 1 count of storage requests
1756 *
1757 tjsym bss 1 judging symbol set name
1758 *
1759 tbxtb bss 1 extended student bank length
1760 tpptinf bss 1 ppt program info word:
1761 * 16/m5x address,16/relocation address,12/unused,16/loading address
1762 *
1763 * see *getvar* for format of *ttparam*.
1764 *
1765 ttparam bss 2 terminal type parameters
1766
1767 tacplus bss 1 access-plus individual info
1768 acplshf equ 1 shift to access++ flag
1769 * sign bit = bypass courseware library access checks
1770 * next bit = access++ validation
1771 * next 40 bits = unused
1772 * low 18 bits = access++ curriculum number
1773 tinst bss ntinst installation specific words
-------------------------------------------------------------------- part= 6, block=d --------------------------- /student/a
space left = 38
1774 title permanent part of student bank
1775 *
1776 * * permanent part of student bank
1777 *
1778 *** note -- also change definitions in -records- command.
1779 *
1780 * place here all variables that should be saved on
1781 * the disk between student sessions.
1782 *
1783 * the order of these variables must remain unchanged
1784 * for the system records editor to work.
1785 *
1786 * add new variables at the end (just before studvar)
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 35
1787 * variables cannot be deleted from the following.
1788 *
1789 rcstart bss 0 start of permanent records
1790 tname bss 1 holds first 10 chars of student name
1791 tname1 bss 1 rest of name
1792 tcode bss 1 password for this user
1793 *
1794 tlesson bss 1 lesson name used for restart
1795 tunit bss 1 unit name used for restart
1796 *
1797 * (see signin and signoff in lesson plato for how
1798 * this number is accumulated and maintained. you
1799 * can add -day- to it and get total elapsed time.)
1800 *
1801 texpo bss 1 total time on system (minus -day-)
1802 lstatus bss 1 set by -status- command
1803 pinfo bss 3 permutation info bank
1804 mpinfo bss 3 modified permutation info bank
1805 *
1806 * This bit word is used for various system
1807 * functions and is not cleared at new units like
1808 * the inhibit word. Bits are numbered starting at
1809 * the left (top) with 0; counts are thus left shift
1810 * counts to position the desired bit in sign bit.
1811 * It is cleared on initial entry to a lesson and
1812 * hence does not really belong here.
1813 * If you want the bit to be cleared
1814 * at each new arrow, see -clrbits- in -exec1-.
1815 *
1816 tbits bss 1 bits for various things
1817 judgbit equ 0 judging type 0=arrow,1=jarrow
1818 brkbit equ 1
1819 stepbit equ 2 -step- option
1820 ersubit equ 3 -eraseu- command
1821 fstebit equ 4 force firsterase in operation
1822 iarrbit equ 5 -iarrow/a- unit executed
1823 quitbit equ 6 judge -quit- bit
1824 arrtpbt equ 7 0 if arrow, 1 if arrowa
1825 * the following 3 equates are for the -iospecs- command
1826 modsbit equ 9 1 if mods in -iospecs- else 0
1827 trncbit equ 10 1 if no-truncate option
1828 delmbit equ 11 1 if deleted lines included
1829 pshrbit equ 12 1 if short recs -permit-ed
1830 wrtnbit equ 13 1 if writens inhibited
-------------------------------------------------------------------- part= 6, block=e --------------------------- /student/b
space left = 59
1831 *
1832 * this is sum of all -timdata- since record started
1833 *
1834 tcpu bss 1 accumulated cpu time over all sessions
1835 ttype bss 1 type of user...student,author,multiple
1836 tsecure bss 1 signon security stuff
1837 tbldata bss 1 individual data collection options
1838 bss 1 data options a lesson can set
1839 tbdfile bss 1 data file name
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 36
1840 tbarea bss 1 -area- name
1841 areadat bss 3 -area- command data
1842 trecst bss 1 starting date of record
1843 tlasday bss 1 last date record used
1844 tlastim bss 1 last time record used
1845 trecbit bss 1 bits for various things.. not
1846 * cleared except when the record is created
1847 talksf equ 59 allow all talk bit
1848 * (lx7 talksf places talk bit in sign bit)
1849 talkcsf equ 58 allow group talk bit
1850 extshf equ 57 allow all -ext- bit
1851 extcshf equ 56 allow group -ext- bit
1852 restshf equ 55 flag two-arg restart executed
1853 * bit 54 is consultant flag
1854 usershf equ 53 "on system" listing flag
1855 pnshf equ 52 new personal notes flag
1856 snshf equ 51 new student notes flag
1857 pnfshf equ 50 personal notes file exist flag
1858 snfshf equ 49 student notes file exist flag
1859 sndshf equ 48 1 if snotes/lnotes disabled
1860 * bit 47 is the operator flag
1861 ptsbshf equ 46 1 if pts use ok
1862 rcopshf equ 45 1 if record copied/renamed
1863 bchbshf equ 44 1 if batch job ok
1864 talkasf equ 43 allow account talk bit
1865 ckptshf equ 42 1 if records to be checkpointed
1866 svarshf equ 41 1 if svars kept on disk
1867 rvarshf equ 40 1 if rvars kept on disk
1868 saveshf equ 39 1 if -records save- in effect
1869 dchkshf equ 38 1 if -checkpt on- default
1870 cchkshf equ 37 1 if checkpointing currently on
1871 taskshf equ 36 1 if recieve term - ask
1872 falshf equ 35 force application lesson at signon/off
1873 scalshf equ 34 student may choose applic lesson at so/so
1874 filedsf equ 33 -filedit- flag, 1 if editor lesson
1875 mailshf equ 32 *zpmail* flag, 1 if unread email
-------------------------------------------------------------------- part= 6, block=f --------------------------- /student/c
space left = 56
1876 *
1877 timcond bss 1 elapsed time condensing
1878 tcelaps bss 1 elapsed time this day
1879 tdisk bss 1 disk accesses (cumulative)--30/user,30/syst
1880 tbscore bss 1 lesson score - res word lscore
1881 taccnt1 bss 1 lesson use accounting info
1882 tioplth equ 2
1883 tiopts bss tioplth instructor routing options
1884 *
1885 * format: 6/stats level,54/texpo value when disk stats begun
1886 *
1887 tdexpo bss 1 marker for when disk stats turned on
1888 nosun bss 1 42/nos user,18/tslink info
1889 tedmod bss 1 editing modword (system people only)
1890 *
1891 * format of unique student id number is
1892 * 18/system number
1 file platxt at 4:01 pm on sunday, may 4, 2025 page 37
1893 * 22/group number
1894 * 20/record number
1895 *
1896 tid bss 1 unique id number for record
1897 nosfam bss 1 42/nos family,18/0
1898 tlessac bss 1 restart lesson account name
1899 tbdfacc bss 1 data file account name
1900 tsappa bss 1 student app. lesson account
1901 tsappl bss 1 student application lesson
1902 tsrouta bss 1 student router account
1903 tsrout bss 1 student router
1904 tscurra bss 1 student curriculum account
1905 tscurr bss 1 student curriculum
1906 tpmailf bss 1 student mailfile name
1907 *
1908 * tcolors = 12/unused,24/background color,24/foreground color
1909 *
1910 tcolors bss 1
1911 *
1912 * tlastat = 48/znetid, 12/station of last usage.
1913 tlastat bss 1
1914 *
1915 tmailp bss 1 mailfile preference flags
1916 *
1917 * note - when new cells are added to the permanent
1918 * student bank, corresponding changes should
1919 * also be made in rectext for the -records-
1920 * command.
1921 *
1922 *
1923 studvar bss varlim
1924 *
1925 *
1926 rclth equ studvar-rcstart length of terminal bank disk records
1927 *
1928 * the following are not sent back to -ecs- as terminal bank stuf
1929 * they must immediately follow the studvar block.
1930 *
1931 sbend bss templim calc temporaries (not sent to ecs)
1932 *
1933 *
1934 sbmax equ sbend-sbstart get total length of terminal bank
1935 *
1936 *
1937 tblth equ sbmax temporary...exec2/lex1