9 'BIGTYPE 18 DEC 82 Hal Sampson 10 'add: roam thru larger screen 20 ' print screen translation to Epson, multiple character sets 30 ' scrolling 40 ' cursor off during screen print 50 ' absorb auto repeat when type too fast? 1000 REM Program to display dot matrix characters from ROM patterns 1010 REM Will Fastie -- 19 Nov 81 Creative Computing March 1982 1020 REM Entered by Patrick Leabo Tuscon 1030 DEFINT A-Z 1035 DIM B$(256),C$(256) 1040 DOTCHAR = 219 1065 CUR$=STRING$(7,DOTCHAR) 1070 GOSUB 1410 1072 KEY OFF 1075 DEF SEG:POKE 106,0 'FOR USE OF RUN SOFT KEY 1080 DEF SEG=&HF000 1090 BASEADR=&HFA6E 1100 BYTESPERCHAR=8 1115 FOR I=0 TO 15:M=1:D$="":FOR B=1 TO 4:D$=CHR$((I AND M)>0 AND DOTCHAR OR 32 AND (I AND M)=0)+D$:M=M+M:NEXT B:C$(I)=D$:C$(I16)=D$:I16=I16+16:NEXT I 1122 FOR I=0 TO 255:B$(I)=C$(I AND &HF0)+C$(I AND &HF):NEXT I 1130 CLS:LOCATE ,,0 1140 FOR X=1 TO 19 STEP 9 1150 FOR Y=1 TO 73 STEP 8 1160 RM=7+(X=19):CM=8+(X=19 AND Y=73) 1162 CHAR$=INKEY$:IF CHAR$<>"" THEN 1180 1165 LOCATE X+6,Y:PRINT CUR$;:FOR R=RM TO 0 STEP -1:LOCATE X+R,Y:PRINT LEFT$( " ",CM);:NEXT R 1170 CHAR$=INKEY$: IF CHAR$="" THEN 1165 1180 CODE =ASC(CHAR$):IF CODE=0 THEN CODE=ASC(RIGHT$(CHAR$,1))+300 1190 IF (CODE = 8 OR CODE=375) AND Y>8 THEN Y=Y-8:GOTO 1160 1195 IF CODE = 372 AND X>9 THEN X=X-9:GOTO 1160 1197 IF CODE = 377 AND Y<66 THEN Y=Y+8:GOTO 1160 1198 IF CODE = 380 AND X<19 THEN X=X+9:GOTO 1160 1199 IF CODE>=300 OR CODE =8 THEN 1160 1200 ADR = BASEADR + (CODE*BYTESPERCHAR) 1260 FOR ROW=0 TO RM:LOCATE X+ROW,Y:PRINT LEFT$(B$(PEEK(ADR+ROW)),CM);:NEXT ROW 1265 NEXT Y:NEXT X 1270 GOTO 1140 1410 REM Initialize display 1420 SCREEN 0:SCREENWIDTH=80 1430 RETURN