WINDEMOM.LST 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677
  1. Listing:
  2. 1 (*========================================================
  3. 2 == TopSpeed Modula-2 V3.10 ==
  4. 3 == demo program: ==
  5. 4 == ==
  6. 5 == Window Demonstration: Window and Process Modules ==
  7. 6 == ==
  8. 7 ========================================================*)
  9. 8 MODULE WinDemoM ;
  10. 9
  11. 10 IMPORT SYSTEM,Window,IO,Lib,Str,Process ;
  12. 11
  13. 12 (*%F _mthread *)
  14. 13 "Make in mthread model only";
  15. 14 (*%E *)
  16. 15 (*%T _mthread *)
  17. 16 (*%T _OS2 *)
  18. 17 IMPORT Vio,Kbd;
  19. 18 (*%E *)
  20. 19
  21. 20 VAR
  22. 21 IsBW : BOOLEAN ;
  23. 22
  24. 23 TYPE KBFlagSet = SET OF ( RShift, LShift, Ctrl, Alt, Scroll, Num, Cap, Ins ) ;
  25. ***** ^ not supported yet
  26. 24
  27. 25 (*%F _OS2*)
  28. 26 PROCEDURE KBFlags () : KBFlagSet ;
  29. 27 VAR R : SYSTEM.Registers;
  30. 28 BEGIN
  31. 29 R.AH := 2 ;
  32. 30 Lib.Intr(R,16H);
  33. 31 RETURN KBFlagSet(R.AL) ;
  34. 32 END KBFlags ;
  35. 33 (*%E*)
  36. 34
  37. 35 (*%T _OS2*)
  38. 36 PROCEDURE KBFlags () : KBFlagSet ;
  39. 37 VAR
  40. 38 ks : Kbd.KBDINFO;
  41. ***** ^ not supported yet
  42. 39 CurFlags: KBFlagSet;
  43. ***** ^ not supported yet
  44. 40 BEGIN
  45. 41 ks.b := SIZE(ks);
  46. ***** ^ not supported yet
  47. ***** ^ not supported yet
  48. ***** ^ undeclared identifier
  49. ***** ^ not supported yet
  50. 42 IF Kbd.GetStatus(ks,0)=0 THEN
  51. ***** ^ not supported yet
  52. ***** ^ not supported yet
  53. ***** ^ not supported yet
  54. ***** ^ not supported yet
  55. 43 CurFlags := KBFlagSet(ks.state);
  56. ***** ^ not supported yet
  57. ***** ^ not supported yet
  58. ***** ^ not supported yet
  59. 44 END;
  60. 45 RETURN CurFlags ;
  61. ***** ^ not supported yet
  62. 46 END KBFlags ;
  63. ***** ^ not supported yet
  64. 47 (*%E*)
  65. 48
  66. 49 PROCEDURE CheckScrollLock () ;
  67. 50 VAR
  68. 51 kf : KBFlagSet;
  69. ***** ^ not supported yet
  70. 52 BEGIN
  71. 53 IF Scroll IN KBFlags() THEN
  72. ***** ^ not supported yet
  73. ***** ^ not supported yet
  74. ***** ^ not supported yet
  75. 54 Process.Lock();
  76. ***** ^ not supported yet
  77. ***** ^ not supported yet
  78. ***** ^ not supported yet
  79. 55 REPEAT Lib.Delay(10) UNTIL NOT (Scroll IN KBFlags());
  80. ***** ^ not supported yet
  81. ***** ^ not supported yet
  82. ***** ^ not supported yet
  83. ***** ^ not supported yet
  84. ***** ^ not supported yet
  85. ***** ^ not supported yet
  86. 56 Process.Unlock();
  87. ***** ^ not supported yet
  88. ***** ^ not supported yet
  89. ***** ^ not supported yet
  90. 57 END;
  91. 58
  92. 59 END CheckScrollLock ;
  93. ***** ^ not supported yet
  94. 60
  95. 61 PROCEDURE SetC ( cc,bwc : Window.Color ) ;
  96. ***** ^ not supported yet
  97. 62 BEGIN
  98. 63 IF IsBW THEN cc := bwc END ;
  99. ***** ^ not supported yet
  100. ***** ^ not supported yet
  101. 64 Window.TextColor(cc) ;
  102. ***** ^ not supported yet
  103. ***** ^ not supported yet
  104. ***** ^ not supported yet
  105. 65 END SetC ;
  106. ***** ^ not supported yet
  107. 66
  108. 67
  109. 68
  110. 69 PROCEDURE Intro ;
  111. 70 (* Display startup and demonstration description *)
  112. 71
  113. 72 TYPE W = RECORD x,y : CARDINAL END ;
  114. ***** ^ not supported yet
  115. 73 WW = ARRAY[0..29] OF W ;
  116. ***** ^ not supported yet
  117. ***** ^ not supported yet
  118. 74 CONST
  119. 75 ww = WW( W(0,0) ,W(5,0) ,W(10,0),W(15,0),W(20,0),
  120. ***** ^ not supported yet
  121. ***** ^ not supported yet
  122. ***** ^ not supported yet
  123. ***** ^ not supported yet
  124. ***** ^ not supported yet
  125. 76 W(10,2) ,W(10,4),W(10,6),W(10,8),W(10,10),
  126. ***** ^ not supported yet
  127. ***** ^ not supported yet
  128. ***** ^ not supported yet
  129. ***** ^ not supported yet
  130. ***** ^ not supported yet
  131. 77 W(5,10) ,W(0,10),W(35,4),W(35,2),W(35,0),
  132. ***** ^ not supported yet
  133. ***** ^ not supported yet
  134. ***** ^ not supported yet
  135. ***** ^ not supported yet
  136. ***** ^ not supported yet
  137. 78 W(40,0), W(45,0),W(50,2),W(50,4),W(45,6),
  138. ***** ^ not supported yet
  139. ***** ^ not supported yet
  140. ***** ^ not supported yet
  141. ***** ^ not supported yet
  142. ***** ^ not supported yet
  143. 79 W(40,6), W(35,6),W(35,8),W(35,10),W(65,0),
  144. ***** ^ not supported yet
  145. ***** ^ not supported yet
  146. ***** ^ not supported yet
  147. ***** ^ not supported yet
  148. ***** ^ not supported yet
  149. 80 W(65,2), W(65,4),W(65,6),W(65,8),W(65,10)
  150. ***** ^ not supported yet
  151. ***** ^ not supported yet
  152. ***** ^ not supported yet
  153. ***** ^ not supported yet
  154. ***** ^ not supported yet
  155. 81 ) ;
  156. 82
  157. 83 PROCEDURE IntroText ;
  158. 84 BEGIN
  159. 85 SetC(Window.White,Window.LightGray);
  160. ***** ^ not supported yet
  161. ***** ^ not supported yet
  162. ***** ^ not supported yet
  163. ***** ^ not supported yet
  164. ***** ^ not supported yet
  165. 86 IO.WrLn ; IO.WrStr(' This is a demonstration of the ');
  166. ***** ^ not supported yet
  167. ***** ^ not supported yet
  168. ***** ^ not supported yet
  169. ***** ^ not supported yet
  170. ***** ^ not supported yet
  171. 87 SetC(Window.Yellow,Window.White); IO.WrStr('Window') ;
  172. ***** ^ not supported yet
  173. ***** ^ not supported yet
  174. ***** ^ not supported yet
  175. ***** ^ not supported yet
  176. ***** ^ not supported yet
  177. ***** ^ not supported yet
  178. ***** ^ not supported yet
  179. ***** ^ not supported yet
  180. 88 SetC(Window.White,Window.LightGray); IO.WrStr(' and ') ;
  181. ***** ^ not supported yet
  182. ***** ^ not supported yet
  183. ***** ^ not supported yet
  184. ***** ^ not supported yet
  185. ***** ^ not supported yet
  186. ***** ^ not supported yet
  187. ***** ^ not supported yet
  188. ***** ^ not supported yet
  189. 89 SetC(Window.Yellow,Window.White) ; IO.WrStr('Process') ;
  190. ***** ^ not supported yet
  191. ***** ^ not supported yet
  192. ***** ^ not supported yet
  193. ***** ^ not supported yet
  194. ***** ^ not supported yet
  195. ***** ^ not supported yet
  196. ***** ^ not supported yet
  197. ***** ^ not supported yet
  198. 90 SetC(Window.White,Window.LightGray); IO.WrStr(' Modules') ;
  199. ***** ^ not supported yet
  200. ***** ^ not supported yet
  201. ***** ^ not supported yet
  202. ***** ^ not supported yet
  203. ***** ^ not supported yet
  204. ***** ^ not supported yet
  205. ***** ^ not supported yet
  206. ***** ^ not supported yet
  207. 91 IO.WrLn ;
  208. ***** ^ not supported yet
  209. ***** ^ not supported yet
  210. 92 IO.WrLn ;
  211. ***** ^ not supported yet
  212. ***** ^ not supported yet
  213. 93 SetC(Window.LightGray,Window.LightGray);
  214. ***** ^ not supported yet
  215. ***** ^ not supported yet
  216. ***** ^ not supported yet
  217. ***** ^ not supported yet
  218. ***** ^ not supported yet
  219. 94 IO.WrStr(' 9 time-sliced processes are created, which output to,');IO.WrLn;
  220. ***** ^ not supported yet
  221. ***** ^ not supported yet
  222. ***** ^ not supported yet
  223. ***** ^ not supported yet
  224. ***** ^ not supported yet
  225. 95 IO.WrStr(' move, re-size and re-colour 4 overlapping windows');IO.WrLn;
  226. ***** ^ not supported yet
  227. ***** ^ not supported yet
  228. ***** ^ not supported yet
  229. ***** ^ not supported yet
  230. ***** ^ not supported yet
  231. 96 IO.WrLn ;
  232. ***** ^ not supported yet
  233. ***** ^ not supported yet
  234. 97 SetC(Window.White,Window.White);
  235. ***** ^ not supported yet
  236. ***** ^ not supported yet
  237. ***** ^ not supported yet
  238. ***** ^ not supported yet
  239. ***** ^ not supported yet
  240. 98 IO.WrStr(' Press any key to start, Esc to finish and ScrollLock to freeze ');
  241. ***** ^ not supported yet
  242. ***** ^ not supported yet
  243. ***** ^ not supported yet
  244. 99 END IntroText ;
  245. ***** ^ not supported yet
  246. 100
  247. 101 VAR
  248. 102 WD : Window.WinDef ;
  249. ***** ^ not supported yet
  250. 103 w : Window.WinType ;
  251. ***** ^ not supported yet
  252. 104 title : ARRAY[0..39] OF CHAR ;
  253. ***** ^ not supported yet
  254. ***** ^ not supported yet
  255. 105 Win : ARRAY[0..29] OF Window.WinType ;
  256. ***** ^ not supported yet
  257. ***** ^ not supported yet
  258. 106 i,j,wn : CARDINAL ;
  259. 107 num : ARRAY[0..6] OF CHAR ;
  260. ***** ^ not supported yet
  261. ***** ^ not supported yet
  262. 108 b,up : BOOLEAN ;
  263. 109 DescWin : Window.WinType ;
  264. ***** ^ not supported yet
  265. 110 delay : CARDINAL ;
  266. 111 exit,
  267. 112 change : BOOLEAN ;
  268. 113 CONST
  269. 114 targetX = 32 ;
  270. 115 targetY = 5 ;
  271. 116 BEGIN
  272. 117 Window.CursorOff;
  273. ***** ^ not supported yet
  274. ***** ^ not supported yet
  275. 118 FOR i := 0 TO 29 DO
  276. 119 WITH WD DO
  277. ***** ^ not supported yet
  278. 120 IF i<30 THEN
  279. 121 IF IsBW THEN
  280. 122 IF ODD(i) THEN
  281. ***** ^ undeclared identifier
  282. ***** ^ not supported yet
  283. 123 Background := Window.Black ;
  284. ***** ^ undeclared identifier
  285. ***** ^ not supported yet
  286. ***** ^ not supported yet
  287. 124 Foreground := Window.White ;
  288. ***** ^ undeclared identifier
  289. ***** ^ not supported yet
  290. ***** ^ not supported yet
  291. 125 ELSE
  292. 126 Background := Window.LightGray ;
  293. ***** ^ undeclared identifier
  294. ***** ^ not supported yet
  295. ***** ^ not supported yet
  296. 127 Foreground := Window.Black ;
  297. ***** ^ undeclared identifier
  298. ***** ^ not supported yet
  299. ***** ^ not supported yet
  300. 128 END ;
  301. 129 ELSE
  302. 130 Background := Window.Color(i MOD 8) ;
  303. ***** ^ undeclared identifier
  304. ***** ^ not supported yet
  305. ***** ^ not supported yet
  306. ***** ^ not supported yet
  307. 131 Foreground := Window.Color(15-i MOD 8) ;
  308. ***** ^ undeclared identifier
  309. ***** ^ not supported yet
  310. ***** ^ not supported yet
  311. ***** ^ not supported yet
  312. 132 END ;
  313. 133 X1 := ww[i].x ; Y1 := ww[i].y ;
  314. ***** ^ undeclared identifier
  315. ***** ^ not supported yet
  316. ***** ^ not supported yet
  317. ***** ^ undeclared identifier
  318. ***** ^ not supported yet
  319. ***** ^ not supported yet
  320. 134 X2 := X1+9 ; Y2 := Y1+3 ;
  321. ***** ^ undeclared identifier
  322. ***** ^ undeclared identifier
  323. ***** ^ undeclared identifier
  324. ***** ^ undeclared identifier
  325. 135 END ;
  326. 136 CursorOn := FALSE ;
  327. ***** ^ undeclared identifier
  328. 137 WrapOn := FALSE ;
  329. ***** ^ undeclared identifier
  330. 138 Hidden := FALSE ;
  331. ***** ^ undeclared identifier
  332. 139 FrameOn := TRUE ;
  333. ***** ^ undeclared identifier
  334. 140 FrameDef := Window.SingleFrame ;
  335. ***** ^ undeclared identifier
  336. ***** ^ not supported yet
  337. ***** ^ not supported yet
  338. 141 IF NOT IsBW AND (Background=Window.Black) THEN
  339. ***** ^ undeclared identifier
  340. ***** ^ not supported yet
  341. ***** ^ not supported yet
  342. 142 FrameBack := Window.Green ;
  343. ***** ^ undeclared identifier
  344. ***** ^ not supported yet
  345. ***** ^ not supported yet
  346. 143 ELSE
  347. 144 FrameBack := Background ;
  348. ***** ^ undeclared identifier
  349. ***** ^ undeclared identifier
  350. 145 END ;
  351. 146 (* Window.Color(ORD(Foreground)MOD 8) *) ;
  352. 147 IF FrameBack=Window.LightGray THEN FrameFore := Window.Black ;
  353. ***** ^ undeclared identifier
  354. ***** ^ not supported yet
  355. ***** ^ not supported yet
  356. ***** ^ undeclared identifier
  357. ***** ^ not supported yet
  358. ***** ^ not supported yet
  359. 148 ELSE FrameFore := Window.LightGray ;
  360. ***** ^ undeclared identifier
  361. ***** ^ not supported yet
  362. ***** ^ not supported yet
  363. 149 END ;
  364. 150 END ;
  365. ***** ^ not supported yet
  366. 151 Win[i] := Window.Open(WD) ;
  367. ***** ^ undeclared identifier
  368. ***** ^ undeclared identifier
  369. ***** ^ not supported yet
  370. ***** ^ not supported yet
  371. ***** ^ undeclared identifier
  372. 152 Window.SetTitle(Win[i],'JPI',Window.CenterUpperTitle);
  373. ***** ^ not supported yet
  374. ***** ^ not supported yet
  375. ***** ^ undeclared identifier
  376. ***** ^ undeclared identifier
  377. ***** ^ not supported yet
  378. ***** ^ not supported yet
  379. ***** ^ not supported yet
  380. 153 Str.CardToStr(LONGCARD(i+1),num,10,b) ;
  381. ***** ^ not supported yet
  382. ***** ^ not supported yet
  383. ***** ^ undeclared identifier
  384. ***** ^ undeclared identifier
  385. ***** ^ not supported yet
  386. ***** ^ undeclared identifier
  387. ***** ^ undeclared identifier
  388. 154 (*
  389. 155 IF (i=29)OR(ww[i].x+5<>ww[i+1].x) THEN IO.WrChar(' '); END ;
  390. 156 *)
  391. 157 IO.WrStr('TopSpeed');
  392. ***** ^ not supported yet
  393. ***** ^ not supported yet
  394. ***** ^ not supported yet
  395. 158 IO.WrLn ;
  396. ***** ^ not supported yet
  397. ***** ^ not supported yet
  398. 159 IO.WrStr('Modula-2');
  399. ***** ^ not supported yet
  400. ***** ^ not supported yet
  401. ***** ^ not supported yet
  402. 160 END ;
  403. 161 WD := Window.WinDef(0,15,75,24,Window.White,Window.Black,
  404. ***** ^ undeclared identifier
  405. ***** ^ not supported yet
  406. ***** ^ not supported yet
  407. ***** ^ not supported yet
  408. ***** ^ not supported yet
  409. ***** ^ not supported yet
  410. ***** ^ not supported yet
  411. 162 FALSE,TRUE,FALSE,TRUE,
  412. 163 Window.DoubleFrame,Window.Blue,Window.LightGray) ;
  413. ***** ^ not supported yet
  414. ***** ^ not supported yet
  415. ***** ^ not supported yet
  416. ***** ^ not supported yet
  417. ***** ^ not supported yet
  418. ***** ^ not supported yet
  419. 164 IF IsBW THEN WD.FrameFore := Window.Black END ;
  420. ***** ^ undeclared identifier
  421. ***** ^ not supported yet
  422. ***** ^ not supported yet
  423. ***** ^ not supported yet
  424. 165 DescWin := Window.Open(WD) ;
  425. ***** ^ undeclared identifier
  426. ***** ^ not supported yet
  427. ***** ^ not supported yet
  428. ***** ^ undeclared identifier
  429. 166 Window.SetTitle(DescWin,' TopSpeed Modula-2 : Window Demonstration ',Window.CenterUpperTitle);
  430. ***** ^ not supported yet
  431. ***** ^ not supported yet
  432. ***** ^ undeclared identifier
  433. ***** ^ not supported yet
  434. ***** ^ not supported yet
  435. ***** ^ not supported yet
  436. 167 IntroText ;
  437. ***** ^ undeclared identifier
  438. 168 delay := 1000 ;
  439. ***** ^ undeclared identifier
  440. 169 i := 0 ;
  441. ***** ^ undeclared identifier
  442. 170 WHILE NOT IO.KeyPressed() DO
  443. ***** ^ not supported yet
  444. ***** ^ not supported yet
  445. ***** ^ not supported yet
  446. 171 CheckScrollLock ;
  447. ***** ^ not supported yet
  448. 172 IF delay>100 THEN DEC(delay,20)
  449. ***** ^ undeclared identifier
  450. ***** ^ undeclared identifier
  451. ***** ^ undeclared identifier
  452. ***** ^ not supported yet
  453. 173 ELSIF delay>1 THEN DEC(delay) ;
  454. ***** ^ undeclared identifier
  455. ***** ^ undeclared identifier
  456. ***** ^ undeclared identifier
  457. 174 END ;
  458. 175 Lib.Delay(delay) ;
  459. ***** ^ not supported yet
  460. ***** ^ not supported yet
  461. ***** ^ undeclared identifier
  462. 176 Window.PutOnTop(Win[i]) ;
  463. ***** ^ not supported yet
  464. ***** ^ not supported yet
  465. ***** ^ undeclared identifier
  466. ***** ^ undeclared identifier
  467. 177 i := (i+1)MOD 30 ;
  468. ***** ^ undeclared identifier
  469. ***** ^ undeclared identifier
  470. 178 END ;
  471. 179 REPEAT
  472. 180 exit := TRUE ;
  473. ***** ^ undeclared identifier
  474. 181 FOR i := 0 TO 29 DO
  475. ***** ^ undeclared identifier
  476. 182 Window.Info(Win[i],WD) ;
  477. ***** ^ not supported yet
  478. ***** ^ not supported yet
  479. ***** ^ undeclared identifier
  480. ***** ^ undeclared identifier
  481. ***** ^ undeclared identifier
  482. 183 change := TRUE ;
  483. ***** ^ undeclared identifier
  484. 184 IF WD.X1<targetX-3 THEN INC(WD.X1,3);INC(WD.X2,3);
  485. ***** ^ undeclared identifier
  486. ***** ^ not supported yet
  487. ***** ^ undeclared identifier
  488. ***** ^ undeclared identifier
  489. ***** ^ undeclared identifier
  490. ***** ^ not supported yet
  491. ***** ^ not supported yet
  492. ***** ^ undeclared identifier
  493. ***** ^ undeclared identifier
  494. ***** ^ not supported yet
  495. ***** ^ not supported yet
  496. 185 ELSIF WD.X1>targetX+3 THEN DEC(WD.X1,3);DEC(WD.X2,3);
  497. ***** ^ undeclared identifier
  498. ***** ^ not supported yet
  499. ***** ^ undeclared identifier
  500. ***** ^ undeclared identifier
  501. ***** ^ undeclared identifier
  502. ***** ^ not supported yet
  503. ***** ^ not supported yet
  504. ***** ^ undeclared identifier
  505. ***** ^ undeclared identifier
  506. ***** ^ not supported yet
  507. ***** ^ not supported yet
  508. 186 ELSIF WD.Y1=targetY THEN change := FALSE ;
  509. ***** ^ undeclared identifier
  510. ***** ^ not supported yet
  511. ***** ^ undeclared identifier
  512. ***** ^ undeclared identifier
  513. 187 END ;
  514. 188 IF WD.Y1<targetY THEN INC(WD.Y1);INC(WD.Y2);
  515. ***** ^ undeclared identifier
  516. ***** ^ not supported yet
  517. ***** ^ undeclared identifier
  518. ***** ^ undeclared identifier
  519. ***** ^ undeclared identifier
  520. ***** ^ not supported yet
  521. ***** ^ undeclared identifier
  522. ***** ^ undeclared identifier
  523. ***** ^ not supported yet
  524. 189 ELSIF WD.Y1>targetY THEN DEC(WD.Y1);DEC(WD.Y2);
  525. ***** ^ undeclared identifier
  526. ***** ^ not supported yet
  527. ***** ^ undeclared identifier
  528. ***** ^ undeclared identifier
  529. ***** ^ undeclared identifier
  530. ***** ^ not supported yet
  531. ***** ^ undeclared identifier
  532. ***** ^ undeclared identifier
  533. ***** ^ not supported yet
  534. 190 END ;
  535. 191 IF change THEN
  536. ***** ^ undeclared identifier
  537. 192 Window.Change(Win[i],WD.X1,WD.Y1,WD.X2,WD.Y2) ;
  538. ***** ^ not supported yet
  539. ***** ^ not supported yet
  540. ***** ^ undeclared identifier
  541. ***** ^ undeclared identifier
  542. ***** ^ undeclared identifier
  543. ***** ^ not supported yet
  544. ***** ^ undeclared identifier
  545. ***** ^ not supported yet
  546. ***** ^ undeclared identifier
  547. ***** ^ not supported yet
  548. ***** ^ undeclared identifier
  549. ***** ^ not supported yet
  550. 193 exit := FALSE ;
  551. ***** ^ undeclared identifier
  552. 194 END ;
  553. 195 END ;
  554. 196 UNTIL exit ;
  555. ***** ^ undeclared identifier
  556. 197 FOR i := 0 TO 30 DO
  557. ***** ^ undeclared identifier
  558. 198 w := Window.Top() ;
  559. ***** ^ undeclared identifier
  560. ***** ^ not supported yet
  561. ***** ^ not supported yet
  562. ***** ^ not supported yet
  563. 199 Lib.Delay(10) ;
  564. ***** ^ not supported yet
  565. ***** ^ not supported yet
  566. ***** ^ not supported yet
  567. 200 Window.Close(w) ;
  568. ***** ^ not supported yet
  569. ***** ^ not supported yet
  570. ***** ^ undeclared identifier
  571. 201 END ;
  572. 202 IF IO.RdKey()=CHR(27) THEN HALT END ;
  573. ***** ^ not supported yet
  574. ***** ^ not supported yet
  575. ***** ^ not supported yet
  576. ***** ^ undeclared identifier
  577. ***** ^ not supported yet
  578. ***** ^ undeclared identifier
  579. 203 END Intro;
  580. ***** ^ not supported yet
  581. 204
  582. 205 (* Actual demo starts here *)
  583. 206 (* ----------------------- *)
  584. 207
  585. 208
  586. 209
  587. 210
  588. 211 VAR
  589. 212 W1,W2,W3,W4 : Window.WinType;
  590. ***** ^ not supported yet
  591. 213 DS : Process.SIGNAL ;
  592. ***** ^ not supported yet
  593. 214 Initialize : BOOLEAN ;
  594. 215 pal : Window.PaletteDef ;
  595. ***** ^ not supported yet
  596. 216
  597. 217
  598. 218 (* Random Colouring *)
  599. 219
  600. 220 PROCEDURE RandPalette ( VAR p : Window.PaletteDef ) ;
  601. ***** ^ not supported yet
  602. 221 VAR
  603. 222 i : SHORTCARD ;
  604. 223 TYPE BW3 = ARRAY[0..2] OF Window.Color ;
  605. ***** ^ not supported yet
  606. ***** ^ not supported yet
  607. 224 CONST bw3 = BW3(Window.Black,Window.LightGray,Window.White) ;
  608. ***** ^ not supported yet
  609. ***** ^ not supported yet
  610. ***** ^ not supported yet
  611. ***** ^ not supported yet
  612. ***** ^ not supported yet
  613. ***** ^ not supported yet
  614. 225 BEGIN
  615. 226 FOR i := 0 TO Window.PaletteMax DO
  616. ***** ^ not supported yet
  617. ***** ^ not supported yet
  618. 227 IF IsBW THEN
  619. 228 p[i].Fore := bw3[Lib.RANDOM(3)];
  620. ***** ^ not supported yet
  621. ***** ^ not supported yet
  622. ***** ^ not supported yet
  623. ***** ^ not supported yet
  624. ***** ^ not supported yet
  625. ***** ^ not supported yet
  626. 229 ELSE
  627. 230 p[i].Fore := VAL(Window.Color,Lib.RANDOM(16)) ;
  628. ***** ^ not supported yet
  629. ***** ^ not supported yet
  630. ***** ^ not supported yet
  631. ***** ^ undeclared identifier
  632. ***** ^ not supported yet
  633. ***** ^ not supported yet
  634. ***** ^ not supported yet
  635. ***** ^ not supported yet
  636. ***** ^ not supported yet
  637. 231 END ;
  638. 232 REPEAT
  639. 233 IF IsBW THEN
  640. 234 p[i].Back := bw3[Lib.RANDOM(2)] ;
  641. ***** ^ not supported yet
  642. ***** ^ not supported yet
  643. ***** ^ not supported yet
  644. ***** ^ not supported yet
  645. ***** ^ not supported yet
  646. ***** ^ not supported yet
  647. 235 ELSE
  648. 236 p[i].Back := VAL(Window.Color,Lib.RANDOM(8)) ;
  649. ***** ^ not supported yet
  650. ***** ^ not supported yet
  651. ***** ^ not supported yet
  652. ***** ^ undeclared identifier
  653. ***** ^ not supported yet
  654. ***** ^ not supported yet
  655. ***** ^ not supported yet
  656. ***** ^ not supported yet
  657. ***** ^ not supported yet
  658. 237 END ;
  659. 238 UNTIL p[i].Back<>p[i].Fore ;
  660. ***** ^ not supported yet
  661. ***** ^ not supported yet
  662. ***** ^ not supported yet
  663. ***** ^ not supported yet
  664. ***** ^ not supported yet
  665. ***** ^ not supported yet
  666. 239 END ;
  667. 240 END RandPalette ;
  668. ***** ^ not supported yet
  669. 241
  670. 242 (* Random Movement *)
  671. 243
  672. 244 PROCEDURE Rmove ( W : Window.WinType ) ;
  673. ***** ^ not supported yet
  674. 245 (* random move process *)
  675. 246 VAR
  676. 247 dx1,dy1 : CARDINAL ;
  677. 248 ix,iy,nx,ny : CARDINAL ;
  678. 249 BEGIN
  679. 250 CheckScrollLock ;
  680. ***** ^ not supported yet
  681. 251 LOOP
  682. 252
  683. 253 Process.Delay(5+Lib.RANDOM(15)) ;
  684. ***** ^ not supported yet
  685. ***** ^ not supported yet
  686. ***** ^ not supported yet
  687. ***** ^ not supported yet
  688. ***** ^ not supported yet
  689. 254 REPEAT
  690. 255 dx1 := W^.WDef.X1+(Lib.RANDOM(16)-8)*2 ;
  691. ***** ^ not supported yet
  692. ***** ^ not supported yet
  693. ***** ^ not supported yet
  694. ***** ^ not supported yet
  695. ***** ^ not supported yet
  696. ***** ^ not supported yet
  697. 256 dy1 := W^.WDef.Y1+Lib.RANDOM(16)-8 ;
  698. ***** ^ not supported yet
  699. ***** ^ not supported yet
  700. ***** ^ not supported yet
  701. ***** ^ not supported yet
  702. ***** ^ not supported yet
  703. ***** ^ not supported yet
  704. 257 UNTIL (dx1<80)AND(dy1<24)
  705. 258 AND(dx1+W^.OWidth<=80)AND(dy1+W^.ODepth<=24) ;
  706. ***** ^ not supported yet
  707. ***** ^ not supported yet
  708. ***** ^ not supported yet
  709. ***** ^ not supported yet
  710. 259 IF dx1>W^.WDef.X1 THEN ix := 2 ELSE ix := 0 END ;
  711. ***** ^ not supported yet
  712. ***** ^ not supported yet
  713. ***** ^ not supported yet
  714. 260 IF dy1>W^.WDef.Y1 THEN iy := 2 ELSE iy := 0 END ;
  715. ***** ^ not supported yet
  716. ***** ^ not supported yet
  717. ***** ^ not supported yet
  718. 261 WHILE (dx1<>W^.WDef.X1) AND (dy1<>W^.WDef.Y1) DO
  719. ***** ^ not supported yet
  720. ***** ^ not supported yet
  721. ***** ^ not supported yet
  722. ***** ^ not supported yet
  723. ***** ^ not supported yet
  724. ***** ^ not supported yet
  725. 262 IF (dx1<>W^.WDef.X1) THEN nx := W^.WDef.X1+ix-1 END ;
  726. ***** ^ not supported yet
  727. ***** ^ not supported yet
  728. ***** ^ not supported yet
  729. ***** ^ not supported yet
  730. ***** ^ not supported yet
  731. ***** ^ not supported yet
  732. 263 IF (dy1<>W^.WDef.Y1) THEN ny := W^.WDef.Y1+iy-1 END ;
  733. ***** ^ not supported yet
  734. ***** ^ not supported yet
  735. ***** ^ not supported yet
  736. ***** ^ not supported yet
  737. ***** ^ not supported yet
  738. ***** ^ not supported yet
  739. 264 Window.Change(W,nx,ny,nx+W^.OWidth-1,ny+W^.ODepth-1) ;
  740. ***** ^ not supported yet
  741. ***** ^ not supported yet
  742. ***** ^ not supported yet
  743. ***** ^ not supported yet
  744. ***** ^ not supported yet
  745. ***** ^ not supported yet
  746. ***** ^ not supported yet
  747. ***** ^ not supported yet
  748. 265 END ;
  749. 266 END ;
  750. 267 END Rmove ;
  751. ***** ^ not supported yet
  752. 268
  753. 269 (* Random Change Size *)
  754. 270
  755. 271 PROCEDURE RChangeSize ( W : Window.WinType ) ;
  756. ***** ^ not supported yet
  757. 272 (* this randomly changes the size of a window *)
  758. 273 VAR
  759. 274 nx,ny : CARDINAL ;
  760. 275 BEGIN
  761. 276 CheckScrollLock ;
  762. ***** ^ not supported yet
  763. 277 REPEAT
  764. 278 nx := W^.WDef.X2+(Lib.RANDOM(16)-8)*2 ;
  765. ***** ^ not supported yet
  766. ***** ^ not supported yet
  767. ***** ^ not supported yet
  768. ***** ^ not supported yet
  769. ***** ^ not supported yet
  770. ***** ^ not supported yet
  771. 279 ny := W^.WDef.Y2+Lib.RANDOM(16)-8 ;
  772. ***** ^ not supported yet
  773. ***** ^ not supported yet
  774. ***** ^ not supported yet
  775. ***** ^ not supported yet
  776. ***** ^ not supported yet
  777. ***** ^ not supported yet
  778. 280 UNTIL (nx-W^.WDef.X1<70)AND(ny-W^.WDef.Y1<18)
  779. ***** ^ not supported yet
  780. ***** ^ not supported yet
  781. ***** ^ not supported yet
  782. ***** ^ not supported yet
  783. ***** ^ not supported yet
  784. ***** ^ not supported yet
  785. 281 AND(nx-W^.WDef.X1>10)AND(ny-W^.WDef.Y1>4) ;
  786. ***** ^ not supported yet
  787. ***** ^ not supported yet
  788. ***** ^ not supported yet
  789. ***** ^ not supported yet
  790. ***** ^ not supported yet
  791. ***** ^ not supported yet
  792. 282 Window.Change(W,W^.WDef.X1,W^.WDef.Y1,nx,ny) ;
  793. ***** ^ not supported yet
  794. ***** ^ not supported yet
  795. ***** ^ not supported yet
  796. ***** ^ not supported yet
  797. ***** ^ not supported yet
  798. ***** ^ not supported yet
  799. ***** ^ not supported yet
  800. ***** ^ not supported yet
  801. ***** ^ not supported yet
  802. ***** ^ not supported yet
  803. 283 END RChangeSize ;
  804. ***** ^ not supported yet
  805. 284
  806. 285
  807. 286 (* Processes *)
  808. 287
  809. 288
  810. 289 (* P1 prints out numbers in Hex, Dec and Binary *)
  811. 290
  812. 291 PROCEDURE P1;
  813. 292 VAR S : ARRAY[0..30] OF CHAR;
  814. ***** ^ not supported yet
  815. ***** ^ not supported yet
  816. 293 i : CARDINAL;
  817. 294 b : BOOLEAN ;
  818. 295 BEGIN
  819. 296 Window.Use(W1) ;
  820. ***** ^ not supported yet
  821. ***** ^ not supported yet
  822. ***** ^ not supported yet
  823. 297 LOOP
  824. 298 FOR i := 0 TO 1000 DO
  825. 299 Str.CardToStr(VAL(LONGCARD,i),S,2,b); IO.WrStr(S);
  826. ***** ^ not supported yet
  827. ***** ^ not supported yet
  828. ***** ^ undeclared identifier
  829. ***** ^ undeclared identifier
  830. ***** ^ not supported yet
  831. ***** ^ not supported yet
  832. ***** ^ not supported yet
  833. ***** ^ not supported yet
  834. ***** ^ not supported yet
  835. ***** ^ not supported yet
  836. 300 IO.WrCharRep(' ',16-Str.Length(S));
  837. ***** ^ not supported yet
  838. ***** ^ not supported yet
  839. ***** ^ not supported yet
  840. ***** ^ not supported yet
  841. ***** ^ not supported yet
  842. 301 IO.WrCard(i,5) ;
  843. ***** ^ not supported yet
  844. ***** ^ not supported yet
  845. ***** ^ not supported yet
  846. 302 IO.WrStr(' ') ;
  847. ***** ^ not supported yet
  848. ***** ^ not supported yet
  849. ***** ^ not supported yet
  850. 303 Str.CardToStr(VAL(LONGCARD,i),S,16,b); IO.WrStr(S);
  851. ***** ^ not supported yet
  852. ***** ^ not supported yet
  853. ***** ^ undeclared identifier
  854. ***** ^ undeclared identifier
  855. ***** ^ not supported yet
  856. ***** ^ not supported yet
  857. ***** ^ not supported yet
  858. ***** ^ not supported yet
  859. ***** ^ not supported yet
  860. ***** ^ not supported yet
  861. 304 IO.WrCharRep(' ',5-Str.Length(S));
  862. ***** ^ not supported yet
  863. ***** ^ not supported yet
  864. ***** ^ not supported yet
  865. ***** ^ not supported yet
  866. ***** ^ not supported yet
  867. 305 IO.WrLn;
  868. ***** ^ not supported yet
  869. ***** ^ not supported yet
  870. 306 END;
  871. 307 END ;
  872. 308 END P1;
  873. ***** ^ not supported yet
  874. 309
  875. 310 (* P2 displays out a sideways barchart *)
  876. 311
  877. 312
  878. 313
  879. 314 PROCEDURE P2;
  880. 315 VAR i,j : CARDINAL;
  881. 316 V : ARRAY[1..9] OF CARDINAL ;
  882. ***** ^ not supported yet
  883. ***** ^ not supported yet
  884. 317 WD : Window.WinDef ;
  885. ***** ^ not supported yet
  886. 318
  887. 319 PROCEDURE DrawBar ( x,y : CARDINAL ; val : CARDINAL ; on : BOOLEAN ) ;
  888. 320 BEGIN
  889. 321 IF ODD(y) THEN
  890. ***** ^ undeclared identifier
  891. ***** ^ not supported yet
  892. 322 IF IsBW THEN Window.TextColor(Window.White) ;
  893. ***** ^ not supported yet
  894. ***** ^ not supported yet
  895. ***** ^ not supported yet
  896. ***** ^ not supported yet
  897. 323 ELSE Window.TextColor(Window.Red) ;
  898. ***** ^ not supported yet
  899. ***** ^ not supported yet
  900. ***** ^ not supported yet
  901. ***** ^ not supported yet
  902. 324 END ;
  903. 325 ELSE
  904. 326 Window.TextColor(Window.LightGray) ;
  905. ***** ^ not supported yet
  906. ***** ^ not supported yet
  907. ***** ^ not supported yet
  908. ***** ^ not supported yet
  909. 327 END ;
  910. 328 IF val>0 THEN
  911. 329 DEC(val) ;
  912. ***** ^ undeclared identifier
  913. ***** ^ not supported yet
  914. 330 Window.GotoXY(x+val DIV 2,y) ;
  915. ***** ^ not supported yet
  916. ***** ^ not supported yet
  917. ***** ^ not supported yet
  918. 331 IF on THEN
  919. 332 IF ODD(val) THEN IO.WrChar('Û') ELSE IO.WrChar('Ý') END ;
  920. ***** ^ undeclared identifier
  921. ***** ^ not supported yet
  922. ***** ^ not supported yet
  923. ***** ^ not supported yet
  924. ***** ^ not supported yet
  925. ***** ^ not supported yet
  926. ***** ^ not supported yet
  927. ***** ^ not supported yet
  928. 333 ELSE
  929. 334 IF ODD(val) THEN IO.WrChar('Ý') ELSE IO.WrChar(' ') END ;
  930. ***** ^ undeclared identifier
  931. ***** ^ not supported yet
  932. ***** ^ not supported yet
  933. ***** ^ not supported yet
  934. ***** ^ not supported yet
  935. ***** ^ not supported yet
  936. ***** ^ not supported yet
  937. ***** ^ not supported yet
  938. 335 END ;
  939. 336 END ;
  940. 337 END DrawBar ;
  941. ***** ^ not supported yet
  942. 338
  943. 339 BEGIN
  944. 340 Window.Use(W2) ;
  945. ***** ^ not supported yet
  946. ***** ^ not supported yet
  947. ***** ^ not supported yet
  948. 341 i := 0 ;
  949. 342 FOR i := 1 TO 9 DO
  950. 343 V[i] := Lib.RANDOM(50) ;
  951. ***** ^ not supported yet
  952. ***** ^ not supported yet
  953. ***** ^ not supported yet
  954. ***** ^ not supported yet
  955. ***** ^ not supported yet
  956. 344 FOR j := 0 TO V[i] DO
  957. ***** ^ not supported yet
  958. ***** ^ not supported yet
  959. 345 DrawBar(1,i,j,TRUE) ;
  960. ***** ^ not supported yet
  961. ***** ^ not supported yet
  962. 346 END ;
  963. 347 END ;
  964. 348 LOOP
  965. 349 FOR i := 1 TO 9 DO
  966. 350 Window.Info(W2,WD) ;
  967. ***** ^ not supported yet
  968. ***** ^ not supported yet
  969. ***** ^ not supported yet
  970. ***** ^ not supported yet
  971. 351 IF i<WD.X2-WD.X1-2 THEN
  972. ***** ^ not supported yet
  973. ***** ^ not supported yet
  974. ***** ^ not supported yet
  975. ***** ^ not supported yet
  976. 352 IF Lib.RANDOM(2)=0 THEN
  977. ***** ^ not supported yet
  978. ***** ^ not supported yet
  979. ***** ^ not supported yet
  980. 353 IF V[i]<50 THEN INC(V[i]) ; DrawBar(1,i,V[i],TRUE) END ;
  981. ***** ^ not supported yet
  982. ***** ^ not supported yet
  983. ***** ^ undeclared identifier
  984. ***** ^ not supported yet
  985. ***** ^ not supported yet
  986. ***** ^ not supported yet
  987. ***** ^ not supported yet
  988. ***** ^ not supported yet
  989. ***** ^ not supported yet
  990. 354 ELSE
  991. 355 IF V[i]>0 THEN DrawBar(1,i,V[i],FALSE) ; DEC(V[i]) ; END ;
  992. ***** ^ not supported yet
  993. ***** ^ not supported yet
  994. ***** ^ not supported yet
  995. ***** ^ not supported yet
  996. ***** ^ not supported yet
  997. ***** ^ not supported yet
  998. ***** ^ undeclared identifier
  999. ***** ^ not supported yet
  1000. ***** ^ not supported yet
  1001. 356 END ;
  1002. 357 END ;
  1003. 358 END ;
  1004. 359 CheckScrollLock ;
  1005. ***** ^ not supported yet
  1006. 360 END ;
  1007. 361 END P2;
  1008. ***** ^ not supported yet
  1009. 362
  1010. 363 (* P3 displays a character grid with randomly changing pallette colours *)
  1011. 364
  1012. 365 PROCEDURE P3;
  1013. 366 VAR
  1014. 367 X,Y,D : CARDINAL;
  1015. 368 CH : CHAR;
  1016. 369 BEGIN
  1017. 370 CH := '*' ;
  1018. 371 D := 0 ;
  1019. 372 Window.Use(W3) ;
  1020. ***** ^ not supported yet
  1021. ***** ^ not supported yet
  1022. ***** ^ not supported yet
  1023. 373 LOOP
  1024. 374 FOR X := 1 TO 8 DO
  1025. 375 FOR Y := 1 TO 8 DO
  1026. 376 Window.SetPaletteColor(VAL(SHORTCARD,(Y*7+X+D))MOD 8) ;
  1027. ***** ^ not supported yet
  1028. ***** ^ not supported yet
  1029. ***** ^ undeclared identifier
  1030. ***** ^ not supported yet
  1031. ***** ^ not supported yet
  1032. 377 Window.GotoXY(X,Y);
  1033. ***** ^ not supported yet
  1034. ***** ^ not supported yet
  1035. ***** ^ not supported yet
  1036. 378 IO.WrChar(CH);
  1037. ***** ^ not supported yet
  1038. ***** ^ not supported yet
  1039. ***** ^ not supported yet
  1040. 379 Window.GotoXY(1,10);
  1041. ***** ^ not supported yet
  1042. ***** ^ not supported yet
  1043. ***** ^ not supported yet
  1044. 380 Window.SetPaletteColor(0) ;
  1045. ***** ^ not supported yet
  1046. ***** ^ not supported yet
  1047. ***** ^ not supported yet
  1048. 381 IO.WrCard(X,2);
  1049. ***** ^ not supported yet
  1050. ***** ^ not supported yet
  1051. ***** ^ not supported yet
  1052. 382 IO.WrChar(',');
  1053. ***** ^ not supported yet
  1054. ***** ^ not supported yet
  1055. ***** ^ not supported yet
  1056. 383 IO.WrCard(Y,2);
  1057. ***** ^ not supported yet
  1058. ***** ^ not supported yet
  1059. ***** ^ not supported yet
  1060. 384 END;
  1061. 385 END;
  1062. 386 RandPalette ( pal ) ;
  1063. ***** ^ not supported yet
  1064. ***** ^ not supported yet
  1065. 387 Window.SetPalette(W3,pal) ;
  1066. ***** ^ not supported yet
  1067. ***** ^ not supported yet
  1068. ***** ^ not supported yet
  1069. ***** ^ not supported yet
  1070. 388 INC(D) ;
  1071. ***** ^ undeclared identifier
  1072. ***** ^ not supported yet
  1073. 389 CheckScrollLock ;
  1074. ***** ^ not supported yet
  1075. 390 END ;
  1076. 391 END P3;
  1077. ***** ^ not supported yet
  1078. 392
  1079. 393 (* P4 displays some text *)
  1080. 394
  1081. 395 PROCEDURE P4;
  1082. 396 VAR i : CARDINAL ;
  1083. 397 BEGIN
  1084. 398 Window.Use(W4) ;
  1085. ***** ^ not supported yet
  1086. ***** ^ not supported yet
  1087. ***** ^ not supported yet
  1088. 399 REPEAT
  1089. 400 FOR i := 1 TO 50 DO
  1090. 401 IO.WrStr('This is a test of 9 time-sliced processes, and also of window writing, moving, rearranging and resizing.');
  1091. ***** ^ not supported yet
  1092. ***** ^ not supported yet
  1093. ***** ^ not supported yet
  1094. 402 W4^.WDef.Foreground := Window.White ;
  1095. ***** ^ not supported yet
  1096. ***** ^ not supported yet
  1097. ***** ^ not supported yet
  1098. ***** ^ not supported yet
  1099. ***** ^ not supported yet
  1100. 403 IF IsBW THEN
  1101. 404 W4^.WDef.Background := Window.Black ;
  1102. ***** ^ not supported yet
  1103. ***** ^ not supported yet
  1104. ***** ^ not supported yet
  1105. ***** ^ not supported yet
  1106. ***** ^ not supported yet
  1107. 405 END ;
  1108. 406 IO.WrStr(' Press any key to terminate, ScrollLock to freeze. ');
  1109. ***** ^ not supported yet
  1110. ***** ^ not supported yet
  1111. ***** ^ not supported yet
  1112. 407 W4^.WDef.Foreground := Window.Black ;
  1113. ***** ^ not supported yet
  1114. ***** ^ not supported yet
  1115. ***** ^ not supported yet
  1116. ***** ^ not supported yet
  1117. ***** ^ not supported yet
  1118. 408 IF IsBW THEN
  1119. 409 W4^.WDef.Background := Window.LightGray
  1120. ***** ^ not supported yet
  1121. ***** ^ not supported yet
  1122. ***** ^ not supported yet
  1123. ***** ^ not supported yet
  1124. ***** ^ not supported yet
  1125. 410 END ;
  1126. 411 END;
  1127. 412 CheckScrollLock ;
  1128. ***** ^ not supported yet
  1129. 413 UNTIL IO.KeyPressed() ;
  1130. ***** ^ not supported yet
  1131. ***** ^ not supported yet
  1132. ***** ^ not supported yet
  1133. 414 Process.SEND(DS);
  1134. ***** ^ not supported yet
  1135. ***** ^ not supported yet
  1136. ***** ^ not supported yet
  1137. 415 Process.StopScheduler ;
  1138. ***** ^ not supported yet
  1139. ***** ^ not supported yet
  1140. 416 Window.Use(Window.FullScreen) ;
  1141. ***** ^ not supported yet
  1142. ***** ^ not supported yet
  1143. ***** ^ not supported yet
  1144. ***** ^ not supported yet
  1145. 417 Window.SnapShot ;
  1146. ***** ^ not supported yet
  1147. ***** ^ not supported yet
  1148. 418 Window.PutOnTop(Window.FullScreen) ;
  1149. ***** ^ not supported yet
  1150. ***** ^ not supported yet
  1151. ***** ^ not supported yet
  1152. ***** ^ not supported yet
  1153. 419 Window.GotoXY(1,Window.ScreenDepth-1);
  1154. ***** ^ not supported yet
  1155. ***** ^ not supported yet
  1156. ***** ^ not supported yet
  1157. ***** ^ not supported yet
  1158. ***** ^ not supported yet
  1159. 420 Window.CursorOn ;
  1160. ***** ^ not supported yet
  1161. ***** ^ not supported yet
  1162. 421 IF IO.RdKey()=' ' THEN END ;
  1163. ***** ^ not supported yet
  1164. ***** ^ not supported yet
  1165. ***** ^ not supported yet
  1166. 422 HALT ;
  1167. ***** ^ undeclared identifier
  1168. 423 END P4;
  1169. ***** ^ not supported yet
  1170. 424
  1171. 425 (* P5 Re-sizes and Re-arranges text *)
  1172. 426
  1173. 427 PROCEDURE P5;
  1174. 428 BEGIN
  1175. 429 LOOP
  1176. 430 Process.Delay(10+Lib.RANDOM(20)) ;
  1177. ***** ^ not supported yet
  1178. ***** ^ not supported yet
  1179. ***** ^ not supported yet
  1180. ***** ^ not supported yet
  1181. ***** ^ not supported yet
  1182. 431 CASE Lib.RANDOM(4) OF
  1183. ***** ^ not supported yet
  1184. ***** ^ not supported yet
  1185. ***** ^ not supported yet
  1186. 432 0 : Window.PutOnTop(W1) |
  1187. ***** ^ not supported yet
  1188. ***** ^ not supported yet
  1189. ***** ^ not supported yet
  1190. 433 1 : Window.PutOnTop(W2) |
  1191. ***** ^ not supported yet
  1192. ***** ^ not supported yet
  1193. ***** ^ not supported yet
  1194. 434 2 : Window.PutOnTop(W3) |
  1195. ***** ^ not supported yet
  1196. ***** ^ not supported yet
  1197. ***** ^ not supported yet
  1198. 435 3 : Window.PutOnTop(W4)
  1199. ***** ^ not supported yet
  1200. ***** ^ not supported yet
  1201. ***** ^ not supported yet
  1202. 436 END ;
  1203. 437 Process.Delay(10+Lib.RANDOM(20)) ;
  1204. ***** ^ not supported yet
  1205. ***** ^ not supported yet
  1206. ***** ^ not supported yet
  1207. ***** ^ not supported yet
  1208. ***** ^ not supported yet
  1209. 438 CASE Lib.RANDOM(4) OF
  1210. ***** ^ not supported yet
  1211. ***** ^ not supported yet
  1212. ***** ^ not supported yet
  1213. 439 0 : RChangeSize(W1) |
  1214. ***** ^ not supported yet
  1215. ***** ^ not supported yet
  1216. 440 1 : |
  1217. 441 2 : |
  1218. 442 3 : RChangeSize(W4)
  1219. ***** ^ not supported yet
  1220. ***** ^ not supported yet
  1221. 443 END ;
  1222. 444 END ;
  1223. 445 END P5;
  1224. ***** ^ not supported yet
  1225. 446
  1226. 447 (* P6 Moves window 1 *)
  1227. 448
  1228. 449 PROCEDURE P6 ;
  1229. 450 BEGIN
  1230. 451 Rmove(W1) ;
  1231. ***** ^ not supported yet
  1232. ***** ^ not supported yet
  1233. 452 END P6 ;
  1234. ***** ^ not supported yet
  1235. 453
  1236. 454 (* P7 Moves window 2 *)
  1237. 455
  1238. 456 PROCEDURE P7 ;
  1239. 457 BEGIN
  1240. 458 Rmove(W2) ;
  1241. ***** ^ not supported yet
  1242. ***** ^ not supported yet
  1243. 459 END P7;
  1244. ***** ^ not supported yet
  1245. 460
  1246. 461 (* P8 Moves window 2 *)
  1247. 462
  1248. 463 PROCEDURE P8 ;
  1249. 464 BEGIN
  1250. 465 Rmove(W3) ;
  1251. ***** ^ not supported yet
  1252. ***** ^ not supported yet
  1253. 466 END P8;
  1254. ***** ^ not supported yet
  1255. 467
  1256. 468 (* P9 Moves window 2 *)
  1257. 469
  1258. 470 PROCEDURE P9 ;
  1259. 471 BEGIN
  1260. 472 Rmove(W4) ;
  1261. ***** ^ not supported yet
  1262. ***** ^ not supported yet
  1263. 473 END P9 ;
  1264. ***** ^ not supported yet
  1265. 474
  1266. 475
  1267. 476 PROCEDURE Demo ;
  1268. 477 VAR
  1269. 478 WD : Window.WinDef ;
  1270. ***** ^ not supported yet
  1271. 479 TW : Window.WinType;
  1272. ***** ^ not supported yet
  1273. 480 k : CHAR;
  1274. 481 BEGIN
  1275. 482 TW := Window.Top();
  1276. ***** ^ not supported yet
  1277. ***** ^ not supported yet
  1278. ***** ^ not supported yet
  1279. ***** ^ not supported yet
  1280. 483 Lib.RANDOMIZE ;
  1281. ***** ^ not supported yet
  1282. ***** ^ not supported yet
  1283. 484 Initialize := TRUE ;
  1284. 485 Window.SetProcessLocks(Process.Lock,Process.Unlock) ;
  1285. ***** ^ not supported yet
  1286. ***** ^ not supported yet
  1287. ***** ^ not supported yet
  1288. ***** ^ not supported yet
  1289. ***** ^ not supported yet
  1290. ***** ^ not supported yet
  1291. 486 Window.CursorOff ;
  1292. ***** ^ not supported yet
  1293. ***** ^ not supported yet
  1294. 487 Window.Clear ;
  1295. ***** ^ not supported yet
  1296. ***** ^ not supported yet
  1297. 488 WITH WD DO
  1298. ***** ^ not supported yet
  1299. 489 X1 := 10 ; Y1 := 2 ;
  1300. ***** ^ undeclared identifier
  1301. ***** ^ undeclared identifier
  1302. 490 X2 := 60 ; Y2 := 8 ;
  1303. ***** ^ undeclared identifier
  1304. ***** ^ undeclared identifier
  1305. 491 Foreground := Window.White ;
  1306. ***** ^ undeclared identifier
  1307. ***** ^ not supported yet
  1308. ***** ^ not supported yet
  1309. 492 IF IsBW THEN
  1310. 493 Background := Window.Black ;
  1311. ***** ^ undeclared identifier
  1312. ***** ^ not supported yet
  1313. ***** ^ not supported yet
  1314. 494 ELSE
  1315. 495 Background := Window.Red ;
  1316. ***** ^ undeclared identifier
  1317. ***** ^ not supported yet
  1318. ***** ^ not supported yet
  1319. 496 END ;
  1320. 497 CursorOn := FALSE ;
  1321. ***** ^ undeclared identifier
  1322. 498 WrapOn := TRUE ;
  1323. ***** ^ undeclared identifier
  1324. 499 Hidden := FALSE ;
  1325. ***** ^ undeclared identifier
  1326. 500 FrameOn := TRUE ;
  1327. ***** ^ undeclared identifier
  1328. 501 FrameDef := Window.SingleFrame ;
  1329. ***** ^ undeclared identifier
  1330. ***** ^ not supported yet
  1331. ***** ^ not supported yet
  1332. 502 FrameFore := Window.White ;
  1333. ***** ^ undeclared identifier
  1334. ***** ^ not supported yet
  1335. ***** ^ not supported yet
  1336. 503 FrameBack := Background ;
  1337. ***** ^ undeclared identifier
  1338. ***** ^ undeclared identifier
  1339. 504 END ;
  1340. ***** ^ not supported yet
  1341. 505 W1 := Window.Open(WD) ;
  1342. ***** ^ not supported yet
  1343. ***** ^ not supported yet
  1344. ***** ^ not supported yet
  1345. ***** ^ undeclared identifier
  1346. 506 Window.SetTitle(W1,' Process 1 ',Window.CenterUpperTitle);
  1347. ***** ^ not supported yet
  1348. ***** ^ not supported yet
  1349. ***** ^ not supported yet
  1350. ***** ^ not supported yet
  1351. ***** ^ not supported yet
  1352. ***** ^ not supported yet
  1353. 507 WITH WD DO
  1354. ***** ^ undeclared identifier
  1355. 508 X1 := 40 ; Y1 := 2 ;
  1356. ***** ^ undeclared identifier
  1357. ***** ^ undeclared identifier
  1358. 509 X2 := 70 ; Y2 := 12 ;
  1359. ***** ^ undeclared identifier
  1360. ***** ^ undeclared identifier
  1361. 510 Foreground := Window.White ;
  1362. ***** ^ undeclared identifier
  1363. ***** ^ not supported yet
  1364. ***** ^ not supported yet
  1365. 511 Background := Window.Blue ;
  1366. ***** ^ undeclared identifier
  1367. ***** ^ not supported yet
  1368. ***** ^ not supported yet
  1369. 512 CursorOn := FALSE ;
  1370. ***** ^ undeclared identifier
  1371. 513 WrapOn := TRUE ;
  1372. ***** ^ undeclared identifier
  1373. 514 Hidden := FALSE ;
  1374. ***** ^ undeclared identifier
  1375. 515 FrameOn := TRUE ;
  1376. ***** ^ undeclared identifier
  1377. 516 FrameDef := Window.DoubleFrame ;
  1378. ***** ^ undeclared identifier
  1379. ***** ^ not supported yet
  1380. ***** ^ not supported yet
  1381. 517 FrameFore := Window.Black ;
  1382. ***** ^ undeclared identifier
  1383. ***** ^ not supported yet
  1384. ***** ^ not supported yet
  1385. 518 FrameBack := Window.Cyan ;
  1386. ***** ^ undeclared identifier
  1387. ***** ^ not supported yet
  1388. ***** ^ not supported yet
  1389. 519 IF IsBW THEN
  1390. 520 Background := Window.Black ;
  1391. ***** ^ undeclared identifier
  1392. ***** ^ not supported yet
  1393. ***** ^ not supported yet
  1394. 521 FrameBack := Window.LightGray
  1395. ***** ^ undeclared identifier
  1396. ***** ^ not supported yet
  1397. ***** ^ not supported yet
  1398. 522 END ;
  1399. 523 END ;
  1400. ***** ^ not supported yet
  1401. 524 W2 := Window.Open(WD) ;
  1402. ***** ^ not supported yet
  1403. ***** ^ not supported yet
  1404. ***** ^ not supported yet
  1405. ***** ^ undeclared identifier
  1406. 525 Window.SetTitle(W2,' Process 2 ',Window.CenterUpperTitle);
  1407. ***** ^ not supported yet
  1408. ***** ^ not supported yet
  1409. ***** ^ not supported yet
  1410. ***** ^ not supported yet
  1411. ***** ^ not supported yet
  1412. ***** ^ not supported yet
  1413. 526 RandPalette(pal) ;
  1414. ***** ^ not supported yet
  1415. ***** ^ not supported yet
  1416. 527 WITH WD DO
  1417. ***** ^ undeclared identifier
  1418. 528 X1 := 40 ; Y1 := 6 ;
  1419. ***** ^ undeclared identifier
  1420. ***** ^ undeclared identifier
  1421. 529 X2 := 50 ; Y2 := 17 ;
  1422. ***** ^ undeclared identifier
  1423. ***** ^ undeclared identifier
  1424. 530 pal[0].Fore:= Window.Yellow ;
  1425. ***** ^ not supported yet
  1426. ***** ^ not supported yet
  1427. ***** ^ not supported yet
  1428. ***** ^ not supported yet
  1429. ***** ^ not supported yet
  1430. 531 pal[0].Back:= Window.Black ;
  1431. ***** ^ not supported yet
  1432. ***** ^ not supported yet
  1433. ***** ^ not supported yet
  1434. ***** ^ not supported yet
  1435. ***** ^ not supported yet
  1436. 532 CursorOn := FALSE ;
  1437. ***** ^ undeclared identifier
  1438. 533 WrapOn := TRUE ;
  1439. ***** ^ undeclared identifier
  1440. 534 Hidden := FALSE ;
  1441. ***** ^ undeclared identifier
  1442. 535 FrameOn := TRUE ;
  1443. ***** ^ undeclared identifier
  1444. 536 FrameDef := Window.SingleFrame ;
  1445. ***** ^ undeclared identifier
  1446. ***** ^ not supported yet
  1447. ***** ^ not supported yet
  1448. 537 pal[1].Fore:= Window.White ;
  1449. ***** ^ not supported yet
  1450. ***** ^ not supported yet
  1451. ***** ^ not supported yet
  1452. ***** ^ not supported yet
  1453. ***** ^ not supported yet
  1454. 538 pal[1].Back:= Window.Green ;
  1455. ***** ^ not supported yet
  1456. ***** ^ not supported yet
  1457. ***** ^ not supported yet
  1458. ***** ^ not supported yet
  1459. ***** ^ not supported yet
  1460. 539 IF IsBW THEN
  1461. 540 pal[0].Fore:= Window.LightGray ;
  1462. ***** ^ not supported yet
  1463. ***** ^ not supported yet
  1464. ***** ^ not supported yet
  1465. ***** ^ not supported yet
  1466. ***** ^ not supported yet
  1467. 541 pal[1].Back:= Window.Black ;
  1468. ***** ^ not supported yet
  1469. ***** ^ not supported yet
  1470. ***** ^ not supported yet
  1471. ***** ^ not supported yet
  1472. ***** ^ not supported yet
  1473. 542 END ;
  1474. 543 END ;
  1475. ***** ^ not supported yet
  1476. 544 W3 := Window.PaletteOpen(WD,pal) ;
  1477. ***** ^ not supported yet
  1478. ***** ^ not supported yet
  1479. ***** ^ not supported yet
  1480. ***** ^ undeclared identifier
  1481. ***** ^ not supported yet
  1482. 545 Window.SetTitle(W3,'Process 3',Window.CenterUpperTitle);
  1483. ***** ^ not supported yet
  1484. ***** ^ not supported yet
  1485. ***** ^ not supported yet
  1486. ***** ^ not supported yet
  1487. ***** ^ not supported yet
  1488. ***** ^ not supported yet
  1489. 546 WITH WD DO
  1490. ***** ^ undeclared identifier
  1491. 547 X1 := 10 ; Y1 := 10 ;
  1492. ***** ^ undeclared identifier
  1493. ***** ^ undeclared identifier
  1494. 548 X2 := 70 ; Y2 := 20 ;
  1495. ***** ^ undeclared identifier
  1496. ***** ^ undeclared identifier
  1497. 549 Foreground := Window.Black ;
  1498. ***** ^ undeclared identifier
  1499. ***** ^ not supported yet
  1500. ***** ^ not supported yet
  1501. 550 Background := Window.LightGray ;
  1502. ***** ^ undeclared identifier
  1503. ***** ^ not supported yet
  1504. ***** ^ not supported yet
  1505. 551 CursorOn := FALSE ;
  1506. ***** ^ undeclared identifier
  1507. 552 WrapOn := TRUE ;
  1508. ***** ^ undeclared identifier
  1509. 553 Hidden := FALSE ;
  1510. ***** ^ undeclared identifier
  1511. 554 FrameOn := TRUE ;
  1512. ***** ^ undeclared identifier
  1513. 555 FrameDef := Window.DoubleFrame ;
  1514. ***** ^ undeclared identifier
  1515. ***** ^ not supported yet
  1516. ***** ^ not supported yet
  1517. 556 FrameFore := Window.White ;
  1518. ***** ^ undeclared identifier
  1519. ***** ^ not supported yet
  1520. ***** ^ not supported yet
  1521. 557 FrameBack := Window.Green ;
  1522. ***** ^ undeclared identifier
  1523. ***** ^ not supported yet
  1524. ***** ^ not supported yet
  1525. 558 IF IsBW THEN
  1526. 559 FrameBack := Window.Black ;
  1527. ***** ^ undeclared identifier
  1528. ***** ^ not supported yet
  1529. ***** ^ not supported yet
  1530. 560 END ;
  1531. 561 END ;
  1532. ***** ^ not supported yet
  1533. 562 W4 := Window.Open(WD) ;
  1534. ***** ^ not supported yet
  1535. ***** ^ not supported yet
  1536. ***** ^ not supported yet
  1537. ***** ^ undeclared identifier
  1538. 563 Window.SetTitle(W4,' Process 4 ',Window.CenterUpperTitle);
  1539. ***** ^ not supported yet
  1540. ***** ^ not supported yet
  1541. ***** ^ not supported yet
  1542. ***** ^ not supported yet
  1543. ***** ^ not supported yet
  1544. ***** ^ not supported yet
  1545. 564
  1546. 565 Process.StartScheduler ;
  1547. ***** ^ not supported yet
  1548. ***** ^ not supported yet
  1549. 566
  1550. 567 Process.Init(DS) ;
  1551. ***** ^ not supported yet
  1552. ***** ^ not supported yet
  1553. ***** ^ not supported yet
  1554. 568 Process.StartProcess(P1,2000,1) ;
  1555. ***** ^ not supported yet
  1556. ***** ^ not supported yet
  1557. ***** ^ not supported yet
  1558. ***** ^ not supported yet
  1559. 569 Process.StartProcess(P2,2000,1) ;
  1560. ***** ^ not supported yet
  1561. ***** ^ not supported yet
  1562. ***** ^ not supported yet
  1563. ***** ^ not supported yet
  1564. 570 Process.StartProcess(P3,2000,1) ;
  1565. ***** ^ not supported yet
  1566. ***** ^ not supported yet
  1567. ***** ^ not supported yet
  1568. ***** ^ not supported yet
  1569. 571 Process.StartProcess(P4,2000,1) ;
  1570. ***** ^ not supported yet
  1571. ***** ^ not supported yet
  1572. ***** ^ not supported yet
  1573. ***** ^ not supported yet
  1574. 572 Process.StartProcess(P5,2000,1) ;
  1575. ***** ^ not supported yet
  1576. ***** ^ not supported yet
  1577. ***** ^ not supported yet
  1578. ***** ^ not supported yet
  1579. 573 Process.StartProcess(P6,2000,1) ;
  1580. ***** ^ not supported yet
  1581. ***** ^ not supported yet
  1582. ***** ^ not supported yet
  1583. ***** ^ not supported yet
  1584. 574 Process.StartProcess(P7,2000,1) ;
  1585. ***** ^ not supported yet
  1586. ***** ^ not supported yet
  1587. ***** ^ not supported yet
  1588. ***** ^ not supported yet
  1589. 575 Process.StartProcess(P8,2000,1) ;
  1590. ***** ^ not supported yet
  1591. ***** ^ not supported yet
  1592. ***** ^ not supported yet
  1593. ***** ^ not supported yet
  1594. 576 Process.StartProcess(P9,2000,1) ;
  1595. ***** ^ not supported yet
  1596. ***** ^ not supported yet
  1597. ***** ^ not supported yet
  1598. ***** ^ not supported yet
  1599. 577 Process.WAIT(DS) ;
  1600. ***** ^ not supported yet
  1601. ***** ^ not supported yet
  1602. ***** ^ not supported yet
  1603. 578 Window.PutOnTop(TW);
  1604. ***** ^ not supported yet
  1605. ***** ^ not supported yet
  1606. ***** ^ undeclared identifier
  1607. 579 Window.CursorOn ;
  1608. ***** ^ not supported yet
  1609. ***** ^ not supported yet
  1610. 580 WHILE IO.KeyPressed() DO k := IO.RdKey() END;
  1611. ***** ^ not supported yet
  1612. ***** ^ not supported yet
  1613. ***** ^ not supported yet
  1614. ***** ^ undeclared identifier
  1615. ***** ^ not supported yet
  1616. ***** ^ not supported yet
  1617. ***** ^ not supported yet
  1618. 581 END Demo;
  1619. ***** ^ not supported yet
  1620. 582
  1621. 583 (*%F _OS2*)
  1622. 584 PROCEDURE CheckBW ;
  1623. 585 VAR
  1624. 586 R : SYSTEM.Registers ;
  1625. 587 BEGIN
  1626. 588 R.AH := 15 ;
  1627. 589 Lib.Intr(R,10H) ;
  1628. 590 IsBW := (R.AL = 0)OR(R.AL = 2)OR(R.AL = 5)OR(R.AL = 6)OR(R.AL = 7) ;
  1629. 591 END CheckBW ;
  1630. 592 (*%E*)
  1631. 593
  1632. 594 (*%T _OS2*)
  1633. 595 PROCEDURE CheckBW;
  1634. 596 VAR
  1635. 597 mode : Vio.MODEINFO;
  1636. ***** ^ not supported yet
  1637. 598 r : CARDINAL;
  1638. 599 TYPE
  1639. 600 sb = SET OF [0..7] ;
  1640. ***** ^ not supported yet
  1641. 601 BEGIN
  1642. 602 mode.b := SIZE(mode);
  1643. ***** ^ not supported yet
  1644. ***** ^ not supported yet
  1645. ***** ^ undeclared identifier
  1646. ***** ^ not supported yet
  1647. 603 r := Vio.GetMode(mode,0);
  1648. ***** ^ not supported yet
  1649. ***** ^ not supported yet
  1650. ***** ^ not supported yet
  1651. ***** ^ not supported yet
  1652. 604 IsBW := (NOT (0 IN sb(mode.type)))OR(mode.color<=2)OR(2 IN sb(mode.type)) ;
  1653. ***** ^ not supported yet
  1654. ***** ^ not supported yet
  1655. ***** ^ not supported yet
  1656. ***** ^ not supported yet
  1657. ***** ^ not supported yet
  1658. ***** ^ not supported yet
  1659. 605 END CheckBW;
  1660. ***** ^ not supported yet
  1661. 606 (*%E*)
  1662. 607 (*%E*)
  1663. 608
  1664. 609
  1665. 610 BEGIN
  1666. 611 CheckBW ;
  1667. ***** ^ not supported yet
  1668. 612 Intro;
  1669. ***** ^ not supported yet
  1670. 613 Demo;
  1671. ***** ^ not supported yet
  1672. 614 END WinDemoM.
  1673. 1057 errors