10 REM > WinDemo
   20 REM Window demo
   30 MODE0:PROCwin_init(40,"Window 1","Window 2")
   40 ON ERROR IF FNerr END
   50 REPEATUNTILFNgo
   60 END
   70 :
   80 DEFFNerr:REPORT:PRINT:=INKEY-1
   90 :
  100 REM Windows
  110 DEFPROCwin_init(size%,T1$,T2$)
  120 DIM x%(2),y%(2):win%=0:wsize%=size%
  130 VDU26:PRINT"£";STRING$((size%-LENT1$)DIV2,"¦");T1$;STRING$(size%-(size%-LENT1$)DIV2-LENT1$,"¦");"§";STRING$((77-size%-LENT2$)DIV2,"¦");T2$;STRING$(77-size%-(77-size%-LENT2$)DIV2-LENT2$,"¦");"¥©";
  140 FOR A%=1 TO 25:VDU31,size%+1,A%,169,31,79,A%,169,169-(A%=25):NEXT
  150 PRINTSTRING$(size%,"¦");"®";STRING$(77-size%,"¦");"¬"
  160 ENDPROC
  170 :
  180 :
  190 DEFFNw(A%):IF A%=win%:=""
  200 x%(win%)=POS:y%(win%)=VPOS
  210 IF A%=2 VDU28,0,31,79,27 ELSE VDU28,1+wsize%*A%+A%,25,78-(78-wsize%)*(1-A%),1
  220 VDU31,x%(A%),y%(A%):win%=A%:=""
  230 :
  240 :
  250 :
  260 DEFFNgo
  270 PRINTFNw(2);:INPUTLINE":"A$
  280 IF LEFT$(A$,1)="*" PRINTFNw(0);:OSCLIA$:=FALSE
  290 PRINTFNw(1);"Command: ";A$
  300 IF A$="CLS" PRINTFNw(0);:CLS:PRINTFNw(1);:CLS:PRINTFNw(2);:CLS:=FALSE
  310 =A$="END"
65321 WAIT
10240 <FPdnxEORTHENADVALEVALLNSGNGET$LOADLOMEMDATAGCOLPLOTSTOPCIRCLEMOUSECIRCLEPRIVATECIRCLECIRCLE"
11265 %%(FILLFILLINSTALLCIRCLEy$in%ELLIPSEssize%<
  140 got#COUNT$wLOAD"$$š$*.rerr[!w(2
15162 FALSE CIRCLEBGET =A$="END" OSCLITINT(2<FPZdnxEORTHENADVALEVALLNSGNGET$LOAD