Banner

Developer(s): Christopher Raynak
Date: 198x
Type: Program
Platform(s): TS 2068

Prints a message sideways on the 2040 printer. Messages are limited to 32 characters.

Content

Appears On

Capital Area Timex Sinclair User Group’s Library Tape.

Related Products

Related Articles

Related Content

Image Gallery

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 ***********************
Scroll to Top