File: BUIL40.LS of Disk: Disks/Working/New-24-05-2015
(Source file text)
/33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 1 /33 OS/8 V3D BUILD / / / / / / / / / /COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION / AND 1979 BY DATAPLAN GMBH / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / / /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 2 /ABSTRACT-- /BUILD IS THE SYSTEM CONFIGURATOR FOR THE OS/8 PROGRAMMING /SYSTEM. WITH BUILD, THE DEVICES WITHIN A PARTICULAR /SYSTEM CAN BE RAPIDLY AND EASILY CHANGED. BUILD ALSO /PROVIDES THE FACILITY FOR CREATING AN INITIAL OS/8 SYSTEM /FROM BINARY PAPER TAPES OR CASSETTES. /V3 CHANGES /0. MADE BUILD SUPPORTABLE /1. ADDED VE COMMAND (CURRENT VERSION # IS 3X WHERE X IS PATCH LEVEL) /2. FIXED PROBLEM WITH Z'S AND 9'S IN FILENAMES /3. CHANGED LENGTH OF DF32 /4. FIXED PROBLEM WITH RK8 BOOTSTRAP RECORD. /5. ON LOAD, NULL EXTENSION FIRST SEARCHES FOR .BN /6. CR TO $ DOESN'T GIVE ERROR /7. FIXED BUG WITH BUILDING ROM SYS /8. RUBOUTS TO BOL GIVE $ /9. ^U RETYPES $ /10. ASSUME DSK: IF NO DEV GIVEN WITH LOAD /11. NO DOT IS PRINTED IF NO EXTENSION /12. ^O STUFF NEW /13. ALLOW PARITY ^C /14. ADDED EXAMINE COMMAND /15. FIXED BUG RE ACCESSING USR TABLE VIA POINTER /16. CLEANED UP MOVE ROUTINE /17. CLEANED UP NUMBER TOO BIG CHECKER /18. OVERFLOW ERROR MESSAGE CHANGED TO 'BAD ORIGIN' /19. DON'T ALLOW NAMES OVER 6 CHARS TO SPILL INTO EXTENSION; / DON'T ALLOW MULTIPLE EXTENSIONS /20. INCREASED NUMBER OF ALLOWABLE ENTRY PTS/HANDLER TO 16 (DEC) /21. CLEANED UP SYMBOL PRINT ROUTINE /22. GOT NAMES IN TABLE TO LINE UP. /23. INSERT GRPNAME <CR> INSERTS FIRST HANDLER /24. INSERT GRP,DEV1,DEV2,DEV3,... /25. INSERT GRP,DEV1-5,... /26. SAME FOR DELETE AND REPLACE /27. COUNT DEVICES AND SLOTS ONLY ON BOOT /28. FIXED BUG RE SYS RF08=4023 /29. GENERAL SUPPORT OF 2-PAGE SYS HANDLERS /30. ADDED QL COMMAND /31. SETS SA=00200, JSW=0 /32. UNLOAD UNLOADS AND DELETES /33. ADDED DSK COMMAND /34. BUILD COMMAND /35. PRINT TELLS YOU ABOUT DSK /36. TOOK OUT LOC DEPENDENT CHECK FOR SYSTEM HANDLERS /37. INSERT ALLOWS SETTING # OF PLATTERS /38. HANDLER HEADER LOADS DIRECTLY INTO DESCRIPTOR TABLE /39. USES EXTRA CORE IF AVAILABLE (ALSO CHECKS SOFTWARE CORE SIZE) /40. STOPS ECHOING ON INPUT LINE OVERFLOW /41. *'S SYSTEM DEVICE /42. REMEMBERS SYS ACROSS A BOOT /43. 'Y' INSTEAD OF 'YE' /44. BO CHECKS DCB IN CORE TO SEE IF NEED REWRITE MONITOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 2-1 /45. ALLOW UNLOADING ENTRY POINT NAMES /46. CTL COMMAND /47. EACH COMMAND HAS ITS OWN MAXIMUM INPUT LINE SIZE /48. ADDED CORE COMMAND /49. FIXED ^U TO WRITE ZERO DIRECT MSG BUG /50. HIT CONTINUE AFTER 'SYS ERR' TO RETRY /51. PRESERVED DATE ACROSS BOOT /52. MULTIPLE LOADS AND UNLOADS /53. LOAD FROM SCRATCH USES INTERNAL ACTIVE HANDLERS /54. CASSETTE SUPPORT /55. SETS CORE CONTROL BLOCK /CHANGES SINCE FIELD RELEASE /A 'NO ROOM' DOESN'T PRINT 'BAD LOAD' /B NO. OF ENTRY POINTS NOW CORRECTLY CHECKED FOR /C FIXED BUG RE BUILDING TD8E FROM TD8E /D BOOT CMD DISABLES BUILD CMD /E JSW SET TO 1 BEFORE CHAINING TO ABSLDR /F P CMD BUG FIXED /G ALTER BUG FIXED /H LENGTH OF INPUT LINE SYMBOLIC /I SOFCOR STUFF OPTIMIZED /J QL DOESN'T PRINT SPACE BETWEEN SYS'S GRP:NAME /K FIXED BUG IN 32K /L PAPER TAPE PUTS HLT IN 7600 /THINGS TO DO: /? DIES IF DATA OCCURS BEFORE *0 /? BOOT.ZE, .NZ CMD? /? GET 2-PAGE BIT OF CURRENT SYSTEM /CHANGES FOR MAINTENANCE RELEASE V3C: / 7-AUG-75 /1. CHANGED VERSION NUMBER TO V5 /2. INCORPORATED PATCH SEQ #1 (DSN APRIL 1975) / ZERO LOCATION SOFSET WHILE BUILDING /3. INCORPORATED PATCH SEQ #2 (DSN NOV. 1974) / DISMISS USR AFTER ?NAME ERROR /4. INCORPORATED PATCH SEQ #3 (DSN MARCH 1975) / DECREASE SYSTEM SIZE BY 5 (FOR ABSLDR) WHEN BUILDING FROM PAPER TAPE /5. INCORPORATED PATCH SEQ #4 (DSN APRIL 1975) / ADDED 'SIZE' COMMAND TO BUILD /6. FIXED BUG WHICH CAUSES SYSXY.RS NOT FOUND TO BE PRINTED / ON BOOTXY.RS COMMAND /CHANGES FOR V3D: / 1-MAY-77 /1. FIXED PROBLEM WITH CASSETTE BUILD (JSW WAS SET WRONG) /2. ALLOWED SAVING OF HIGH-ORDER DATE BITS /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 3 /BUILD PAGE 0 0001 *1 00001 7402 HLT /SAFETY HALT AND PATCH SPACE 00002 0000 SAV1, 0 00003 0000 SAV2, 0 /SAVES GROUP NAME /POINTER TO BATCH ROUTINE (GROSS BUT NEEDED THE ROOM) 00004 0315 BATT, BATTST /AGAIN GROSS BUT WHAT CAN I SAY? 0010 *10 /AUTO INDEX REGISTERS 00010 0000 XR1, 0 /GENERAL PURPOSE REGISTERS 00011 0000 XR2, 0 00012 0000 XR3, 0 00013 0000 XR4, 0 /USED TO BUILD IMAGE TABLES 00014 0000 XR5, 0 00015 0000 LXR, 0 00016 0000 GNMXR, 0 00017 0600 L600, 600 0020 *20 00020 0000 COUNT, 0 /GENERAL COUNTER LOCATION 00021 0000 CHAR, 0 /CHARACTER BUFFER 00022 0000 TEMP, 0 /TEMPORARIES 00023 0000 TMP1, 0 5400 BUFFER=5400 6000 BINARY=6000 0400 DEVBUF=0400 /FIRST HANDLER AT 10400 /FOR REASONS TOO LONG TO GO INTO HERE, /BUT WHICH HAVE TO DO WITH CURIOUS /PROPERTIES OF THE NUMBER 0, /HANDLERS CAN'T START AT 0. /THEY COULD HAVE STARTED AT 200. 7747 SOFSET=7747 /SYSTEM OFFSET. (CURRENTLY =0) 5400 PG7600=BUFFER /RECORD 0 (IMAGES OF BOTH 7600'S) 4113 LDRCTL=4113 /CHECK OS/8 ASSEMBLY 00024 0000 NAME1, 0 /NAME1-4 HOLDS FILE AND DEVICE NAMES 00025 0000 NAME2, 0 00026 0000 NAME3, 0 00027 0000 NAME4, 0 00030 6400 TABLMT, DSCTAB /HIGH CORE END OF DESCRIPTORS /FIRST FREE LOCATION 00031 0000 SIZE, 0 00032 0400 HNDPTR, DEVBUF /POINTS TO FIRST FREE LOCATION IN HANDLER TABLE 0076 BLDSAV=76 /**** WILL DESTROY PREVIOUS FILES /START OF 40 BLOCK TO SAVE BUILD IN 0010 HDRSIZ=10 /NUMBER OF ITEMS IN A DESCRIPTOR 00033 6400 DSCPTR, DSCTAB /ALWAYS POINTS TO BEGIN OF CURRENT DESCRIPTOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 4 00034 0000 SLOT, 0 00035 0000 DSKG1, 0 /NAME OF 'DSK' 00036 0000 DSKG2, 0 00037 0000 DSKP1, 0 00040 0000 DSKP2, 0 00041 0000 NEWPAG, 0 00042 0000 OLDPAG, 0 00043 0000 NEWCOR, 0 /NEW CORE MAX 00044 0000 SAVDAT, 0 /REMEMBERS DATE ACROSS A BOOT 7666 DATEWD=7666 00045 0001 FLAG2, 1 /0 IF PREVIOUS SYSTEM HAD A 2-PAGE HANDLER /SAMSYS, 1 /0 IF DIDN'T SPECIFY NEW SYS 0000 BLOK66=0 00046 0000 SYSDCB, 0 7744 SA=7744 7746 JSW=7746 /BOOTDV, 0 /HANDLER ADDRESS OF DEVICE WE'RE BOOTSTRAPPING TO 00047 0000 SAVHID, 0 /HIGH-ORDER DATE (BITS 3-4) /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 5 /BEGLIN: 72 CHAR LINE BUFFER /NEW BUILD CORE ALLOCATION: /0000-5177 BUILD (ABSLD MUST BE ABOVE 4177) /5400-5777 DEVICE HANDLER FOR LOAD /5200-5377 PAPER TAPE/INIT/LINE BUFFER /6000-6377 INPUT BUFFER FOR LOAD (TEMP LOC OF USR) /6400-7577 DESCRIPTOR TABLE (DSCTAB) /BINARY MUST FOLLOW BUFFER /FIELD 1: HANDLERS (0400-7577) /10000-10377 BLOK66 BUFFER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 6 0200 *200 00200 7610 SKP CLA /ENTRY FROM 'R BUILD' 00201 7402 HLT /CHAIN ENTRY ADDRESS 00202 1577 TAD I [7600 /SEE IF SYSTEM ALREADY EXISTS 00203 7041 CIA 00204 1176 TAD [4207 00205 7640 SZA CLA /IF NOT, BUILD SYSTEM FROM PAPER TAPE 00206 7201 CLA IAC /NOTE FACT THAT OS/8 AINT AROUND 00207 3575 DCA I [RETSW 00210 4777 JMS I (CORE 00211 3776 DCA I (AMTCOR /FIGURE OUT HOW MUCH CORE WE HAVE 00212 4775 JMS I (GOOD /DO SOME INITIALIZATION; IT'LL DO YA GOOD 00213 1374 TAD (BATLS-1 /SET POINTER FOR BATCH OVERLAY 00214 4773 JMS I (BATTST /GO CHECK FOR CALL FROM BATCH 00215 6201 CONFIG, CDF 0 00216 3772 DCA I (ECHOFLG /ALLOW TYPING 00217 4574 JMS I [CRLF 00220 1173 DOLR, TAD ["$ /OUTPUT A $ BECAUSE I'M JEWISH 00221 4572 JMS I [TTYOUT 00222 3571 DCA I [SWAPER /USE CURRENT HANDLER, NO SWAP ON ^C. 00223 1170 TAD [-LNLNGT 00224 4567 JMS I [GTEXT /READ TTY LINE 00225 5220 JMP DOLR 00226 4566 JMS I [GNAME /INTERPRET THE COMMAND 00227 1024 TAD NAME1 00230 7450 SNA 00231 5215 JMP CONFIG 00232 3021 DCA CHAR /ENABLE TEST TO WORK /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 7 00233 4565 JMS I [TEST /LOOK FOR THE COMMAND IN LIST 00234 6361 -1417;LOAD /LOAD DEVICE HANDLER BINARY 00235 1071 00236 5573 -2205;REPLACE /REPLACE IN SYSTEM 00237 1200 00240 6177 -1601;NAME /ALTER PERMANENT NAME 00241 1606 00242 7664 -0114;ALTER /CHANGE DEVICE HANDLER LOCATION 00243 1625 00244 5756 -2022;PRINT /SYSTEM STATUS 00245 2000 00246 5447 -2331;SYSTEM /SPECIFY SYSTEM DEVICE 00247 1216 00250 7561 -0217;BOOT /BOOTSTRAP THE NEW SYSTEM 00251 3210 00252 5262 -2516;UNLOAD /DELETE INACTIVE HANDLER 00253 2400 00254 7373 -0405;DELETE /DELETE ACTIVE HANDLER 00255 1214 00256 6662 -1116;INSERT /INSERT HANDLER IN SYSTEM 00257 1207 00260 5173 -2605;VERS /TYPE VERSION # 00261 0740 00262 7250 -0530;EXAMINE /EXAMINE LOCATION 00263 1624 00264 5664 -2114;QLIST /QUICK LIST 00265 2107 00266 7355 -0423;DSK /DSK 00267 1464 00270 7461 -0317;KORE /CORE 00271 4301 00272 7375 -0403;DCBCM /DCB 00273 1674 00274 7454 -0324;CTLCM /CTL 00275 1675 00276 5467 -2311;SIZCM /SIZE 00277 1673 00300 7262 -0516;END /END COMMAND FOR BATCH 00301 4363 00302 7553 BD, -0225;BUILD /BUILD 00303 5303 00304 0000 0 /MUST TERMINATE LIST WITH 0 00305 5564 JMP I [WHAT /DIDN'T FIND COMMAND /NEW HEADER BLOCK: / DEVICE GROUPNAME / DEVICE PERMANENT NAME / DCB (R/W,TYPE,MAX # OF PLATTERS) / 1/2 PAGE, SYSTEM BIT, CORES BIT, REL ENTRY PT / MUST BE 0 / SIZE OF 1 PLATTER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 8 CORSIZ, 00306 0000 GETCHA, 0 00307 1033 TAD DSCPTR 00310 1706 TAD I GETCHA 00311 2306 ISZ GETCHA 00312 3326 DCA GETEM 00313 1726 TAD I GETEM 00314 5706 JMP I GETCHA /GOTCHA SUBROUTINE MOVED FOR ROOM 4563 PUT=JMS I [GOTCHA 4562 GET=JMS I [GETCHA 00315 0000 BATTST, 0 /SUBROUTINE TO SEE IF CALLED FROM BATCH 00316 3010 DCA XR1 /POINTER TO OVERLAY CODE IN FIELD 2 00317 1561 TAD I [7777 /GET THE BATCH SWITCH (JMP BATBK IF IN BATCH) 00320 7004 RAL /BIT 1 00321 7700 SMA CLA /IF NO BATCH MAY NOT HAVE FIELD 2 00322 5715 JMP I BATTST /NOT CALLED FROM BATCH 00323 6222 BATBK, CIF 20 /NOW TO FIELD 2 00324 4771 JMS I (BATSET /GO DO SOME OVERLAYS 00325 5715 JMP I BATTST /RETURN TO CALLER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 9 GETEM, /POINTS INTO DSCTAB 00326 0000 RELCOR, 0 00327 7201 CLA IAC 00330 3306 DCA CORSIZ /MAKE RE-USABLE 00331 1160 TAD [7400 00332 3352 DCA CORX /MAKE ROUTINE REUSABLE ON 32K MACHINE 00333 6201 COR0, CDF 0 00334 1306 TAD CORSIZ 00335 7006 RTL 00336 7004 RAL 00337 0350 AND COR70 00340 1363 TAD COREX 00341 3342 DCA .+1 00342 6201 COR1, CDF /N 00343 1767 TAD I CORLOC 00344 7000 COR2, NOP 00345 3342 DCA COR1 00346 1344 TAD COR2 00347 3767 DCA I CORLOC 00350 0070 COR70, 70 00351 1767 TAD I CORLOC 00352 7400 CORX, 7400 00353 1352 TAD CORX 00354 1370 TAD CORV 00355 7640 SZA CLA 00356 5363 JMP COREX 00357 1342 TAD COR1 00360 3767 DCA I CORLOC 00361 2306 ISZ CORSIZ 00362 5333 JMP COR0 00363 6201 COREX, CDF 0 00364 7240 STA 00365 1306 TAD CORSIZ 00366 5726 JMP I RELCOR /LEAVE WITH HIGHEST EXISTENT BANK 00367 0352 CORLOC, CORX 00370 1400 CORV, 1400 00371 0200 00372 4551 00373 0315 00374 0227 00375 2617 00376 5067 00377 3147 0400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 10 /GET GETS DESCRIPTOR ITEM FROM CURRENT DESCRIPTOR /OP /PUT PUTS DESCRIPTOR ITEM IN AC BACK IN SPECIFIED ITEM /OP IN CURRENT DESCRIPTOR /ITEMS: /ACTIVE BIT 0=1 MEANS ENTRY POINT HAS BEEN INSERTED (IS ACTIVE) /PERM1 PERMANENT NAME (FIRST 2 CHARS) /PERM2 2ND 2 CHARS /TWOPAG BIT 0=1 MEANS 2-PAGE HANDLER, BIT 4 IGNORED, BITS 5-11 RELATIVE ENTRY PO /PAGRES BITS 7-11 GIVE PAGE OF START OF HANDLER WHEN ROTATED 6 RT /GRPNM1 GROUP NAME (DEVICE NAME) FIRST 2 CHARS /GRPNM2 2ND 2 CHARS /DEVSIZ GIVES SIZE OF 1 PLATTER /PLATNUM # OF PLATTERS IN BITS 2-4 /DSKBIT BIT 1 IS FLAG FOR 'DSK' (USED TEMPORARILY BY BUILD) /MAXPLT MAXIMUM NUMBER OF PLATTERS ALLOWED (IN BITS 9-11) /DCB D.C.B. BIT 0: FILESTRUCTURED, BITS 3-8 DEVICE TYPE / BITS 9-11 MAX NO. OF PLATTERS /CORES BIT 2 MEANS ENTRY PT IS CORESIDENT WITH SYS HANDLER /SYSBIT BIT 1 IS A 1 IF THE DEVICE HAS NAME 'SYS' AND IS A SYS DEVICE /IF FIRST ENTRY OF A DESCRIPTOR IS GE 7600, THEN THIS /ENTRY IS A BOOTSTRAP ENTRY. /IT STARTS WITH THE NEGATIVE OF THE NUMBER OF WORDS IN THE /BOOTSTRAP (FOR THE PRECEDING DEVICE), FOLLOWED BY THAT MANY WORDS /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 11 0000 GRPNM1=0 0001 GRPNM2=1 0002 PRMNM1=2 0003 PRMNM2=3 0004 DCB=4 0004 MAXPLT=4 0004 DVTYPE=4 0005 TWOPAG=5 /BIT 0 0005 SYSBIT=5 /BIT 1 0006 ACTIVE=6 0005 ENTPT=5 0006 PAGRES=6 0006 PLATNUM=6 0007 DEVSIZ=7 0006 DSKBIT=6 /BIT 1 0005 CORES=5 /BIT 2 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 12 /READ A LINE OF TEXT RETURN 1 IS ^U RETURN 00400 0000 GTEXT, 0 /ROUTINE TO COLLECT TTY INPUT 00401 1377 TAD (-BEGLIN /AC IS NON-ZERO 00402 3323 DCA ENDLIN 00403 3776 DCA I (RUBFLG /INITIALIZE RUBOUT TO \ 00404 1375 TAD (BEGLIN-1 00405 3015 RDTX, DCA LXR /BUFFER ADD. TO INDEX 00406 4557 RDTXT, JMS I [TTYIN /READ BLOODY TELETYPE 00407 1021 TAD CHAR 00410 3024 DCA NAME1 /SETUP FOR TEST AGAIN 00411 4565 JMS I [TEST 00412 7401 -377;RBOUT /RUBOUT 00413 0447 00414 7566 LFMOD, -212;LFEED /LINE FEED..ECHO CURRENT COMMAND 00415 0476 00416 7563 -215;CARRET /LINE TERMINATOR 00417 0467 00420 7545 -233;ALTMOD /ALT MODE IN SEVERAL FLAVORS 00421 0511 00422 7403 -375;ALTMOD 00423 0511 00424 7402 -376;ALTMOD 00425 0511 00426 7600 -200;RDTXT /IGNORE BLANKS 00427 0406 00430 7561 -217;RDTXT /AS WELL AS ^O 00431 0406 00432 7575 -203;CTRLC /BACK TO CURRENT SYSTEM 00433 4274 00434 7553 -225;CTRLU /CTRLU 00435 0514 00436 0000 0 /IF NOT ONE OF THESE, PUT IN BUFFER 00437 1015 TAD LXR 00440 1323 TAD ENDLIN 00441 7650 SNA CLA 00442 5206 JMP RDTXT /LINE OVERFLOW, STOP ECHOING 00443 4556 JMS I [PRNT /PRINT THE CHARACTER 00444 1021 TAD CHAR 00445 3415 DCA I LXR /AND PUT IN LINE BUFFER 00446 5206 JMP RDTXT /NO PROBLEMS YET /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 13 00447 1015 RBOUT, TAD LXR /IS THERE TEXT TO RUB OUT? 00450 1155 TAD [1-BEGLIN 00451 7650 SNA CLA 00452 5321 JMP RBCR /NO..SO DON'T DO ANYTHING 00453 1154 TAD ["\ /YES..ECHO BACKSLASH? 00454 2776 ISZ I (RUBFLG /IF = -1, NO 00455 4572 JMS I [TTYOUT 00456 7240 CLA CMA /IGNORE CONSECUTIVE RUBOUTS 00457 3776 DCA I (RUBFLG 00460 1015 TAD LXR 00461 3023 DCA TMP1 00462 1423 TAD I TMP1 00463 4572 JMS I [TTYOUT /ECHO LAST CHAR 00464 7240 XRBACK, CLA CMA 00465 1015 TAD LXR /MOVE INDEX BACK ONE 00466 5205 JMP RDTX 00467 4574 CARRET, JMS I [CRLF /GENERATE 215,212 00470 3415 CAR1, DCA I LXR 00471 3415 DCA I LXR /GUARD AGAINS CMD <CR> 00472 1153 TAD [BEGLIN-1 00473 3016 DCA GNMXR /SETUP FOR GNAME ROUTINE 00474 2200 ISZ GTEXT /TAKE NORMAL RETURN 00475 5600 JMP I GTEXT 00476 3415 LFEED, DCA I LXR /A 0 TO MARK END 00477 1153 TAD [BEGLIN-1 00500 3015 DCA LXR 00501 4574 JMS I [CRLF 00502 1173 TAD ["$ 00503 4572 JMS I [TTYOUT 00504 1415 ECHO, TAD I LXR 00505 7450 SNA /DONE ECHOING? 00506 5264 JMP XRBACK /YES..REPOSITION LXR 00507 4572 JMS I [TTYOUT 00510 5304 JMP ECHO 00511 1173 ALTMOD, TAD ["$ /ALT MODE ECHOES AS $ 00512 4572 JMS I [TTYOUT 00513 5270 JMP CAR1 00514 1152 CTRLU, TAD ["^ 00515 4572 JMS I [TTYOUT /GENERATE ^U 00516 1024 TAD NAME1 00517 1151 TAD [100 00520 4572 JMS I [TTYOUT 00521 4574 RBCR, JMS I [CRLF 00522 5600 JMP I GTEXT /TAKE ERROR RETURN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 14 4550 GETCHR=JMS I [GETC 4547 BAKCHR=JMS I [BAKC ENDLIN, 00523 0000 GETNUM, 0 /PICKS UP NUMBER FROM LINE BUFF /DELIM CHAR PUT IN 'CHAR' /PRINTS ERROR MESSAGE IF GT 4095 /IF NO NUMBER, TAKES RETURN 1 /IF NUMBER, TAKES RET 2 WITH # IN 'SIZE' 00524 3031 DCA SIZE 00525 3366 DCA GOTSW /HAVEN'T FOUND ANY DIGITS YET 00526 5342 JMP NCHAR 00527 3023 ROT, DCA TMP1 00530 2366 ISZ GOTSW /FOUND A DIGIT 00531 1031 TAD SIZE 00532 0146 AND [7000 00533 7640 SZA CLA 00534 5545 JMP I [BADARG /NUMBER .GT. 4095 00535 1031 TAD SIZE 00536 7106 CLL RTL 00537 7004 RAL /BUILD UP THE DIGIT 00540 1023 TAD TMP1 00541 3031 DCA SIZE 00542 4550 NCHAR, GETCHR 00543 7450 SNA /0 ENDS THE LINE 00544 5356 JMP NUMOUT 00545 1144 TAD [-240 /IGNORE SPACES 00546 7450 SNA 00547 5342 JMP NCHAR 00550 1374 TAD (-30 /TEST LIMITS 00551 7100 CLL 00552 1143 TAD [10 /MUST BE BETWEEN 0 AND 7 00553 7430 SZL 00554 5327 JMP ROT 00555 1373 TAD (260 /RESTORE CHAR 00556 3021 NUMOUT, DCA CHAR /SAVE AWAY THIS DELIMETER 00557 1366 TAD GOTSW /DID WE GET ANY DIGITS? 00560 7640 SZA CLA /? 00561 2323 ISZ GETNUM /YES 00562 5723 JMP I GETNUM /NO, RETURN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 15 00563 0000 GETC, 0 /GET THE NEXT CHARACTER, ADVANCE SCAN PAST IT 00564 1416 TAD I GNMXR 00565 5763 JMP I GETC GOTSW, /1 MEANS GOT A DIGIT 00566 0000 BAKC, 0 /BACK UP SCAN TO THE CHARACTER JUST LOOKED AT 00567 7240 STA 00570 1016 TAD GNMXR 00571 3016 DCA GNMXR 00572 5766 JMP I BAKC 00573 0260 00574 7750 00575 5177 00576 4755 00577 2600 0600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 16 4542 INIT=JMS I [INI 4541 ADVDSC=JMS I [DSCADV 4540 ADVBOT=JMS I [BOTADV / JMS PRMNAM /SEARCH TABLE FOR A PERMANENT NAME /GIVEN IN NAME1-NAME2 /POINT TO DESCRIPTOR FOR THIS NAME / JMS ACTNAM /SAME BUT PERMANENT NAME MUST BE ACTIVE / JMS BIGNAM /SEARCHES FOR PERM & GRP NAME (GRP NAME IN SAV1,SAV2) / JMS GRPNAM /SAME BUT SEARCH FOR GROUP NAME 00600 0000 CHKNAM, 0 00601 4542 INIT 00602 4541 CHKLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 00603 4540 ADVBOT /ADVANCE OVER ANY BOOTSTRAP 00604 5317 JMP NFOUND /NO MORE- ERROR 00605 4562 GET 00606 0000 NM1, GRPNM1 /GET GROUP OR PERMANENT NAME 00607 7041 CIA 00610 1024 TAD NAME1 00611 7640 SZA CLA /DO FIRST WORDS MATCH? 00612 5202 JMP CHKLUP /NO, TRY AGAIN 00613 4562 GET 00614 0001 NM2, GRPNM2 /GET 2ND WORD 00615 7041 CIA 00616 1025 TAD NAME2 00617 7640 SZA CLA /2ND WORD MATCH? 00620 5202 JMP CHKLUP /NO 00621 1316 TAD BIGFLG 00622 7650 SNA CLA /WANT BOTH GROUP AND PERM NAME? 00623 5240 JMP NOBIG /NO 00624 4562 GET /YES 00625 0000 GRPNM1 00626 7041 CIA 00627 1002 TAD SAV1 00630 7640 SZA CLA 00631 5202 JMP CHKLUP 00632 4562 GET 00633 0001 GRPNM2 00634 7041 CIA 00635 1003 TAD SAV2 00636 7640 SZA CLA 00637 5202 JMP CHKLUP 00640 1261 NOBIG, TAD ACTSW /FOUND MATCH 00641 7650 SNA CLA /MUST HANDLER BE ACTIVE? 00642 5600 JMP I CHKNAM /NO, RETURN 00643 4562 GET /YES 00644 0006 ACTIVE 00645 7700 SMA CLA /IS IT ACTIVE? 00646 5202 JMP CHKLUP /NO, TRY AGAIN 00647 5600 JMP I CHKNAM /YES, RETURN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 17 00650 0000 GRPNAM, 0 00651 1377 TAD (GRPNM1 /WANT TO SEARCH FOR GROUP NAME 00652 3206 DCA NM1 00653 1376 TAD (GRPNM2 00654 3214 DCA NM2 00655 3261 DCA ACTSW /NEED NOT BE ACTIVE 00656 3316 DCA BIGFLG 00657 4200 JMS CHKNAM /GO SEARCH 00660 5650 JMP I GRPNAM 00661 0000 ACTSW, 0 /1 MEANS HANDLER MUST BE ACTIVE 00662 0000 PRMNAM, 0 00663 3261 DCA ACTSW /AC MAY BE NON ZERO (TO MEAN ACTIVE ONLY) 00664 1375 TAD (PRMNM1 /WANT TO SEARCH FOR PERMANENT NAME 00665 3206 DCA NM1 00666 1374 TAD (PRMNM2 00667 3214 DCA NM2 00670 3316 DCA BIGFLG 00671 4200 JMS CHKNAM /GO SEARCH 00672 5662 JMP I PRMNAM 00673 4574 BADLOD, JMS I [CRLF 00674 4537 JMS I [PRWD 00675 7702 TEXT /?BAD LOAD/ 00676 0104 00677 4014 00700 1701 00701 0400 00702 3430 DCA I TABLMT /RESTORE SENTINEL 0 00703 5536 JMP I [CONFIG 00704 0000 BIGNAM, 0 00705 3261 DCA ACTSW 00706 1375 TAD (PRMNM1 00707 3206 DCA NM1 00710 1374 TAD (PRMNM2 00711 3214 DCA NM2 00712 7201 CLA IAC 00713 3316 DCA BIGFLG 00714 4200 JMS CHKNAM 00715 5704 JMP I BIGNAM /SOMETIMES CHKNAM CAME FROM DSKASK INSTEAD OF GETSYS **** 00716 0000 BIGFLG, 0 /SET TO 1 TO CHECK GROUP & PERMANENT NAME /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 18 00717 4535 NFOUND, JMS I [PRNAME 00720 4537 JMS I [PRWD 00721 4016 TEXT / NOT FOUND/ 00722 1724 00723 4006 00724 1725 00725 1604 00726 0000 00727 5536 JMP I [CONFIG 00730 4537 NOROOM, JMS I [PRWD 00731 7716 TEXT /?NO ROOM/ 00732 1740 00733 2217 00734 1715 00735 0000 00736 3430 DCA I TABLMT /RESTORE SENTINEL 0 00737 5536 JMP I [CONFIG 00740 4537 VERS, JMS I [PRWD 00741 0225 TEXT /BUILD V40A/ 00742 1114 00743 0440 00744 2664 00745 6001 00746 0000 00747 5536 JMP I [CONFIG /BUILD CORE CONTROL BLOCK / ***** CAUTION IF BUILD GROWS FROM FIELD 2 00750 7775 BLDCCB, -3 /3 SEGMENTS 00751 6203 6203 /FIELD 0 00752 0200 0200 /200 IS S.A. 00753 0000 0000 /JSW 00754 0000 0000 00755 1020 1020 /20000-21777 00756 0000 0000 /10000-17577 00757 3710 3710 00760 0000 0000 /00000-07577 00761 3700 3700 /GOES INTO WORDS 200-377 OF BLOCK 37 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 19 00774 0003 00775 0002 00776 0001 00777 0000 1000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 20 /LOAD A 1- OR 2-PAGE HANDLER INTO BUFFER /USE IT TO ABSLD 01000 0000 SETUP, 0 01001 1134 TAD [NAME1 01002 3257 DCA FILPTR /POINT TO FILENAME AREA 01003 1377 TAD (BUFFER+1 /LOAD 2 PAGE HANDLER INTO 'BUFFER' 01004 3233 DCA DRIVER /SET UP ASSIGN DEVICE HANDLER 01005 4566 JMS I [GNAME /GET DEVICE NAME 01006 1024 TAD NAME1 01007 7650 SNA CLA 01010 5600 JMP I SETUP /NO ARG 01011 2200 ISZ SETUP 01012 1776 TAD I (RETSW 01013 7640 SZA CLA 01014 5775 JMP I (BLDLOD /WHEN LOADING STANDALONE, USE INTERNAL HANDLERS 01015 1021 TAD CHAR 01016 1133 TAD [-": 01017 7640 SZA CLA 01020 5774 JMP I (SETDSK /USE 'DSK ' IF NO DEVICE GIVEN 01021 1024 TAD NAME1 01022 3231 DCA DVNM1 01023 1025 TAD NAME2 01024 3232 DCA DVNM1+1 /LOOKUP DEVICE NAME 01025 4773 GETU, JMS I (GETUSR 01026 6212 CIF 10 01027 4532 JMS I [200 /FETCH HANDLER 01030 0001 1 SUBLUP, 01031 0000 DVNM1, 0 LODTMP, 01032 0000 DVNUM, 0 /NAME GOES IN HERE 01033 0000 DRIVER, 0 01034 5772 JMP I (KICKM /NO DEVICE. RELEASE MONITOR 01035 1021 TAD CHAR 01036 7640 SZA CLA 01037 4566 JMS I [GNAME /PICK UP FILE NAME 01040 1232 TAD DVNM1+1 /DEVICE NUMBER 01041 4771 JMS I (DTYPE /SEE IF FILE STRUCTURED 01042 1024 TAD NAME1 /IF FILE STRUCTURED WITH NO NAME 01043 7650 SNA CLA /IT IS AN ERROR 01044 5770 JMP I (NMER /V3C 01045 1027 TAD NAME4 /SAVE ORIGINAL EXTENSION 01046 3022 DCA TEMP 01047 1027 TAD NAME4 01050 7450 SNA /IF NULL 01051 1367 TAD (0216 /TRY .BN FIRST 01052 3027 TRYAGN, DCA NAME4 01053 1232 TAD DVNUM /GET DEVICE NUMBER 01054 6212 CIF 10 01055 4532 JMS I [200 /DO LOOKUP OF FILENAME 01056 0002 2 01057 0024 FILPTR, NAME1 01060 0000 0 01061 5353 JMP LDEXT /DIDN'T FIND FILE. DO SOMETHING /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 20-1 01062 6212 CIF 10 01063 4532 JMS I [200 /KICK OUT MONITOR 01064 0011 11 01065 1233 TAD DRIVER 01066 3531 LOADIN, DCA I [DVICE /ENTRY POINT OF HANDLER 01067 4766 JMS I (IOPEN /IF HERE, IT WILL FIT 01070 5600 JMP I SETUP /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 21 01071 4200 LOAD, JMS SETUP /SET UP FOR INPUT 01072 5530 JMP I [NODEV /NO LOAD DEVICE 01073 7344 STA CLL RAL /-2 DO A HANDLER LOAD 01074 6223 CIF CDF 20 /OFF TO FIELD 2 01075 4765 JMS I (LDABS 01076 5527 JMP I [BADLOD /BAD 01077 1430 TAD I TABLMT /SEE IF HEADER INFORMATION IS OK 01100 7500 SMA 01101 5527 JMP I [BADLOD 01102 1364 TAD (20 /ALLOW 16 HANDLERS/BINARY 01103 7710 SPA CLA 01104 5526 JMP I [BADINP /TOO MANY 01105 1430 TAD I TABLMT 01106 3232 DCA LODTMP /# OF LOOPS TO EXECUTE 01107 1030 TAD TABLMT 01110 1125 TAD [PAGRES+1 /POINT TO FIRST 'PAGRES' WORD 01111 3352 DCA HDPTR /GO THERE FOR DESCRIPTORS 01112 1032 TAD HNDPTR 01113 4524 JMS I [ROTL 01114 3022 DCA TEMP /PAGE OF RESIDENCE 01115 1022 PGLUP, TAD TEMP 01116 3752 DCA I HDPTR /INSERT PAGE OF RESIDENCE 01117 1352 TAD HDPTR 01120 1143 TAD [HDRSIZ 01121 3352 DCA HDPTR 01122 2232 ISZ LODTMP 01123 5315 JMP PGLUP 01124 1123 TAD [2-HDRSIZ 01125 1352 TAD HDPTR 01126 3352 DCA HDPTR /POINT TO AFTER DESCRIPTORS 01127 1352 TAD HDPTR 01130 7041 CIA 01131 1763 TAD I (NEWLIM 01132 7650 SNA CLA /AT END? 01133 5762 JMP I (OK /YES 01134 1752 TAD I HDPTR /NO, MAYBE A BOOTSTRAP RECORD 01135 7100 CLL 01136 1132 TAD [200 01137 7620 SNL CLA 01140 5527 JMP I [BADLOD /NO 01141 1752 TAD I HDPTR /MAYBE 01142 7041 CIA 01143 7001 IAC /OVER COUNT 01144 1352 TAD HDPTR 01145 7041 CIA 01146 1763 TAD I (NEWLIM 01147 7640 SZA CLA 01150 5527 JMP I [BADLOD /NO 01151 5762 JMP I (OK /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 22 01152 0000 HDPTR, 0 /POINTS INTO NEW HEADER /DESCRIPTOR TABLE DESCRIPTION: /'TABLMT' ALWAYS POINTS TO FIRST FREE LOCATION /'DSCPTR' ALWAYS POINTS TO BEGIN OF CURRENT HEADER BLOCK /ITEMS ARE OF 3 FORMS: /(A) GROUP COUNT: IN RANGE -1 TO -20 (IGNORED AND HAS NO MEANING) / IT IS THERE FOR COMPATIBILITY WITH OLD BUILD /(B) HEADER BLOCK STARTS WITH NUMBER IN RANGE 0-7577 / CONSISTS OF 'HDRSIZ' CONSECUTIVE WORDS / DESCRIBED ELSEWHERE /(C) BOOTSTRAP BLOCK: STARTS WITH NUMBER IN RANGE 7600-7757 / THIS IS THE NEGATIVE OF THE NUMBER OF WORDS TO FOLLOW /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 23 /NON-SYSTEM HEADER INFO: / - NUMBER OF ENTRY POINTS /FOR EACH ENTRY POINT: /0,1 GROUP NAME /2,3 ENTRY POINT NAME (PERMANENT NAME) /4 R/W FILE-STR, DEVICE TYPE, MAX # OF PLATTERS /5 1/2 PAGE, REL ENTRY PT, SYSBIT, CORES /6* PAGE OF HANDLER, ACTIVE BIT, # OF PLATS, DSKBIT /7 SIZE OF DEVICE /* SUPPLIED BY BUILD 01153 1022 LDEXT, TAD TEMP /DIDN'T FIND FILE 01154 7640 SZA CLA 01155 5772 JMP I (KICKM /NO RESORT 01156 2022 ISZ TEMP 01157 5252 JMP TRYAGN /TRY NULL EXTENSION 01162 3615 01163 3614 01164 0020 01165 0400 01166 3635 01167 0216 01170 3631 01171 2144 01172 1532 01173 1536 01174 1525 01175 1546 01176 5165 01177 5401 1200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 24 01200 4777 REPLACE,JMS I (DEL /DELETE PERMANENT NAME SPECIFIED NEXT 01201 1021 TAD CHAR 01202 1240 TAD MEQ 01203 7640 SZA CLA /AFTER ALL DELETIONS, MUST FIND A "=" 01204 5522 JMP I [SYNTAX /IF NOT, WARN THE GUY 01205 4231 JMS INS /IF FOUND IT, NOW PERFORM INSERTIONS 01206 5536 JMP I [CONFIG /THE GUY HAS BEEN HUMORED 01207 4231 INSERT, JMS INS 01210 1021 TSTEOL, TAD CHAR /THERE SHOULDN'T BE ANYTHING AFTER EOC 01211 7650 SNA CLA 01212 5536 JMP I [CONFIG /THERE WASN'T 01213 5522 JMP I [SYNTAX /WARN BLOKE ABOUT EXTRA STUFF 01214 4777 DELETE, JMS I (DEL /DELETE PERMANENT NAMES SPECIFIED 01215 5210 JMP TSTEOL 01216 4231 SYSTEM, JMS INS /SYS IS SAME AS INSERT 01217 4562 GET 01220 0005 SYSBIT 01221 7006 RTL 01222 7730 SPA SZL CLA /BUT SYSBIT OR CORES SHOULD BE ON 01223 5210 JMP TSTEOL /JUST TO HUMOR IT'S NAME 01224 4537 TWOSYS, JMS I [PRWD /AND FOR COMPATIBILITY REASONS 01225 7723 TEXT /?SYS/ 01226 3123 01227 0000 01230 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 25 01231 0000 INS, 0 01232 1376 TAD (STL RAR 01233 3775 DCA I (ACTION /SET 'ACTION' FOR INSERTIONS 01234 4521 JMS I [TSTNAM /LOOK FOR A NAME 01235 4520 JMS I [GRPNAM /GET GROUP NAME 01236 4336 JMS SAVNAM 01237 4565 JMS I [TEST 01240 7503 MEQ, -"=;ACT 01241 1267 01242 7524 -",;INSNAM 01243 1251 01244 7506 -":;INSNAM 01245 1251 01246 4000 4000;ACT 01247 1267 01250 0000 0 01251 4521 INSNAM, JMS I [TSTNAM /GRAB A NAME 01252 4517 INSGN, JMS I [BIGNAM /GET PERMANENT NAME WITH SPECIFIED GROUP NAME 01253 4562 GET 01254 0000 GRPNM1 01255 7041 CIA 01256 1002 TAD SAV1 01257 7640 SZA CLA 01260 5516 JMP I [NFOUND /MAKE SURE PERMANENT NAME FOUND 01261 4562 GET /HAS GROUP NAME PREVIOUSLY SPECIFIED 01262 0001 GRPNM2 01263 7041 CIA 01264 1003 TAD SAV2 01265 7640 SZA CLA 01266 5516 JMP I [NFOUND 01267 4774 ACT, JMS I (SETACT /SET ACTIVE BIT 01270 4565 COM, JMS I [TEST 01271 7523 -"-;HYPH 01272 1344 01273 7524 -",;INSNAM 01274 1251 01275 7503 -"=;INPLAT 01276 1301 01277 0000 0 01300 5631 JMP I INS /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 26 01301 4515 INPLAT, JMS I [GETNUM /AN "=" 01302 5522 JMP I [SYNTAX 01303 1031 TAD SIZE 01304 7650 SNA CLA 01305 5545 JMP I [BADARG /=0 ILLEGAL 01306 4562 GET 01307 0004 MAXPLT 01310 0125 AND [7 /GET MAXIMUM # OF PLATTERS ALLOWED 01311 7450 SNA 01312 7001 IAC /0 MEANT 1 01313 7140 CMA CLL 01314 1031 TAD SIZE /COMPARE WITH USER'S REQUEST 01315 7630 SZL CLA /IS HIS REQUEST OKAY? 01316 5331 JMP BADPLT /REQUEST-SHMEST. TOO MANY PLATTERS 01317 1031 TAD SIZE 01320 4514 JMS I [ROTR 01321 3031 DCA SIZE 01322 4562 GET 01323 0006 PLATNUM 01324 0373 AND (6177 01325 1031 TAD SIZE /STORE AWAY HIS STATED NUMBER OF PLATTERS 01326 4563 PUT /FOR FUTURE USE BY 'BOOT' 01327 0006 PLATNUM 01330 5270 JMP COM /REJOIN PROCESSING 01331 4537 BADPLT, JMS I [PRWD 01332 7720 TEXT /?PLAT/ 01333 1401 01334 2400 01335 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 27 01336 0000 SAVNAM, 0 01337 1024 TAD NAME1 01340 3002 DCA SAV1 /SAVE GROUP NAME 01341 1025 TAD NAME2 01342 3003 DCA SAV2 01343 5736 JMP I SAVNAM 01344 1025 HYPH, TAD NAME2 01345 0113 AND [77 01346 7041 CIA 01347 3360 DCA DETEM 01350 4550 GETCHR 01351 0113 AND [77 01352 1360 TAD DETEM /GET CHAR AFTER HYPEN 01353 7650 SNA CLA /REACHED IT YET? 01354 5361 JMP IGET /YES, WELL TRY FOR MORE STUFF 01355 4547 BAKCHR /NO, PUT IT BACK FOR FUTURE USE 01356 2025 ISZ NAME2 /FORM NEXT SEQUENTIAL NAME 01357 5252 JMP INSGN /GO INSERT IT /DO WE REALLY HAVE TO START SEARCH AT CURRENT DESCR? 01360 0000 DETEM, 0 01361 4550 IGET, GETCHR 01362 3021 DCA CHAR 01363 5270 JMP COM 01364 4537 NODEV, JMS I [PRWD 01365 7704 TEXT /?DEVICE/ 01366 0526 01367 1103 01370 0500 01371 5536 JMP I [CONFIG 01373 6177 01374 1400 01375 1404 01376 7130 01377 1410 1400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 28 INTEM, 01400 0000 SETACT, 0 01401 4562 GET 01402 0006 ACTIVE /GET ACTIVATION BIT 01403 7004 RAL 01404 7130 ACTION, STL RAR /ACTIVATE IT (SET TO 'CLL RAR' TO DEACT) 01405 4563 PUT 01406 0006 ACTIVE /RESTORE 01407 5600 JMP I SETACT 01410 0000 DEL, 0 01411 1377 TAD (CLL RAR 01412 3204 DCA ACTION 01413 4521 DELNAM, JMS I [TSTNAM /PARSE OFF A NAME 01414 4512 DELGN, JMS I [ACTNAM /FIND IT AS AN ACTIVE PERMANENT NAME 01415 4200 JMS SETACT /DEACTIVATE IT 01416 4562 GET 01417 0006 PLATNUM 01420 0111 AND [6177 /SET # OF PLATTERS TO 0 01421 4563 PUT 01422 0006 PLATNUM 01423 4565 DCOM, JMS I [TEST 01424 7523 -"-;DHYPH 01425 1432 01426 7524 -",;DELNAM 01427 1413 01430 0000 0 01431 5610 JMP I DEL 01432 1025 DHYPH, TAD NAME2 01433 0113 AND [77 01434 7041 CIA 01435 3200 DCA INTEM 01436 4550 GETCHR 01437 0113 AND [77 01440 1200 TAD INTEM 01441 7650 SNA CLA /REACHED FINAL NAME? 01442 5247 JMP DGET /YES 01443 4547 BAKCHR /NO, PUT FINAL LETTER BACK 01444 2025 ISZ NAME2 /YES, BUMP TO NEXT NAME 01445 0423 L0423, 423 01446 5214 JMP DELGN /DELETE NEXT ONE IN SUCCESSION /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 29 01447 4550 DGET, GETCHR 01450 3021 DCA CHAR 01451 5223 JMP DCOM 01452 0000 TTYIN, 0 /TTY INPUT ROUTINE 01453 6031 KSF 01454 5253 JMP .-1 01455 6036 KRB 01456 7450 SNA /LOW LEVEL BLANK IGNORE 01457 5253 JMP TTYIN+1 01460 0110 AND [177 /HANDLE PARITY 01461 1132 TAD [200 01462 3021 DCA CHAR 01463 5652 JMP I TTYIN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 30 /DSK=ACTIVE PERMANENT NAME /DSK=GROUPNAME:PERMANENT NAME /DSK=<CR> MEANS NO DSK SPECIFIED, USE 'SYS' /JUST REMEMBERS NAME (NOTHING ELSE) 01464 4566 DSK, JMS I [GNAME /GET A NAME 01465 1024 TAD NAME1 01466 7650 SNA CLA 01467 5313 JMP NODSK 01470 1021 TAD CHAR 01471 7450 SNA 01472 5315 JMP NOCOL 01473 1133 TAD [-": 01474 7640 SZA CLA /IS IT FOLLOWED BY A ":"? 01475 5522 JMP I [SYNTAX /NO, ASSUME HE'S GIVING AN ACTIVE PERMANENT NAME /THIS IS FOR COMPATIBILITY WITH OLD BUILD / JMS I [GRPNAM /YES, ITS A GROUP NAME 01476 1024 TAD NAME1 /SAVE IT 01477 3035 DCA DSKG1 01500 1025 TAD NAME2 01501 3036 DCA DSKG2 01502 4521 JMS I [TSTNAM /GET PERMANENT NAME 01503 1024 PN, TAD NAME1 01504 3037 DCA DSKP1 /DON'T WORRY NOW IF IT'S AROUND 01505 1025 TAD NAME2 01506 3040 DCA DSKP2 01507 1021 TAD CHAR 01510 7640 SZA CLA 01511 5522 JMP I [SYNTAX 01512 5536 JMP I [CONFIG 01513 3035 NODSK, DCA DSKG1 /FIRST WORD 0 MEANS NONE SPECIFIED 01514 5536 JMP I [CONFIG 01515 4512 NOCOL, JMS I [ACTNAM /IT MUST BE AN ACTIVE HANDLER 01516 4562 GET 01517 0000 GRPNM1 01520 3035 DCA DSKG1 01521 4562 GET 01522 0001 GRPNM2 01523 3036 DCA DSKG2 01524 5303 JMP PN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 31 01525 1245 SETDSK, TAD L0423 /DS 01526 3776 DCA I (DVNM1 01527 1375 TAD (1300 /K 01530 3774 DCA I (DVNM1+1 01531 5773 JMP I (GETU 01532 6212 KICKM, CIF 10 /RELEASE MONITOR AND RELOAD 01533 4532 JMS I [200 /OUR DEVICES 01534 0011 11 01535 5516 JMP I [NFOUND 01536 0000 GETUSR, 0 01537 6212 CIF 10 01540 4507 JMS I [7700 /LOCK IN MONITOR 01541 0010 10 01542 6212 CIF 10 /RESET RESIDENT HANDLER TABLE 01543 4532 JMS I [200 01544 0013 13 01545 5736 JMP I GETUSR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 32 / CODE FOR USING INTERNAL HANDLERS ON STANDALONE LOAD: 01546 3772 BLDLOD, DCA I (FILPTR /LOAD DEV 01547 4512 JMS I [ACTNAM /MUST BE ACTIVE 01550 4506 JMS I [GETPG 01551 3355 DCA HNDLOK /LOCATION OF HANDLER 01552 1160 TAD [-400 01553 4505 JMS I [MOVE 01554 6211 CDF 10 01555 7402 HNDLOK, HLT 01556 6201 CDF 0 01557 5400 PBUFFER,BUFFER 01560 4562 GET 01561 0004 DCB 01562 3370 DCA BLDCB 01563 4562 GET 01564 0005 ENTPT 01565 0110 AND [177 01566 1357 TAD PBUFFER /GET ENTRY POINT OF HANDLER 01567 5771 JMP I (LOADIN 01570 0000 BLDCB, 0 /CONTAINS DCB OF CURRENT LOAD HANDLER 01571 1066 01572 1057 01573 1025 01574 1032 01575 1300 01576 1031 01577 7110 1600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 33 01600 0000 GETPG, 0 01601 4562 GET 01602 0006 PAGRES 01603 4514 JMS I [ROTR 01604 0177 AND [7600 01605 5600 JMP I GETPG /FORMAT: NAME OLDNAME=NEWNAME 01606 4363 NAME, JMS TSTNAM /SEE IF ARGUMENT SUPPLIED /SEARCH PERMANENT TABLES 01607 4512 JMS I [ACTNAM /GET ACTIVE PERMANENT NAME DESCRIPTOR 01610 1021 TAD CHAR 01611 1304 TAD MEQL /CHECK FOR = 01612 7640 SZA CLA 01613 5545 JMP I [BADARG 01614 4363 JMS TSTNAM /GET NEW DEVICE NAME 01615 1024 TAD NAME1 /REPLACE THE NAME 01616 4563 PUT 01617 0002 PRMNM1 01620 1025 TAD NAME2 01621 4563 PUT 01622 0003 PRMNM2 01623 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 34 01624 7201 EXAMINE,CLA IAC 01625 3316 ALTER, DCA XSWTCH 01626 4521 JMS I [TSTNAM /ALTER ALLOWS MODS TO A PARTICULAR 01627 4520 JMS I [GRPNAM /HANDLER'S ACTUAL CODE. /LOOK AT DEVICE TYPE ENTRY 01630 4200 JMS GETPG /GET PAGE OF RESIDENCE 01631 3272 DCA PAGAD /SAVE IT. 01632 4515 JMS I [GETNUM /GET RELATIVE LOC TO ALTER 01633 5522 JMP I [SYNTAX /NO NUMBER 01634 4562 GET 01635 0005 P2PAG, TWOPAG /IS THIS A 2-PAGE HANDLER? 01636 7710 SPA CLA 01637 1177 TAD [7600 01640 1177 TAD [7600 /ALLOW 200 OR 400 MAXIMUM 01641 7100 CLL 01642 1031 TAD SIZE /IS THE # TO ALTER TOO LARGE? 01643 7630 SZL CLA 01644 5545 JMP I [BADARG /I GUESS IT IS 01645 1031 TAD SIZE 01646 1272 TAD PAGAD /GET ABSOLUTE LOCATION 01647 3272 DCA PAGAD 01650 1316 TAD XSWTCH 01651 7640 SZA CLA /EXAMINE OR ALTER? 01652 5331 JMP EXAM /EXAMINE 01653 1021 TAD CHAR /ALTER 01654 7640 SZA CLA /CR? 01655 5264 JMP GETVAL /NO 01656 4333 JMS EXAMSB /YES, GIVE GUY OLD VALUE FIRST 01657 1104 ODTL, TAD ["/ /ODT LIKE 01660 4572 JMS I [TTYOUT 01661 1107 TAD [-100 01662 4567 JMS I [GTEXT 01663 5257 JMP ODTL 01664 4515 GETVAL, JMS I [GETNUM /GET NEW CONTENTS 01665 5777 JMP I (TSTEOL /NO NUMBER 01666 1031 TAD SIZE 01667 6211 CDF 10 01670 3672 DCA I PAGAD /REPLACE THAT LOC. 01671 5536 JMP I [CONFIG /AND GET OUT 01672 0000 PAGAD, 0 /ALTER GROUPNAME,LOC=NEWVALUE /ALTER GROUPNAME,LOC /EXAMINE GROUPNAME,LOC /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 35 /SIZE ACTNAM /SIZE ACTNAM=VALUE /DCB ACTNAM /DCB ACTNAM=VALUE /CTL ACTNAM /CTL ACTNAM=VALUE 01673 1376 SIZCM, TAD (3 /SIZE COMMAND V3C 01674 1161 DCBCM, TAD [-1 /EXAMINE DCB WORD 01675 1235 CTLCM, TAD P2PAG /EXAMINE CONTROL WORD 01676 3316 DCA PUTAT 01677 1316 TAD PUTAT 01700 3321 DCA LOOKAT 01701 4521 JMS I [TSTNAM /GET A NAME 01702 4512 JMS I [ACTNAM /IT MUST BE ACTIVE 01703 4565 JMS I [TEST 01704 7503 MEQL, -"=;INPDCB 01705 1712 01706 4000 4000;EXAMDCB 01707 1720 01710 0000 0 01711 5522 JMP I [SYNTAX 01712 4515 INPDCB, JMS I [GETNUM 01713 5536 JMP I [CONFIG /IGNORE = NOTHING 01714 1031 TAD SIZE 01715 4563 PUT XSWTCH, /0 MEANS ALTER, 1 MEANS EXAMINE 01716 0004 PUTAT, DCB 01717 5536 JMP I [CONFIG /THE USER LIVES DANGEROUSLY 01720 4562 EXAMDCB,GET 01721 0004 LOOKAT, DCB 01722 4341 JMS PUTNUM 01723 1104 TAD ["/ 01724 4572 JMS I [TTYOUT 01725 1107 TAD [-100 01726 4567 JMS I [GTEXT 01727 5320 JMP EXAMDCB 01730 5312 JMP INPDCB /NOW PARSE OFF THE REPLY /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 36 01731 4333 EXAM, JMS EXAMSB 01732 5536 JMP I [CONFIG 01733 0000 EXAMSB, 0 01734 6211 CDF 10 01735 1672 TAD I PAGAD /GET CURRENT CONTENTS 01736 6201 CDF 0 01737 4341 JMS PUTNUM /PRINT IT 01740 5733 JMP I EXAMSB 01741 0000 PUTNUM, 0 /PRINT AN OCTAL NUMBER 01742 3362 DCA PTM 01743 1103 TAD [-4 /4 DIGITS 01744 3363 DCA PKNT 01745 1362 PLOOP, TAD PTM 01746 7006 RTL 01747 7006 RTL 01750 0125 AND [7 01751 1375 TAD (60 01752 4572 JMS I [TTYOUT 01753 1362 TAD PTM 01754 7006 RTL 01755 7004 RAL 01756 3362 DCA PTM 01757 2363 ISZ PKNT 01760 5345 JMP PLOOP 01761 5741 JMP I PUTNUM 01762 0000 PTM, 0 PKNT, 01763 0000 TSTNAM, 0 01764 4566 JMS I [GNAME /COLLECT NAME 01765 1024 TAD NAME1 /IF NO NAME FOUND, GIVE ERROR 01766 7640 SZA CLA 01767 5763 JMP I TSTNAM 01770 4537 NAMERR, JMS I [PRWD 01771 7716 TEXT /?NAME/ 01772 0115 01773 0500 01774 5536 JMP I [CONFIG 01775 0060 01776 0003 01777 1210 2000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 37 /PRINT FUNCTION TYPES OUT THE STATUS OF BUILD ON COMMAND /AN * BESIDE A DEVICE INDICATES THAT IT IS CURRENTLY MARKED /FOR INSERTION IN THE SYSTEM BEING BUILT. TTY240, 02000 7240 PRINT, STA 02001 3042 DCA OLDPAG /SET ILLEGAL OLD PAGE 02002 4542 INIT 02003 2777 ISZ I (LINEUP /MAKE THINGS LINE UP 02004 4541 PRLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 02005 4540 ADVBOT /ADVANCE PAST A BOOTSTRAP (IF ANY) 02006 5246 JMP DONE /ALL DONE 02007 4506 JMS I [GETPG /GET PAGE OF NEW HANDLER 02010 3041 DCA NEWPAG 02011 1041 TAD NEWPAG 02012 7041 CIA 02013 1042 TAD OLDPAG /COMPARE WITH LAST HANDLER'S PAGE 02014 7650 SNA CLA /SAME? 02015 5224 JMP PRTPER /YES 02016 4574 JMS I [CRLF /NO, GO TO NEXT LINE 02017 1041 TAD NEWPAG 02020 3042 DCA OLDPAG 02021 4234 JMS PGNAME 02022 1200 TAD TTY240 02023 4572 JMS I [TTYOUT 02024 4562 PRTPER, GET /GET ACTIVE BIT 02025 0006 ACTIVE 02026 7710 SPA CLA /IS IT ACTIVE? 02027 1376 TAD ("*-STA /YES, PRINT * 02030 1200 TAD TTY240 /NO, PRINT SPACE 02031 4572 JMS I [TTYOUT 02032 4326 JMS PNAME /PRINT PERMANENT NAME 02033 5204 JMP PRLUP 02034 0000 PGNAME, 0 02035 4562 GET 02036 0000 GRPNM1 02037 4775 JMS I (PRINTE /PRINT GROUP NAME 02040 4562 GET 02041 0001 GRPNM2 02042 4775 JMS I (PRINTE 02043 1374 TAD (": 02044 4572 JMS I [TTYOUT 02045 5634 JMP I PGNAME /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 38 02046 3777 DONE, DCA I (LINEUP /NO MORE LINE-UP 02047 1035 TAD DSKG1 02050 7650 SNA CLA 02051 5272 JMP TELCOR 02052 4574 JMS I [CRLF /TELL GUY ABOUT 'DSK' 02053 4574 JMS I [CRLF 02054 4537 JMS I [PRWD 02055 0423 TEXT /DSK=/ 02056 1375 02057 0000 02060 1035 TAD DSKG1 02061 4775 JMS I (PRINTE 02062 1036 TAD DSKG2 02063 4775 JMS I (PRINTE 02064 1374 TAD (": 02065 4572 JMS I [TTYOUT 02066 1037 TAD DSKP1 02067 4775 JMS I (PRINTE 02070 1040 TAD DSKP2 02071 4775 JMS I (PRINTE 02072 1043 TELCOR, TAD NEWCOR 02073 7450 SNA 02074 5536 JMP I [CONFIG /NO SPECIFIED CORE LIMIT 02075 4524 JMS I [ROTL 02076 1373 TAD (6000 02077 3305 DCA CORMSG+3 02100 4574 JMS I [CRLF 02101 4537 JMS I [PRWD 02102 0317 CORMSG, TEXT /CORE= / 02103 2205 02104 7540 02105 0000 02106 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 39 /QUICK PRINT 02107 4542 QLIST, INIT 02110 4541 QLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 02111 4540 ADVBOT /ADVANCE OVER ANY BOOTSTRAP IF NECESSARY 02112 5246 JMP DONE /GO AWAY WHEN NO MORE 02113 4562 GET 02114 0006 ACTIVE /GET ACTIVE BIT 02115 7700 SMA CLA /IS IT ACTIVE? 02116 5310 JMP QLUP /NO, IGNORE IT 02117 4562 GET /YES 02120 0005 SYSBIT 02121 7004 RAL 02122 7710 SPA CLA /IS IT 'SYS'? 02123 4234 JMS PGNAME /YES, PRINT GROUP NAME TOO 02124 4326 JMS PNAME /NO, PRINT PERMANENT NAME ONLY 02125 5310 JMP QLUP DT, 02126 0000 PNAME, 0 02127 4562 GET 02130 0002 PRMNM1 02131 4775 JMS I (PRINTE 02132 4562 GET 02133 0003 PRMNM2 02134 4775 JMS I (PRINTE 02135 1200 TAD TTY240 02136 4572 JMS I [TTYOUT 02137 5726 JMP I PNAME /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 40 7760 DCBTBL=7760 02140 4535 WHAT, JMS I [PRNAME 02141 4537 JMS I [PRWD 02142 7700 TEXT /?/ /FOR WHEN A COMMAND ERROR OCCURS 02143 5536 JMP I [CONFIG 02144 0000 DTYPE, 0 /RETURNS TYPE OF OUTPUT 02145 1372 TAD (DCBTBL-1 02146 3326 DCA DT /ENTRY AC HAD DEVICE # 02147 6211 CDF 10 02150 1726 TAD I DT /IF FILE DEVICE, LINK=0 02151 6201 CDF 0 02152 7044 CMA RAL /ALSO, IF FILE AC=0 ON EXIT 02153 7204 CLA RAL 02154 5744 JMP I DTYPE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 41 02155 0000 WRITCC, 0 02156 1123 TAD [-6 /PUT IN DATA BREAK FILLERS 02157 4505 JMS I [MOVE 02160 6201 CDF 0 02161 2240 K7750 02162 6201 CDF 0 02163 5750 PG7600+200+150 02164 1371 TAD (4200 02165 4502 JMS I [SYS /WRITE NEW CCB 02166 0550 BLDCCB-200 02167 0037 37 02170 5755 JMP I WRITCC 02171 4200 02172 7757 02173 6000 02174 0272 02175 4622 02176 1012 02177 4704 2200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 42 02200 4537 TOOMANY,JMS I [PRWD 02201 7710 TEXT /?HANDLERS/ 02202 0116 02203 0414 02204 0522 02205 2300 02206 5536 JMP I [CONFIG 02207 0000 GOTCHA, 0 02210 3777 DCA I (GOTEM 02211 1607 TAD I GOTCHA 02212 1033 TAD DSCPTR 02213 2207 ISZ GOTCHA 02214 3220 DCA GETEMP 02215 1777 TAD I (GOTEM 02216 3620 DCA I GETEMP 02217 5607 JMP I GOTCHA 02220 0000 GETEMP, 0 /TEMP FOR GOTCHA /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 43 02221 0000 TEST, 0 /TEST CHAR AGAINST ARGUMENTS 02222 1621 TAD I TEST /PICK UP ARGUMENT FROM LIST 02223 7450 SNA /0 TERMINATES 02224 5621 JMP I TEST 02225 1021 TAD CHAR /SEE IF THEY COMPARE = 02226 0376 AND (3777 /COMPARE ONLY LOW ORDER, THUS ALLOWING '4000' TO MEAN '0' 02227 7650 SNA CLA 02230 5234 JMP TSTOVR /THEY DO..DISPATCH TO TABLE 02231 2221 ISZ TEST 02232 2221 ISZ TEST 02233 5222 JMP TEST+1 /THEY DON'T. KEEP GOING 02234 2221 TSTOVR, ISZ TEST 02235 1621 TAD I TEST 02236 3022 DCA TEMP 02237 5422 JMP I TEMP 02240 7750 K7750, 7750 /DATA BREAK FILLERS 02241 7751 7751 02242 7752 7752 02243 7753 7753 02244 7754 7754 02245 7755 7755 02246 0000 SYS, 0 /SAVES A FEW WORDS IN SYSTEM CALLS 02247 3257 DCA SYCTL /SAVE FUNCTION WORD 02250 1646 TAD I SYS 02251 3260 DCA SYBUF /BUFFER BEING USED 02252 2246 ISZ SYS 02253 1646 TAD I SYS 02254 3261 DCA SYREC /RECORD # 02255 2246 ISZ SYS /THERE IS NO ERROR RETURN /IF SWAPER SET AND BOOTDV SET, USE SPECIAL BOOT HANDLER HERE 02256 4673 GO, JMS I SYSENT 02257 0000 SYCTL, 0 02260 0000 SYBUF, 0 02261 0000 SYREC, 0 02262 7610 SKP CLA 02263 5646 JMP I SYS 02264 4537 JMS I [PRWD 02265 2331 TEXT /SYS ERR/ 02266 2340 02267 0522 02270 2200 02271 7402 HLT /IF USER IS DARING, HIT CONTINUE TO RETRY 02272 5256 JMP GO 02273 7607 SYSENT, 7607 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 44 /***************** / / SYS HANDLER IS 2-PAGES LONG IF LOCATION 7612 IS A 3 / /****************** 02274 0000 CLRTBL, 0 02275 1101 TAD [BEGLIN 02276 3010 DCA XR1 02277 1177 TAD [-200 /ZERO OUT 5200-5377 02300 3023 DCA TMP1 02301 3410 DCA I XR1 02302 2023 ISZ TMP1 02303 5301 JMP .-2 02304 5674 JMP I CLRTBL /FOR HANDLER ONLY 02305 0000 ORGLIM, 0 /THIS ROUTINE MAKES CERTAIN THAT 02306 3274 DCA CLRTBL /THE ORIGIN FOR LDABS IS WITHIN 02307 1274 TAD CLRTBL /THE BOUNDS SPECIFIED BY SIZE 02310 1177 TAD [7600 /AND THE CONTENTS OF HNDPTR 02311 7510 SPA 02312 5333 JMP BADORG /ORIGIN BELOW 200 02313 7041 CIA 02314 1167 TAD [400 /IS ORIGIN WITHIN UPPER BOUND? 02315 7710 SPA CLA 02316 5333 JMP BADORG 02317 1274 TAD CLRTBL 02320 1177 TAD [7600 /NOW GIVE BACK RELATIVE BUFFER 02321 1032 TAD HNDPTR /ADDRESS IN FIELD 1 02322 3274 DCA CLRTBL 02323 1274 TAD CLRTBL 02324 0177 AND [7600 02325 1132 TAD [200 02326 7650 SNA CLA 02327 5775 JMP I (NOROOM /CAN'T 'ORIGIN' INTO PAGE 7600 02330 1274 TAD CLRTBL 02331 6223 CIF CDF 20 /CALLED FROM FIELD 2 02332 5705 JMP I ORGLIM 02333 4537 BADORG, JMS I [PRWD 02334 7717 TEXT /?ORIGIN/ 02335 2211 02336 0711 02337 1600 02340 5774 JMP I (OVROUT /SOMEWHERE TEST IF HE GAVE US A 2-PAGE BUT REQ A 1-PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 45 / PG7600_0 / BLOK66_66 / IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L 02341 0000 RECZRO, 0 /READS FIELD 1 CODE, EVEN FOR 12K TD8E 02342 1132 TAD [200 02343 4502 JMS I [SYS /READ RECORD 0 02344 5400 PG7600 02345 0000 0 /THAT NORMALLY CONTAINS FIELD 1 02346 1373 TAD (210 02347 4502 JMS I [SYS /READ RECORD 66 02350 0000 BLOK66 02351 0066 66 02352 1045 TAD FLAG2 /DID PREVIOUS SYSTEM HAVE A 2-PAGE HANDLER? 02353 7640 SZA CLA 02354 1177 TAD [-200 /NO 02355 4505 JMS I [MOVE /YES 02356 6201 CDF 0 02357 5400 PG7600 02360 6211 CDF 10 02361 0000 BLOK66 02362 5741 JMP I RECZRO 02363 4537 NOTNUF, JMS I [PRWD 02364 7703 TEXT /?CORE/ 02365 1722 02366 0500 02367 5536 JMP I [CONFIG 02373 0210 02374 4726 02375 0730 02376 3777 02377 3147 2400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 46 02400 4521 UNLOAD, JMS I [TSTNAM /PULL OFF A NAME 02401 4520 JMS I [GRPNAM /IT HAD BETTER BE A GROUP NAME 02402 4565 JMS I [TEST 02403 7506 -":;UNLPRM 02404 2411 02405 4000 4000;UNLGRP 02406 2423 02407 0000 0 02410 5522 JMP I [SYNTAX 02411 4777 UNLPRM, JMS I (SAVNAM /UNLOAD PARTICULAR HANDLER 02412 4521 UNLNAM, JMS I [TSTNAM 02413 4517 JMS I [BIGNAM 02414 1033 TAD DSCPTR /DELETE A SINGLE DESCRIPTOR 02415 3336 DCA SAVPTR /DON(T DELETE HANDLER 02416 1033 TAD DSCPTR /OR BOOTSTRAP 02417 1143 TAD [HDRSIZ /NO RELOCATION NECESSARY 02420 3334 DCA LSTPTR 02421 1030 TAD TABLMT 02422 5330 JMP NOMOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 47 02423 4506 UNLGRP, JMS I [GETPG /GET PAGE OF RESIDENCE 02424 3245 DCA TOMOV /START OF HANDLER 02425 4562 GET 02426 0005 TWOPAG /IS IT A 1- OR 2- PAGE HANDLER? 02427 7710 SPA CLA 02430 1132 TAD [200 /2 PAGE 02431 1132 TAD [200 /1 PAGE 02432 3353 DCA UNSIZE 02433 1245 TAD TOMOV /DELETE HANDLER AND MOVE ALL FOLLOWING DOWN 02434 1353 TAD UNSIZE 02435 3243 DCA FROMOV /GET FIRST LOCATION AFTER HANDLER 02436 1032 TAD HNDPTR /GET NEXT FREE LOCATION FOR HANDLER 02437 7041 CIA 02440 1243 TAD FROMOV /GET NUMBER OF LOCS TO MOVE 02441 4505 JMS I [MOVE 02442 6211 CDF 10 02443 0000 FROMOV, 0 02444 6211 CDF 10 02445 0000 TOMOV, 0 /UPDATE POINTERS; SEARCH DESCRIPTORS 02446 1353 TAD UNSIZE /FOR REFS TO MOVED HANDLERS AND DECREASE 02447 7041 CIA /THOSE REFS BY -UNSIZE 02450 1032 TAD HNDPTR 02451 3032 DCA HNDPTR /FREES SOME BUFFER SPACE 02452 1030 TAD TABLMT 02453 3347 DCA OLDTOP /REMEMBER ORIGINAL TOP OF STACK 02454 7240 STA /BACK UP OVER GROUP COUNT 02455 1033 TAD DSCPTR 02456 3336 DCA SAVPTR /REMEMBER THIS LOCATION 02457 1353 TAD UNSIZE 02460 4524 JMS I [ROTL 02461 7041 CIA 02462 3353 DCA UNSIZE 02463 1033 TAD DSCPTR 02464 1143 TAD [HDRSIZ 02465 3334 DCA LSTPTR /'LSTPTR' POINTS TO FIRST DESCRIPTOR BEING MOVED /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 48 /COMPRESS THE DESCRIPTORS ABOVE THIS ONE 02466 4541 ADV, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 02467 5312 JMP BADV /ENCOUNTERED A BOOTSTRAP RECORD 02470 5327 JMP NOMORE /NO MORE, THROUGH 02471 4506 GT, JMS I [GETPG /GET PAGE OF THIS DESCRIPTOR 02472 7141 CLL CIA 02473 1245 TAD TOMOV /COMPARE WITH PAGE OF DELETED HANDLER 02474 7650 SNA CLA 02475 5306 JMP SAMPAG /THEY'RE THE SAME 02476 7430 SZL /THEY'RE NOT THE SAME. WHICH IS HIGHER? 02477 5266 JMP ADV /IT WAS BELOW HANDLER. NO SWEAT. 02500 4562 GET /IT WAS ABOVE HANDLER, HAVE TO ACCOUNT FOR THIS 02501 0006 PAGRES /POINT TO NEW HANDLER LOCATION 02502 1353 TAD UNSIZE 02503 4563 PUT 02504 0006 PAGRES 02505 5266 JMP ADV /CONTINUE 02506 1143 SAMPAG, TAD [HDRSIZ 02507 1033 TAD DSCPTR 02510 3334 DCA LSTPTR /NOTE LOCATION OF NEXT DESCRIPTOR 02511 5266 JMP ADV /ADVANCE PAST BOOTSTRAP OR DELETE IT AS NECESSARY 02512 1033 BADV, TAD DSCPTR 02513 7041 CIA 02514 1334 TAD LSTPTR 02515 7640 SZA CLA /IS THIS BOOT PART OF GROUP BEING UNLOADED? 02516 5324 JMP BDV /NO 02517 1433 TAD I DSCPTR /YES 02520 7041 CIA 02521 7001 IAC 02522 1033 TAD DSCPTR 02523 3334 DCA LSTPTR /SET 'LSTPTR' TO BEGIN OF NEXT DESCRIPTOR 02524 4540 BDV, ADVBOT /ADVANCE OVER BOOTSTRAP 02525 5327 JMP NOMORE /DONE 02526 5271 JMP GT /GO ON TO NEXT DESCRIPTOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 49 /ALL DESCRIPTORS FOR THE SAME HANDLER ARE CONSECUTIVE /MOVE DOWN DESCRIPTORS 02527 1347 NOMORE, TAD OLDTOP 02530 7041 NOMOR, CIA 02531 1334 TAD LSTPTR /MINUS # OF WORDS TO MOVE 02532 4505 JMS I [MOVE 02533 6201 CDF 0 02534 0000 LSTPTR, 0 /FIRST DESCRIPTOR NOT CONSIDERED 02535 6201 CDF 0 02536 0000 SAVPTR, 0 /POINTS TO INITIAL DESCRIPTOR BEING DELETED 02537 1334 TAD LSTPTR 02540 7041 CIA 02541 1336 TAD SAVPTR /GET NUMBER OF WORDS DELETED 02542 1030 TAD TABLMT 02543 3030 DCA TABLMT /UPDATE TABLMT 02544 3430 DCA I TABLMT /MUST HAVE 0 AT TABLE END SO DON'T THINK IT'S A BOOTSTRAP 02545 4500 JMS I [COMMA 02546 5212 JMP UNLNAM OLDTOP, /ORIGINAL TOP OF DESCRIPTORS 02547 0000 INI, 0 02550 1376 TAD (DSCTAB-HDRSIZ 02551 3033 DCA DSCPTR 02552 5747 JMP I INI 4542 INIT=JMS I [INI /RETURN TO CONFIG IF EOL, OR BACK IN-LINE IF COMMA UNSIZE, 02553 0000 COMMA, 0 02554 1021 TAD CHAR 02555 7450 SNA 02556 5536 JMP I [CONFIG 02557 1375 TAD (-", 02560 7650 SNA CLA 02561 5753 JMP I COMMA 02562 5522 JMP I [SYNTAX /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 50 02563 7640 BOOTQ, SZA CLA /MAY BE OVERLAID 02564 5370 JMP SAMEE 02565 3774 DCA I (DRECT /DON'T TOUCH DIRECTORY IF DIDN'T COPY SYS 02566 4477 SAMF, JMS I [SYSWP 02567 5773 JMP I (BOOT4 02570 4772 SAMEE, JMS I (SYSCPY /OR IF OLD DEV=NEW DEV 02571 5366 JMP SAMF 02572 4037 02573 4462 02574 3505 02575 7524 02576 6370 02577 1336 2600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 51 02600 0000 LOCSYS, 0 02601 1377 TAD (2331 /"SY" 02602 3024 DCA NAME1 02603 1376 TAD (2300 /"S " 02604 3025 DCA NAME2 02605 3026 DCA NAME3 /V3C 02606 3027 DCA NAME4 02607 4512 JMS I [ACTNAM /LOOK UP 'SYS' 02610 5600 JMP I LOCSYS 02611 4537 NOSLOT, JMS I [PRWD 02612 7723 TEXT /?SLOTS/ 02613 1417 02614 2423 02615 0000 02616 5536 JMP I [CONFIG 02617 0000 GOOD, 0 02620 1176 TAD [4207 /RESTORE 7600 TO NORMAL 02621 3577 DCA I [7600 02622 1077 TAD [5000 02623 3476 DCA I [7601 02624 1375 TAD (CDF CIF 02625 3475 DCA I [SA /SET SA=00200 02626 1132 TAD [200 02627 3774 DCA I (SA+1 02630 3773 DCA I (JSW /SET JOB STATUS WORD=0 02631 7240 STA 02632 3772 DCA I (DRECT 02633 7346 CLL STA RTL /-3 02634 1474 TAD I [7612 /FUDGE FOR 12K TD8E 02635 3045 DCA FLAG2 /SET FLAG2=0 IF PREV SYSTEM WAS 2 PAGE 02636 5617 JMP I GOOD /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 52 02637 2263 PACK, ISZ PROTECT /OK TO PACK IT? 02640 5244 JMP PACKOK /YES 02641 7240 STA 02642 3263 DCA PROTECT /INHIBIT OTHER PACKS ALSO 02643 5323 JMP GNAME2 02644 2264 PACKOK, ISZ SWIT /PACK LEFT OR RIGHT 02645 5253 JMP RIGHT 02646 1021 TAD CHAR 02647 0113 AND [77 02650 4524 JMS I [ROTL /ROTATE 6 LEFT 02651 3422 DCA I TEMP /STORE THE CHARACTER 02652 5323 JMP GNAME2 02653 7240 RIGHT, CLA CMA /RESET FLIP FLOP 02654 3264 DCA SWIT 02655 1021 TAD CHAR 02656 0113 AND [77 02657 1422 TAD I TEMP 02660 3422 DCA I TEMP 02661 2022 ISZ TEMP /POINT TO NEXT WORD 02662 5323 JMP GNAME2 02663 0000 PROTECT,0 /-1 MEANS DON'T ACCEPT CHAR, IGNORE IT 02664 0000 SWIT, 0 02665 0000 ACTNAM, 0 /THEY MUST BE ACTIVE 02666 7201 CLA IAC 02667 4771 JMS I (PRMNAM 02670 5665 JMP I ACTNAM /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 53 02671 7240 DOT, CLA CMA 02672 3264 DCA SWIT 02673 1370 TAD (-3 /NOW ALLOW ONLY A 2-CHAR EXTENSION 02674 3263 DCA PROTECT 02675 1367 TAD (NAME4 02676 3022 DCA TEMP 02677 2302 ISZ DOTCNT /HAD WE SEEN A DOT BEFORE? 02700 5350 JMP SYNTAX /YES 02701 5323 JMP GNAME2 /NO 02702 7777 DOTCNT, -1 /-1 MEANS HAVEN'T SEEN A DOT 02703 3021 EOL, DCA CHAR 02704 5705 JMP I GNAME 02705 0000 GNAME, 0 /COLLECT A WORD IN NAME1-NAME4 /LEAVE DELIMITING CHAR IN 'CHAR' 02706 6201 CDF 0 02707 1073 TAD [-7 /MAX 6 CHARACTERS 02710 3263 DCA PROTECT 02711 3024 DCA NAME1 /FIRST CLEAR OUT COLLECTION AREA 02712 3025 DCA NAME2 02713 3026 DCA NAME3 02714 3027 DCA NAME4 02715 7240 CLA CMA 02716 3264 DCA SWIT /L-R PACKING SWITCH 02717 7240 STA 02720 3302 DCA DOTCNT /ALLOW ONLY ONE DOT PER NAME 02721 1366 TAD (NAME1 02722 3022 DCA TEMP 02723 4550 GNAME2, GETCHR 02724 7450 SNA /A 0 ENDS THE SEARCH 02725 5303 JMP EOL 02726 3021 DCA CHAR 02727 1021 TAD CHAR 02730 1365 TAD (-"A /GET ONLY A-Z OR 0-9 02731 7100 CLL 02732 1373 TAD ("A-"Z-1 02733 7620 SNL CLA /IS IT A-Z? 02734 5237 JMP PACK /YES..PACK IT AWAY 02735 1021 TAD CHAR 02736 1364 TAD (-"0 02737 7100 CLL 02740 1363 TAD ("0-"9-1 02741 7620 SNL CLA 02742 5237 JMP PACK /FOUND 0-9 02743 4565 JMS I [TEST /TEST FOR DELIMITING CHARS 02744 7522 -".;DOT /ADVANCE POINTERS 02745 2671 02746 0000 0 02747 5705 JMP I GNAME /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 54 02750 4537 SYNTAX, JMS I [PRWD 02751 7723 TEXT /?SYNTAX/ 02752 3116 02753 2401 02754 3000 02755 5536 JMP I [CONFIG 02756 4537 DSKBAD, JMS I [PRWD 02757 7704 TEXT /?DSK/ 02760 2313 02761 0000 02762 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 55 5260 SRES=BEGLIN+60 /RESIDENCY TABLE 5300 SDCB=BEGLIN+100 /DCB 5320 SHND=BEGLIN+120 /SLOT ASSSIGNED? 5340 SNAME=BEGLIN+140/NAME 5360 SBUFF=BEGLIN+160/ADDRESS OF HANDLER / SYSTEM TABLES: /THOSE IN USR: /PDNT PERMANENT DEVICE NAME TABLE (SNAME) / POINTED TO BY LOCATION 10036 IN USR / CONTAIN HASH CODE OF DEVICE NAME / ADD TWO WORDS OF NAME TOGETHER AND TURN ON BIT 0 / IF SECOND WORD WAS NON-ZERO / AN ENTRY OF 0 MEANS THERE IS NO DEVICE FOR THAT ENTRY /DHIT DEVICE HANDLER INFORMATION TABLE (SHND) / POINTED TO BY LOCATION 10037 IN USR / BIT 0 =1 IF THIS IS A TWO-PAGE HANDLER / BITS 1-4 RELATIVE BLOCK LOCATION OF HANDLER ON SYSTEM DEVICE / (BLOCK SLOT). ADD 15 TO GET ACTUAL BLOCK #. / BITS 5-11 RELATIVE ENTRY POINT OF HANDLER /DHRT DEVICE HANDLER RESIDENCY TABLE (SRES) / IN LOCATIONS 17647-17665 / ACTUAL ENTRY POINT OF HANDLER / WE ONLY CARE ABOUT IT IF THE HANDLER IS RESIDENT. / OTHERWISE IT'S ZERO. / THE SYSTEM HANDLER AND ALL HANDLERS CORESIDENT WITH / IT ARE ALWAYS RESIDENT IN CORE AND HAVE THIS ENTRY NON-0. /DCWT DEVICE CONTROL WORD TABLE (SDCB) / RESIDES IN LOCATIONS 17760-17776 / BIT 0 1 IF DEVICE IS FILE STRUCTURED / BIT 1 1 IF THE DEVICE IS READ ONLY / BIT 2 1 IF THE DEVICE IS WRITE-ONLY / BITS 3-8 PHYSICAL DEVICE TYPE / BITS 9-11 DIRECTORY BLOCK # (WE SET TO 0) /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 56 /PRE-ASSIGNED DEVICE TYPES /0 TELETYPE /1 HIGH SPEED PAPER TAPE READER /2 HIGH SPEED PAPER TAPE PUNCH /3 CARD READER /4 LINE PRINTER (ANY TYPE) /5 RK8 DISK /6 RF08 (1 PLATTER) /7 RF08 (2 PLATTERS) /10 RF08 (3 PLATTERS) /11 RF08 (4 PLATTERS) /12 DF32 (1 PLATTER) /13 DF32 (2 PLATTERS) /14 DF32 (3 PLATTERS) /15 DF32 (4 PLATTERS) /16 TC08 DECTAPE /17 LINCTAPE /20 TM8E MAGTAPE /21 TD8E DECTAPE (12K OR ROM) /22 BAT: /23 RK8E DISK /27 TU60 CASSETTES /30 VR12 (PDP-12 SCOPE) 02763 7766 02764 7520 02765 7477 02766 0024 02767 0027 02770 7775 02771 0662 02772 3505 02773 7746 02774 7745 02775 6203 02776 2300 02777 2331 3000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 57 03000 1377 BOOT2A, TAD (15 03001 3034 DCA SLOT /START ASSIGNING AT BLOCK SLOT 16 (16-25) 03002 1376 TAD (-17 /ALLOW 16 ACTIVE HANDLERS NOT COUNTING DSK 03003 3020 DCA COUNT 03004 4775 JMS I (CLRTBL /CLEAR OUT IN-CORE TABLES 03005 1374 TAD (SHND+1 /ASSIGN SLOTS, COUNT ACTIVE HANDLERS 03006 3010 DCA XR1 /XR1 POINTS TO SLOT TABLE (DHIT) 03007 1373 TAD (SDCB+1 03010 3011 DCA XR2 /XR2 POINTS TO DCB TABLE 03011 1372 TAD (SNAME+1 03012 3012 DCA XR3 /XR3 POINTS TO PERMANENT DEVICE NAME TABLE 03013 1371 TAD (SBUFF+1 03014 3013 DCA XR4 /XR4 POINTS TO HANDLER BUFFER ADDRESSES 03015 1370 TAD (SRES+1 03016 3014 DCA XR5 /XR5 POINTS TO RESIDENCY TABLE 03017 7201 CLA IAC /?? 03020 3042 DCA OLDPAG /SET 'OLDPAG' TO A RIDICULOUS VALUE 03021 4542 INIT 03022 4541 SLTLUP, ADVDSC /GO TO NEXT DESCRIPTOR 03023 4540 ADVBOT /ADVANCING OVER ANY BOOTSTRAPS 03024 5234 JMP BOOT2X /ALL DONE CREATING INTERNAL COPIES OF TABLES 03025 4562 GET 03026 0006 ACTIVE 03027 7700 SMA CLA /IS IT ACTIVE? 03030 5326 JMP INACT /NO 03031 2020 ISZ COUNT /YES, UPDATE COUNT 03032 5256 JMP ACTIV 03033 5767 JMP I (TOOMANY /TOO MANY ACTIVE HANDLERS BOOT2X,/ TAD I (SNAME /SEE IF SYS WAS SPECIFIED / DCA SAMSYS /0 IF DIDN'T SPECIFY NEW SYS / TAD SAMSYS / SZA CLA / JMP CHKDSK / CDF 10 / TAD I (7760 /DIDN'T SPECIFY SYS SO USE CURRENT SYS / CDF 0 / DCA I (SDCB / TAD (7607 / DCA I (SRES /CHKDSK, TAD DSKG1 /WAS DSK SPECIFIED? / SZA CLA / JMP I (BOOT3 /YES, ALREADY SET UP / TAD I (SDCB / DCA I (SDCB+1 / TAD (7607 / DCA I (SRES+1 / DCA I (SBUFF+1 03034 5766 JMP I (BOOT3 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 58 03035 0000 CHKRES, 0 03036 4506 JMS I [GETPG /GET PAGE OF RESIDENCE 03037 3041 DCA NEWPAG 03040 1041 TAD NEWPAG 03041 1042 TAD OLDPAG 03042 7650 SNA CLA /SAME OR PREVIOUS PAGE? 03043 5635 JMP I CHKRES /YES, SAME PAGE 03044 2235 ISZ CHKRES 03045 4562 GET /NO, A NEW PAGE, NEEDS NEW SLOT, ETC. 03046 0005 CORES 03047 7006 RTL /GET CORES BIT 03050 7710 SPA CLA /IS THIS ALLOWED TO START A NEW GROUP? 03051 5765 JMP I (TWOSYS /NO, IT MAY ONLY BE CORESIDENT WITH SOMETHING EARLIER 03052 1041 TAD NEWPAG /YES 03053 7041 CIA 03054 3042 DCA OLDPAG /GOT NEW 'OLDPAG' 03055 5635 JMP I CHKRES /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 59 03056 4235 ACTIV, JMS CHKRES 03057 5343 JMP SAMPG 03060 4562 GET 03061 0005 SYSBIT 03062 7004 RAL 03063 7710 SPA CLA /IS IT A 'SYS' HANDLER? 03064 5764 JMP I (SETSY /YES 03065 4763 JMS I (GETSLOT /NO 03066 4762 JMS I (SETSLT /SET BLOCK SLOT 03067 3410 DCA I XR1 03070 1041 TAD NEWPAG 03071 3413 HNDLOC, DCA I XR4 /STORE AWAY ADDRESS OF HANDLER (OR 0 IF PREVIOUSLY USED) 03072 4761 JMS I (GETDCB 03073 3411 DCA I XR2 /SET DCB 03074 4562 GET /HASH CODE NAME 03075 0003 PRMNM2 03076 3022 DCA TEMP /SAVE 2ND WORD 03077 4562 GET 03100 0002 PRMNM1 03101 1022 TAD TEMP /ADD 2 WORDS 03102 3023 DCA TMP1 /SAVE SUM 03103 1022 TAD TEMP 03104 7650 SNA CLA /WAS 2ND WORD 0? 03105 5312 JMP NO4C /YES 03106 1023 TAD TMP1 /NO, FORCE BIT 0 ON 03107 7004 RAL 03110 7130 STL RAR 03111 3023 DCA TMP1 03112 1023 NO4C, TAD TMP1 /TAKE CODED NAME 03113 3412 DCA I XR3 /SET PERMANENT NAME TABLE 03114 4562 GET 03115 0005 CORES 03116 7006 RTL /GET CORESIDENT BIT 03117 7700 SMA CLA /IS IT RESIDENT? 03120 5325 JMP NORE /NO 03121 4562 GET /YES 03122 0005 ENTPT /GET RELATIVE ENTRY POINT 03123 0110 AND [177 03124 1177 TAD [7600 /CORESIDENT ENTRY POINTS TO SYS MUST BE ON PAGE 7600 03125 3414 NORE, DCA I XR5 /SET RESIDENCY TABLE 03126 4562 INACT, GET /BUT MAYBE IT'S 'DSK' 03127 0006 DSKBIT 03130 7006 RTL 03131 7620 SNL CLA /IS IT DSK? 03132 5222 JMP SLTLUP /NO, IT'S TO BE IGNORED 03133 4760 JMS I (SLOTDSK /YES ASSIGN 'DSK''S LOCATION SLOT 03134 4562 GET /GET RID OF DSK BIT 03135 0006 DSKBIT 03136 7006 RTL 03137 7112 CLL RTR 03140 4563 PUT 03141 0006 DSKBIT 03142 5222 JMP SLTLUP /REITERATE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 60 03143 1034 SAMPG, TAD SLOT /ALREADY HAVE SLOT 03144 4762 JMS I (SETSLT 03145 3410 DCA I XR1 03146 5271 JMP HNDLOC GOTEM, 03147 0000 CORE, 0 03150 1561 TAD I [7777 03151 0072 AND [70 03152 7112 CLL RTR 03153 7010 RAR 03154 7450 SNA 03155 4757 JMS I (RELCOR 03156 5747 JMP I CORE 03157 0326 03160 3262 03161 3242 03162 3331 03163 3200 03164 3311 03165 1224 03166 3506 03167 2200 03170 5261 03171 5361 03172 5341 03173 5301 03174 5321 03175 2274 03176 7761 03177 0015 3200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 61 / STEPS IN BOOTSTRAPPING: /1. ASSIGN DSK, IF SPECIFIED, MAKE SURE NFS [BOOT2] /2. ASSIGN SLOTS [BOOT2A] /3. GIVE ERROR IF TOO MANY ACTIVE OR TOO MANY SLOTS [BOOT2A] /4. BUILD INTERNAL COPIES OF DCB, SLOT, NAME, RES [BOOT2A] /5. ALSO BUILD HANDLER ADDRESS TABLE, CONTAINS [BOOT2A] / HANDLER ADDRESS IF NOT PREVIOUSLY WRITTEN OUT /6. COMPARE DCB'S OF NEW AND OLD SYSTEM, IF DIFF, [BOOT3] / COPY SYSTEM OVER. LEAVE NEW SYSTEM HANDLER / IN CORE /7. ASK GUY ABOUT NEW DIRECTORY [BOOT4] /8. READ IN USR, UPDATE ITS TABLES, WRITE OUT USR [BOOTC] / NAME TABLE, DHIT (SLOT, 2-PAGE,ENTPT) /9. READ IN CURRENT PAGE 7600 IMAGES [BOOT5] / SET UP AS FOLLOWS: / PG7600/L: BOOT / PG7600/H: 07600 IMAGE / BLOK66/L: 17600 IMAGE / BLOK66/U: 27600 IMAGE / THIS IS ACCOMPLISHED VIA: / PG7600_0 / BLOK66_66 / IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L /10. MOVE DCB AND RESIDENCY TABLES INTO 17600 IMAGE [BOOT6] /11. MOVE BOOTSTRAP INTO PAGE 7600 IMAGES (2 PLACES) [BOOT7] /12. WRITE OUT HANDLERS [BOOT8] /13. ZERO DIRECTORY IF REQUESTED [BOOTD] /14. PUT SYS, DATA BREAK, CORE LIM IN 07600 IMAGE [BOOTE] /15. WRITE 7600 IMAGES BACK OUT ONTO TAPE [BOOTF] / IF NEW SYS IS 1-PAGE, PG7600/L_BLOK66/L / 0_PG7600 / 66_BLOK66 /16. READ BACK PAGE 7600 IMAGES. MOVE IN FIELD 1 STUFF / EXCEPT FOR CD AREA, RESTORE TODAY'S DATE, / BRANCH TO 7600 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 62 03200 0000 GETSLOT,0 03201 2034 ISZ SLOT /USE NEXT SLOT 03202 1034 TAD SLOT 03203 1377 TAD (-26 03204 7650 SNA CLA 03205 5776 JMP I (NOSLOT 03206 1034 TAD SLOT 03207 5600 JMP I GETSLOT 03210 2775 BOOT, ISZ I (RETSW /***? 03211 7201 CLA IAC 03212 3774 DCA I (BD /DISABLE 'BUILD' CMD /SEE IF ARGUMENT WAS GIVEN; TREAT IT AS BOOT DEVICE, /SAVE HANDLER ADDRESS (MUST BE AN ACTIVE HANDLER) 03213 4773 JMS I (LOCSYS /IN CASE DSK=SYS / JMS I [GETNUM / NOP / TAD SIZE / DCA BOOTDV /CHECK THAT # IS GT 7600 03214 1035 BOOT2, TAD DSKG1 /FIND OUT ABOUT 'DSK' 03215 7450 SNA 03216 5227 JMP GOTD /DSK=SYS 03217 3002 DCA SAV1 03220 1036 TAD DSKG2 03221 3003 DCA SAV2 03222 1037 TAD DSKP1 03223 3024 DCA NAME1 03224 1040 TAD DSKP2 03225 3025 DCA NAME2 03226 4517 JMS I [BIGNAM /FIND IT IN TABLES 03227 4562 GOTD, GET 03230 0004 DCB 03231 7700 SMA CLA /IS IT FILE-STRUCTURED? 03232 5772 JMP I (DSKBAD /NO 03233 4562 GET /YES 03234 0006 DSKBIT 03235 7006 RTL 03236 7132 STL RTR /TURN ON BIT 1 03237 4563 PUT 03240 0006 DSKBIT 03241 5771 JMP I (BOOT2A /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 63 03242 0000 GETDCB, 0 03243 4562 GET 03244 0006 PLATNUM 03245 4524 JMS I [ROTL 03246 0125 AND [7 /GET # OF PLATTERS 03247 7450 SNA 03250 7001 IAC /0 MEANS 1 03251 1161 TAD [-1 /SUBTRACT 1 03252 7106 CLL RTL 03253 7004 RAL /TIMES 10 03254 3023 DCA TMP1 03255 4562 GET 03256 0004 DCB 03257 0071 AND [7770 /MASK OFF USEFUL INFO 03260 1023 TAD TMP1 03261 5642 JMP I GETDCB /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 64 03262 0000 SLOTDSK,0 03263 4770 JMS I (CHKRES 03264 5326 JMP SMPG 03265 1041 TAD NEWPAG 03266 3767 DCA I (SBUFF+1 03267 4200 JMS GETSLOT 03270 4331 JMS SETSLT 03271 3766 B, DCA I (SHND+1 03272 4242 JMS GETDCB 03273 3765 DCA I (SDCB+1 03274 1364 TAD (5723 /'DSK' HASHED 03275 3763 DCA I (SNAME+1 03276 4562 GET 03277 0005 SYSBIT 03300 7006 RTL /SYSBIT TO L, CORES BIT TO AC0 03301 7720 SNL SMA CLA /IS IT EITHER SYS OR CORESIDENT WITH SYS? 03302 5307 JMP NORE2 /NO, SO IT'S NOT CORE-RESIDENT 03303 4562 GET /YES, RESIDENT AT ALL TIMES IN 07600 03304 0005 ENTPT 03305 0110 AND [177 03306 1177 TAD [7600 03307 3762 NORE2, DCA I (SRES+1 03310 5662 JMP I SLOTDSK 03311 1041 SETSY, TAD NEWPAG 03312 3761 DCA I (SBUFF / JMS SETSLT /NO BLOCK SLOT 03313 3760 DCA I (SHND 03314 4242 JMS GETDCB 03315 3757 DCA I (SDCB /SET DCB 03316 1756 TAD I (SNAME 03317 7640 SZA CLA 03320 5755 JMP I (TWOSYS 03321 1354 TAD (4631 /HASH CODING FOR 'SYS' 03322 3756 DCA I (SNAME /CHECK THAT NAME IS 'SYS' 03323 1070 TAD [7607 03324 3753 DCA I (SRES /CHECK REL ENTRY PT IS 7 03325 5752 JMP I (INACT 03326 1034 SMPG, TAD SLOT 03327 4331 JMS SETSLT 03330 5271 JMP B /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 65 03331 0000 SETSLT, 0 03332 7450 SNA 03333 5336 JMP .+3 03334 1067 TAD [-15 03335 4514 JMS I [ROTR 03336 3023 DCA TMP1 03337 4562 GET / 03340 0005 CORES / 03341 7006 RTL / 03342 7730 SPA SZL CLA / 03343 5731 JMP I SETSLT /SYS &CORES HANDLERS GET 0 ENTRY (UNFORTUNATELY) 03344 4562 GET 03345 0005 ENTPT 03346 0351 AND (4177 03347 1023 TAD TMP1 03350 5731 JMP I SETSLT 03351 4177 03352 3126 03353 5260 03354 4631 03355 1224 03356 5340 03357 5300 03360 5320 03361 5360 03362 5261 03363 5341 03364 5723 03365 5301 03366 5321 03367 5361 03370 3035 03371 3000 03372 2756 03373 2600 03374 0302 03375 5165 03376 2611 03377 7752 3400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 66 0013 USRBLK=13 /BLOCK OF USR ON SYSTEM DEVICE 0036 USRNPT=36 /POINTS TO USR PTR TO PERMANENT DEVICE NAME TABLE 0037 USRHPT=37 /POINTS TO USR PTR TO DEVICE HANDLER INFORMATION TABLE 03400 1132 BOOTC, TAD [200 /READ FIRST BLOCK OF USR 03401 4502 JMS I [SYS 03402 5400 BUFFER /INTO BUFFER 03403 0013 USRBLK 03404 1466 TAD I [BUFFER+USRNPT /GET POINTER TO NAME TABLE 03405 1077 TAD [BUFFER-400 /ADD IN OFFSET FOR RELOCATION 03406 3223 DCA T1AD /ASSUME BOTH TABLES OCCUR IN THE SECOND 03407 1465 TAD I [BUFFER+USRHPT /BLOCK OF THE USR 03410 1077 TAD [BUFFER-400 03411 3231 DCA T2AD /GET POINTER TO DHIT 03412 1167 TAD [400 /READ BLOCKS 2 AND 3 OF USR 03413 4502 JMS I [SYS /INTO BUFFER,BINARY 03414 5400 BUFFER 03415 0014 USRBLK+1 03416 1064 TAD [-17 03417 4505 JMS I [MOVE /MOVE IN PERMANENT DEVICE NAME TABLE 03420 6201 CDF 0 03421 5340 SNAME 03422 6201 CDF 0 03423 7402 T1AD, HLT / TAD SAMSYS /WAS SYS SPECIFIED? / SZA CLA / JMP CHKD2 /YES / TAD I T2AD /NO, USE CURRENT SYS INFO / DCA I (SHND /CHKD2, TAD DSKG1 / SZA CLA /WAS DSK SPECIFIED? / JMP MVSHND /YES / TAD I T2AD /MAKE SAME AS SYS / DCA I (SHND+1 03424 1064 MVSHND, TAD [-17 /NOW PUT IN SLOT WORDS (DHIT) 03425 4505 JMS I [MOVE 03426 6201 CDF 0 03427 5320 SHND 03430 6201 CDF 0 TMP2, 03431 7402 T2AD, HLT 03432 1105 TAD [4400 /RE-WRITE USR 03433 4502 JMS I [SYS 03434 5400 L5400, BUFFER 03435 0014 USRBLK+1 03436 5463 JMP I [BOOT5 IFNZRO BUFFER-5400 <ERRRR,XX> /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 67 03437 1305 BOOTD, TAD DRECT /WANT NEW DIRECTORY? 03440 7650 SNACLA, SNA CLA 03441 5246 JMP BOOTE 03442 1234 TAD L5400 /YEP. WRITE ONE 03443 4502 JMS I [SYS 03444 4157 DPROPR 03445 0001 1 03446 1043 BOOTE, TAD NEWCOR 03447 7104 CLL RAL 03450 7006 RTL 03451 1047 TAD SAVHID /V3D SET NEW H.O. DATE WORD 03452 3561 DCA I [7777 /SET UP NEW CORE LIMIT 03453 1357 TAD SYSLOC /MOVE IN FRESH COPY OF SYS HANDLER 03454 1125 TAD [7 03455 3261 DCA SYSL2 03456 1062 TAD [7607-7743-1 03457 4505 JMS I [MOVE 03460 6211 CDF 10 03461 7402 SYSL2, HLT 03462 6201 CDF 0 03463 7607 7607 03464 1177 TAD [-200 /PUT SYS HANDLER INTO REC 0 BUFF. ??? 03465 4505 JMS I [MOVE 03466 6201 CDF 0 03467 7600 7600 03470 6201 CDF 0 03471 5600 PG7600+200 /RESIDENT F0 CODE 03472 4777 JMS I (WRITCC /WRITE CCB AND DATA BREAK FILLERS 03473 1132 TAD [200 03474 1357 TAD SYSLOC /MOVE IN COPY OF 27600 AGAIN 03475 3301 DCA SYSL3 03476 1177 TAD [-200 03477 4505 JMS I [MOVE 03500 6211 CDF 10 03501 7402 SYSL3, HLT 03502 6211 CDF 10 03503 0200 BLOK66+200 03504 5776 JMP I (BOOTF 03505 7777 DRECT, -1 /1 MEANS WRITE A ZERO DIRECTORY /0 MEANS DON'T TOUCH DIRECTORY /-1 MEANS ASK GUY FOR OPTION /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 68 /SEE IF NEW SYSTEM HAS SAME DCB AS CURRENT SYSTEM /THIS MAY WELL CAUSE EXTRA I/O WHEN GOING FROM RF08=K TO RF08=M 03506 6211 BOOT3, CDF 10 03507 1775 TAD I (DATEWD 03510 3044 DCA SAVDAT /SAVE TODAY'S DATE FOR FUTURE REFERENCE 03511 1774 TAD I (DCBTBL /GET DCB OF CURRENT SYSTEM 03512 6201 CDF 0 03513 0071 AND [7770 03514 3231 DCA TMP2 03515 4773 JMS I (PATCH /V3D 03516 1361 TAD SAVLOC /DON'T COPY IF DID 'BUILD' 03517 7650 SNA CLA /WAS THE 'BU' COMMAND USED? 03520 1071 TAD [-10 /NO, USE 'SZA CLA' 03521 1240 TAD SNACLA /YES, USE 'SNA CLA' 03522 3772 DCA I (BOOTQ 03523 4330 JMS SETUPSYS 03524 1046 TAD SYSDCB 03525 7041 CIA 03526 1231 TAD TMP2 03527 5772 JMP I (BOOTQ /NOTE: THIS PROCEDURE DOESN'T COPY BOOTSTRAP IF NEW DEV=OLD DEV. / THEREFORE YOU CAN'T CHANGE BOOTSTRAPS / CHECK ON AFFECT FOR TD8E/ROM INTERACTION /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 69 03530 0000 SETUPSYS,0 03531 3361 DCA SAVLOC 03532 1361 TAD SAVLOC 03533 3771 DCA I (SAVLC 03534 4770 JMS I (LOCSYS 03535 4506 JMS I [GETPG /GET PAGE OF SYS HANDLER 03536 3357 DCA SYSLOC /PAGE OF START OF NEW SYSTEM HANDLER 03537 4767 JMS I (GETDCB 03540 3046 DCA SYSDCB 03541 4766 JMS I (GETLEN 03542 4562 GET 03543 0005 TWOPAG 03544 3765 DCA I (SYSSIZ 03545 1765 TAD I (SYSSIZ 03546 7700 SMA CLA /IS IT 1- OR 2-PAGES? 03547 5354 JMP ONEPG /GUESS WHAT THIS MEANS [HINT LOOK AT LABEL] 03550 7240 STA 03551 1764 TAD I (AMTCOR 03552 7650 SNA CLA 03553 5763 JMP I (NOTNUF /WE CAN'T RUN IN 8 K 03554 1160 ONEPG, TAD [-400 03555 4505 JMS I [MOVE 03556 6211 CDF 10 03557 7402 SYSLOC, HLT /MOVE SYSTEM HANDLER 03560 6211 CDF 10 03561 0000 SAVLOC, 0 /TO 10000-10377 03562 5730 JMP I SETUPSYS 03563 2363 03564 5067 03565 4273 03566 4132 03567 3242 03570 2600 03571 5070 03572 2563 03573 4552 03574 7760 03575 7666 03576 4322 03577 2155 3600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 70 03600 0000 FIRST, 0 /SUBROUTINE FOR LDABS IN FIELD 2 03601 1213 TAD KLUD 03602 3214 DCA NEWLIM 03603 6223 CIF CDF 20 03604 5600 JMP I FIRST /0: LOADING OS/8 /-2: LOADING HEADER OF HANDLER /-1: LOADING HANDLER 03605 6221 HND, CDF 20 /DATA FIELD 2 03606 1777 TAD I (ORIGIN 03607 3213 DCA KLUD 03610 1030 TAD TABLMT 03611 6223 CIF CDF 20 /BACK TO FIELD 2 03612 5776 JMP I (ORI 03613 0000 KLUD, 0 03614 0000 NEWLIM, 0 /NEW END OF DESCRIPTORS 03615 7240 OK, STA /NOW USE ORIGIN TO TELL US HOW BIG A 03616 6221 CDF 20 03617 1777 TAD I (ORIGIN /HANDLER WAS LOADED 03620 6201 CDF 00 /BACK TO OUR FIELD 03621 0177 AND [7600 03622 1132 TAD [200 /REMEMBER THAT ORIGIN IS ONE GREATER 03623 3032 DCA HNDPTR /THAN ACTUAL LAST LOCATION. /BETTER TO USE 2-PAGE BIT 03624 1214 TAD NEWLIM 03625 3030 DCA TABLMT /SET NEW TABLE TOP 03626 3430 DCA I TABLMT /NEED 0 AT END 03627 4500 JMS I [COMMA 03630 5775 JMP I (LOAD 03631 6212 NMER, CIF 10 /V3C 03632 4532 JMS I [200 /DISMISS USR FROM CORE 03633 0011 11 03634 5774 JMP I (NAMERR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 71 03635 0000 IOPEN, 0 /PREPARE TO READ INPUT 03636 7240 CLA CMA 03637 3773 DCA I (CHCNT 03640 1772 TAD I (JMPX /RESTORE SWITCH 03641 3771 DCA I (JMPGET 03642 1770 TAD I (FILPTR /RESULTS OF LOOKUP 03643 3767 DCA I (RECNO 03644 3766 DCA I (REOF 03645 1365 TAD (CDF 0 03646 6221 CDF 20 /OFF TO FIELD 2 03647 3764 DCA I (XFIELD /SETUP LDABS FOR FIELD 0 03650 6201 CDF 00 /BACK TO FIELD 0 03651 5635 JMP I IOPEN 03764 0451 03765 6201 03766 5161 03767 5107 03770 1057 03771 5121 03772 5100 03773 5162 03774 1770 03775 1071 03776 0472 03777 0556 4000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 72 /BLOCK 0 OF DEVICE CONTAINS INITIAL IMAGE /OF 17600 FOLLOWED BY 07600 /17600-17646 CD AREA INITIALLY CONTAINS BOOTSTRAP /17647-17665 RESIDENCY TABLE /17666 DATE /17667-17677 PART OF OS/8 KBM /17700-17740 PART OF OS/8 USR /17741-17757 USER DEVICE NAME TABLE/ODT /17760-17776 CONTROL WORD TABLE (DCB) /17777 UNUSED /07600-07606 PART OF OS/8 CODE /07607-07743 SYSTEM HANDLER /07744-07745 STARTING ADDRESS /07746 JOB STATUS WORD (JSW) /07747 MUST BE 0 (SOFSET) /07750-07755 DATA BREAK LOCATIONS RESERVED FOR HARDWARE /07756-07775 KBM AND ODT /07776 MUST BE 0 (SBLOCK) /07777 SOFTWARE CORE SIZE, BATCH FLAGS /IF SYSTEM HANDLER IS TWO PAGES LONG, THEN WE HAVE INSTEAD: /BLOCK 66 (LOWER) CONTAINS 17600 IMAGE /BLOCK 66 (UPPER) CONTAINS 27600 IMAGE (MUST END WITH 4 ZERO'S) /BLOCK 0 (LOWER) CONTAINS BOOTSTRAP /BLOCK 0 (UPPER) CONTAINS 07600 IMAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 73 4000 *4000 04000 0000 DSCADV, 0 /ADVANCE TO NEXT DESCRIPTOR /RETURN 2 MEANS NO MORE /RETURN 1 MEANS NOW AT BOOTSTRAP BLOCK /RETURN 3 OTHERWISE 04001 1033 TAD DSCPTR 04002 1143 TAD [HDRSIZ 04003 3033 DCA DSCPTR 04004 4777 JMS I (SKPCRD /SKIP A POSSIBLE GROUP COUNT 04005 1433 TAD I DSCPTR 04006 7100 CLL 04007 1132 TAD [200 04010 7630 SZL CLA 04011 5600 JMP I DSCADV /TAKE RETURN1 UPON REACHING BOOTSTRAP RECORD 04012 2200 ISZ DSCADV 04013 1433 TAD I DSCPTR 04014 7640 SZA CLA 04015 2200 ISZ DSCADV /TAKE RETURN 2 IF ADVANCED TO END 04016 5600 JMP I DSCADV /RETURN 1 MEANS NO MORE DESCRIPTORS 04017 0000 BOTADV, 0 04020 1433 TAD I DSCPTR 04021 7041 CIA 04022 7001 IAC /COUNT IS ONE MORE 04023 1033 TAD DSCPTR 04024 3033 DCA DSCPTR /POINT TO BEGIN OF NEXT DESCRIPTOR 04025 4777 JMS I (SKPCRD 04026 1433 TAD I DSCPTR 04027 7100 CLL 04030 1132 TAD [200 04031 7630 SZL CLA 04032 5220 JMP BOTADV+1 /WIERD CASE OF CONSECUTIVE BOOTSTRAPS 04033 1433 TAD I DSCPTR 04034 7640 SZA CLA 04035 2217 ISZ BOTADV /TAKE RETURN1 IF ADVANCED TO END 04036 5617 JMP I BOTADV /WIERD CASES CAN OCCUR IF GUY DELETES ALL ENTRY POINTS IN A GROUP SEPARATELY /DESCRIPTOR ENTRIES: /FIRST WORD: / 0 MEANS END OF TABLE / -1 TO -20 MEANS GROUP COUNT (NOT NECESSARILY ACCURATE) / -21 TO -400 APPROX MEANS BOOTSTRAP RECORD COUNT / OTHER MEANS DESCRIPTOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 74 04037 0000 SYSCPY, 0 /COPY OS/8 SYSTEM 04040 7240 STA 04041 1776 TAD I (AMTCOR 04042 7640 SZA CLA 04043 1143 TAD [10 /GT 8K 04044 3332 DCA CORBIT 04045 1332 TAD CORBIT 04046 7640 SZA CLA 04047 5256 JMP COP2 04050 4477 JMS I [SYSWP /SWAP IN NEW SYS HANDLER 04051 1375 TAD (7410 04052 4502 JMS I [SYS /SAVE PART OF BUILD TO MAKE A BIG BUFFER 04053 0400 400 /SAVE 400- 04054 0027 27 /SAVE IN BLOCK 27 04055 4477 JMS I [SYSWP /GET BACK ORIGINAL HANDLER 04056 1061 COP2, TAD [4210 04057 4307 JMS COPY /COPY BLOCK 0 04060 0000 0 04061 1374 TAD (5610 04062 4307 JMS COPY /COPY 7-15 04063 0007 7 04064 1061 TAD [4210 04065 4307 JMS COPY /COPY 26 04066 0026 26 04067 1375 TAD (7410 04070 4307 JMS COPY /COPY 51-66 04071 0051 51 04072 1061 TAD [4210 04073 4307 JMS COPY /COPY 67 04074 0067 67 04075 1332 TAD CORBIT 04076 7640 SZA CLA 04077 5306 JMP COP3 04100 4477 JMS I [SYSWP /GET BACK NEW HANDLER FOR A MOMENT 04101 1373 TAD (3410 /RESTORE CORE WE SAVED 04102 4502 JMS I [SYS 04103 0400 400 04104 0027 27 04105 4477 JMS I [SYSWP /RESTORE ORIGINAL SYS HANDLER 04106 5637 COP3, JMP I SYSCPY /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 75 04107 0000 COPY, 0 04110 1332 TAD CORBIT 04111 3023 DCA TMP1 04112 1707 TAD I COPY 04113 3322 DCA COPREC /ARG 1 CONTAINS FIRST BLOCK TO COPY 04114 1322 TAD COPREC 04115 3327 DCA CPREC2 /MAKE TWO COPIES 04116 7130 STL RAR /CONVERT 'WRITE' TO READ 04117 1023 TAD TMP1 04120 4502 JMS I [SYS /READ FROM ORIGINAL DEVICE 04121 0400 400 04122 7402 COPREC, HLT 04123 4477 JMS I [SYSWP 04124 1023 TAD TMP1 04125 4502 JMS I [SYS /WRITE ON NEW DEVICE 04126 0400 400 04127 7402 CPREC2, HLT 04130 4477 JMS I [SYSWP /LEAVE WITH ORIGINAL SYSTEM HANDLER STILL IN SYSTEM 04131 5707 JMP I COPY /FALL THROUGH RECORD NUMBER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 76 CORBIT, 04132 0000 GETLEN, 0 04133 4562 GET /GET LENGTH OF DEVICE 04134 0006 PLATNUM 04135 4524 JMS I [ROTL /GET NUMBER OF PLATTERS 04136 0125 AND [7 04137 7450 SNA 04140 7001 IAC /0 MEANS 1 04141 7041 CIA 04142 3020 DCA COUNT 04143 4562 GET 04144 0007 DEVSIZ 04145 3023 DCA TMP1 04146 1023 SIZLUP, TAD TMP1 04147 7450 SNA 04150 7240 STA /4096 BECOMES 4095 04151 2020 ISZ COUNT 04152 5346 JMP SIZLUP 04153 7041 CIA 04154 1072 TAD [70 /LEAVE ROOM FOR OS/8 04155 3365 DCA DLENGTH 04156 5732 JMP I GETLEN 04157 7777 DPROPR, -1 /INITIAL EMPTY DIRECTORY 04160 0070 MFREE 04161 0000 0 04162 0000 0 04163 7777 -1 04164 0000 0 /1 EMPTY FILE 04165 0000 DLENGT, 0 04166 4537 BADARG, JMS I [PRWD 04167 7701 TEXT /?ARG/ 04170 2207 04171 0000 04172 5536 JMP I [CONFIG 04173 3410 04174 5610 04175 7410 04176 5067 04177 4541 4200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 77 /WANT TO COPY /SYS 0 /KBM 7-12 /USR 13-15 /ENTER,TM8E 26 /CD 51-53 /SAVE,DATE 54-55 /ERR 56 /CHAIN 57 /ODT 60-63 /CCL 64,65,67 /SYS 66 /EXTRA (DON'T WANT TO COPY): /HANDLERS 16-25 /SCRATCH 27-50 /NEW ALGORITHM: /SET FIELD 2 IF 12K OR MORE AND SKIP *'ED ITEMS /1. MOVE NEW SYS HANDLER TO 0,200 /2.* SAVE 34 PAGES STARTING AT 10400 IN BLOCK 27 OF NEW DEVICE /3. COPY BLOCKS 7-15 /4. COPY BLOCK 26 /5. COPY BLOCKS 51-66 /6. COPY BLOCK 67 /7.* RESTORE 34 PAGES /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 78 /THE FOLLOWING ROUTINES AND VARIABLES MUST BE ABOVE THE LOCATIONS /IN WHICH OS/8 AND CD LOAD INTO, BECAUSE THEY ARE CALLED BY LDABS. /FURTHERMORE, NONE OF THESE ROUTINES MAY USE PAGE 0 LITERALS /OR MAY USE ANY PAGE 0 TEMPORARIES, EXCEPT THAT SOME MAY USE /PAGE ZERO TEMPORARIES IF THE STORE INTO THEM FIRST /(EXCEPT THOSE COMMENTED OTHERWISE, WHICH MUST PRESERVE /THE NEW PAGE 0 AT ALL COSTS, UNTIL IT IS WRITTEN OUT /LDABS /ICHAR /BADINP /OVER /ASSEMB /CTCTST /PRWD /CTRLC /OVROUT /ROTL /PRINTE /TTYOUT /ROTR /PWORD /ECHOFL /LINEUP /CRLF /PRNT /RUBFLG /MOVE /SYSWP /AMTCOR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 79 7760 SYDCB=7760 /LOCATION OF SYS,DSK DCB WORDS 04200 4777 BOOT5, JMS I (RECZRO 04201 1064 BOOT6, TAD [-17 04202 4505 JMS I [MOVE /PUT RESIDENT FIELD 1 TABLES INTO 04203 6201 CDF 0 04204 5300 SDCB /FIXED SPOTS 04205 6211 CDF 10 04206 0160 BLOK66+160 04207 1064 TAD [-17 04210 4505 JMS I [MOVE 04211 6201 CDF 0 04212 5260 SRES 04213 6211 CDF 10 04214 0047 BLOK66+47 /COULD SET USER DEVICE NAMES HERE IF DESIRED 04215 4776 BOOT7, JMS I (LOCSYS / TAD SAMSYS / SZA CLA /SAME SYSTEM? / JMP BOOT8 /YES 04216 4541 BLOOK, ADVDSC /SEARCH FOR BOOTSTRAP 04217 5222 JMP FNDBOT /FOUND BOOTSTRAP RECORD AMONGST DESCRIPTORS 04220 7402 HLT /IT WASN'T THERE! 04221 5216 JMP BLOOK /KEEP LOOKING 04222 1033 FNDBOT, TAD DSCPTR 04223 7001 IAC /POINT TO BOOTSTRAP 04224 3230 DCA FROMBO 04225 1433 TAD I DSCPTR /LENGTH OF BOOTSTRAP /CHECK THAT'S IT'S LE 47 LOCS IF 1-PAGE SYSTEM 04226 4505 JMS I [MOVE 04227 6201 CDF 0 04230 7402 FROMBO, HLT 04231 6201 CDF 0 04232 5400 PG7600 04233 1060 TAD [-47 /MOVE FIRST 47 LOCS INTO CD AREA IN 17600 IMAGE 04234 4505 JMS I [MOVE 04235 6201 CDF 0 04236 5400 PG7600 04237 6211 CDF 10 04240 0000 BLOK66 04241 1375 BOOT8, TAD (-16 04242 3020 DCA COUNT 04243 1374 TAD (SBUFF 04244 3010 DCA XR1 04245 1373 TAD (SHND 04246 3011 DCA XR2 04247 1410 DVLOOP, TAD I XR1 04250 7450 SNA 04251 5271 JMP NOHN 04252 3264 DCA DVBUF /LOCATION OF HANDLER 04253 1411 TAD I XR2 04254 4524 JMS I [ROTL 04255 0057 AND [17 04256 7450 SNA 04257 5266 JMP CN /NO BLOCK SLOT /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 79-1 04260 1302 TAD L15 /CONVERT TO ACTUAL BLOCK # 04261 3265 DCA DVREC 04262 1061 TAD [4210 04263 4502 JMS I [SYS 04264 7402 DVBUF, HLT 04265 7402 DVREC, HLT 04266 2020 CN, ISZ COUNT 04267 5247 JMP DVLOOP 04270 5772 JMP I (BOOTD 04271 2011 NOHN, ISZ XR2 04272 5266 JMP CN 04273 0000 SYSSIZ, 0 /MINUS MEANS 2-PAGE SYS HANDLER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 80 04274 6032 CTRLC, KCC /CLEAR ^C FLAG 04275 1771 TAD I (SWAPER /DO WE HAVE TO SWITCH? 04276 7640 SZA CLA 04277 4770 JMS I (SYSWP /YES. INSERT OLD HANDLER 04300 5363 JMP END /GO CHECK BATCH BEFORE RETURNING 04301 4515 KORE, JMS I [GETNUM 04302 0015 L15, 15 /NOTHING MEANS 0 04303 1031 TAD SIZE 04304 0071 AND [7770 04305 7640 SZA CLA 04306 5545 JMP I [BADARG /MUST BE BETWEEN 0 AND 7 04307 4767 JMS I (RELCOR /FIND REAL AMOUNT OF CORE 04310 7040 CMA 04311 1031 TAD SIZE 04312 7700 SMA CLA 04313 5766 JMP I (NOTNUF /MUST BE .LE. REAL AMT OF CORE 04314 1021 TAD CHAR 04315 7640 SZA CLA 04316 5522 JMP I [SYNTAX 04317 1031 TAD SIZE 04320 3043 DCA NEWCOR 04321 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 81 / IF NEW SYS IS 1-PAGE, PG7600/L_BLOK66/L / 0_PG7600 / 66_BLOK66 04322 1273 BOOTF, TAD SYSSIZ 04323 7700 SMA CLA /IS NEW SYS TWO PAGES? 04324 1177 TAD [-200 /NO 04325 4505 JMS I [MOVE /YES, NULL MOVE 04326 6211 CDF 10 04327 0000 BLOK66 04330 6201 CDF 0 04331 5400 PG7600 04332 1063 TAD [4200 04333 4502 JMS I [SYS 04334 5400 PG7600 04335 0000 0 04336 1061 TAD [4210 04337 4502 JMS I [SYS 04340 0000 BLOK66 04341 0066 66 04342 7000 BOOTG, NOP / JMS I (RECZRO /SIMULATE BOOTSTRAP 04343 1056 TAD [-131 /MOVE UP FIELD 1 CODE 04344 4505 JMS I [MOVE 04345 6211 CDF 10 04346 0047 BLOK66+47 04347 6211 CDF 10 04350 7647 7600+47 04351 1044 TAD SAVDAT 04352 6211 CDF 10 04353 3765 DCA I (DATEWD 04354 6201 CDF 0 04355 4537 JMS I [PRWD 04356 2331 TEXT /SYS BUILT/ 04357 2340 04360 0225 04361 1114 04362 2400 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 82 /MUST DO SOME CLEAN UP IF BATCH IS RUNNING /ALL OVERLAYED CODE MUST BE RESET IN CASE USER WANTS /TO REUSE THIS COPY OF BUILD. 04363 4404 END, JMS I BATT /JUMP TO BATCH TEST ROUTINE FOR CLEAN UP 04364 5577 JMP I [7600 /OTHERWISE GO HOME WITH NEW SYSTEM /THIS IS FROM BATCH 04365 7666 04366 2363 04367 0326 04370 5000 04371 5073 04372 3437 04373 5320 04374 5360 04375 7762 04376 2600 04377 2341 4400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 83 /MOVE MOVES CORE AROUND (CALLABLE FROM ANY FIELD) / TAD (-# OF LOCS TO MOVE / JMS MOVE / CDF FROM FIELD / FROM BUFFER LOCATION START / CDF 'TO' FILED / TO BUFFER /MUSTN'T DESTROY OS/8 LOCS, NO PAGE 0 TEMPS! 04400 0000 MOVE, 0 04401 3247 DCA MVCT 04402 6214 RDF 04403 1377 TAD (CIF CDF 04404 3235 DCA MOVRET 04405 1600 TAD I MOVE /GET CDF FROM-FLD 04406 3224 DCA MVCDF2 04407 2200 ISZ MOVE /POINT TO FROM-BUF 04410 1600 TAD I MOVE /GET LOC TO MOVE 04411 3313 DCA MVTM1 04412 2200 ISZ MOVE /POINT TO TO-CDF 04413 1600 TAD I MOVE 04414 3226 DCA MVDF /GET CDF TO FIELD OF DESTINATION 04415 2200 ISZ MOVE /POINT TO TARGET AREA 04416 1600 TAD I MOVE 04417 3320 DCA MVTM2 04420 2200 ISZ MOVE /POINT TO RETURN 04421 1247 TAD MVCT 04422 7650 SNA CLA 04423 5235 JMP MOVRET /NOTHING TO MOVE 04424 6201 MVCDF2, CDF 0 /GETS ALTERED TO PICK UP F1 04425 1713 TAD I MVTM1 04426 7402 MVDF, HLT 04427 3720 DCA I MVTM2 04430 2313 ISZ MVTM1 /BUMP POINTERS TO AREAS 04431 2320 ISZ MVTM2 04432 0020 MV20, 20 04433 2247 ISZ MVCT 04434 5224 JMP MVCDF2 04435 7402 MOVRET, HLT /RETURN TO CALLING FIELD 04436 5600 JMP I MOVE 04437 0000 CTCTST, 0 04440 1336 TAD MV7600 /ALLOW FOR PARITY 04441 6034 KRS 04442 1376 TAD (-7603 04443 7650 SNA CLA 04444 6031 KSF 04445 5637 JMP I CTCTST 04446 5775 JMP I (CTRLC /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 84 04447 0000 MVCT, 0 04450 0000 ASSEMB, 0 /ASSEMBLE TWO 6 BIT WORDS 04451 6221 CDF 20 04452 1657 TAD I LWD1 04453 4661 JMS I PROTL 04454 1660 TAD I LWD2 04455 6201 CDF 00 04456 5650 JMP I ASSEMB 04457 0557 LWD1, WD1 04460 0560 LWD2, WD2 04461 4513 PROTL, ROTL /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 85 04462 1774 BOOT4, TAD I (DRECT 04463 7700 SMA CLA 04464 5773 JMP I (BOOTC /HE'S SPECIFIED ABOUT DIRECTORY ZERO 04465 4537 JMS I [PRWD /YES, NO NEED TO COPY SYSTEM 04466 2722 TEXT /WRITE ZERO DIRECT?/ 04467 1124 04470 0540 04471 3205 04472 2217 04473 4004 04474 1122 04475 0503 04476 2477 04477 0000 04500 1071 TAD [-10 /DON'T WANT TO DESTROY PRECIOUS TABLES 04501 4567 JMS I [GTEXT /GET REPLY 04502 5262 JMP BOOT4 04503 4566 JMS I [GNAME 04504 1024 TAD NAME1 04505 0107 AND [7700 04506 1372 TAD (-3100 04507 7650 SNA CLA 04510 7201 CLA IAC /Y 04511 3774 DCA I (DRECT /NO; COULD HAVE SAVED LOCATION BUT I FEEL SAFER THIS WAY 04512 5773 JMP I (BOOTC MVTM1, 04513 0000 ROTL, 0 04514 7106 CLL RTL 04515 7006 RTL 04516 7006 RTL 04517 5713 JMP I ROTL MVTM2, 04520 0000 ROTR, 0 04521 7112 CLL RTR 04522 7012 RTR 04523 7012 RTR 04524 5720 JMP I ROTR /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 86 04525 0000 TTYOUT, 0 /YOU GUESSED IT 04526 3341 DCA TM 04527 1351 TAD ECHOFL 04530 7640 SZA CLA /ARE WE ECHOING? 04531 5725 JMP I TTYOUT /NO 04532 1341 TAD TM /YES 04533 6046 TLS 04534 6041 TSF 04535 5334 JMP .-1 04536 7600 MV7600, 7600 /CLA 04537 4771 JMS I (CTCTST /TEST FOR ^C. 04540 5725 JMP I TTYOUT TM, 04541 0000 SKPCRD, 0 04542 1433 TAD I DSCPTR 04543 7100 CLL 04544 1232 TAD MV20 /A GROUP COUNT MUST BE IN THE RANGE -1 TO -20 04545 7620 SNL CLA 04546 5741 JMP I SKPCRD 04547 2033 ISZ DSCPTR /IT'S A DARN GROUP COUNT, GO PAST IT 04550 5342 JMP SKPCRD+1 /WIERD CASE OF CONSECUTIVE GROUP COUNTS 04551 0000 ECHOFL, 0 /1 MEANS NOT ECHOING, SAW ^O /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 87 04552 0000 PATCH, 0 04553 1561 TAD I [7777 /V3D 04554 0017 AND L600 04555 3047 DCA SAVHID /SAVE HIGH ORDER DATE BITS 04556 5752 JMP I PATCH 04571 4437 04572 4700 04573 3400 04574 3505 04575 4274 04576 0175 04577 6203 4600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 88 04600 0000 PRNAME, 0 /ROUTINE TO PRINT NAME1-NAME4 04601 1377 TAD (NAME1 04602 3022 DCA TEMP 04603 7346 CLL STA RTL /-3 04604 3020 DCA COUNT 04605 1422 PRNM2, TAD I TEMP 04606 4222 JMS PRINTE /TYPE OUT CHARS 04607 2022 ISZ TEMP 04610 2020 ISZ COUNT /EXHAUSTED ALL? 04611 5205 JMP PRNM2 04612 1422 TAD I TEMP 04613 7650 SNA CLA 04614 5600 JMP I PRNAME /NO . IF NO EXTENSION 04615 1376 TAD (". /PRINT '.' 04616 4775 JMS I (TTYOUT 04617 1422 TAD I TEMP 04620 4222 JMS PRINTE 04621 5600 JMP I PRNAME 04622 0000 PRINTE, 0 04623 3272 DCA CHTMP2 04624 1272 TAD CHTMP2 /EXTRACT LEFT HAND SIDE 04625 4774 JMS I (ROTR 04626 4232 JMS PWORD 04627 1272 TAD CHTMP2 04630 4232 JMS PWORD 04631 5622 JMP I PRINTE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 89 04632 0000 PWORD, 0 04633 0373 AND (77 04634 7450 SNA /IF NULL, GET OUT 04635 5254 JMP NULL 04636 3335 DCA PRTM 04637 1372 TAD (200 04640 6034 KRS 04641 1371 TAD (-217 /^O 04642 7650 SNA CLA /STOP ECHOING? 04643 6031 KSF /MAYBE 04644 7410 SKP /NO 04645 5273 JMP CTO /YES 04646 1335 TAD PRTM 04647 1370 TAD (240 04650 0373 AND (77 04651 1370 PRSPAC, TAD (240 04652 4775 JMS I (TTYOUT 04653 5632 JMP I PWORD 04654 1304 NULL, TAD LINEUP 04655 7650 SNA CLA /PRINT SPACE? 04656 5622 JMP I PRINTE /NO 04657 5251 JMP PRSPAC /YES 04660 0000 PRWD, 0 04661 7200 CLA 04662 1660 PRWD2, TAD I PRWD 04663 4222 JMS PRINTE 04664 1660 TAD I PRWD 04665 2260 ISZ PRWD 04666 0373 AND (77 04667 7640 SZA CLA 04670 5262 JMP PRWD2 04671 5660 JMP I PRWD /LEAVE IF LAST WORD ENDED WITH 00 04672 0000 CHTMP2, 0 04673 6032 CTO, KCC 04674 1367 TAD ("^ 04675 4775 JMS I (TTYOUT 04676 1366 TAD ("O 04677 4775 JMS I (TTYOUT 04700 4336 JMS CRLF 04701 7201 CLA IAC 04702 3765 DCA I (ECHOFL 04703 5632 JMP I PWORD 04704 0000 LINEUP, 0 /NON-ZERO MEANS PRINT NULLS AS SPACES /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 90 04705 4764 OVER, JMS I (ASSEMB /EXTENSION OF LDABS. 04706 7041 CIA 04707 6221 CDF 20 /OFF TO FIELD 2 04710 1734 TAD I LCKSUM /CHECKSUM OK? 04711 6201 CDF 00 /BACK TO OUR FIELD 04712 7640 SZA CLA 04713 5316 JMP BADINP /SOORY ABOUT THAT 04714 7201 CLA IAC 04715 5326 JMP OVROUT /SKIP ERROR EXIT 04716 4260 BADINP, JMS PRWD 04717 7702 TEXT /?BAD INPUT/ 04720 0104 04721 4011 04722 1620 04723 2524 04724 0000 04725 4336 JMS CRLF 04726 6221 OVROUT, CDF 20 04727 1763 TAD I (LDABS 04730 6201 CDF 00 04731 3333 DCA OTEMP 04732 5733 JMP I OTEMP 04733 0000 OTEMP, 0 04734 0562 LCKSUM, CKSUM 04735 0000 PRTM, 0 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 91 04736 0000 CRLF, 0 04737 1362 TAD (215 04740 3024 DCA NAME1 04741 4345 JMS PRNT 04742 1361 TAD (212 04743 4775 JMS I (TTYOUT 04744 5736 JMP I CRLF 04745 0000 PRNT, 0 /CHARACTER PRINT ROUTINE 04746 1360 TAD ("\ /IF NOT RUBOUT, AND IF RUBOUT WAS 04747 2355 ISZ RUBFLG /LAST, ECHO \. 04750 7610 SKP CLA 04751 4775 JMS I (TTYOUT 04752 1024 TAD NAME1 04753 4775 JMS I (TTYOUT 04754 5745 JMP I PRNT 04755 0000 RUBFLG, 0 /RUBOUT FLAG 04760 0334 04761 0212 04762 0215 04763 0400 04764 4450 04765 4551 04766 0317 04767 0336 04770 0240 04771 7561 04772 0200 04773 0077 04774 4520 04775 4525 04776 0256 04777 0024 5000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 92 /ASSUMES NEW PROPOSED SYSTEM HANDLER IS IN 10000-10377 /CAN'T DESTROY OS/8, IE. CAN'T USE PG 0 TEMPS 05000 0000 SYSWP, 0 /ROUTINE TO MOVE SYS HANDLER AROUND 05001 2273 ISZ SWAPER /DIDDLE SWAP INDICATOR 05002 7240 CLA CMA /-1 MEANS NEW HANDLER IS IN 05003 3273 DCA SWAPER 05004 7240 STA 05005 1267 TAD AMTCOR 05006 7650 SNA CLA /DO WE HAVE 8K? 05007 5237 JMP SWAPLW /YES, DON'T SWAP WITH FIELD 2 05010 1234 TAD L7600 /NO, CAN'T HURT TO SWAP FIELD 2 05011 3272 DCA OUT 05012 1270 TAD SAVLC 05013 1305 TAD P200 05014 3271 DCA IN 05015 1377 TAD (4-200 05016 3274 DCA STEMP /SWAP ENTIRE PAGE (EXCEPT LAST 4 LOCATIONS) 05017 6211 SWAP3, CDF 10 /SWAP 27600 & 2ND PAGE OF HANDLER 05020 1671 TAD I IN 05021 3321 DCA SYSQ 05022 6221 CDF 20 05023 1672 TAD I OUT 05024 6211 CDF 10 05025 3671 DCA I IN 05026 1321 TAD SYSQ 05027 6221 CDF 20 05030 3672 DCA I OUT 05031 2271 ISZ IN 05032 7400 L7400, 7400 /NOP 05033 2272 ISZ OUT 05034 7600 L7600, 7600 05035 2274 ISZ STEMP 05036 5217 JMP SWAP3 05037 6201 SWAPLW, CDF 0 05040 1376 TAD (7607 05041 3272 DCA OUT /7607 ALWAYS TARGET DESTINATION 05042 1270 TAD SAVLC 05043 1375 TAD (7 05044 3271 DCA IN 05045 1374 TAD (7607-7743-1/ONLY 7607-7743 GETS MOVED 05046 3274 DCA STEMP 05047 6211 SWAP2, CDF 10 05050 1671 TAD I IN 05051 3321 DCA SYSQ /TEMP STORE 05052 6201 CDF 0 05053 1672 TAD I OUT 05054 6211 CDF 10 05055 3671 DCA I IN 05056 1321 TAD SYSQ 05057 6201 CDF 0 05060 3672 DCA I OUT 05061 2271 ISZ IN 05062 2272 ISZ OUT /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 92-1 05063 2274 ISZ STEMP 05064 5247 JMP SWAP2 05065 3773 DCA I (SOFSET /V3C 05066 5600 JMP I SYSWP 05067 0001 AMTCOR, 1 /HIGHEST CORE BANK 05070 0000 SAVLC, 0 /MUST BE ABOVE 3577 CHTMP, 05071 0000 IN, 0 /POINTS TO HANDLER AREA AT ONE NAMED SYS 05072 0000 OUT, 0 /POINTS TO 7607 HANDLER 05073 0000 SWAPER, 0 /-1 MEANS NEW HANDLER IN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 93 /MUST BE ABOVE OS/8, NO PAGE 0 LITERALS STEMP, 05074 0000 ICHAR, 0 05075 4772 JMS I (CTCTST 05076 2321 ISZ JMPGET /POINT TO CORRECT CHAR 05077 2362 ISZ CHCNT /NEED WE READ? 05100 5321 JMPX, JMP JMPGET /NOT YET 05101 1361 TAD REOF /YES. DID LAST YIELD EOF? 05102 7640 SZA CLA 05103 5771 JMP I (BADINP /SOMETHING IS WRONG. 05104 4764 RDIN, JMS I DVICE 05105 0200 P200, 0200 /READ INTO FIELD 0 05106 6000 BINBUF, BINARY 05107 0000 RECNO, 0 05110 5347 JMP RERROR /READ ERROR 05111 2307 RECNO2, ISZ RECNO /POINT TO NEXT RECORD 05112 1370 TAD (-601 05113 3362 DCA CHCNT /NEW CHARACTER COUNT 05114 1306 TAD BINBUF 05115 3363 DCA CHPTR 05116 1300 TAD JMPX 05117 3321 DCA JMPGET /RESET JUMP SWITCH 05120 5275 JMP ICHAR+1 SYSQ, 05121 5321 JMPGET, JMP . /IF WE GET CAUGHT HERE, WE KNOW IT 05122 5343 JMP CHAR1 /ASSEMBLE FIRST CHAR 05123 5337 JMP CHAR2 /SECOND CHAR 05124 1300 TAD JMPX /THIRD CHAR HERE 05125 3321 DCA JMPGET /RESET SWITCH 05126 1763 TAD I CHPTR 05127 0232 AND L7400 05130 7112 CLL RTR 05131 7012 RTR 05132 1271 TAD CHTMP /ADD IN THE LAST TEMP STORE 05133 7012 RTR 05134 7012 RTR 05135 2363 ISZ CHPTR /TO NEXT CHAR 05136 5344 JMP GCHCOM 05137 1763 CHAR2, TAD I CHPTR 05140 0232 AND L7400 05141 3271 DCA CHTMP /SAVE FOR THIRD CHAR 05142 2363 ISZ CHPTR 05143 1763 CHAR1, TAD I CHPTR 05144 0367 GCHCOM, AND (377 05145 2274 ISZ ICHAR /PASS UP ERROR RET 05146 5357 JMP TO20 /RETURN 05147 7710 RERROR, SPA CLA /FATAL, OR EOF? 05150 5353 JMP IOERR /FATAL 05151 2361 ISZ REOF /END OF FILE 05152 5311 JMP RECNO2 /BACK TO MAINSTREAM 05153 4766 IOERR, JMS I (PRWD 05154 7711 TEXT \?I/O\ 05155 5717 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 93-1 05156 0000 05157 6223 TO20, CIF CDF 20 /BACK TO FIELD 2 05160 5674 JMP I ICHAR 05161 0000 REOF, 0 05162 0000 CHCNT, 0 05163 0000 CHPTR, 0 05164 0000 DVICE, 0 05165 0000 RETSW, 0 /0 MEANS RAN FROM 0S/8, 1 MEANS RNA STANDALONE 05166 4660 05167 0377 05170 7177 05171 4716 05172 4437 05173 7747 05174 7643 05175 0007 05176 7607 05177 7604 5200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 94 0103 LNLNGT=103 05200 0000 BEGLIN, ZBLOCK LNLNGT 7776 SBLOCK=7776 /?? /CTCFAK, .+1 /^C MUST NOT RETURN TO ANY SYSTEM. / JMP I CTCFAK /CTCFAK MARKS OUR PLACE DURING / /SYSGEN, AND ^C WILL RETURN TO THAT PLACE. /*** THIS STUFF GOES AWAY ON A BOOT 05303 6211 BUILD, CDF 10 05304 1455 TAD I [7200 /HAS SPECIAL CODE BEEN OVERLAID BY HANDLERS? 05305 6201 CDF 0 05306 1054 TAD [-1234 05307 7640 SZA CLA 05310 5777 JMP I (NOROOM /YES, TOO BAD / TAD (5601 / DCA I [7600 / TAD (CTCFAK+1 / DCA I (7601 05311 1053 TAD [6600 /SAVE OLD SYSTEM HANDLER IN 16600 05312 4776 JMS I (SETUPSYS / JMS CTCFAK 05313 4537 RDOS8, JMS I [PRWD 05314 1417 TEXT \LOAD OS/8: \ 05315 0104 05316 4017 05317 2357 05320 7072 05321 4000 05322 4347 JMS RD 05323 5313 JMP RDOS8 05324 6213 CIF CDF 10 05325 4775 JMS I (WROS8 05326 4774 JMS I (SYSWP / JMS CTCFAK 05327 4574 RDCD, JMS I [CRLF 05330 4537 JMS I [PRWD 05331 1417 TEXT /LOAD CD: / 05332 0104 05333 4003 05334 0472 05335 4000 05336 3354 DCA DVER 05337 4347 JMS RD 05340 5327 JMP RDCD 05341 6213 CIF CDF 10 05342 4773 JMS I (WRCD 05343 1772 TAD I (RETSW 05344 7650 SNA CLA /NOT IF FROM SCRATCH 05345 4774 JMS I (SYSWP /GET OLD HANDLER IF ANY BACK IN 05346 5536 JMP I [CONFIG /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 95 05347 0000 RD, 0 05350 1052 TAD [-40 05351 4567 JMS I [GTEXT 05352 5747 JMP I RD 05353 4771 JMS I (SETUP 05354 5770 DVER, JMP I (NODEV 05355 4774 JMS I (SYSWP /PUT IN NEW HANDLER 05356 6213 CIF CDF 10 05357 4767 JMS I (SAVE 05360 4774 JMS I (SYSWP 05361 6223 CIF CDF 20 /OFF TO PAGE 2 05362 4567 JMS I [LDABS /PAST HERE PAGE 0 IS GONE 05363 5747 JMP I RD 05364 4774 JMS I (SYSWP 05365 2347 ISZ RD 05366 5747 JMP I RD 05367 7452 05370 1364 05371 1000 05372 5165 05373 7313 05374 5000 05375 7201 05376 3530 05377 0730 5400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 96 6400 *6400 06400 0000 DSCTAB, ZBLOCK 1200 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 97 /RELIC: 7600 *7600 07600 0000 0 /ONLY LOADED FROM PAPER TAPE. 7777 *7777 07777 0000 0 /SET SOFTWARE CORE SIZE TO 'UNKNOWN' 00052 7740 00053 6600 00054 6544 00055 7200 00056 7647 00057 0017 00060 7731 00061 4210 00062 7643 00063 4200 00064 7761 00065 5437 00066 5436 00067 7763 00070 7607 00071 7770 00072 0070 00073 7771 00074 7612 00075 7744 00076 7601 00077 5000 00100 2553 00101 5200 00102 2246 00103 7774 00104 0257 00105 4400 00106 1600 00107 7700 00110 0177 00111 6177 00112 2665 00113 0077 00114 4520 00115 0523 00116 0717 00117 0704 00120 0650 00121 1763 00122 2750 00123 7772 00124 4513 00125 0007 00126 4716 00127 0673 00130 1364 00131 5164 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 97-1 00132 0200 00133 7506 00134 0024 00135 4600 00136 0215 00137 4660 00140 4017 00141 4000 00142 2547 00143 0010 00144 7540 00145 4166 00146 7000 00147 0566 00150 0563 00151 0100 00152 0336 00153 5177 00154 0334 00155 2601 00156 4745 00157 1452 00160 7400 00161 7777 00162 0306 00163 2207 00164 2140 00165 2221 00166 2705 00167 0400 00170 7675 00171 5073 00172 4525 00173 0244 00174 4736 00175 5165 00176 4207 00177 7600 0001 FIELD 1 0000 *0 10000 0000 0 /FORCE ABSLDR TO LOAD THIS PAGE 0400 *400 / ZBLOCK 5400 10400 0000 0 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 98 6600 *6600 6000 RELOC BINARY 16000* 6211 BINPUN, CDF 10 16001* 7200 CLA 16002* 1377 TAD (-400 16003* 6202 CIF 0 16004* 4776 JMS I (MOVE 16005* 6211 CDF 10 16006* 6600 6600 16007* 6201 CDF 0 16010* 6000 BINARY /MOVE ONESELF DOWN 16011* 6203 CIF CDF 0 16012* 5775 JMP I (LDR /EXECUTE IN FIELD 0 16013* 4307 LDR, JMS LEDER /PUNCH 72 FRAMES OF 200 16014* 3331 DCA CHECK /0 CHECKSUM 16015* 1374 TAD (102 16016* 4332 JMS CKSUMM 16017* 4317 JMS PNCH 16020* 4773 STARTB, JMS I (CRLF 16021* 1372 TAD ("* 16022* 4771 JMS I (TTYOUT 16023* 1370 TAD (-100 16024* 4767 JMS I (GTEXT 16025* 5220 JMP STARTB 16026* 4766 JMS I (GETNUM 16027* 5765 JMP I (OVERB 16030* 1031 TAD SIZE 16031* 0364 AND (7770 16032* 7640 SZA CLA 16033* 5220 JMP STARTB 16034* 1031 TAD SIZE 16035* 7106 CLL RTL 16036* 7004 RAL 16037* 3325 DCA FLD 16040* 4766 JMS I (GETNUM /GET LOWER LIMIT 16041* 5220 JMP STARTB 16042* 1031 TAD SIZE 16043* 3326 DCA LIM1 16044* 4766 JMS I (GETNUM /GET UPPER LIMIT 16045* 5220 JMP STARTB 16046* 1031 TAD SIZE 16047* 3327 DCA LIM2 16050* 1327 TAD LIM2 16051* 7040 CMA 16052* 1326 TAD LIM1 16053* 3330 DCA COUNT2 16054* 1325 TAD FLD 16055* 1363 TAD (300 16056* 4317 JMS PNCH 16057* 1325 TAD FLD 16060* 1362 TAD (CDF 0 16061* 3272 DCA BUFLD 16062* 1326 TAD LIM1 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 98-1 16063* 4761 JMS I (ROTR 16064* 0360 AND (77 16065* 1357 TAD (100 16066* 4332 JMS CKSUMM 16067* 1326 TAD LIM1 16070* 0360 AND (77 16071* 4332 JMS CKSUMM 16072* 7402 BUFLD, HLT 16073* 1726 TAD I LIM1 16074* 4761 JMS I (ROTR 16075* 0360 AND (77 16076* 4332 JMS CKSUMM 16077* 1726 TAD I LIM1 16100* 0360 AND (77 16101* 4332 JMS CKSUMM 16102* 2326 ISZ LIM1 16103* 2330 ISZ COUNT2 16104* 5272 JMP BUFLD 16105* 6203 CIF CDF 0 16106* 5220 JMP STARTB /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 99 16107* 0000 LEDER, 0 /PUNCH LEADER/TRAILER 16110* 1356 TAD (-200 16111* 3330 DCA COUNT2 16112* 1355 TAD (200 16113* 4317 JMS PNCH 16114* 2330 ISZ COUNT2 16115* 5312 JMP .-3 16116* 5707 JMP I LEDER 16117* 0000 PNCH, 0 16120* 6026 PLS 16121* 6021 PSF 16122* 5321 JMP .-1 16123* 7200 CLA 16124* 5717 JMP I PNCH 16125* 0000 FLD, 0 16126* 0000 LIM1, 0 16127* 0000 LIM2, 0 16130* 0000 COUNT2, 0 16131* 0000 CHECK, 0 16132* 0000 CKSUMM, 0 16133* 3342 DCA CK1 16134* 1342 TAD CK1 16135* 1331 TAD CHECK 16136* 3331 DCA CHECK 16137* 1342 TAD CK1 16140* 4317 JMS PNCH 16141* 5732 JMP I CKSUMM 16142* 0000 CK1, 0 16155* 0200 16156* 7600 16157* 0100 16160* 0077 16161* 4520 16162* 6201 16163* 0300 16164* 7770 16165* 6200 16166* 0523 16167* 0400 16170* 7700 16171* 4525 16172* 0252 16173* 4736 16174* 0102 16175* 6013 16176* 4400 16177* 7400 6200 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 100 16200* 1233 OVERB, TAD Q300 16201* 4634 JMS I QPNCH /FIELD 0 16202* 1235 TAD Q176 16203* 4636 JMS I QCKSUM 16204* 4636 JMS I QCKSUM /*7600 16205* 1237 TAD Q74 16206* 4636 JMS I QCKSUM 16207* 7326 STL CLA RTL 16210* 4636 JMS I QCKSUM /HALT 16211* 1240 TAD Q177 16212* 1241 TAD Q77 16213* 4636 JMS I QCKSUM /*7777 16214* 4636 JMS I QCKSUM 16215* 4636 JMS I QCKSUM /*0000 16216* 1242 TAD Q102 16217* 4636 JMS I QCKSUM 16220* 4636 JMS I QCKSUM 16221* 1643 TAD I QCHECK 16222* 4644 JMS I QROTR 16223* 0241 AND Q77 16224* 4634 JMS I QPNCH 16225* 1643 TAD I QCHECK 16226* 0241 AND Q77 16227* 4634 JMS I QPNCH 16230* 4645 JMS I QLEDER 16231* 7402 HLT 16232* 5231 JMP .-1 /ALL DONE 16233* 0300 Q300, 300 16234* 6117 QPNCH, PNCH 16235* 0176 Q176, 176 16236* 6132 QCKSUM, CKSUMM 16237* 0074 Q74, 74 16240* 0177 Q177, 177 16241* 0077 Q77, 77 16242* 0102 Q102, 102 16243* 6131 QCHECK, CHECK 16244* 4520 QROTR, ROTR 16245* 6107 QLEDER, LEDER 6400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 101 7200 RELOC 3400 DIRLOC=3400 /FROM OS/8 ASSEMBLY 4777 READ=JMS I (7607 4777 WRITE=READ 0070 MFREE=70 4776 ERR=JMS I (WRERR 7200 *7200 17200 1234 1234 /MAGIC NUMBER WHICH IF NOT HERE, MEANS HANDLERS OVERLAID 17201 0000 WROS8, 0 17202 6202 CIF 0 17203 1307 TAD Z7600 17204 4775 JMS I (MOVE /SAVE CURRENT 7600 17205 6201 CDF 0 17206 7600 7600 17207 6201 CDF 0 17210 7000 7000 /IN 07000 17211 1374 TAD (-7 /MOVE 6600 TO 7600 17212 6202 CIF 0 17213 4775 JMS I (MOVE 17214 6201 CDF 0 17215 6600 6600 17216 6201 CDF 0 17217 7600 7600 17220 1373 TAD (-34 /FINISH MOVING FIELD 0 17221 6202 CIF 0 17222 4775 JMS I (MOVE 17223 6201 CDF 0 17224 6744 6744 17225 6201 CDF 0 17226 7744 7744 17227 6201 CDF 0 17230 1372 TAD (6 /V3D DEV EXT LENGTH OF ABSLDR 17231 1771 TAD I (DLENGTH /FILL IN INITIAL LENGTH 17232 6211 CDF 10 17233 3770 DCA I (DIRLOC+14 /OS8 HAS INITIAL DIRECTORY 17234 6202 CIF 0;WRITE;4200;7400;0;ERR /INITIAL REC.0 17235 4777 17236 4200 17237 7400 17240 0000 17241 4776 17242 6202 CIF 0;WRITE;4200;7400;66;ERR /ALSO WRITE RECORD 66 17243 4777 17244 4200 17245 7400 17246 0066 17247 4776 17250 6202 CIF 0;WRITE;4210;DIRLOC;1;ERR /INITIAL DIRECTORY 17251 4777 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 101-1 17252 4210 17253 3400 17254 0001 17255 4776 17256 6202 CIF 0;WRITE;5000;0;7;ERR /KBM 17257 4777 17260 5000 17261 0000 17262 0007 17263 4776 17264 6202 CIF 0;WRITE;4610;0;13;ERR /USR 17265 4777 17266 4610 17267 0000 17270 0013 17271 4776 17272 6223 CIF CDF 20 /OFF IN FIELD 2 17273 5767 JMP I (BAK 17274 6201 WHER, CDF 0 /RETURN FROM RELOCATED ROUTINES. 17275 1766 TAD I (RETSW 17276 6211 CDF 10 17277 7650 SNA CLA /SCRATCH BUILD? 17300 5765 JMP I (RES76 /NO 17301 1307 TAD Z7600 /YES /MOVE 17600 UP THERE 17302 6202 CIF 0 17303 4775 JMS I (MOVE 17304 6201 CDF 0 17305 7400 7400 17306 6211 CDF 10 17307 7600 Z7600, 7600 17310 4764 JMS I (RESTORE 17311 6203 CIF CDF 0 17312 5601 JMP I WROS8 /RELATIONSHIP BEWTWEEN OS/8 CORE IMAGE AND BLOCKS ON SYSTEM DEVICE: /ITEM CORE LOC BLOCKS /KBM 0000-1777 7-12 /OVERLAYS 2000-3577 54-57 /INIT DIR DIRLOC- 1 /ABSLDR CCB LDRCTL- 70 /INIT BLOCK 0 7400-7777 0 /USR 10000-11377 13-15 /ABSLDR 12000-14377 71-75 /ENTER,TM8E 11400-11777 26 /EXT SAVE & ODT 64 /SYS 06600-06606 PART OF 07600 /SYS 06744-06777 " 17313 0000 WRCD, 0 17314 6202 CIF 0;WRITE;4600;0;51;ERR /CD 17315 4777 17316 4600 17317 0000 17320 0051 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 101-2 17321 4776 17322 6202 CIF 0;WRITE;5011;0;60;ERR /ODT 17323 4777 17324 5011 17325 0000 17326 0060 17327 4776 /THE NEXT ROUTINE IS TO FINISH LOADING BLOCK 64 OF THE /SYSTEM DEVICE THAT HAD BEEN RESERVED. THE FIRST PART /WAS WRITTEN WITH OS8 AND NOW THE OTHER PART MUST BE /WRITTEN ON THAT SAME BLOCK FROM CD. 17330 6202 CIF 0;READ;210;0;64;ERR /GET PART OF ODT WRITTEN 17331 4777 17332 0210 17333 0000 17334 0064 17335 4776 /MOVE LOCATIONS 11600-11663 TO 10000-10063 17336 6202 CIF 0 17337 1363 TAD (-64 17340 4775 JMS I (MOVE 17341 6211 CDF 10 17342 1600 1600 17343 6211 CDF 10 17344 0000 0000 17345 6202 CIF 0;WRITE;4210;0;64;ERR 17346 4777 17347 4210 17350 0000 17351 0064 17352 4776 /END OF ROUTINE TO LOAD BLOCK 64 17353 4764 JMS I (RESTORE 17354 4762 JMS I (CASIT 17355 6203 CIF CDF 0 17356 5713 JMP I WRCD 17362 7517 17363 7714 17364 7434 17365 7477 17366 5165 17367 1000 17370 3414 17371 4165 17372 0006 17373 7744 17374 7771 17375 4400 17376 7507 17377 7607 7400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 102 4777 READ=JMS I (7607 4307 ERR=JMS WRERR /SPECIAL CODE TO CHAIN TO ABSLDR, TO READ IN MCPIP 17400 4776 JMS I (7700 17401 0010 10 /LOCK USR IN CORE 17402 1345 TAD R7600 /ZERO CD AREA 17403 3316 DCA CDPTR 17404 1375 TAD (-47 17405 3317 DCA CDKNT 17406 3716 DCA I CDPTR 17407 2316 ISZ CDPTR 17410 2317 ISZ CDKNT 17411 5206 JMP .-3 17412 7330 STL CLA RAR /ALTMODE 17413 3774 DCA I (7642 17414 4773 JMS I (200 17415 0012 12 /INQUIRE 17416 4503 4503 /ENCODE CSA0 17417 0000 CDN, 0 17420 0000 0 17421 7402 HLT 17422 1217 TAD CDN /TAKE DEVICE NUMBER 17423 3772 DCA I (7617 /STORE DEVICE NUMBER OF CASSETTE 17424 2771 ISZ I (7620 /V3C FORCE BLOCK 1 17425 7201 CLA IAC 17426 6201 CDF 0 /V3D 17427 3770 DCA I (7746 /SET JSW SO CHAIN DOESN'T DO USROUT 17430 6211 CDF 10 17431 4773 JMS I (200 /CHAIN TO ABSLDR 17432 0006 6 17433 0070 70 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 103 17434 0000 RESTORE,0 17435 6202 CIF 0;READ;3701;0;BLDSAV;ERR 17436 4777 17437 3701 17440 0000 17441 0076 17442 4307 17443 6202 CIF 0;READ;3510;0;BLDSAV+20;ERR /RESTORE BUILD 17444 4777 17445 3510 17446 0000 17447 0116 17450 4307 17451 5634 JMP I RESTORE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 104 4777 WRITE=JMS I (7607 4307 ERR=JMS WRERR 17452 0000 SAVE, 0 17453 6201 CDF 0 17454 3767 DCA I (SOFSET 17455 3766 DCA I (SBLOCK 17456 3765 DCA I (DRECT /HAVE TO KEEP DIRECTORY LATER 17457 6211 CDF 10 17460 6202 CIF 0;WRITE;7701;0;BLDSAV;ERR 17461 4777 17462 7701 17463 0000 17464 0076 17465 4307 17466 6202 CIF 0;WRITE;7510;0;BLDSAV+20;ERR 17467 4777 17470 7510 17471 0000 17472 0116 17473 4307 17474 4317 JMS CASIT 17475 6203 CIF CDF 0 17476 5652 JMP I SAVE 17477 1764 RES76, TAD I (Z7600 17500 6202 CIF 0 17501 4763 JMS I (MOVE 17502 6201 CDF 0 17503 7000 7000 /RESTORE OLD PAGE 7600 17504 6201 CDF 0 17505 7600 7600 17506 5764 JMP I (Z7600 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 105 17507 0000 WRERR, 0 /WRITE ERROR 17510 7602 HLT CLA /HIT CONTINUE TO RETRY 17511 1307 TAD WRERR 17512 1362 TAD (-6 17513 3307 DCA WRERR /POINT BACK TO CIF OF CALL 17514 5707 JMP I WRERR /RETRY /RELATIONSHIP BETWEEN CD CORE IMAGE AND BLOCKS ON SYSTEM DEVICE: /ITEM CORE LOC BLOCKS /CD 00000-01377 51-63 /ODT 10000-11777 60-63 17515 0000 CSA, 0 /CASSETTE HANDLER ENTRY PT 17516 0000 CDPTR, 0 CDKNT, 17517 0000 CASIT, 0 17520 6201 CDF 0 17521 1761 TAD I (RECNO 17522 7450 SNA 17523 7201 CLA IAC /IF BLOCK 0, CHANGE TO 1 17524 3761 DCA I (RECNO 17525 1752 TAD I PRETSW 17526 7650 SNA CLA /BUILDING FROM SCRATCH? 17527 5717 JMP I CASIT /NO 17530 1760 TAD I (BLDCB /YES, GET DCB OF LOAD HANDLER 17531 0343 AND L770 17532 1344 TAD M270 /CASSETTE DEVICE CODE=27 17533 7640 SZA CLA 17534 5717 JMP I CASIT /NOT A CASSETTE 17535 1757 TAD I (DVICE 17536 3315 DCA CSA /GET HANDLER ENTRY POINT 17537 6211 CDF 10 17540 6202 CIF 0 17541 4715 JMS I CSA 17542 0003 3 /SKIP TO NEXT FILE 17543 0770 L770, 770 17544 7510 M270, -270 17545 7600 R7600, 7600 /IGNORE ERRORS 17546 6202 CIF 0 17547 4715 JMS I CSA 17550 0100 100 /DUMMY READ A PAGE 17551 6000 BINARY /TO SKIP HEADER 17552 5165 PRETSW, RETSW 17553 7610 SKP CLA /WANT AN ERROR 17554 7402 HLT /A GOOD READ IS BAD! 17555 5717 JMP I CASIT /INITIALIZATION CODE FOR BATCH OPERATION /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 106 17557 5164 17560 1570 17561 5107 17562 7772 17563 4400 17564 7307 17565 3505 17566 7776 17567 7747 17570 7746 17571 7620 17572 7617 17573 0200 17574 7642 17575 7731 17576 7700 17577 7607 0002 FIELD 2 0010 *10 20010 0000 BATXR1, 0 /INDEX REG. 1 FOR BATCH 20011 0000 BATXR2, 0 /INDEX REG. 2 FOR BATCH 0200 *200 20200 0000 BATSET, 0 20201 1777 TAD I (XR1 /GET THE OVERLAY POINTER 20202 7440 SZA /IF ZERO USE OLD VALUE /THIS SAVES ME SOME FIELD 0 SPACE 20203 3010 DCA BATXR1 /SAVE THE POINTER 20204 1577 TAD I [7777 /NOW GET THE BATCH FIELD 20205 6221 CDF 20 /TO FIELD 2 20206 0376 AND (0070 /NOW GET THE FIELD BITS 20207 1375 TAD (CIF /MAKE A CIF FOR OVERLAY 20210 3231 DCA CBATI /SAVE IN INPUT ROUTINE 20211 1231 TAD CBATI /ALSO OUTPUT 20212 3240 DCA CBATO /OVERLAY 20213 1410 BATMOV, TAD I BATXR1 /GET NEXT STORAGE ADDRESS 20214 7450 SNA /IF ZERO ALL DONE (SECOND TIME THRU) 20215 5226 JMP BATDON /RETURN TO CALLER 20216 3011 DCA BATXR2 /OTHERWISE SAVE POINTER TO TARGET CODE 20217 1410 BATLUP, TAD I BATXR1 /GET A PATCH WORD 20220 7450 SNA /ZERO MEANS END OF THIS PATCH 20221 5213 JMP BATMOV /GO GET ANOTHER POINTER OR MAYBE ALL DONE 20222 6201 CDF 0 /BACK TO FIELD ZERO 20223 3411 DCA I BATXR2 /NOW CODE IS BATCHABLE 20224 6221 CDF 20 /BACK TO FIELD 2 20225 5217 JMP BATLUP /DO IT ALL AGAIN 20226 6203 BATDON, CIF CDF 0 /RETURN TO CALLER 20227 5600 JMP I BATSET /BYE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 107 20230 1452 BATLS, TTYIN /POINTER TO MOVE DATA 0231 CBATI=. /SET CIF BATCH 20375 6202 20376 0070 20377 0010 1453 RELOC TTYIN+1 /RELOCATABLE CODE 21453* 6202 CIF 21454* 4657 JMS I BATINI /JUMP TO GET INPUT FROM BATCH 21455* 7402 HLT /BAD ERROR 21456* 7410 SKP /SKIP OVER POINTER 21457* 5400 BATINI, 5400 /POINTER TO BATCH INPUT ROUTINE 21460* 0000 0 /TERMINATOR 21461* 4532 TTYOUT+5 /NOW FOR OUTPUT 0240 RELOC 0240 CBATO=. /SET FOR CIF BATCH 4533 RELOC TTYOUT+6 /POINTER TO MOVE DATA 24533* 6202 CIF /CIF BATCH 24534* 4735 JMS I .+1 /GO SEND DATA TO BATCH 24535* 7400 7400 /POINTER TO BATCH OUTPUT PROCESSOR 24536* 0000 0 /TERMINATOR 24537* 0414 LFMOD /POINTER TO LINE FEED MOD 0415 RELOC LFMOD+1 /RLOCATE THE CODE 20415* 0406 RDTXT /IGNORE LINE FEEDS 20416* 0000 0 /TERMINATOR 20417* 0316 BATTST+1 /POINTER TO MODIFY BATCH TEST 0317 RELOC BATTST+2 /RELOCATE THE CODE 20317* 5323 JMP BATBK /JUMP AROUND THE BATCH SWITCH TEST /WITH A NEW SYSTEM THE TEST IS ILLOGICAL /WHICH IS THE CASE IF A BOOT IS REQUESTED 20320* 0000 0 /TERMINATOR 0252 RELOC 20252 0000 0 /FINAL OVERLAY TERMINATOR /NOW COMES THE RESET CODE TO PUT THINGS BACK / THE WAY THEY WERE TO BEGIN WITH. 20253 1452 TTYIN /POINTER TO MOVE DATA 1453 RELOC TTYIN+1 /RELOCATABLE CODE 21453* 6031 KSF /SKIP ON FLAG 21454* 5253 JMP .-1 21455* 6036 KRB /READ A CHAR 21456* 7450 SNA /LOW LEVEL BLANK IGNORE 21457* 5253 JMP TTYIN+1 /GO GET ANOTHER 21460* 0000 0 /OVERLAY TERMINATOR 21461* 4532 TTYOUT+5 /NOW FOR OUTPUT 4533 RELOC TTYOUT+6 /RELOCATE AGAIN /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 107-1 24533* 6046 TLS /PRINT THE CHAR 24534* 6041 TSF /DONE? 24535* 5334 JMP .-1 /NO. 24536* 0000 0 /OVERLAY TERMINATOR 24537* 0414 LFMOD /POINTER TO LINE FEED MOD 0415 RELOC LFMOD+1 /RELOCATE ONE MORE TIME 20415* 0476 LFEED /LINE FEED..ECHO CURRENT COMMAND 20416* 0000 0 /TERMINATOR 20417* 0316 BATTST+1 /POINTER TO BATCH TEST 0317 RELOC BATTST+2 /RELOCATE THE CODE 20317* 1577 TAD I [7777 /RESET THE CODE TO ORIGINAL STATE 20320* 0000 0 /OVERLAY TERMINATOR 0275 RELOC 20275 0000 0 /FINAL OVERLAY TERMINATOR 0400 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 108 /LDABS DOES A REAL LIVE ABSLOAD IF AC=0 /IF AC=-2 THEN IT IS LOADING A HANDLER, THIS IS DONE AS FOLLOWS: /SEARCH FOR *0 /THEN LOAD CONSEC WORDS INTO DESCRIPTOR TABLE /AT NEXT ORIGIN, LOAD WORDS INTO HANDLER AREA (ALLOW ORIGINS) /CAN'T USE PAGE 0 LITERALS IN CASE LOADING OS/8 20400 0000 LDABS, 0 20401 3363 DCA LODTST /-2 IF HANDLER, 0 IF OS8 20402 1322 LDABS2, TAD JMPNXT 20403 3300 DCA TSTO0 20404 3362 DCA CKSUM /CLEAR CHECKSUM 20405 4777 JMS I (ICHA /GET A BUFFER CHAR 20406 5351 JMP LDAB /NO INPUT FOUND 20407 7450 SNA 20410 5205 JMP .-3 /IGNORE BLANKS 20411 1376 TAD (-200 20412 7640 SZA CLA /IS IT LEADER? 20413 5353 JMP BADIN /WASN'T 200..PROBABLY NOT BINARY 20414 4777 LEADER, JMS I (ICHA 20415 5351 JMP LDAB /STRANGE....ALL LEADER!!! 20416 7450 SNA 20417 5202 JMP LDABS2 /START OVER.BLANKS AFTER LEADER 20420 1376 TAD (-200 /IS IT STILL LEADER? 20421 7450 SNA 20422 5214 JMP LEADER /YES 20423 7500 NEWWD, SMA /IS IT < 200? 20424 5323 JMP FIELDW /NO.TEST FOR FIELD SEETING 20425 1375 TAD (200 /RESTORE CHARACTER 20426 3357 DCA WD1 20427 4777 JMS I (ICHA 20430 5353 JMP BADIN /EOF BETWEEN WORDS. HOW NICE! 20431 3360 DCA WD2 20432 4777 JMS I (ICHA 20433 5353 JMP BADIN 20434 1376 TAD (-200 /200 FINISHES US UP 20435 7450 SNA 20436 5347 JMP OVE 20437 3361 DCA WD 20440 4774 JMS I (ASSEM /ASSEMBLE LAST WORD READ 20441 3355 DCA ORGX /ALSO TEMP 20442 7430 SZL /IS IT AN ORIGIN? 20443 5264 JMP ORGTST /YES 20444 1356 TAD ORIGIN 20445 1375 TAD (200 /GIVE ERROR IF ORIGIN ADVANCES TO 7600 20446 7650 SNA CLA 20447 5353 JMP BADIN 20450 1355 TAD ORGX /GET WORD BACK 20451 7402 XFIELD, HLT /GETS CDF N 20452 3756 DCA I ORIGIN /STORE THIS WORD 20453 6221 CDF20, CDF 20 20454 2356 ISZ ORIGIN /SHOULD NEVER SKIP, BUT... 20455 0007 LD7, 7 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 108-1 20456 1357 NEXT, TAD WD1 20457 1360 TAD WD2 /MAKE UP CHECKSUM 20460 1362 TAD CKSUM 20461 3362 DCA CKSUM 20462 1361 TAD WD 20463 5223 JMP NEWWD /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 109 ORGTST, /TEST FOR ORIGIN 20464 1363 TAD LODTST /GET POINTER TO PROPER ORIGIN 20465 7650 SNA CLA 20466 5271 JMP .+3 20467 6203 CIF CDF 0 /JUMP TO HANDLER TEST 20470 5773 JMP I (HND 20471 1355 TAD ORGX /OS/8 - USE REAL ORIGIN 20472 3356 ORI, DCA ORIGIN /BUFFER AREA 20473 1363 TAD LODTST /HANDLER LOAD? 20474 7650 SNA CLA 20475 5256 JMP NEXT /NOPE 20476 1355 TAD ORGX /DON'T START LOAD UNTIL *0 IS FOUND 20477 7640 SZA CLA 20500 5256 TSTO0, JMP NEXT 20501 3300 DCA .-1 /FOUND *0..DO THE LOAD 20502 2363 ISZ LODTST /YES. BUMP LODTST TO LOAD HANDLER NEXT 20503 5256 JMP NEXT 20504 1251 TAD XFIELD 20505 1372 TAD (-CDF 0 20506 7640 SZA CLA 20507 5312 JMP .+3 /JUMP AROUND IF NOT FIRST TIME 20510 6203 CIF CDF 0 /SUBROUTINE IN FIELD 0 20511 4576 JMS I [FIRST /FIRST TIME THROUGH /DO THIS BETTER; ALSO MAKE SURE HANDLER DOESN(T HAVE A FILED PSEUDO 20512 1371 TAD (CDF 10 20513 3251 DCA XFIELD /AT THIS POINT, WE START 20514 7240 CLA CMA /LOADING THE HANDLER INTO THE 20515 3363 DCA LODTST /AREA SPECIFIED BY HNDORG+1 /CHECK 'ORIGIN' TO SEE IF HEADER WAS RIGHT SIZE /ALSO ELSEWHERE, CAN CHECK ORIGIN WHEN BUMPING TO SEE /IF WE HIT ANY MAGIC LOCATIONS 20516 1355 TAD ORGX /SEE IF LEGAL RE ORIGIN 20517 6203 CIF CDF 0 /OFF ON FIELD 0 20520 4770 JMS I (ORGLIM 20521 3356 DCA ORIGIN /ACTUAL FIELD 1 ORIGIN / TAD SNACLA /LOADING FIELD 1..TEST ORIGINS / DCA JMPRE 20522 5256 JMPNXT, JMP NEXT 20523 1367 FIELDW, TAD (-100 /LESS THAN 300 FAILS 20524 7510 SPA 20525 5353 JMP BADIN 20526 3357 DCA WD1 20527 1357 TAD WD1 20530 0255 AND LD7 20531 7640 SZA CLA 20532 5353 JMP BADIN /DISECT WORD TO CATCH GARBAGE 20533 1363 TAD LODTST /IF LOADING HANDLER, IGNORE FIELD 20534 7640 SZA CLA 20535 5342 JMP FIELD2 20536 1357 TAD WD1 20537 0366 AND (70 /EXTRACT FIELD SETTING 20540 1175 TAD [CDF 0 20541 3251 DCA XFIELD /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 109-1 20542 4777 FIELD2, JMS I (ICHA 20543 5353 JMP BADIN 20544 1376 TAD (7600 20545 7440 SZA 20546 5223 JMP NEWWD 20547 6203 OVE, CIF CDF 0 /ROUTINE IN FIELD 0 20550 5574 JMP I [OVER /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 110 20551 6203 LDAB, CIF CDF 0 /BACK TO FIELD 0 20552 5600 JMP I LDABS /RETURN FROM SUBROUTINE 20553 6203 BADIN, CIF CDF 0 /BACK TO FIELD 0 20554 5573 JMP I [BADINP /BAD INPUT 20555 0000 ORGX, 0 20556 0000 ORIGIN, 0 20557 0000 WD1, 0 20560 0000 WD2, 0 20561 0000 WD, 0 20562 0000 CKSUM, 0 20563 0000 LODTST, 0 20566 0070 20567 7700 20570 2305 20571 6211 20572 1577 20573 3605 20574 0606 20575 0200 20576 7600 20577 0600 0600 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 111 20600 0000 ICHA, 0 /ICHAR CALL ROUTINE FOR FIELD 0 20601 6203 CIF CDF 0 /OFF TO FIELD 0 20602 4777 JMS I (ICHAR /JUMP TO ICHAR 20603 5600 JMP I ICHA /ERROR RETURN 20604 2200 ISZ ICHA /GOOD RETURN 20605 5600 JMP I ICHA /RETURN TO CALLER 20606 0000 ASSEM, 0 /ASSEMBLE A WORD /THIS CODE APPEARS IN FIELD 0 ALSO 20607 1776 TAD I (WD1 /GET WORD 1 20610 7106 CLL RTL /NOW DO THE ROTATE 20611 7006 RTL;RTL 20612 7006 20613 1775 TAD I (WD2 /NOW FOR THE SECOND PART 20614 5606 JMP I ASSEM /BACK TO CALLER 20775 0560 20776 0557 20777 5074 1000 PAGE /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 112 4777 WRITEX=JMS I (7607 /OFF TO WRITE TO DEV. 4250 ERROR=JMS ERRX /ERROR SUBROUTINE BAK, 21000 6202 CIF 0;WRITEX;4211;1400;26;ERROR /ENTER,TM8E OVERLAY 21001 4777 21002 4211 21003 1400 21004 0026 21005 4250 21006 6202 CIF 0;WRITEX;4701;2000;54;ERROR /SAVE, DATE, MON ERROR, CHAIN OVERLAYS 21007 4777 21010 4701 21011 2000 21012 0054 21013 4250 21014 6221 CDF 20 21015 6202 CIF 0;WRITEX;4101;LDRCTL;70;ERROR /ABSLDR CORE CONTROL BLOCK 21016 4777 21017 4101 21020 4113 21021 0070 21022 4250 21023 1376 TAD (-114 21024 6202 CIF 0 21025 4775 JMS I (MOVE 21026 6201 CDF 0 21027 4264 4264 21030 6201 CDF 0 21031 3464 3464 21032 6202 CIF 0;WRITEX;4200;3400;64;ERROR 21033 4777 21034 4200 21035 3400 21036 0064 21037 4250 21040 6202 CIF 0;WRITEX;5210;2000;71;ERROR /ABSLDR 21041 4777 21042 5210 21043 2000 21044 0071 21045 4250 21046 6213 CIF CDF 10 /BACK TO FIELD 1 21047 5774 JMP I (WHER 21050 0000 ERRX, 0 /WRITE ERROR 21051 7602 HLT CLA /HIT CONTINUE TO RETRY 21052 1250 TAD ERRX 21053 1373 TAD (-6 /BACK TO TRY AGAIN 21054 3250 DCA ERRX /AGAIN 21055 5650 JMP I ERRX /RETRY /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 113 21173 7772 21174 7274 21175 4400 21176 7664 21177 7607 20173 4716 20174 4705 20175 6201 20176 3600 20177 7777 0000 FIELD 0 0200 *200 $ /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 114 ACT 1267 BOOTG 4342 CORX 0352 DVNUM 1032 ACTION 1404 BOOTQ 2563 COR0 0333 DVREC 4265 ACTIV 3056 BOOT2 3214 COR1 0342 DVTYPE 0004 ACTIVE 0006 BOOT2A 3000 COR2 0344 ECHO 0504 ACTNAM 2665 BOOT2X 3034 COR70 0350 ECHOFL 4551 ACTSW 0661 BOOT3 3506 COUNT 0020 END 4363 ADV 2466 BOOT4 4462 COUNT2 6130 ENDLIN 0523 ADVBOT 4540 BOOT5 4200 CPREC2 4127 ENTPT 0005 ADVDSC 4541 BOOT6 4201 CRLF 4736 EOL 2703 ALTER 1625 BOOT7 4215 CSA 7515 ERR 4307 ALTMOD 0511 BOOT8 4241 CTCTST 4437 ERROR 4250 AMTCOR 5067 BOTADV 4017 CTLCM 1675 ERRX 1050 ASSEM 0606 BUFFER 5400 CTO 4673 EXAM 1731 ASSEMB 4450 BUFLD 6072 CTRLC 4274 EXAMDC 1720 B 3271 BUILD 5303 CTRLU 0514 EXAMIN 1624 BADARG 4166 CARRET 0467 DATEWD 7666 EXAMSB 1733 BADIN 0553 CAR1 0470 DCB 0004 FIELDW 0523 BADINP 4716 CASIT 7517 DCBCM 1674 FIELD2 0542 BADLOD 0673 CBATI 0231 DCBTBL 7760 FILPTR 1057 BADORG 2333 CBATO 0240 DCOM 1423 FIRST 3600 BADPLT 1331 CDF20 0453 DEL 1410 FLAG2 0045 BADV 2512 CDKNT 7517 DELETE 1214 FLD 6125 BAK 1000 CDN 7417 DELGN 1414 FNDBOT 4222 BAKC 0566 CDPTR 7516 DELNAM 1413 FROMBO 4230 BAKCHR 4547 CHAR 0021 DETEM 1360 FROMOV 2443 BATBK 0323 CHAR1 5143 DEVBUF 0400 GCHCOM 5144 BATDON 0226 CHAR2 5137 DEVSIZ 0007 GET 4562 BATINI 1457 CHCNT 5162 DGET 1447 GETC 0563 BATLS 0230 CHECK 6131 DHYPH 1432 GETCHA 0306 BATLUP 0217 CHKLUP 0602 DIRLOC 3400 GETCHR 4550 BATMOV 0213 CHKNAM 0600 DLENGT 4165 GETDCB 3242 BATSET 0200 CHKRES 3035 DOLR 0220 GETEM 0326 BATT 0004 CHPTR 5163 DONE 2046 GETEMP 2220 BATTST 0315 CHTMP 5071 DOT 2671 GETLEN 4132 BATXR1 0010 CHTMP2 4672 DOTCNT 2702 GETNUM 0523 BATXR2 0011 CKSUM 0562 DPROPR 4157 GETPG 1600 BD 0302 CKSUMM 6132 DRECT 3505 GETSLO 3200 BDV 2524 CK1 6142 DRIVER 1033 GETU 1025 BEGLIN 5200 CLRTBL 2274 DSCADV 4000 GETUSR 1536 BIGFLG 0716 CN 4266 DSCPTR 0033 GETVAL 1664 BIGNAM 0704 COM 1270 DSCTAB 6400 GNAME 2705 BINARY 6000 COMMA 2553 DSK 1464 GNAME2 2723 BINBUF 5106 CONFIG 0215 DSKBAD 2756 GNMXR 0016 BINPUN 6000 COPREC 4122 DSKBIT 0006 GO 2256 BLDCB 1570 COPY 4107 DSKG1 0035 GOOD 2617 BLDCCB 0750 COP2 4056 DSKG2 0036 GOTCHA 2207 BLDLOD 1546 COP3 4106 DSKP1 0037 GOTD 3227 BLDSAV 0076 CORBIT 4132 DSKP2 0040 GOTEM 3147 BLOK66 0000 CORE 3147 DT 2126 GOTSW 0566 BLOOK 4216 CORES 0005 DTYPE 2144 GRPNAM 0650 BOOT 3210 COREX 0363 DVBUF 4264 GRPNM1 0000 BOOTC 3400 CORLOC 0367 DVER 5354 GRPNM2 0001 BOOTD 3437 CORMSG 2102 DVICE 5164 GT 2471 BOOTE 3446 CORSIZ 0306 DVLOOP 4247 GTEXT 0400 BOOTF 4322 CORV 0370 DVNM1 1031 HDPTR 1152 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 114-1 HDRSIZ 0010 LXR 0015 OK 3615 QCKSUM 6236 HND 3605 L0423 1445 OLDPAG 0042 QLEDER 6245 HNDLOC 3071 L15 4302 OLDTOP 2547 QLIST 2107 HNDLOK 1555 L5400 3434 ONEPG 3554 QLUP 2110 HNDPTR 0032 L600 0017 ORGLIM 2305 QPNCH 6234 HYPH 1344 L7400 5032 ORGTST 0464 QROTR 6244 ICHA 0600 L7600 5034 ORGX 0555 Q102 6242 ICHAR 5074 L770 7543 ORI 0472 Q176 6235 IGET 1361 MAXPLT 0004 ORIGIN 0556 Q177 6240 IN 5071 MEQ 1240 OTEMP 4733 Q300 6233 INACT 3126 MEQL 1704 OUT 5072 Q74 6237 INI 2547 MFREE 0070 OVE 0547 Q77 6241 INIT 4542 MOVE 4400 OVER 4705 RBCR 0521 INPDCB 1712 MOVRET 4435 OVERB 6200 RBOUT 0447 INPLAT 1301 MVCDF2 4424 OVROUT 4726 RD 5347 INS 1231 MVCT 4447 PACK 2637 RDCD 5327 INSERT 1207 MVDF 4426 PACKOK 2644 RDIN 5104 INSGN 1252 MVSHND 3424 PAGAD 1672 RDOS8 5313 INSNAM 1251 MVTM1 4513 PAGRES 0006 RDTX 0405 INTEM 1400 MVTM2 4520 PATCH 4552 RDTXT 0406 IOERR 5153 MV20 4432 PBUFFE 1557 READ 4777 IOPEN 3635 MV7600 4536 PGLUP 1115 RECNO 5107 JMPGET 5121 M270 7544 PGNAME 2034 RECNO2 5111 JMPNXT 0522 NAME 1606 PG7600 5400 RECZRO 2341 JMPX 5100 NAMERR 1770 PKNT 1763 RELCOR 0326 JSW 7746 NAME1 0024 PLATNU 0006 REOF 5161 KICKM 1532 NAME2 0025 PLOOP 1745 REPLAC 1200 KLUD 3613 NAME3 0026 PN 1503 RERROR 5147 KORE 4301 NAME4 0027 PNAME 2126 RESTOR 7434 K7750 2240 NCHAR 0542 PNCH 6117 RES76 7477 LCKSUM 4734 NEWCOR 0043 PRETSW 7552 RETSW 5165 LDAB 0551 NEWLIM 3614 PRINT 2000 RIGHT 2653 LDABS 0400 NEWPAG 0041 PRINTE 4622 ROT 0527 LDABS2 0402 NEWWD 0423 PRLUP 2004 ROTL 4513 LDEXT 1153 NEXT 0456 PRMNAM 0662 ROTR 4520 LDR 6013 NFOUND 0717 PRMNM1 0002 RUBFLG 4755 LDRCTL 4113 NMER 3631 PRMNM2 0003 R7600 7545 LD7 0455 NM1 0606 PRNAME 4600 SA 7744 LEADER 0414 NM2 0614 PRNM2 4605 SAMEE 2570 LEDER 6107 NOBIG 0640 PRNT 4745 SAMF 2566 LFEED 0476 NOCOL 1515 PROTEC 2663 SAMPAG 2506 LFMOD 0414 NODEV 1364 PROTL 4461 SAMPG 3143 LIM1 6126 NODSK 1513 PRSPAC 4651 SAVDAT 0044 LIM2 6127 NOHN 4271 PRTM 4735 SAVE 7452 LINEUP 4704 NOMOR 2530 PRTPER 2024 SAVHID 0047 LNLNGT 0103 NOMORE 2527 PRWD 4660 SAVLC 5070 LOAD 1071 NORE 3125 PRWD2 4662 SAVLOC 3561 LOADIN 1066 NORE2 3307 PTM 1762 SAVNAM 1336 LOCSYS 2600 NOROOM 0730 PUT 4563 SAVPTR 2536 LODTMP 1032 NOSLOT 2611 PUTAT 1716 SAV1 0002 LODTST 0563 NOTNUF 2363 PUTNUM 1741 SAV2 0003 LOOKAT 1721 NO4C 3112 PWORD 4632 SBLOCK 7776 LSTPTR 2534 NULL 4654 P2PAG 1635 SBUFF 5360 LWD1 4457 NUMOUT 0556 P200 5105 SDCB 5300 LWD2 4460 ODTL 1657 QCHECK 6243 SETACT 1400 /33 OS/8 V3D BUILD PAL8-V10A 24-MAY-87 PAGE 114-2 SETDSK 1525 TSTNAM 1763 SETSLT 3331 TSTOVR 2234 SETSY 3311 TSTO0 0500 SETUP 1000 TTYIN 1452 SETUPS 3530 TTYOUT 4525 SHND 5320 TTY240 2000 SIZCM 1673 TWOPAG 0005 SIZE 0031 TWOSYS 1224 SIZLUP 4146 T1AD 3423 SKPCRD 4541 T2AD 3431 SLOT 0034 UNLGRP 2423 SLOTDS 3262 UNLNAM 2412 SLTLUP 3022 UNLOAD 2400 SMPG 3326 UNLPRM 2411 SNACLA 3440 UNSIZE 2553 SNAME 5340 USRBLK 0013 SOFSET 7747 USRHPT 0037 SRES 5260 USRNPT 0036 STARTB 6020 VERS 0740 STEMP 5074 WD 0561 SUBLUP 1031 WD1 0557 SWAPER 5073 WD2 0560 SWAPLW 5037 WHAT 2140 SWAP2 5047 WHER 7274 SWAP3 5017 WRCD 7313 SWIT 2664 WRERR 7507 SYBUF 2260 WRITCC 2155 SYCTL 2257 WRITE 4777 SYDCB 7760 WRITEX 4777 SYNTAX 2750 WROS8 7201 SYREC 2261 XFIELD 0451 SYS 2246 XRBACK 0464 SYSBIT 0005 XR1 0010 SYSCPY 4037 XR2 0011 SYSDCB 0046 XR3 0012 SYSENT 2273 XR4 0013 SYSLOC 3557 XR5 0014 SYSL2 3461 XSWTCH 1716 SYSL3 3501 Z7600 7307 SYSQ 5121 SYSSIZ 4273 SYSTEM 1216 SYSWP 5000 TABLMT 0030 TELCOR 2072 TEMP 0022 TEST 2221 TM 4541 TMP1 0023 TMP2 3431 TOMOV 2445 TOOMAN 2200 TO20 5157 TRYAGN 1052 TSTEOL 1210 ERRORS DETECTED: 0 LINKS GENERATED: 0