home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / programming / aol / !JFShared / BasicLib / DispLib < prev    next >
Unknown  |  1997-09-30  |  16.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default
100% xdgMime image/x-tga default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 0e f4 20 3e 44 | 69 73 70 4c 69 62 0d 00 |..... >D|ispLib..|
|00000010| 14 26 f4 20 53 69 6d 70 | 6c 65 20 74 65 78 74 20 |.&. Simp|le text |
|00000020| 66 69 6c 65 20 64 69 73 | 70 6c 61 79 20 6c 69 62 |file dis|play lib|
|00000030| 72 61 72 79 0d 00 1e 3a | f4 20 57 65 20 72 65 71 |rary...:|. We req|
|00000040| 75 69 72 65 20 48 65 61 | 70 4c 69 62 72 61 72 79 |uire Hea|pLibrary|
|00000050| 20 2d 20 69 6e 63 6c 75 | 64 65 20 74 68 69 73 20 | - inclu|de this |
|00000060| 62 65 66 6f 72 65 20 44 | 69 73 70 4c 69 62 0d 00 |before D|ispLib..|
|00000070| 28 32 f4 20 56 65 72 73 | 69 6f 6e 20 31 2e 30 30 |(2. Vers|ion 1.00|
|00000080| 20 28 31 30 20 4d 61 79 | 20 31 39 39 37 29 20 2d | (10 May| 1997) -|
|00000090| 20 73 69 6d 70 6c 65 20 | 63 72 65 61 74 69 6f 6e | simple |creation|
|000000a0| 0d 00 32 3d f4 20 56 65 | 72 73 69 6f 6e 20 31 2e |..2=. Ve|rsion 1.|
|000000b0| 30 31 20 28 31 34 20 4d | 61 79 20 31 39 39 37 29 |01 (14 M|ay 1997)|
|000000c0| 20 2d 20 63 6f 6c 6f 75 | 72 73 20 61 6e 64 20 77 | - colou|rs and w|
|000000d0| 69 6e 64 6f 77 20 63 72 | 65 61 74 6f 72 0d 00 3c |indow cr|eator..<|
|000000e0| 36 f4 20 56 65 72 73 69 | 6f 6e 20 31 2e 30 32 20 |6. Versi|on 1.02 |
|000000f0| 28 31 34 20 4d 61 79 20 | 31 39 39 37 29 20 2d 20 |(14 May |1997) - |
|00000100| 72 65 73 69 7a 65 73 20 | 61 6e 64 20 66 69 6e 64 |resizes |and find|
|00000110| 69 6e 67 0d 00 46 37 f4 | 20 56 65 72 73 69 6f 6e |ing..F7.| Version|
|00000120| 20 31 2e 30 33 20 28 30 | 36 20 4a 75 6e 20 31 39 | 1.03 (0|6 Jun 19|
|00000130| 39 37 29 20 2d 20 61 64 | 64 69 6e 67 20 6c 69 6e |97) - ad|ding lin|
|00000140| 65 73 20 6d 69 64 2d 77 | 61 79 0d 00 50 3c f4 20 |es mid-w|ay..P<. |
|00000150| 56 65 72 73 69 6f 6e 20 | 31 2e 30 34 20 28 30 36 |Version |1.04 (06|
|00000160| 20 4a 75 6e 20 31 39 39 | 37 29 20 2d 20 72 65 61 | Jun 199|7) - rea|
|00000170| 64 69 6e 67 20 6c 69 6e | 65 73 20 61 6e 64 20 6f |ding lin|es and o|
|00000180| 70 65 6e 69 6e 67 0d 00 | 5a 31 f4 20 56 65 72 73 |pening..|Z1. Vers|
|00000190| 69 6f 6e 20 31 2e 30 35 | 20 28 30 36 20 4a 75 6e |ion 1.05| (06 Jun|
|000001a0| 20 31 39 39 37 29 20 2d | 20 70 72 69 76 61 74 65 | 1997) -| private|
|000001b0| 20 68 61 6e 64 6c 65 0d | 00 64 3c f4 20 56 65 72 | handle.|.d<. Ver|
|000001c0| 73 69 6f 6e 20 31 2e 30 | 36 20 28 31 32 20 4a 75 |sion 1.0|6 (12 Ju|
|000001d0| 6e 20 31 39 39 37 29 20 | 2d 20 6d 69 6e 69 6d 75 |n 1997) |- minimu|
|000001e0| 6d 20 61 6e 64 20 6e 61 | 74 75 72 61 6c 20 73 69 |m and na|tural si|
|000001f0| 7a 65 73 0d 00 6e 36 f4 | 20 56 65 72 73 69 6f 6e |zes..n6.| Version|
|00000200| 20 31 2e 30 37 20 28 32 | 30 20 4a 75 6e 20 31 39 | 1.07 (2|0 Jun 19|
|00000210| 39 37 29 20 2d 20 73 65 | 6c 65 63 74 69 6f 6e 20 |97) - se|lection |
|00000220| 28 70 61 72 74 69 61 6c | 29 0d 00 78 3e f4 20 56 |(partial|)..x>. V|
|00000230| 65 72 73 69 6f 6e 20 31 | 2e 30 38 20 28 33 30 20 |ersion 1|.08 (30 |
|00000240| 4a 75 6e 20 31 39 39 37 | 29 20 2d 20 64 65 6c 65 |Jun 1997|) - dele|
|00000250| 74 65 20 6c 69 6e 65 73 | 2c 20 63 6c 65 61 72 20 |te lines|, clear |
|00000260| 64 69 73 70 6c 61 79 0d | 00 82 37 f4 20 56 65 72 |display.|..7. Ver|
|00000270| 73 69 6f 6e 20 31 2e 30 | 39 20 28 30 32 20 4a 75 |sion 1.0|9 (02 Ju|
|00000280| 6c 20 31 39 39 37 29 20 | 2d 20 6d 6f 72 65 20 73 |l 1997) |- more s|
|00000290| 65 6c 65 63 74 69 6f 6e | 20 73 74 75 66 66 0d 00 |election| stuff..|
|000002a0| 8c 40 f4 20 56 65 72 73 | 69 6f 6e 20 31 2e 31 30 |.@. Vers|ion 1.10|
|000002b0| 20 28 30 37 20 41 75 67 | 20 31 39 39 37 29 20 2d | (07 Aug| 1997) -|
|000002c0| 20 66 69 78 65 64 20 50 | 52 4f 43 64 69 73 70 6c | fixed P|ROCdispl|
|000002d0| 61 79 5f 72 65 73 69 7a | 65 20 62 75 67 73 0d 00 |ay_resiz|e bugs..|
|000002e0| 96 2c 85 20 26 38 30 32 | 2c 22 44 6f 6e 27 74 20 |.,. &802|,"Don't |
|000002f0| 72 75 6e 20 74 68 69 73 | 20 2d 20 69 74 27 73 20 |run this| - it's |
|00000300| 61 20 6c 69 62 72 61 72 | 79 22 0d 00 a0 05 3a 0d |a librar|y"....:.|
|00000310| 00 aa 1a f4 20 59 6f 75 | 27 6c 6c 20 6e 65 65 64 |.... You|'ll need|
|00000320| 20 74 6f 20 61 64 64 20 | 3a 0d 00 b4 13 f4 20 50 | to add |:..... P|
|00000330| 52 4f 43 63 6c 6f 73 65 | 64 69 73 70 0d 00 be 20 |ROCclose|disp... |
|00000340| f4 20 2d 20 62 65 66 6f | 72 65 20 61 6e 79 20 65 |. - befo|re any e|
|00000350| 78 69 74 20 72 6f 75 74 | 69 6e 65 73 0d 00 c8 1f |xit rout|ines....|
|00000360| f4 20 57 48 45 4e 20 31 | 3a 52 45 4d 20 52 65 64 |. WHEN 1|:REM Red|
|00000370| 72 61 77 20 68 61 6e 64 | 6c 65 72 0d 00 d2 20 f4 |raw hand|ler... .|
|00000380| 20 20 64 69 73 70 25 3d | 46 4e 64 69 73 70 6c 61 | disp%=|FNdispla|
|00000390| 79 5f 66 69 6e 64 28 21 | 62 25 29 0d 00 dc 2d f4 |y_find(!|b%)...-.|
|000003a0| 20 20 49 46 20 64 69 73 | 70 25 20 54 48 45 4e 50 | IF dis|p% THENP|
|000003b0| 52 4f 43 64 69 73 70 6c | 61 79 5f 72 65 64 72 61 |ROCdispl|ay_redra|
|000003c0| 77 28 64 69 73 70 25 29 | 0d 00 e6 1b f4 20 2d 20 |w(disp%)|..... - |
|000003d0| 69 6e 20 74 68 65 20 70 | 6f 6c 6c 20 68 61 6e 64 |in the p|oll hand|
|000003e0| 6c 65 72 0d 00 f0 05 3a | 0d 00 fa 33 f4 20 50 52 |ler....:|...3. PR|
|000003f0| 4f 43 69 6e 69 74 64 69 | 73 70 20 3a 20 49 6e 69 |OCinitdi|sp : Ini|
|00000400| 74 69 61 6c 69 73 65 20 | 74 68 65 20 64 69 73 70 |tialise |the disp|
|00000410| 6c 61 79 20 68 61 6e 64 | 6c 65 72 0d 01 04 0e dd |lay hand|ler.....|
|00000420| f2 69 6e 69 74 64 69 73 | 70 0d 01 0e 11 64 69 73 |.initdis|p....dis|
|00000430| 70 5f 79 6c 6f 63 25 3d | 2d 31 0d 01 18 10 64 69 |p_yloc%=|-1....di|
|00000440| 73 70 5f 6c 69 73 74 25 | 3d 30 0d 01 22 05 e1 0d |sp_list%|=0.."...|
|00000450| 01 2c 05 3a 0d 01 36 44 | f4 20 50 52 4f 43 63 6c |.,.:..6D|. PROCcl|
|00000460| 6f 73 65 64 69 73 70 20 | 3a 20 43 6c 6f 73 65 64 |osedisp |: Closed|
|00000470| 6f 77 6e 20 74 68 65 20 | 64 69 73 70 6c 61 79 20 |own the |display |
|00000480| 68 61 6e 64 6c 65 72 20 | 28 4d 55 53 54 20 62 65 |handler |(MUST be|
|00000490| 20 63 61 6c 6c 65 64 29 | 0d 01 40 0f dd f2 63 6c | called)|..@...cl|
|000004a0| 6f 73 65 64 69 73 70 0d | 01 4a 05 e1 0d 01 54 05 |osedisp.|.J....T.|
|000004b0| 3a 0d 01 5e 2a f4 20 46 | 4e 64 69 73 70 6c 61 79 |:..^*. F|Ndisplay|
|000004c0| 5f 6e 65 77 20 3a 20 43 | 72 65 61 74 65 20 61 20 |_new : C|reate a |
|000004d0| 6e 65 77 20 64 69 73 70 | 6c 61 79 0d 01 68 19 dd |new disp|lay..h..|
|000004e0| a4 64 69 73 70 6c 61 79 | 5f 6e 65 77 28 74 69 74 |.display|_new(tit|
|000004f0| 6c 65 24 29 0d 01 72 35 | ea 20 70 25 3a 70 25 3d |le$)..r5|. p%:p%=|
|00000500| a4 63 6c 61 69 6d 28 36 | 30 2b 34 29 3a f4 20 53 |.claim(6|0+4):. S|
|00000510| 69 7a 65 20 6f 66 20 62 | 6c 6f 63 6b 20 2b 20 34 |ize of b|lock + 4|
|00000520| 20 66 6f 72 20 6c 69 6e | 6b 0d 01 7c 3c 21 70 25 | for lin|k..|<!p%|
|00000530| 3d 64 69 73 70 5f 6c 69 | 73 74 25 3a 64 69 73 70 |=disp_li|st%:disp|
|00000540| 5f 6c 69 73 74 25 3d 70 | 25 3a 70 25 2b 3d 34 3a |_list%=p|%:p%+=4:|
|00000550| f4 20 4c 69 6e 6b 20 75 | 73 20 74 6f 20 74 68 65 |. Link u|s to the|
|00000560| 20 6c 69 73 74 0d 01 86 | 24 21 70 25 3d 2d 31 3a | list...|$!p%=-1:|
|00000570| f4 20 4e 6f 20 77 69 6e | 64 6f 77 20 68 61 6e 64 |. No win|dow hand|
|00000580| 6c 65 20 61 73 20 79 65 | 74 0d 01 90 28 70 25 21 |le as ye|t...(p%!|
|00000590| 34 3d 30 3a f4 20 4e 6f | 20 6c 69 6e 65 73 20 69 |4=0:. No| lines i|
|000005a0| 6e 20 74 68 65 20 64 69 | 73 70 6c 61 79 20 79 65 |n the di|splay ye|
|000005b0| 74 0d 01 9a 30 70 25 21 | 38 3d 30 3a f4 20 50 6f |t...0p%!|8=0:. Po|
|000005c0| 69 6e 74 65 72 20 74 6f | 20 74 68 65 20 62 6f 74 |inter to| the bot|
|000005d0| 74 6f 6d 20 6f 66 20 74 | 68 65 20 77 69 6e 64 6f |tom of t|he windo|
|000005e0| 77 0d 01 a4 3d 70 25 21 | 31 32 3d a4 73 74 72 64 |w...=p%!|12=.strd|
|000005f0| 75 70 28 a4 6d 73 67 74 | 65 78 74 28 74 69 74 6c |up(.msgt|ext(titl|
|00000600| 65 24 29 29 3a f4 20 54 | 68 65 20 74 69 74 6c 65 |e$)):. T|he title|
|00000610| 20 6f 66 20 74 68 65 20 | 77 69 6e 64 6f 77 0d 01 | of the |window..|
|00000620| ae 21 70 25 21 31 36 3d | 2d 31 3a f4 20 44 65 66 |.!p%!16=|-1:. Def|
|00000630| 61 75 6c 74 20 62 61 63 | 6b 67 72 6f 75 6e 64 0d |ault bac|kground.|
|00000640| 01 b8 20 70 25 21 32 30 | 3d 37 3a f4 20 44 65 66 |.. p%!20|=7:. Def|
|00000650| 61 75 6c 74 20 66 6f 72 | 65 67 72 6f 75 6e 64 0d |ault for|eground.|
|00000660| 01 c2 25 70 25 21 32 34 | 3d 36 2a 31 36 3a f4 20 |..%p%!24|=6*16:. |
|00000670| 54 68 65 20 6d 61 78 20 | 77 69 64 74 68 20 73 6f |The max |width so|
|00000680| 20 66 61 72 0d 01 cc 2e | 70 25 21 32 38 3d 30 3a | far....|p%!28=0:|
|00000690| f4 20 50 6f 69 6e 74 65 | 72 20 74 6f 20 74 68 65 |. Pointe|r to the|
|000006a0| 20 74 6f 70 20 6f 66 20 | 74 68 65 20 77 69 6e 64 | top of |the wind|
|000006b0| 6f 77 0d 01 d6 3a 70 25 | 21 33 32 3d 30 3a f4 20 |ow...:p%|!32=0:. |
|000006c0| 50 72 69 76 61 74 65 20 | 77 6f 72 64 20 28 66 6f |Private |word (fo|
|000006d0| 72 20 6d 69 73 63 65 6c | 6c 61 6e 65 6f 75 73 20 |r miscel|laneous |
|000006e0| 70 72 6f 67 72 61 6d 20 | 75 73 65 29 0d 01 e0 32 |program |use)...2|
|000006f0| 70 25 21 33 36 3d 36 3a | f4 20 4d 69 6e 69 6d 75 |p%!36=6:|. Minimu|
|00000700| 6d 20 77 69 6e 64 6f 77 | 20 77 69 64 74 68 20 28 |m window| width (|
|00000710| 69 6e 20 63 68 61 72 61 | 63 74 65 72 73 29 0d 01 |in chara|cters)..|
|00000720| ea 2f 70 25 21 34 30 3d | 31 32 3a f4 20 4e 61 74 |./p%!40=|12:. Nat|
|00000730| 75 72 61 6c 20 77 69 6e | 64 6f 77 20 68 65 69 67 |ural win|dow heig|
|00000740| 68 74 20 28 69 6e 20 6c | 69 6e 65 73 29 0d 01 f4 |ht (in l|ines)...|
|00000750| 15 70 25 21 34 34 3d 30 | 3a f4 20 46 6c 61 67 73 |.p%!44=0|:. Flags|
|00000760| 20 3a 0d 01 fe 33 20 20 | 20 20 20 20 20 20 f4 20 | :...3 | . |
|00000770| 62 30 20 3d 20 77 69 6e | 64 6f 77 20 68 61 73 20 |b0 = win|dow has |
|00000780| 6d 6f 76 65 64 20 73 69 | 6e 63 65 20 6c 61 73 74 |moved si|nce last|
|00000790| 20 74 69 6d 65 0d 02 08 | 3a 20 20 20 20 20 20 20 | time...|: |
|000007a0| 20 f4 20 62 31 20 3d 20 | 77 65 20 61 72 65 20 64 | . b1 = |we are d|
|000007b0| 72 61 67 67 69 6e 67 20 | 74 68 65 20 73 74 61 72 |ragging |the star|
|000007c0| 74 20 28 6e 6f 74 20 74 | 68 65 20 65 6e 64 29 0d |t (not t|he end).|
|000007d0| 02 12 3a 70 25 21 34 38 | 3d 2d 31 3a f4 20 53 74 |..:p%!48|=-1:. St|
|000007e0| 61 72 74 20 6c 69 6e 65 | 20 6e 75 6d 62 65 72 20 |art line| number |
|000007f0| 66 6f 72 20 73 65 6c 65 | 63 74 69 6f 6e 20 28 2d |for sele|ction (-|
|00000800| 31 20 3d 20 6e 6f 6e 65 | 29 0d 02 1c 33 70 25 21 |1 = none|)...3p%!|
|00000810| 35 32 3d 30 3a f4 20 53 | 74 61 72 74 20 63 68 61 |52=0:. S|tart cha|
|00000820| 72 61 63 74 65 72 20 69 | 6e 20 6c 69 6e 65 20 66 |racter i|n line f|
|00000830| 6f 72 20 73 65 6c 65 63 | 74 69 6f 6e 0d 02 26 2c |or selec|tion..&,|
|00000840| 70 25 21 35 36 3d 2d 31 | 3a f4 20 45 6e 64 20 6c |p%!56=-1|:. End l|
|00000850| 69 6e 65 20 6e 75 6d 62 | 65 72 20 66 6f 72 20 73 |ine numb|er for s|
|00000860| 65 6c 65 63 74 69 6f 6e | 0d 02 30 31 70 25 21 36 |election|..01p%!6|
|00000870| 30 3d 30 3a f4 20 45 6e | 64 20 63 68 61 72 61 63 |0=0:. En|d charac|
|00000880| 74 65 72 20 69 6e 20 6c | 69 6e 65 20 66 6f 72 20 |ter in l|ine for |
|00000890| 73 65 6c 65 63 74 69 6f | 6e 0d 02 3a 07 3d 70 25 |selectio|n..:.=p%|
|000008a0| 0d 02 44 05 3a 0d 02 4e | 3e f4 20 50 52 4f 43 64 |..D.:..N|>. PROCd|
|000008b0| 69 73 70 6c 61 79 5f 63 | 6f 6c 6f 75 72 73 20 3a |isplay_c|olours :|
|000008c0| 20 43 68 61 6e 67 65 20 | 74 68 65 20 64 65 66 61 | Change |the defa|
|000008d0| 75 6c 74 20 64 69 73 70 | 6c 61 79 20 63 6f 6c 6f |ult disp|lay colo|
|000008e0| 75 72 73 0d 02 58 24 dd | f2 64 69 73 70 6c 61 79 |urs..X$.|.display|
|000008f0| 5f 63 6f 6c 6f 75 72 73 | 28 64 69 73 70 25 2c 66 |_colours|(disp%,f|
|00000900| 67 25 2c 62 67 25 29 0d | 02 62 18 e7 20 66 67 25 |g%,bg%).|.b.. fg%|
|00000910| 3c 3e 2d 32 20 8c 70 25 | 21 32 30 3d 66 67 25 0d |<>-2 .p%|!20=fg%.|
|00000920| 02 6c 18 e7 20 62 67 25 | 3c 3e 2d 32 20 8c 70 25 |.l.. bg%|<>-2 .p%|
|00000930| 21 31 36 3d 62 67 25 0d | 02 76 05 e1 0d 02 80 05 |!16=bg%.|.v......|
|00000940| 3a 0d 02 8a 1f dd f2 64 | 69 73 70 6c 61 79 5f 73 |:......d|isplay_s|
|00000950| 69 7a 65 28 64 69 73 70 | 25 2c 77 25 2c 68 25 29 |ize(disp|%,w%,h%)|
|00000960| 0d 02 94 2e e7 20 77 25 | 3c 3e 2d 31 20 8c 70 25 |..... w%|<>-1 .p%|
|00000970| 21 33 36 3d 77 25 3a e7 | 20 77 25 3e 70 25 21 32 |!36=w%:.| w%>p%!2|
|00000980| 34 20 8c 70 25 21 32 34 | 3d 77 25 2a 31 36 0d 02 |4 .p%!24|=w%*16..|
|00000990| 9e 16 e7 20 68 25 3c 3e | 2d 31 20 8c 70 25 21 34 |... h%<>|-1 .p%!4|
|000009a0| 30 3d 68 25 0d 02 a8 05 | e1 0d 02 b2 05 3a 0d 02 |0=h%....|.....:..|
|000009b0| bc 25 f4 20 52 65 61 64 | 20 61 6e 64 20 77 72 69 |.%. Read| and wri|
|000009c0| 74 65 20 74 68 65 20 70 | 72 69 76 61 74 65 20 77 |te the p|rivate w|
|000009d0| 6f 72 64 0d 02 c6 33 dd | f2 64 69 73 70 6c 61 79 |ord...3.|.display|
|000009e0| 5f 73 65 74 70 72 69 76 | 28 64 69 73 70 25 2c 70 |_setpriv|(disp%,p|
|000009f0| 72 69 76 25 29 3a 64 69 | 73 70 25 21 33 32 3d 70 |riv%):di|sp%!32=p|
|00000a00| 72 69 76 25 3a e1 0d 02 | d0 26 dd a4 64 69 73 70 |riv%:...|.&..disp|
|00000a10| 6c 61 79 5f 67 65 74 70 | 72 69 76 28 64 69 73 70 |lay_getp|riv(disp|
|00000a20| 25 29 3a 3d 64 69 73 70 | 25 21 33 32 0d 02 da 05 |%):=disp|%!32....|
|00000a30| 3a 0d 02 e4 2c f4 20 50 | 52 4f 43 64 69 73 70 6c |:...,. P|ROCdispl|
|00000a40| 61 79 5f 6b 69 6c 6c 20 | 3a 20 44 65 73 74 72 6f |ay_kill |: Destro|
|00000a50| 79 20 74 68 65 20 64 69 | 73 70 6c 61 79 0d 02 ee |y the di|splay...|
|00000a60| 19 dd f2 64 69 73 70 6c | 61 79 5f 6b 69 6c 6c 28 |...displ|ay_kill(|
|00000a70| 64 69 73 70 25 29 0d 02 | f8 19 ea 20 70 25 2c 6f |disp%)..|... p%,o|
|00000a80| 25 2c 6e 25 3a 70 25 3d | 64 69 73 70 25 21 38 0d |%,n%:p%=|disp%!8.|
|00000a90| 03 02 0c c8 95 20 70 25 | 3c 3e 30 0d 03 0c 22 20 |..... p%|<>0..." |
|00000aa0| 6f 25 3d 70 25 21 34 3a | f4 20 52 65 61 64 20 74 |o%=p%!4:|. Read t|
|00000ab0| 68 65 20 63 68 61 69 6e | 20 68 65 61 64 0d 03 16 |he chain| head...|
|00000ac0| 0d 20 c8 95 20 6f 25 3c | 3e 30 0d 03 20 3c 20 20 |. .. o%<|>0.. < |
|00000ad0| 6e 25 3d 21 6f 25 3a f2 | 72 65 6c 65 61 73 65 28 |n%=!o%:.|release(|
|00000ae0| 6f 25 29 3a 6f 25 3d 6e | 25 3a f4 20 52 65 6c 65 |o%):o%=n|%:. Rele|
|00000af0| 61 73 65 20 74 68 69 73 | 20 70 61 72 74 20 6f 66 |ase this| part of|
|00000b00| 20 63 68 61 69 6e 0d 03 | 2a 06 20 ce 0d 03 34 3b | chain..|*. ...4;|
|00000b10| 20 6e 25 3d 21 70 25 3a | f2 72 65 6c 65 61 73 65 | n%=!p%:|.release|
|00000b20| 28 70 25 29 3a 70 25 3d | 6e 25 3a f4 20 52 65 6c |(p%):p%=|n%:. Rel|
|00000b30| 65 61 73 65 20 74 68 69 | 73 20 70 61 72 74 20 6f |ease thi|s part o|
|00000b40| 66 20 63 68 61 69 6e 0d | 03 3e 05 ce 0d 03 48 12 |f chain.|.>....H.|
|00000b50| e7 20 21 64 69 73 70 25 | 3c 3e 2d 31 20 8c 0d 03 |. !disp%|<>-1 ...|
|00000b60| 52 17 20 f4 20 4b 69 6c | 6c 20 61 6e 79 20 77 69 |R. . Kil|l any wi|
|00000b70| 6e 64 6f 77 73 0d 03 5c | 22 20 c8 99 20 22 57 69 |ndows..\|" .. "Wi|
|00000b80| 6d 70 5f 44 65 6c 65 74 | 65 57 69 6e 64 6f 77 22 |mp_Delet|eWindow"|
|00000b90| 2c 2c 64 69 73 70 25 0d | 03 66 05 cd 0d 03 70 16 |,,disp%.|.f....p.|
|00000ba0| f2 72 65 6c 65 61 73 65 | 28 64 69 73 70 25 21 31 |.release|(disp%!1|
|00000bb0| 32 29 0d 03 7a 32 70 25 | 3d 64 69 73 70 5f 6c 69 |2)..z2p%|=disp_li|
|00000bc0| 73 74 25 3a 6f 25 3d 30 | 3a f4 20 4b 69 6c 6c 20 |st%:o%=0|:. Kill |
|00000bd0| 69 74 20 6f 66 66 20 66 | 72 6f 6d 20 74 68 65 20 |it off f|rom the |
|00000be0| 6c 69 73 74 0d 03 84 0c | c8 95 20 70 25 3c 3e 30 |list....|.. p%<>0|
|00000bf0| 0d 03 8e 0b 20 6e 25 3d | 21 70 25 0d 03 98 13 20 |.... n%=|!p%.... |
|00000c00| e7 20 70 25 2b 34 3d 64 | 69 73 70 25 20 8c 0d 03 |. p%+4=d|isp% ...|
|00000c10| a2 30 20 20 f2 72 65 6c | 65 61 73 65 28 70 25 29 |.0 .rel|ease(p%)|
|00000c20| 3a e7 20 6f 25 3d 30 20 | 8c 64 69 73 70 5f 6c 69 |:. o%=0 |.disp_li|
|00000c30| 73 74 25 3d 6e 25 20 8b | 21 6f 25 3d 6e 25 0d 03 |st%=n% .|!o%=n%..|
|00000c40| ac 0b 20 20 70 25 3d 6f | 25 0d 03 b6 06 20 cd 0d |.. p%=o|%.... ..|
|00000c50| 03 c0 10 20 6f 25 3d 70 | 25 3a 70 25 3d 6e 25 0d |... o%=p|%:p%=n%.|
|00000c60| 03 ca 05 ce 0d 03 d4 05 | e1 0d 03 de 05 3a 0d 03 |........|.....:..|
|00000c70| e8 1a dd f2 64 69 73 70 | 6c 61 79 5f 63 6c 65 61 |....disp|lay_clea|
|00000c80| 72 28 64 69 73 70 25 29 | 0d 03 f2 19 ea 20 70 25 |r(disp%)|..... p%|
|00000c90| 2c 6f 25 2c 6e 25 3a 70 | 25 3d 64 69 73 70 25 21 |,o%,n%:p|%=disp%!|
|00000ca0| 38 0d 03 fc 59 e7 20 21 | 64 69 73 70 25 3c 3e 2d |8...Y. !|disp%<>-|
|00000cb0| 31 20 8c c8 99 20 22 57 | 69 6d 70 5f 46 6f 72 63 |1 ... "W|imp_Forc|
|00000cc0| 65 52 65 64 72 61 77 22 | 2c 21 64 69 73 70 25 2c |eRedraw"|,!disp%,|
|00000cd0| 30 2c 2d 64 69 73 70 25 | 21 34 2a 33 36 2d 38 2c |0,-disp%|!4*36-8,|
|00000ce0| 64 69 73 70 25 21 32 34 | 2b 31 32 2c 30 3a f4 20 |disp%!24|+12,0:. |
|00000cf0| 52 65 64 72 61 77 20 61 | 6c 6c 0d 04 06 0c c8 95 |Redraw a|ll......|
|00000d00| 20 70 25 3c 3e 30 0d 04 | 10 22 20 6f 25 3d 70 25 | p%<>0..|." o%=p%|
|00000d10| 21 34 3a f4 20 52 65 61 | 64 20 74 68 65 20 63 68 |!4:. Rea|d the ch|
|00000d20| 61 69 6e 20 68 65 61 64 | 0d 04 1a 0d 20 c8 95 20 |ain head|.... .. |
|00000d30| 6f 25 3c 3e 30 0d 04 24 | 3c 20 20 6e 25 3d 21 6f |o%<>0..$|< n%=!o|
|00000d40| 25 3a f2 72 65 6c 65 61 | 73 65 28 6f 25 29 3a 6f |%:.relea|se(o%):o|
|00000d50| 25 3d 6e 25 3a f4 20 52 | 65 6c 65 61 73 65 20 74 |%=n%:. R|elease t|
|00000d60| 68 69 73 20 70 61 72 74 | 20 6f 66 20 63 68 61 69 |his part| of chai|
|00000d70| 6e 0d 04 2e 06 20 ce 0d | 04 38 3b 20 6e 25 3d 21 |n.... ..|.8; n%=!|
|00000d80| 70 25 3a f2 72 65 6c 65 | 61 73 65 28 70 25 29 3a |p%:.rele|ase(p%):|
|00000d90| 70 25 3d 6e 25 3a f4 20 | 52 65 6c 65 61 73 65 20 |p%=n%:. |Release |
|00000da0| 74 68 69 73 20 70 61 72 | 74 20 6f 66 20 63 68 61 |this par|t of cha|
|00000db0| 69 6e 0d 04 42 05 ce 0d | 04 4c 23 64 69 73 70 25 |in..B...|.L#disp%|
|00000dc0| 21 34 3d 30 3a f4 20 4e | 6f 20 6c 69 6e 65 73 20 |!4=0:. N|o lines |
|00000dd0| 61 74 20 70 72 65 73 65 | 6e 74 0d 04 56 17 64 69 |at prese|nt..V.di|
|00000de0| 73 70 25 21 38 3d 30 3a | f4 20 4e 6f 20 74 61 69 |sp%!8=0:|. No tai|
|00000df0| 6c 0d 04 60 18 64 69 73 | 70 25 21 32 38 3d 30 3a |l..`.dis|p%!28=0:|
|00000e00| f4 20 4e 6f 20 68 65 61 | 64 0d 04 6a 18 64 69 73 |. No hea|d..j.dis|
|00000e10| 70 25 21 32 34 3d 64 69 | 73 70 25 21 34 30 2a 31 |p%!24=di|sp%!40*1|
|00000e20| 36 0d 04 74 1a f2 64 69 | 73 70 6c 61 79 5f 72 65 |6..t..di|splay_re|
|00000e30| 73 69 7a 65 28 64 69 73 | 70 25 29 0d 04 7e 05 e1 |size(dis|p%)..~..|
|00000e40| 0d 04 88 05 3a 0d 04 92 | 22 dd f2 64 69 73 70 6c |....:...|"..displ|
|00000e50| 61 79 5f 64 65 6c 65 74 | 65 6c 69 6e 65 28 64 69 |ay_delet|eline(di|
|00000e60| 73 70 25 2c 70 25 29 0d | 04 9c 08 ea 20 6f 25 0d |sp%,p%).|.... o%.|
|00000e70| 04 a6 17 e7 20 70 25 3c | 3d 30 20 8c 70 25 3d 64 |.... p%<|=0 .p%=d|
|00000e80| 69 73 70 25 21 38 0d 04 | b0 0d e7 20 70 25 3d 30 |isp%!8..|... p%=0|
|00000e90| 20 8c e1 0d 04 ba 1c f4 | 20 4c 61 73 74 27 73 20 | .......| Last's |
|00000ea0| 6e 65 78 74 20 3d 20 6f | 75 72 20 6e 65 78 74 0d |next = o|ur next.|
|00000eb0| 04 c4 2a e7 20 21 70 25 | 3c 3e 30 20 8c 21 28 21 |..*. !p%|<>0 .!(!|
|00000ec0| 70 25 2b 38 29 3d 70 25 | 21 38 20 8b 64 69 73 70 |p%+8)=p%|!8 .disp|
|00000ed0| 25 21 32 38 3d 70 25 21 | 38 0d 04 ce 1c f4 20 4e |%!28=p%!|8..... N|
|00000ee0| 65 78 74 27 73 20 6c 61 | 73 74 20 3d 20 6f 75 72 |ext's la|st = our|
|00000ef0| 20 6c 61 73 74 0d 04 d8 | 29 e7 20 70 25 21 38 3c | last...|). p%!8<|
|00000f00| 3e 30 20 8c 21 28 70 25 | 21 38 2b 30 29 3d 21 70 |>0 .!(p%|!8+0)=!p|
|00000f10| 25 20 8b 64 69 73 70 25 | 21 38 3d 21 70 25 0d 04 |% .disp%|!8=!p%..|
|00000f20| e2 21 6f 25 3d 70 25 21 | 34 3a f4 20 52 65 61 64 |.!o%=p%!|4:. Read|
|00000f30| 20 74 68 65 20 63 68 61 | 69 6e 20 68 65 61 64 0d | the cha|in head.|
|00000f40| 04 ec 0c c8 95 20 6f 25 | 3c 3e 30 0d 04 f6 3b 20 |..... o%|<>0...; |
|00000f50| 6e 25 3d 21 6f 25 3a f2 | 72 65 6c 65 61 73 65 28 |n%=!o%:.|release(|
|00000f60| 6f 25 29 3a 6f 25 3d 6e | 25 3a f4 20 52 65 6c 65 |o%):o%=n|%:. Rele|
|00000f70| 61 73 65 20 74 68 69 73 | 20 70 61 72 74 20 6f 66 |ase this| part of|
|00000f80| 20 63 68 61 69 6e 0d 05 | 00 05 ce 0d 05 0a 2e f2 | chain..|........|
|00000f90| 72 65 6c 65 61 73 65 28 | 70 25 29 3a f4 20 41 6e |release(|p%):. An|
|00000fa0| 64 20 72 65 6c 65 61 73 | 65 20 74 68 65 20 6c 69 |d releas|e the li|
|00000fb0| 6e 65 20 69 74 73 65 6c | 66 0d 05 14 15 64 69 73 |ne itsel|f....dis|
|00000fc0| 70 25 21 34 3d 64 69 73 | 70 25 21 34 2d 31 0d 05 |p%!4=dis|p%!4-1..|
|00000fd0| 1e 1a f2 64 69 73 70 6c | 61 79 5f 72 65 73 69 7a |...displ|ay_resiz|
|00000fe0| 65 28 64 69 73 70 25 29 | 0d 05 28 4c e7 20 21 64 |e(disp%)|..(L. !d|
|00000ff0| 69 73 70 25 3c 3e 2d 31 | 20 8c c8 99 20 22 57 69 |isp%<>-1| ... "Wi|
|00001000| 6d 70 5f 46 6f 72 63 65 | 52 65 64 72 61 77 22 2c |mp_Force|Redraw",|
|00001010| 21 64 69 73 70 25 2c 30 | 2c 2d 64 69 73 70 25 21 |!disp%,0|,-disp%!|
|00001020| 34 2a 33 36 2d 38 2c 64 | 69 73 70 25 21 32 34 2b |4*36-8,d|isp%!24+|
|00001030| 31 32 2c 30 0d 05 32 05 | e1 0d 05 3c 05 3a 0d 05 |12,0..2.|...<.:..|
|00001040| 46 33 f4 20 50 52 4f 43 | 64 69 73 70 6c 61 79 5f |F3. PROC|display_|
|00001050| 61 64 64 20 3a 20 41 64 | 64 20 74 68 65 20 74 65 |add : Ad|d the te|
|00001060| 78 74 20 74 6f 20 74 68 | 65 20 64 69 73 70 6c 61 |xt to th|e displa|
|00001070| 79 0d 05 50 1b dd f2 64 | 69 73 70 6c 61 79 5f 61 |y..P...d|isplay_a|
|00001080| 64 64 28 64 69 73 70 25 | 2c 61 24 29 0d 05 5a 0b |dd(disp%|,a$)..Z.|
|00001090| ea 20 70 25 2c 6f 25 0d | 05 64 0e e7 20 61 24 3c |. p%,o%.|.d.. a$<|
|000010a0| 3e 22 22 20 8c 0d 05 6e | 1a 20 6f 25 3d a4 63 6c |>"" ...n|. o%=.cl|
|000010b0| 61 69 6d 28 31 36 2b a9 | 28 61 24 29 2b 31 29 0d |aim(16+.|(a$)+1).|
|000010c0| 05 78 27 20 6f 25 21 30 | 3d 30 3a f4 20 4e 6f 20 |.x' o%!0|=0:. No |
|000010d0| 6e 65 78 74 20 65 6e 74 | 72 79 20 69 6e 20 74 68 |next ent|ry in th|
|000010e0| 65 20 6c 69 6e 65 0d 05 | 82 30 20 6f 25 21 34 3d |e line..|.0 o%!4=|
|000010f0| 2d 31 3a 6f 25 21 38 3d | 2d 31 3a f4 20 53 65 74 |-1:o%!8=|-1:. Set|
|00001100| 20 74 68 65 20 63 6f 6c | 6f 75 72 73 20 28 64 65 | the col|ours (de|
|00001110| 66 61 75 6c 74 29 0d 05 | 8c 31 20 6f 25 21 31 32 |fault)..|.1 o%!12|
|00001120| 3d a9 28 61 24 29 2a 31 | 36 3a f4 20 4c 65 6e 67 |=.(a$)*1|6:. Leng|
|00001130| 74 68 20 6f 66 20 74 65 | 78 74 20 6f 6e 20 74 68 |th of te|xt on th|
|00001140| 69 73 20 6c 69 6e 65 0d | 05 96 23 20 24 28 6f 25 |is line.|..# $(o%|
|00001150| 2b 31 36 29 3d 61 24 3a | f4 20 53 74 6f 72 65 20 |+16)=a$:|. Store |
|00001160| 74 68 65 20 73 74 72 69 | 6e 67 0d 05 a0 25 20 e7 |the stri|ng...% .|
|00001170| 20 6f 25 21 31 32 3e 64 | 69 73 70 25 21 32 34 20 | o%!12>d|isp%!24 |
|00001180| 8c 64 69 73 70 25 21 32 | 34 3d 6f 25 21 31 32 0d |.disp%!2|4=o%!12.|
|00001190| 05 aa 05 cc 0d 05 b4 09 | 20 6f 25 3d 30 0d 05 be |........| o%=0...|
|000011a0| 05 cd 0d 05 c8 22 70 25 | 3d a4 63 6c 61 69 6d 28 |....."p%|=.claim(|
|000011b0| 31 32 29 3a f4 20 54 68 | 65 20 63 68 61 69 6e 20 |12):. Th|e chain |
|000011c0| 6c 69 6e 6b 0d 05 d2 2e | e7 20 64 69 73 70 25 21 |link....|. disp%!|
|000011d0| 32 38 3d 30 20 8c 64 69 | 73 70 25 21 32 38 3d 70 |28=0 .di|sp%!28=p|
|000011e0| 25 20 8b 21 28 64 69 73 | 70 25 21 38 2b 38 29 3d |% .!(dis|p%!8+8)=|
|000011f0| 70 25 0d 05 dc 3a 21 70 | 25 3d 64 69 73 70 25 21 |p%...:!p|%=disp%!|
|00001200| 38 3a 64 69 73 70 25 21 | 38 3d 70 25 3a f4 20 4c |8:disp%!|8=p%:. L|
|00001210| 69 6e 6b 20 75 73 20 74 | 6f 20 74 68 65 20 76 65 |ink us t|o the ve|
|00001220| 72 74 69 63 61 6c 20 63 | 68 61 69 6e 0d 05 e6 2f |rtical c|hain.../|
|00001230| 70 25 21 34 3d 6f 25 3a | f4 20 4c 69 6e 6b 20 74 |p%!4=o%:|. Link t|
|00001240| 68 65 20 66 69 72 73 74 | 20 65 6e 74 72 79 20 69 |he first| entry i|
|00001250| 6e 20 74 68 65 20 63 68 | 61 69 6e 0d 05 f0 3d 64 |n the ch|ain...=d|
|00001260| 69 73 70 25 21 34 3d 64 | 69 73 70 25 21 34 2b 31 |isp%!4=d|isp%!4+1|
|00001270| 3a f4 20 49 6e 63 72 65 | 6d 65 6e 74 20 6e 75 6d |:. Incre|ment num|
|00001280| 62 65 72 20 6f 66 20 6c | 69 6e 65 73 20 69 6e 20 |ber of l|ines in |
|00001290| 74 68 65 20 6c 69 73 74 | 0d 05 fa 2a 70 25 21 38 |the list|...*p%!8|
|000012a0| 3d 30 3a f4 20 57 65 27 | 72 65 20 6e 6f 74 20 6c |=0:. We'|re not l|
|000012b0| 69 6e 6b 65 64 20 6f 6e | 20 74 6f 20 61 6e 79 6f |inked on| to anyo|
|000012c0| 6e 65 0d 06 04 1a f2 64 | 69 73 70 6c 61 79 5f 72 |ne.....d|isplay_r|
|000012d0| 65 73 69 7a 65 28 64 69 | 73 70 25 29 0d 06 0e 59 |esize(di|sp%)...Y|
|000012e0| e7 20 21 64 69 73 70 25 | 3c 3e 2d 31 20 8c c8 99 |. !disp%|<>-1 ...|
|000012f0| 20 22 57 69 6d 70 5f 46 | 6f 72 63 65 52 65 64 72 | "Wimp_F|orceRedr|
|00001300| 61 77 22 2c 21 64 69 73 | 70 25 2c 30 2c 2d 64 69 |aw",!dis|p%,0,-di|
|00001310| 73 70 25 21 34 2a 33 36 | 2d 38 2c 64 69 73 70 25 |sp%!4*36|-8,disp%|
|00001320| 21 32 34 2b 31 32 2c 2d | 64 69 73 70 25 21 34 2a |!24+12,-|disp%!4*|
|00001330| 33 36 2b 33 36 0d 06 18 | 05 e1 0d 06 22 05 3a 0d |36+36...|....".:.|
|00001340| 06 2c 39 f4 20 50 52 4f | 43 64 69 73 70 61 79 5f |.,9. PRO|Cdispay_|
|00001350| 61 64 64 61 74 20 3a 20 | 41 64 64 20 61 20 6c 69 |addat : |Add a li|
|00001360| 6e 65 20 61 74 20 61 20 | 70 61 72 74 69 63 75 6c |ne at a |particul|
|00001370| 61 72 20 70 6f 69 6e 74 | 0d 06 36 20 dd f2 64 69 |ar point|..6 ..di|
|00001380| 73 70 6c 61 79 5f 61 64 | 64 61 74 28 64 69 73 70 |splay_ad|dat(disp|
|00001390| 25 2c 6c 25 2c 61 24 29 | 0d 06 40 0b ea 20 70 25 |%,l%,a$)|..@.. p%|
|000013a0| 2c 6f 25 0d 06 4a 0e e7 | 20 61 24 3c 3e 22 22 20 |,o%..J..| a$<>"" |
|000013b0| 8c 0d 06 54 1a 20 6f 25 | 3d a4 63 6c 61 69 6d 28 |...T. o%|=.claim(|
|000013c0| 31 36 2b a9 28 61 24 29 | 2b 31 29 0d 06 5e 27 20 |16+.(a$)|+1)..^' |
|000013d0| 6f 25 21 30 3d 30 3a f4 | 20 4e 6f 20 6e 65 78 74 |o%!0=0:.| No next|
|000013e0| 20 65 6e 74 72 79 20 69 | 6e 20 74 68 65 20 6c 69 | entry i|n the li|
|000013f0| 6e 65 0d 06 68 30 20 6f | 25 21 34 3d 2d 31 3a 6f |ne..h0 o|%!4=-1:o|
|00001400| 25 21 38 3d 2d 31 3a f4 | 20 53 65 74 20 74 68 65 |%!8=-1:.| Set the|
|00001410| 20 63 6f 6c 6f 75 72 73 | 20 28 64 65 66 61 75 6c | colours| (defaul|
|00001420| 74 29 0d 06 72 27 20 6f | 25 21 31 32 3d a9 28 61 |t)..r' o|%!12=.(a|
|00001430| 24 29 2a 31 36 3a f4 20 | 57 69 64 74 68 20 6f 66 |$)*16:. |Width of|
|00001440| 20 74 68 65 20 6c 69 6e | 65 0d 06 7c 23 20 24 28 | the lin|e..|# $(|
|00001450| 6f 25 2b 31 36 29 3d 61 | 24 3a f4 20 53 74 6f 72 |o%+16)=a|$:. Stor|
|00001460| 65 20 74 68 65 20 73 74 | 72 69 6e 67 0d 06 86 25 |e the st|ring...%|
|00001470| 20 e7 20 6f 25 21 31 32 | 3e 64 69 73 70 25 21 32 | . o%!12|>disp%!2|
|00001480| 34 20 8c 64 69 73 70 25 | 21 32 34 3d 6f 25 21 31 |4 .disp%|!24=o%!1|
|00001490| 32 0d 06 90 05 cc 0d 06 | 9a 09 20 6f 25 3d 30 0d |2.......|.. o%=0.|
|000014a0| 06 a4 05 cd 0d 06 ae 22 | 70 25 3d a4 63 6c 61 69 |......."|p%=.clai|
|000014b0| 6d 28 31 32 29 3a f4 20 | 54 68 65 20 63 68 61 69 |m(12):. |The chai|
|000014c0| 6e 20 6c 69 6e 6b 0d 06 | b8 0c e7 20 6c 25 3d 30 |n link..|... l%=0|
|000014d0| 20 8c 0d 06 c2 2d 20 e7 | 20 64 69 73 70 25 21 32 | ....- .| disp%!2|
|000014e0| 38 3d 30 20 8c 64 69 73 | 70 25 21 38 3d 70 25 20 |8=0 .dis|p%!8=p% |
|000014f0| 8b 21 28 64 69 73 70 25 | 21 32 38 29 3d 70 25 0d |.!(disp%|!28)=p%.|
|00001500| 06 cc 29 20 70 25 21 38 | 3d 64 69 73 70 25 21 32 |..) p%!8|=disp%!2|
|00001510| 38 3a f4 20 4c 69 6e 6b | 20 74 6f 20 74 68 65 20 |8:. Link| to the |
|00001520| 6e 65 78 74 20 6f 6e 65 | 0d 06 d6 21 20 64 69 73 |next one|...! dis|
|00001530| 70 25 21 32 38 3d 70 25 | 3a f4 20 41 64 64 20 61 |p%!28=p%|:. Add a|
|00001540| 74 20 74 68 65 20 74 6f | 70 0d 06 e0 05 cc 0d 06 |t the to|p.......|
|00001550| ea 20 20 21 70 25 3d 6c | 25 3a f4 20 4c 69 6e 6b |. !p%=l|%:. Link|
|00001560| 20 61 66 74 65 72 20 61 | 6e 20 69 74 65 6d 0d 06 | after a|n item..|
|00001570| f4 25 20 e7 20 6c 25 21 | 38 3d 30 20 8c 64 69 73 |.% . l%!|8=0 .dis|
|00001580| 70 25 21 38 3d 70 25 20 | 8b 21 28 6c 25 21 38 29 |p%!8=p% |.!(l%!8)|
|00001590| 3d 70 25 0d 06 fe 16 20 | 70 25 21 38 3d 6c 25 21 |=p%.... |p%!8=l%!|
|000015a0| 38 3a 6c 25 21 38 3d 70 | 25 0d 07 08 05 cd 0d 07 |8:l%!8=p|%.......|
|000015b0| 12 2f 70 25 21 34 3d 6f | 25 3a f4 20 4c 69 6e 6b |./p%!4=o|%:. Link|
|000015c0| 20 74 68 65 20 66 69 72 | 73 74 20 65 6e 74 72 79 | the fir|st entry|
|000015d0| 20 69 6e 20 74 68 65 20 | 63 68 61 69 6e 0d 07 1c | in the |chain...|
|000015e0| 3d 64 69 73 70 25 21 34 | 3d 64 69 73 70 25 21 34 |=disp%!4|=disp%!4|
|000015f0| 2b 31 3a f4 20 49 6e 63 | 72 65 6d 65 6e 74 20 6e |+1:. Inc|rement n|
|00001600| 75 6d 62 65 72 20 6f 66 | 20 6c 69 6e 65 73 20 69 |umber of| lines i|
|00001610| 6e 20 74 68 65 20 6c 69 | 73 74 0d 07 26 1a f2 64 |n the li|st..&..d|
|00001620| 69 73 70 6c 61 79 5f 72 | 65 73 69 7a 65 28 64 69 |isplay_r|esize(di|
|00001630| 73 70 25 29 0d 07 30 05 | e1 0d 07 3a 05 3a 0d 07 |sp%)..0.|...:.:..|
|00001640| 44 3f f4 20 50 52 4f 43 | 64 69 73 70 6c 61 79 5f |D?. PROC|display_|
|00001650| 61 64 64 61 74 74 6f 20 | 3a 20 41 64 64 20 74 6f |addatto |: Add to|
|00001660| 20 74 68 65 20 65 6e 64 | 20 6f 66 20 61 20 6c 69 | the end| of a li|
|00001670| 6e 65 20 61 74 20 61 20 | 70 6f 69 6e 74 0d 07 4e |ne at a |point..N|
|00001680| 2a dd f2 64 69 73 70 6c | 61 79 5f 61 64 64 61 74 |*..displ|ay_addat|
|00001690| 74 6f 28 64 69 73 70 25 | 2c 6c 25 2c 61 24 2c 62 |to(disp%|,l%,a$,b|
|000016a0| 67 25 2c 66 67 25 29 0d | 07 58 0e ea 20 70 25 2c |g%,fg%).|.X.. p%,|
|000016b0| 6f 25 2c 6e 25 0d 07 62 | 0e e7 20 61 24 3c 3e 22 |o%,n%..b|.. a$<>"|
|000016c0| 22 20 8c 0d 07 6c 1a 20 | 6f 25 3d a4 63 6c 61 69 |" ...l. |o%=.clai|
|000016d0| 6d 28 31 36 2b a9 28 61 | 24 29 2b 31 29 0d 07 76 |m(16+.(a|$)+1)..v|
|000016e0| 27 20 6f 25 21 30 3d 30 | 3a f4 20 4e 6f 20 6e 65 |' o%!0=0|:. No ne|
|000016f0| 78 74 20 65 6e 74 72 79 | 20 69 6e 20 74 68 65 20 |xt entry| in the |
|00001700| 6c 69 6e 65 0d 07 80 33 | 20 6f 25 21 34 3d 62 67 |line...3| o%!4=bg|
|00001710| 25 3a 6f 25 21 38 3d 66 | 67 25 3a f4 20 53 65 74 |%:o%!8=f|g%:. Set|
|00001720| 20 74 68 65 20 63 6f 6c | 6f 75 72 73 20 28 61 73 | the col|ours (as|
|00001730| 20 67 69 76 65 6e 29 0d | 07 8a 26 20 6f 25 21 31 | given).|..& o%!1|
|00001740| 32 3d a9 28 61 24 29 2a | 31 36 3a f4 20 54 68 65 |2=.(a$)*|16:. The|
|00001750| 20 73 74 72 69 6e 67 20 | 77 69 64 74 68 0d 07 94 | string |width...|
|00001760| 2c 20 24 28 6f 25 2b 31 | 36 29 3d 61 24 3a 6e 25 |, $(o%+1|6)=a$:n%|
|00001770| 3d 6f 25 21 31 32 3a f4 | 20 53 74 6f 72 65 20 74 |=o%!12:.| Store t|
|00001780| 68 65 20 73 74 72 69 6e | 67 0d 07 9e 14 20 70 25 |he strin|g.... p%|
|00001790| 3d 6c 25 21 34 3a 6c 25 | 3d 6c 25 2b 34 0d 07 a8 |=l%!4:l%|=l%+4...|
|000017a0| 36 20 c8 95 20 70 25 3c | 3e 30 3a 6e 25 2b 3d 70 |6 .. p%<|>0:n%+=p|
|000017b0| 25 21 31 32 3a 6c 25 3d | 70 25 3a 70 25 3d 21 70 |%!12:l%=|p%:p%=!p|
|000017c0| 25 3a ce 3a f4 20 46 69 | 6e 64 20 74 68 65 20 6c |%:.:. Fi|nd the l|
|000017d0| 61 73 74 0d 07 b2 1f 20 | e7 20 6e 25 3e 64 69 73 |ast.... |. n%>dis|
|000017e0| 70 25 21 32 34 20 8c 64 | 69 73 70 25 21 32 34 3d |p%!24 .d|isp%!24=|
|000017f0| 6e 25 0d 07 bc 1e 20 21 | 6c 25 3d 6f 25 3a f4 20 |n%.... !|l%=o%:. |
|00001800| 4c 69 6e 6b 20 74 6f 20 | 74 68 65 20 6c 61 73 74 |Link to |the last|
|00001810| 0d 07 c6 1b 20 f2 64 69 | 73 70 6c 61 79 5f 72 65 |.... .di|splay_re|
|00001820| 73 69 7a 65 28 64 69 73 | 70 25 29 0d 07 d0 5a 20 |size(dis|p%)...Z |
|00001830| e7 20 21 64 69 73 70 25 | 3c 3e 2d 31 20 8c c8 99 |. !disp%|<>-1 ...|
|00001840| 20 22 57 69 6d 70 5f 46 | 6f 72 63 65 52 65 64 72 | "Wimp_F|orceRedr|
|00001850| 61 77 22 2c 21 64 69 73 | 70 25 2c 30 2c 2d 64 69 |aw",!dis|p%,0,-di|
|00001860| 73 70 25 21 34 2a 33 36 | 2d 38 2c 64 69 73 70 25 |sp%!4*36|-8,disp%|
|00001870| 21 32 34 2b 31 32 2c 2d | 64 69 73 70 25 21 34 2a |!24+12,-|disp%!4*|
|00001880| 33 36 2b 33 36 0d 07 da | 05 cd 0d 07 e4 05 e1 0d |36+36...|........|
|00001890| 07 ee 05 3a 0d 07 f8 37 | f4 20 46 4e 64 69 73 70 |...:...7|. FNdisp|
|000018a0| 6c 61 79 5f 6c 69 6e 65 | 68 20 3a 20 52 65 74 75 |lay_line|h : Retu|
|000018b0| 72 6e 20 68 61 6e 64 6c | 65 20 6f 66 20 6c 69 6e |rn handl|e of lin|
|000018c0| 65 20 73 70 65 63 69 66 | 69 65 64 0d 08 02 1d dd |e specif|ied.....|
|000018d0| a4 64 69 73 70 6c 61 79 | 5f 6c 69 6e 65 68 28 64 |.display|_lineh(d|
|000018e0| 69 73 70 25 2c 6c 25 29 | 0d 08 0c 18 ea 70 25 3a |isp%,l%)|.....p%:|
|000018f0| e7 20 6c 25 3c 30 20 8c | 3d 64 69 73 70 25 21 38 |. l%<0 .|=disp%!8|
|00001900| 0d 08 16 1c 70 25 3d 64 | 69 73 70 25 21 38 3a 6c |....p%=d|isp%!8:l|
|00001910| 25 3d 64 69 73 70 25 21 | 34 2d 6c 25 0d 08 20 1a |%=disp%!|4-l%.. .|
|00001920| c8 95 20 6c 25 3e 30 3a | 70 25 3d 21 70 25 3a 6c |.. l%>0:|p%=!p%:l|
|00001930| 25 2d 3d 31 3a ce 0d 08 | 2a 07 3d 70 25 0d 08 34 |%-=1:...|*.=p%..4|
|00001940| 05 3a 0d 08 3e 30 f4 20 | 50 52 4f 43 64 69 73 70 |.:..>0. |PROCdisp|
|00001950| 6c 61 79 5f 61 64 64 74 | 6f 20 3a 20 41 64 64 20 |lay_addt|o : Add |
|00001960| 74 6f 20 74 68 65 20 65 | 6e 64 20 6f 66 20 6c 69 |to the e|nd of li|
|00001970| 6e 65 0d 08 48 25 dd f2 | 64 69 73 70 6c 61 79 5f |ne..H%..|display_|
|00001980| 61 64 64 74 6f 28 64 69 | 73 70 25 2c 61 24 2c 62 |addto(di|sp%,a$,b|
|00001990| 67 25 2c 66 67 25 29 0d | 08 52 2e f2 64 69 73 70 |g%,fg%).|.R..disp|
|000019a0| 6c 61 79 5f 61 64 64 61 | 74 74 6f 28 64 69 73 70 |lay_adda|tto(disp|
|000019b0| 25 2c 64 69 73 70 25 21 | 38 2c 61 24 2c 62 67 25 |%,disp%!|8,a$,bg%|
|000019c0| 2c 66 67 25 29 0d 08 5c | 05 e1 0d 08 66 05 3a 0d |,fg%)..\|....f.:.|
|000019d0| 08 70 2d f4 20 50 52 4f | 43 64 69 73 70 6c 61 79 |.p-. PRO|Cdisplay|
|000019e0| 5f 72 65 73 69 7a 65 20 | 3a 20 52 65 73 69 7a 65 |_resize |: Resize|
|000019f0| 20 74 68 65 20 64 69 73 | 70 6c 61 79 0d 08 7a 1b | the dis|play..z.|
|00001a00| dd f2 64 69 73 70 6c 61 | 79 5f 72 65 73 69 7a 65 |..displa|y_resize|
|00001a10| 28 64 69 73 70 25 29 0d | 08 84 18 ea 20 79 62 6f |(disp%).|.... ybo|
|00001a20| 74 25 2c 78 66 75 6c 6c | 25 2c 6f 70 65 6e 25 0d |t%,xfull|%,open%.|
|00001a30| 08 8e 12 e7 20 21 64 69 | 73 70 25 3c 3e 2d 31 20 |.... !di|sp%<>-1 |
|00001a40| 8c 0d 08 98 2c 20 21 62 | 25 3d 21 64 69 73 70 25 |...., !b|%=!disp%|
|00001a50| 3a c8 99 20 22 57 69 6d | 70 5f 47 65 74 57 69 6e |:.. "Wim|p_GetWin|
|00001a60| 64 6f 77 53 74 61 74 65 | 22 2c 2c 62 25 0d 08 a2 |dowState|",,b%...|
|00001a70| 39 20 f4 20 49 66 20 66 | 75 6c 6c 20 73 69 7a 65 |9 . If f|ull size|
|00001a80| 2c 20 6f 70 65 6e 20 66 | 75 6c 6c 20 73 69 7a 65 |, open f|ull size|
|00001a90| 2c 20 61 6e 64 20 69 66 | 20 6f 70 65 6e 2c 20 72 |, and if| open, r|
|00001aa0| 65 2d 6f 70 65 6e 0d 08 | ac 1e 20 6f 70 65 6e 25 |e-open..|.. open%|
|00001ab0| 3d 28 62 25 21 33 32 20 | 80 20 28 31 3c 3c 31 36 |=(b%!32 |. (1<<16|
|00001ac0| 29 29 3e 30 0d 08 b6 18 | 20 e7 20 ac 20 6f 70 65 |))>0....| . . ope|
|00001ad0| 6e 25 20 8c 62 25 21 32 | 38 3d 2d 33 0d 08 c0 3b |n% .b%!2|8=-3...;|
|00001ae0| 20 c8 99 20 22 57 69 6d | 70 5f 4f 70 65 6e 57 69 | .. "Wim|p_OpenWi|
|00001af0| 6e 64 6f 77 22 2c 2c 62 | 25 3a c8 99 20 22 57 69 |ndow",,b|%:.. "Wi|
|00001b00| 6d 70 5f 47 65 74 57 69 | 6e 64 6f 77 49 6e 66 6f |mp_GetWi|ndowInfo|
|00001b10| 22 2c 2c 62 25 2b 31 0d | 08 ca 18 20 e7 20 ac 20 |",,b%+1.|... . . |
|00001b20| 6f 70 65 6e 25 20 8c 62 | 25 21 32 38 3d 2d 33 0d |open% .b|%!28=-3.|
|00001b30| 08 d4 27 20 79 66 75 6c | 6c 25 3d 28 62 25 21 31 |..' yful|l%=(b%!1|
|00001b40| 36 2d 62 25 21 38 29 3e | 3d 28 62 25 21 35 36 2d |6-b%!8)>|=(b%!56-|
|00001b50| 62 25 21 34 38 29 0d 08 | de 2d 20 79 62 6f 74 25 |b%!48)..|.- ybot%|
|00001b60| 3d 28 62 25 21 32 34 2d | 28 62 25 21 31 36 2d 62 |=(b%!24-|(b%!16-b|
|00001b70| 25 21 38 29 29 3d 28 62 | 25 21 34 38 2d 62 25 21 |%!8))=(b|%!48-b%!|
|00001b80| 35 36 29 0d 08 e8 27 20 | 78 66 75 6c 6c 25 3d 28 |56)...' |xfull%=(|
|00001b90| 62 25 21 31 32 2d 62 25 | 21 34 29 3e 3d 28 62 25 |b%!12-b%|!4)>=(b%|
|00001ba0| 21 35 32 2d 62 25 21 34 | 34 29 0d 08 f2 18 20 e7 |!52-b%!4|4).... .|
|00001bb0| 20 62 25 21 32 38 3d 2d | 33 20 8c 79 62 6f 74 25 | b%!28=-|3 .ybot%|
|00001bc0| 3d b9 0d 08 fc 4e 20 e7 | 20 6f 70 65 6e 25 20 8c |=....N .| open% .|
|00001bd0| c8 99 20 22 57 69 6d 70 | 5f 46 6f 72 63 65 52 65 |.. "Wimp|_ForceRe|
|00001be0| 64 72 61 77 22 2c 21 64 | 69 73 70 25 2c 30 2c 2d |draw",!d|isp%,0,-|
|00001bf0| 64 69 73 70 25 21 34 2a | 33 36 2d 38 2c 64 69 73 |disp%!4*|36-8,dis|
|00001c00| 70 25 21 32 34 2b 31 32 | 2c 62 25 21 34 38 2b 38 |p%!24+12|,b%!48+8|
|00001c10| 0d 09 06 42 20 62 25 21 | 36 38 3d 62 25 21 34 34 |...B b%!|68=b%!44|
|00001c20| 3a 62 25 21 37 32 3d 2d | 64 69 73 70 25 21 34 2a |:b%!72=-|disp%!4*|
|00001c30| 33 36 2d 38 3a 62 25 21 | 37 36 3d 64 69 73 70 25 |36-8:b%!|76=disp%|
|00001c40| 21 32 34 2b 31 32 3a 62 | 25 21 38 30 3d 62 25 21 |!24+12:b|%!80=b%!|
|00001c50| 35 36 0d 09 10 25 20 c8 | 99 20 22 57 69 6d 70 5f |56...% .|. "Wimp_|
|00001c60| 53 65 74 45 78 74 65 6e | 74 22 2c 21 64 69 73 70 |SetExten|t",!disp|
|00001c70| 25 2c 62 25 2b 36 38 0d | 09 1a 0f 20 e7 20 79 66 |%,b%+68.|... . yf|
|00001c80| 75 6c 6c 25 20 8c 0d 09 | 24 1e 20 20 62 25 21 38 |ull% ...|$. b%!8|
|00001c90| 3d 62 25 21 31 36 2d 28 | 62 25 21 38 30 2d 62 25 |=b%!16-(|b%!80-b%|
|00001ca0| 21 37 32 29 0d 09 2e 45 | 20 20 e7 20 64 69 73 70 |!72)...E| . disp|
|00001cb0| 25 21 34 3d 64 69 73 70 | 25 21 34 30 20 8c 62 25 |%!4=disp|%!40 .b%|
|00001cc0| 21 38 3d 62 25 21 38 2b | 33 36 20 8b 64 69 73 70 |!8=b%!8+|36 .disp|
|00001cd0| 25 21 34 34 3d 64 69 73 | 70 25 21 34 34 20 84 20 |%!44=dis|p%!44 . |
|00001ce0| 31 3a f4 20 4d 6f 76 65 | 64 0d 09 38 06 20 cd 0d |1:. Move|d..8. ..|
|00001cf0| 09 42 26 20 e7 20 79 62 | 6f 74 25 20 8c 62 25 21 |.B& . yb|ot% .b%!|
|00001d00| 32 34 3d 62 25 21 34 38 | 2d 28 62 25 21 31 36 2d |24=b%!48|-(b%!16-|
|00001d10| 62 25 21 38 29 0d 09 4c | 43 20 e7 20 78 66 75 6c |b%!8)..L|C . xful|
|00001d20| 6c 25 20 8c 62 25 21 31 | 32 3d 62 25 21 34 2b 64 |l% .b%!1|2=b%!4+d|
|00001d30| 69 73 70 25 21 32 34 2b | 31 32 3a 64 69 73 70 25 |isp%!24+|12:disp%|
|00001d40| 21 34 34 3d 64 69 73 70 | 25 21 34 34 20 84 20 31 |!44=disp|%!44 . 1|
|00001d50| 3a f4 20 4d 6f 76 65 64 | 0d 09 56 1d 20 c8 99 20 |:. Moved|..V. .. |
|00001d60| 22 57 69 6d 70 5f 4f 70 | 65 6e 57 69 6e 64 6f 77 |"Wimp_Op|enWindow|
|00001d70| 22 2c 2c 62 25 0d 09 60 | 05 cd 0d 09 6a 05 e1 0d |",,b%..`|....j...|
|00001d80| 09 74 05 3a 0d 09 7e 22 | f4 20 54 72 75 65 20 69 |.t.:..~"|. True i|
|00001d90| 66 20 74 68 65 20 77 69 | 6e 64 6f 77 20 68 61 73 |f the wi|ndow has|
|00001da0| 20 6d 6f 76 65 64 0d 09 | 88 46 dd a4 64 69 73 70 | moved..|.F..disp|
|00001db0| 6c 61 79 5f 6d 6f 76 65 | 64 28 64 69 73 70 25 29 |lay_move|d(disp%)|
|00001dc0| 3a ea 20 6d 25 3a 6d 25 | 3d 64 69 73 70 25 21 34 |:. m%:m%|=disp%!4|
|00001dd0| 34 3a 64 69 73 70 25 21 | 34 34 3d 64 69 73 70 25 |4:disp%!|44=disp%|
|00001de0| 21 34 34 20 80 20 ac 31 | 3a 3d 6d 25 0d 09 92 05 |!44 . .1|:=m%....|
|00001df0| 3a 0d 09 9c 37 f4 20 50 | 52 4f 43 64 69 73 70 6c |:...7. P|ROCdispl|
|00001e00| 61 79 5f 66 75 6c 6c 73 | 69 7a 65 20 3a 20 4d 61 |ay_fulls|ize : Ma|
|00001e10| 6b 65 20 74 68 65 20 64 | 69 73 70 6c 61 79 20 66 |ke the d|isplay f|
|00001e20| 75 6c 6c 20 73 69 7a 65 | 0d 09 a6 1d dd f2 64 69 |ull size|......di|
|00001e30| 73 70 6c 61 79 5f 66 75 | 6c 6c 73 69 7a 65 28 64 |splay_fu|llsize(d|
|00001e40| 69 73 70 25 29 0d 09 b0 | 0b ea 20 6f 70 65 6e 25 |isp%)...|.. open%|
|00001e50| 0d 09 ba 12 e7 20 21 64 | 69 73 70 25 3c 3e 2d 31 |..... !d|isp%<>-1|
|00001e60| 20 8c 0d 09 c4 2c 20 21 | 62 25 3d 21 64 69 73 70 | ...., !|b%=!disp|
|00001e70| 25 3a c8 99 20 22 57 69 | 6d 70 5f 47 65 74 57 69 |%:.. "Wi|mp_GetWi|
|00001e80| 6e 64 6f 77 53 74 61 74 | 65 22 2c 2c 62 25 0d 09 |ndowStat|e",,b%..|
|00001e90| ce 1e 20 6f 70 65 6e 25 | 3d 28 62 25 21 33 32 20 |.. open%|=(b%!32 |
|00001ea0| 80 20 28 31 3c 3c 31 36 | 29 29 3e 30 0d 09 d8 4e |. (1<<16|))>0...N|
|00001eb0| 20 e7 20 6f 70 65 6e 25 | 20 8c c8 99 20 22 57 69 | . open%| ... "Wi|
|00001ec0| 6d 70 5f 46 6f 72 63 65 | 52 65 64 72 61 77 22 2c |mp_Force|Redraw",|
|00001ed0| 21 64 69 73 70 25 2c 30 | 2c 2d 64 69 73 70 25 21 |!disp%,0|,-disp%!|
|00001ee0| 34 2a 33 36 2d 38 2c 64 | 69 73 70 25 21 32 34 2b |4*36-8,d|isp%!24+|
|00001ef0| 31 32 2c 62 25 21 34 38 | 2b 38 0d 09 e2 42 20 62 |12,b%!48|+8...B b|
|00001f00| 25 21 36 38 3d 62 25 21 | 34 34 3a 62 25 21 37 32 |%!68=b%!|44:b%!72|
|00001f10| 3d 2d 64 69 73 70 25 21 | 34 2a 33 36 2d 38 3a 62 |=-disp%!|4*36-8:b|
|00001f20| 25 21 37 36 3d 64 69 73 | 70 25 21 32 34 2b 31 32 |%!76=dis|p%!24+12|
|00001f30| 3a 62 25 21 38 30 3d 62 | 25 21 35 36 0d 09 ec 25 |:b%!80=b|%!56...%|
|00001f40| 20 c8 99 20 22 57 69 6d | 70 5f 53 65 74 45 78 74 | .. "Wim|p_SetExt|
|00001f50| 65 6e 74 22 2c 21 64 69 | 73 70 25 2c 62 25 2b 36 |ent",!di|sp%,b%+6|
|00001f60| 38 0d 09 f6 41 20 62 25 | 21 38 3d 62 25 21 31 36 |8...A b%|!8=b%!16|
|00001f70| 2d 28 64 69 73 70 25 21 | 34 2a 33 36 29 2d 38 3a |-(disp%!|4*36)-8:|
|00001f80| 62 25 21 31 32 3d 62 25 | 21 34 2b 64 69 73 70 25 |b%!12=b%|!4+disp%|
|00001f90| 21 32 34 2b 31 32 3a f4 | 20 46 75 6c 6c 20 73 69 |!24+12:.| Full si|
|00001fa0| 7a 65 0d 0a 00 1d 20 c8 | 99 20 22 57 69 6d 70 5f |ze.... .|. "Wimp_|
|00001fb0| 4f 70 65 6e 57 69 6e 64 | 6f 77 22 2c 2c 62 25 0d |OpenWind|ow",,b%.|
|00001fc0| 0a 0a 40 20 64 69 73 70 | 25 21 34 34 3d 64 69 73 |..@ disp|%!44=dis|
|00001fd0| 70 25 21 34 34 20 84 20 | 31 3a f4 20 57 65 27 6c |p%!44 . |1:. We'l|
|00001fe0| 6c 20 61 73 73 75 6d 65 | 20 74 68 61 74 20 69 74 |l assume| that it|
|00001ff0| 20 68 61 73 20 62 65 65 | 6e 20 6d 6f 76 65 64 0d | has bee|n moved.|
|00002000| 0a 14 05 cd 0d 0a 1e 05 | e1 0d 0a 28 05 3a 0d 0a |........|...(.:..|
|00002010| 32 2c f4 20 50 52 4f 43 | 64 69 73 70 6c 61 79 5f |2,. PROC|display_|
|00002020| 72 65 64 72 61 77 20 3a | 20 52 65 64 72 61 77 20 |redraw :| Redraw |
|00002030| 74 68 65 20 77 69 6e 64 | 6f 77 0d 0a 3c 1b dd f2 |the wind|ow..<...|
|00002040| 64 69 73 70 6c 61 79 5f | 72 65 64 72 61 77 28 64 |display_|redraw(d|
|00002050| 69 73 70 25 29 0d 0a 46 | 18 ea 20 62 2c 74 2c 73 |isp%)..F|.. b,t,s|
|00002060| 74 2c 65 6e 64 2c 6c 66 | 25 2c 72 74 25 0d 0a 50 |t,end,lf|%,rt%..P|
|00002070| 16 ea 20 70 25 2c 6f 25 | 2c 78 25 2c 62 67 25 2c |.. p%,o%|,x%,bg%,|
|00002080| 66 67 25 0d 0a 5a 31 21 | 62 25 3d 21 64 69 73 70 |fg%..Z1!|b%=!disp|
|00002090| 25 3a c8 99 20 22 57 69 | 6d 70 5f 52 65 64 72 61 |%:.. "Wi|mp_Redra|
|000020a0| 77 57 69 6e 64 6f 77 22 | 2c 2c 62 25 20 b8 20 6d |wWindow"|,,b% . m|
|000020b0| 6f 72 65 25 0d 0a 64 20 | 62 6c 3d 62 25 21 34 2d |ore%..d |bl=b%!4-|
|000020c0| 62 25 21 32 30 3a 62 74 | 3d 62 25 21 31 36 2d 62 |b%!20:bt|=b%!16-b|
|000020d0| 25 21 32 34 0d 0a 6e 0c | c8 95 20 6d 6f 72 65 25 |%!24..n.|.. more%|
|000020e0| 0d 0a 78 1a 20 62 3d 62 | 25 21 33 32 2d 62 74 3a |..x. b=b|%!32-bt:|
|000020f0| 74 3d 62 25 21 34 30 2d | 62 74 0d 0a 82 15 20 e7 |t=b%!40-|bt.... .|
|00002100| 20 64 69 73 70 25 21 31 | 36 3c 3e 2d 31 20 8c 0d | disp%!1|6<>-1 ..|
|00002110| 0a 8c 1f 20 20 f2 64 69 | 73 70 6c 61 79 5f 63 6f |... .di|splay_co|
|00002120| 6c 6f 75 72 28 64 69 73 | 70 25 21 31 36 29 0d 0a |lour(dis|p%!16)..|
|00002130| 96 2f 20 20 c8 93 20 c8 | 90 20 62 25 21 32 38 2c |./ .. .|. b%!28,|
|00002140| 62 25 21 33 32 2c 62 25 | 21 33 36 2d 62 25 21 32 |b%!32,b%|!36-b%!2|
|00002150| 38 2c 62 25 21 34 30 2d | 62 25 21 33 32 0d 0a a0 |8,b%!40-|b%!32...|
|00002160| 06 20 cd 0d 0a aa 1f 20 | 73 74 3d a8 28 2d 74 2f |. ..... |st=.(-t/|
|00002170| 33 36 29 2d 31 3a 65 6e | 64 3d a8 28 2d 62 2f 33 |36)-1:en|d=.(-b/3|
|00002180| 36 29 0d 0a b4 23 20 e7 | 20 65 6e 64 3e 64 69 73 |6)...# .| end>dis|
|00002190| 70 25 21 34 2d 31 20 8c | 65 6e 64 3d 64 69 73 70 |p%!4-1 .|end=disp|
|000021a0| 25 21 34 2d 31 0d 0a be | 11 20 e7 20 73 74 3c 30 |%!4-1...|. . st<0|
|000021b0| 20 8c 73 74 3d 30 0d 0a | c8 1b 20 62 3d 64 69 73 | .st=0..|.. b=dis|
|000021c0| 70 25 21 34 2d 31 3a 70 | 25 3d 64 69 73 70 25 21 |p%!4-1:p|%=disp%!|
|000021d0| 38 0d 0a d2 1b 20 c8 95 | 20 62 3e 65 6e 64 3a 62 |8.... ..| b>end:b|
|000021e0| 2d 3d 31 3a 70 25 3d 21 | 70 25 3a ce 0d 0a dc 0f |-=1:p%=!|p%:.....|
|000021f0| 20 c8 95 20 73 74 3c 3d | 65 6e 64 0d 0a e6 12 20 | .. st<=|end.... |
|00002200| 20 6f 25 3d 70 25 21 34 | 3a 78 25 3d 30 0d 0a f0 | o%=p%!4|:x%=0...|
|00002210| 2e 20 20 66 67 25 3d 64 | 69 73 70 25 21 32 30 3a |. fg%=d|isp%!20:|
|00002220| 62 67 25 3d 2d 31 3a f2 | 64 69 73 70 6c 61 79 5f |bg%=-1:.|display_|
|00002230| 63 6f 6c 6f 75 72 28 66 | 67 25 29 0d 0a fa 0e 20 |colour(f|g%).... |
|00002240| 20 c8 95 20 6f 25 3c 3e | 30 0d 0b 04 32 20 20 20 | .. o%<>|0...2 |
|00002250| e7 20 28 6f 25 21 38 29 | 3c 3e 2d 31 20 8c 66 67 |. (o%!8)|<>-1 .fg|
|00002260| 25 3d 6f 25 21 38 3a f2 | 64 69 73 70 6c 61 79 5f |%=o%!8:.|display_|
|00002270| 63 6f 6c 6f 75 72 28 66 | 67 25 29 0d 0b 0e 2e 20 |colour(f|g%).... |
|00002280| 20 20 e7 20 28 6f 25 21 | 34 29 3c 3e 2d 31 20 8c | . (o%!|4)<>-1 .|
|00002290| 62 67 25 3d 6f 25 21 34 | 3a e7 20 62 67 25 3d 2d |bg%=o%!4|:. bg%=-|
|000022a0| 32 20 8c 62 67 25 3d 2d | 31 0d 0b 18 12 20 20 20 |2 .bg%=-|1.... |
|000022b0| e7 20 62 67 25 3c 3e 2d | 31 20 8c 0d 0b 22 1c 20 |. bg%<>-|1 ...". |
|000022c0| 20 20 20 f2 64 69 73 70 | 6c 61 79 5f 63 6f 6c 6f | .disp|lay_colo|
|000022d0| 75 72 28 62 67 25 29 0d | 0b 2c 58 20 20 20 20 e7 |ur(bg%).|.,X .|
|000022e0| 20 78 25 3d 30 20 8c c8 | 93 20 c8 90 20 78 25 2b | x%=0 ..|. .. x%+|
|000022f0| 62 6c 2c 62 74 2d 34 32 | 2d 33 36 2a 65 6e 64 2c |bl,bt-42|-36*end,|
|00002300| 6f 25 21 31 32 2b 34 2c | 33 35 20 8b c8 93 20 c8 |o%!12+4,|35 ... .|
|00002310| 90 20 34 2b 78 25 2b 62 | 6c 2c 62 74 2d 34 32 2d |. 4+x%+b|l,bt-42-|
|00002320| 33 36 2a 65 6e 64 2c 6f | 25 21 31 32 2c 33 35 0d |36*end,o|%!12,35.|
|00002330| 0b 36 14 20 20 20 20 e7 | 20 78 25 3c 30 20 8c 78 |.6. .| x%<0 .x|
|00002340| 25 3d 30 0d 0b 40 1c 20 | 20 20 20 f2 64 69 73 70 |%=0..@. | .disp|
|00002350| 6c 61 79 5f 63 6f 6c 6f | 75 72 28 66 67 25 29 0d |lay_colo|ur(fg%).|
|00002360| 0b 4a 08 20 20 20 cd 0d | 0b 54 26 20 20 20 ec 20 |.J. ..|.T& . |
|00002370| 34 2b 78 25 2b 62 6c 2c | 62 74 2d 38 2d 33 36 2a |4+x%+bl,|bt-8-36*|
|00002380| 65 6e 64 3a f1 24 28 6f | 25 2b 31 36 29 0d 0b 5e |end:.$(o|%+16)..^|
|00002390| 17 20 20 20 78 25 2b 3d | 6f 25 21 31 32 3a 6f 25 |. x%+=|o%!12:o%|
|000023a0| 3d 21 6f 25 0d 0b 68 07 | 20 20 ce 0d 0b 72 11 20 |=!o%..h.| ...r. |
|000023b0| 20 e7 20 62 67 25 3c 3e | 2d 31 20 8c 0d 0b 7c 1b | . bg%<>|-1 ...|.|
|000023c0| 20 20 20 f2 64 69 73 70 | 6c 61 79 5f 63 6f 6c 6f | .disp|lay_colo|
|000023d0| 75 72 28 62 67 25 29 0d | 0b 86 2b 20 20 20 c8 93 |ur(bg%).|..+ ..|
|000023e0| 20 c8 90 20 34 2b 78 25 | 2b 62 6c 2c 62 74 2d 34 | .. 4+x%|+bl,bt-4|
|000023f0| 32 2d 33 36 2a 65 6e 64 | 2c 32 35 35 2a 31 36 2c |2-36*end|,255*16,|
|00002400| 33 35 0d 0b 90 07 20 20 | cd 0d 0b 9a 16 20 20 e7 |35.... |..... .|
|00002410| 20 64 69 73 70 25 21 34 | 38 3c 3e 2d 31 20 8c 0d | disp%!4|8<>-1 ..|
|00002420| 0b a4 28 20 20 20 e7 20 | 64 69 73 70 25 21 34 38 |..( . |disp%!48|
|00002430| 3c 3d 65 6e 64 20 80 20 | 64 69 73 70 25 21 35 36 |<=end . |disp%!56|
|00002440| 3e 3d 65 6e 64 20 8c 0d | 0b ae 33 20 20 20 20 f4 |>=end ..|..3 .|
|00002450| 20 54 68 65 72 65 20 69 | 73 20 61 20 73 65 6c 65 | There i|s a sele|
|00002460| 63 74 69 6f 6e 20 61 6e | 64 20 77 65 20 61 72 65 |ction an|d we are|
|00002470| 20 69 6e 73 69 64 65 20 | 69 74 0d 0b b8 1a 20 20 | inside |it.... |
|00002480| 20 20 f2 64 69 73 70 6c | 61 79 5f 63 6f 6c 6f 75 | .displ|ay_colou|
|00002490| 72 69 6e 76 0d 0b c2 18 | 20 20 20 20 e7 20 64 69 |rinv....| . di|
|000024a0| 73 70 25 21 35 36 3d 65 | 6e 64 20 8c 0d 0b cc 40 |sp%!56=e|nd ....@|
|000024b0| 20 20 20 20 20 72 74 25 | 3d 64 69 73 70 25 21 36 | rt%|=disp%!6|
|000024c0| 30 3a f4 20 54 68 65 20 | 6c 61 73 74 20 6c 69 6e |0:. The |last lin|
|000024d0| 65 20 6f 66 20 74 68 65 | 20 73 65 6c 65 63 74 69 |e of the| selecti|
|000024e0| 6f 6e 20 28 74 6f 20 63 | 68 61 72 29 0d 0b d6 1f |on (to c|har)....|
|000024f0| 20 20 20 20 20 e7 20 72 | 74 25 3e 78 25 2f 31 36 | . r|t%>x%/16|
|00002500| 20 8c 72 74 25 3d 78 25 | 2f 31 36 0d 0b e0 19 20 | .rt%=x%|/16.... |
|00002510| 20 20 20 20 e7 20 64 69 | 73 70 25 21 34 38 3d 65 | . di|sp%!48=e|
|00002520| 6e 64 20 8c 0d 0b ea 26 | 20 20 20 20 20 20 f4 20 |nd ....&| . |
|00002530| 2e 2e 2e 20 61 6e 64 20 | 74 68 65 20 66 69 72 73 |... and |the firs|
|00002540| 74 20 6c 69 6e 65 20 74 | 6f 6f 0d 0b f4 16 20 20 |t line t|oo.... |
|00002550| 20 20 20 20 6c 66 25 3d | 64 69 73 70 25 21 35 32 | lf%=|disp%!52|
|00002560| 0d 0b fe 20 20 20 20 20 | 20 20 e7 20 6c 66 25 3e |... | . lf%>|
|00002570| 78 25 2f 31 36 20 8c 6c | 66 25 3d 78 25 2f 31 36 |x%/16 .l|f%=x%/16|
|00002580| 0d 0c 08 0a 20 20 20 20 | 20 cc 0d 0c 12 2b 20 20 |.... | ....+ |
|00002590| 20 20 20 20 f4 20 46 69 | 6c 6c 20 66 72 6f 6d 20 | . Fi|ll from |
|000025a0| 6c 65 66 74 20 74 6f 20 | 74 68 65 20 65 6e 64 20 |left to |the end |
|000025b0| 70 6f 69 6e 74 0d 0c 1c | 10 20 20 20 20 20 20 6c |point...|. l|
|000025c0| 66 25 3d 2d 31 0d 0c 26 | 0a 20 20 20 20 20 cd 0d |f%=-1..&|. ..|
|000025d0| 0c 30 09 20 20 20 20 cc | 0d 0c 3a 19 20 20 20 20 |.0. .|..:. |
|000025e0| 20 e7 20 64 69 73 70 25 | 21 34 38 3d 65 6e 64 20 | . disp%|!48=end |
|000025f0| 8c 0d 0c 44 3b 20 20 20 | 20 20 20 f4 20 54 68 65 |...D; | . The|
|00002600| 20 66 69 72 73 74 20 6c | 69 6e 65 20 6f 66 20 74 | first l|ine of t|
|00002610| 68 65 20 73 65 6c 65 63 | 74 69 6f 6e 20 28 66 69 |he selec|tion (fi|
|00002620| 6c 6c 20 74 6f 20 72 69 | 67 68 74 29 0d 0c 4e 1e |ll to ri|ght)..N.|
|00002630| 20 20 20 20 20 20 6c 66 | 25 3d 64 69 73 70 25 21 | lf|%=disp%!|
|00002640| 35 32 3a 72 74 25 3d 32 | 35 35 0d 0c 58 20 20 20 |52:rt%=2|55..X |
|00002650| 20 20 20 20 e7 20 6c 66 | 25 3e 78 25 2f 31 36 20 | . lf|%>x%/16 |
|00002660| 8c 6c 66 25 3d 78 25 2f | 31 36 0d 0c 62 0a 20 20 |.lf%=x%/|16..b. |
|00002670| 20 20 20 cc 0d 0c 6c 18 | 20 20 20 20 20 20 6c 66 | ...l.| lf|
|00002680| 25 3d 2d 31 3a 72 74 25 | 3d 32 35 35 0d 0c 76 32 |%=-1:rt%|=255..v2|
|00002690| 20 20 20 20 20 20 f4 20 | 57 69 74 68 69 6e 20 74 | . |Within t|
|000026a0| 68 65 20 73 65 6c 65 63 | 74 69 6f 6e 2c 20 66 69 |he selec|tion, fi|
|000026b0| 6c 6c 20 77 68 6f 6c 65 | 20 6c 69 6e 65 73 0d 0c |ll whole| lines..|
|000026c0| 80 0a 20 20 20 20 20 cd | 0d 0c 8a 09 20 20 20 20 |.. .|.... |
|000026d0| cd 0d 0c 94 22 20 20 20 | 20 f4 20 44 6f 20 74 68 |...." | . Do th|
|000026e0| 65 20 66 69 6c 6c 20 28 | 69 6e 76 65 72 74 73 20 |e fill (|inverts |
|000026f0| 69 74 29 0d 0c 9e 36 20 | 20 20 20 c8 93 20 c8 90 |it)...6 | .. ..|
|00002700| 20 34 2b 6c 66 25 2a 31 | 36 2b 62 6c 2c 62 74 2d | 4+lf%*1|6+bl,bt-|
|00002710| 34 32 2d 33 36 2a 65 6e | 64 2c 28 72 74 25 2d 6c |42-36*en|d,(rt%-l|
|00002720| 66 25 29 2a 31 36 2c 33 | 35 0d 0c a8 08 20 20 20 |f%)*16,3|5.... |
|00002730| cd 0d 0c b2 07 20 20 cd | 0d 0c bc 13 20 20 65 6e |..... .|.... en|
|00002740| 64 2d 3d 31 3a 70 25 3d | 21 70 25 0d 0c c6 06 20 |d-=1:p%=|!p%.... |
|00002750| ce 0d 0c d0 27 20 c8 99 | 20 22 57 69 6d 70 5f 47 |....' ..| "Wimp_G|
|00002760| 65 74 52 65 63 74 61 6e | 67 6c 65 22 2c 2c 62 25 |etRectan|gle",,b%|
|00002770| 20 b8 20 6d 6f 72 65 25 | 0d 0c da 05 ce 0d 0c e4 | . more%|........|
|00002780| 05 e1 0d 0c ee 05 3a 0d | 0c f8 1e f4 20 47 65 74 |......:.|.... Get|
|00002790| 20 74 68 65 20 69 6e 76 | 65 72 74 69 6e 67 20 63 | the inv|erting c|
|000027a0| 6f 6c 6f 75 72 0d 0d 02 | 17 dd f2 64 69 73 70 6c |olour...|...displ|
|000027b0| 61 79 5f 63 6f 6c 6f 75 | 72 69 6e 76 0d 0d 0c 2d |ay_colou|rinv...-|
|000027c0| ea 20 63 25 3a c8 99 20 | 22 4f 53 5f 52 65 61 64 |. c%:.. |"OS_Read|
|000027d0| 4d 6f 64 65 56 61 72 69 | 61 62 6c 65 22 2c 2d 31 |ModeVari|able",-1|
|000027e0| 2c 33 20 b8 20 2c 2c 63 | 25 0d 0d 16 38 f4 20 4e |,3 . ,,c|%...8. N|
|000027f0| 6f 72 6d 61 6c 20 31 36 | 20 63 6f 6c 6f 75 72 20 |ormal 16| colour |
|00002800| 61 6e 64 20 6c 65 73 73 | 20 6d 6f 64 65 73 20 75 |and less| modes u|
|00002810| 73 65 20 57 69 6d 70 5f | 53 65 74 43 6f 6c 6f 75 |se Wimp_|SetColou|
|00002820| 72 0d 0d 20 3c f4 20 38 | 62 70 70 20 6f 72 20 6d |r.. <. 8|bpp or m|
|00002830| 6f 72 65 20 28 33 32 4d | 20 67 69 76 65 73 20 36 |ore (32M| gives 6|
|00002840| 35 35 33 36 2c 20 31 4d | 20 67 69 76 65 73 20 2d |5536, 1M| gives -|
|00002850| 31 29 20 66 6f 72 20 6f | 74 68 65 72 73 0d 0d 2a |1) for o|thers..*|
|00002860| 66 e7 20 63 25 3c 31 36 | 20 80 20 63 25 3c 3e 2d |f. c%<16| . c%<>-|
|00002870| 31 20 8c c8 99 20 22 57 | 69 6d 70 5f 53 65 74 43 |1 ... "W|imp_SetC|
|00002880| 6f 6c 6f 75 72 22 2c 37 | 2b 28 33 3c 3c 34 29 20 |olour",7|+(3<<4) |
|00002890| 8b c8 99 20 22 43 6f 6c | 6f 75 72 54 72 61 6e 73 |... "Col|ourTrans|
|000028a0| 5f 53 65 74 47 43 4f 4c | 22 2c 2d 32 35 36 2c 2c |_SetGCOL|",-256,,|
|000028b0| 2c 30 2c 33 3a f4 20 2d | 32 35 36 20 3d 20 77 68 |,0,3:. -|256 = wh|
|000028c0| 69 74 65 0d 0d 34 05 e1 | 0d 0d 3e 05 3a 0d 0d 48 |ite..4..|..>.:..H|
|000028d0| 2e f4 20 50 52 4f 43 64 | 69 73 70 6c 61 79 5f 73 |.. PROCd|isplay_s|
|000028e0| 65 6c 73 74 61 72 74 20 | 3a 20 53 74 61 72 74 20 |elstart |: Start |
|000028f0| 61 20 73 65 6c 65 63 74 | 69 6f 6e 0d 0d 52 26 f4 |a select|ion..R&.|
|00002900| 20 78 20 61 6e 64 20 79 | 20 69 6e 20 72 65 6c 61 | x and y| in rela|
|00002910| 74 69 76 65 20 63 6f 2d | 6f 72 64 69 6e 61 74 65 |tive co-|ordinate|
|00002920| 73 0d 0d 5c 23 dd f2 64 | 69 73 70 6c 61 79 5f 73 |s..\#..d|isplay_s|
|00002930| 65 6c 73 74 61 72 74 28 | 64 69 73 70 25 2c 78 25 |elstart(|disp%,x%|
|00002940| 2c 79 25 29 0d 0d 66 2c | e7 20 64 69 73 70 25 21 |,y%)..f,|. disp%!|
|00002950| 34 38 3c 3e 2d 31 20 8c | f2 64 69 73 70 6c 61 79 |48<>-1 .|.display|
|00002960| 5f 73 65 6c 63 6c 65 61 | 72 28 64 69 73 70 25 29 |_selclea|r(disp%)|
|00002970| 0d 0d 70 27 79 25 3d 2d | 28 79 25 2b 38 29 2f 33 |..p'y%=-|(y%+8)/3|
|00002980| 36 3a 78 25 3d 78 25 2f | 31 36 3a e7 20 79 25 3c |6:x%=x%/|16:. y%<|
|00002990| 30 20 8c 79 25 3d 30 0d | 0d 7a 20 f4 20 53 74 61 |0 .y%=0.|.z . Sta|
|000029a0| 72 74 20 61 6e 64 20 45 | 6e 64 20 61 72 65 20 74 |rt and E|nd are t|
|000029b0| 68 65 20 73 61 6d 65 0d | 0d 84 33 64 69 73 70 25 |he same.|..3disp%|
|000029c0| 21 34 38 3d 79 25 3a 64 | 69 73 70 25 21 35 32 3d |!48=y%:d|isp%!52=|
|000029d0| 78 25 3a 64 69 73 70 25 | 21 35 36 3d 79 25 3a 64 |x%:disp%|!56=y%:d|
|000029e0| 69 73 70 25 21 36 30 3d | 78 25 0d 0d 8e 2f 62 25 |isp%!60=|x%.../b%|
|000029f0| 21 34 30 3d 21 64 69 73 | 70 25 3a c8 99 20 22 57 |!40=!dis|p%:.. "W|
|00002a00| 69 6d 70 5f 47 65 74 57 | 69 6e 64 6f 77 49 6e 66 |imp_GetW|indowInf|
|00002a10| 6f 22 2c 2c 62 25 2b 34 | 30 0d 0d 98 23 62 25 21 |o",,b%+4|0...#b%!|
|00002a20| 32 34 3d 62 25 21 34 34 | 2d 62 25 21 36 30 2b 62 |24=b%!44|-b%!60+b|
|00002a30| 25 21 38 34 3a f4 20 4d | 69 6e 20 78 0d 0d a2 23 |%!84:. M|in x...#|
|00002a40| 62 25 21 32 38 3d 62 25 | 21 35 36 2d 62 25 21 36 |b%!28=b%|!56-b%!6|
|00002a50| 34 2b 62 25 21 38 38 3a | f4 20 4d 69 6e 20 79 0d |4+b%!88:|. Min y.|
|00002a60| 0d ac 23 62 25 21 33 32 | 3d 62 25 21 32 34 2b 62 |..#b%!32|=b%!24+b|
|00002a70| 25 21 39 32 2d 62 25 21 | 38 34 3a f4 20 4d 61 78 |%!92-b%!|84:. Max|
|00002a80| 20 78 0d 0d b6 23 62 25 | 21 33 36 3d 62 25 21 32 | x...#b%|!36=b%!2|
|00002a90| 38 2b 62 25 21 39 36 2d | 62 25 21 38 38 3a f4 20 |8+b%!96-|b%!88:. |
|00002aa0| 4d 61 78 20 79 0d 0d c0 | 23 c8 99 20 22 57 69 6d |Max y...|#.. "Wim|
|00002ab0| 70 5f 47 65 74 50 6f 69 | 6e 74 65 72 49 6e 66 6f |p_GetPoi|nterInfo|
|00002ac0| 22 2c 2c 62 25 2b 34 30 | 0d 0d ca 32 62 25 21 38 |",,b%+40|...2b%!8|
|00002ad0| 3d 62 25 21 34 30 3a 62 | 25 21 31 32 3d 62 25 21 |=b%!40:b|%!12=b%!|
|00002ae0| 34 34 3a 62 25 21 31 36 | 3d 62 25 21 34 30 3a 62 |44:b%!16|=b%!40:b|
|00002af0| 25 21 32 30 3d 62 25 21 | 34 34 0d 0d d4 19 62 25 |%!20=b%!|44....b%|
|00002b00| 21 34 3d 37 3a f4 20 44 | 72 61 67 20 61 20 70 6f |!4=7:. D|rag a po|
|00002b10| 69 6e 74 0d 0d de 19 c8 | 99 20 22 57 69 6d 70 5f |int.....|. "Wimp_|
|00002b20| 44 72 61 67 42 6f 78 22 | 2c 2c 62 25 0d 0d e8 05 |DragBox"|,,b%....|
|00002b30| e1 0d 0d f2 05 3a 0d 0d | fc 1d dd f2 64 69 73 70 |.....:..|....disp|
|00002b40| 6c 61 79 5f 73 65 6c 63 | 6c 65 61 72 28 64 69 73 |lay_selc|lear(dis|
|00002b50| 70 25 29 0d 0e 06 2b e7 | 20 64 69 73 70 25 21 34 |p%)...+.| disp%!4|
|00002b60| 38 3d 2d 31 20 8c e1 3a | f4 20 49 66 20 6e 6f 20 |8=-1 ..:|. If no |
|00002b70| 73 65 6c 65 63 74 69 6f | 6e 20 65 78 69 74 0d 0e |selectio|n exit..|
|00002b80| 10 59 c8 99 20 22 57 69 | 6d 70 5f 46 6f 72 63 65 |.Y.. "Wi|mp_Force|
|00002b90| 52 65 64 72 61 77 22 2c | 21 64 69 73 70 25 2c 30 |Redraw",|!disp%,0|
|00002ba0| 2c 2d 64 69 73 70 25 21 | 35 36 2a 33 36 2d 33 36 |,-disp%!|56*36-36|
|00002bb0| 2d 38 2c 64 69 73 70 25 | 21 32 34 2b 31 32 2c 2d |-8,disp%|!24+12,-|
|00002bc0| 64 69 73 70 25 21 34 38 | 2a 33 36 3a 64 69 73 70 |disp%!48|*36:disp|
|00002bd0| 25 21 34 38 3d 2d 31 0d | 0e 1a 05 e1 0d 0e 24 05 |%!48=-1.|......$.|
|00002be0| 3a 0d 0e 2e 30 f4 20 50 | 52 4f 43 64 69 73 70 6c |:...0. P|ROCdispl|
|00002bf0| 61 79 5f 73 65 6c 6d 6f | 64 69 66 79 20 3a 20 4d |ay_selmo|dify : M|
|00002c00| 6f 64 69 66 79 20 61 20 | 73 65 6c 65 63 74 69 6f |odify a |selectio|
|00002c10| 6e 0d 0e 38 24 dd f2 64 | 69 73 70 6c 61 79 5f 73 |n..8$..d|isplay_s|
|00002c20| 65 6c 6d 6f 64 69 66 79 | 28 64 69 73 70 25 2c 78 |elmodify|(disp%,x|
|00002c30| 25 2c 79 25 29 0d 0e 42 | 24 ea 20 6d 25 2c 6e 25 |%,y%)..B|$. m%,n%|
|00002c40| 2c 72 25 3a f4 20 4d 69 | 6e 69 6d 75 6d 20 61 6e |,r%:. Mi|nimum an|
|00002c50| 64 20 6d 61 78 69 6d 75 | 6d 0d 0e 4c 2d e7 20 64 |d maximu|m..L-. d|
|00002c60| 69 73 70 25 21 34 38 3d | 2d 31 20 8c e1 3a f4 20 |isp%!48=|-1 ..:. |
|00002c70| 49 66 20 6e 6f 20 73 65 | 6c 65 63 74 69 6f 6e 2c |If no se|lection,|
|00002c80| 20 61 62 6f 72 74 0d 0e | 56 27 79 25 3d 2d 28 79 | abort..|V'y%=-(y|
|00002c90| 25 2b 38 29 2f 33 36 3a | 78 25 3d 78 25 2f 31 36 |%+8)/36:|x%=x%/16|
|00002ca0| 3a e7 20 79 25 3c 30 20 | 8c 79 25 3d 30 0d 0e 60 |:. y%<0 |.y%=0..`|
|00002cb0| 2d 6e 25 3d 64 69 73 70 | 25 21 34 38 3a 6d 25 3d |-n%=disp|%!48:m%=|
|00002cc0| 64 69 73 70 25 21 35 36 | 3a f4 20 53 65 74 20 6d |disp%!56|:. Set m|
|00002cd0| 69 6e 20 61 6e 64 20 6d | 61 78 0d 0e 6a 16 e7 20 |in and m|ax..j.. |
|00002ce0| 28 64 69 73 70 25 21 34 | 34 20 80 20 32 29 20 8c |(disp%!4|4 . 2) .|
|00002cf0| 0d 0e 74 38 20 f4 20 57 | 65 27 72 65 20 64 72 61 |..t8 . W|e're dra|
|00002d00| 67 67 69 6e 67 20 74 68 | 65 20 65 6e 64 2c 20 61 |gging th|e end, a|
|00002d10| 72 65 20 77 65 20 62 65 | 66 6f 72 65 20 74 68 65 |re we be|fore the|
|00002d20| 20 73 74 61 72 74 20 3f | 0d 0e 7e 6b 20 e7 20 79 | start ?|..~k . y|
|00002d30| 25 3c 64 69 73 70 25 21 | 34 38 20 84 20 28 79 25 |%<disp%!|48 . (y%|
|00002d40| 3d 64 69 73 70 25 21 34 | 38 20 80 20 78 25 3c 64 |=disp%!4|8 . x%<d|
|00002d50| 69 73 70 25 21 35 32 29 | 20 8c 64 69 73 70 25 21 |isp%!52)| .disp%!|
|00002d60| 34 34 3d 64 69 73 70 25 | 21 34 34 20 82 20 32 3a |44=disp%|!44 . 2:|
|00002d70| 64 69 73 70 25 21 35 36 | 3d 64 69 73 70 25 21 34 |disp%!56|=disp%!4|
|00002d80| 38 3a 64 69 73 70 25 21 | 36 30 3d 64 69 73 70 25 |8:disp%!|60=disp%|
|00002d90| 21 35 32 0d 0e 88 05 cc | 0d 0e 92 37 20 f4 20 57 |!52.....|...7 . W|
|00002da0| 65 27 72 65 20 64 72 61 | 67 67 69 6e 67 20 74 68 |e're dra|gging th|
|00002db0| 65 20 73 74 61 72 74 2c | 20 61 72 65 20 77 65 20 |e start,| are we |
|00002dc0| 61 66 74 65 72 20 74 68 | 65 20 65 6e 64 20 3f 0d |after th|e end ?.|
|00002dd0| 0e 9c 6b 20 e7 20 79 25 | 3e 64 69 73 70 25 21 35 |..k . y%|>disp%!5|
|00002de0| 36 20 84 20 28 79 25 3d | 64 69 73 70 25 21 35 36 |6 . (y%=|disp%!56|
|00002df0| 20 80 20 78 25 3e 64 69 | 73 70 25 21 36 30 29 20 | . x%>di|sp%!60) |
|00002e00| 8c 64 69 73 70 25 21 34 | 34 3d 64 69 73 70 25 21 |.disp%!4|4=disp%!|
|00002e10| 34 34 20 82 20 32 3a 64 | 69 73 70 25 21 34 38 3d |44 . 2:d|isp%!48=|
|00002e20| 64 69 73 70 25 21 35 36 | 3a 64 69 73 70 25 21 35 |disp%!56|:disp%!5|
|00002e30| 32 3d 64 69 73 70 25 21 | 36 30 0d 0e a6 05 cd 0d |2=disp%!|60......|
|00002e40| 0e b0 16 e7 20 28 64 69 | 73 70 25 21 34 34 20 80 |.... (di|sp%!44 .|
|00002e50| 20 32 29 20 8c 0d 0e ba | 40 20 e7 20 79 25 3c 3e | 2) ....|@ . y%<>|
|00002e60| 64 69 73 70 25 21 35 36 | 20 84 20 78 25 3c 3e 64 |disp%!56| . x%<>d|
|00002e70| 69 73 70 25 21 36 30 20 | 8c 64 69 73 70 25 21 35 |isp%!60 |.disp%!5|
|00002e80| 36 3d 79 25 3a 64 69 73 | 70 25 21 36 30 3d 78 25 |6=y%:dis|p%!60=x%|
|00002e90| 3a 72 25 3d b9 0d 0e c4 | 05 cc 0d 0e ce 40 20 e7 |:r%=....|.....@ .|
|00002ea0| 20 79 25 3c 3e 64 69 73 | 70 25 21 34 38 20 84 20 | y%<>dis|p%!48 . |
|00002eb0| 78 25 3c 3e 64 69 73 70 | 25 21 35 32 20 8c 64 69 |x%<>disp|%!52 .di|
|00002ec0| 73 70 25 21 34 38 3d 79 | 25 3a 64 69 73 70 25 21 |sp%!48=y|%:disp%!|
|00002ed0| 35 32 3d 78 25 3a 72 25 | 3d b9 0d 0e d8 05 cd 0d |52=x%:r%|=.......|
|00002ee0| 0e e2 0a e7 20 72 25 20 | 8c 0d 0e ec 15 20 e7 20 |.... r% |..... . |
|00002ef0| 64 69 73 70 25 21 34 38 | 3c 3e 6e 25 20 8c 0d 0e |disp%!48|<>n% ...|
|00002f00| f6 15 20 20 e7 20 64 69 | 73 70 25 21 35 36 3d 6d |.. . di|sp%!56=m|
|00002f10| 25 20 8c 0d 0f 00 34 20 | 20 20 e7 20 6e 25 3e 64 |% ....4 | . n%>d|
|00002f20| 69 73 70 25 21 34 38 20 | 8c 6d 25 3d 6e 25 3a 6e |isp%!48 |.m%=n%:n|
|00002f30| 25 3d 64 69 73 70 25 21 | 34 38 20 8b 6d 25 3d 64 |%=disp%!|48 .m%=d|
|00002f40| 69 73 70 25 21 34 38 0d | 0f 0a 07 20 20 cc 0d 0f |isp%!48.|... ...|
|00002f50| 14 21 20 20 20 e7 20 6e | 25 3e 64 69 73 70 25 21 |.! . n|%>disp%!|
|00002f60| 34 38 20 8c 6e 25 3d 64 | 69 73 70 25 21 34 38 0d |48 .n%=d|isp%!48.|
|00002f70| 0f 1e 21 20 20 20 e7 20 | 6d 25 3c 64 69 73 70 25 |..! . |m%<disp%|
|00002f80| 21 35 36 20 8c 6d 25 3d | 64 69 73 70 25 21 35 36 |!56 .m%=|disp%!56|
|00002f90| 0d 0f 28 07 20 20 cd 0d | 0f 32 06 20 cc 0d 0f 3c |..(. ..|.2. ...<|
|00002fa0| 15 20 20 e7 20 64 69 73 | 70 25 21 35 36 3d 6d 25 |. . dis|p%!56=m%|
|00002fb0| 20 8c 0d 0f 46 12 20 20 | 20 6e 25 3d 79 25 3a 6d | ...F. | n%=y%:m|
|00002fc0| 25 3d 79 25 0d 0f 50 07 | 20 20 cc 0d 0f 5a 34 20 |%=y%..P.| ...Z4 |
|00002fd0| 20 20 e7 20 6d 25 3c 64 | 69 73 70 25 21 35 36 20 | . m%<d|isp%!56 |
|00002fe0| 8c 6e 25 3d 6d 25 3a 6d | 25 3d 64 69 73 70 25 21 |.n%=m%:m|%=disp%!|
|00002ff0| 35 36 20 8b 6e 25 3d 64 | 69 73 70 25 21 35 36 0d |56 .n%=d|isp%!56.|
|00003000| 0f 64 07 20 20 cd 0d 0f | 6e 06 20 cd 0d 0f 78 3d |.d. ...|n. ...x=|
|00003010| 20 c8 99 20 22 57 69 6d | 70 5f 46 6f 72 63 65 52 | .. "Wim|p_ForceR|
|00003020| 65 64 72 61 77 22 2c 21 | 64 69 73 70 25 2c 30 2c |edraw",!|disp%,0,|
|00003030| 2d 6d 25 2a 33 36 2d 33 | 36 2d 38 2c 32 35 35 2a |-m%*36-3|6-8,255*|
|00003040| 31 36 2c 2d 6e 25 2a 33 | 36 0d 0f 82 05 cd 0d 0f |16,-n%*3|6.......|
|00003050| 8c 05 e1 0d 0f 96 05 3a | 0d 0f a0 2a f4 20 50 52 |.......:|...*. PR|
|00003060| 4f 43 64 69 73 70 6c 61 | 79 5f 73 65 6c 65 6e 64 |OCdispla|y_selend|
|00003070| 20 3a 20 45 6e 64 20 61 | 20 73 65 6c 65 63 74 69 | : End a| selecti|
|00003080| 6f 6e 0d 0f aa 1b dd f2 | 64 69 73 70 6c 61 79 5f |on......|display_|
|00003090| 73 65 6c 65 6e 64 28 64 | 69 73 70 25 29 0d 0f b4 |selend(d|isp%)...|
|000030a0| 05 e1 0d 0f be 05 3a 0d | 0f c8 3d f4 20 50 52 4f |......:.|..=. PRO|
|000030b0| 43 64 69 73 70 6c 61 79 | 5f 72 65 6c 78 79 20 3a |Cdisplay|_relxy :|
|000030c0| 20 43 6f 6e 76 65 72 74 | 20 78 20 61 6e 64 20 79 | Convert| x and y|
|000030d0| 20 74 6f 20 72 65 6c 61 | 74 69 76 65 20 63 6f 2d | to rela|tive co-|
|000030e0| 6f 72 64 73 0d 0f d2 24 | dd f2 64 69 73 70 6c 61 |ords...$|..displa|
|000030f0| 79 5f 72 65 6c 78 79 28 | 64 69 73 70 25 2c f8 20 |y_relxy(|disp%,. |
|00003100| 78 25 2c f8 20 79 25 29 | 0d 0f dc 2b 21 62 25 3d |x%,. y%)|...+!b%=|
|00003110| 21 64 69 73 70 25 3a c8 | 99 20 22 57 69 6d 70 5f |!disp%:.|. "Wimp_|
|00003120| 47 65 74 57 69 6e 64 6f | 77 53 74 61 74 65 22 2c |GetWindo|wState",|
|00003130| 2c 62 25 0d 0f e6 26 79 | 25 3d 79 25 2d 62 25 21 |,b%...&y|%=y%-b%!|
|00003140| 31 36 2b 62 25 21 32 34 | 3a 78 25 3d 78 25 2d 62 |16+b%!24|:x%=x%-b|
|00003150| 25 21 34 2b 62 25 21 32 | 30 0d 0f f0 05 e1 0d 0f |%!4+b%!2|0.......|
|00003160| fa 05 3a 0d 10 04 3a f4 | 20 46 4e 64 69 73 70 6c |..:...:.| FNdispl|
|00003170| 61 79 5f 6c 69 6e 65 79 | 20 3a 20 46 69 6e 64 20 |ay_liney| : Find |
|00003180| 74 68 65 20 68 61 6e 64 | 6c 65 20 6f 66 20 74 68 |the hand|le of th|
|00003190| 65 20 6c 69 6e 65 20 66 | 72 6f 6d 20 79 0d 10 0e |e line f|rom y...|
|000031a0| 1d dd a4 64 69 73 70 6c | 61 79 5f 6c 69 6e 65 79 |...displ|ay_liney|
|000031b0| 28 64 69 73 70 25 2c 79 | 25 29 0d 10 18 28 ea 20 |(disp%,y|%)...(. |
|000031c0| 70 25 3a 70 25 3d 64 69 | 73 70 25 21 32 38 3a f4 |p%:p%=di|sp%!28:.|
|000031d0| 20 54 6f 70 20 6f 66 20 | 74 68 65 20 77 69 6e 64 | Top of |the wind|
|000031e0| 6f 77 0d 10 22 30 e7 20 | 79 25 3e 2d 38 20 84 20 |ow.."0. |y%>-8 . |
|000031f0| 79 25 3c 2d 33 36 2a 64 | 69 73 70 25 21 34 20 8c |y%<-36*d|isp%!4 .|
|00003200| 3d 30 3a f4 20 6f 75 74 | 73 69 64 65 20 72 61 6e |=0:. out|side ran|
|00003210| 67 65 0d 10 2c 29 c8 95 | 20 70 25 3c 3e 30 20 80 |ge..,)..| p%<>0 .|
|00003220| 20 79 25 3c 3d 2d 38 2d | 33 36 3a 70 25 3d 70 25 | y%<=-8-|36:p%=p%|
|00003230| 21 38 3a 79 25 2b 3d 33 | 36 3a ce 0d 10 36 07 3d |!8:y%+=3|6:...6.=|
|00003240| 70 25 0d 10 40 05 3a 0d | 10 4a 39 f4 20 46 4e 64 |p%..@.:.|.J9. FNd|
|00003250| 69 73 70 6c 61 79 5f 6c | 69 6e 65 20 3a 20 46 69 |isplay_l|ine : Fi|
|00003260| 6e 64 20 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |nd the n|umber of|
|00003270| 20 74 68 65 20 6c 69 6e | 65 20 66 72 6f 6d 20 79 | the lin|e from y|
|00003280| 0d 10 54 1e dd a4 64 69 | 73 70 6c 61 79 5f 6c 69 |..T...di|splay_li|
|00003290| 6e 65 6e 6f 28 64 69 73 | 70 25 2c 79 25 29 0d 10 |neno(dis|p%,y%)..|
|000032a0| 5e 2b ea 20 70 25 2c 6e | 25 3a 70 25 3d 64 69 73 |^+. p%,n|%:p%=dis|
|000032b0| 70 25 21 32 38 3a f4 20 | 54 6f 70 20 6f 66 20 74 |p%!28:. |Top of t|
|000032c0| 68 65 20 77 69 6e 64 6f | 77 0d 10 68 2c c8 95 20 |he windo|w..h,.. |
|000032d0| 70 25 3c 3e 30 20 80 20 | 79 25 3c 3d 2d 38 3a 70 |p%<>0 . |y%<=-8:p|
|000032e0| 25 3d 70 25 21 38 3a 79 | 25 2b 3d 33 36 3a 6e 25 |%=p%!8:y|%+=36:n%|
|000032f0| 2b 3d 31 3a ce 0d 10 72 | 07 3d 6e 25 0d 10 7c 05 |+=1:...r|.=n%..|.|
|00003300| 3a 0d 10 86 2e dd a4 64 | 69 73 70 6c 61 79 5f 6e |:......d|isplay_n|
|00003310| 65 78 74 28 64 69 73 70 | 25 2c 70 25 29 3a e7 20 |ext(disp|%,p%):. |
|00003320| 70 25 3d 30 20 8c 3d 64 | 69 73 70 25 21 32 38 0d |p%=0 .=d|isp%!28.|
|00003330| 10 90 09 3d 70 25 21 38 | 0d 10 9a 2d dd a4 64 69 |...=p%!8|...-..di|
|00003340| 73 70 6c 61 79 5f 70 72 | 65 76 28 64 69 73 70 25 |splay_pr|ev(disp%|
|00003350| 2c 70 25 29 3a e7 20 70 | 25 3d 30 20 8c 3d 64 69 |,p%):. p|%=0 .=di|
|00003360| 73 70 25 21 38 0d 10 a4 | 08 3d 21 70 25 0d 10 ae |sp%!8...|.=!p%...|
|00003370| 05 3a 0d 10 b8 3e f4 20 | 46 4e 64 69 73 70 6c 61 |.:...>. |FNdispla|
|00003380| 79 5f 6c 69 6e 65 66 72 | 6f 6d 20 3a 20 72 65 74 |y_linefr|om : ret|
|00003390| 75 72 6e 20 6c 69 6e 65 | 20 66 72 6f 6d 20 61 20 |urn line| from a |
|000033a0| 70 61 72 74 69 63 75 6c | 61 72 20 70 6f 69 6e 74 |particul|ar point|
|000033b0| 0d 10 c2 25 dd a4 64 69 | 73 70 6c 61 79 5f 6c 69 |...%..di|splay_li|
|000033c0| 6e 65 66 72 6f 6d 28 64 | 69 73 70 25 2c 70 25 2c |nefrom(d|isp%,p%,|
|000033d0| f8 20 78 25 29 0d 10 cc | 10 ea 20 63 25 3a 63 25 |. x%)...|.. c%:c%|
|000033e0| 3d 78 25 2d 34 0d 10 d6 | 30 70 25 3d 70 25 21 34 |=x%-4...|0p%=p%!4|
|000033f0| 3a f4 20 50 6f 69 6e 74 | 65 72 20 74 6f 20 74 68 |:. Point|er to th|
|00003400| 65 20 66 69 72 73 74 20 | 70 69 65 63 65 20 6f 66 |e first |piece of|
|00003410| 20 74 65 78 74 0d 10 e0 | 2c e7 20 70 25 3c 3e 30 | text...|,. p%<>0|
|00003420| 20 8c 78 25 3d 70 25 21 | 31 32 3a f4 20 54 68 65 | .x%=p%!|12:. The|
|00003430| 20 65 6e 64 20 6f 66 20 | 74 68 69 73 20 74 65 78 | end of |this tex|
|00003440| 74 0d 10 ea 1c c8 95 20 | 70 25 3c 3e 30 20 80 20 |t...... |p%<>0 . |
|00003450| 78 25 3c 3d 63 25 3a 70 | 25 3d 21 70 25 0d 10 f4 |x%<=c%:p|%=!p%...|
|00003460| 35 20 e7 20 70 25 3c 3e | 30 20 8c 78 25 2b 3d 70 |5 . p%<>|0 .x%+=p|
|00003470| 25 21 31 32 3a f4 20 61 | 64 64 20 74 68 65 20 6c |%!12:. a|dd the l|
|00003480| 65 6e 67 74 68 20 6f 66 | 20 74 68 69 73 20 6c 69 |ength of| this li|
|00003490| 6e 65 0d 10 fe 1a ce 3a | f4 20 46 69 6e 64 20 74 |ne.....:|. Find t|
|000034a0| 68 65 20 72 69 67 68 74 | 20 6f 6e 65 0d 11 08 15 |he right| one....|
|000034b0| 78 25 2b 3d 34 3a e7 20 | 70 25 3d 30 20 8c 3d 22 |x%+=4:. |p%=0 .="|
|000034c0| 22 0d 11 12 22 3d c1 24 | 28 70 25 2b 31 36 29 2c |"..."=.$|(p%+16),|
|000034d0| 28 63 25 2d 78 25 2b 70 | 25 21 31 32 29 2f 31 36 |(c%-x%+p|%!12)/16|
|000034e0| 2b 31 29 0d 11 1c 05 3a | 0d 11 26 40 f4 20 46 4e |+1)....:|..&@. FN|
|000034f0| 64 69 73 70 6c 61 79 5f | 6c 69 6e 65 77 6f 72 64 |display_|lineword|
|00003500| 20 3a 20 52 65 74 75 72 | 6e 20 74 68 65 20 77 6f | : Retur|n the wo|
|00003510| 72 64 20 61 74 20 61 20 | 70 61 72 74 69 63 75 6c |rd at a |particul|
|00003520| 61 72 20 70 6f 69 6e 74 | 0d 11 30 23 dd a4 64 69 |ar point|..0#..di|
|00003530| 73 70 6c 61 79 5f 77 6f | 72 64 61 74 28 64 69 73 |splay_wo|rdat(dis|
|00003540| 70 25 2c 70 25 2c f8 20 | 78 25 29 0d 11 3a 13 ea |p%,p%,. |x%)..:..|
|00003550| 20 63 25 2c 61 24 3a 63 | 25 3d 78 25 2d 34 0d 11 | c%,a$:c|%=x%-4..|
|00003560| 44 30 70 25 3d 70 25 21 | 34 3a f4 20 50 6f 69 6e |D0p%=p%!|4:. Poin|
|00003570| 74 65 72 20 74 6f 20 74 | 68 65 20 66 69 72 73 74 |ter to t|he first|
|00003580| 20 70 69 65 63 65 20 6f | 66 20 74 65 78 74 0d 11 | piece o|f text..|
|00003590| 4e 2c e7 20 70 25 3c 3e | 30 20 8c 78 25 3d 70 25 |N,. p%<>|0 .x%=p%|
|000035a0| 21 31 32 3a f4 20 54 68 | 65 20 65 6e 64 20 6f 66 |!12:. Th|e end of|
|000035b0| 20 74 68 69 73 20 74 65 | 78 74 0d 11 58 1c c8 95 | this te|xt..X...|
|000035c0| 20 70 25 3c 3e 30 20 80 | 20 78 25 3c 3d 63 25 3a | p%<>0 .| x%<=c%:|
|000035d0| 70 25 3d 21 70 25 0d 11 | 62 35 20 e7 20 70 25 3c |p%=!p%..|b5 . p%<|
|000035e0| 3e 30 20 8c 78 25 2b 3d | 70 25 21 31 32 3a f4 20 |>0 .x%+=|p%!12:. |
|000035f0| 61 64 64 20 74 68 65 20 | 6c 65 6e 67 74 68 20 6f |add the |length o|
|00003600| 66 20 74 68 69 73 20 6c | 69 6e 65 0d 11 6c 1a ce |f this l|ine..l..|
|00003610| 3a f4 20 46 69 6e 64 20 | 74 68 65 20 72 69 67 68 |:. Find |the righ|
|00003620| 74 20 6f 6e 65 0d 11 76 | 15 78 25 2b 3d 34 3a e7 |t one..v|.x%+=4:.|
|00003630| 20 70 25 3d 30 20 8c 3d | 22 22 0d 11 80 25 63 25 | p%=0 .=|""...%c%|
|00003640| 3d 28 63 25 2d 78 25 2b | 70 25 21 31 32 29 2f 31 |=(c%-x%+|p%!12)/1|
|00003650| 36 2b 31 3a 61 24 3d 24 | 28 70 25 2b 31 36 29 0d |6+1:a$=$|(p%+16).|
|00003660| 11 8a 26 c8 95 20 63 25 | 3e 30 20 80 20 c1 61 24 |..&.. c%|>0 . .a$|
|00003670| 2c 63 25 2c 31 29 3c 3e | 22 20 22 3a 63 25 3d 63 |,c%,1)<>|" ":c%=c|
|00003680| 25 2d 31 3a ce 0d 11 94 | 29 63 25 2b 3d 31 3a 61 |%-1:....|)c%+=1:a|
|00003690| 24 3d c1 61 24 2c 63 25 | 29 3a 3d c0 61 24 2c a7 |$=.a$,c%|):=.a$,.|
|000036a0| 61 24 2b 22 20 22 2c 22 | 20 22 29 2d 31 29 0d 11 |a$+" ","| ")-1)..|
|000036b0| 9e 05 3a 0d 11 a8 3a f4 | 20 46 4e 64 69 73 70 6c |..:...:.| FNdispl|
|000036c0| 61 79 5f 6c 69 6e 65 74 | 6f 20 3a 20 72 65 74 75 |ay_linet|o : retu|
|000036d0| 72 6e 20 6c 69 6e 65 20 | 74 6f 20 61 20 70 61 72 |rn line |to a par|
|000036e0| 74 69 63 75 6c 61 72 20 | 70 6f 69 6e 74 0d 11 b2 |ticular |point...|
|000036f0| 23 dd a4 64 69 73 70 6c | 61 79 5f 6c 69 6e 65 74 |#..displ|ay_linet|
|00003700| 6f 28 64 69 73 70 25 2c | 70 25 2c f8 20 78 25 29 |o(disp%,|p%,. x%)|
|00003710| 0d 11 bc 21 85 20 39 39 | 39 2c 22 54 68 69 73 20 |...!. 99|9,"This |
|00003720| 64 6f 65 73 6e 27 74 20 | 77 6f 72 6b 20 79 65 74 |doesn't |work yet|
|00003730| 22 0d 11 c6 10 ea 20 63 | 25 3a 63 25 3d 78 25 2d |"..... c|%:c%=x%-|
|00003740| 34 0d 11 d0 30 70 25 3d | 70 25 21 34 3a f4 20 50 |4...0p%=|p%!4:. P|
|00003750| 6f 69 6e 74 65 72 20 74 | 6f 20 74 68 65 20 66 69 |ointer t|o the fi|
|00003760| 72 73 74 20 70 69 65 63 | 65 20 6f 66 20 74 65 78 |rst piec|e of tex|
|00003770| 74 0d 11 da 2c e7 20 70 | 25 3c 3e 30 20 8c 78 25 |t...,. p|%<>0 .x%|
|00003780| 3d 70 25 21 31 32 3a f4 | 20 54 68 65 20 65 6e 64 |=p%!12:.| The end|
|00003790| 20 6f 66 20 74 68 69 73 | 20 74 65 78 74 0d 11 e4 | of this| text...|
|000037a0| 1c c8 95 20 70 25 3c 3e | 30 20 80 20 78 25 3c 3d |... p%<>|0 . x%<=|
|000037b0| 63 25 3a 70 25 3d 21 70 | 25 0d 11 ee 35 20 e7 20 |c%:p%=!p|%...5 . |
|000037c0| 70 25 3c 3e 30 20 8c 78 | 25 2b 3d 70 25 21 31 32 |p%<>0 .x|%+=p%!12|
|000037d0| 3a f4 20 61 64 64 20 74 | 68 65 20 6c 65 6e 67 74 |:. add t|he lengt|
|000037e0| 68 20 6f 66 20 74 68 69 | 73 20 6c 69 6e 65 0d 11 |h of thi|s line..|
|000037f0| f8 1a ce 3a f4 20 46 69 | 6e 64 20 74 68 65 20 72 |...:. Fi|nd the r|
|00003800| 69 67 68 74 20 6f 6e 65 | 0d 12 02 15 78 25 2b 3d |ight one|....x%+=|
|00003810| 34 3a e7 20 70 25 3d 30 | 20 8c 3d 22 22 0d 12 0c |4:. p%=0| .=""...|
|00003820| 22 3d c1 24 28 70 25 2b | 31 36 29 2c 28 63 25 2d |"=.$(p%+|16),(c%-|
|00003830| 78 25 2b 70 25 21 31 32 | 29 2f 31 36 2b 31 29 0d |x%+p%!12|)/16+1).|
|00003840| 12 16 05 3a 0d 12 20 32 | dd a4 64 69 73 70 6c 61 |...:.. 2|..displa|
|00003850| 79 5f 6c 69 6e 65 66 72 | 6f 6d 73 28 64 69 73 70 |y_linefr|oms(disp|
|00003860| 25 2c 70 25 2c f8 20 78 | 25 2c f8 20 62 67 25 2c |%,p%,. x|%,. bg%,|
|00003870| f8 20 66 67 25 29 0d 12 | 2a 10 ea 20 63 25 3a 63 |. fg%)..|*.. c%:c|
|00003880| 25 3d 78 25 2d 34 0d 12 | 34 30 70 25 3d 70 25 21 |%=x%-4..|40p%=p%!|
|00003890| 34 3a f4 20 50 6f 69 6e | 74 65 72 20 74 6f 20 74 |4:. Poin|ter to t|
|000038a0| 68 65 20 66 69 72 73 74 | 20 70 69 65 63 65 20 6f |he first| piece o|
|000038b0| 66 20 74 65 78 74 0d 12 | 3e 2c e7 20 70 25 3c 3e |f text..|>,. p%<>|
|000038c0| 30 20 8c 78 25 3d 70 25 | 21 31 32 3a f4 20 54 68 |0 .x%=p%|!12:. Th|
|000038d0| 65 20 65 6e 64 20 6f 66 | 20 74 68 69 73 20 74 65 |e end of| this te|
|000038e0| 78 74 0d 12 48 1c c8 95 | 20 70 25 3c 3e 30 20 80 |xt..H...| p%<>0 .|
|000038f0| 20 78 25 3c 3d 63 25 3a | 70 25 3d 21 70 25 0d 12 | x%<=c%:|p%=!p%..|
|00003900| 52 35 20 e7 20 70 25 3c | 3e 30 20 8c 78 25 2b 3d |R5 . p%<|>0 .x%+=|
|00003910| 70 25 21 31 32 3a f4 20 | 61 64 64 20 74 68 65 20 |p%!12:. |add the |
|00003920| 6c 65 6e 67 74 68 20 6f | 66 20 74 68 69 73 20 6c |length o|f this l|
|00003930| 69 6e 65 0d 12 5c 1a ce | 3a f4 20 46 69 6e 64 20 |ine..\..|:. Find |
|00003940| 74 68 65 20 72 69 67 68 | 74 20 6f 6e 65 0d 12 66 |the righ|t one..f|
|00003950| 15 78 25 2b 3d 34 3a e7 | 20 70 25 3d 30 20 8c 3d |.x%+=4:.| p%=0 .=|
|00003960| 22 22 0d 12 70 2f 62 67 | 25 3d 70 25 21 34 3a 66 |""..p/bg|%=p%!4:f|
|00003970| 67 25 3d 70 25 21 38 3a | f4 20 54 68 65 20 63 6f |g%=p%!8:|. The co|
|00003980| 6c 6f 75 72 20 6f 66 20 | 74 68 69 73 20 70 61 72 |lour of |this par|
|00003990| 74 0d 12 7a 0d 3d 24 28 | 70 25 2b 31 36 29 0d 12 |t..z.=$(|p%+16)..|
|000039a0| 84 05 3a 0d 12 8e 34 f4 | 20 50 52 4f 43 64 69 73 |..:...4.| PROCdis|
|000039b0| 70 6c 61 79 5f 63 6f 6c | 6f 75 72 20 3a 20 53 65 |play_col|our : Se|
|000039c0| 6c 65 63 74 20 74 68 65 | 20 63 6f 6c 6f 75 72 20 |lect the| colour |
|000039d0| 77 65 20 77 61 6e 74 0d | 12 98 18 dd f2 64 69 73 |we want.|.....dis|
|000039e0| 70 6c 61 79 5f 63 6f 6c | 6f 75 72 28 63 25 29 0d |play_col|our(c%).|
|000039f0| 12 a2 51 e7 20 28 63 25 | 80 26 46 46 29 3c 3e 26 |..Q. (c%|.&FF)<>&|
|00003a00| 31 30 20 8c c8 99 20 22 | 57 69 6d 70 5f 53 65 74 |10 ... "|Wimp_Set|
|00003a10| 43 6f 6c 6f 75 72 22 2c | 63 25 20 8b c8 99 20 22 |Colour",|c% ... "|
|00003a20| 43 6f 6c 6f 75 72 54 72 | 61 6e 73 5f 53 65 74 47 |ColourTr|ans_SetG|
|00003a30| 43 4f 4c 22 2c 63 25 2c | 2c 2c 26 31 30 30 2c 30 |COL",c%,|,,&100,0|
|00003a40| 0d 12 ac 05 e1 0d 12 b6 | 05 3a 0d 12 c0 37 f4 20 |........|.:...7. |
|00003a50| 50 52 4f 43 64 69 73 70 | 6c 61 79 5f 6f 70 65 6e |PROCdisp|lay_open|
|00003a60| 20 3a 20 4f 70 65 6e 20 | 74 68 65 20 64 69 73 70 | : Open |the disp|
|00003a70| 6c 61 79 20 6f 6e 20 74 | 68 65 20 73 63 72 65 65 |lay on t|he scree|
|00003a80| 6e 0d 12 ca 19 dd f2 64 | 69 73 70 6c 61 79 5f 6f |n......d|isplay_o|
|00003a90| 70 65 6e 28 64 69 73 70 | 25 29 0d 12 d4 28 e7 20 |pen(disp|%)...(. |
|00003aa0| 21 64 69 73 70 25 3d 2d | 31 20 8c f2 64 69 73 70 |!disp%=-|1 ..disp|
|00003ab0| 6c 61 79 5f 6d 61 6b 65 | 77 69 6e 28 64 69 73 70 |lay_make|win(disp|
|00003ac0| 25 29 0d 12 de 14 f2 6f | 70 65 6e 77 69 6e 28 21 |%).....o|penwin(!|
|00003ad0| 64 69 73 70 25 29 0d 12 | e8 05 e1 0d 12 f2 05 3a |disp%)..|.......:|
|00003ae0| 0d 12 fc 39 f4 20 50 52 | 4f 43 64 69 73 70 6c 61 |...9. PR|OCdispla|
|00003af0| 79 5f 63 6c 6f 73 65 20 | 3a 20 43 6c 6f 73 65 20 |y_close |: Close |
|00003b00| 74 68 65 20 64 69 73 70 | 6c 61 79 20 6f 6e 20 74 |the disp|lay on t|
|00003b10| 68 65 20 73 63 72 65 65 | 6e 0d 13 06 1a dd f2 64 |he scree|n......d|
|00003b20| 69 73 70 6c 61 79 5f 63 | 6c 6f 73 65 28 64 69 73 |isplay_c|lose(dis|
|00003b30| 70 25 29 0d 13 10 12 e7 | 20 21 64 69 73 70 25 3c |p%).....| !disp%<|
|00003b40| 3e 2d 31 20 8c 0d 13 1a | 2a 20 21 62 25 3d 21 64 |>-1 ....|* !b%=!d|
|00003b50| 69 73 70 25 3a c8 99 20 | 22 57 69 6d 70 5f 44 65 |isp%:.. |"Wimp_De|
|00003b60| 6c 65 74 65 57 69 6e 64 | 6f 77 22 2c 2c 62 25 0d |leteWind|ow",,b%.|
|00003b70| 13 24 0e 20 21 64 69 73 | 70 25 3d 2d 31 0d 13 2e |.$. !dis|p%=-1...|
|00003b80| 05 cd 0d 13 38 05 e1 0d | 13 42 05 3a 0d 13 4c 3a |....8...|.B.:..L:|
|00003b90| f4 20 50 52 4f 43 64 69 | 73 70 6c 61 79 5f 6d 61 |. PROCdi|splay_ma|
|00003ba0| 6b 65 77 69 6e 20 3a 20 | 42 75 69 6c 64 20 61 20 |kewin : |Build a |
|00003bb0| 77 69 6e 64 6f 77 20 66 | 6f 72 20 74 68 65 20 64 |window f|or the d|
|00003bc0| 69 73 70 6c 61 79 0d 13 | 56 1c dd f2 64 69 73 70 |isplay..|V...disp|
|00003bd0| 6c 61 79 5f 6d 61 6b 65 | 77 69 6e 28 64 69 73 70 |lay_make|win(disp|
|00003be0| 25 29 0d 13 60 0b ea 20 | 65 25 2c 79 25 0d 13 6a |%)..`.. |e%,y%..j|
|00003bf0| 16 e7 20 64 69 73 70 5f | 79 6c 6f 63 25 3c 32 35 |.. disp_|yloc%<25|
|00003c00| 36 20 8c 0d 13 74 3c 20 | f4 20 57 65 20 6e 65 65 |6 ...t< |. We nee|
|00003c10| 64 20 74 6f 20 72 65 2d | 6c 6f 63 61 74 65 20 74 |d to re-|locate t|
|00003c20| 68 65 20 77 69 6e 64 6f | 77 73 2c 20 67 65 74 20 |he windo|ws, get |
|00003c30| 74 68 65 20 73 63 72 65 | 65 6e 20 73 69 7a 65 0d |the scre|en size.|
|00003c40| 13 7e 29 20 c8 99 20 22 | 4f 53 5f 52 65 61 64 4d |.~) .. "|OS_ReadM|
|00003c50| 6f 64 65 56 61 72 69 61 | 62 6c 65 22 2c 2d 31 2c |odeVaria|ble",-1,|
|00003c60| 35 20 b8 20 2c 2c 65 25 | 0d 13 88 3a 20 c8 99 20 |5 . ,,e%|...: .. |
|00003c70| 22 4f 53 5f 52 65 61 64 | 4d 6f 64 65 56 61 72 69 |"OS_Read|ModeVari|
|00003c80| 61 62 6c 65 22 2c 2d 31 | 2c 31 32 20 b8 20 2c 2c |able",-1|,12 . ,,|
|00003c90| 79 25 3a 79 25 3d 28 28 | 79 25 2b 31 29 3c 3c 65 |y%:y%=((|y%+1)<<e|
|00003ca0| 25 29 0d 13 92 1e 20 64 | 69 73 70 5f 79 6c 6f 63 |%).... d|isp_yloc|
|00003cb0| 25 3d 28 79 25 2a 33 2f | 34 29 20 80 20 ac 20 33 |%=(y%*3/|4) . . 3|
|00003cc0| 0d 13 9c 05 cd 0d 13 a6 | 2d 62 25 21 30 3d 36 34 |........|-b%!0=64|
|00003cd0| 3a 62 25 21 34 3d 64 69 | 73 70 5f 79 6c 6f 63 25 |:b%!4=di|sp_yloc%|
|00003ce0| 2d 32 35 36 3a f4 20 62 | 6f 74 74 6f 6d 20 6c 65 |-256:. b|ottom le|
|00003cf0| 66 74 0d 13 b0 29 62 25 | 21 38 3d 32 35 36 3a 62 |ft...)b%|!8=256:b|
|00003d00| 25 21 31 32 3d 64 69 73 | 70 5f 79 6c 6f 63 25 3a |%!12=dis|p_yloc%:|
|00003d10| f4 20 74 6f 70 20 72 69 | 67 68 74 0d 13 ba 33 64 |. top ri|ght...3d|
|00003d20| 69 73 70 5f 79 6c 6f 63 | 25 2d 3d 34 34 3a e7 20 |isp_yloc|%-=44:. |
|00003d30| 64 69 73 70 5f 79 6c 6f | 63 25 3c 33 32 30 20 8c |disp_ylo|c%<320 .|
|00003d40| 64 69 73 70 5f 79 6c 6f | 63 25 3d 36 30 30 0d 13 |disp_ylo|c%=600..|
|00003d50| c4 24 62 25 21 31 36 3d | 30 3a 62 25 21 32 30 3d |.$b%!16=|0:b%!20=|
|00003d60| 30 3a f4 20 53 63 72 6f | 6c 6c 20 6f 66 66 73 65 |0:. Scro|ll offse|
|00003d70| 74 73 0d 13 ce 1a 62 25 | 21 32 34 3d 2d 31 3a f4 |ts....b%|!24=-1:.|
|00003d80| 20 4f 70 65 6e 20 6f 6e | 20 74 6f 70 0d 13 d8 34 | Open on| top...4|
|00003d90| 62 25 21 32 38 3d 26 46 | 46 30 30 30 30 30 32 3a |b%!28=&F|F000002:|
|00003da0| f4 20 46 6c 61 67 73 20 | 28 61 6c 6c 20 74 68 65 |. Flags |(all the|
|00003db0| 20 73 74 61 6e 64 61 72 | 64 20 73 74 75 66 66 29 | standar|d stuff)|
|00003dc0| 0d 13 e2 29 62 25 21 33 | 32 3d 26 30 31 30 37 30 |...)b%!3|2=&01070|
|00003dd0| 32 30 37 3a f4 20 54 68 | 65 20 63 6f 6c 6f 75 72 |207:. Th|e colour|
|00003de0| 73 20 77 65 20 77 61 6e | 74 0d 13 ec 2e 62 25 21 |s we wan|t....b%!|
|00003df0| 33 36 3d 26 30 30 30 43 | 30 31 30 33 3a f4 20 53 |36=&000C|0103:. S|
|00003e00| 63 72 6f 6c 6c 20 63 6f | 6c 6f 75 72 73 20 61 6e |croll co|lours an|
|00003e10| 64 20 73 74 75 66 66 0d | 13 f6 29 62 25 21 34 30 |d stuff.|..)b%!40|
|00003e20| 3d 30 3a 62 25 21 34 34 | 3d 30 3a f4 20 42 6f 74 |=0:b%!44|=0:. Bot|
|00003e30| 74 6f 6d 20 6c 65 66 74 | 20 6f 66 20 61 72 65 61 |tom left| of area|
|00003e40| 0d 14 00 27 62 25 21 34 | 38 3d 30 3a 62 25 21 35 |...'b%!4|8=0:b%!5|
|00003e50| 32 3d 30 3a f4 20 54 6f | 70 20 72 69 67 68 74 20 |2=0:. To|p right |
|00003e60| 6f 66 20 61 72 65 61 0d | 14 0a 3d 62 25 21 35 36 |of area.|..=b%!56|
|00003e70| 3d 26 31 33 44 3a 62 25 | 21 36 30 3d 26 41 30 30 |=&13D:b%|!60=&A00|
|00003e80| 30 3a f4 20 54 69 74 6c | 65 20 62 61 72 20 66 6c |0:. Titl|e bar fl|
|00003e90| 61 67 73 20 61 6e 64 20 | 62 75 74 74 6f 6e 20 66 |ags and |button f|
|00003ea0| 6c 61 67 73 0d 14 14 44 | 62 25 21 36 34 3d 31 3a |lags...D|b%!64=1:|
|00003eb0| 62 25 21 36 38 3d 64 69 | 73 70 25 21 33 36 2a 33 |b%!68=di|sp%!36*3|
|00003ec0| 36 3a f4 20 4d 69 6e 69 | 6d 75 6d 20 73 69 7a 65 |6:. Mini|mum size|
|00003ed0| 20 69 73 20 61 73 20 73 | 6d 61 6c 6c 20 61 73 20 | is as s|mall as |
|00003ee0| 70 6f 73 73 69 62 6c 65 | 0d 14 1e 37 62 25 21 37 |possible|...7b%!7|
|00003ef0| 32 3d 64 69 73 70 25 21 | 31 32 3a 62 25 21 37 36 |2=disp%!|12:b%!76|
|00003f00| 3d 30 3a 62 25 21 38 30 | 3d a9 28 24 28 64 69 73 |=0:b%!80|=.($(dis|
|00003f10| 70 25 21 31 32 29 29 3a | f4 20 54 69 74 6c 65 0d |p%!12)):|. Title.|
|00003f20| 14 28 1e 62 25 21 38 34 | 3d 30 3a f4 20 4e 6f 20 |.(.b%!84|=0:. No |
|00003f30| 69 6e 69 74 69 61 6c 20 | 69 63 6f 6e 73 0d 14 32 |initial |icons..2|
|00003f40| 27 c8 99 20 22 57 69 6d | 70 5f 43 72 65 61 74 65 |'.. "Wim|p_Create|
|00003f50| 57 69 6e 64 6f 77 22 2c | 2c 62 25 20 b8 20 21 64 |Window",|,b% . !d|
|00003f60| 69 73 70 25 0d 14 3c 1a | f2 64 69 73 70 6c 61 79 |isp%..<.|.display|
|00003f70| 5f 72 65 73 69 7a 65 28 | 64 69 73 70 25 29 0d 14 |_resize(|disp%)..|
|00003f80| 46 05 e1 0d 14 50 05 3a | 0d 14 5a 24 f4 20 46 4e |F....P.:|..Z$. FN|
|00003f90| 64 69 73 70 6c 61 79 5f | 66 69 6e 64 20 3a 20 46 |display_|find : F|
|00003fa0| 69 6e 64 20 61 20 77 69 | 6e 64 6f 77 0d 14 64 18 |ind a wi|ndow..d.|
|00003fb0| dd a4 64 69 73 70 6c 61 | 79 5f 66 69 6e 64 28 77 |..displa|y_find(w|
|00003fc0| 69 6e 25 29 0d 14 6e 16 | ea 20 70 25 3a 70 25 3d |in%)..n.|. p%:p%=|
|00003fd0| 64 69 73 70 5f 6c 69 73 | 74 25 0d 14 78 0c c8 95 |disp_lis|t%..x...|
|00003fe0| 20 70 25 3c 3e 30 0d 14 | 82 17 20 e7 20 70 25 21 | p%<>0..|.. . p%!|
|00003ff0| 34 3d 77 69 6e 25 20 8c | 3d 70 25 2b 34 0d 14 8c |4=win% .|=p%+4...|
|00004000| 0b 20 70 25 3d 21 70 25 | 0d 14 96 05 ce 0d 14 a0 |. p%=!p%|........|
|00004010| 06 3d 30 0d 14 aa 05 3a | 0d 14 b4 2f f4 20 50 52 |.=0....:|.../. PR|
|00004020| 4f 43 64 69 73 70 6c 61 | 79 5f 74 69 74 6c 65 20 |OCdispla|y_title |
|00004030| 3a 20 53 65 74 20 74 68 | 65 20 64 69 73 70 6c 61 |: Set th|e displa|
|00004040| 79 20 74 69 74 6c 65 0d | 14 be 21 dd f2 64 69 73 |y title.|..!..dis|
|00004050| 70 6c 61 79 5f 74 69 74 | 6c 65 28 64 69 73 70 25 |play_tit|le(disp%|
|00004060| 2c 74 69 74 6c 65 24 29 | 0d 14 c8 2d f2 72 65 6c |,title$)|...-.rel|
|00004070| 65 61 73 65 28 64 69 73 | 70 25 21 31 32 29 3a f4 |ease(dis|p%!12):.|
|00004080| 20 47 65 74 20 72 69 64 | 20 6f 66 20 6f 6c 64 20 | Get rid| of old |
|00004090| 74 69 74 6c 65 0d 14 d2 | 26 64 69 73 70 25 21 31 |title...|&disp%!1|
|000040a0| 32 3d a4 73 74 72 64 75 | 70 28 a4 6d 73 67 74 65 |2=.strdu|p(.msgte|
|000040b0| 78 74 28 74 69 74 6c 65 | 24 29 29 0d 14 dc 12 e7 |xt(title|$)).....|
|000040c0| 20 21 64 69 73 70 25 3c | 3e 2d 31 20 8c 0d 14 e6 | !disp%<|>-1 ....|
|000040d0| 3a 20 21 62 25 3d 21 64 | 69 73 70 25 3a c8 99 20 |: !b%=!d|isp%:.. |
|000040e0| 22 57 69 6d 70 5f 47 65 | 74 57 69 6e 64 6f 77 49 |"Wimp_Ge|tWindowI|
|000040f0| 6e 66 6f 22 2c 2c 62 25 | 3a 62 25 21 37 36 3d 64 |nfo",,b%|:b%!76=d|
|00004100| 69 73 70 25 21 31 32 0d | 14 f0 34 20 e7 20 28 62 |isp%!12.|..4 . (b|
|00004110| 25 21 33 32 20 80 20 28 | 31 3c 3c 31 36 29 29 3e |%!32 . (|1<<16))>|
|00004120| 30 20 8c c8 99 20 22 57 | 69 6d 70 5f 4f 70 65 6e |0 ... "W|imp_Open|
|00004130| 57 69 6e 64 6f 77 22 2c | 2c 62 25 0d 14 fa 2c 20 |Window",|,b%..., |
|00004140| 21 62 25 3d 21 64 69 73 | 70 25 3a c8 99 20 22 57 |!b%=!dis|p%:.. "W|
|00004150| 69 6d 70 5f 47 65 74 57 | 69 6e 64 6f 77 53 74 61 |imp_GetW|indowSta|
|00004160| 74 65 22 2c 2c 62 25 0d | 15 04 33 20 62 25 21 33 |te",,b%.|..3 b%!3|
|00004170| 32 3d 21 64 69 73 70 25 | 3a c8 99 20 22 57 69 6d |2=!disp%|:.. "Wim|
|00004180| 70 5f 47 65 74 57 69 6e | 64 6f 77 4f 75 74 6c 69 |p_GetWin|dowOutli|
|00004190| 6e 65 22 2c 2c 62 25 2b | 33 32 0d 15 0e 35 20 c8 |ne",,b%+|32...5 .|
|000041a0| 99 20 22 57 69 6d 70 5f | 46 6f 72 63 65 52 65 64 |. "Wimp_|ForceRed|
|000041b0| 72 61 77 22 2c 2d 31 2c | 62 25 21 33 36 2c 62 25 |raw",-1,|b%!36,b%|
|000041c0| 21 31 36 2c 62 25 21 34 | 34 2c 62 25 21 34 38 0d |!16,b%!4|4,b%!48.|
|000041d0| 15 18 05 cd 0d 15 22 05 | e1 0d ff |......".|... |
+--------+-------------------------+-------------------------+--------+--------+