Magnabanner

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

Appears on

Library tape of the Indiana Sinclair Timex User’s Group.

Source Code

    1 BORDER 0: POKE 23624,6: LET t=255: CLEAR (256*t-769): GO SUB 70: FOR i=0 TO 79: READ h: POKE (i+256*torg),h: NEXT i: POKE 23296,0: REM MACHINE CODE LOADER
    2 POKE 23658,8: POKE 23609,50: CLS : PRINT INK 2;AT 8,5;" S E L E C T   T Y P E "''': PRINT TAB 5;"MAGNABANNER ......... M";''TAB 5;"PROGRAMMED BANNER ... P": INPUT "SELECT  M / P :";i$: IF i$="P" THEN GO TO 10
    3 GO SUB 95: GO SUB 17: INPUT "MESSAGE ";Z$: LET s=LEN Z$: FOR x=1 TO s: LET p$="\':": LET g$="\:.": LET a$=z$(x): GO SUB 19: LPRINT y$: IF x=s THEN GO TO 2: IF INKEY$<>"" THEN STOP 
    5 NEXT x: GO TO 2: REM LINES 3-5 PRINT PROGRAMMED TITLE BANNER
    6 GO TO 2: BEEP 1,-10: PAUSE 100: FOR k=65 TO 68: FOR a=1 TO 16: GO SUB 125: LET a$=STR$ a: POKE 23692,0: GO SUB 60: IF INKEY$<>"" THEN GO TO 9: REM LINES 6-9 ARE THE DEMO
    7 IF a>12 THEN LET c=0: LET c$=""
    8 LET c=0: LET e=0: GO SUB 115: GO SUB 17: GO SUB 19: LPRINT a: PRINT a: PAUSE 200: NEXT a: NEXT k
    9 IF INKEY$="" THEN GO TO 6: REM LINES 10-17 ARE THE MAIN PROGRAM
   10 POKE 23607,60: INPUT "SIZE? (1-16) ";a
   11 INPUT "ENTER TYPE THAT YOU WANT  (BOLD,MODERN,ITALICS,REGULAR) ";z$: LET z$=z$+"1"
   12 INPUT "ENTER YOUR MESSAGE ";a$
   13 INPUT "DO YOU WANT YOUR MESSAGE IN THE CENTER OF THE PAPER,IN THE TOP  OF THE PAPER OR THE BOTTOM OF   THE PAPER? ";c$
   14 INPUT "ENTER PRINT CHARACTER ";p$: INPUT "ENTER BACKGROUND CHARACTER ";G$
   15 IF a$="" OR g$="" OR p$="" OR a<1 OR a>16 OR (c$<>"c" AND c$<>"C" AND c$<>"t" AND C$<>"T" AND c$<>"b" AND c$<>"B") OR (z$<>"B1" AND z$<>"b1" AND z$<>"M1" AND z$<>"m1" AND z$<>"I1" AND z$<>"i1" AND z$<>"R1" AND z$<>"r1") THEN GO TO 5: REM CHECK FOR INPUT ERRORS
   16 GO SUB 17: GO SUB 19: GO TO 10
   17 LET z=VAL z$: GO SUB z: CLS : POKE 23692,0: LET v2=INT ((a/4)+(1 AND a<>4 AND a<>8 AND a<>12 AND a<>16)): IF (c$<>"b" AND c$<>"B") AND a<13 THEN LET e=32-(v2*8): IF (c$="c" OR c$="C") AND a<13 THEN LET e=e-(e/2)
   18 RETURN 
   19 LET c$="": FOR d=1 TO e: LET c$=c$+" ": NEXT d: LET h$=g$(1): LET q$=p$(1): FOR v=1 TO v2-1: LET g$=g$+h$: LET p$=p$+q$: NEXT v
   20 FOR j=1 TO LEN a$: REM LINES 19-45 ARE THE MAGNIFY SUB
   21 LET co=PEEK 23693: POKE 23693,INT (co/8)*8: PRINT AT 21,0;a$(j): LET x$="": POKE 23693,co
   23 REM x$="THE VARIABLE CHARACTER IS STORED IN
   30 FOR c=0 TO 7: FOR r=0 TO 7
   35 IF POINT (c,r)=1 THEN LET x$=x$+p$: GO TO 45
   40 LET x$=x$+g$
   45 NEXT r: NEXT c: PRINT AT 0,0;
   47 REM PRINT SUB
   50 LET n2=v2*4+1: LET s=v2*8: LET g2=v2*64: LET g3=s-1: REM SETS VARIABLES FOR PRINTING
   55 FOR g=1 TO g2 STEP s: FOR n=1 TO n2-a: LPRINT c$;x$(g TO g+g3): PRINT c$;x$(g TO g+g3): NEXT n: NEXT g: NEXT j: RETURN 
   57 REM RANDOM BACKGROUND & PRINT CHARACTERS FOR THE DEMO
   60 RANDOMIZE 0: LET c=INT (RND*3): GO SUB 100: LET g=INT (RND*26): LET g$=CHR$ (g+32): LET p$=CHR$ (g+64): RETURN 
   63 REM  EXTRA TYPE STYLE SUBS (FROM AUGUST ISSUE RAMTOP MODIFIED)
   65 POKE 23607,60: RETURN 
   66 LET typ=2: POKE 23618,68: POKE 23619,0: POKE 23620,2
   67 LET typ=1: POKE 23618,68: POKE 23619,0: POKE 23620,2
   68 LET typ=0: RANDOMIZE USR (torg*256+2-typ): POKE 23607,torg-4: RETURN 
   70 LET torg=255: LET r=65: LET r1=r: LET b=66: LET b1=b: LET m=67: LET m1=m: LET i=68: LET i1=i: REM VARIABLES FOR TYPE STYLELINE NUMBERS
   75 RETURN 
   80 DATA 0,0,121,203,39,203,39,50,21,255,33,0,61,17,0,torg-3
   90 DATA 1,0,3,126,24,48,203,63,24,44,230,112,24,37,121,230,7,203,39,50,40,255,126,24,30,24,28,24,16,24,14,24,14,24,20,24,18,24,2,200,63,203,63,24,10,203,39,203,39,24,4,183,203,39,182,18,35,19,11,120,177,32,196,201
   93 REM MACHINE CODE FOR EXTRA TYPE STYLES
   95 LET c$="": LET e=0: LET z$="b1": LET j$="\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':\':": LET y$="\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.\:.": LET a=15: RETURN : REM INITIALIZE PRORAMMED BANNER VARIABLES
   97 REM C$=WHETHER TO PRINT ON THE BOTTOM,THE TOP OR THE CENTER OF THE PAPER
  100 LET C$=("b" AND c=0)+("c" AND c=1)+("t" AND c=2)
  105 RETURN : REM SET C$ FOR THE DEMO
  110 REM k=WHETHER TO HAVE BOLD,MODERN,ITALICS OR REGULAR PRINT FOR THE DEMO
  115 LET z$=("r1" AND k=65)+("b1" AND k=66)+("m1" AND k=67)+("i1" AND k=68)
  120 RETURN : REM SET K FOR THE DEMO
  125 GO SUB b1: PRINT #1;AT 0,14;"DEMO": GO SUB r1: RETURN 
 9998 SAVE "MAGNABANER" LINE 1: REM VERIFY ""

People

No people associated with this content.

Scroll to Top