10 REM > LineCont
   20 :
   30 pdev%=0:nobj%=1:y=1:p=2:r=3:DIM yaw(1),pitch(1),roll(1)
   40 :
   50 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
   60 IFok%:PROC1
   70 PRINT"Evaluate <fac> OP \ ... \ <fac>";FNnot(ok%)
   80 :
   90 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  100 IFok%:PROC2
  110 PRINT"Evaluate <fac> \ ... \ OP <fac>";FNnot(ok%)
  120 :
  130 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  140 IFok%:PROC3
  150 PRINT"Evaluate <fac> OP <fac> \ ... \ OP <fac>";FNnot(ok%)
  160 :
  170 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  180 IFok%:PROC4
  190 PRINT"Evaluate <fac> ^ \ ... \ <fac>";FNnot(ok%)
  200 :
  210 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  220 IFok%:PROC5
  230 PRINT"Evaluate <fac> \ ... \ ^ <fac>";FNnot(ok%)
  240 :
  250 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  260 IFok%:PROC6
  270 PRINT"DIM var(1, 2, \ ... \ 3, 4)";FNnot(ok%)
  280 :
  290 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  300 IFok%:PROC7
  310 PRINT"DIM var(1, 2 \ ... \ , 3, 4)";FNnot(ok%)
  320 :
  330 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  340 IFok%:PROC8
  350 PRINTCHR$13;"PRINT over lines";FNnot(ok%)
  360 :
  370 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  380 IFok%:PROC9
  390 PRINT"FN(...) calling DEFFN(\...\)<cr>=";FNnot(ok%)
  400 :
  410 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  420 IFok%:PROC10
  430 PRINT"FN(...) calling DEFFN(\...\)=";FNnot(ok%)
  440 :
  450 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  460 IFok%:PROC11
  470 PRINT"FN(\...\) calling DEFFN(...)";FNnot(ok%)
  480 :
  490 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  500 IFok%:PROC12
  510 PRINT"FN(\...\) calling DEFFN(\...\)<cr>=";FNnot(ok%)
  520 :
  530 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  540 IFok%:PROC13
  550 PRINT"FN(\...\) calling DEFFN(\...\)=";FNnot(ok%)
  560 :
  570 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  580 IFok%:PROC14
  590 PRINTCHR$13;"FN(...) calling DEFFN(...)=\..\";FNnot(ok%)
  600 :
  610 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  620 IFok%:PROC15
  630 PRINT"PROC(\...\)<cr> calling DEFPROC(...)";FNnot(ok%)
  640 :
  650 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  660 IFok%:PROC16
  670 PRINT"PROC(\..arrays..\<cr>) calling DEFPROC(...)";FNnot(ok%)
  680 :
  690 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  700 IFok%:PROC16a
  710 PRINT"PROC(\..arrays.\)<cr> calling DEFPROC(...)";FNnot(ok%)
  720 :
  730 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  740 IFok%:PROC17
  750 PRINT"PROC(...) calling DEFPROC(\...\<cr>)";FNnot(ok%)
  760 :
  770 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  780 IFok%:PROC18
  790 PRINT"PROC(\...\) calling DEFPROC(\...\)<cr>";FNnot(ok%)
  800 :
  810 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  820 IFok%:PROC19
  830 PRINT"PROCname calling DEFPROCname \...\";FNnot(ok%)
  840 :
  850 ok%=TRUE:ON ERROR ok%=FALSE:ON ERROR OFF
  860 IFok%:PROC20
  870 PRINT"PROCname calling DEFPROCname: \...\";FNnot(ok%)
  880 :
  890 END
  900 :
  910 DEFFNnot(A%)=" "+STRING$(44-POS,".")+LEFT$("not ",NOTA%)+"ok"
  920 :
  930 REM Test subroutines
  940 REM ----------------
  950 DEFPROC1
  960 _one=1:_two=2:_three=4:_four=8
  970 rbBand%  = _one OR _two OR \  mask options together
  980 \          _three OR _four
  990 ENDPROC
 1000 :
 1010 DEFPROC2
 1020 _one=1:_two=2:_three=4:_four=8
 1030 rbBand%  = _one \  mask options together
 1040 \          OR _three OR _four
 1050 ENDPROC
 1060 :
 1070 DEFPROC3
 1080 _one=1:_two=2:_three=4:_four=8
 1090 rbBand%  = _one OR _two \  mask options together
 1100 \          OR _three OR _four
 1110 ENDPROC
 1120 :
 1130 DEFPROC4
 1140 a=1:b=2
 1150 c = a ^ \
 1160 \ b
 1170 ENDPROC
 1180 :
 1190 DEFPROC5
 1200 a=1:b=2
 1210 c = a \
 1220 \ ^ b
 1230 ENDPROC
 1240 :
 1250 DEFPROC6
 1260 DIM ArmBand1(1, 1,  \ long DIM definition
 1270 \           1, 1)
 1280 ENDPROC
 1290 :
 1300 DEFPROC7
 1310 DIM ArmBand2(1, 1  \ long DIM definition
 1320 \           , 1, 1)
 1330 ENDPROC
 1340 :
 1350 DEFPROC8
 1360 PRINT "The quick brown";\ prelude
 1370 \     " fox";           \ subject
 1380 \     " jumps";         \ verb
 1390 \     " over";          \ conjunction
 1400 \     " the lazy dog";  \ object
 1410 \     "."
 1420 ENDPROC
 1430 :
 1440 DEFPROC9
 1450 A%=FN_cw(0,"","",1,2,3,4,5,6,7)
 1460 ENDPROC
 1470 :
 1480 DEFPROC10
 1490 A%=FN_dw(0,"","",1,2,3,4,5,6,7)
 1500 ENDPROC
 1510 :
 1520 DEFPROC11
 1530 A%=FN_wi(0   \
 1540 \       ,"", \
 1550 \        "", \
 1560 \       1,2,3,4,5,6,7)
 1570 ENDPROC
 1580 :
 1590 DEFPROC12
 1600 A%=FN_cw(0   \
 1610 \       ,"", \
 1620 \        "", \
 1630 \       1,2,3,4,5,6,7)
 1640 ENDPROC
 1650 :
 1660 DEFPROC13
 1670 A%=FN_dw(0   \
 1680 \       ,"", \
 1690 \        "", \
 1700 \       1,2,3,4,5,6,7)
 1710 ENDPROC
 1720 :
 1730 DEFPROC14
 1740 FOR A%=1 TO 12:PRINTCHR$13;A%;" ";FNmonth(A%);:NEXT
 1750 ENDPROC
 1760 :
 1770 DEFPROC15
 1780 PROCrend(pdev%,   \ pointer to Direct3D device
 1790 \        nobj%,   \ number of objects
 1800 \        y,       \ yaw angle
 1810 \        p,       \ pitch angle
 1820 \        r)       \ roll angle
 1830 \
 1840 ENDPROC
 1850 :
 1860 DEFPROC16
 1870 PROCrender(pdev%,   \ pointer to Direct3D device
 1880 \           nobj%,  \ number of objects
 1890 \           yaw(),  \ array of yaw angles
 1900 \           pitch(),\ array of pitch angles
 1910 \           roll()  \ array of roll angles
 1920 \          )
 1930 ENDPROC
 1940 :
 1950 DEFPROC16a
 1960 PROCrender(pdev%,   \ pointer to Direct3D device
 1970 \           nobj%,  \ number of objects
 1980 \           yaw(),  \ array of yaw angles
 1990 \           pitch(),\ array of pitch angles
 2000 \           roll()) \ array of roll angles
 2010 \
 2020 ENDPROC
 2030 :
 2040 DEFPROC17
 2050 PROCredraw(pdev%,nobj%,yaw(),pitch(),roll())
 2060 ENDPROC
 2070 :
 2080 DEFPROC18
 2090 PROCupdate(pdev%,nobj%,yaw(),pitch(),roll())
 2100 ENDPROC
 2110 :
 2120 DEFPROC19
 2130 PROCone
 2140 ENDPROC
 2150 :
 2160 DEFPROC20
 2170 PROCtwo
 2180 ENDPROC
 2190 :
 2200 REM Routines called by test routines
 2210 REM --------------------------------
 2220 DEFFN_cw(h%, s$, t$,                 \ handle and strings
 2230 \                  p1%, p2%, p3%,    \ parameters
 2240 \                  p4%, p5%, p6%, p7%\ more parameters
 2250 \                 )
 2260 =0
 2270 :
 2280 DEFFN_dw(h%, s$, t$,                 \ handle and strings
 2290 \                  p1%, p2%, p3%,    \ parameters
 2300 \                  p4%, p5%, p6%, p7%\ more parameters
 2310 \                 )=1
 2320 :
 2330 DEFFN_wi(h%, s$, t$, p1%, p2%, p3%, p4%, p5%, p6%, p7%)=2
 2340 :
 2350 DEFFNmonth(mon%) \
 2360 \ =MID$("JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember", \
 2370 \ VALMID$("010816212629333743525967",mon%*2-1,2), \
 2380 \ VALMID$("785534469788",mon%,1))
 2390 :
 2400 DEFPROCrend(pd%,no%,y,pi,rl)
 2410 ENDPROC
 2420 :
 2430 DEFPROCrender(pd%,no%,y(),pi(),rl())
 2440 ENDPROC
 2450 :
 2460 DEFPROCredraw(pd%, \
 2470 \             no%  \
 2480 \            ,y(), \
 2490 \             pi(),rl())
 2500 ENDPROC
 2510 :
 2520 DEFPROCupdate(pd%,       \
 2530 \             no%        \
 2540 \            ,y(),       \
 2550 \             pi(),rl()  \
 2560 \             )
 2570 ENDPROC
 2580 :
 2590 DEFPROCone  \
 2600 \           ENDPROC
 2610 :
 2620 DEFPROCtwo: \
 2630 \           ENDPROC