001 REM ------------ LAWRENCE UNIVERSITY ------------ REM ------------ COMPUTER CENTER ------------ REM ------------ APPLETON, WISCONSIN 54911 ------ 002 REM ------------ (414) 739-3681 ------------ !--------------- REM -- PROGRAM NAME, VERSION AND DATE -- 003 REM -- STLOAD VERSION 1A 04-JULY-74 !--------------- REM -- PROGRAM AUTHORSHIP -- 004 REM -- STLOAD WAS WRITTEN BY S. HOLMGREN, LAWRENCE UNIVERSITY REM -- COMPUTER CENTER. !--------------- 005 REM -- PURPOSE OF PROGRAM -- REM -- STLOAD LOADS THE VIRTUAL CORE MATRIX THAT CONTAINS REM -- THE BIT PATTERNS FOR THE FILE NAME PUNCHED 006 REM -- BY PROGRAM 'PUNCH.' THE MATRIX IS STORED AS FILE REM -- '$PUNCH.CHR.' !--------------- 007 REM -- LANGUAGE AND OPERATING SYSTEM -- REM -- PUNCH IS WRITTEN IN BASIC-PLUS FOR USE UNDER RSTS-11 ON REM -- A PDP-11 WITH AT LEAST ONE DISK DRIVE. 008 !--------------- REM -- AVAILABILITY -- REM -- STLOAD IS A NON-PROPRIETARY PROGRAM PRODUCT OF LAWRENCE 009 REM -- UNIVERSITY. IT IS DISTRIBUTED AT COST FOR EDUCATIONAL REM -- USE ON THE CONDITION THAT IT NOT BE SOLD, RENTED, OR REM -- LEASED FOR PROFIT. !--------------- 010 REM -- LIMITATIONS -- REM -- STLOAD MUST BE RUN FROM ACCOUNT [1,2]. !--------------- 011 REM -- FURTHER DOCUMENTATION -- REM -- FOR RELATED DOCUMENTATION, SEE ESPD NO. PDP11/74/022 FOR REM -- PROGRAM 'PUNCH.BAS.' !--------------- 012 REM -- DISCLAIMER -- REM -- NEITHER THE AUTHORS OF THIS PROGRAM NOR LAWRENCE REM -- UNIVERSITY ASSUME ANY LIABILITY, EXPRESSED OR IMPLIED, 013 REM -- WITH RESPECT TO THE CORRECTNESS OR PERFORMANCE OF THIS REM -- PROGRAM. !--------------- 220 ON ERROR GO TO 470 230 LET P$="$PUNCH.CHR" 240 DEF FNQ$(N,X): A$=B$ 250 FOR I=1 TO N : A$=A$ + CHR$(X(I)): NEXT I 260 FNQ$=A$ : FNEND 270 DIM A(4),X(10) 280 C$=CHR$(0) : C$=C$+C$+C$+C$+C$ 290 NAME P$ AS P$+"<60>" 300 OPEN P$ AS FILE 1 310 DIM #1, V$(48)=8,K%(1) ! MAXIMUM OF 8 CHAR. STRING 320 ! THE SUBSCRIPT IS DEFINED AS THE ASCII EQUIVALENT OF 330 ! THE LETTER MINUS 47 340 V$(0)="\TESTER/" 350 D$=DATE$(0)+" AT "+TIME$(0) 360 V$(46)=LEFT(D$,8) : V$(47)=MID(D$,9,8) : V$(48)=RIGHT(D$,17) 370 FOR I=11TO 17 : V$(I) = C$ : NEXT I 380 READ A$,N1 : CHANGE A$ TO A 390 IF A$="\" OR A(0) = 92 GOTO 420 400 FOR K=1 TO N1 : READ X(K) : NEXT K 410 R=A(1)-47 : V$(R)=FNQ$(N1,X) : GOTO 380 420 PRINT ' END OF "STRING.SLH" LOADING' 430 K%(1) = 0 : CLOSE 1 440 PRINT " FILE IS NOW WRITE-PROTECTED" 450 STOP 460 !*******ROUTINE FOR ERROR HANDLING******** 470 IF ERR=5 THEN GO TO 300 ELSE ON ERROR GOTO 0 480 !***************************************** 490 DATA A,5,126,1,1,1,126,B,5,127,73,73,73,54 500 DATA C,5,127,65,65,65,99,D,5,127,65,65,65,62 510 DATA E,5,127,73,73,73,65,F,5,127,1,1,1,1 520 DATA G,5,127,65,73,73,121,H,5,127,0,0,0,127 530 DATA I,5,0,65,127,65,0,J,6,32,65,65,63,1,1 540 DATA K,5,127,8,20,34,65,L,5,127,64,64,64,64 550 DATA M,7,127,2,4,8,4,2,127,N,5,127,4,8,16,127 560 DATA O,5,62,65,65,65,62,P,5,127,1,1,1,6 570 DATA Q,5,62,65,81,97,62,R,5,127,1,1,1,126 580 DATA S,5,71,65,65,65,123,T,5,1,1,127,1,1 590 DATA U,5,63,64,64,64,63,V,5,15,32,64,32,15 600 DATA W,7,63,64,32,28,32,64,63,X,5,65,20,0,20,65 610 DATA Y,5,3,4,120,4,3,Z,6,97,81,73,65,69,67 620 DATA 1,3,66,127,64,2,5,98,81,81,73,70 630 DATA 3,5,34,65,73,73,54,4,5,15,8,8,8,127 640 DATA 5,5,103,65,65,65,121,6,5,62,73,73,73,48 650 DATA 7,5,1,1,121,5,3,8,5,54,73,73,73,54 660 DATA 9,5,38,65,65,65,62,0,5,62,81,73,69,62 670 DATA \,5 680 END