File: BUIL50.LS of Disk: V50/Init/Build-Init
(Source file text)
/OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 1 /OS/8 V50 BUILD / / / / / / / / / /COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION / AND 2015 W. VAN DER MARK (WM) / / / / / / / / / /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. / / / / / / / / / / /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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) /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 2-1 /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 /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: /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 2-2 / 1-MAY-77 /1. FIXED PROBLEM WITH CASSETTE BUILD (JSW WAS SET WRONG) /2. ALLOWED SAVING OF HIGH-ORDER DATE BITS /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 3 /BUILD PAGE 0 0001 *1 000001 7402 HLT /SAFETY HALT AND PATCH SPACE 000002 0000 SAV1, 0 000003 0000 SAV2, 0 /SAVES GROUP NAME /POINTER TO BATCH ROUTINE (GROSS BUT NEEDED THE ROOM) 000004 0315 BATT, BATTST /AGAIN GROSS BUT WHAT CAN I SAY? 0010 *10 /AUTO INDEX REGISTERS 000010 0000 XR1, 0 /GENERAL PURPOSE REGISTERS 000011 0000 XR2, 0 000012 0000 XR3, 0 000013 0000 XR4, 0 /USED TO BUILD IMAGE TABLES 000014 0000 XR5, 0 000015 0000 LXR, 0 000016 0000 GNMXR, 0 000017 0600 L600, 600 0020 *20 000020 0000 COUNT, 0 /GENERAL COUNTER LOCATION 000021 0000 CHAR, 0 /CHARACTER BUFFER 000022 0000 TEMP, 0 /TEMPORARIES 000023 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 000024 0000 NAME1, 0 /NAME1-4 HOLDS FILE AND DEVICE NAMES 000025 0000 NAME2, 0 000026 0000 NAME3, 0 000027 0000 NAME4, 0 000030 6400 TABLMT, DSCTAB /HIGH CORE END OF DESCRIPTORS /FIRST FREE LOCATION 000031 0000 SIZE, 0 000032 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 000033 6400 DSCPTR, DSCTAB /ALWAYS POINTS TO BEGIN OF CURRENT DESCRIPTOR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 4 000034 0000 SLOT, 0 000035 0000 DSKG1, 0 /NAME OF 'DSK' 000036 0000 DSKG2, 0 000037 0000 DSKP1, 0 000040 0000 DSKP2, 0 000041 0000 NEWPAG, 0 000042 0000 OLDPAG, 0 000043 0000 NEWCOR, 0 /NEW CORE MAX 000044 0000 SAVDAT, 0 /REMEMBERS DATE ACROSS A BOOT 7666 DATEWD=7666 000045 0001 FLAG2, 1 /0 IF PREVIOUS SYSTEM HAD A 2-PAGE HANDLER /SAMSYS, 1 /0 IF DIDN'T SPECIFY NEW SYS 0000 BLOK66=0 000046 0000 SYSDCB, 0 7744 SA=7744 7746 JSW=7746 /BOOTDV, 0 /HANDLER ADDRESS OF DEVICE WE'RE BOOTSTRAPPING TO 000047 0000 SAVHID, 0 /HIGH-ORDER DATE (BITS 3-4) /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 6 0200 *200 000200 7610 SKP CLA /ENTRY FROM 'R BUILD' 000201 7402 HLT /CHAIN ENTRY ADDRESS 000202 1577 TAD I [7600 /SEE IF SYSTEM ALREADY EXISTS 000203 7041 CIA 000204 1176 TAD [4207 000205 7640 SZA CLA /IF NOT, BUILD SYSTEM FROM PAPER TAPE 000206 7201 CLA IAC /NOTE FACT THAT OS/8 AINT AROUND 000207 3575 DCA I [RETSW 000210 4777 JMS I (CORE 000211 3776 DCA I (AMTCOR /FIGURE OUT HOW MUCH CORE WE HAVE 000212 4775 JMS I (GOOD /DO SOME INITIALIZATION; IT'LL DO YA GOOD 000213 1374 TAD (BATLS-1 /SET POINTER FOR BATCH OVERLAY 000214 4773 JMS I (BATTST /GO CHECK FOR CALL FROM BATCH 000215 6201 CONFIG, CDF 0 000216 3772 DCA I (ECHOFLG /ALLOW TYPING 000217 4574 JMS I [CRLF 000220 1173 DOLR, TAD ["$ /OUTPUT A $ BECAUSE I'M JEWISH 000221 4572 JMS I [TTYOUT 000222 3571 DCA I [SWAPER /USE CURRENT HANDLER, NO SWAP ON ^C. 000223 1170 TAD [-LNLNGT 000224 4567 JMS I [GTEXT /READ TTY LINE 000225 5220 JMP DOLR 000226 4566 JMS I [GNAME /INTERPRET THE COMMAND 000227 1024 TAD NAME1 000230 7450 SNA 000231 5215 JMP CONFIG 000232 3021 DCA CHAR /ENABLE TEST TO WORK /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 7 000233 4565 JMS I [TEST /LOOK FOR THE COMMAND IN LIST 000234 6361 -1417;LOAD /LOAD DEVICE HANDLER BINARY 000235 1071 000236 5573 -2205;REPLACE /REPLACE IN SYSTEM 000237 1200 000240 6177 -1601;NAME /ALTER PERMANENT NAME 000241 1606 000242 7664 -0114;ALTER /CHANGE DEVICE HANDLER LOCATION 000243 1625 000244 5756 -2022;PRINT /SYSTEM STATUS 000245 2000 000246 5447 -2331;SYSTEM /SPECIFY SYSTEM DEVICE 000247 1216 000250 7561 -0217;BOOT /BOOTSTRAP THE NEW SYSTEM 000251 3210 000252 5262 -2516;UNLOAD /DELETE INACTIVE HANDLER 000253 2400 000254 7373 -0405;DELETE /DELETE ACTIVE HANDLER 000255 1214 000256 6662 -1116;INSERT /INSERT HANDLER IN SYSTEM 000257 1207 000260 5173 -2605;VERS /TYPE VERSION # 000261 0740 000262 7250 -0530;EXAMINE /EXAMINE LOCATION 000263 1624 000264 5664 -2114;QLIST /QUICK LIST 000265 2107 000266 7355 -0423;DSK /DSK 000267 1452 000270 7461 -0317;KORE /CORE 000271 4301 000272 7375 -0403;DCBCM /DCB 000273 1674 000274 7454 -0324;CTLCM /CTL 000275 1675 000276 5467 -2311;SIZCM /SIZE 000277 1673 000300 7262 -0516;END /END COMMAND FOR BATCH 000301 4363 000302 7553 BD, -0225;BUILD /BUILD 000303 5303 000304 0000 0 /MUST TERMINATE LIST WITH 0 000305 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 7-1 / MUST BE 0 / SIZE OF 1 PLATTER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 8 CORSIZ, 000306 0000 GETCHA, 0 000307 1033 TAD DSCPTR 000310 1706 TAD I GETCHA 000311 2306 ISZ GETCHA 000312 3326 DCA GETEM 000313 1726 TAD I GETEM 000314 5706 JMP I GETCHA /GOTCHA SUBROUTINE MOVED FOR ROOM 4563 PUT=JMS I [GOTCHA 4562 GET=JMS I [GETCHA 000315 0000 BATTST, 0 /SUBROUTINE TO SEE IF CALLED FROM BATCH 000316 3010 DCA XR1 /POINTER TO OVERLAY CODE IN FIELD 2 000317 1561 TAD I [7777 /GET THE BATCH SWITCH (JMP BATBK IF IN BATCH) 000320 7004 RAL /BIT 1 000321 7700 SMA CLA /IF NO BATCH MAY NOT HAVE FIELD 2 000322 5715 JMP I BATTST /NOT CALLED FROM BATCH 000323 6222 BATBK, CIF 20 /NOW TO FIELD 2 000324 4771 JMS I (BATSET /GO DO SOME OVERLAYS 000325 5715 JMP I BATTST /RETURN TO CALLER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 9 GETEM, /POINTS INTO DSCTAB 000326 0000 RELCOR, 0 000327 7201 CLA IAC 000330 3306 DCA CORSIZ /MAKE RE-USABLE 000331 1160 TAD [7400 000332 3352 DCA CORX /MAKE ROUTINE REUSABLE ON 32K MACHINE 000333 6201 COR0, CDF 0 000334 1306 TAD CORSIZ 000335 7006 RTL 000336 7004 RAL 000337 0350 AND COR70 000340 1363 TAD COREX 000341 3342 DCA .+1 000342 6201 COR1, CDF /N 000343 1767 TAD I CORLOC 000344 7000 COR2, NOP 000345 3342 DCA COR1 000346 1344 TAD COR2 000347 3767 DCA I CORLOC 000350 0070 COR70, 70 000351 1767 TAD I CORLOC 000352 7400 CORX, 7400 000353 1352 TAD CORX 000354 1370 TAD CORV 000355 7640 SZA CLA 000356 5363 JMP COREX 000357 1342 TAD COR1 000360 3767 DCA I CORLOC 000361 2306 ISZ CORSIZ 000362 5333 JMP COR0 000363 6201 COREX, CDF 0 000364 7240 STA 000365 1306 TAD CORSIZ 000366 5726 JMP I RELCOR /LEAVE WITH HIGHEST EXISTENT BANK 000367 0352 CORLOC, CORX 000370 1400 CORV, 1400 000371 0200 000372 4551 000373 0315 000374 0227 000375 2617 000376 5067 000377 3147 0400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 12 /READ A LINE OF TEXT RETURN 1 IS ^U RETURN 000400 0000 GTEXT, 0 /ROUTINE TO COLLECT TTY INPUT 000401 1377 TAD (-BEGLIN /AC IS NON-ZERO 000402 3323 DCA ENDLIN 000403 3776 DCA I (RUBFLG /INITIALIZE RUBOUT TO \ 000404 1375 TAD (BEGLIN-1 000405 3015 RDTX, DCA LXR /BUFFER ADD. TO INDEX 000406 4557 RDTXT, JMS I [TTYIN /READ BLOODY TELETYPE 000407 1021 TAD CHAR 000410 3024 DCA NAME1 /SETUP FOR TEST AGAIN 000411 4565 JMS I [TEST 000412 7401 -377;RBOUT /RUBOUT 000413 0447 000414 7566 LFMOD, -212;LFEED /LINE FEED..ECHO CURRENT COMMAND 000415 0476 000416 7563 -215;CARRET /LINE TERMINATOR 000417 0467 000420 7545 -233;ALTMOD /ALT MODE IN SEVERAL FLAVORS 000421 0511 000422 7403 -375;ALTMOD 000423 0511 000424 7402 -376;ALTMOD 000425 0511 000426 7600 -200;RDTXT /IGNORE BLANKS 000427 0406 000430 7561 -217;RDTXT /AS WELL AS ^O 000431 0406 000432 7575 -203;CTRLC /BACK TO CURRENT SYSTEM 000433 4274 000434 7553 -225;CTRLU /CTRLU 000435 0514 000436 0000 0 /IF NOT ONE OF THESE, PUT IN BUFFER 000437 1015 TAD LXR 000440 1323 TAD ENDLIN 000441 7650 SNA CLA 000442 5206 JMP RDTXT /LINE OVERFLOW, STOP ECHOING 000443 4556 JMS I [PRNT /PRINT THE CHARACTER 000444 1021 TAD CHAR 000445 3415 DCA I LXR /AND PUT IN LINE BUFFER 000446 5206 JMP RDTXT /NO PROBLEMS YET /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 13 000447 1015 RBOUT, TAD LXR /IS THERE TEXT TO RUB OUT? 000450 1155 TAD [1-BEGLIN 000451 7650 SNA CLA 000452 5321 JMP RBCR /NO..SO DON'T DO ANYTHING 000453 1154 TAD ["\ /YES..ECHO BACKSLASH? 000454 2776 ISZ I (RUBFLG /IF = -1, NO 000455 4572 JMS I [TTYOUT 000456 7240 CLA CMA /IGNORE CONSECUTIVE RUBOUTS 000457 3776 DCA I (RUBFLG 000460 1015 TAD LXR 000461 3023 DCA TMP1 000462 1423 TAD I TMP1 000463 4572 JMS I [TTYOUT /ECHO LAST CHAR 000464 7240 XRBACK, CLA CMA 000465 1015 TAD LXR /MOVE INDEX BACK ONE 000466 5205 JMP RDTX 000467 4574 CARRET, JMS I [CRLF /GENERATE 215,212 000470 3415 CAR1, DCA I LXR 000471 3415 DCA I LXR /GUARD AGAINS CMD <CR> 000472 1153 TAD [BEGLIN-1 000473 3016 DCA GNMXR /SETUP FOR GNAME ROUTINE 000474 2200 ISZ GTEXT /TAKE NORMAL RETURN 000475 5600 JMP I GTEXT 000476 3415 LFEED, DCA I LXR /A 0 TO MARK END 000477 1153 TAD [BEGLIN-1 000500 3015 DCA LXR 000501 4574 JMS I [CRLF 000502 1173 TAD ["$ 000503 4572 JMS I [TTYOUT 000504 1415 ECHO, TAD I LXR 000505 7450 SNA /DONE ECHOING? 000506 5264 JMP XRBACK /YES..REPOSITION LXR 000507 4572 JMS I [TTYOUT 000510 5304 JMP ECHO 000511 1173 ALTMOD, TAD ["$ /ALT MODE ECHOES AS $ 000512 4572 JMS I [TTYOUT 000513 5270 JMP CAR1 000514 1152 CTRLU, TAD ["^ 000515 4572 JMS I [TTYOUT /GENERATE ^U 000516 1024 TAD NAME1 000517 1151 TAD [100 000520 4572 JMS I [TTYOUT 000521 4574 RBCR, JMS I [CRLF 000522 5600 JMP I GTEXT /TAKE ERROR RETURN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 14 4550 GETCHR=JMS I [GETC 4547 BAKCHR=JMS I [BAKC ENDLIN, 000523 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' 000524 3031 DCA SIZE 000525 3366 DCA GOTSW /HAVEN'T FOUND ANY DIGITS YET 000526 5342 JMP NCHAR 000527 3023 ROT, DCA TMP1 000530 2366 ISZ GOTSW /FOUND A DIGIT 000531 1031 TAD SIZE 000532 0146 AND [7000 000533 7640 SZA CLA 000534 5545 JMP I [BADARG /NUMBER .GT. 4095 000535 1031 TAD SIZE 000536 7106 CLL RTL 000537 7004 RAL /BUILD UP THE DIGIT 000540 1023 TAD TMP1 000541 3031 DCA SIZE 000542 4550 NCHAR, GETCHR 000543 7450 SNA /0 ENDS THE LINE 000544 5356 JMP NUMOUT 000545 1144 TAD [-240 /IGNORE SPACES 000546 7450 SNA 000547 5342 JMP NCHAR 000550 1374 TAD (-30 /TEST LIMITS 000551 7100 CLL 000552 1143 TAD [10 /MUST BE BETWEEN 0 AND 7 000553 7430 SZL 000554 5327 JMP ROT 000555 1373 TAD (260 /RESTORE CHAR 000556 3021 NUMOUT, DCA CHAR /SAVE AWAY THIS DELIMETER 000557 1366 TAD GOTSW /DID WE GET ANY DIGITS? 000560 7640 SZA CLA /? 000561 2323 ISZ GETNUM /YES 000562 5723 JMP I GETNUM /NO, RETURN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 15 000563 0000 GETC, 0 /GET THE NEXT CHARACTER, ADVANCE SCAN PAST IT 000564 1416 TAD I GNMXR 000565 5763 JMP I GETC GOTSW, /1 MEANS GOT A DIGIT 000566 0000 BAKC, 0 /BACK UP SCAN TO THE CHARACTER JUST LOOKED AT 000567 7240 STA 000570 1016 TAD GNMXR 000571 3016 DCA GNMXR 000572 5766 JMP I BAKC 000573 0260 000574 7750 000575 5177 000576 4755 000577 2600 0600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 000600 0000 CHKNAM, 0 000601 4542 INIT 000602 4541 CHKLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 000603 4540 ADVBOT /ADVANCE OVER ANY BOOTSTRAP 000604 5317 JMP NFOUND /NO MORE- ERROR 000605 4562 GET 000606 0000 NM1, GRPNM1 /GET GROUP OR PERMANENT NAME 000607 7041 CIA 000610 1024 TAD NAME1 000611 7640 SZA CLA /DO FIRST WORDS MATCH? 000612 5202 JMP CHKLUP /NO, TRY AGAIN 000613 4562 GET 000614 0001 NM2, GRPNM2 /GET 2ND WORD 000615 7041 CIA 000616 1025 TAD NAME2 000617 7640 SZA CLA /2ND WORD MATCH? 000620 5202 JMP CHKLUP /NO 000621 1316 TAD BIGFLG 000622 7650 SNA CLA /WANT BOTH GROUP AND PERM NAME? 000623 5240 JMP NOBIG /NO 000624 4562 GET /YES 000625 0000 GRPNM1 000626 7041 CIA 000627 1002 TAD SAV1 000630 7640 SZA CLA 000631 5202 JMP CHKLUP 000632 4562 GET 000633 0001 GRPNM2 000634 7041 CIA 000635 1003 TAD SAV2 000636 7640 SZA CLA 000637 5202 JMP CHKLUP 000640 1261 NOBIG, TAD ACTSW /FOUND MATCH 000641 7650 SNA CLA /MUST HANDLER BE ACTIVE? 000642 5600 JMP I CHKNAM /NO, RETURN 000643 4562 GET /YES 000644 0006 ACTIVE 000645 7700 SMA CLA /IS IT ACTIVE? 000646 5202 JMP CHKLUP /NO, TRY AGAIN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 16-1 000647 5600 JMP I CHKNAM /YES, RETURN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 17 000650 0000 GRPNAM, 0 000651 1377 TAD (GRPNM1 /WANT TO SEARCH FOR GROUP NAME 000652 3206 DCA NM1 000653 1376 TAD (GRPNM2 000654 3214 DCA NM2 000655 3261 DCA ACTSW /NEED NOT BE ACTIVE 000656 3316 DCA BIGFLG 000657 4200 JMS CHKNAM /GO SEARCH 000660 5650 JMP I GRPNAM 000661 0000 ACTSW, 0 /1 MEANS HANDLER MUST BE ACTIVE 000662 0000 PRMNAM, 0 000663 3261 DCA ACTSW /AC MAY BE NON ZERO (TO MEAN ACTIVE ONLY) 000664 1375 TAD (PRMNM1 /WANT TO SEARCH FOR PERMANENT NAME 000665 3206 DCA NM1 000666 1374 TAD (PRMNM2 000667 3214 DCA NM2 000670 3316 DCA BIGFLG 000671 4200 JMS CHKNAM /GO SEARCH 000672 5662 JMP I PRMNAM 000673 4574 BADLOD, JMS I [CRLF 000674 4537 JMS I [PRWD 000675 7702 TEXT /?BAD LOAD/ 000676 0104 000677 4014 000700 1701 000701 0400 000702 3430 DCA I TABLMT /RESTORE SENTINEL 0 000703 5536 JMP I [CONFIG 000704 0000 BIGNAM, 0 000705 3261 DCA ACTSW 000706 1375 TAD (PRMNM1 000707 3206 DCA NM1 000710 1374 TAD (PRMNM2 000711 3214 DCA NM2 000712 7201 CLA IAC 000713 3316 DCA BIGFLG 000714 4200 JMS CHKNAM 000715 5704 JMP I BIGNAM /SOMETIMES CHKNAM CAME FROM DSKASK INSTEAD OF GETSYS **** 000716 0000 BIGFLG, 0 /SET TO 1 TO CHECK GROUP & PERMANENT NAME /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 18 000717 4535 NFOUND, JMS I [PRNAME 000720 4537 JMS I [PRWD 000721 4016 TEXT / NOT FOUND/ 000722 1724 000723 4006 000724 1725 000725 1604 000726 0000 000727 5536 JMP I [CONFIG 000730 4537 NOROOM, JMS I [PRWD 000731 7716 TEXT /?NO ROOM/ 000732 1740 000733 2217 000734 1715 000735 0000 000736 3430 DCA I TABLMT /RESTORE SENTINEL 0 000737 5536 JMP I [CONFIG 000740 4537 VERS, JMS I [PRWD 000741 0225 TEXT /BUILD V50B/ 000742 1114 000743 0440 000744 2665 000745 6002 000746 0000 000747 5536 JMP I [CONFIG /BUILD CORE CONTROL BLOCK / ***** CAUTION IF BUILD GROWS FROM FIELD 2 000750 7775 BLDCCB, -3 /3 SEGMENTS 000751 6203 6203 /FIELD 0 000752 0200 0200 /200 IS S.A. 000753 0000 0000 /JSW 000754 0000 0000 000755 1020 1020 /20000-21777 000756 0000 0000 /10000-17577 000757 3710 3710 000760 0000 0000 /00000-07577 000761 3700 3700 /GOES INTO WORDS 200-377 OF BLOCK 37 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 19 000774 0003 000775 0002 000776 0001 000777 0000 1000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 20 /LOAD A 1- OR 2-PAGE HANDLER INTO BUFFER /USE IT TO ABSLD 001000 0000 SETUP, 0 001001 1134 TAD [NAME1 001002 3257 DCA FILPTR /POINT TO FILENAME AREA 001003 1377 TAD (BUFFER+1 /LOAD 2 PAGE HANDLER INTO 'BUFFER' 001004 3233 DCA DRIVER /SET UP ASSIGN DEVICE HANDLER 001005 4566 JMS I [GNAME /GET DEVICE NAME 001006 1024 TAD NAME1 001007 7650 SNA CLA 001010 5600 JMP I SETUP /NO ARG 001011 2200 ISZ SETUP 001012 1776 TAD I (RETSW 001013 7640 SZA CLA 001014 5775 JMP I (BLDLOD /WHEN LOADING STANDALONE, USE INTERNAL HANDLERS 001015 1021 TAD CHAR 001016 1133 TAD [-": 001017 7640 SZA CLA 001020 5774 JMP I (SETDSK /USE 'DSK ' IF NO DEVICE GIVEN 001021 1024 TAD NAME1 001022 3231 DCA DVNM1 001023 1025 TAD NAME2 001024 3232 DCA DVNM1+1 /LOOKUP DEVICE NAME 001025 4773 GETU, JMS I (GETUSR 001026 6212 CIF 10 001027 4532 JMS I [200 /FETCH HANDLER 001030 0001 1 SUBLUP, 001031 0000 DVNM1, 0 LODTMP, 001032 0000 DVNUM, 0 /NAME GOES IN HERE 001033 0000 DRIVER, 0 001034 5772 JMP I (KICKM /NO DEVICE. RELEASE MONITOR 001035 1021 TAD CHAR 001036 7640 SZA CLA 001037 4566 JMS I [GNAME /PICK UP FILE NAME 001040 1232 TAD DVNM1+1 /DEVICE NUMBER 001041 4771 JMS I (DTYPE /SEE IF FILE STRUCTURED 001042 1024 TAD NAME1 /IF FILE STRUCTURED WITH NO NAME 001043 7650 SNA CLA /IT IS AN ERROR 001044 5770 JMP I (NMER /V3C 001045 1027 TAD NAME4 /SAVE ORIGINAL EXTENSION 001046 3022 DCA TEMP 001047 1027 TAD NAME4 001050 7450 SNA /IF NULL 001051 1367 TAD (0216 /TRY .BN FIRST 001052 3027 TRYAGN, DCA NAME4 001053 1232 TAD DVNUM /GET DEVICE NUMBER 001054 6212 CIF 10 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 20-1 001055 4532 JMS I [200 /DO LOOKUP OF FILENAME 001056 0002 2 001057 0024 FILPTR, NAME1 001060 0000 0 001061 5353 JMP LDEXT /DIDN'T FIND FILE. DO SOMETHING 001062 6212 CIF 10 001063 4532 JMS I [200 /KICK OUT MONITOR 001064 0011 11 001065 1233 TAD DRIVER 001066 3531 LOADIN, DCA I [DVICE /ENTRY POINT OF HANDLER 001067 4766 JMS I (IOPEN /IF HERE, IT WILL FIT 001070 5600 JMP I SETUP /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 21 001071 4200 LOAD, JMS SETUP /SET UP FOR INPUT 001072 5530 JMP I [NODEV /NO LOAD DEVICE 001073 7344 STA CLL RAL /-2 DO A HANDLER LOAD 001074 6223 CIF CDF 20 /OFF TO FIELD 2 001075 4765 JMS I (LDABS 001076 5527 JMP I [BADLOD /BAD 001077 1430 TAD I TABLMT /SEE IF HEADER INFORMATION IS OK 001100 7500 SMA 001101 5527 JMP I [BADLOD 001102 1364 TAD (20 /ALLOW 16 HANDLERS/BINARY 001103 7710 SPA CLA 001104 5526 JMP I [BADINP /TOO MANY 001105 1430 TAD I TABLMT 001106 3232 DCA LODTMP /# OF LOOPS TO EXECUTE 001107 1030 TAD TABLMT 001110 1125 TAD [PAGRES+1 /POINT TO FIRST 'PAGRES' WORD 001111 3352 DCA HDPTR /GO THERE FOR DESCRIPTORS 001112 1032 TAD HNDPTR 001113 4524 JMS I [ROTL 001114 3022 DCA TEMP /PAGE OF RESIDENCE 001115 1022 PGLUP, TAD TEMP 001116 3752 DCA I HDPTR /INSERT PAGE OF RESIDENCE 001117 1352 TAD HDPTR 001120 1143 TAD [HDRSIZ 001121 3352 DCA HDPTR 001122 2232 ISZ LODTMP 001123 5315 JMP PGLUP 001124 1123 TAD [2-HDRSIZ 001125 1352 TAD HDPTR 001126 3352 DCA HDPTR /POINT TO AFTER DESCRIPTORS 001127 1352 TAD HDPTR 001130 7041 CIA 001131 1763 TAD I (NEWLIM 001132 7650 SNA CLA /AT END? 001133 5762 JMP I (OK /YES 001134 1752 TAD I HDPTR /NO, MAYBE A BOOTSTRAP RECORD 001135 7100 CLL 001136 1132 TAD [200 001137 7620 SNL CLA 001140 5527 JMP I [BADLOD /NO 001141 1752 TAD I HDPTR /MAYBE 001142 7041 CIA 001143 7001 IAC /OVER COUNT 001144 1352 TAD HDPTR 001145 7041 CIA 001146 1763 TAD I (NEWLIM 001147 7640 SZA CLA 001150 5527 JMP I [BADLOD /NO 001151 5762 JMP I (OK /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 22 001152 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 001153 1022 LDEXT, TAD TEMP /DIDN'T FIND FILE 001154 7640 SZA CLA 001155 5772 JMP I (KICKM /NO RESORT 001156 2022 ISZ TEMP 001157 5252 JMP TRYAGN /TRY NULL EXTENSION 001162 3615 001163 3614 001164 0020 001165 0400 001166 3635 001167 0216 001170 3631 001171 2144 001172 1520 001173 1524 001174 1513 001175 1534 001176 5165 001177 5401 1200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 24 001200 4777 REPLACE,JMS I (DEL /DELETE PERMANENT NAME SPECIFIED NEXT 001201 1021 TAD CHAR 001202 1240 TAD MEQ 001203 7640 SZA CLA /AFTER ALL DELETIONS, MUST FIND A "=" 001204 5522 JMP I [SYNTAX /IF NOT, WARN THE GUY 001205 4231 JMS INS /IF FOUND IT, NOW PERFORM INSERTIONS 001206 5536 JMP I [CONFIG /THE GUY HAS BEEN HUMORED 001207 4231 INSERT, JMS INS 001210 1021 TSTEOL, TAD CHAR /THERE SHOULDN'T BE ANYTHING AFTER EOC 001211 7650 SNA CLA 001212 5536 JMP I [CONFIG /THERE WASN'T 001213 5522 JMP I [SYNTAX /WARN BLOKE ABOUT EXTRA STUFF 001214 4777 DELETE, JMS I (DEL /DELETE PERMANENT NAMES SPECIFIED 001215 5210 JMP TSTEOL 001216 4231 SYSTEM, JMS INS /SYS IS SAME AS INSERT 001217 4562 GET 001220 0005 SYSBIT 001221 7006 RTL 001222 7730 SPA SZL CLA /BUT SYSBIT OR CORES SHOULD BE ON 001223 5210 JMP TSTEOL /JUST TO HUMOR IT'S NAME 001224 4537 TWOSYS, JMS I [PRWD /AND FOR COMPATIBILITY REASONS 001225 7723 TEXT /?SYS/ 001226 3123 001227 0000 001230 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 25 001231 0000 INS, 0 001232 1376 TAD (STL RAR 001233 3775 DCA I (ACTION /SET 'ACTION' FOR INSERTIONS 001234 4521 JMS I [TSTNAM /LOOK FOR A NAME 001235 4520 JMS I [GRPNAM /GET GROUP NAME 001236 4336 JMS SAVNAM 001237 4565 JMS I [TEST 001240 7503 MEQ, -"=;ACT 001241 1267 001242 7524 -",;INSNAM 001243 1251 001244 7506 -":;INSNAM 001245 1251 001246 4000 4000;ACT 001247 1267 001250 0000 0 001251 4521 INSNAM, JMS I [TSTNAM /GRAB A NAME 001252 4517 INSGN, JMS I [BIGNAM /GET PERMANENT NAME WITH SPECIFIED GROUP NAME 001253 4562 GET 001254 0000 GRPNM1 001255 7041 CIA 001256 1002 TAD SAV1 001257 7640 SZA CLA 001260 5516 JMP I [NFOUND /MAKE SURE PERMANENT NAME FOUND 001261 4562 GET /HAS GROUP NAME PREVIOUSLY SPECIFIED 001262 0001 GRPNM2 001263 7041 CIA 001264 1003 TAD SAV2 001265 7640 SZA CLA 001266 5516 JMP I [NFOUND 001267 4774 ACT, JMS I (SETACT /SET ACTIVE BIT 001270 4565 COM, JMS I [TEST 001271 7523 -"-;HYPH 001272 1344 001273 7524 -",;INSNAM 001274 1251 001275 7503 -"=;INPLAT 001276 1301 001277 0000 0 001300 5631 JMP I INS /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 26 001301 4515 INPLAT, JMS I [GETNUM /AN "=" 001302 5522 JMP I [SYNTAX 001303 1031 TAD SIZE 001304 7650 SNA CLA 001305 5545 JMP I [BADARG /=0 ILLEGAL 001306 4562 GET 001307 0004 MAXPLT 001310 0125 AND [7 /GET MAXIMUM # OF PLATTERS ALLOWED 001311 7450 SNA 001312 7001 IAC /0 MEANT 1 001313 7140 CMA CLL 001314 1031 TAD SIZE /COMPARE WITH USER'S REQUEST 001315 7630 SZL CLA /IS HIS REQUEST OKAY? 001316 5331 JMP BADPLT /REQUEST-SHMEST. TOO MANY PLATTERS 001317 1031 TAD SIZE 001320 4514 JMS I [ROTR 001321 3031 DCA SIZE 001322 4562 GET 001323 0006 PLATNUM 001324 0373 AND (6177 001325 1031 TAD SIZE /STORE AWAY HIS STATED NUMBER OF PLATTERS 001326 4563 PUT /FOR FUTURE USE BY 'BOOT' 001327 0006 PLATNUM 001330 5270 JMP COM /REJOIN PROCESSING 001331 4537 BADPLT, JMS I [PRWD 001332 7720 TEXT /?PLAT/ 001333 1401 001334 2400 001335 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 27 001336 0000 SAVNAM, 0 001337 1024 TAD NAME1 001340 3002 DCA SAV1 /SAVE GROUP NAME 001341 1025 TAD NAME2 001342 3003 DCA SAV2 001343 5736 JMP I SAVNAM 001344 1025 HYPH, TAD NAME2 001345 0113 AND [77 001346 7041 CIA 001347 3360 DCA DETEM 001350 4550 GETCHR 001351 0113 AND [77 001352 1360 TAD DETEM /GET CHAR AFTER HYPEN 001353 7650 SNA CLA /REACHED IT YET? 001354 5361 JMP IGET /YES, WELL TRY FOR MORE STUFF 001355 4547 BAKCHR /NO, PUT IT BACK FOR FUTURE USE 001356 2025 ISZ NAME2 /FORM NEXT SEQUENTIAL NAME 001357 5252 JMP INSGN /GO INSERT IT /DO WE REALLY HAVE TO START SEARCH AT CURRENT DESCR? 001360 0000 DETEM, 0 001361 4550 IGET, GETCHR 001362 3021 DCA CHAR 001363 5270 JMP COM 001364 4537 NODEV, JMS I [PRWD 001365 7704 TEXT /?DEVICE/ 001366 0526 001367 1103 001370 0500 001371 5536 JMP I [CONFIG 001373 6177 001374 1400 001375 1404 001376 7130 001377 1410 1400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 28 INTEM, 001400 0000 SETACT, 0 001401 4562 GET 001402 0006 ACTIVE /GET ACTIVATION BIT 001403 7004 RAL 001404 7130 ACTION, STL RAR /ACTIVATE IT (SET TO 'CLL RAR' TO DEACT) 001405 4563 PUT 001406 0006 ACTIVE /RESTORE 001407 5600 JMP I SETACT 001410 0000 DEL, 0 001411 1377 TAD (CLL RAR 001412 3204 DCA ACTION 001413 4521 DELNAM, JMS I [TSTNAM /PARSE OFF A NAME 001414 4512 DELGN, JMS I [ACTNAM /FIND IT AS AN ACTIVE PERMANENT NAME 001415 4200 JMS SETACT /DEACTIVATE IT 001416 4562 GET 001417 0006 PLATNUM 001420 0111 AND [6177 /SET # OF PLATTERS TO 0 001421 4563 PUT 001422 0006 PLATNUM 001423 4565 DCOM, JMS I [TEST 001424 7523 -"-;DHYPH 001425 1432 001426 7524 -",;DELNAM 001427 1413 001430 0000 0 001431 5610 JMP I DEL 001432 1025 DHYPH, TAD NAME2 001433 0113 AND [77 001434 7041 CIA 001435 3200 DCA INTEM 001436 4550 GETCHR 001437 0113 AND [77 001440 1200 TAD INTEM 001441 7650 SNA CLA /REACHED FINAL NAME? 001442 5247 JMP DGET /YES 001443 4547 BAKCHR /NO, PUT FINAL LETTER BACK 001444 2025 ISZ NAME2 /YES, BUMP TO NEXT NAME 001445 0423 L0423, 423 001446 5214 JMP DELGN /DELETE NEXT ONE IN SUCCESSION /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 29 001447 4550 DGET, GETCHR 001450 3021 DCA CHAR 001451 5223 JMP DCOM /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 30 /DSK=ACTIVE PERMANENT NAME /DSK=GROUPNAME:PERMANENT NAME /DSK=<CR> MEANS NO DSK SPECIFIED, USE 'SYS' /JUST REMEMBERS NAME (NOTHING ELSE) 001452 4566 DSK, JMS I [GNAME /GET A NAME 001453 1024 TAD NAME1 001454 7650 SNA CLA 001455 5301 JMP NODSK 001456 1021 TAD CHAR 001457 7450 SNA 001460 5303 JMP NOCOL 001461 1133 TAD [-": 001462 7640 SZA CLA /IS IT FOLLOWED BY A ":"? 001463 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 001464 1024 TAD NAME1 /SAVE IT 001465 3035 DCA DSKG1 001466 1025 TAD NAME2 001467 3036 DCA DSKG2 001470 4521 JMS I [TSTNAM /GET PERMANENT NAME 001471 1024 PN, TAD NAME1 001472 3037 DCA DSKP1 /DON'T WORRY NOW IF IT'S AROUND 001473 1025 TAD NAME2 001474 3040 DCA DSKP2 001475 1021 TAD CHAR 001476 7640 SZA CLA 001477 5522 JMP I [SYNTAX 001500 5536 JMP I [CONFIG 001501 3035 NODSK, DCA DSKG1 /FIRST WORD 0 MEANS NONE SPECIFIED 001502 5536 JMP I [CONFIG 001503 4512 NOCOL, JMS I [ACTNAM /IT MUST BE AN ACTIVE HANDLER 001504 4562 GET 001505 0000 GRPNM1 001506 3035 DCA DSKG1 001507 4562 GET 001510 0001 GRPNM2 001511 3036 DCA DSKG2 001512 5271 JMP PN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 31 001513 1245 SETDSK, TAD L0423 /DS 001514 3776 DCA I (DVNM1 001515 1375 TAD (1300 /K 001516 3774 DCA I (DVNM1+1 001517 5773 JMP I (GETU 001520 6212 KICKM, CIF 10 /RELEASE MONITOR AND RELOAD 001521 4532 JMS I [200 /OUR DEVICES 001522 0011 11 001523 5516 JMP I [NFOUND 001524 0000 GETUSR, 0 001525 6212 CIF 10 001526 4510 JMS I [7700 /LOCK IN MONITOR 001527 0010 10 001530 6212 CIF 10 /RESET RESIDENT HANDLER TABLE 001531 4532 JMS I [200 001532 0013 13 001533 5724 JMP I GETUSR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 32 / CODE FOR USING INTERNAL HANDLERS ON STANDALONE LOAD: 001534 3772 BLDLOD, DCA I (FILPTR /LOAD DEV 001535 4512 JMS I [ACTNAM /MUST BE ACTIVE 001536 4507 JMS I [GETPG 001537 3343 DCA HNDLOK /LOCATION OF HANDLER 001540 1160 TAD [-400 001541 4506 JMS I [MOVE 001542 6211 CDF 10 001543 7402 HNDLOK, HLT 001544 6201 CDF 0 001545 5400 PBUFFER,BUFFER 001546 4562 GET 001547 0004 DCB 001550 3356 DCA BLDCB 001551 4562 GET 001552 0005 ENTPT 001553 0105 AND [177 001554 1345 TAD PBUFFER /GET ENTRY POINT OF HANDLER 001555 5771 JMP I (LOADIN 001556 0000 BLDCB, 0 /CONTAINS DCB OF CURRENT LOAD HANDLER 001571 1066 001572 1057 001573 1025 001574 1032 001575 1300 001576 1031 001577 7110 1600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 33 001600 0000 GETPG, 0 001601 4562 GET 001602 0006 PAGRES 001603 4514 JMS I [ROTR 001604 0177 AND [7600 001605 5600 JMP I GETPG /FORMAT: NAME OLDNAME=NEWNAME 001606 4363 NAME, JMS TSTNAM /SEE IF ARGUMENT SUPPLIED /SEARCH PERMANENT TABLES 001607 4512 JMS I [ACTNAM /GET ACTIVE PERMANENT NAME DESCRIPTOR 001610 1021 TAD CHAR 001611 1304 TAD MEQL /CHECK FOR = 001612 7640 SZA CLA 001613 5545 JMP I [BADARG 001614 4363 JMS TSTNAM /GET NEW DEVICE NAME 001615 1024 TAD NAME1 /REPLACE THE NAME 001616 4563 PUT 001617 0002 PRMNM1 001620 1025 TAD NAME2 001621 4563 PUT 001622 0003 PRMNM2 001623 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 34 001624 7201 EXAMINE,CLA IAC 001625 3316 ALTER, DCA XSWTCH 001626 4521 JMS I [TSTNAM /ALTER ALLOWS MODS TO A PARTICULAR 001627 4520 JMS I [GRPNAM /HANDLER'S ACTUAL CODE. /LOOK AT DEVICE TYPE ENTRY 001630 4200 JMS GETPG /GET PAGE OF RESIDENCE 001631 3272 DCA PAGAD /SAVE IT. 001632 4515 JMS I [GETNUM /GET RELATIVE LOC TO ALTER 001633 5522 JMP I [SYNTAX /NO NUMBER 001634 4562 GET 001635 0005 P2PAG, TWOPAG /IS THIS A 2-PAGE HANDLER? 001636 7710 SPA CLA 001637 1177 TAD [7600 001640 1177 TAD [7600 /ALLOW 200 OR 400 MAXIMUM 001641 7100 CLL 001642 1031 TAD SIZE /IS THE # TO ALTER TOO LARGE? 001643 7630 SZL CLA 001644 5545 JMP I [BADARG /I GUESS IT IS 001645 1031 TAD SIZE 001646 1272 TAD PAGAD /GET ABSOLUTE LOCATION 001647 3272 DCA PAGAD 001650 1316 TAD XSWTCH 001651 7640 SZA CLA /EXAMINE OR ALTER? 001652 5331 JMP EXAM /EXAMINE 001653 1021 TAD CHAR /ALTER 001654 7640 SZA CLA /CR? 001655 5264 JMP GETVAL /NO 001656 4333 JMS EXAMSB /YES, GIVE GUY OLD VALUE FIRST 001657 1104 ODTL, TAD ["/ /ODT LIKE 001660 4572 JMS I [TTYOUT 001661 1110 TAD [-100 001662 4567 JMS I [GTEXT 001663 5257 JMP ODTL 001664 4515 GETVAL, JMS I [GETNUM /GET NEW CONTENTS 001665 5777 JMP I (TSTEOL /NO NUMBER 001666 1031 TAD SIZE 001667 6211 CDF 10 001670 3672 DCA I PAGAD /REPLACE THAT LOC. 001671 5536 JMP I [CONFIG /AND GET OUT 001672 0000 PAGAD, 0 /ALTER GROUPNAME,LOC=NEWVALUE /ALTER GROUPNAME,LOC /EXAMINE GROUPNAME,LOC /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 35 /SIZE ACTNAM /SIZE ACTNAM=VALUE /DCB ACTNAM /DCB ACTNAM=VALUE /CTL ACTNAM /CTL ACTNAM=VALUE 001673 1376 SIZCM, TAD (3 /SIZE COMMAND V3C 001674 1161 DCBCM, TAD [-1 /EXAMINE DCB WORD 001675 1235 CTLCM, TAD P2PAG /EXAMINE CONTROL WORD 001676 3316 DCA PUTAT 001677 1316 TAD PUTAT 001700 3321 DCA LOOKAT 001701 4521 JMS I [TSTNAM /GET A NAME 001702 4512 JMS I [ACTNAM /IT MUST BE ACTIVE 001703 4565 JMS I [TEST 001704 7503 MEQL, -"=;INPDCB 001705 1712 001706 4000 4000;EXAMDCB 001707 1720 001710 0000 0 001711 5522 JMP I [SYNTAX 001712 4515 INPDCB, JMS I [GETNUM 001713 5536 JMP I [CONFIG /IGNORE = NOTHING 001714 1031 TAD SIZE 001715 4563 PUT XSWTCH, /0 MEANS ALTER, 1 MEANS EXAMINE 001716 0004 PUTAT, DCB 001717 5536 JMP I [CONFIG /THE USER LIVES DANGEROUSLY 001720 4562 EXAMDCB,GET 001721 0004 LOOKAT, DCB 001722 4341 JMS PUTNUM 001723 1104 TAD ["/ 001724 4572 JMS I [TTYOUT 001725 1110 TAD [-100 001726 4567 JMS I [GTEXT 001727 5320 JMP EXAMDCB 001730 5312 JMP INPDCB /NOW PARSE OFF THE REPLY /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 36 001731 4333 EXAM, JMS EXAMSB 001732 5536 JMP I [CONFIG 001733 0000 EXAMSB, 0 001734 6211 CDF 10 001735 1672 TAD I PAGAD /GET CURRENT CONTENTS 001736 6201 CDF 0 001737 4341 JMS PUTNUM /PRINT IT 001740 5733 JMP I EXAMSB 001741 0000 PUTNUM, 0 /PRINT AN OCTAL NUMBER 001742 3362 DCA PTM 001743 1103 TAD [-4 /4 DIGITS 001744 3363 DCA PKNT 001745 1362 PLOOP, TAD PTM 001746 7006 RTL 001747 7006 RTL 001750 0125 AND [7 001751 1375 TAD (60 001752 4572 JMS I [TTYOUT 001753 1362 TAD PTM 001754 7006 RTL 001755 7004 RAL 001756 3362 DCA PTM 001757 2363 ISZ PKNT 001760 5345 JMP PLOOP 001761 5741 JMP I PUTNUM 001762 0000 PTM, 0 PKNT, 001763 0000 TSTNAM, 0 001764 4566 JMS I [GNAME /COLLECT NAME 001765 1024 TAD NAME1 /IF NO NAME FOUND, GIVE ERROR 001766 7640 SZA CLA 001767 5763 JMP I TSTNAM 001770 4537 NAMERR, JMS I [PRWD 001771 7716 TEXT /?NAME/ 001772 0115 001773 0500 001774 5536 JMP I [CONFIG 001775 0060 001776 0003 001777 1210 2000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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, 002000 7240 PRINT, STA 002001 3042 DCA OLDPAG /SET ILLEGAL OLD PAGE 002002 4542 INIT 002003 2777 ISZ I (LINEUP /MAKE THINGS LINE UP 002004 4541 PRLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 002005 4540 ADVBOT /ADVANCE PAST A BOOTSTRAP (IF ANY) 002006 5246 JMP DONE /ALL DONE 002007 4507 JMS I [GETPG /GET PAGE OF NEW HANDLER 002010 3041 DCA NEWPAG 002011 1041 TAD NEWPAG 002012 7041 CIA 002013 1042 TAD OLDPAG /COMPARE WITH LAST HANDLER'S PAGE 002014 7650 SNA CLA /SAME? 002015 5224 JMP PRTPER /YES 002016 4574 JMS I [CRLF /NO, GO TO NEXT LINE 002017 1041 TAD NEWPAG 002020 3042 DCA OLDPAG 002021 4234 JMS PGNAME 002022 1200 TAD TTY240 002023 4572 JMS I [TTYOUT 002024 4562 PRTPER, GET /GET ACTIVE BIT 002025 0006 ACTIVE 002026 7710 SPA CLA /IS IT ACTIVE? 002027 1376 TAD ("*-STA /YES, PRINT * 002030 1200 TAD TTY240 /NO, PRINT SPACE 002031 4572 JMS I [TTYOUT 002032 4326 JMS PNAME /PRINT PERMANENT NAME 002033 5204 JMP PRLUP 002034 0000 PGNAME, 0 002035 4562 GET 002036 0000 GRPNM1 002037 4775 JMS I (PRINTE /PRINT GROUP NAME 002040 4562 GET 002041 0001 GRPNM2 002042 4775 JMS I (PRINTE 002043 1374 TAD (": 002044 4572 JMS I [TTYOUT 002045 5634 JMP I PGNAME /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 38 002046 3777 DONE, DCA I (LINEUP /NO MORE LINE-UP 002047 1035 TAD DSKG1 002050 7650 SNA CLA 002051 5272 JMP TELCOR 002052 4574 JMS I [CRLF /TELL GUY ABOUT 'DSK' 002053 4574 JMS I [CRLF 002054 4537 JMS I [PRWD 002055 0423 TEXT /DSK=/ 002056 1375 002057 0000 002060 1035 TAD DSKG1 002061 4775 JMS I (PRINTE 002062 1036 TAD DSKG2 002063 4775 JMS I (PRINTE 002064 1374 TAD (": 002065 4572 JMS I [TTYOUT 002066 1037 TAD DSKP1 002067 4775 JMS I (PRINTE 002070 1040 TAD DSKP2 002071 4775 JMS I (PRINTE 002072 1043 TELCOR, TAD NEWCOR 002073 7450 SNA 002074 5536 JMP I [CONFIG /NO SPECIFIED CORE LIMIT 002075 4524 JMS I [ROTL 002076 1373 TAD (6000 002077 3305 DCA CORMSG+3 002100 4574 JMS I [CRLF 002101 4537 JMS I [PRWD 002102 0317 CORMSG, TEXT /CORE= / 002103 2205 002104 7540 002105 0000 002106 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 39 /QUICK PRINT 002107 4542 QLIST, INIT 002110 4541 QLUP, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 002111 4540 ADVBOT /ADVANCE OVER ANY BOOTSTRAP IF NECESSARY 002112 5246 JMP DONE /GO AWAY WHEN NO MORE 002113 4562 GET 002114 0006 ACTIVE /GET ACTIVE BIT 002115 7700 SMA CLA /IS IT ACTIVE? 002116 5310 JMP QLUP /NO, IGNORE IT 002117 4562 GET /YES 002120 0005 SYSBIT 002121 7004 RAL 002122 7710 SPA CLA /IS IT 'SYS'? 002123 4234 JMS PGNAME /YES, PRINT GROUP NAME TOO 002124 4326 JMS PNAME /NO, PRINT PERMANENT NAME ONLY 002125 5310 JMP QLUP DT, 002126 0000 PNAME, 0 002127 4562 GET 002130 0002 PRMNM1 002131 4775 JMS I (PRINTE 002132 4562 GET 002133 0003 PRMNM2 002134 4775 JMS I (PRINTE 002135 1200 TAD TTY240 002136 4572 JMS I [TTYOUT 002137 5726 JMP I PNAME /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 40 7760 DCBTBL=7760 002140 4535 WHAT, JMS I [PRNAME 002141 4537 JMS I [PRWD 002142 7700 TEXT /?/ /FOR WHEN A COMMAND ERROR OCCURS 002143 5536 JMP I [CONFIG 002144 0000 DTYPE, 0 /RETURNS TYPE OF OUTPUT 002145 1372 TAD (DCBTBL-1 002146 3326 DCA DT /ENTRY AC HAD DEVICE # 002147 6211 CDF 10 002150 1726 TAD I DT /IF FILE DEVICE, LINK=0 002151 6201 CDF 0 002152 7044 CMA RAL /ALSO, IF FILE AC=0 ON EXIT 002153 7204 CLA RAL 002154 5744 JMP I DTYPE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 41 002155 0000 WRITCC, 0 002156 1123 TAD [-6 /PUT IN DATA BREAK FILLERS 002157 4506 JMS I [MOVE 002160 6201 CDF 0 002161 2240 K7750 002162 6201 CDF 0 002163 5750 PG7600+200+150 002164 1371 TAD (4200 002165 4502 JMS I [SYS /WRITE NEW CCB 002166 0550 BLDCCB-200 002167 0037 37 002170 5755 JMP I WRITCC 002171 4200 002172 7757 002173 6000 002174 0272 002175 4622 002176 1012 002177 4704 2200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 42 002200 4537 TOOMANY,JMS I [PRWD 002201 7710 TEXT /?HANDLERS/ 002202 0116 002203 0414 002204 0522 002205 2300 002206 5536 JMP I [CONFIG 002207 0000 GOTCHA, 0 002210 3777 DCA I (GOTEM 002211 1607 TAD I GOTCHA 002212 1033 TAD DSCPTR 002213 2207 ISZ GOTCHA 002214 3220 DCA GETEMP 002215 1777 TAD I (GOTEM 002216 3620 DCA I GETEMP 002217 5607 JMP I GOTCHA 002220 0000 GETEMP, 0 /TEMP FOR GOTCHA /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 43 002221 0000 TEST, 0 /TEST CHAR AGAINST ARGUMENTS 002222 1621 TAD I TEST /PICK UP ARGUMENT FROM LIST 002223 7450 SNA /0 TERMINATES 002224 5621 JMP I TEST 002225 1021 TAD CHAR /SEE IF THEY COMPARE = 002226 0376 AND (3777 /COMPARE ONLY LOW ORDER, THUS ALLOWING '4000' TO MEAN '0' 002227 7650 SNA CLA 002230 5234 JMP TSTOVR /THEY DO..DISPATCH TO TABLE 002231 2221 ISZ TEST 002232 2221 ISZ TEST 002233 5222 JMP TEST+1 /THEY DON'T. KEEP GOING 002234 2221 TSTOVR, ISZ TEST 002235 1621 TAD I TEST 002236 3022 DCA TEMP 002237 5422 JMP I TEMP 002240 7750 K7750, 7750 /DATA BREAK FILLERS 002241 7751 7751 002242 7752 7752 002243 7753 7753 002244 7754 7754 002245 7755 7755 002246 0000 SYS, 0 /SAVES A FEW WORDS IN SYSTEM CALLS 002247 3257 DCA SYCTL /SAVE FUNCTION WORD 002250 1646 TAD I SYS 002251 3260 DCA SYBUF /BUFFER BEING USED 002252 2246 ISZ SYS 002253 1646 TAD I SYS 002254 3261 DCA SYREC /RECORD # 002255 2246 ISZ SYS /THERE IS NO ERROR RETURN /IF SWAPER SET AND BOOTDV SET, USE SPECIAL BOOT HANDLER HERE 002256 4673 GO, JMS I SYSENT 002257 0000 SYCTL, 0 002260 0000 SYBUF, 0 002261 0000 SYREC, 0 002262 7610 SKP CLA 002263 5646 JMP I SYS 002264 4537 JMS I [PRWD 002265 2331 TEXT /SYS ERR/ 002266 2340 002267 0522 002270 2200 002271 7402 HLT /IF USER IS DARING, HIT CONTINUE TO RETRY 002272 5256 JMP GO 002273 7607 SYSENT, 7607 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 44 /***************** / / SYS HANDLER IS 2-PAGES LONG IF LOCATION 7612 IS A 3 / /****************** 002274 0000 CLRTBL, 0 002275 1101 TAD [BEGLIN 002276 3010 DCA XR1 002277 1177 TAD [-200 /ZERO OUT 5200-5377 002300 3023 DCA TMP1 002301 3410 DCA I XR1 002302 2023 ISZ TMP1 002303 5301 JMP .-2 002304 5674 JMP I CLRTBL /FOR HANDLER ONLY 002305 0000 ORGLIM, 0 /THIS ROUTINE MAKES CERTAIN THAT 002306 3274 DCA CLRTBL /THE ORIGIN FOR LDABS IS WITHIN 002307 1274 TAD CLRTBL /THE BOUNDS SPECIFIED BY SIZE 002310 1177 TAD [7600 /AND THE CONTENTS OF HNDPTR 002311 7510 SPA 002312 5333 JMP BADORG /ORIGIN BELOW 200 002313 7041 CIA 002314 1167 TAD [400 /IS ORIGIN WITHIN UPPER BOUND? 002315 7710 SPA CLA 002316 5333 JMP BADORG 002317 1274 TAD CLRTBL 002320 1177 TAD [7600 /NOW GIVE BACK RELATIVE BUFFER 002321 1032 TAD HNDPTR /ADDRESS IN FIELD 1 002322 3274 DCA CLRTBL 002323 1274 TAD CLRTBL 002324 0177 AND [7600 002325 1132 TAD [200 002326 7650 SNA CLA 002327 5775 JMP I (NOROOM /CAN'T 'ORIGIN' INTO PAGE 7600 002330 1274 TAD CLRTBL 002331 6223 CIF CDF 20 /CALLED FROM FIELD 2 002332 5705 JMP I ORGLIM 002333 4537 BADORG, JMS I [PRWD 002334 7717 TEXT /?ORIGIN/ 002335 2211 002336 0711 002337 1600 002340 5774 JMP I (OVROUT /SOMEWHERE TEST IF HE GAVE US A 2-PAGE BUT REQ A 1-PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 45 / PG7600_0 / BLOK66_66 / IF OLD SYS WAS 1 PAGE, BLOK66/L_PG7600/L 002341 0000 RECZRO, 0 /READS FIELD 1 CODE, EVEN FOR 12K TD8E 002342 1132 TAD [200 002343 4502 JMS I [SYS /READ RECORD 0 002344 5400 PG7600 002345 0000 0 /THAT NORMALLY CONTAINS FIELD 1 002346 1373 TAD (210 002347 4502 JMS I [SYS /READ RECORD 66 002350 0000 BLOK66 002351 0066 66 002352 1045 TAD FLAG2 /DID PREVIOUS SYSTEM HAVE A 2-PAGE HANDLER? 002353 7640 SZA CLA 002354 1177 TAD [-200 /NO 002355 4506 JMS I [MOVE /YES 002356 6201 CDF 0 002357 5400 PG7600 002360 6211 CDF 10 002361 0000 BLOK66 002362 5741 JMP I RECZRO 002363 4537 NOTNUF, JMS I [PRWD 002364 7703 TEXT /?CORE/ 002365 1722 002366 0500 002367 5536 JMP I [CONFIG 002373 0210 002374 4726 002375 0730 002376 3777 002377 3147 2400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 46 002400 4521 UNLOAD, JMS I [TSTNAM /PULL OFF A NAME 002401 4520 JMS I [GRPNAM /IT HAD BETTER BE A GROUP NAME 002402 4565 JMS I [TEST 002403 7506 -":;UNLPRM 002404 2411 002405 4000 4000;UNLGRP 002406 2423 002407 0000 0 002410 5522 JMP I [SYNTAX 002411 4777 UNLPRM, JMS I (SAVNAM /UNLOAD PARTICULAR HANDLER 002412 4521 UNLNAM, JMS I [TSTNAM 002413 4517 JMS I [BIGNAM 002414 1033 TAD DSCPTR /DELETE A SINGLE DESCRIPTOR 002415 3336 DCA SAVPTR /DON(T DELETE HANDLER 002416 1033 TAD DSCPTR /OR BOOTSTRAP 002417 1143 TAD [HDRSIZ /NO RELOCATION NECESSARY 002420 3334 DCA LSTPTR 002421 1030 TAD TABLMT 002422 5330 JMP NOMOR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 47 002423 4507 UNLGRP, JMS I [GETPG /GET PAGE OF RESIDENCE 002424 3245 DCA TOMOV /START OF HANDLER 002425 4562 GET 002426 0005 TWOPAG /IS IT A 1- OR 2- PAGE HANDLER? 002427 7710 SPA CLA 002430 1132 TAD [200 /2 PAGE 002431 1132 TAD [200 /1 PAGE 002432 3353 DCA UNSIZE 002433 1245 TAD TOMOV /DELETE HANDLER AND MOVE ALL FOLLOWING DOWN 002434 1353 TAD UNSIZE 002435 3243 DCA FROMOV /GET FIRST LOCATION AFTER HANDLER 002436 1032 TAD HNDPTR /GET NEXT FREE LOCATION FOR HANDLER 002437 7041 CIA 002440 1243 TAD FROMOV /GET NUMBER OF LOCS TO MOVE 002441 4506 JMS I [MOVE 002442 6211 CDF 10 002443 0000 FROMOV, 0 002444 6211 CDF 10 002445 0000 TOMOV, 0 /UPDATE POINTERS; SEARCH DESCRIPTORS 002446 1353 TAD UNSIZE /FOR REFS TO MOVED HANDLERS AND DECREASE 002447 7041 CIA /THOSE REFS BY -UNSIZE 002450 1032 TAD HNDPTR 002451 3032 DCA HNDPTR /FREES SOME BUFFER SPACE 002452 1030 TAD TABLMT 002453 3347 DCA OLDTOP /REMEMBER ORIGINAL TOP OF STACK 002454 7240 STA /BACK UP OVER GROUP COUNT 002455 1033 TAD DSCPTR 002456 3336 DCA SAVPTR /REMEMBER THIS LOCATION 002457 1353 TAD UNSIZE 002460 4524 JMS I [ROTL 002461 7041 CIA 002462 3353 DCA UNSIZE 002463 1033 TAD DSCPTR 002464 1143 TAD [HDRSIZ 002465 3334 DCA LSTPTR /'LSTPTR' POINTS TO FIRST DESCRIPTOR BEING MOVED /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 48 /COMPRESS THE DESCRIPTORS ABOVE THIS ONE 002466 4541 ADV, ADVDSC /ADVANCE TO NEXT DESCRIPTOR 002467 5312 JMP BADV /ENCOUNTERED A BOOTSTRAP RECORD 002470 5327 JMP NOMORE /NO MORE, THROUGH 002471 4507 GT, JMS I [GETPG /GET PAGE OF THIS DESCRIPTOR 002472 7141 CLL CIA 002473 1245 TAD TOMOV /COMPARE WITH PAGE OF DELETED HANDLER 002474 7650 SNA CLA 002475 5306 JMP SAMPAG /THEY'RE THE SAME 002476 7430 SZL /THEY'RE NOT THE SAME. WHICH IS HIGHER? 002477 5266 JMP ADV /IT WAS BELOW HANDLER. NO SWEAT. 002500 4562 GET /IT WAS ABOVE HANDLER, HAVE TO ACCOUNT FOR THIS 002501 0006 PAGRES /POINT TO NEW HANDLER LOCATION 002502 1353 TAD UNSIZE 002503 4563 PUT 002504 0006 PAGRES 002505 5266 JMP ADV /CONTINUE 002506 1143 SAMPAG, TAD [HDRSIZ 002507 1033 TAD DSCPTR 002510 3334 DCA LSTPTR /NOTE LOCATION OF NEXT DESCRIPTOR 002511 5266 JMP ADV /ADVANCE PAST BOOTSTRAP OR DELETE IT AS NECESSARY 002512 1033 BADV, TAD DSCPTR 002513 7041 CIA 002514 1334 TAD LSTPTR 002515 7640 SZA CLA /IS THIS BOOT PART OF GROUP BEING UNLOADED? 002516 5324 JMP BDV /NO 002517 1433 TAD I DSCPTR /YES 002520 7041 CIA 002521 7001 IAC 002522 1033 TAD DSCPTR 002523 3334 DCA LSTPTR /SET 'LSTPTR' TO BEGIN OF NEXT DESCRIPTOR 002524 4540 BDV, ADVBOT /ADVANCE OVER BOOTSTRAP 002525 5327 JMP NOMORE /DONE 002526 5271 JMP GT /GO ON TO NEXT DESCRIPTOR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 49 /ALL DESCRIPTORS FOR THE SAME HANDLER ARE CONSECUTIVE /MOVE DOWN DESCRIPTORS 002527 1347 NOMORE, TAD OLDTOP 002530 7041 NOMOR, CIA 002531 1334 TAD LSTPTR /MINUS # OF WORDS TO MOVE 002532 4506 JMS I [MOVE 002533 6201 CDF 0 002534 0000 LSTPTR, 0 /FIRST DESCRIPTOR NOT CONSIDERED 002535 6201 CDF 0 002536 0000 SAVPTR, 0 /POINTS TO INITIAL DESCRIPTOR BEING DELETED 002537 1334 TAD LSTPTR 002540 7041 CIA 002541 1336 TAD SAVPTR /GET NUMBER OF WORDS DELETED 002542 1030 TAD TABLMT 002543 3030 DCA TABLMT /UPDATE TABLMT 002544 3430 DCA I TABLMT /MUST HAVE 0 AT TABLE END SO DON'T THINK IT'S A BOOTSTRAP 002545 4500 JMS I [COMMA 002546 5212 JMP UNLNAM OLDTOP, /ORIGINAL TOP OF DESCRIPTORS 002547 0000 INI, 0 002550 1376 TAD (DSCTAB-HDRSIZ 002551 3033 DCA DSCPTR 002552 5747 JMP I INI 4542 INIT=JMS I [INI /RETURN TO CONFIG IF EOL, OR BACK IN-LINE IF COMMA UNSIZE, 002553 0000 COMMA, 0 002554 1021 TAD CHAR 002555 7450 SNA 002556 5536 JMP I [CONFIG 002557 1375 TAD (-", 002560 7650 SNA CLA 002561 5753 JMP I COMMA 002562 5522 JMP I [SYNTAX /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 50 002563 7640 BOOTQ, SZA CLA /MAY BE OVERLAID 002564 5370 JMP SAMEE 002565 3774 DCA I (DRECT /DON'T TOUCH DIRECTORY IF DIDN'T COPY SYS 002566 4477 SAMF, JMS I [SYSWP 002567 5773 JMP I (BOOT4 002570 4772 SAMEE, JMS I (SYSCPY /OR IF OLD DEV=NEW DEV 002571 5366 JMP SAMF 002572 4037 002573 4462 002574 3505 002575 7524 002576 6370 002577 1336 2600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 51 002600 0000 LOCSYS, 0 002601 1377 TAD (2331 /"SY" 002602 3024 DCA NAME1 002603 1376 TAD (2300 /"S " 002604 3025 DCA NAME2 002605 3026 DCA NAME3 /V3C 002606 3027 DCA NAME4 002607 4512 JMS I [ACTNAM /LOOK UP 'SYS' 002610 5600 JMP I LOCSYS 002611 4537 NOSLOT, JMS I [PRWD 002612 7723 TEXT /?SLOTS/ 002613 1417 002614 2423 002615 0000 002616 5536 JMP I [CONFIG 002617 0000 GOOD, 0 002620 1176 TAD [4207 /RESTORE 7600 TO NORMAL 002621 3577 DCA I [7600 002622 1077 TAD [5000 002623 3476 DCA I [7601 002624 1375 TAD (CDF CIF 002625 3475 DCA I [SA /SET SA=00200 002626 1132 TAD [200 002627 3774 DCA I (SA+1 002630 3773 DCA I (JSW /SET JOB STATUS WORD=0 002631 7240 STA 002632 3772 DCA I (DRECT 002633 7346 CLL STA RTL /-3 002634 1474 TAD I [7612 /FUDGE FOR 12K TD8E 002635 3045 DCA FLAG2 /SET FLAG2=0 IF PREV SYSTEM WAS 2 PAGE 002636 5617 JMP I GOOD /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 52 002637 2263 PACK, ISZ PROTECT /OK TO PACK IT? 002640 5244 JMP PACKOK /YES 002641 7240 STA 002642 3263 DCA PROTECT /INHIBIT OTHER PACKS ALSO 002643 5323 JMP GNAME2 002644 2264 PACKOK, ISZ SWIT /PACK LEFT OR RIGHT 002645 5253 JMP RIGHT 002646 1021 TAD CHAR 002647 0113 AND [77 002650 4524 JMS I [ROTL /ROTATE 6 LEFT 002651 3422 DCA I TEMP /STORE THE CHARACTER 002652 5323 JMP GNAME2 002653 7240 RIGHT, CLA CMA /RESET FLIP FLOP 002654 3264 DCA SWIT 002655 1021 TAD CHAR 002656 0113 AND [77 002657 1422 TAD I TEMP 002660 3422 DCA I TEMP 002661 2022 ISZ TEMP /POINT TO NEXT WORD 002662 5323 JMP GNAME2 002663 0000 PROTECT,0 /-1 MEANS DON'T ACCEPT CHAR, IGNORE IT 002664 0000 SWIT, 0 002665 0000 ACTNAM, 0 /THEY MUST BE ACTIVE 002666 7201 CLA IAC 002667 4771 JMS I (PRMNAM 002670 5665 JMP I ACTNAM /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 53 002671 7240 DOT, CLA CMA 002672 3264 DCA SWIT 002673 1370 TAD (-3 /NOW ALLOW ONLY A 2-CHAR EXTENSION 002674 3263 DCA PROTECT 002675 1367 TAD (NAME4 002676 3022 DCA TEMP 002677 2302 ISZ DOTCNT /HAD WE SEEN A DOT BEFORE? 002700 5350 JMP SYNTAX /YES 002701 5323 JMP GNAME2 /NO 002702 7777 DOTCNT, -1 /-1 MEANS HAVEN'T SEEN A DOT 002703 3021 EOL, DCA CHAR 002704 5705 JMP I GNAME 002705 0000 GNAME, 0 /COLLECT A WORD IN NAME1-NAME4 /LEAVE DELIMITING CHAR IN 'CHAR' 002706 6201 CDF 0 002707 1073 TAD [-7 /MAX 6 CHARACTERS 002710 3263 DCA PROTECT 002711 3024 DCA NAME1 /FIRST CLEAR OUT COLLECTION AREA 002712 3025 DCA NAME2 002713 3026 DCA NAME3 002714 3027 DCA NAME4 002715 7240 CLA CMA 002716 3264 DCA SWIT /L-R PACKING SWITCH 002717 7240 STA 002720 3302 DCA DOTCNT /ALLOW ONLY ONE DOT PER NAME 002721 1366 TAD (NAME1 002722 3022 DCA TEMP 002723 4550 GNAME2, GETCHR 002724 7450 SNA /A 0 ENDS THE SEARCH 002725 5303 JMP EOL 002726 3021 DCA CHAR 002727 1021 TAD CHAR 002730 1365 TAD (-"A /GET ONLY A-Z OR 0-9 002731 7100 CLL 002732 1373 TAD ("A-"Z-1 002733 7620 SNL CLA /IS IT A-Z? 002734 5237 JMP PACK /YES..PACK IT AWAY 002735 1021 TAD CHAR 002736 1364 TAD (-"0 002737 7100 CLL 002740 1363 TAD ("0-"9-1 002741 7620 SNL CLA 002742 5237 JMP PACK /FOUND 0-9 002743 4565 JMS I [TEST /TEST FOR DELIMITING CHARS 002744 7522 -".;DOT /ADVANCE POINTERS 002745 2671 002746 0000 0 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 53-1 002747 5705 JMP I GNAME /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 54 002750 4537 SYNTAX, JMS I [PRWD 002751 7723 TEXT /?SYNTAX/ 002752 3116 002753 2401 002754 3000 002755 5536 JMP I [CONFIG 002756 4537 DSKBAD, JMS I [PRWD 002757 7704 TEXT /?DSK/ 002760 2313 002761 0000 002762 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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) /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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) 002763 7766 002764 7520 002765 7477 002766 0024 002767 0027 002770 7775 002771 0662 002772 3505 002773 7746 002774 7745 002775 6203 002776 2300 002777 2331 3000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 57 003000 1377 BOOT2A, TAD (15 003001 3034 DCA SLOT /START ASSIGNING AT BLOCK SLOT 16 (16-25) 003002 1376 TAD (-17 /ALLOW 16 ACTIVE HANDLERS NOT COUNTING DSK 003003 3020 DCA COUNT 003004 4775 JMS I (CLRTBL /CLEAR OUT IN-CORE TABLES 003005 1374 TAD (SHND+1 /ASSIGN SLOTS, COUNT ACTIVE HANDLERS 003006 3010 DCA XR1 /XR1 POINTS TO SLOT TABLE (DHIT) 003007 1373 TAD (SDCB+1 003010 3011 DCA XR2 /XR2 POINTS TO DCB TABLE 003011 1372 TAD (SNAME+1 003012 3012 DCA XR3 /XR3 POINTS TO PERMANENT DEVICE NAME TABLE 003013 1371 TAD (SBUFF+1 003014 3013 DCA XR4 /XR4 POINTS TO HANDLER BUFFER ADDRESSES 003015 1370 TAD (SRES+1 003016 3014 DCA XR5 /XR5 POINTS TO RESIDENCY TABLE 003017 7201 CLA IAC /?? 003020 3042 DCA OLDPAG /SET 'OLDPAG' TO A RIDICULOUS VALUE 003021 4542 INIT 003022 4541 SLTLUP, ADVDSC /GO TO NEXT DESCRIPTOR 003023 4540 ADVBOT /ADVANCING OVER ANY BOOTSTRAPS 003024 5234 JMP BOOT2X /ALL DONE CREATING INTERNAL COPIES OF TABLES 003025 4562 GET 003026 0006 ACTIVE 003027 7700 SMA CLA /IS IT ACTIVE? 003030 5326 JMP INACT /NO 003031 2020 ISZ COUNT /YES, UPDATE COUNT 003032 5256 JMP ACTIV 003033 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 003034 5766 JMP I (BOOT3 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 58 003035 0000 CHKRES, 0 003036 4507 JMS I [GETPG /GET PAGE OF RESIDENCE 003037 3041 DCA NEWPAG 003040 1041 TAD NEWPAG 003041 1042 TAD OLDPAG 003042 7650 SNA CLA /SAME OR PREVIOUS PAGE? 003043 5635 JMP I CHKRES /YES, SAME PAGE 003044 2235 ISZ CHKRES 003045 4562 GET /NO, A NEW PAGE, NEEDS NEW SLOT, ETC. 003046 0005 CORES 003047 7006 RTL /GET CORES BIT 003050 7710 SPA CLA /IS THIS ALLOWED TO START A NEW GROUP? 003051 5765 JMP I (TWOSYS /NO, IT MAY ONLY BE CORESIDENT WITH SOMETHING EARLIER 003052 1041 TAD NEWPAG /YES 003053 7041 CIA 003054 3042 DCA OLDPAG /GOT NEW 'OLDPAG' 003055 5635 JMP I CHKRES /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 59 003056 4235 ACTIV, JMS CHKRES 003057 5343 JMP SAMPG 003060 4562 GET 003061 0005 SYSBIT 003062 7004 RAL 003063 7710 SPA CLA /IS IT A 'SYS' HANDLER? 003064 5764 JMP I (SETSY /YES 003065 4763 JMS I (GETSLOT /NO 003066 4762 JMS I (SETSLT /SET BLOCK SLOT 003067 3410 DCA I XR1 003070 1041 TAD NEWPAG 003071 3413 HNDLOC, DCA I XR4 /STORE AWAY ADDRESS OF HANDLER (OR 0 IF PREVIOUSLY USED) 003072 4761 JMS I (GETDCB 003073 3411 DCA I XR2 /SET DCB 003074 4562 GET /HASH CODE NAME 003075 0003 PRMNM2 003076 3022 DCA TEMP /SAVE 2ND WORD 003077 4562 GET 003100 0002 PRMNM1 003101 1022 TAD TEMP /ADD 2 WORDS 003102 3023 DCA TMP1 /SAVE SUM 003103 1022 TAD TEMP 003104 7650 SNA CLA /WAS 2ND WORD 0? 003105 5312 JMP NO4C /YES 003106 1023 TAD TMP1 /NO, FORCE BIT 0 ON 003107 7004 RAL 003110 7130 STL RAR 003111 3023 DCA TMP1 003112 1023 NO4C, TAD TMP1 /TAKE CODED NAME 003113 3412 DCA I XR3 /SET PERMANENT NAME TABLE 003114 4562 GET 003115 0005 CORES 003116 7006 RTL /GET CORESIDENT BIT 003117 7700 SMA CLA /IS IT RESIDENT? 003120 5325 JMP NORE /NO 003121 4562 GET /YES 003122 0005 ENTPT /GET RELATIVE ENTRY POINT 003123 0105 AND [177 003124 1177 TAD [7600 /CORESIDENT ENTRY POINTS TO SYS MUST BE ON PAGE 7600 003125 3414 NORE, DCA I XR5 /SET RESIDENCY TABLE 003126 4562 INACT, GET /BUT MAYBE IT'S 'DSK' 003127 0006 DSKBIT 003130 7006 RTL 003131 7620 SNL CLA /IS IT DSK? 003132 5222 JMP SLTLUP /NO, IT'S TO BE IGNORED 003133 4760 JMS I (SLOTDSK /YES ASSIGN 'DSK''S LOCATION SLOT 003134 4562 GET /GET RID OF DSK BIT 003135 0006 DSKBIT 003136 7006 RTL 003137 7112 CLL RTR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 59-1 003140 4563 PUT 003141 0006 DSKBIT 003142 5222 JMP SLTLUP /REITERATE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 60 003143 1034 SAMPG, TAD SLOT /ALREADY HAVE SLOT 003144 4762 JMS I (SETSLT 003145 3410 DCA I XR1 003146 5271 JMP HNDLOC GOTEM, 003147 0000 CORE, 0 003150 1561 TAD I [7777 003151 0072 AND [70 003152 7112 CLL RTR 003153 7010 RAR 003154 7450 SNA 003155 4757 JMS I (RELCOR 003156 5747 JMP I CORE 003157 0326 003160 3262 003161 3242 003162 3331 003163 3200 003164 3311 003165 1224 003166 3506 003167 2200 003170 5261 003171 5361 003172 5341 003173 5301 003174 5321 003175 2274 003176 7761 003177 0015 3200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 62 003200 0000 GETSLOT,0 003201 2034 ISZ SLOT /USE NEXT SLOT 003202 1034 TAD SLOT 003203 1377 TAD (-26 003204 7650 SNA CLA 003205 5776 JMP I (NOSLOT 003206 1034 TAD SLOT 003207 5600 JMP I GETSLOT 003210 2775 BOOT, ISZ I (RETSW /***? 003211 7201 CLA IAC 003212 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) 003213 4773 JMS I (LOCSYS /IN CASE DSK=SYS / JMS I [GETNUM / NOP / TAD SIZE / DCA BOOTDV /CHECK THAT # IS GT 7600 003214 1035 BOOT2, TAD DSKG1 /FIND OUT ABOUT 'DSK' 003215 7450 SNA 003216 5227 JMP GOTD /DSK=SYS 003217 3002 DCA SAV1 003220 1036 TAD DSKG2 003221 3003 DCA SAV2 003222 1037 TAD DSKP1 003223 3024 DCA NAME1 003224 1040 TAD DSKP2 003225 3025 DCA NAME2 003226 4517 JMS I [BIGNAM /FIND IT IN TABLES 003227 4562 GOTD, GET 003230 0004 DCB 003231 7700 SMA CLA /IS IT FILE-STRUCTURED? 003232 5772 JMP I (DSKBAD /NO 003233 4562 GET /YES 003234 0006 DSKBIT 003235 7006 RTL 003236 7132 STL RTR /TURN ON BIT 1 003237 4563 PUT 003240 0006 DSKBIT 003241 5771 JMP I (BOOT2A /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 63 003242 0000 GETDCB, 0 003243 4562 GET 003244 0006 PLATNUM 003245 4524 JMS I [ROTL 003246 0125 AND [7 /GET # OF PLATTERS 003247 7450 SNA 003250 7001 IAC /0 MEANS 1 003251 1161 TAD [-1 /SUBTRACT 1 003252 7106 CLL RTL 003253 7004 RAL /TIMES 10 003254 3023 DCA TMP1 003255 4562 GET 003256 0004 DCB 003257 0071 AND [7770 /MASK OFF USEFUL INFO 003260 1023 TAD TMP1 003261 5642 JMP I GETDCB /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 64 003262 0000 SLOTDSK,0 003263 4770 JMS I (CHKRES 003264 5326 JMP SMPG 003265 1041 TAD NEWPAG 003266 3767 DCA I (SBUFF+1 003267 4200 JMS GETSLOT 003270 4331 JMS SETSLT 003271 3766 B, DCA I (SHND+1 003272 4242 JMS GETDCB 003273 3765 DCA I (SDCB+1 003274 1364 TAD (5723 /'DSK' HASHED 003275 3763 DCA I (SNAME+1 003276 4562 GET 003277 0005 SYSBIT 003300 7006 RTL /SYSBIT TO L, CORES BIT TO AC0 003301 7720 SNL SMA CLA /IS IT EITHER SYS OR CORESIDENT WITH SYS? 003302 5307 JMP NORE2 /NO, SO IT'S NOT CORE-RESIDENT 003303 4562 GET /YES, RESIDENT AT ALL TIMES IN 07600 003304 0005 ENTPT 003305 0105 AND [177 003306 1177 TAD [7600 003307 3762 NORE2, DCA I (SRES+1 003310 5662 JMP I SLOTDSK 003311 1041 SETSY, TAD NEWPAG 003312 3761 DCA I (SBUFF / JMS SETSLT /NO BLOCK SLOT 003313 3760 DCA I (SHND 003314 4242 JMS GETDCB 003315 3757 DCA I (SDCB /SET DCB 003316 1756 TAD I (SNAME 003317 7640 SZA CLA 003320 5755 JMP I (TWOSYS 003321 1354 TAD (4631 /HASH CODING FOR 'SYS' 003322 3756 DCA I (SNAME /CHECK THAT NAME IS 'SYS' 003323 1070 TAD [7607 003324 3753 DCA I (SRES /CHECK REL ENTRY PT IS 7 003325 5752 JMP I (INACT 003326 1034 SMPG, TAD SLOT 003327 4331 JMS SETSLT 003330 5271 JMP B /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 65 003331 0000 SETSLT, 0 003332 7450 SNA 003333 5336 JMP .+3 003334 1067 TAD [-15 003335 4514 JMS I [ROTR 003336 3023 DCA TMP1 003337 4562 GET / 003340 0005 CORES / 003341 7006 RTL / 003342 7730 SPA SZL CLA / 003343 5731 JMP I SETSLT /SYS &CORES HANDLERS GET 0 ENTRY (UNFORTUNATELY) 003344 4562 GET 003345 0005 ENTPT 003346 0351 AND (4177 003347 1023 TAD TMP1 003350 5731 JMP I SETSLT 003351 4177 003352 3126 003353 5260 003354 4631 003355 1224 003356 5340 003357 5300 003360 5320 003361 5360 003362 5261 003363 5341 003364 5723 003365 5301 003366 5321 003367 5361 003370 3035 003371 3000 003372 2756 003373 2600 003374 0302 003375 5165 003376 2611 003377 7752 3400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 003400 1132 BOOTC, TAD [200 /READ FIRST BLOCK OF USR 003401 4502 JMS I [SYS 003402 5400 BUFFER /INTO BUFFER 003403 0013 USRBLK 003404 1466 TAD I [BUFFER+USRNPT /GET POINTER TO NAME TABLE 003405 1077 TAD [BUFFER-400 /ADD IN OFFSET FOR RELOCATION 003406 3223 DCA T1AD /ASSUME BOTH TABLES OCCUR IN THE SECOND 003407 1465 TAD I [BUFFER+USRHPT /BLOCK OF THE USR 003410 1077 TAD [BUFFER-400 003411 3231 DCA T2AD /GET POINTER TO DHIT 003412 1167 TAD [400 /READ BLOCKS 2 AND 3 OF USR 003413 4502 JMS I [SYS /INTO BUFFER,BINARY 003414 5400 BUFFER 003415 0014 USRBLK+1 003416 1064 TAD [-17 003417 4506 JMS I [MOVE /MOVE IN PERMANENT DEVICE NAME TABLE 003420 6201 CDF 0 003421 5340 SNAME 003422 6201 CDF 0 003423 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 003424 1064 MVSHND, TAD [-17 /NOW PUT IN SLOT WORDS (DHIT) 003425 4506 JMS I [MOVE 003426 6201 CDF 0 003427 5320 SHND 003430 6201 CDF 0 TMP2, 003431 7402 T2AD, HLT 003432 1106 TAD [4400 /RE-WRITE USR 003433 4502 JMS I [SYS 003434 5400 L5400, BUFFER 003435 0014 USRBLK+1 003436 5463 JMP I [BOOT5 IFNZRO BUFFER-5400 <ERRRR,XX> /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 67 003437 1305 BOOTD, TAD DRECT /WANT NEW DIRECTORY? 003440 7650 SNACLA, SNA CLA 003441 5246 JMP BOOTE 003442 1234 TAD L5400 /YEP. WRITE ONE 003443 4502 JMS I [SYS 003444 4157 DPROPR 003445 0001 1 003446 1043 BOOTE, TAD NEWCOR 003447 7104 CLL RAL 003450 7006 RTL 003451 1047 TAD SAVHID /V3D SET NEW H.O. DATE WORD 003452 3561 DCA I [7777 /SET UP NEW CORE LIMIT 003453 1357 TAD SYSLOC /MOVE IN FRESH COPY OF SYS HANDLER 003454 1125 TAD [7 003455 3261 DCA SYSL2 003456 1062 TAD [7607-7743-1 003457 4506 JMS I [MOVE 003460 6211 CDF 10 003461 7402 SYSL2, HLT 003462 6201 CDF 0 003463 7607 7607 003464 1177 TAD [-200 /PUT SYS HANDLER INTO REC 0 BUFF. ??? 003465 4506 JMS I [MOVE 003466 6201 CDF 0 003467 7600 7600 003470 6201 CDF 0 003471 5600 PG7600+200 /RESIDENT F0 CODE 003472 4777 JMS I (WRITCC /WRITE CCB AND DATA BREAK FILLERS 003473 1132 TAD [200 003474 1357 TAD SYSLOC /MOVE IN COPY OF 27600 AGAIN 003475 3301 DCA SYSL3 003476 1177 TAD [-200 003477 4506 JMS I [MOVE 003500 6211 CDF 10 003501 7402 SYSL3, HLT 003502 6211 CDF 10 003503 0200 BLOK66+200 003504 5776 JMP I (BOOTF 003505 7777 DRECT, -1 /1 MEANS WRITE A ZERO DIRECTORY /0 MEANS DON'T TOUCH DIRECTORY /-1 MEANS ASK GUY FOR OPTION /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 003506 6211 BOOT3, CDF 10 003507 1775 TAD I (DATEWD 003510 3044 DCA SAVDAT /SAVE TODAY'S DATE FOR FUTURE REFERENCE 003511 1774 TAD I (DCBTBL /GET DCB OF CURRENT SYSTEM 003512 6201 CDF 0 003513 0071 AND [7770 003514 3231 DCA TMP2 003515 4773 JMS I (PATCH /V3D 003516 1361 TAD SAVLOC /DON'T COPY IF DID 'BUILD' 003517 7650 SNA CLA /WAS THE 'BU' COMMAND USED? 003520 1071 TAD [-10 /NO, USE 'SZA CLA' 003521 1240 TAD SNACLA /YES, USE 'SNA CLA' 003522 3772 DCA I (BOOTQ 003523 4330 JMS SETUPSYS 003524 1046 TAD SYSDCB 003525 7041 CIA 003526 1231 TAD TMP2 003527 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 69 003530 0000 SETUPSYS,0 003531 3361 DCA SAVLOC 003532 1361 TAD SAVLOC 003533 3771 DCA I (SAVLC 003534 4770 JMS I (LOCSYS 003535 4507 JMS I [GETPG /GET PAGE OF SYS HANDLER 003536 3357 DCA SYSLOC /PAGE OF START OF NEW SYSTEM HANDLER 003537 4767 JMS I (GETDCB 003540 3046 DCA SYSDCB 003541 4766 JMS I (GETLEN 003542 4562 GET 003543 0005 TWOPAG 003544 3765 DCA I (SYSSIZ 003545 1765 TAD I (SYSSIZ 003546 7700 SMA CLA /IS IT 1- OR 2-PAGES? 003547 5354 JMP ONEPG /GUESS WHAT THIS MEANS [HINT LOOK AT LABEL] 003550 7240 STA 003551 1764 TAD I (AMTCOR 003552 7650 SNA CLA 003553 5763 JMP I (NOTNUF /WE CAN'T RUN IN 8 K 003554 1160 ONEPG, TAD [-400 003555 4506 JMS I [MOVE 003556 6211 CDF 10 003557 7402 SYSLOC, HLT /MOVE SYSTEM HANDLER 003560 6211 CDF 10 003561 0000 SAVLOC, 0 /TO 10000-10377 003562 5730 JMP I SETUPSYS 003563 2363 003564 5067 003565 4273 003566 4132 003567 3242 003570 2600 003571 5070 003572 2563 003573 4552 003574 7760 003575 7666 003576 4322 003577 2155 3600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 70 003600 0000 FIRST, 0 /SUBROUTINE FOR LDABS IN FIELD 2 003601 1213 TAD KLUD 003602 3214 DCA NEWLIM 003603 6223 CIF CDF 20 003604 5600 JMP I FIRST /0: LOADING OS/8 /-2: LOADING HEADER OF HANDLER /-1: LOADING HANDLER 003605 6221 HND, CDF 20 /DATA FIELD 2 003606 1777 TAD I (ORIGIN 003607 3213 DCA KLUD 003610 1030 TAD TABLMT 003611 6223 CIF CDF 20 /BACK TO FIELD 2 003612 5776 JMP I (ORI 003613 0000 KLUD, 0 003614 0000 NEWLIM, 0 /NEW END OF DESCRIPTORS 003615 7240 OK, STA /NOW USE ORIGIN TO TELL US HOW BIG A 003616 6221 CDF 20 003617 1777 TAD I (ORIGIN /HANDLER WAS LOADED 003620 6201 CDF 00 /BACK TO OUR FIELD 003621 0177 AND [7600 003622 1132 TAD [200 /REMEMBER THAT ORIGIN IS ONE GREATER 003623 3032 DCA HNDPTR /THAN ACTUAL LAST LOCATION. /BETTER TO USE 2-PAGE BIT 003624 1214 TAD NEWLIM 003625 3030 DCA TABLMT /SET NEW TABLE TOP 003626 3430 DCA I TABLMT /NEED 0 AT END 003627 4500 JMS I [COMMA 003630 5775 JMP I (LOAD 003631 6212 NMER, CIF 10 /V3C 003632 4532 JMS I [200 /DISMISS USR FROM CORE 003633 0011 11 003634 5774 JMP I (NAMERR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 71 003635 0000 IOPEN, 0 /PREPARE TO READ INPUT 003636 7240 CLA CMA 003637 3773 DCA I (CHCNT 003640 1772 TAD I (JMPX /RESTORE SWITCH 003641 3771 DCA I (JMPGET 003642 1770 TAD I (FILPTR /RESULTS OF LOOKUP 003643 3767 DCA I (RECNO 003644 3766 DCA I (REOF 003645 1365 TAD (CDF 0 003646 6221 CDF 20 /OFF TO FIELD 2 003647 3764 DCA I (XFIELD /SETUP LDABS FOR FIELD 0 003650 6201 CDF 00 /BACK TO FIELD 0 003651 5635 JMP I IOPEN 003652 0000 TTYIN, 0 /TTY INPUT ROUTINE 003653 6031 KSF 003654 5253 JMP .-1 003655 6036 KRB 003656 7450 SNA /LOW LEVEL BLANK IGNORE 003657 5253 JMP TTYIN+1 003660 0105 AND [177 /HANDLE PARITY 003661 1363 TAD (-140 003662 7500 SMA 003663 1061 TAD [-40 003664 1362 TAD (340 003665 3021 DCA CHAR 003666 5652 JMP I TTYIN 003762 0340 003763 7640 003764 0451 003765 6201 003766 5161 003767 5107 003770 1057 003771 5121 003772 5100 003773 5162 003774 1770 003775 1071 003776 0472 003777 0556 4000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 73 4000 *4000 004000 0000 DSCADV, 0 /ADVANCE TO NEXT DESCRIPTOR /RETURN 2 MEANS NO MORE /RETURN 1 MEANS NOW AT BOOTSTRAP BLOCK /RETURN 3 OTHERWISE 004001 1033 TAD DSCPTR 004002 1143 TAD [HDRSIZ 004003 3033 DCA DSCPTR 004004 4777 JMS I (SKPCRD /SKIP A POSSIBLE GROUP COUNT 004005 1433 TAD I DSCPTR 004006 7100 CLL 004007 1132 TAD [200 004010 7630 SZL CLA 004011 5600 JMP I DSCADV /TAKE RETURN1 UPON REACHING BOOTSTRAP RECORD 004012 2200 ISZ DSCADV 004013 1433 TAD I DSCPTR 004014 7640 SZA CLA 004015 2200 ISZ DSCADV /TAKE RETURN 2 IF ADVANCED TO END 004016 5600 JMP I DSCADV /RETURN 1 MEANS NO MORE DESCRIPTORS 004017 0000 BOTADV, 0 004020 1433 TAD I DSCPTR 004021 7041 CIA 004022 7001 IAC /COUNT IS ONE MORE 004023 1033 TAD DSCPTR 004024 3033 DCA DSCPTR /POINT TO BEGIN OF NEXT DESCRIPTOR 004025 4777 JMS I (SKPCRD 004026 1433 TAD I DSCPTR 004027 7100 CLL 004030 1132 TAD [200 004031 7630 SZL CLA 004032 5220 JMP BOTADV+1 /WIERD CASE OF CONSECUTIVE BOOTSTRAPS 004033 1433 TAD I DSCPTR 004034 7640 SZA CLA 004035 2217 ISZ BOTADV /TAKE RETURN1 IF ADVANCED TO END 004036 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 74 004037 0000 SYSCPY, 0 /COPY OS/8 SYSTEM 004040 7240 STA 004041 1776 TAD I (AMTCOR 004042 7640 SZA CLA 004043 1143 TAD [10 /GT 8K 004044 3332 DCA CORBIT 004045 1332 TAD CORBIT 004046 7640 SZA CLA 004047 5256 JMP COP2 004050 4477 JMS I [SYSWP /SWAP IN NEW SYS HANDLER 004051 1375 TAD (7410 004052 4502 JMS I [SYS /SAVE PART OF BUILD TO MAKE A BIG BUFFER 004053 0400 400 /SAVE 400- 004054 0027 27 /SAVE IN BLOCK 27 004055 4477 JMS I [SYSWP /GET BACK ORIGINAL HANDLER 004056 1060 COP2, TAD [4210 004057 4307 JMS COPY /COPY BLOCK 0 004060 0000 0 004061 1374 TAD (5610 004062 4307 JMS COPY /COPY 7-15 004063 0007 7 004064 1060 TAD [4210 004065 4307 JMS COPY /COPY 26 004066 0026 26 004067 1375 TAD (7410 004070 4307 JMS COPY /COPY 51-66 004071 0051 51 004072 1060 TAD [4210 004073 4307 JMS COPY /COPY 67 004074 0067 67 004075 1332 TAD CORBIT 004076 7640 SZA CLA 004077 5306 JMP COP3 004100 4477 JMS I [SYSWP /GET BACK NEW HANDLER FOR A MOMENT 004101 1373 TAD (3410 /RESTORE CORE WE SAVED 004102 4502 JMS I [SYS 004103 0400 400 004104 0027 27 004105 4477 JMS I [SYSWP /RESTORE ORIGINAL SYS HANDLER 004106 5637 COP3, JMP I SYSCPY /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 75 004107 0000 COPY, 0 004110 1332 TAD CORBIT 004111 3023 DCA TMP1 004112 1707 TAD I COPY 004113 3322 DCA COPREC /ARG 1 CONTAINS FIRST BLOCK TO COPY 004114 1322 TAD COPREC 004115 3327 DCA CPREC2 /MAKE TWO COPIES 004116 7130 STL RAR /CONVERT 'WRITE' TO READ 004117 1023 TAD TMP1 004120 4502 JMS I [SYS /READ FROM ORIGINAL DEVICE 004121 0400 400 004122 7402 COPREC, HLT 004123 4477 JMS I [SYSWP 004124 1023 TAD TMP1 004125 4502 JMS I [SYS /WRITE ON NEW DEVICE 004126 0400 400 004127 7402 CPREC2, HLT 004130 4477 JMS I [SYSWP /LEAVE WITH ORIGINAL SYSTEM HANDLER STILL IN SYSTEM 004131 5707 JMP I COPY /FALL THROUGH RECORD NUMBER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 76 CORBIT, 004132 0000 GETLEN, 0 004133 4562 GET /GET LENGTH OF DEVICE 004134 0006 PLATNUM 004135 4524 JMS I [ROTL /GET NUMBER OF PLATTERS 004136 0125 AND [7 004137 7450 SNA 004140 7001 IAC /0 MEANS 1 004141 7041 CIA 004142 3020 DCA COUNT 004143 4562 GET 004144 0007 DEVSIZ 004145 3023 DCA TMP1 004146 1023 SIZLUP, TAD TMP1 004147 7450 SNA 004150 7240 STA /4096 BECOMES 4095 004151 2020 ISZ COUNT 004152 5346 JMP SIZLUP 004153 7041 CIA 004154 1072 TAD [70 /LEAVE ROOM FOR OS/8 004155 3365 DCA DLENGTH 004156 5732 JMP I GETLEN 004157 7777 DPROPR, -1 /INITIAL EMPTY DIRECTORY 004160 0070 MFREE 004161 0000 0 004162 0000 0 004163 7777 -1 004164 0000 0 /1 EMPTY FILE 004165 0000 DLENGT, 0 004166 4537 BADARG, JMS I [PRWD 004167 7701 TEXT /?ARG/ 004170 2207 004171 0000 004172 5536 JMP I [CONFIG 004173 3410 004174 5610 004175 7410 004176 5067 004177 4541 4200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 79 7760 SYDCB=7760 /LOCATION OF SYS,DSK DCB WORDS 004200 4777 BOOT5, JMS I (RECZRO 004201 1064 BOOT6, TAD [-17 004202 4506 JMS I [MOVE /PUT RESIDENT FIELD 1 TABLES INTO 004203 6201 CDF 0 004204 5300 SDCB /FIXED SPOTS 004205 6211 CDF 10 004206 0160 BLOK66+160 004207 1064 TAD [-17 004210 4506 JMS I [MOVE 004211 6201 CDF 0 004212 5260 SRES 004213 6211 CDF 10 004214 0047 BLOK66+47 /COULD SET USER DEVICE NAMES HERE IF DESIRED 004215 4776 BOOT7, JMS I (LOCSYS / TAD SAMSYS / SZA CLA /SAME SYSTEM? / JMP BOOT8 /YES 004216 4541 BLOOK, ADVDSC /SEARCH FOR BOOTSTRAP 004217 5222 JMP FNDBOT /FOUND BOOTSTRAP RECORD AMONGST DESCRIPTORS 004220 7402 HLT /IT WASN'T THERE! 004221 5216 JMP BLOOK /KEEP LOOKING 004222 1033 FNDBOT, TAD DSCPTR 004223 7001 IAC /POINT TO BOOTSTRAP 004224 3230 DCA FROMBO 004225 1433 TAD I DSCPTR /LENGTH OF BOOTSTRAP /CHECK THAT'S IT'S LE 47 LOCS IF 1-PAGE SYSTEM 004226 4506 JMS I [MOVE 004227 6201 CDF 0 004230 7402 FROMBO, HLT 004231 6201 CDF 0 004232 5400 PG7600 004233 1057 TAD [-47 /MOVE FIRST 47 LOCS INTO CD AREA IN 17600 IMAGE 004234 4506 JMS I [MOVE 004235 6201 CDF 0 004236 5400 PG7600 004237 6211 CDF 10 004240 0000 BLOK66 004241 1375 BOOT8, TAD (-16 004242 3020 DCA COUNT 004243 1374 TAD (SBUFF 004244 3010 DCA XR1 004245 1373 TAD (SHND 004246 3011 DCA XR2 004247 1410 DVLOOP, TAD I XR1 004250 7450 SNA 004251 5271 JMP NOHN 004252 3264 DCA DVBUF /LOCATION OF HANDLER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 79-1 004253 1411 TAD I XR2 004254 4524 JMS I [ROTL 004255 0056 AND [17 004256 7450 SNA 004257 5266 JMP CN /NO BLOCK SLOT 004260 1302 TAD L15 /CONVERT TO ACTUAL BLOCK # 004261 3265 DCA DVREC 004262 1060 TAD [4210 004263 4502 JMS I [SYS 004264 7402 DVBUF, HLT 004265 7402 DVREC, HLT 004266 2020 CN, ISZ COUNT 004267 5247 JMP DVLOOP 004270 5772 JMP I (BOOTD 004271 2011 NOHN, ISZ XR2 004272 5266 JMP CN 004273 0000 SYSSIZ, 0 /MINUS MEANS 2-PAGE SYS HANDLER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 80 004274 6032 CTRLC, KCC /CLEAR ^C FLAG 004275 1771 TAD I (SWAPER /DO WE HAVE TO SWITCH? 004276 7640 SZA CLA 004277 4770 JMS I (SYSWP /YES. INSERT OLD HANDLER 004300 5363 JMP END /GO CHECK BATCH BEFORE RETURNING 004301 4515 KORE, JMS I [GETNUM 004302 0015 L15, 15 /NOTHING MEANS 0 004303 1031 TAD SIZE 004304 0071 AND [7770 004305 7640 SZA CLA 004306 5545 JMP I [BADARG /MUST BE BETWEEN 0 AND 7 004307 4767 JMS I (RELCOR /FIND REAL AMOUNT OF CORE 004310 7040 CMA 004311 1031 TAD SIZE 004312 7700 SMA CLA 004313 5766 JMP I (NOTNUF /MUST BE .LE. REAL AMT OF CORE 004314 1021 TAD CHAR 004315 7640 SZA CLA 004316 5522 JMP I [SYNTAX 004317 1031 TAD SIZE 004320 3043 DCA NEWCOR 004321 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 81 / IF NEW SYS IS 1-PAGE, PG7600/L_BLOK66/L / 0_PG7600 / 66_BLOK66 004322 1273 BOOTF, TAD SYSSIZ 004323 7700 SMA CLA /IS NEW SYS TWO PAGES? 004324 1177 TAD [-200 /NO 004325 4506 JMS I [MOVE /YES, NULL MOVE 004326 6211 CDF 10 004327 0000 BLOK66 004330 6201 CDF 0 004331 5400 PG7600 004332 1063 TAD [4200 004333 4502 JMS I [SYS 004334 5400 PG7600 004335 0000 0 004336 1060 TAD [4210 004337 4502 JMS I [SYS 004340 0000 BLOK66 004341 0066 66 004342 7000 BOOTG, NOP / JMS I (RECZRO /SIMULATE BOOTSTRAP 004343 1055 TAD [-131 /MOVE UP FIELD 1 CODE 004344 4506 JMS I [MOVE 004345 6211 CDF 10 004346 0047 BLOK66+47 004347 6211 CDF 10 004350 7647 7600+47 004351 1044 TAD SAVDAT 004352 6211 CDF 10 004353 3765 DCA I (DATEWD 004354 6201 CDF 0 004355 4537 JMS I [PRWD 004356 2331 TEXT /SYS BUILT/ 004357 2340 004360 0225 004361 1114 004362 2400 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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. 004363 4404 END, JMS I BATT /JUMP TO BATCH TEST ROUTINE FOR CLEAN UP 004364 5577 JMP I [7600 /OTHERWISE GO HOME WITH NEW SYSTEM /THIS IS FROM BATCH 004365 7666 004366 2363 004367 0326 004370 5000 004371 5073 004372 3437 004373 5320 004374 5360 004375 7762 004376 2600 004377 2341 4400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 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! 004400 0000 MOVE, 0 004401 3247 DCA MVCT 004402 6214 RDF 004403 1377 TAD (CIF CDF 004404 3235 DCA MOVRET 004405 1600 TAD I MOVE /GET CDF FROM-FLD 004406 3224 DCA MVCDF2 004407 2200 ISZ MOVE /POINT TO FROM-BUF 004410 1600 TAD I MOVE /GET LOC TO MOVE 004411 3313 DCA MVTM1 004412 2200 ISZ MOVE /POINT TO TO-CDF 004413 1600 TAD I MOVE 004414 3226 DCA MVDF /GET CDF TO FIELD OF DESTINATION 004415 2200 ISZ MOVE /POINT TO TARGET AREA 004416 1600 TAD I MOVE 004417 3320 DCA MVTM2 004420 2200 ISZ MOVE /POINT TO RETURN 004421 1247 TAD MVCT 004422 7650 SNA CLA 004423 5235 JMP MOVRET /NOTHING TO MOVE 004424 6201 MVCDF2, CDF 0 /GETS ALTERED TO PICK UP F1 004425 1713 TAD I MVTM1 004426 7402 MVDF, HLT 004427 3720 DCA I MVTM2 004430 2313 ISZ MVTM1 /BUMP POINTERS TO AREAS 004431 2320 ISZ MVTM2 004432 0020 MV20, 20 004433 2247 ISZ MVCT 004434 5224 JMP MVCDF2 004435 7402 MOVRET, HLT /RETURN TO CALLING FIELD 004436 5600 JMP I MOVE 004437 0000 CTCTST, 0 004440 1336 TAD MV7600 /ALLOW FOR PARITY 004441 6034 KRS 004442 1376 TAD (-7603 004443 7650 SNA CLA 004444 6031 KSF /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 83-1 004445 5637 JMP I CTCTST 004446 5775 JMP I (CTRLC /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 84 004447 0000 MVCT, 0 004450 0000 ASSEMB, 0 /ASSEMBLE TWO 6 BIT WORDS 004451 6221 CDF 20 004452 1657 TAD I LWD1 004453 4661 JMS I PROTL 004454 1660 TAD I LWD2 004455 6201 CDF 00 004456 5650 JMP I ASSEMB 004457 0557 LWD1, WD1 004460 0560 LWD2, WD2 004461 4513 PROTL, ROTL /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 85 004462 1774 BOOT4, TAD I (DRECT 004463 7700 SMA CLA 004464 5773 JMP I (BOOTC /HE'S SPECIFIED ABOUT DIRECTORY ZERO 004465 4537 JMS I [PRWD /YES, NO NEED TO COPY SYSTEM 004466 2722 TEXT /WRITE ZERO DIRECT?/ 004467 1124 004470 0540 004471 3205 004472 2217 004473 4004 004474 1122 004475 0503 004476 2477 004477 0000 004500 1071 TAD [-10 /DON'T WANT TO DESTROY PRECIOUS TABLES 004501 4567 JMS I [GTEXT /GET REPLY 004502 5262 JMP BOOT4 004503 4566 JMS I [GNAME 004504 1024 TAD NAME1 004505 0110 AND [7700 004506 1372 TAD (-3100 004507 7650 SNA CLA 004510 7201 CLA IAC /Y 004511 3774 DCA I (DRECT /NO; COULD HAVE SAVED LOCATION BUT I FEEL SAFER THIS WAY 004512 5773 JMP I (BOOTC MVTM1, 004513 0000 ROTL, 0 004514 7106 CLL RTL 004515 7006 RTL 004516 7006 RTL 004517 5713 JMP I ROTL MVTM2, 004520 0000 ROTR, 0 004521 7112 CLL RTR 004522 7012 RTR 004523 7012 RTR 004524 5720 JMP I ROTR /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 86 004525 0000 TTYOUT, 0 /YOU GUESSED IT 004526 3341 DCA TM 004527 1351 TAD ECHOFL 004530 7640 SZA CLA /ARE WE ECHOING? 004531 5725 JMP I TTYOUT /NO 004532 1341 TAD TM /YES 004533 6046 TLS 004534 6041 TSF 004535 5334 JMP .-1 004536 7600 MV7600, 7600 /CLA 004537 4771 JMS I (CTCTST /TEST FOR ^C. 004540 5725 JMP I TTYOUT TM, 004541 0000 SKPCRD, 0 004542 1433 TAD I DSCPTR 004543 7100 CLL 004544 1232 TAD MV20 /A GROUP COUNT MUST BE IN THE RANGE -1 TO -20 004545 7620 SNL CLA 004546 5741 JMP I SKPCRD 004547 2033 ISZ DSCPTR /IT'S A DARN GROUP COUNT, GO PAST IT 004550 5342 JMP SKPCRD+1 /WIERD CASE OF CONSECUTIVE GROUP COUNTS 004551 0000 ECHOFL, 0 /1 MEANS NOT ECHOING, SAW ^O /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 87 004552 0000 PATCH, 0 004553 1561 TAD I [7777 /V3D 004554 0017 AND L600 004555 3047 DCA SAVHID /SAVE HIGH ORDER DATE BITS 004556 5752 JMP I PATCH 004571 4437 004572 4700 004573 3400 004574 3505 004575 4274 004576 0175 004577 6203 4600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 88 004600 0000 PRNAME, 0 /ROUTINE TO PRINT NAME1-NAME4 004601 1377 TAD (NAME1 004602 3022 DCA TEMP 004603 7346 CLL STA RTL /-3 004604 3020 DCA COUNT 004605 1422 PRNM2, TAD I TEMP 004606 4222 JMS PRINTE /TYPE OUT CHARS 004607 2022 ISZ TEMP 004610 2020 ISZ COUNT /EXHAUSTED ALL? 004611 5205 JMP PRNM2 004612 1422 TAD I TEMP 004613 7650 SNA CLA 004614 5600 JMP I PRNAME /NO . IF NO EXTENSION 004615 1376 TAD (". /PRINT '.' 004616 4775 JMS I (TTYOUT 004617 1422 TAD I TEMP 004620 4222 JMS PRINTE 004621 5600 JMP I PRNAME 004622 0000 PRINTE, 0 004623 3272 DCA CHTMP2 004624 1272 TAD CHTMP2 /EXTRACT LEFT HAND SIDE 004625 4774 JMS I (ROTR 004626 4232 JMS PWORD 004627 1272 TAD CHTMP2 004630 4232 JMS PWORD 004631 5622 JMP I PRINTE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 89 004632 0000 PWORD, 0 004633 0373 AND (77 004634 7450 SNA /IF NULL, GET OUT 004635 5254 JMP NULL 004636 3335 DCA PRTM 004637 1372 TAD (200 004640 6034 KRS 004641 1371 TAD (-217 /^O 004642 7650 SNA CLA /STOP ECHOING? 004643 6031 KSF /MAYBE 004644 7410 SKP /NO 004645 5273 JMP CTO /YES 004646 1335 TAD PRTM 004647 1370 TAD (240 004650 0373 AND (77 004651 1370 PRSPAC, TAD (240 004652 4775 JMS I (TTYOUT 004653 5632 JMP I PWORD 004654 1304 NULL, TAD LINEUP 004655 7650 SNA CLA /PRINT SPACE? 004656 5622 JMP I PRINTE /NO 004657 5251 JMP PRSPAC /YES 004660 0000 PRWD, 0 004661 7200 CLA 004662 1660 PRWD2, TAD I PRWD 004663 4222 JMS PRINTE 004664 1660 TAD I PRWD 004665 2260 ISZ PRWD 004666 0373 AND (77 004667 7640 SZA CLA 004670 5262 JMP PRWD2 004671 5660 JMP I PRWD /LEAVE IF LAST WORD ENDED WITH 00 004672 0000 CHTMP2, 0 004673 6032 CTO, KCC 004674 1367 TAD ("^ 004675 4775 JMS I (TTYOUT 004676 1366 TAD ("O 004677 4775 JMS I (TTYOUT 004700 4336 JMS CRLF 004701 7201 CLA IAC 004702 3765 DCA I (ECHOFL 004703 5632 JMP I PWORD 004704 0000 LINEUP, 0 /NON-ZERO MEANS PRINT NULLS AS SPACES /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 90 004705 4764 OVER, JMS I (ASSEMB /EXTENSION OF LDABS. 004706 7041 CIA 004707 6221 CDF 20 /OFF TO FIELD 2 004710 1734 TAD I LCKSUM /CHECKSUM OK? 004711 6201 CDF 00 /BACK TO OUR FIELD 004712 7640 SZA CLA 004713 5316 JMP BADINP /SOORY ABOUT THAT 004714 7201 CLA IAC 004715 5326 JMP OVROUT /SKIP ERROR EXIT 004716 4260 BADINP, JMS PRWD 004717 7702 TEXT /?BAD INPUT/ 004720 0104 004721 4011 004722 1620 004723 2524 004724 0000 004725 4336 JMS CRLF 004726 6221 OVROUT, CDF 20 004727 1763 TAD I (LDABS 004730 6201 CDF 00 004731 3333 DCA OTEMP 004732 5733 JMP I OTEMP 004733 0000 OTEMP, 0 004734 0562 LCKSUM, CKSUM 004735 0000 PRTM, 0 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 91 004736 0000 CRLF, 0 004737 1362 TAD (215 004740 3024 DCA NAME1 004741 4345 JMS PRNT 004742 1361 TAD (212 004743 4775 JMS I (TTYOUT 004744 5736 JMP I CRLF 004745 0000 PRNT, 0 /CHARACTER PRINT ROUTINE 004746 1360 TAD ("\ /IF NOT RUBOUT, AND IF RUBOUT WAS 004747 2355 ISZ RUBFLG /LAST, ECHO \. 004750 7610 SKP CLA 004751 4775 JMS I (TTYOUT 004752 1024 TAD NAME1 004753 4775 JMS I (TTYOUT 004754 5745 JMP I PRNT 004755 0000 RUBFLG, 0 /RUBOUT FLAG 004760 0334 004761 0212 004762 0215 004763 0400 004764 4450 004765 4551 004766 0317 004767 0336 004770 0240 004771 7561 004772 0200 004773 0077 004774 4520 004775 4525 004776 0256 004777 0024 5000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 92 /ASSUMES NEW PROPOSED SYSTEM HANDLER IS IN 10000-10377 /CAN'T DESTROY OS/8, IE. CAN'T USE PG 0 TEMPS 005000 0000 SYSWP, 0 /ROUTINE TO MOVE SYS HANDLER AROUND 005001 2273 ISZ SWAPER /DIDDLE SWAP INDICATOR 005002 7240 CLA CMA /-1 MEANS NEW HANDLER IS IN 005003 3273 DCA SWAPER 005004 7240 STA 005005 1267 TAD AMTCOR 005006 7650 SNA CLA /DO WE HAVE 8K? 005007 5237 JMP SWAPLW /YES, DON'T SWAP WITH FIELD 2 005010 1234 TAD L7600 /NO, CAN'T HURT TO SWAP FIELD 2 005011 3272 DCA OUT 005012 1270 TAD SAVLC 005013 1305 TAD P200 005014 3271 DCA IN 005015 1377 TAD (4-200 005016 3274 DCA STEMP /SWAP ENTIRE PAGE (EXCEPT LAST 4 LOCATIONS) 005017 6211 SWAP3, CDF 10 /SWAP 27600 & 2ND PAGE OF HANDLER 005020 1671 TAD I IN 005021 3321 DCA SYSQ 005022 6221 CDF 20 005023 1672 TAD I OUT 005024 6211 CDF 10 005025 3671 DCA I IN 005026 1321 TAD SYSQ 005027 6221 CDF 20 005030 3672 DCA I OUT 005031 2271 ISZ IN 005032 7400 L7400, 7400 /NOP 005033 2272 ISZ OUT 005034 7600 L7600, 7600 005035 2274 ISZ STEMP 005036 5217 JMP SWAP3 005037 6201 SWAPLW, CDF 0 005040 1376 TAD (7607 005041 3272 DCA OUT /7607 ALWAYS TARGET DESTINATION 005042 1270 TAD SAVLC 005043 1375 TAD (7 005044 3271 DCA IN 005045 1374 TAD (7607-7743-1/ONLY 7607-7743 GETS MOVED 005046 3274 DCA STEMP 005047 6211 SWAP2, CDF 10 005050 1671 TAD I IN 005051 3321 DCA SYSQ /TEMP STORE 005052 6201 CDF 0 005053 1672 TAD I OUT 005054 6211 CDF 10 005055 3671 DCA I IN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 92-1 005056 1321 TAD SYSQ 005057 6201 CDF 0 005060 3672 DCA I OUT 005061 2271 ISZ IN 005062 2272 ISZ OUT 005063 2274 ISZ STEMP 005064 5247 JMP SWAP2 005065 3773 DCA I (SOFSET /V3C 005066 5600 JMP I SYSWP 005067 0001 AMTCOR, 1 /HIGHEST CORE BANK 005070 0000 SAVLC, 0 /MUST BE ABOVE 3577 CHTMP, 005071 0000 IN, 0 /POINTS TO HANDLER AREA AT ONE NAMED SYS 005072 0000 OUT, 0 /POINTS TO 7607 HANDLER 005073 0000 SWAPER, 0 /-1 MEANS NEW HANDLER IN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 93 /MUST BE ABOVE OS/8, NO PAGE 0 LITERALS STEMP, 005074 0000 ICHAR, 0 005075 4772 JMS I (CTCTST 005076 2321 ISZ JMPGET /POINT TO CORRECT CHAR 005077 2362 ISZ CHCNT /NEED WE READ? 005100 5321 JMPX, JMP JMPGET /NOT YET 005101 1361 TAD REOF /YES. DID LAST YIELD EOF? 005102 7640 SZA CLA 005103 5771 JMP I (BADINP /SOMETHING IS WRONG. 005104 4764 RDIN, JMS I DVICE 005105 0200 P200, 0200 /READ INTO FIELD 0 005106 6000 BINBUF, BINARY 005107 0000 RECNO, 0 005110 5347 JMP RERROR /READ ERROR 005111 2307 RECNO2, ISZ RECNO /POINT TO NEXT RECORD 005112 1370 TAD (-601 005113 3362 DCA CHCNT /NEW CHARACTER COUNT 005114 1306 TAD BINBUF 005115 3363 DCA CHPTR 005116 1300 TAD JMPX 005117 3321 DCA JMPGET /RESET JUMP SWITCH 005120 5275 JMP ICHAR+1 SYSQ, 005121 5321 JMPGET, JMP . /IF WE GET CAUGHT HERE, WE KNOW IT 005122 5343 JMP CHAR1 /ASSEMBLE FIRST CHAR 005123 5337 JMP CHAR2 /SECOND CHAR 005124 1300 TAD JMPX /THIRD CHAR HERE 005125 3321 DCA JMPGET /RESET SWITCH 005126 1763 TAD I CHPTR 005127 0232 AND L7400 005130 7112 CLL RTR 005131 7012 RTR 005132 1271 TAD CHTMP /ADD IN THE LAST TEMP STORE 005133 7012 RTR 005134 7012 RTR 005135 2363 ISZ CHPTR /TO NEXT CHAR 005136 5344 JMP GCHCOM 005137 1763 CHAR2, TAD I CHPTR 005140 0232 AND L7400 005141 3271 DCA CHTMP /SAVE FOR THIRD CHAR 005142 2363 ISZ CHPTR 005143 1763 CHAR1, TAD I CHPTR 005144 0367 GCHCOM, AND (377 005145 2274 ISZ ICHAR /PASS UP ERROR RET 005146 5357 JMP TO20 /RETURN 005147 7710 RERROR, SPA CLA /FATAL, OR EOF? 005150 5353 JMP IOERR /FATAL /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 93-1 005151 2361 ISZ REOF /END OF FILE 005152 5311 JMP RECNO2 /BACK TO MAINSTREAM 005153 4766 IOERR, JMS I (PRWD 005154 7711 TEXT \?I/O\ 005155 5717 005156 0000 005157 6223 TO20, CIF CDF 20 /BACK TO FIELD 2 005160 5674 JMP I ICHAR 005161 0000 REOF, 0 005162 0000 CHCNT, 0 005163 0000 CHPTR, 0 005164 0000 DVICE, 0 005165 0000 RETSW, 0 /0 MEANS RAN FROM 0S/8, 1 MEANS RNA STANDALONE 005166 4660 005167 0377 005170 7177 005171 4716 005172 4437 005173 7747 005174 7643 005175 0007 005176 7607 005177 7604 5200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 94 0103 LNLNGT=103 005200 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 005303 6211 BUILD, CDF 10 005304 1454 TAD I [7200 /HAS SPECIAL CODE BEEN OVERLAID BY HANDLERS? 005305 6201 CDF 0 005306 1053 TAD [-1234 005307 7640 SZA CLA 005310 5777 JMP I (NOROOM /YES, TOO BAD / TAD (5601 / DCA I [7600 / TAD (CTCFAK+1 / DCA I (7601 005311 1052 TAD [6600 /SAVE OLD SYSTEM HANDLER IN 16600 005312 4776 JMS I (SETUPSYS / JMS CTCFAK 005313 4537 RDOS8, JMS I [PRWD 005314 1417 TEXT \LOAD OS/8: \ 005315 0104 005316 4017 005317 2357 005320 7072 005321 4000 005322 4347 JMS RD 005323 5313 JMP RDOS8 005324 6213 CIF CDF 10 005325 4775 JMS I (WROS8 005326 4774 JMS I (SYSWP / JMS CTCFAK 005327 4574 RDCD, JMS I [CRLF 005330 4537 JMS I [PRWD 005331 1417 TEXT /LOAD CD: / 005332 0104 005333 4003 005334 0472 005335 4000 005336 3354 DCA DVER 005337 4347 JMS RD 005340 5327 JMP RDCD 005341 6213 CIF CDF 10 005342 4773 JMS I (WRCD 005343 1772 TAD I (RETSW 005344 7650 SNA CLA /NOT IF FROM SCRATCH 005345 4774 JMS I (SYSWP /GET OLD HANDLER IF ANY BACK IN /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 94-1 005346 5536 JMP I [CONFIG /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 95 005347 0000 RD, 0 005350 1061 TAD [-40 005351 4567 JMS I [GTEXT 005352 5747 JMP I RD 005353 4771 JMS I (SETUP 005354 5770 DVER, JMP I (NODEV 005355 4774 JMS I (SYSWP /PUT IN NEW HANDLER 005356 6213 CIF CDF 10 005357 4767 JMS I (SAVE 005360 4774 JMS I (SYSWP 005361 6223 CIF CDF 20 /OFF TO PAGE 2 005362 4567 JMS I [LDABS /PAST HERE PAGE 0 IS GONE 005363 5747 JMP I RD 005364 4774 JMS I (SYSWP 005365 2347 ISZ RD 005366 5747 JMP I RD 005367 7452 005370 1364 005371 1000 005372 5165 005373 7313 005374 5000 005375 7201 005376 3530 005377 0730 5400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 96 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 97 6400 *6400 006400 0000 DSCTAB, ZBLOCK 1200 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 98 /RELIC: 7600 *7600 007600 0000 0 /ONLY LOADED FROM PAPER TAPE. 7777 *7777 007777 0000 0 /SET SOFTWARE CORE SIZE TO 'UNKNOWN' 000052 6600 000053 6544 000054 7200 000055 7647 000056 0017 000057 7731 000060 4210 000061 7740 000062 7643 000063 4200 000064 7761 000065 5437 000066 5436 000067 7763 000070 7607 000071 7770 000072 0070 000073 7771 000074 7612 000075 7744 000076 7601 000077 5000 000100 2553 000101 5200 000102 2246 000103 7774 000104 0257 000105 0177 000106 4400 000107 1600 000110 7700 000111 6177 000112 2665 000113 0077 000114 4520 000115 0523 000116 0717 000117 0704 000120 0650 000121 1763 000122 2750 000123 7772 000124 4513 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 98-1 000125 0007 000126 4716 000127 0673 000130 1364 000131 5164 000132 0200 000133 7506 000134 0024 000135 4600 000136 0215 000137 4660 000140 4017 000141 4000 000142 2547 000143 0010 000144 7540 000145 4166 000146 7000 000147 0566 000150 0563 000151 0100 000152 0336 000153 5177 000154 0334 000155 2601 000156 4745 000157 3652 000160 7400 000161 7777 000162 0306 000163 2207 000164 2140 000165 2221 000166 2705 000167 0400 000170 7675 000171 5073 000172 4525 000173 0244 000174 4736 000175 5165 000176 4207 000177 7600 0001 FIELD 1 0000 *0 010000 0000 0 /FORCE ABSLDR TO LOAD THIS PAGE 0400 *400 010400 0000 ZBLOCK 5400 016000 0000 0 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 99 6600 *6600 6000 RELOC BINARY 016000* 6211 BINPUN, CDF 10 016001* 7200 CLA 016002* 1377 TAD (-400 016003* 6202 CIF 0 016004* 4776 JMS I (MOVE 016005* 6211 CDF 10 016006* 6600 6600 016007* 6201 CDF 0 016010* 6000 BINARY /MOVE ONESELF DOWN 016011* 6203 CIF CDF 0 016012* 5775 JMP I (LDR /EXECUTE IN FIELD 0 016013* 4307 LDR, JMS LEDER /PUNCH 72 FRAMES OF 200 016014* 3331 DCA CHECK /0 CHECKSUM 016015* 1374 TAD (102 016016* 4332 JMS CKSUMM 016017* 4317 JMS PNCH 016020* 4773 STARTB, JMS I (CRLF 016021* 1372 TAD ("* 016022* 4771 JMS I (TTYOUT 016023* 1370 TAD (-100 016024* 4767 JMS I (GTEXT 016025* 5220 JMP STARTB 016026* 4766 JMS I (GETNUM 016027* 5765 JMP I (OVERB 016030* 1031 TAD SIZE 016031* 0364 AND (7770 016032* 7640 SZA CLA 016033* 5220 JMP STARTB 016034* 1031 TAD SIZE 016035* 7106 CLL RTL 016036* 7004 RAL 016037* 3325 DCA FLD 016040* 4766 JMS I (GETNUM /GET LOWER LIMIT 016041* 5220 JMP STARTB 016042* 1031 TAD SIZE 016043* 3326 DCA LIM1 016044* 4766 JMS I (GETNUM /GET UPPER LIMIT 016045* 5220 JMP STARTB 016046* 1031 TAD SIZE 016047* 3327 DCA LIM2 016050* 1327 TAD LIM2 016051* 7040 CMA 016052* 1326 TAD LIM1 016053* 3330 DCA COUNT2 016054* 1325 TAD FLD 016055* 1363 TAD (300 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 99-1 016056* 4317 JMS PNCH 016057* 1325 TAD FLD 016060* 1362 TAD (CDF 0 016061* 3272 DCA BUFLD 016062* 1326 TAD LIM1 016063* 4761 JMS I (ROTR 016064* 0360 AND (77 016065* 1357 TAD (100 016066* 4332 JMS CKSUMM 016067* 1326 TAD LIM1 016070* 0360 AND (77 016071* 4332 JMS CKSUMM 016072* 7402 BUFLD, HLT 016073* 1726 TAD I LIM1 016074* 4761 JMS I (ROTR 016075* 0360 AND (77 016076* 4332 JMS CKSUMM 016077* 1726 TAD I LIM1 016100* 0360 AND (77 016101* 4332 JMS CKSUMM 016102* 2326 ISZ LIM1 016103* 2330 ISZ COUNT2 016104* 5272 JMP BUFLD 016105* 6203 CIF CDF 0 016106* 5220 JMP STARTB /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 100 016107* 0000 LEDER, 0 /PUNCH LEADER/TRAILER 016110* 1356 TAD (-200 016111* 3330 DCA COUNT2 016112* 1355 TAD (200 016113* 4317 JMS PNCH 016114* 2330 ISZ COUNT2 016115* 5312 JMP .-3 016116* 5707 JMP I LEDER 016117* 0000 PNCH, 0 016120* 6026 PLS 016121* 6021 PSF 016122* 5321 JMP .-1 016123* 7200 CLA 016124* 5717 JMP I PNCH 016125* 0000 FLD, 0 016126* 0000 LIM1, 0 016127* 0000 LIM2, 0 016130* 0000 COUNT2, 0 016131* 0000 CHECK, 0 016132* 0000 CKSUMM, 0 016133* 3342 DCA CK1 016134* 1342 TAD CK1 016135* 1331 TAD CHECK 016136* 3331 DCA CHECK 016137* 1342 TAD CK1 016140* 4317 JMS PNCH 016141* 5732 JMP I CKSUMM 016142* 0000 CK1, 0 016155* 0200 016156* 7600 016157* 0100 016160* 0077 016161* 4520 016162* 6201 016163* 0300 016164* 7770 016165* 6200 016166* 0523 016167* 0400 016170* 7700 016171* 4525 016172* 0252 016173* 4736 016174* 0102 016175* 6013 016176* 4400 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 100-1 016177* 7400 6200 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 101 016200* 1233 OVERB, TAD Q300 016201* 4634 JMS I QPNCH /FIELD 0 016202* 1235 TAD Q176 016203* 4636 JMS I QCKSUM 016204* 4636 JMS I QCKSUM /*7600 016205* 1237 TAD Q74 016206* 4636 JMS I QCKSUM 016207* 7326 STL CLA RTL 016210* 4636 JMS I QCKSUM /HALT 016211* 1240 TAD Q177 016212* 1241 TAD Q77 016213* 4636 JMS I QCKSUM /*7777 016214* 4636 JMS I QCKSUM 016215* 4636 JMS I QCKSUM /*0000 016216* 1242 TAD Q102 016217* 4636 JMS I QCKSUM 016220* 4636 JMS I QCKSUM 016221* 1643 TAD I QCHECK 016222* 4644 JMS I QROTR 016223* 0241 AND Q77 016224* 4634 JMS I QPNCH 016225* 1643 TAD I QCHECK 016226* 0241 AND Q77 016227* 4634 JMS I QPNCH 016230* 4645 JMS I QLEDER 016231* 7402 HLT 016232* 5231 JMP .-1 /ALL DONE 016233* 0300 Q300, 300 016234* 6117 QPNCH, PNCH 016235* 0176 Q176, 176 016236* 6132 QCKSUM, CKSUMM 016237* 0074 Q74, 74 016240* 0177 Q177, 177 016241* 0077 Q77, 77 016242* 0102 Q102, 102 016243* 6131 QCHECK, CHECK 016244* 4520 QROTR, ROTR 016245* 6107 QLEDER, LEDER 6400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 102 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 017200 1234 1234 /MAGIC NUMBER WHICH IF NOT HERE, MEANS HANDLERS OVERLAID 017201 0000 WROS8, 0 017202 6202 CIF 0 017203 1307 TAD Z7600 017204 4775 JMS I (MOVE /SAVE CURRENT 7600 017205 6201 CDF 0 017206 7600 7600 017207 6201 CDF 0 017210 7000 7000 /IN 07000 017211 1374 TAD (-7 /MOVE 6600 TO 7600 017212 6202 CIF 0 017213 4775 JMS I (MOVE 017214 6201 CDF 0 017215 6600 6600 017216 6201 CDF 0 017217 7600 7600 017220 1373 TAD (-34 /FINISH MOVING FIELD 0 017221 6202 CIF 0 017222 4775 JMS I (MOVE 017223 6201 CDF 0 017224 6744 6744 017225 6201 CDF 0 017226 7744 7744 017227 6201 CDF 0 017230 1372 TAD (6 /V3D DEV EXT LENGTH OF ABSLDR 017231 1771 TAD I (DLENGTH /FILL IN INITIAL LENGTH 017232 6211 CDF 10 017233 3770 DCA I (DIRLOC+14 /OS8 HAS INITIAL DIRECTORY 017234 6202 CIF 0;WRITE;4200;7400;0;ERR /INITIAL REC.0 017235 4777 017236 4200 017237 7400 017240 0000 017241 4776 017242 6202 CIF 0;WRITE;4200;7400;66;ERR /ALSO WRITE RECORD 66 017243 4777 017244 4200 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 102-1 017245 7400 017246 0066 017247 4776 017250 6202 CIF 0;WRITE;4210;DIRLOC;1;ERR /INITIAL DIRECTORY 017251 4777 017252 4210 017253 3400 017254 0001 017255 4776 017256 6202 CIF 0;WRITE;5000;0;7;ERR /KBM 017257 4777 017260 5000 017261 0000 017262 0007 017263 4776 017264 6202 CIF 0;WRITE;4610;0;13;ERR /USR 017265 4777 017266 4610 017267 0000 017270 0013 017271 4776 017272 6223 CIF CDF 20 /OFF IN FIELD 2 017273 5767 JMP I (BAK 017274 6201 WHER, CDF 0 /RETURN FROM RELOCATED ROUTINES. 017275 1766 TAD I (RETSW 017276 6211 CDF 10 017277 7650 SNA CLA /SCRATCH BUILD? 017300 5765 JMP I (RES76 /NO 017301 1307 TAD Z7600 /YES /MOVE 17600 UP THERE 017302 6202 CIF 0 017303 4775 JMS I (MOVE 017304 6201 CDF 0 017305 7400 7400 017306 6211 CDF 10 017307 7600 Z7600, 7600 017310 4764 JMS I (RESTORE 017311 6203 CIF CDF 0 017312 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 " 017313 0000 WRCD, 0 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 102-2 017314 6202 CIF 0;WRITE;4600;0;51;ERR /CD 017315 4777 017316 4600 017317 0000 017320 0051 017321 4776 017322 6202 CIF 0;WRITE;5011;0;60;ERR /ODT 017323 4777 017324 5011 017325 0000 017326 0060 017327 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. 017330 6202 CIF 0;READ;210;0;64;ERR /GET PART OF ODT WRITTEN 017331 4777 017332 0210 017333 0000 017334 0064 017335 4776 /MOVE LOCATIONS 11600-11663 TO 10000-10063 017336 6202 CIF 0 017337 1363 TAD (-64 017340 4775 JMS I (MOVE 017341 6211 CDF 10 017342 1600 1600 017343 6211 CDF 10 017344 0000 0000 017345 6202 CIF 0;WRITE;4210;0;64;ERR 017346 4777 017347 4210 017350 0000 017351 0064 017352 4776 /END OF ROUTINE TO LOAD BLOCK 64 017353 4764 JMS I (RESTORE 017354 4762 JMS I (CASIT 017355 6203 CIF CDF 0 017356 5713 JMP I WRCD 017362 7517 017363 7714 017364 7434 017365 7477 017366 5165 017367 1000 017370 3414 017371 4165 017372 0006 017373 7744 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 102-3 017374 7771 017375 4400 017376 7507 017377 7607 7400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 103 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 104 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 105 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 106 4777 READ=JMS I (7607 4307 ERR=JMS WRERR /SPECIAL CODE TO CHAIN TO ABSLDR, TO READ IN MCPIP 017400 4776 JMS I (7700 017401 0010 10 /LOCK USR IN CORE 017402 1345 TAD R7600 /ZERO CD AREA 017403 3316 DCA CDPTR 017404 1375 TAD (-47 017405 3317 DCA CDKNT 017406 3716 DCA I CDPTR 017407 2316 ISZ CDPTR 017410 2317 ISZ CDKNT 017411 5206 JMP .-3 017412 7330 STL CLA RAR /ALTMODE 017413 3774 DCA I (7642 017414 4773 JMS I (200 017415 0012 12 /INQUIRE 017416 4503 4503 /ENCODE CSA0 017417 0000 CDN, 0 017420 0000 0 017421 7402 HLT 017422 1217 TAD CDN /TAKE DEVICE NUMBER 017423 3772 DCA I (7617 /STORE DEVICE NUMBER OF CASSETTE 017424 2771 ISZ I (7620 /V3C FORCE BLOCK 1 017425 7201 CLA IAC 017426 6201 CDF 0 /V3D 017427 3770 DCA I (7746 /SET JSW SO CHAIN DOESN'T DO USROUT 017430 6211 CDF 10 017431 4773 JMS I (200 /CHAIN TO ABSLDR 017432 0006 6 017433 0070 70 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 107 017434 0000 RESTORE,0 017435 6202 CIF 0;READ;3701;0;BLDSAV;ERR 017436 4777 017437 3701 017440 0000 017441 0076 017442 4307 017443 6202 CIF 0;READ;3510;0;BLDSAV+20;ERR /RESTORE BUILD 017444 4777 017445 3510 017446 0000 017447 0116 017450 4307 017451 5634 JMP I RESTORE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 108 4777 WRITE=JMS I (7607 4307 ERR=JMS WRERR 017452 0000 SAVE, 0 017453 6201 CDF 0 017454 3767 DCA I (SOFSET 017455 3766 DCA I (SBLOCK 017456 3765 DCA I (DRECT /HAVE TO KEEP DIRECTORY LATER 017457 6211 CDF 10 017460 6202 CIF 0;WRITE;7701;0;BLDSAV;ERR 017461 4777 017462 7701 017463 0000 017464 0076 017465 4307 017466 6202 CIF 0;WRITE;7510;0;BLDSAV+20;ERR 017467 4777 017470 7510 017471 0000 017472 0116 017473 4307 017474 4317 JMS CASIT 017475 6203 CIF CDF 0 017476 5652 JMP I SAVE 017477 1764 RES76, TAD I (Z7600 017500 6202 CIF 0 017501 4763 JMS I (MOVE 017502 6201 CDF 0 017503 7000 7000 /RESTORE OLD PAGE 7600 017504 6201 CDF 0 017505 7600 7600 017506 5764 JMP I (Z7600 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 109 017507 0000 WRERR, 0 /WRITE ERROR 017510 7602 HLT CLA /HIT CONTINUE TO RETRY 017511 1307 TAD WRERR 017512 1362 TAD (-6 017513 3307 DCA WRERR /POINT BACK TO CIF OF CALL 017514 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 017515 0000 CSA, 0 /CASSETTE HANDLER ENTRY PT 017516 0000 CDPTR, 0 CDKNT, 017517 0000 CASIT, 0 017520 6201 CDF 0 017521 1761 TAD I (RECNO 017522 7450 SNA 017523 7201 CLA IAC /IF BLOCK 0, CHANGE TO 1 017524 3761 DCA I (RECNO 017525 1752 TAD I PRETSW 017526 7650 SNA CLA /BUILDING FROM SCRATCH? 017527 5717 JMP I CASIT /NO 017530 1760 TAD I (BLDCB /YES, GET DCB OF LOAD HANDLER 017531 0343 AND L770 017532 1344 TAD M270 /CASSETTE DEVICE CODE=27 017533 7640 SZA CLA 017534 5717 JMP I CASIT /NOT A CASSETTE 017535 1757 TAD I (DVICE 017536 3315 DCA CSA /GET HANDLER ENTRY POINT 017537 6211 CDF 10 017540 6202 CIF 0 017541 4715 JMS I CSA 017542 0003 3 /SKIP TO NEXT FILE 017543 0770 L770, 770 017544 7510 M270, -270 017545 7600 R7600, 7600 /IGNORE ERRORS 017546 6202 CIF 0 017547 4715 JMS I CSA 017550 0100 100 /DUMMY READ A PAGE 017551 6000 BINARY /TO SKIP HEADER 017552 5165 PRETSW, RETSW 017553 7610 SKP CLA /WANT AN ERROR 017554 7402 HLT /A GOOD READ IS BAD! 017555 5717 JMP I CASIT /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 109-1 /INITIALIZATION CODE FOR BATCH OPERATION /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 110 017557 5164 017560 1556 017561 5107 017562 7772 017563 4400 017564 7307 017565 3505 017566 7776 017567 7747 017570 7746 017571 7620 017572 7617 017573 0200 017574 7642 017575 7731 017576 7700 017577 7607 0002 FIELD 2 0010 *10 020010 0000 BATXR1, 0 /INDEX REG. 1 FOR BATCH 020011 0000 BATXR2, 0 /INDEX REG. 2 FOR BATCH 0200 *200 020200 0000 BATSET, 0 020201 1777 TAD I (XR1 /GET THE OVERLAY POINTER 020202 7440 SZA /IF ZERO USE OLD VALUE /THIS SAVES ME SOME FIELD 0 SPACE 020203 3010 DCA BATXR1 /SAVE THE POINTER 020204 1577 TAD I [7777 /NOW GET THE BATCH FIELD 020205 6221 CDF 20 /TO FIELD 2 020206 0376 AND (0070 /NOW GET THE FIELD BITS 020207 1375 TAD (CIF /MAKE A CIF FOR OVERLAY 020210 3231 DCA CBATI /SAVE IN INPUT ROUTINE 020211 1231 TAD CBATI /ALSO OUTPUT 020212 3240 DCA CBATO /OVERLAY 020213 1410 BATMOV, TAD I BATXR1 /GET NEXT STORAGE ADDRESS 020214 7450 SNA /IF ZERO ALL DONE (SECOND TIME THRU) 020215 5226 JMP BATDON /RETURN TO CALLER 020216 3011 DCA BATXR2 /OTHERWISE SAVE POINTER TO TARGET CODE 020217 1410 BATLUP, TAD I BATXR1 /GET A PATCH WORD 020220 7450 SNA /ZERO MEANS END OF THIS PATCH 020221 5213 JMP BATMOV /GO GET ANOTHER POINTER OR MAYBE ALL DONE 020222 6201 CDF 0 /BACK TO FIELD ZERO 020223 3411 DCA I BATXR2 /NOW CODE IS BATCHABLE 020224 6221 CDF 20 /BACK TO FIELD 2 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 110-1 020225 5217 JMP BATLUP /DO IT ALL AGAIN 020226 6203 BATDON, CIF CDF 0 /RETURN TO CALLER 020227 5600 JMP I BATSET /BYE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 111 020230 3652 BATLS, TTYIN /POINTER TO MOVE DATA 0231 CBATI=. /SET CIF BATCH 020375 6202 020376 0070 020377 0010 3653 RELOC TTYIN+1 /RELOCATABLE CODE 023653* 6202 CIF 023654* 4657 JMS I BATINI /JUMP TO GET INPUT FROM BATCH 023655* 7402 HLT /BAD ERROR 023656* 7410 SKP /SKIP OVER POINTER 023657* 5400 BATINI, 5400 /POINTER TO BATCH INPUT ROUTINE 023660* 0000 0 /TERMINATOR 023661* 4532 TTYOUT+5 /NOW FOR OUTPUT 0240 RELOC 0240 CBATO=. /SET FOR CIF BATCH 4533 RELOC TTYOUT+6 /POINTER TO MOVE DATA 024533* 6202 CIF /CIF BATCH 024534* 4735 JMS I .+1 /GO SEND DATA TO BATCH 024535* 7400 7400 /POINTER TO BATCH OUTPUT PROCESSOR 024536* 0000 0 /TERMINATOR 024537* 0414 LFMOD /POINTER TO LINE FEED MOD 0415 RELOC LFMOD+1 /RLOCATE THE CODE 020415* 0406 RDTXT /IGNORE LINE FEEDS 020416* 0000 0 /TERMINATOR 020417* 0316 BATTST+1 /POINTER TO MODIFY BATCH TEST 0317 RELOC BATTST+2 /RELOCATE THE CODE 020317* 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 020320* 0000 0 /TERMINATOR 0252 RELOC 020252 0000 0 /FINAL OVERLAY TERMINATOR /NOW COMES THE RESET CODE TO PUT THINGS BACK / THE WAY THEY WERE TO BEGIN WITH. 020253 3652 TTYIN /POINTER TO MOVE DATA 3653 RELOC TTYIN+1 /RELOCATABLE CODE 023653* 6031 KSF /SKIP ON FLAG 023654* 5253 JMP .-1 023655* 6036 KRB /READ A CHAR 023656* 7450 SNA /LOW LEVEL BLANK IGNORE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 111-1 023657* 5253 JMP TTYIN+1 /GO GET ANOTHER 023660* 0000 0 /OVERLAY TERMINATOR 023661* 4532 TTYOUT+5 /NOW FOR OUTPUT 4533 RELOC TTYOUT+6 /RELOCATE AGAIN 024533* 6046 TLS /PRINT THE CHAR 024534* 6041 TSF /DONE? 024535* 5334 JMP .-1 /NO. 024536* 0000 0 /OVERLAY TERMINATOR 024537* 0414 LFMOD /POINTER TO LINE FEED MOD 0415 RELOC LFMOD+1 /RELOCATE ONE MORE TIME 020415* 0476 LFEED /LINE FEED..ECHO CURRENT COMMAND 020416* 0000 0 /TERMINATOR 020417* 0316 BATTST+1 /POINTER TO BATCH TEST 0317 RELOC BATTST+2 /RELOCATE THE CODE 020317* 1577 TAD I [7777 /RESET THE CODE TO ORIGINAL STATE 020320* 0000 0 /OVERLAY TERMINATOR 0275 RELOC 020275 0000 0 /FINAL OVERLAY TERMINATOR 0400 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 112 /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 020400 0000 LDABS, 0 020401 3363 DCA LODTST /-2 IF HANDLER, 0 IF OS8 020402 1322 LDABS2, TAD JMPNXT 020403 3300 DCA TSTO0 020404 3362 DCA CKSUM /CLEAR CHECKSUM 020405 4777 JMS I (ICHA /GET A BUFFER CHAR 020406 5351 JMP LDAB /NO INPUT FOUND 020407 7450 SNA 020410 5205 JMP .-3 /IGNORE BLANKS 020411 1376 TAD (-200 020412 7640 SZA CLA /IS IT LEADER? 020413 5353 JMP BADIN /WASN'T 200..PROBABLY NOT BINARY 020414 4777 LEADER, JMS I (ICHA 020415 5351 JMP LDAB /STRANGE....ALL LEADER!!! 020416 7450 SNA 020417 5202 JMP LDABS2 /START OVER.BLANKS AFTER LEADER 020420 1376 TAD (-200 /IS IT STILL LEADER? 020421 7450 SNA 020422 5214 JMP LEADER /YES 020423 7500 NEWWD, SMA /IS IT < 200? 020424 5323 JMP FIELDW /NO.TEST FOR FIELD SEETING 020425 1375 TAD (200 /RESTORE CHARACTER 020426 3357 DCA WD1 020427 4777 JMS I (ICHA 020430 5353 JMP BADIN /EOF BETWEEN WORDS. HOW NICE! 020431 3360 DCA WD2 020432 4777 JMS I (ICHA 020433 5353 JMP BADIN 020434 1376 TAD (-200 /200 FINISHES US UP 020435 7450 SNA 020436 5347 JMP OVE 020437 3361 DCA WD 020440 4774 JMS I (ASSEM /ASSEMBLE LAST WORD READ 020441 3355 DCA ORGX /ALSO TEMP 020442 7430 SZL /IS IT AN ORIGIN? 020443 5264 JMP ORGTST /YES 020444 1356 TAD ORIGIN 020445 1375 TAD (200 /GIVE ERROR IF ORIGIN ADVANCES TO 7600 020446 7650 SNA CLA 020447 5353 JMP BADIN 020450 1355 TAD ORGX /GET WORD BACK /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 112-1 020451 7402 XFIELD, HLT /GETS CDF N 020452 3756 DCA I ORIGIN /STORE THIS WORD 020453 6221 CDF20, CDF 20 020454 2356 ISZ ORIGIN /SHOULD NEVER SKIP, BUT... 020455 0007 LD7, 7 020456 1357 NEXT, TAD WD1 020457 1360 TAD WD2 /MAKE UP CHECKSUM 020460 1362 TAD CKSUM 020461 3362 DCA CKSUM 020462 1361 TAD WD 020463 5223 JMP NEWWD /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 113 ORGTST, /TEST FOR ORIGIN 020464 1363 TAD LODTST /GET POINTER TO PROPER ORIGIN 020465 7650 SNA CLA 020466 5271 JMP .+3 020467 6203 CIF CDF 0 /JUMP TO HANDLER TEST 020470 5773 JMP I (HND 020471 1355 TAD ORGX /OS/8 - USE REAL ORIGIN 020472 3356 ORI, DCA ORIGIN /BUFFER AREA 020473 1363 TAD LODTST /HANDLER LOAD? 020474 7650 SNA CLA 020475 5256 JMP NEXT /NOPE 020476 1355 TAD ORGX /DON'T START LOAD UNTIL *0 IS FOUND 020477 7640 SZA CLA 020500 5256 TSTO0, JMP NEXT 020501 3300 DCA .-1 /FOUND *0..DO THE LOAD 020502 2363 ISZ LODTST /YES. BUMP LODTST TO LOAD HANDLER NEXT 020503 5256 JMP NEXT 020504 1251 TAD XFIELD 020505 1372 TAD (-CDF 0 020506 7640 SZA CLA 020507 5312 JMP .+3 /JUMP AROUND IF NOT FIRST TIME 020510 6203 CIF CDF 0 /SUBROUTINE IN FIELD 0 020511 4576 JMS I [FIRST /FIRST TIME THROUGH /DO THIS BETTER; ALSO MAKE SURE HANDLER DOESN(T HAVE A FILED PSEUDO 020512 1371 TAD (CDF 10 020513 3251 DCA XFIELD /AT THIS POINT, WE START 020514 7240 CLA CMA /LOADING THE HANDLER INTO THE 020515 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 020516 1355 TAD ORGX /SEE IF LEGAL RE ORIGIN 020517 6203 CIF CDF 0 /OFF ON FIELD 0 020520 4770 JMS I (ORGLIM 020521 3356 DCA ORIGIN /ACTUAL FIELD 1 ORIGIN / TAD SNACLA /LOADING FIELD 1..TEST ORIGINS / DCA JMPRE 020522 5256 JMPNXT, JMP NEXT 020523 1367 FIELDW, TAD (-100 /LESS THAN 300 FAILS 020524 7510 SPA 020525 5353 JMP BADIN 020526 3357 DCA WD1 020527 1357 TAD WD1 020530 0255 AND LD7 020531 7640 SZA CLA 020532 5353 JMP BADIN /DISECT WORD TO CATCH GARBAGE 020533 1363 TAD LODTST /IF LOADING HANDLER, IGNORE FIELD 020534 7640 SZA CLA /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 113-1 020535 5342 JMP FIELD2 020536 1357 TAD WD1 020537 0366 AND (70 /EXTRACT FIELD SETTING 020540 1175 TAD [CDF 0 020541 3251 DCA XFIELD 020542 4777 FIELD2, JMS I (ICHA 020543 5353 JMP BADIN 020544 1376 TAD (7600 020545 7440 SZA 020546 5223 JMP NEWWD 020547 6203 OVE, CIF CDF 0 /ROUTINE IN FIELD 0 020550 5574 JMP I [OVER /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 114 020551 6203 LDAB, CIF CDF 0 /BACK TO FIELD 0 020552 5600 JMP I LDABS /RETURN FROM SUBROUTINE 020553 6203 BADIN, CIF CDF 0 /BACK TO FIELD 0 020554 5573 JMP I [BADINP /BAD INPUT 020555 0000 ORGX, 0 020556 0000 ORIGIN, 0 020557 0000 WD1, 0 020560 0000 WD2, 0 020561 0000 WD, 0 020562 0000 CKSUM, 0 020563 0000 LODTST, 0 020566 0070 020567 7700 020570 2305 020571 6211 020572 1577 020573 3605 020574 0606 020575 0200 020576 7600 020577 0600 0600 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 115 020600 0000 ICHA, 0 /ICHAR CALL ROUTINE FOR FIELD 0 020601 6203 CIF CDF 0 /OFF TO FIELD 0 020602 4777 JMS I (ICHAR /JUMP TO ICHAR 020603 5600 JMP I ICHA /ERROR RETURN 020604 2200 ISZ ICHA /GOOD RETURN 020605 5600 JMP I ICHA /RETURN TO CALLER 020606 0000 ASSEM, 0 /ASSEMBLE A WORD /THIS CODE APPEARS IN FIELD 0 ALSO 020607 1776 TAD I (WD1 /GET WORD 1 020610 7106 CLL RTL /NOW DO THE ROTATE 020611 7006 RTL;RTL 020612 7006 020613 1775 TAD I (WD2 /NOW FOR THE SECOND PART 020614 5606 JMP I ASSEM /BACK TO CALLER 020775 0560 020776 0557 020777 5074 1000 PAGE /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 116 4777 WRITEX=JMS I (7607 /OFF TO WRITE TO DEV. 4250 ERROR=JMS ERRX /ERROR SUBROUTINE BAK, 021000 6202 CIF 0;WRITEX;4211;1400;26;ERROR /ENTER,TM8E OVERLAY 021001 4777 021002 4211 021003 1400 021004 0026 021005 4250 021006 6202 CIF 0;WRITEX;4701;2000;54;ERROR /SAVE, DATE, MON ERROR, CHAIN OVERLAYS 021007 4777 021010 4701 021011 2000 021012 0054 021013 4250 021014 6221 CDF 20 021015 6202 CIF 0;WRITEX;4101;LDRCTL;70;ERROR /ABSLDR CORE CONTROL BLOCK 021016 4777 021017 4101 021020 4113 021021 0070 021022 4250 021023 1376 TAD (-114 021024 6202 CIF 0 021025 4775 JMS I (MOVE 021026 6201 CDF 0 021027 4264 4264 021030 6201 CDF 0 021031 3464 3464 021032 6202 CIF 0;WRITEX;4200;3400;64;ERROR 021033 4777 021034 4200 021035 3400 021036 0064 021037 4250 021040 6202 CIF 0;WRITEX;5210;2000;71;ERROR /ABSLDR 021041 4777 021042 5210 021043 2000 021044 0071 021045 4250 021046 6213 CIF CDF 10 /BACK TO FIELD 1 021047 5774 JMP I (WHER 021050 0000 ERRX, 0 /WRITE ERROR 021051 7602 HLT CLA /HIT CONTINUE TO RETRY 021052 1250 TAD ERRX 021053 1373 TAD (-6 /BACK TO TRY AGAIN 021054 3250 DCA ERRX /AGAIN 021055 5650 JMP I ERRX /RETRY /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 116-1 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 117 021173 7772 021174 7274 021175 4400 021176 7664 021177 7607 020173 4716 020174 4705 020175 6201 020176 3600 020177 7777 0000 FIELD 0 0200 *200 $ /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 118 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 3657 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 1524 BIGFLG 0716 CN 4266 DSCPTR 0033 GETVAL 1664 BIGNAM 0704 COM 1270 DSCTAB 6400 GNAME 2705 BINARY 6000 COMMA 2553 DSK 1452 GNAME2 2723 BINBUF 5106 CONFIG 0215 DSKBAD 2756 GNMXR 0016 BINPUN 6000 COPREC 4122 DSKBIT 0006 GO 2256 BLDCB 1556 COPY 4107 DSKG1 0035 GOOD 2617 BLDCCB 0750 COP2 4056 DSKG2 0036 GOTCHA 2207 BLDLOD 1534 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 118-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 1543 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 1545 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 1520 NAME2 0025 PLOOP 1745 REPLAC 1200 KLUD 3613 NAME3 0026 PN 1471 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 1503 PROTEC 2663 SAMPAG 2506 LFMOD 0414 NODEV 1364 PROTL 4461 SAMPG 3143 LIM1 6126 NODSK 1501 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 /OS/8 V50 BUILD PAL8-V50X 11-OCT-90 PAGE 118-2 SETDSK 1513 TSTNAM 1763 SETSLT 3331 TSTOVR 2234 SETSY 3311 TSTO0 0500 SETUP 1000 TTYIN 3652 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