Prints a message sideways on the 2040 printer. Messages are limited to 32 characters.
Appears on
Capital Area Timex Sinclair User Groupโs Library Tape.
Source Code
1 DIM B$(8,8) 2 PAPER 0: BORDER 0: INK 7: CLS 3 PRINT AT 10,4;"BANNER BY CHRIS RAYNAK" 4 PAUSE 250 5 PAPER 1: BORDER 1: CLS 6 PRINT "WHEN ENTERING YOUR MESSAGES YOU MUST REMEMBER THAT YOU ARE LIMITED TO 32 CHARACTERS." 7 PRINT "ALSO, YOU CANNOT USE USER DEFINED GRAPHICS OR REGULAR GRAPHICS FOR BANNERS. PLEASE SELECT ONE OF THE LETTER SIZES FROM BELOW." 8 PAPER 2: PRINT " ": PAPER 1 9 PRINT "1) 8X8"'"2) 16X16"'"3) 32X32": INPUT "YOUR SELECTION?";S: CLS 10 PRINT "PLEASE ENTER YOUR MESSAGE." 11 INPUT C$: IF LEN C$>32 THEN LET C$=C$(1 TO 32) 12 PAPER 3: PRINT AT 8,0;"YOUR MESSAGE IS BEING PROCESSED": PAPER 1 13 FOR Z=1 TO LEN C$: PRINT AT 10,Z-1;C$(Z): LET L=15359+(CODE C$(Z)*8): IF L>16383 THEN LET L=65367+8*(CODE C$(Z)-144) 14 REM ^FINDS ADDRESS OF FIRST SCAN LINE. 15 REM ************************* 16 REM CONVERTS DECIMAL # 17 REM OF THE SCAN LINE OF 18 REM CORRESPONDING CHARACTER 19 REM IN THE ROM TO BINARY. 20 REM ************************* 200 FOR X=1 TO 8 210 LET L=L+1: LET D=PEEK L 360 FOR A=1 TO 8 370 LET B$(X,9-A)=CHR$ (CODE "0"+D-2*INT (D/2)) 380 LET D=INT (D/2) 390 NEXT A 400 NEXT X 451 LET A$="" 452 REM ************************ ROTATES LETTER 90 DEGREES TO THE RIGHT. ************************ 460 FOR X=1 TO 8 470 FOR Y=8 TO 1 STEP -1 480 IF B$(Y,X)="1" THEN GO TO 486 481 IF S=1 THEN LET A$=A$+" " 482 IF S=2 THEN LET A$=A$+" " 483 IF S=3 THEN LET A$=A$+" " 484 GO TO 490 486 IF S=1 THEN LET A$=A$+"\ " 487 IF S=2 THEN LET A$=A$+"\ \ " 488 IF S=3 THEN LET A$=A$+"\ \ \ \ " 490 NEXT Y 491 FLASH 1: INK 0: PAPER 7: PRINT AT 12,3;"**PRINTER IN OPERATION**": FLASH 0 492 IF S=1 THEN LPRINT A$ 493 IF S=2 THEN LPRINT A$'A$ 500 IF S=3 THEN LPRINT A$'A$'A$'A$ 501 INK 7: PAPER 1: PRINT AT 12,3;" " 502 LET A$="" 510 NEXT X 520 NEXT Z 530 PRINT AT 13,0;"WOULD YOU LIKE TO PRINT ANOTHER MESSAGE?": INPUT A$: IF A$(1)="N" OR A$(1)="n" THEN GO TO 1000 540 INPUT "SAME LETTER SIZE?";A$: IF A$(1)="N" OR A$(1)="n" THEN CLS : GO TO 8 550 CLS : GO TO 10 1000 REM *********************** 1010 REM MEMORY USED=2040 BYTES* 1020 REM ***********************