User Tools

Site Tools


Action unknown: copypageplugin__copy
plato:architecture:studentbank

Student Bank

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

plato/architecture/studentbank.txt ยท Last modified: 2025/05/04 14:09 by Dale Sinder