File CAM1.BAS

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

@E DIM X(75), Y(75) @@@J L=1@@@T Y0=-36 @@@^ Y1=36@@@( X0=-13.5 @@@2 X1=13.5@@@< GOSUB 1100 @@A$ P=10 @@A) 'GO TO STARTING POINT@@A. X=12 @@A8 Y=-36@@BB GOSUB 1300 @@BG ' DRAW X AXIS@@BL L=0@@BV X=-12@@B  GOSUB 1300 @@B" L=0@@B$ Y=36 @@B& X=-12@@B( GOSUB 1300 @@B* X=-12@@B, L=1@@B. GOSUB 1300 @@B/ GOSUB 600@@B0 Y9=-36 @@B1 J=0@@B2 Y9=-36 @@B4 FOR K=0 TO 5 @@B9 L=1@@B> X=-12@@CA I=2*K+1@@CC J=J+1@@CH Y=Y9+I @@CJ Y(J)=Y @@CM GOSUB 1300 @@CR L=0@@CW X=-12 + (K+1)@@CX X(J)=X @@C\ GOSUB 1300 @@C! Y9=Y @@C+ NEXT K @@C9 J=6@@C: FOR K=5 TO 0 STEP -1 @@C? L=1@@DD X=-12@@DI I=2*K+1@@DM J=J+1@@DN Y=Y9+I @@DP Y(J)=Y @@DS GOSUB 1300 @@DX L=0@@D] X=-12 + J@@D^ X(J)=X @@D" GOSUB 1300 @@D' Y9=Y @@D, NEXT K @@D5 J=12 @@D6 FOR K=0 TO 5 @@D; L=1@@E@ X=12 @@EE I=2*K+1@@EI J=J+1@@EJ Y=Y9 @@EL Y(J)=Y @@EO GOSUB 1300 @@ET L=0@@EY X=(J-1)-12 @@EZ X(J)=X @@E^ GOSUB 1300 @@E
 Y9=Y-I @@E( NEXT K @@E; J=18 @@E< FOR K=5 TO 0 STEP -1 @@FA L=1@@FF X=12 @@FK I=2*K+1@@FO J=J+1@@FP Y=Y9 @@FR Y(J)=Y @@FU GOSUB 1300 @@FZ L=0@@F
 X=(J-1)-12 @@F  X(J)=X @@F$ GOSUB 1300 @@F) Y9=Y-I @@F. NEXT K @@F8 L=1@@F= X=-12@@GB Y=-36@@GG GOSUB 1300 @@GL FOR J=1 TO 24@@GQ L=0@@GV X=X(J) @@G[ Y=Y(J) @@G  GOSUB 1300 @@G% NEXT J @@G( X=12 @@G) Y=-36@@G* L=0@@G+ GOSUB 1300 @@G/ GO TO 999@@IX FOR K=1 TO 12@@I] L=1@@I" X=X+1@@I' GOSUB 1300 @@I, L=0@@I1 Y=-36@@I6 GOSUB 1300 @@I; L=1@@J@ X=X+1@@JE GOSUB 1300 @@JJ L=0@@JO Y=36 @@JT GOSUB 1300 @@JY NEXT K @@J^ RETURN @@O' STOP @@QL ' INITIALIZATION @@QV PRINT@@Q  PRINT CHR$(16);@@Q* P9=0 @@Q4 RETURN @@R0 ' QUIT PLOTTING@@R: PRINT@@SD PRINT " "; @@SN RETURN @@TT ' POINT PLOTTER AT X,Y,L<>0 IS LIFT,X0,X1,Y0,Y1@@TW P8=0 @@T[ P6=0 @@T^ X2=INT(510*(X-X0)/(X1-X0))+INT(S)*P8 @@T( Y2=INT(510*(Y-Y0)/(Y1-Y0))+INT(S)*P6 @@T2 IF L=0 THEN 1350 @@T< L=64 @@UF X3=X2-X3 @@UP Y3=Y2-Y3 @@UZ P0=INT(ABS(X3)/50+ABS(Y3)/50)+1@@U$ FOR P1=1 TO P0 @@U. X4=X2-(X3/P0)*(P0-P1)@@U8 Y4=Y2-(Y3/P0)*(P0-P1)@@VB P3=64+INT(X4/8)@@VL GOSUB 1700 @@VV P3=64+INT(Y4/8)@@V  GOSUB 1700 @@V* P3=INT(Y4)-INT(Y4/8)*8 @@V4 P3=P3+8*(INT(X4)-INT(X4/8)*8)+L@@V> IF P3<127 THEN 1490@@WH P3=126 @@WR PRINT CHR$(P3);@@W\ P9=P9+1@@W& IF P9<20 THEN 1540 @@W0 GOSUB 1100 @@W: P9=0 @@XD NEXT P1@@XN L=0@@XX X3=X2@@X" Y3=Y2@@X, RETURN @@Z$ IF P3<127 THEN 1720@@Z. P3=63@@Z8 PRINT CHR$(P3);@@[B RETURN @@\H ' CHARACTER DRAWER AT X,Y,S=SIZE,C=CHARACTER (+SCALING)@@\R RESTORE@@\\ FOR P0=0 TO C*14 @@\& READ P8@@\0 NEXT P0@@\: L=1@@]D FOR P7=1 TO 7@@]N READ P6@@]X IF P8=-1 THEN 1910 @@]] IF P8=-2 THEN 1930 @@]" GOSUB 1310 @@]' READ P8@@], NEXT P7@@]6 L=1@@^@ RETURN @@^J L=1@@^T GOTO 1895@@
P DATA 0,0,4,8,4,0,0,0,0,8,4,8,-1,-1 @@
S DATA 0,6,2,8,2,0,0,0,4,0,-1,-1,-1,-1 @@
W DATA 0,6,2,8,4,6,0,0,4,0,-1,-1,-1,-1 @@
Z DATA 0,8,4,8,2,4,4,4,4,0,0,0,-1,-1 @@
] DATA 3,0,3,8,0,4,4,4,-1,-1,-1,-1,-1,-1 @@
! DATA 4,8,0,8,0,5,2,5,4,3,2,0,0,0 @@
$ DATA 0,8,0,0,4,0,4,4,0,4,-1,-1,-1,-1 @@
' DATA 0,8,4,8,0,0,-1,-1,-1,-1,-1,-1,-1,-1 @@
+ DATA 0,4,4,4,4,0,0,0,0,8,4,8,4,4 @@
. DATA 4,0,4,8,0,8,0,4,4,4,-1,-1,-1,-1 @@
1 DATA 0,0,4,8,-2,0,0,8,4,0,-1,-1,-1,-1@@
5 DATA 2,0,2,4,4,8,-2,0,0,8,2,4,-1,-1@@
7 DATA -1,-1 @@
> END@@
?@@@@F$ GOSUB 1300 @@F) Y9=Y-I @@F. NEXT K @@F8 L=1@@F= X=-12@@GB Y=-36@@GG GOSUB 1300 @@GL FOR J=1 TO 24@@GQ L=0@@GV X=X(J) @@G[ Y=Y(J) @@G  GOSUB 1300 @@G% NEXT J @@G( X=12 @@G) Y=-36@@G* L=0@@G+ GOSUB 1300 @@G/ GO TO 999@@IX FOR K=1 TO 12@@I] L=1@@I" X=X+1@@I' GOSUB 1300 @@I, L=0@@I1 Y=-36@@I6 GOSUB 1300 @@I; L=1@@J@ X=X+1@@JE GOSUB 1300 @@JJ L=0@@JO Y=36 @@JT GOSUB 1300 @@JY NEXT K @@J^ RETURN @@O' STOP @@QL ' INITIALIZATION @@QV PRINT@@Q  PRINT CHR$(16);@@Q* P9=0 @@Q4 RETURN @@R0 ' QUIT PLOTTING@@



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