10 CLEAR:TOP!=HIMEM-44:RESET!=HIMEM:MEMORY TOP!:TOP!=TOP!+1:XPOKE=TOP!:XPEEK!=TOP!+18 20 DATA 243,10,198,128,211,240,78,35,70,26,2,0,62,132,211,240,251,201 30 DATA 243,10,198,128,211,240,126,35,102,111,237,160,237,160,62,132,211,240,251,201 40 FOR A=0 TO 17:READ X:POKE XPOKE!+A,X:NEXT a 50 FOR A=0 TO 19:READ X:POKE XPEEK!+A,X:NEXT A: 60 DEFINT A-Z:DIM a$(704):E$=CHR$(27):T$(1)=CHR$(254):T$(2)=" ":BLOCK=2 70 C=16368:VALUE=255:FOR ADDR=C TO C+7:CALL XPOKE!(ADDR,VALUE,BLOCK):NEXT ADDR 80 clr$=e$+"H"+e$+"E":CLRWINDOW$=E$+"X"+CHR$(32)+CHR$(32)+CHR$(62)+CHR$(121) 90 DEF FNAT$(X,Y)=E$+"Y"+CHR$(31+X)+CHR$(31+Y):PRINT e$"f"e$"0"e$"v":r$=e$+"p":n$=e$+"q" 100 DEF FNwindow$(t,l,r,c)=e$+"X"+CHR$(31+t)+CHR$(31+l)+CHR$(31+c)+CHR$(31+r) 110 FOR X=1 TO 7:X$=X$+E$+"N"+CHR$(10):NEXT X:X$=X$+E$+"N":y$=e$+"H"+x$+FNat$(1,90) 120 line$=CHR$(13)+STRING$(3,10)+STRING$(90,154)+STRING$(3,10) 130 PRINT clr$:PRINT TAB(25)r$CHR$(134)STRING$(35,138)CHR$(140)n$:PRINT TAB(25)r$CHR$(133)" Window Display / Banner Creator "CHR$(133)n$:PRINT TAB(25)r$CHR$(131)STRING$(35,138)CHR$(137)n$ 140 PRINT:PRINT line$:PRINT TAB(32)r$" A "n$" - Window Display":PRINT 150 PRINT TAB(32)r$" B "n$" - Banner Creator":PRINT 160 PRINT TAB(32)r$" X "n$" - Exit Program":PRINT 170 PRINT TAB(32)r$" "e$"j"+" "n$" - Enter Option Required":PRINT line$ 180 PRINT FNat$(30,1)r$" (c) Copyright Square Two Software, Written by G.D.King. 20-10-86. Version V1.1a "n$FNwindow$(1,1,90,29)e$"k"; 190 x$="ABX":GOSUB 610:IF b$="X" THEN PRINT clrwindow$e$"v"e$"1"clr$:SYSTEM 200 PRINT clr$:IF b$="B" THEN 250 210 st=0:PRINT r$" Sliding Window Display "n$:PRINT 220 PRINT"If you enter a short message (Between 1-88 characters), it will be scrolled sideways" 230 PRINT"across the screen. This imitates the professional display systems which are so often" 240 PRINT"found in shop windows.":PRINT:PRINT"You'll need to press the "r$" CUT "n$" key to Exit to Menu.":GOTO 290 250 st=1:PRINT r$" Banner Creator "n$:PRINT 260 PRINT"By entering a short message (Between 1-88 Characters), a banner can be printed to the" 270 PRINT"printer. The characters which collectively make the banner, can be of seven" 280 PRINT"different sizes.":PRINT 290 PRINT FNat$(10,1)"Please enter Your text (1-88 Characters) below :":PRINT 300 PRINT r$SPACE$(88):PRINT FNat$(12,1)e$"e";:LINE INPUT t$:IF t$="" THEN 200 310 IF LEN(t$)>88 THEN t$=LEFT$(t$,88):PRINT:PRINT"You have entered more than 88 characters as a message, I will only accept the first 88.":PRINT 320 IF st=0 THEN 350 330 PRINT FNat$(15,1)n$"Please enter the required character size (1-7, 7=largest) ---> "r$; 340 INPUT "",sz:sz=INT(sz):PRINT:IF sz<1 OR sz>7 THEN 330 350 PRINT E$"f"n$:PRINT"Please wait a minute......":limit=LEN(t$)*8 360 P=1:FOR A=1 TO LEN(T$):X=ASC(MID$(T$,A,1)):C=14336+(X*8) 370 IF x=32 THEN FOR e=0 TO 7:a$(p+e)=" ":NEXT e:GOTO 410 380 FOR addr=c TO c+7:VALUE=0:CALL XPEEK!(ADDR,VALUE,BLOCK):VALUE=VALUE AND 255:s=8 390 FOR E=0 TO 7:S=S-1:A$(P+S)=A$(P+S)+t$(2+((value AND 2^e)=2^e))+CHR$(10):NEXT e 400 NEXT ADDR 410 p=p+8:NEXT a:IF st=1 THEN 470 420 PRINT E$"w"E$"E"E$"X"CHR$(42)CHR$(32)CHR$(41)CHR$(121) 430 FOR X=1 TO LIMIT:PRINT Y$A$(X):NEXT:FOR x=1 TO 32:PRINT y$:NEXT x:x$=INKEY$:IF x$="" THEN 430 440 IF ASC(x$)<>21 AND x$<>"@" THEN 430 450 IF x$="@" THEN PRINT clrwindow$;FNat$(31,1)STRING$(90,32);:GOTO 420 460 MEMORY RESET!:PRINT CLRWINDOW$E$"v":RUN 470 WIDTH LPRINT 255:LPRINT CHR$(24)e$"E"e$"A"CHR$(8)e$"J"CHR$(60) 480 PRINT clr$:PRINT TAB(30)r$CHR$(134)STRING$(29,138)CHR$(140)n$:PRINT TAB(30)r$CHR$(133)" B A N N E R P R I N T E R "CHR$(133)n$:PRINT TAB(30)r$CHR$(131)STRING$(29,138)CHR$(137)n$STRING$(5,10) 490 PRINT"String Now being Printed in character Size "r$;sz;n$:PRINT:PRINT FNat$(12,1)r$SPACE$(LEN(t$))n$:PRINT t$:f=LEN(t$)+1 500 k=7:t=0:FOR e=limit TO 1 STEP -1:k=k+1:IF k=8 THEN f=f-1:PRINT FNat$(12,f)r$MID$(t$,f,1)n$;:k=0 510 x$="":FOR a=1 TO LEN(a$(e)) 520 y$=MID$(a$(e),a,1):IF y$=t$(1) OR y$=t$(2) THEN FOR d=1 TO sz:x$=x$+y$:NEXT d 530 NEXT a:x=LEN(x$):y=x*8:a=y MOD 256:b=INT(y/256):FOR d=1 TO sz 540 IF x$=SPACE$(x) THEN LPRINT e$"3"CHR$(10):GOTO 590 550 LPRINT SPACE$(INT(35-(sz*8/2)))+e$+"K"+CHR$(a)+CHR$(b); 560 FOR c=1 TO x:IF MID$(x$,c,1)=" " THEN LPRINT STRING$(8,0); 570 IF MID$(x$,c,1)=CHR$(254) THEN LPRINT STRING$(8,255); 580 NEXT c:LPRINT e$"A"CHR$(8) 590 NEXT d:NEXT e:PRINT e$"q":MEMORY reset!:RUN 610 PRINT R$+CHR$(8);:B$=" "+CHR$(8) 620 GOSUB 670:PRINT B$;:A$=INKEY$:GOSUB 670:IF A$="" THEN PRINT ":"+CHR$(8);:GOTO 620 630 A$=UPPER$(A$):IF ASC(A$)=13 THEN 660 640 IF INSTR(X$,A$)=0 THEN 620 650 B$=A$+CHR$(8):GOTO 620 660 IF B$=" "+CHR$(8) THEN 620 ELSE PRINT N$+E$+"f":B$=LEFT$(B$,1):RETURN 670 FOR TIME=1 TO 150:NEXT TIME:RETURN ):GOTO 620 660 IF B$=" "+CHR$(8) THEN 620 ELSE PRINT N$+E$+"f":B$=LEFT$(B$,1):RETURN 670 FOR TI