File PARAM.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/PARAMETER BLOCK CREATION DECSYSTEM-8

/	MODIFIED 5/23/74 TO REMOVE MONITOR VERSION DEPENDENCE.
/	  THIS VERSION WILL RUN STAND ALONE OR UNDER PS/8,OS/8,DS/8,
/	  OR ANY OTHER VERSION OF THE MONITOR. (R.H.)

/TO ASSEMBLE:
/	.R PAL8
/	*PARAM,LPT:<PARAM
/
/TO LOAD AND SAVE:
/	.R ABSLDR
/	*PARAM$
/	.SAVE SYS:PARAM;2000
/

/THIS PROGRAM IS PART OF DECSYSTEM-8 FOR THE INITIAL
/CREATION OF A PARAMETER BLOCK ON FILE STRUCTURED
/DEVICES. THE PRIMARY REASONS FOR DESIRING A PARAMETER
/BLOCK ARE:
/	TO CARRY THE DEVICE LENGTH ON THE MEDIUM
/	TO CARRY A LOGICAL USER DEVICE NAME
/	TO CARRY A UNIQUE VOLUME NUMBER
/	TO CARRY INFORMATION FOR INTELEGENT SQUISH AND ZERO.
/AND OTHERS TO BE DEFINED IN THE FUTURE.

/THE PARAMETER BLOCK WILL EXIST IN BLOCK 6 OF THE
/DEVICE, WITH PRESENCE BEING SIGNALLED BY THE FIRST 3 WORDS
/IN THE BLOCK.

/NOTE THAT IF THE SYSTEM EVER EXTENDS THE SYSTEM
/INTO BLOCK 6 THESE WORDS WILL BE REPLACED
/THUS REMOVING THE PARAMETER BLOCK.  THIS SHOULD
/SELDOME HAPPEN EXCEPT IN THE CASES OF RK8'S OR LOTS
/OF RFO8 DEVICES.  THE MOTIVATION IS THAT FILE STORAGE
/SHOULD TAKE PRECIDENCE, AND MOST USERS PROBABLY DON'T
/CARE IF SYS HAS A PARAMETER BLOCK ANYWAY.


/LAYOUT OF THE PARAMETER BLOCK (BLOCK 6):

/WORD		DESCRIPTION

/ 000	0427
/ 001	1203	SIGNALS PARAMETER BLOCK
/ 002	7777

/ 003		-LAST BLOCK # ON DEVICE
/ 004		=-1 IF NO "ZERO" ALLOWED
/ 005		=-1 IF NO SQUISH FROM OTHER DEVICES
/ 006		=-1 IF NO SQUISH EVEN TO ITSELF
/ 007		=-1 IF SYSTEM PRESENT(NOT IMPLEMENTED)
/ 010		START OF FILE STORAGE
/ 011-076	FUTURE EXPANSION
/ 077		INTERNAL FORM OF USER DEVICE NAME
/ 100-103	USER DEVICE NAME (ASCII) FOR AUTOAS.
/ 104		VOLUME I.D.

/ 105		SYSTEM I.D. IF SYSTEM PRESENT
/		0  NO ID OR SYSTEM NOT PRESENT
/		-1 PS/8 SYSTEM
/		-2 OS/8 SYSTEM
/		-3 OS/12 SYSTEM
/		-4 DECSYSTEM-8 SYSTEM
/		ETC.
/ 106		VERSION NUMBER IF APPLICABLE
/ 107		RELEASE NUMBER

/ 110		EXPANSION
/ 111		EXPANSION

/ 112		CREATION DATE THIS BLOCK (PS/8-OS/8 DATE FORM)

/ 113-177	EXPANSION

/ 200-377	DESCRIPTIVE LABLE: IN UNPACKED ASCII
/		MUST BE TERMINATED WITH ^Z
/		0'S FILLED TO 377

/THE FOLLOWING DEFINITIONS CARRY OVER FROM THE OLD VERSION WHEN /MANY ROUTINES IN THE MONITOR WERE USED. LXR=13 XR= 17 RBFLAG= 20 TEMP1=40 TEMP2=21 TM1=41 TMP=42 NMCT= 43 PN= 44 PRDSW= 45 SYSTEM=22 PCH=23 GLINE=24 GNAME=25 NM1=34;NM2=NM1+1;NM3=NM2+2;NM4=NM1+3 DEVHND=26 BEGLN=1000 /SPECIFIC /AND SOME PAGE ZERO REFS(WATCH OUT) PRXR=12 /AN XR FOR ME PRMSG=100 PRNM=101 CRLF=161 HELP=51 K7605=53
*2000 START, CLA CLL TAD (PRMESG /SET UP PAGE ZEROS DCA PRMSG /FOR REFERENCE TAD (PRNAME /PRINT A NAME ROUTINE DCA PRNM TAD (XCRLF /CRLF OUTPUT ROUTINE DCA CRLF TAD (XHELP /HELP FLAG ROUTINE DCA HELP TAD (7605 /FOR EXIT DCA K7605 TAD I (7777 SPA CLA /SEE IF HASP RUNNING JMP I K7605 /DON'T RUN TAD (7700 DCA SYSTEM TAD (GETNAM DCA GNAME TAD (XGLINE DCA GLINE TAD (PRINT DCA PCH CIF 10 /GET USR IN JMS I SYSTEM 10 TAD (200 /AND SET "SYSTEM" DCA SYSTEM RESTRT, JMS I PRMSG WNTHLP JMS I (YESORNO STA /ANSWER WAS YES DCA I (HELPX /OR NO JMP I (PARCONT
/DISPATCH ROUTINE ON ACC. DISPAT, 0 DCA NM1 /THATS WHAT SRCH USES TAD DISPATCH DCA I (SRCH /FAKE SUBROUTNE CALL JMP I (SRCH+1 /GO DO IT /PRINT A MESSAGE PRMESG, 0 CDF 0 /JUST IN CASE KCC /CLEAR FLAG (FROM ^O TAD I PRMESG /GET ADD OF MESSAGE DCA DISPATC /STORE POINTER ISZ PRMESG /NORMAL EXIT PRST1, TAD I DISPATC RTR;RTR;RTR /OVER FOR PRINT JMS PRCHR /PRINT LEFT HALF TAD I DISPATC JMS PRCHR /PRINT RIGHT HALF ISZ DISPATC /NEXT WORD JMS I (CNTRLO /CHECK FOR ^O JMP I PRMESG /YES IGNORE REST OF MESSAGE JMP PRST1 /LOOP PRCHR, 0 AND (77 SNA JMP I PRMESG /IF ZERO QUIT TAD (-40 /FOR EXTEND SPA /SKIP IF NEUMERIC TAD (100 /IS ALPHA TAD (240 /BACK TO CORRECT JMS I PCH /PRINT ROUTINE IN MONITOR JMS I (CONSOL /CHECK CONSOL FOR ^C JMP I PRCHR /PRINT MESSAGE IF HELP WANTED /CALL: JMS I HELP / MSPNT / RETURN XHELP, 0 CDF 0 /JUST IN CASE TAD I XHELP DCA HLPPNT /STASH POINTER ISZ XHELP /POINT TO RETURN TAD HELPX SNA CLA /SKIP IF HELP WANTED JMP I XHELP /NO HELP JMS I PRMSG /PRINT THE MESSAGE HLPPNT, 0 JMS I CRLF JMP I XHELP HELPX, 0 /INPUT A YES OR NO AND TAKE /CONDITIONAL BRANCH OUT. /CALL: JMS I (YESORNO / RET1 /ANSWER=YES / RET2 /ANSWER=NO YESORN, 0 KSF /WAIT FOR Y OR N JMP .-1 KRB /GET CHAR JMS I (DISPATC -"C+100;7600 -"Y; YES -"N; NO 0 JMS I CRLF JMS I PRMSG YESNO JMS I CRLF JMP YESORNO+1 /ANSWER IS YES TO HELP YES, JMS I PRMSG /AND FINISH "YES" MYES JMP NOCONT NO, ISZ YESORNO JMS I PRMSG MNO NOCONT, JMS I CRLF JMP I YESORNO PAGE
/CONTINUING WITH MAIN LINE CODE PARCON, JMS I HELP HEAD1 /THIS PROGRAM ESTABLISHES A PARAMETER BLOCK JMS I HELP HEAD2 /ON DECSYSTEM-8 FILE STRUCTURED DEVICES. JMS I CRLF JMS I HELP HEAD3 /TELL HIM ABOUT LINE SCANNER GOOF1, JMS I CRLF JMS I PRMSG MESDEV /DEVICE NAME JMS I (GTLINE /INPUT A LINE JMS I CRLF /NEW LINE JMS I GNAME /DECODE A DEVICE NAME SKP JMP MAINL2 /CONTINUE MAIN LINE GOOF1A, JMS I PRMSG /HE GOOFED:TELL HIM MGOOF1 JMP PARCON /ASK AGAIN MAINL2, TAD NM1 /DECODE DEVICE DCA DEVN-1 /NAME TAD NM2 DCA DEVN TAD (7200 /WHERE HANDLER GOES DCA DEVN+1 CIF 10 JMS I SYSTEM /FETCH HANDLER 1 0 DEVN, 0;0 JMP GOOF1A /NOT THERE TAD .-2 /ENTRY DCA DEVHND /STASH FOR CALL TAD DEVN /NOW TO SEE IF FILE STRUCTURED TAD (7757 /INDEX INTO DCB TABLE DCA DEVN-1 /A GOOD TEMP CDF 10 TAD I DEVN-1 /PICK UP CDF 0 DCA DTYPE /STASH FOR LATER TAD DTYPE SPA CLA /SKIP IF NOT FILE STRUCTURED JMP .+4 /CONTINUE JMS I PRMSG /TELL HIM MNFLST /NOT FILE STRUCTURED JMP GOOF1 /AND START OVER JMS LEGAL /NOW SEE IF WE CAN PUT IN PARMS TAD (4400-1 /SET UP XR DCA PRXR /TO PARAMTER BLOCK CDF 10 TAD (0427 /THE FIRST THREE DCA I PRXR /WORDS IN THE PARAMETER TAD (1203 /BLOCK INDICATE ITS DCA I PRXR /PRESENCE. STA /FOR MOST CASES WORD 2 DCA I PRXR /NEED ONLY BE TESTED. JMS SQPARM /DO SQUISH AND ZERO PARAMS JMS SYSPAR /AND SYSTEM PARAMETERS JMS LENPAR /DEVICE LENGTH. JMS UDNAME /DO USER NAME STUFF JMS DLABLE /AND DESCRIPTIVE LABLE JMS WRZERO /WRITE ZERO DIRECTORY IF REQUIRED JMS WRPARAM /AND PARAMTER BLOCK JMP RESTRT /START OVER /ROUTINE USED BY DUMP TO DETERMINE IF USER /WANTS TO CHANGE THE BLOCK. /CALL: JMS I (CHANGE / RET1 /IF YES / RET2 /IF NO CHANGE, 0 CDF 0 TAD CHANGF /FLAG FOR ASK QUESTION SNA CLA /SKIP IF SELECTIVELY DESCIDE JMP CHANG2 /PRETEND ANSWER WAS NO JMS I CRLF /NEW LINE JMS I PRMSG /CHANGE THIS? MCHANGE JMS YESORNO /ASK THE QUESTION JMP .+3 /YES IS FIRST EXIT CHANG2, ISZ CHANGE JMP I CHANGE /AND RETURN DCA CHANGI /SIGNAL SOMETHING WILL CHANGE JMP I CHANGE CHANGF, 0 CHANGI, -1 /CHECK TTY FOR ^C CONSOL, 0 KSF /FLAG UP JMP I CONSOL /NO=RETURN KRS /READ BUFFER: NO FLAG CLEAR TAD (-"C+100 /-^C SZA CLA JMP I CONSOL /NOT ^C TSF /WAIT FOR OUTPUT TO FINISH JMP .-1 JMP I (7600 /RETURN TO PS/8 /CHECK CONSOL FOR ^O CNTRLO, 0 KSF JMP CNTRL1 KRS /READ STATIC TAD (-"O+100 /CHECK FOR ^O SZA CLA JMP CNTRL1 /NOPE KCC /CLEAR THE CHAR JMP I CNTRLO /CALL+1=YES CNTRL1, ISZ CNTRLO JMP I CNTRLO /RET TO CALL+2 PAGE
/SUBROUTINE TO FIGURE OUT IF A PARAMETER BLOCK IS LEGAL /ALSO SETS SWITCHES: / ZERO = -1 IF DEVICE HAS DIRECTORY LEGAL, 0 JMS I DEVHND /READ IN 6 BLOCKS 1410 /AS MAY BE IN BLOCK 6 2000 /IN TO FIELD 1 0001 JMP PARERR /MIGHT BE PARITY ERROR STA DCA ZERO /INIT ZERO SWITCH CDF 10 /LETS LOOK AT THE DIRECTORY TAD I (2000 /PICK UP #ENTRIES SEG 1 CLL /FOR TEST TAD (100 /SHOULD BE >-100 SNL CLA /MOST UNMARKED TAPES WILL FAIL THIS TEST JMP NODIR /NO DIRECTORY DCA I (5002 /TO MAKE SURE WILL END TAD (2002 /WE ARE GOING TO SEE IF SEG 6 DCA LEPNT /IS USED FOR DIRECTORY LEGAL1, TAD I LEPNT /PICK UP A LINK TO NEXT SEGMENT SNA CLA /SKIP IF A LINK JMP LEGAL2 /LAST LINK TAD (400 TAD LEPNT /NEXT SEGMENT LINK DCA LEPNT JMP LEGAL1 /CONTINUE LEPNT, 0 ZERO, 0 /0 IF NEEDS ZEROING LEGAL2, CDF 0 TAD LEPNT /PICK UP POINTER TAD (-4400 /IF RESULT >0 THEN BLOCK 6 USED SPA CLA JMP LEGAL3 /GO CHECK IF BLOCK ALREADY EXISTS JMS I PRMSG /NO CAN MAKE PARAMETER BLOCK MILLEGAL JMP I K7605 NODIR, DCA ZERO /INDICATE DEVICE NEEDS ZEROING LEGAL3, CDF 10 /IF COME FROM LEGAL2 ISZ I (4402 /SKIP IF ALREADY HAVE ONE JMP I LEGAL /RETURN JMS PRMSG2 /TELL HIM WE HAVE ONE MHAVPARAM MESS25 /DOES HE WANT TO MESS26 /A:REPLACE MESS27 /B:SELECTIVELY DESCIDE MESS28 /C:PRINT IT 0 JMS I (OPTION JMP I LEGAL /REPLACE STA /SET UP FOR SELECTIVE DCA I (CHANGF /CHANGE VIA FLAG JMP I (DUMPP /PRINT A BUNCH OF MESSAGES ON DIFFERENT LINES PRMSG2, 0 CDF 0 TAD I PRMSG2 /PICK UP ONE ISZ PRMSG2 /POINT TO NEXT SNA /SKIP IF NOT DONE JMP I PRMSG2 /DONE ALL MESSAGES DCA .+2 /STORE FOR PRINT OUT JMS I PRMSG /PRINT IT 0 /ADDRESS OF MESSAGE JMS I CRLF /NEW LINE JMP PRMSG2+1 /HANDLER ERROR ON INPUT. PARERR, JMS I CRLF JMS I PRMSG MESS0 /TELL HIM ABOUT ERROR JMS I CRLF JMS I PRMSG /AND ASK HIM ABOUT CONTINUING. MESS1 JMS I (YESORNO /WAIT FOR AN ANSWER SKP /YES. JMP I (RESTRT /NO=START OVER DCA ZERO /DEVICE NEEDS ZEROING JMS I PRMSG /TELL HIM WE WILL ZERO THE DIRECTORY MESS2 JMS I CRLF JMP I LEGAL /AND RETURN /ASSEMBLE AN OCTAL NUMBER FROM LINEBUFFER /CALL: JMS ASSEMB / ERROR /NON OCTAL NUMB / NORMAL /AC=NUMBER ASSEMB, 0 DCA TM1 /DIGIT COUNTER DCA TEMP1 TAD I LXR /PICK UP CHARACTER SNA JMP ASSDON /DONE. DCA TEMP2 TAD TEMP2 TAD (-260 CLL /FOR TEST TAD (-12 SNL CLA /LINC=1 IF ILLEGAL JMP ASSCON /CONTINUE TAD TM1 /TO SEE IF ANY INPUT SZA CLA JMP ASSDONE JMS I PRMSG MNOINPT /NO INPUT JMP I ASSEMB /ERROR RETURN ASSCON, TAD TEMP1 CLL RAL DCA TEMP1 TAD TEMP1 CLL RAL CLL RAL TAD TEMP1 /*10 DCA TEMP1 TAD TEMP2 AND (17 TAD TEMP1 ISZ TM1 JMP ASSEMB+2 ASSDON, TAD TEMP1 ISZ ASSEMB JMP I ASSEMB PAGE
/SUBROUTINE TO GET DEVICE LENGTH LENPAR, 0 JMS I (DATE /PUT DATE IN PARAM BLOCK JMS PARCS /LOOK UP LENGTH IN TABLE SNA CLA /SO WE DON'T ASK DUMB QUESTION JMP PARC5 /IS NO ENTRY IN TABLE JMS I HELP /GIVE NECESSARY HELP HELP3 JMS I HELP HELP3A JMS I HELP HELP3B JMS I HELP HELP3C JMS I HELP HELP3D JMS I CRLF JMS I PRMSG /AND ASK IF STANDARD LENGTH MESS3 JMS I (YESORNO JMP PARC2 /YES: USE TABLE PARC5, JMS I PRMSG /NO MESS4 /ASK FOR LENGTH JMS I (GTLINE /INPUT A LINE JMS ASSEMB /ASSEMBLE A NUMB. JMP .-4 /ERROR-TRY AGAIN CIA /-LENGTH DESIRED SKP PARC2, JMS PARCS /LOOK UP LENGTH PARC3, CDF 10 DCA I (4403 /STASH -LENGTH CDF 0 JMS I CRLF PARC4, JMS I HELP HLP24A JMS I HELP /TELL ABOUT START OF FILE STORAGE HLP24B JMS I HELP HLP24C JMS I HELP HLP24D CDF 10 /PATCH TO ASK IF STANDARD TAD I (4407 /SYSTEM PRESENT FLAG SZA CLA /SKIP IF NOT PRESENT TAD (70-7 /IS SYSTEM TAD (7 DCA I (4410 JMS I PRMSG /ASK IF HE WANTS STANDARD MES22A JMS I (YESORNO JMP I LENPAR /YES:GOT IT JMS I PRMSG MESS22 JMS I (GTLINE /INPUT START OF FILE STORAGE JMS I (ASSEMB JMP .-4 CDF 10 DCA I (4410 TAD I (4410 CDF 0 TAD (-7 /MUST BE >6 SPA CLA /SKIP IF LEGAL JMP PARC4 /DO AGAIN JMP I LENPAR /RETURN /SUBROUTINE TO PICK UP SQUISH AND ZERO PARAMETERS SQPARM, 0 JMS I (DATE /DATE THE PARAMETER BLOCK JMS I CRLF JMS I HELP /TELL HIM WHAT THIS MEANS HELP5A JMS I HELP HELP5B JMS I HELP HELP5C /DESCRIBE IT JMS I HELP HELP5D JMS I HELP HELP5E JMS I PRMSG /USE STANDARD? MESS5 JMS I (YESORNO SKP JMP SQL1 /NO: INPUT SEPARATELY CDF 10 /YES: USE STANDARD STA DCA I (4404 /NO ZERO ALLOWED STA DCA I (4405 /NO SQUASH FROM OTHER DEVICES SQEXIT, CDF 10 DCA I (4406 /SQUASH TO SELF ALLOWED CDF 0 JMP I SQPARM /AND RETURN SQL1, JMS I PRMSG /ASK ABOUT ZERO MESS6 JMS I (YESORNO SKP STA /NO ZEROS CDF 10 DCA I (4404 /SET INDICATOR JMS I PRMSG /HOW ABOUT SQ FROM ANOTHER DEV? MESS7 JMS I (YESORNO SKP /YES: DOIT AND EXIT JMP .+3 CDF 10 JMP SQEXIT-1 CDF 10 /NO: MUST ASK MORE STA DCA I (4405 JMS I PRMSG /TO MYSELF? MESS8 JMS I (YESORNO SKP /YES STA /NO: DISALLOW JMP SQEXIT PAGE
/DUMP OF PARAMETER BLOCK REQUESTED. DUMPP, STA /TO INDICATE IF ANYTHING CHANGES DCA I (CHANGI JMS I CRLF JMS I PRMSG /USER DEVICE NAME MESS13 TAD (4500 /THEN PRINT NAME JMS PRASCII -4 /MAXIMUM CHARS JMS I PRMSG MESS14 /VOLUME ID CDF 10 TAD I (4504 JMS DECPRN /PRINT IT JMS I (CHANGE /CHANGE IT? JMS I (UDNAME /YES JMS I CRLF /NEW LINE TAD (4600 JMS PRASCII /AND DESCRIPTIVE LABLE -200 /MAX. JMS I (CHANGE /CHANGE IT?? JMS I (DLABLE /YES JMS I CRLF /OR NO CDF 10 TAD I (4404 /PICK UP "ZERO" FLAG SNA CLA IAC /IS TAD (HELP5B+1 /NOT DCA .+2 /ALLOWED JMS I PRMSG HELP5B+1 JMS I CRLF CDF 10 TAD I (4406 /NO SQUISHES SNA CLA JMP .+4 /SOME SQUISHES ALLOWED JMS I PRMSG HELP5C JMP DUMPL2 TAD I (4405 /SQUISH TO MYSELF SZA CLA TAD (HELP5D-MESS20 TAD (MESS20 DCA .+2 JMS I PRMSG MESS20 DUMPL2, JMS I (CHANGE /CHANGE SQUISH AND ZERO?? JMS I (SQPARM /YEP JMS I CRLF /OR NO CDF 10 TAD I (4407 /SYSTEM PRESENT SNA CLA /SKIP IF PRESENT JMP DUMPL3 /NO:JUMP AROUND TAD I (4505 CDF 0 TAD (SYSTBL /INDEX INTO TABLE OF SYS MESSAGES DCA TEMP1 /STASH FOR INDIRECT TAD I TEMP1 DCA .+4 JMS I PRMSG MESS10 JMS I PRMSG 0 /PRINT SYSTEM TYPE JMS I PRMSG MESS21 /VERSION CDF 10 TAD I (4506 JMS DECPRN /PRINT VERSION # TAD (". /FOLLOWED BY RELEASE NUMBER JMS I PCH /PRINT IT CDF 10 TAD I (4507 /PICK UP RELEASE NUMBER JMS DECPRN /AND PRINT IT JMP DUMPL3+2 /OUTPUT A CR. LF. XCRLF, 0 TAD (215 JMS I PCH TAD (212 JMS I PCH JMP I XCRLF PAGE
DUMPL3, JMS I PRMSG MESS23 /NO SYSTEM PRESENT JMS I (CHANGE /CHANGE IT?? JMS I (SYSPAR /YES JMS I CRLF /OR NO JMS I PRMSG MESS4 /DEVICE SIZE STA /RESTORE FLAG CDF 10 DCA I (4402 /TO -1 TAD I (4403 /PICK UP SIZE CIA /MAKE POSITIVE JMS DECPRN /PRINT DECIMAL # JMS I CRLF /NEW LINE JMS I PRMSG /START OF FILE STORAGE MESS22 CDF 10 TAD I (4410 /IS IN LOC 10 JMS DECPRN JMS I (CHANGE /CHANGE LENGTH AND START? JMS I (LENPAR /YES JMS I CRLF ISZ CHANGI /SKIP IF NOTHING WAS CHANGED JMS I (WRPARA /WRITE OUT THE PARAMETER BLOCK JMP I (RESTRT /DIGITAL 8-22-U /UNSIGNED DECIMAL PRINT /CALL WITH NUMBER TO BE TYPED IN C(AC) /RETURN TO LOCATION FOLLOWING THE JMS DECPRN, 0 CDF 0 DCA VALUE /SAVE INPUT CLA STL RAR /4000 DCA ASCDIG /START WITH IGNORE LEADING ZEROS DCA DIGIT /CLEAR TAD CNTRZA DCA CNTRZB /SET COUNTER TO FOUR TAD ADDRZA DCA ARROW /SET TABLE POINTER SKP DCA VALUE /SAVE CLL TAD VALUE ARROW, TAD TENPWR /SUBTRACT POWER OF TEN SZL ISZ DIGIT /DEVELOP BCD DIGIT SZL JMP ARROW-3 /LOOP CLA /HAVE BCD DIGIT TAD DIGIT /TAKE CARE OF LEADING ZEROS SNA CLA /SKIP IF NOT ZERO JMP .+3 /MAINTAIN SPACES OR ZERO TAD K260 DCA ASCDIG /CHANGE TO NEUMERIC TAD DIGIT /GET DIGIT TAD ASCDIG /MAKE IT ASCII SMA /NO PRINT LEADING ZEROS JMS I PCH /PRINT IT CLA DCA DIGIT /CLEAR ISZ ARROW /UPDATE POINTER ISZ CNTRZB /DONE ALL FOUR? JMP ARROW-1 /NO: CONTINUE TAD ASCDIG /TO SEE IF PRINTED ANYTHING SMA CLA /SKIP IF NO PRINT YET JMP I DECPRN TAD K260 /PRINT ONE 0 JMS I PCH JMP I DECPRN ADDRZA, TAD TENPWR CNTRZA, -4 TENPWR, -1750 /ONE THOUSAND -0144 /ONE HUNDRED -0012 /TEN -0001 /ONE K260, 260 VALUE, 0 DIGIT, 0 CNTRZB, 0 ASCDIG, 4000 /LETS BE CUTE A LITTLE LOCKDN, JMS I HELP MLOCK8 JMS I HELP MLOCK9 /SCRATCH A LITTLE TO THE LEFT... STA CLL RAL /TWICE DCA VALUE /A GOOD TEMP LOCKQU, TAD (-5 DCA DIGIT JMS I DEVHND 0210 5000 0050 CLA CLL ISZ DIGIT JMP LOCKQU+2 JMS I HELP MMMM ISZ VALUE JMP LOCKQU THANKS, JMS I HELP MTHANKS JMS I CRLF TAD (LOCK-2 DCA LOCKED /RESET FOR NEXT TIME JMS I CRLF JMP I (RESTRT /PRINT TWO 6 BIT CHARS IN AC PRWD, 0 DCA TMP TAD TMP RTR;RTR;RTR JMS I PCH TAD TMP JMS I PCH JMP I PRWD PAGE
/PICK UP SYSTEM PARAMETERS SYSPAR, 0 JMS I (DATE /DATE THE PARAMETER BLOCK CDF 10 DCA I (4407 CDF 0 TAD (4504 JMS ZEROPR -74 /W.C. JMS I PRMSG MESS9 /SYSTEM PRESENT? JMS I (YESORNO SKP /YES: CONTINUE JMP I SYSPAR /NO:THIS INFO NOT NEEDED STA CDF 10 DCA I (4407 CDF 0 SYSP2, JMS I PRMSG MESS10 /ESTABLISH ID JMS I CRLF JMS I HELP HLP10A JMS I HELP HLP10B JMS I HELP HLP10C JMS I HELP HLP10D JMS I HELP HLP10E JMS I (GTLINE JMS ASSEMB /GET TYPE JMP SYSP2 /BAD INPUT CIA /THAT'S HOW WE STORE IT CDF 10 DCA I (4505 CDF 0 JMS I PRMSG MESS11 /GET VERSION NUMBER JMS I (GTLINE JMS I (ASSEMB /GET NUMBER JMP .-4 /AGAIN CDF 10 DCA I (4506 CDF 0 SYSP1, JMS I PRMSG MESS12 /AND RELEASE JMS I (GTLINE JMS I (ASSEMB /GET RELEASE NUMBER JMP SYSP1 /AGAIN CDF 10 DCA I (4507 DCA I (4510 DCA I (4511 CDF 0 JMP I SYSPAR /SELECT OPTIONS A,B,C /CALL: JMS OPTION / RET1 /A / RET2 /B / RET3 /C /ONLY CALLED BEFORE DUMP. OPTION, 0 KSF /WAIT FOR KEYBOARD JMP .-1 /TO HAVE A CHARACTER KRB /READ IT TSF JMP .-1 TLS /ECHO IT: JMS I (DISPATCH /AND COMPARE -"A;OPTC+2 -"B;OPTC+1 -"C;OPTC 0 JMS I CRLF JMS I PRMSG /BAD ANSWER ANSABC /A,B,C ONLY JMP OPTION+1 OPTC, ISZ OPTION ISZ OPTION JMS I CRLF JMP I OPTION /COME HERE FOR DEVICE LENGTH TABLE LOOKUP PARCS, 0 TAD DTYPE /PICK UP TYPE AND (770 /MASK TYPE CLL RTR;RAR /OVER TAD (LENTBL /PICK UP LENGTH DCA TEMP1 /STASH FOR INDIRECT TAD I TEMP1 /GOT IT JMP I PARCS DTYPE, 0 /DCB WORD /ROUTINE CALLED WHEN DEVICE LOCKED (I.E. ERROR EXIT /FROM HANDLER WHEN WRITING PARAMETER BLOCK.) LOCKED, LOCK-2 JMP I LOCKED CLA CLL /AC=4000 ERROR EX. ISZ LOCKED ISZ LOCKED JMP I LOCKED /PRINT A NAME IN NM1,2,3,4 PRNAME, 0 TAD NM1 JMS PRWD TAD NM2 JMS PRWD TAD NM3 JMS PRWD TAD NM4 SNA CLA JMP I PRNAME TAD (". JMS I PCH TAD NM4 JMS PRWD JMP I PRNAME PAGE
/SUBROUTINE TO ZERO SOME ELEMENTS OF THE PARAMETER BLOCK /CALL: TAD (START-1 / JMS ZEROPR / -#WORDS ZEROPR, 0 DCA PRXR /SET XR TAD I ZEROPR DCA ZROCNT /COUNTER ISZ ZEROPR CDF 10 DCA I PRXR ISZ ZROCNT JMP .-2 CDF 0 JMP I ZEROPR ZROCNT, 0 /INPUT USER DEVICE NAME UDNAME, 0 JMS I (DATE /DATE THE PARAMETER BLOCK TAD (4476 /ZERO INFO JMS ZEROPR -6 JMS I CRLF JMS I HELP /TELL HIM ABOUT USER NAMES HLP12A JMS I HELP HLP12B JMS I HELP HLP12C JMS I HELP HLP12D UDL4, JMS I PRMSG MESS13 JMS I (GTLINE /GET LINE FOR LABEL TAD (4500 DCA TEMP1 /USE FOR POINTER TAD (-4 DCA TEMP2 /AND COUNTER UDL2, TAD I LXR /PICK UP CHARACTER SNA /DONE? JMP UDL1 /YES CDF 10 DCA I TEMP1 /STASH THIS CHAR CDF 0 ISZ TEMP1 ISZ TEMP2 JMP UDL2 UDL1, TAD (BEGLN-1 DCA LXR /FOR MAKING INTERNAL NAME JMS I GNAME /PACK IT UP JMP UDNAME+1 /START OVER ILLEGAL CHAR TAD NM2 /SECOND PACKED SNA CLA STA /FOR FORCING BIT 0 ON DCA NM3 /ONLY 4 CHARS ALLOWED TAD NM1 TAD NM2 RAL CLL /OVER FOR FORCING BIT 0 ON ISZ NM3 STL RAR CDF 10 DCA I (4477 /PUT IN PACKED NAME TAD I (4477 CDF 0 JMS NAMCHK /CHECK FOR DUP NAMES UDL3, JMS I HELP HLP13A JMS I HELP HLP13B JMS I PRMSG MESS14 JMS I (GTLINE JMS I (ASSEMB /FORM DECMAL NUMBER JMP UDL3 /BAD INPUT CDF 10 DCA I (4504 /STASH CDF 0 JMP I UDNAME /DIALOGUE ABOUT LOCKED DEVICES. LOCK, TAD HELPX /FIRST SEE IF HE IS GETTING HELP SNA CLA /SKIP IF YES. JMP NOHELP /BE A LITTLE HARDER ON HIM JMS I HELP /TELL HIM TO WR-EN DEVICE MLOCK1 JMS TTYWAIT /WAIT FOR KEY STRUCK JMS LOCKED /RESET RETURN JMS WRPARA /TRY AGAIN JMP I (RESTRT /ALL O.K. NOHELP, STA DCA HELPX /FOR C.R. WITH MESSAGE JMS I HELP MLOCK2 /OUCH!! JMS I HELP MLOCK3 /YOU FORGOT SOMETHING! JMS TTYWAIT /WAIT FOR KEYSTRUCK JMS LOCKED /RESET RETURN JMS WRPARA /TRY AGAIN JMP THANKS /O.K. JMS I HELP MLOCK2 /OUCH!! JMS I HELP MLOCK4 /CLUE:YOU NEED TO PRESS A SWITCH LOCK4, JMS TTYWAIT JMS LOCKED JMS WRPARA JMP LOCKDN /O.K. GOT IT JMS I (PRMSG2 MLOCK2 /OUCH!! MLOCK5 /YOU DUMMY! I CAN'T DO EVERYTHING MLOCK6 /THE DEVICE NEEDS TO BE WRITE ENABLED. MLOCK7 /NEXT TIME GET HELP 0 JMP LOCK4 PAGE
/INPUT DESCRIPTIVE LABEL DLABLE, 0 JMS DATE TAD (4577 JMS ZEROPR -200 JMS I HELP HLP15 JMS I HELP HLP15B JMS I HELP HLP15C JMS I HELP HLP15D JMS I PRMSG MESS15 TAD (-200 DCA XTM1 /A GOOD TEMP?? TAD (4600 DCA XTEMP1 /SET PARAM POINTER JMP DLAB3-1 DLAB1, TAD (215 /PUT IN CR (IGNORED BY LINE SCANNER) JMS PUTONE /INTO BUFFER TAD (212 /AND LINE FEED JMS PUTONE JMS I (GTLINE /GET A LINE DLAB3, TAD I LXR SNA /SKIP IF LINE NOT ENDED JMP DLAB1 JMS PUTONE JMP DLAB3 /STICK IN BUFFER - CHECK FOR END, ETC. PUTONE, 0 CDF 10 DCA I XTEMP1 TAD I XTEMP1 CDF 0 TAD (-"Z+100 /-^Z SNA CLA /SKIP IF NOT ^Z JMP DLAB2 /DONE ISZ XTEMP1 /NEXT POSITION ISZ XTM1 /OVERFLOWING? JMP I PUTONE /NO: CONTINUE JMS I PRMSG /TELL HIM OVERFLOW MESS16 DLAB2, TAD ("Z-100 /FORCE ^Z IN CDF 10 DCA I XTEMP1 /JUST IN CASE CDF 0 JMP I DLABLE /ROUTINE TO WRITE A ZERO DIRECTORY OUT /IF "ZERO" IS =0 WRZERO, 0 ISZ I (ZERO SKP /ZEROING NEEDED JMP I WRZERO TAD (2000 JMS I (ZEROPR /START BY ZEROING HEADER -6 CDF 10 TAD I (4410 /PICK UP START OF FILE STORAGE DCA I (2001 /FILE ORIGIN STA DCA I (2000 /1 FILE STA DCA I (2004 /1 WASTE WORD TAD I (4403 /PICK UP LENGTH TAD I (2001 /ADJUST FOR FILE START DCA I (2006 /STICK IN A BIG EMPTY CDF 0 JMS I DEVHND /AND WRITE LOTS OF BLOCKS OUT 5210 /5 OF THEM 2000 /FROM FIELD 1 0001 HLT /OR SOMETHING JMP I WRZERO /WRITE OUT THE PARAMETER BLOCK WRPARA, 0 JMS I DEVHND 4210 4400 0006 JMP LOCKED+2 JMP I WRPARA XTM1, 0 XTEMP1, 0 /SUBROUTINE TO GET A LINE & RESET LXR GTLINE, 0 CDF 0 JMS I GLINE TAD (BEGLN-1 DCA LXR JMP I GTLINE /PRINT ASCII STRING. IGNORE 0'S /CALL: TAD (ADDRESS /FIELD 1 / JMS I PRASCII / -COUNT /#DIGITS PRASCI, 0 CDF 0 DCA TEMP1 /POINTER TAD I PRASCII /WORD COUNT DCA TM1 ISZ PRASCII CDF 10 TAD I TEMP1 /PICK UP FIRST CDF 0 SZA JMS I PCH /PRINT IT ISZ TEMP1 ISZ TM1 /SKIP WHEN DONE JMP .-7 JMP I PRASCII /SUBROUTINE TO PUT CURRENT DATE IN PARAMETER BLOCK DATE, 0 CDF 10 TAD I (7666 DCA I (4512 CDF 0 JMP I DATE PAGE
/ROUTINE TO CHECK FOR DUP NAMES. /ENTER WITH HASHED USER ASSIGNED NAME. NAMCHK, 0 CIA /NEGATE FOR CHECK DCA NM4 /TEMP STORAGE TAD (USEDL-1 /USED NAMES LIST DCA PRXR /POINTER TAD I PRXR /GET A USED NAME SNA /SKIP IF ONE THERE JMP I NAMCHK /NO CONFLICT TAD NM4 /FOR COMPARISON SZA CLA /A MATCH? JMP .-5 /NO KEEP GOING JMS I PRMSG /A CONFLICT NM1 /TELL HIM HIS NAME JMS I PRMSG /AND THAT IT CONFLICTS NCONF / CONFLICTS WITH TAD PRXR /CALC ADD OF USED TAD (-USEDL /PRM NAME DCA NM4 /TEMP STORAGE TAD NM4 /3-WORDS/NAME RAL CLL /*2 TAD NM4 /*3 TAD (USEDN /POINT TO USED NAMES DCA .+2 /FOR MESSAGE JMS I PRMSG USEDN JMS I CRLF JMS I PRMSG MAGAIN /TRY AGAIN? JMS I (YESORNO JMP UDL4 /YES JMP I NAMCHK /NO /WAIT FOR KEYSTRUCK TTYWAI, 0 KSF JMP .-1 KCC JMP I TTYWAIT
GETNAM, 0 DCA NM1 DCA NM2 DCA NM3 DCA NM4 TAD (NM1 DCA PN CLA CMA DCA PRDSW GTNMX, DCA NMCT TAD I LXR TAD (-240 SNA JMP .-3 TAD (240 SKP GTNMLP, TAD I LXR DCA TMP TAD TMP TAD (-256 SNA JMP PERIOD TAD (-2 CLL TAD (-12 SNL CLA JMP NINSRT TAD (-301 TAD TMP CLL CML TAD (-32 SNL CLA JMP EONAME NINSRT, TAD NMCT TAD (-6 SMA CLA JMP GTNMLP TAD NMCT CLL RAR TAD PN DCA TEMP1 TAD TMP AND (77 SZL JMP .+4 RTL RTL RTL TAD I TEMP1 DCA I TEMP1 ISZ NMCT JMP GTNMLP PERIOD, ISZ PRDSW JMP EONAME ISZ PN TAD (4 JMP GTNMX EONAME, TAD NMCT SZA CLA ISZ GETNAM JMP I GETNAM PRINT, 0 JMP .+3 TSF JMP .-1 TLS CLA TAD (NOP DCA PRINT+1 JMP I PRINT PAGE
/TELETYPE INPUT ROUTINE XGLINE, 0 TAD (": JMS I PCH DCA RBFLAG TAD (BEGLN-1 DCA LXR CHLOOP, KSF JMP CHLOOP TAD (200 KRS DCA NM1 KCC JMS SRCH -225;CTRLU -215;CARRET -377;RUBOUT -375;ALTMOD -376;ALTMOD -233;ALTMOD -212;LFEED -200;CHLOOP -217;CHLOOP /IGNORE ^O -203;7605 /MUST BE JUST BEFORE 0 ZROFUJ, 0 JMS PRNT CINSRT, TAD NM1 DCA I LXR TAD LXR TAD (-BEGLN-110 SPA CLA JMP CHLOOP CARRET, JMS I CRLF TAD LXR TAD (1-BEGLN SNA CLA JMP XGLINE+1 DCA I LXR DCA I LXR JMP I XGLINE PRNT, 0 ISZ RBFLAG JMP .+3 TAD (334 JMS I PCH DCA RBFLAG TAD NM1 JMS I PCH JMP I PRNT CTRLC, CTRLU, TAD (336 JMS I PCH TAD NM1 TAD (100 CLRLIN, JMS I PCH JMS I CRLF ISZ SRCH TAD I SRCH SZA CLA JMP XGLINE+3 JMP XGLINE+1 ALTMOD, TAD (244 DCA NM1 JMS PRNT JMP CARRET+1 RUBOUT, TAD LXR TAD (1-BEGLN SNA CLA JMP RBSPCL TAD (334 ISZ RBFLAG JMS I PCH CLA CMA DCA RBFLAG TAD LXR DCA TEMP1 TAD I TEMP1 JMS I PCH LBCKUP, CLA CMA TAD LXR JMP CHLOOP-1 RBSPCL, ISZ RBFLAG JMP CLRLIN+1 TAD (334 JMP CLRLIN SRCH, 0 TAD I SRCH ISZ SRCH SNA JMP I SRCH TAD NM1 SNA CLA JMP SFND ISZ SRCH JMP SRCH+1 SFND, TAD I SRCH DCA TEMP1 JMP I TEMP1 LFEED, JMS I CRLF DCA I LXR TAD (BEGLN-1 DCA XR TAD I XR SNA JMP LBCKUP JMS I PCH JMP .-4 PAGE
/STANDARD DEVICE LENGTH TABLES. /USERS MAY CHANGE THIS TABLE TO MAKE /NON-STANDARD DEVICES STANDARD. LENTBL, 0;0;0;0;0;1520 /RK8 (3248) 6000;4000;2000;1 /RF08 VARIOUS SIZES 7601;7401;7201;7001 /DF32 VARIOUS SIZES 6437;6437 /DECTAPE AND LINCTAPE 0 /MAGTAPE?? 6437 /TD8E DECTAPE ZBLOCK 60 /OTHERS /REVERSE ORDER SYSTEM TABLE HLP10E;HLP10D;HLP10C;HLP10B;HLP10A SYSTBL=.-1 MNOINP, TEXT \NOT NEUMERIC INPUT\ YESNO, TEXT \PLEASE ANSWER YES OR NO\ WNTHLP, TEXT \DO YOU WANT HELP?\ MYES, TEXT \YES\ MNO, TEXT \NO\ HEAD1, TEXT \THIS PROGRAM ESTABLISHES A PARAMETER BLOCK HEAD2, TEXT \ON DECSYSTEM-8 FILE STRUCTURED DEVICES\ HEAD3, TEXT \INPUT IS VIA THE REGULAR MONITOR LINE SCANNER\ MESDEV, TEXT \DEVICE NAME\ MGOOF1, TEXT \?BAD INPUT\ MNFLST, TEXT \DEVICE NOT FILE STRUCTURED\ MILLEG, TEXT \DIRECTORY OCCUPIES PARAMETER BLOCK\ MHAVPA, TEXT \DEVICE HAS PARAMETER BLOCK\ MDUMP, TEXT \DO YOU WISH TO DUMP IT?\ MESS0, TEXT \HANDLER ERROR READING BLOCKS 1-6 (PARITY?) MESS1, TEXT \SHALL I CONTINUE?\ MESS2, TEXT \DIRECTORY WILL BE ZEROED\ MESS3, TEXT \STANDARD DEVICE LENGTH?\ HELP3, TEXT \MOST DEVICES HAVE A STANDARD LENGTH\ HELP3A, TEXT \ANSWER YES TO THE NEXT QUESTION\ HELP3B, TEXT \UNLESS YOU HAVE A NON-STANDARD DEVICE.\ HELP3C, TEXT \STANDARD DEVICES ARE:\ HELP3D, TEXT \ DTAN,LTAN,DF32,RF08,RK8,TD8E\ MESS4, TEXT \DEVICE LENGTH (DECIMAL)\ MESS5, TEXT \SHALL I USE STANDARD SQUASH AND ZERO PARAMETERS?\ HELP5A, TEXT \FOR "SQUASH" AND "ZERO" THE FOLLOWING ARE OPTIONS:\ HELP5B, TEXT \ NO "ZERO" ALLOWED\ HELP5D, TEXT \ ONLY "SQUASH" TO MYSELF\ HELP5C, TEXT \ NO "SQUASH" PERIOD\ HELP5E, TEXT \STANDARD IS ONLY SELF SQUASH, NO ZERO\ MESS6, TEXT \"ZERO" ALLOWED?\ MESS7, TEXT \"SQUASH" FROM OTHER DEVICE ALLOWED?\ MESS8, TEXT \"SQUASH" TO MYSELF?\ MESS9, TEXT \IS A SYSTEM PRESENT?\ MESS10, TEXT \SYSTEM ID\ HLP10A, TEXT \ 0=UNASSIGNED \ HLP10B, TEXT \ 1=PS/8 \ HLP10C, TEXT \ 2=OS/8 \ HLP10D, TEXT \ 3=OS/12 \ HLP10E, TEXT \ 4=DECSYSTEM-8 \ MESS11, TEXT \VERSION NUMBER (ASSOCIATED WITH SYSTEM AREA)\ MESS12, TEXT \VERSION RELEASE NUMBER\ MESS13, TEXT \USER ASSIGNED DEVICE NAME \ HLP12A, TEXT \THE USER ASSIGNED NAME IS A LOGICAL NAME USED\ HLP12B, TEXT \BY AUTOAS. IT IS RECOMMENDED THAT THIS NAME\ HLP12C, TEXT \BE A TWO CHARACTER NAME STARTING WITH AN ALPHA\ HLP12D, TEXT \TO INSURE UNIQUENESS.\ MESS14, TEXT \ VOLUME ID \ HLP13A, TEXT \THE VOLUME ID IS AN EXTRA LABLE FOR IDENTIFICATION\ HLP13B, TEXT \PURPOSES ONLY. A DECIMAL NUMBER < 4096\ MESS15, TEXT \DESCRIPTIVE LABEL\ HLP15, TEXT \THE DESCRIPTIVE LABEL MAY BE ANY STRING OF\ HLP15B, TEXT \UP TO 127 CHARACTERS ON MULTIPLE LINES\ HLP15C, TEXT \IT MUST BE TERMINATED WITH A ^Z (CNT/Z)\ HLP15D, TEXT \FOLLOWED BY A CARRIAGE RETURN.\ MESS16, TEXT \MORE THAN 128 CHARS INPUT - TERMINATION FORCED\ MESS20, TEXT \ALL FORMS OF "SQUASH" ALLOWED\ MESS21, TEXT \ VERSION: MARK \ MES22A, TEXT \USE STANDARD START OF FILE STORAGE?\ MESS22, TEXT \FILE STORAGE STARTS AT BLOCK (DECIMAL) \ MESS23, TEXT \NO SYSTEM PRESENT\ HLP24A, TEXT \THE NEXT PARAMETER IS USED FOR "ZERO" TO DETERMINE\ HLP24B, TEXT \WHERE FILE STORAGE BEGINS\ HLP24C, TEXT \STANDARD IS 7 FOR NON-SYSTEM DEVICES, HLP24D, TEXT \56 FOR SYSTEM DEVICES\ MLOCK8, TEXT \MMMM!! THAT FEELS BETTER!\ MLOCK9, TEXT \SCRATCH A LITTLE TO THE LEFT....\ MMMM, TEXT \MMMMMMM!!\ MCHANG, TEXT \**CHANGE THIS**?\ ANSABC, TEXT \PLEASE ANSWER A, B, OR C \ MESS25, TEXT \DO YOU WISH TO\ MESS26, TEXT \ A:REPLACE\ MESS27, TEXT \ B:SELECTIVELY DECIDE MESS28, TEXT \ C:PRINT IT?\ MLOCK1, TEXT \PLEASE WRITE ENABLE THE DEVICE\ MLOCK2, TEXT \OUCH!!\ MLOCK3, TEXT \YOU FORGOT SOMETHING.\ MTHANK, TEXT \THANKS!\ MLOCK4, TEXT \CLUE: YOU NEED TO PRESS A SWITCH\ MLOCK5, TEXT \YOU DUMMY! I CAN'T DO EVERYTHING\ MLOCK6, TEXT \THE DEVICE NEEDS TO BE WRITE ENABLED\ MLOCK7, TEXT \NEXT TIME GET HELP!\ MAGAIN, TEXT \TRY AGAIN?\ NCONF, TEXT \ CONFLICTS WITH \
/TABLE OF USED PERMANENT DEVICE NAMES USEDL, 4631 /SYS 5723 /DSK 5524 /TTY 4020 /LPT 4024 /PTP 4224 /PTR 6504 /CDR 4604;4605;4606;4607;4610;4611;4612;4613 /DTAX 5604;5605;5606;5607;5610;5611;5612;5613 /LTAX 0 /ENDS LIST /TABLE OF USED DEVICE NAMES USEDN, DEVICE SYS;0 DEVICE DSK;0 DEVICE TTY;0 DEVICE LPT;0 DEVICE PTP;0 DEVICE PTR;0 DEVICE CDR;0 DEVICE DTA0;0 DEVICE DTA1;0 DEVICE DTA2;0 DEVICE DTA3;0 DEVICE DTA4;0 DEVICE DTA5;0 DEVICE DTA6;0 DEVICE DTA7;0 DEVICE LTA0;0 DEVICE LTA1;0 DEVICE LTA2;0 DEVICE LTA3;0 DEVICE LTA4;0 DEVICE LTA5;0 DEVICE LTA6;0 DEVICE LTA7;0
$



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search