' ****** START INCLUDE UrlKey$(key$):::PUTSTRING(x%, y%, s$) ******
FUNCTION UrlKey$(key$)
  UrlKey$ = ""
  keyPos% = INSTR( UCASE$(UrlQueryString$), [ UCASE$(key$) + "=" ] )
  IF keyPos% THEN
      step1$ = RIGHT$( UrlQueryString$, [ LEN(UrlQueryString$) - keyPos% - LEN(key$) ] )
      step2% = INSTR(step1$, "&")
      UrlKey$ = IFF( step2%, [ LEFT$(step1$, step2% - 1 ) ], step1$)
  END IF
END FUNCTION

sub PUTSTRING(x%, y%, s$)
for c = 1 to len(s$)
   sc$ = MID$(s$, c, 1)
this$ = _GETCHR$(ASC(sc$))
for yi = 0 to 7
for xi = 0 to 7
x_pset% = x% + xi + (c-1)*8 : y_pset% = y% + yi
IF MID$(this$, (xi + yi*8) + 1, 1) = "X" AND BETWEEN(x_pset%, 0, _WIDTH-1) AND BETWEEN(y_pset%, 0, _HEIGHT-1)  THEN PSET (x_pset%, y_pset%)
next xi
next yi
next c
end sub
'  ****** END INCLUDE UrlKey$(key$):::PUTSTRING(x%, y%, s$) ******


t$ = URLKEY$("text") : IF t$ = "" THEN t$="Hello Big World!"
TextPosX% = 24

GOSUB ➔InitScreen

again:
    LOCATE 3,1 : PRINT SPC(LEN(t$)+6);
    PUTSTRING(TextPosX%, 8*2, [t$ + "    " + t$])
    LOCATE 3,1 : PRINT "*"; : LOCATE [3],[LEN(t$)+6] : PRINT "*";

    TextPosX% = [ TextPosX% - 1 ]
    IF TextPosX% < - LEN(t$)*8 THEN TextPosX% = 31
    _DELAY 0.025
GOTO again

END

➔InitScreen:
    SCREEN _NEWIMAGE([LEN(t$)+6]*8,5*8, 0)
    LOCATE 1,1
    PRINT STRING$(LEN(t$)+6, "*");
    PRINT "*" + SPC(LEN(t$)+4) + "*";
    LOCATE 3,1 : PRINT "*" + SPC(LEN(t$)+4) + "*";
    PRINT "*" + SPC(LEN(t$)+4) + "*";
    PRINT STRING$(LEN(t$)+5, "*"); : PUTSTRING((LEN(t$)+5)*8,8*4, "*")
  RETURN