home *** CD-ROM | disk | FTP | other *** search
Unknown | 1991-03-17 | 23.3 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.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
| |
100%
| xdgMime
| image/x-tga
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 0a 10 f4 20 3e 21 | 52 75 6e 49 6d 61 67 65 |..... >!|RunImage|
|00000010| 0d 00 14 4b f4 ab ab ab | ab ab ab ab ab ab ab ab |...K....|........|
|00000020| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000030| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000040| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000050| ab ab ab ab ab ab ab ab | ab ab ab 0d 00 1e 44 f4 |........|......D.|
|00000060| 20 43 72 65 61 74 65 73 | 20 66 6f 72 65 69 67 6e | Creates| foreign|
|00000070| 20 67 72 61 70 68 69 63 | 20 66 6f 72 6d 61 74 20 | graphic| format |
|00000080| 66 69 6c 65 73 20 66 72 | 6f 6d 20 53 70 72 69 74 |files fr|om Sprit|
|00000090| 65 20 6f 72 20 43 6c 65 | 61 72 20 66 69 6c 65 0d |e or Cle|ar file.|
|000000a0| 00 28 2d f4 20 56 65 72 | 73 69 6f 6e 20 64 61 74 |.(-. Ver|sion dat|
|000000b0| 65 20 3a 20 53 75 6e 2c | 31 37 20 4d 61 72 20 31 |e : Sun,|17 Mar 1|
|000000c0| 39 39 31 2e 31 37 3a 31 | 31 3a 34 37 0d 00 32 1e |991.17:1|1:47..2.|
|000000d0| f4 20 a9 20 31 39 39 31 | 20 5a 65 72 69 64 61 6a |. . 1991| Zeridaj|
|000000e0| 68 20 73 6f 66 74 77 61 | 72 65 0d 00 3c 15 f4 20 |h softwa|re..<.. |
|000000f0| 62 79 20 4a 6f 68 6e 20 | 4b 6f 72 74 69 6e 6b 0d |by John |Kortink.|
|00000100| 00 46 4b f4 ab ab ab ab | ab ab ab ab ab ab ab ab |.FK.....|........|
|00000110| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000120| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000130| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000140| ab ab ab ab ab ab ab ab | ab ab 0d 00 50 2e ee 20 |........|....P.. |
|00000150| 85 20 f1 27 22 45 72 72 | 6f 72 22 27 27 22 27 22 |. .'"Err|or"''"'"|
|00000160| 3b f6 24 3b 22 27 20 28 | 63 6f 64 65 20 22 3b 9e |;.$;"' (|code ";.|
|00000170| 3b 22 29 22 27 27 3a e0 | 0d 00 5a 1b de 20 6d 65 |;")"'':.|..Z.. me|
|00000180| 6e 75 20 32 30 34 38 2c | 77 69 6e 64 6f 77 20 32 |nu 2048,|window 2|
|00000190| 30 34 38 0d 00 64 39 de | 20 69 63 6f 6e 64 61 74 |048..d9.| icondat|
|000001a0| 61 20 32 30 34 38 2c 69 | 63 6f 6e 64 65 6e 64 20 |a 2048,i|condend |
|000001b0| 30 2c 70 6f 6c 6c 20 32 | 35 36 2c 62 6c 6f 63 6b |0,poll 2|56,block|
|000001c0| 20 32 35 36 2c 65 72 72 | 20 32 35 36 0d 00 6e 45 | 256,err| 256..nE|
|000001d0| de 20 64 75 6d 25 20 31 | 30 32 34 2c 4d 61 70 31 |. dum% 1|024,Map1|
|000001e0| 25 20 32 35 36 2c 52 6f | 77 42 66 25 20 38 2a 31 |% 256,Ro|wBf% 8*1|
|000001f0| 30 32 34 2c 53 74 72 6f | 66 66 73 25 20 38 2a 31 |024,Stro|ffs% 8*1|
|00000200| 30 32 34 2c 50 61 6c 65 | 74 74 65 25 28 32 35 36 |024,Pale|tte%(256|
|00000210| 29 0d 00 78 40 de 20 54 | 61 62 6c 65 25 20 35 30 |)..x@. T|able% 50|
|00000220| 2a 31 30 32 34 3a f4 20 | 52 65 71 75 69 72 65 64 |*1024:. |Required|
|00000230| 20 73 70 61 63 65 20 66 | 6f 72 20 47 49 46 20 63 | space f|or GIF c|
|00000240| 6f 6d 70 72 65 73 73 69 | 6f 6e 20 74 61 62 6c 65 |ompressi|on table|
|00000250| 73 0d 00 82 3d 48 65 61 | 64 73 69 7a 65 25 3d 34 |s...=Hea|dsize%=4|
|00000260| 30 39 36 3a de 20 48 65 | 61 64 25 20 48 65 61 64 |096:. He|ad% Head|
|00000270| 73 69 7a 65 25 3a f4 20 | 42 75 66 66 65 72 20 66 |size%:. |Buffer f|
|00000280| 6f 72 20 66 69 6c 65 20 | 68 65 61 64 65 72 0d 00 |or file |header..|
|00000290| 8c 40 53 74 72 69 70 53 | 69 7a 65 25 3d 31 36 2a |.@StripS|ize%=16*|
|000002a0| 31 30 32 34 3a 4d 61 78 | 6f 75 74 25 3d 31 2e 35 |1024:Max|out%=1.5|
|000002b0| 2a 53 74 72 69 70 53 69 | 7a 65 25 3a f4 20 4c 5a |*StripSi|ze%:. LZ|
|000002c0| 57 20 72 65 71 75 69 72 | 65 6d 65 6e 74 73 0d 00 |W requir|ements..|
|000002d0| 96 48 50 72 6f 67 6e 65 | 65 64 25 3d 31 34 30 2a |.HProgne|ed%=140*|
|000002e0| 31 30 32 34 3a f4 20 4d | 65 6d 6f 72 79 20 6e 65 |1024:. M|emory ne|
|000002f0| 65 64 65 64 20 66 6f 72 | 20 70 72 6f 67 72 61 6d |eded for| program|
|00000300| 2b 76 61 72 73 2c 20 77 | 69 74 68 6f 75 74 20 62 |+vars, w|ithout b|
|00000310| 75 66 66 65 72 73 0d 00 | a0 22 54 6f 74 61 6c 25 |uffers..|."Total%|
|00000320| 3d 93 2d 90 3a f4 20 54 | 6f 74 61 6c 20 6d 65 6d |=.-.:. T|otal mem|
|00000330| 6f 72 79 20 66 72 65 65 | 0d 00 aa 35 42 75 66 66 |ory free|...5Buff|
|00000340| 72 65 65 25 3d 54 6f 74 | 61 6c 25 2d 50 72 6f 67 |ree%=Tot|al%-Prog|
|00000350| 6e 65 65 64 25 3a f4 20 | 46 72 65 65 20 66 6f 72 |need%:. |Free for|
|00000360| 20 66 69 6c 65 20 62 75 | 66 66 65 72 73 0d 00 b4 | file bu|ffers...|
|00000370| 2e 68 61 6c 76 65 25 3d | 28 42 75 66 66 72 65 65 |.halve%=|(Buffree|
|00000380| 25 81 32 29 80 ac 33 3a | f4 20 41 6c 69 67 6e 65 |%.2)..3:|. Aligne|
|00000390| 64 20 68 61 6c 66 20 73 | 69 7a 65 0d 00 be 44 4f |d half s|ize...DO|
|000003a0| 75 74 70 75 74 73 69 7a | 65 25 3d 68 61 6c 76 65 |utputsiz|e%=halve|
|000003b0| 25 3a de 20 4f 75 74 70 | 75 74 25 20 4f 75 74 70 |%:. Outp|ut% Outp|
|000003c0| 75 74 73 69 7a 65 25 2b | 31 36 3a f4 20 4f 75 74 |utsize%+|16:. Out|
|000003d0| 70 75 74 20 66 69 6c 65 | 20 62 75 66 66 65 72 0d |put file| buffer.|
|000003e0| 00 c8 40 49 6e 70 75 74 | 73 69 7a 65 25 3d 68 61 |..@Input|size%=ha|
|000003f0| 6c 76 65 25 3a de 20 49 | 6e 70 75 74 25 20 49 6e |lve%:. I|nput% In|
|00000400| 70 75 74 73 69 7a 65 25 | 2b 31 36 3a f4 20 49 6e |putsize%|+16:. In|
|00000410| 70 75 74 20 66 69 6c 65 | 20 62 75 66 66 65 72 0d |put file| buffer.|
|00000420| 00 d2 56 e7 4f 75 74 70 | 75 74 73 69 7a 65 25 3c |..V.Outp|utsize%<|
|00000430| 4d 61 78 6f 75 74 25 20 | 8c 20 85 20 31 2c 22 43 |Maxout% |. . 1,"C|
|00000440| 72 65 61 74 6f 72 20 63 | 61 6e 6e 6f 74 20 73 74 |reator c|annot st|
|00000450| 61 72 74 75 70 20 70 72 | 6f 70 65 72 6c 79 2e 20 |artup pr|operly. |
|00000460| 49 20 6e 65 65 64 20 6d | 6f 72 65 20 6d 65 6d 6f |I need m|ore memo|
|00000470| 72 79 20 21 22 0d 00 dc | 28 f2 69 6e 69 74 69 61 |ry !"...|(.initia|
|00000480| 6c 69 73 65 3a f4 20 49 | 6e 69 74 69 61 6c 69 73 |lise:. I|nitialis|
|00000490| 65 20 61 70 70 6c 69 63 | 61 74 69 6f 6e 0d 00 e6 |e applic|ation...|
|000004a0| 25 ee 20 85 20 f2 65 72 | 72 6f 72 28 9f 2c f6 24 |%. . .er|ror(.,.$|
|000004b0| 2b 22 20 28 63 6f 64 65 | 20 22 2b c3 9e 2b 22 29 |+" (code| "+..+")|
|000004c0| 22 29 0d 00 f0 17 f5 20 | f4 20 50 6f 6c 6c 20 61 |")..... |. Poll a|
|000004d0| 6e 64 20 61 63 74 69 6f | 6e 0d 00 fa 44 e7 44 61 |nd actio|n...D.Da|
|000004e0| 74 61 4c 6f 61 64 52 65 | 66 25 20 8c 20 70 6f 6c |taLoadRe|f% . pol|
|000004f0| 6c 6d 61 73 6b 25 3d 34 | 38 20 8b 20 70 6f 6c 6c |lmask%=4|8 . poll|
|00000500| 6d 61 73 6b 25 3d 34 39 | 3a f4 20 4e 6f 20 6e 75 |mask%=49|:. No nu|
|00000510| 6c 6c 73 20 69 66 20 77 | 61 73 74 65 64 0d 01 04 |lls if w|asted...|
|00000520| 19 c8 8e 20 a4 70 6f 6c | 6c 28 70 6f 6c 6c 6d 61 |... .pol|l(pollma|
|00000530| 73 6b 25 29 20 ca 0d 01 | 0e 30 20 c9 20 30 20 3a |sk%) ...|.0 . 0 :|
|00000540| 20 f2 6e 75 6c 6c 3a f4 | 20 4e 6f 74 68 69 6e 67 | .null:.| Nothing|
|00000550| 20 74 6f 20 64 6f 2c 20 | 70 65 72 66 6f 72 6d 20 | to do, |perform |
|00000560| 63 68 65 63 6b 73 0d 01 | 18 2a 20 c9 20 31 20 3a |checks..|.* . 1 :|
|00000570| 20 f2 72 65 64 72 61 77 | 3a f4 20 52 65 64 72 61 | .redraw|:. Redra|
|00000580| 77 20 77 69 6e 64 6f 77 | 20 72 65 71 75 65 73 74 |w window| request|
|00000590| 0d 01 22 26 20 c9 20 32 | 20 3a 20 f2 6f 70 65 6e |.."& . 2| : .open|
|000005a0| 3a f4 20 4f 70 65 6e 20 | 77 69 6e 64 6f 77 20 72 |:. Open |window r|
|000005b0| 65 71 75 65 73 74 0d 01 | 2c 28 20 c9 20 33 20 3a |equest..|,( . 3 :|
|000005c0| 20 f2 63 6c 6f 73 65 3a | f4 20 43 6c 6f 73 65 20 | .close:|. Close |
|000005d0| 77 69 6e 64 6f 77 20 72 | 65 71 75 65 73 74 0d 01 |window r|equest..|
|000005e0| 36 26 20 c9 20 36 20 3a | 20 f2 6d 6f 75 73 65 63 |6& . 6 :| .mousec|
|000005f0| 6c 69 63 6b 3a f4 20 4d | 6f 75 73 65 20 63 6c 69 |lick:. M|ouse cli|
|00000600| 63 6b 65 64 0d 01 40 3f | 20 c9 20 37 20 3a 20 f2 |cked..@?| . 7 : .|
|00000610| 64 72 61 67 64 72 6f 70 | 3a f4 20 55 73 65 72 20 |dragdrop|:. User |
|00000620| 68 61 73 20 64 72 6f 70 | 70 65 64 20 64 72 61 67 |has drop|ped drag|
|00000630| 20 62 6f 78 20 6f 66 20 | 66 69 6c 65 20 77 69 6e | box of |file win|
|00000640| 64 6f 77 0d 01 4a 1d 20 | c9 20 38 20 3a 20 f2 6b |dow..J. |. 8 : .k|
|00000650| 65 79 3a f4 20 4b 65 79 | 20 70 72 65 73 73 65 64 |ey:. Key| pressed|
|00000660| 0d 01 54 31 20 c9 20 39 | 20 3a 20 f2 6d 65 6e 75 |..T1 . 9| : .menu|
|00000670| 73 65 6c 65 63 74 3a f4 | 20 4d 65 6e 75 20 73 65 |select:.| Menu se|
|00000680| 6c 65 63 74 69 6f 6e 20 | 66 72 6f 6d 20 75 73 65 |lection |from use|
|00000690| 72 0d 01 5e 2b 20 c9 20 | 31 37 2c 31 38 20 3a 20 |r..^+ . |17,18 : |
|000006a0| f2 6d 65 73 73 61 67 65 | 3a f4 20 4d 65 73 73 61 |.message|:. Messa|
|000006b0| 67 65 20 66 72 6f 6d 20 | 57 49 4d 50 0d 01 68 05 |ge from |WIMP..h.|
|000006c0| cb 0d 01 72 07 fd 20 a3 | 0d 01 7c 05 20 0d 01 86 |...r.. .|..|. ...|
|000006d0| 10 dd f2 6d 65 6e 75 73 | 65 6c 65 63 74 0d 01 90 |...menus|elect...|
|000006e0| 14 f4 20 4d 65 6e 75 20 | 73 65 6c 65 63 74 69 6f |.. Menu |selectio|
|000006f0| 6e 0d 01 9a 3f c8 99 20 | 57 44 65 63 6f 64 65 4d |n...?.. |WDecodeM|
|00000700| 25 2c 2c 6d 65 6e 75 31 | 2c 70 6f 6c 6c 2c c4 31 |%,,menu1|,poll,.1|
|00000710| 30 30 2c 22 20 22 29 20 | b8 20 2c 2c 2c 73 65 6c |00," ") |. ,,,sel|
|00000720| 65 63 74 24 3a f4 20 53 | 65 6c 65 63 74 69 6f 6e |ect$:. S|election|
|00000730| 0d 01 a4 2d f4 20 44 65 | 63 6f 64 65 20 6d 61 69 |...-. De|code mai|
|00000740| 6e 2f 73 75 62 2f 73 75 | 62 73 75 62 20 73 65 6c |n/sub/su|bsub sel|
|00000750| 65 63 74 69 6f 6e 20 73 | 74 72 69 6e 67 0d 01 ae |ection s|tring...|
|00000760| 3a 73 65 6c 65 63 74 32 | 3d a3 3a 73 65 6c 65 63 |:select2|=.:selec|
|00000770| 74 33 3d a3 3a 73 65 6c | 65 63 74 32 24 3d 22 22 |t3=.:sel|ect2$=""|
|00000780| 3a 73 65 6c 65 63 74 33 | 24 3d 22 22 3a f4 20 44 |:select3|$="":. D|
|00000790| 65 66 61 75 6c 74 73 0d | 01 b8 ab 70 25 3d a7 73 |efaults.|...p%=.s|
|000007a0| 65 6c 65 63 74 24 2c 22 | 2e 22 29 3a e7 70 25 3e |elect$,"|."):.p%>|
|000007b0| 30 20 8c 20 73 65 6c 65 | 63 74 32 3d b9 3a 73 65 |0 . sele|ct2=.:se|
|000007c0| 6c 65 63 74 32 24 3d c1 | 73 65 6c 65 63 74 24 2c |lect2$=.|select$,|
|000007d0| 70 25 2b 31 29 3a 73 65 | 6c 65 63 74 24 3d c0 73 |p%+1):se|lect$=.s|
|000007e0| 65 6c 65 63 74 24 2c 70 | 25 2d 31 29 3a 70 25 3d |elect$,p|%-1):p%=|
|000007f0| a7 73 65 6c 65 63 74 32 | 24 2c 22 2e 22 29 3a e7 |.select2|$,"."):.|
|00000800| 70 25 3e 30 20 8c 20 73 | 65 6c 65 63 74 33 3d b9 |p%>0 . s|elect3=.|
|00000810| 3a 73 65 6c 65 63 74 33 | 24 3d c1 73 65 6c 65 63 |:select3|$=.selec|
|00000820| 74 32 24 2c 70 25 2b 31 | 29 3a 73 65 6c 65 63 74 |t2$,p%+1|):select|
|00000830| 32 24 3d c0 73 65 6c 65 | 63 74 32 24 2c 70 25 2d |2$=.sele|ct2$,p%-|
|00000840| 31 29 0d 01 c2 34 f4 20 | 46 69 6c 74 65 72 20 63 |1)...4. |Filter c|
|00000850| 6c 69 63 6b 73 20 6f 6e | 20 72 6f 6f 74 73 20 6f |licks on| roots o|
|00000860| 66 20 65 6e 74 72 69 65 | 73 20 77 69 74 68 20 73 |f entrie|s with s|
|00000870| 75 62 6d 65 6e 75 0d 01 | cc 10 c8 8e 20 73 65 6c |ubmenu..|.... sel|
|00000880| 65 63 74 24 20 ca 0d 01 | d6 21 20 c9 20 22 22 20 |ect$ ...|.! . "" |
|00000890| 3a 20 e7 73 65 6c 65 63 | 74 32 20 8b 20 73 65 6c |: .selec|t2 . sel|
|000008a0| 65 63 74 24 3d 22 22 0d | 01 e0 05 cb 0d 01 ea 10 |ect$="".|........|
|000008b0| c8 8e 20 73 65 6c 65 63 | 74 24 20 ca 0d 01 f4 18 |.. selec|t$ .....|
|000008c0| 20 c9 20 22 22 20 3a 20 | f4 20 44 6f 20 6e 6f 74 | . "" : |. Do not|
|000008d0| 68 69 6e 67 0d 01 fe 1e | 20 c9 20 22 51 75 69 74 |hing....| . "Quit|
|000008e0| 22 20 3a 20 f4 20 51 75 | 69 74 20 70 72 6f 67 72 |" : . Qu|it progr|
|000008f0| 61 6d 0d 02 08 1d 20 20 | f2 64 69 65 3a f4 20 54 |am.... |.die:. T|
|00000900| 69 64 79 20 75 70 20 61 | 6e 64 20 65 78 69 74 0d |idy up a|nd exit.|
|00000910| 02 12 1e 20 c9 20 22 47 | 49 46 22 20 3a 20 f4 20 |... . "G|IF" : . |
|00000920| 47 49 46 20 73 65 6c 65 | 63 74 69 6f 6e 0d 02 1c |GIF sele|ction...|
|00000930| 0f 20 20 54 79 70 65 3d | 26 36 39 35 0d 02 26 28 |. Type=|&695..&(|
|00000940| 20 c9 20 22 54 49 46 46 | 22 20 3a 20 f4 20 54 49 | . "TIFF|" : . TI|
|00000950| 46 46 20 73 65 6c 65 63 | 74 69 6f 6e 2f 6f 70 74 |FF selec|tion/opt|
|00000960| 69 6f 6e 73 0d 02 30 10 | 20 20 e7 73 65 6c 65 63 |ions..0.| .selec|
|00000970| 74 32 20 8c 0d 02 3a 14 | 20 20 20 c8 8e 20 73 65 |t2 ...:.| .. se|
|00000980| 6c 65 63 74 32 24 20 ca | 0d 02 44 1d 20 20 20 20 |lect2$ .|..D. |
|00000990| c9 20 22 4e 6f 6e 65 22 | 20 3a 20 54 49 46 46 63 |. "None"| : TIFFc|
|000009a0| 6f 6d 70 3d 30 0d 02 4e | 21 20 20 20 20 c9 20 22 |omp=0..N|! . "|
|000009b0| 50 61 63 6b 62 69 74 73 | 22 20 3a 20 54 49 46 46 |Packbits|" : TIFF|
|000009c0| 63 6f 6d 70 3d 31 0d 02 | 58 1c 20 20 20 20 c9 20 |comp=1..|X. . |
|000009d0| 22 4c 5a 57 22 20 3a 20 | 54 49 46 46 63 6f 6d 70 |"LZW" : |TIFFcomp|
|000009e0| 3d 32 0d 02 62 08 20 20 | 20 cb 0d 02 6c 11 20 20 |=2..b. | ...l. |
|000009f0| cc 20 54 79 70 65 3d 26 | 46 46 30 0d 02 76 07 20 |. Type=&|FF0..v. |
|00000a00| 20 cd 0d 02 80 1e 20 c9 | 20 22 41 49 4d 22 20 3a | ..... .| "AIM" :|
|00000a10| 20 f4 20 41 49 4d 20 73 | 65 6c 65 63 74 69 6f 6e | . AIM s|election|
|00000a20| 0d 02 8a 0f 20 20 54 79 | 70 65 3d 26 30 30 34 0d |.... Ty|pe=&004.|
|00000a30| 02 94 05 cb 0d 02 9e 28 | c8 99 20 57 47 65 74 50 |.......(|.. WGetP|
|00000a40| 49 25 2c 2c 62 6c 6f 63 | 6b 3a f4 20 47 65 74 20 |I%,,bloc|k:. Get |
|00000a50| 70 6f 69 6e 74 65 72 20 | 69 6e 66 6f 0d 02 a8 35 |pointer |info...5|
|00000a60| e7 28 28 62 6c 6f 63 6b | 21 38 29 80 31 29 3e 30 |.((block|!8).1)>0|
|00000a70| 20 8c 20 f2 6d 61 69 6e | 5f 6d 65 6e 75 3a f4 20 | . .main|_menu:. |
|00000a80| 41 64 6a 75 73 74 20 2d | 3e 20 72 65 2d 6f 70 65 |Adjust -|> re-ope|
|00000a90| 6e 0d 02 b2 05 e1 0d 02 | bc 04 0d 02 c6 0b dd f2 |n.......|........|
|00000aa0| 63 6c 6f 73 65 0d 02 d0 | 28 f2 63 6c 6f 73 65 5f |close...|(.close_|
|00000ab0| 77 69 6e 64 6f 77 28 70 | 6f 6c 6c 21 30 29 3a f4 |window(p|oll!0):.|
|00000ac0| 20 43 6c 6f 73 65 20 77 | 69 6e 64 6f 77 0d 02 da | Close w|indow...|
|00000ad0| 05 e1 0d 02 e4 04 0d 02 | ee 0a dd f2 6f 70 65 6e |........|....open|
|00000ae0| 0d 02 f8 26 f2 6f 70 65 | 6e 5f 77 69 6e 64 6f 77 |...&.ope|n_window|
|00000af0| 28 30 2c 70 6f 6c 6c 29 | 3a f4 20 4f 70 65 6e 20 |(0,poll)|:. Open |
|00000b00| 77 69 6e 64 6f 77 0d 03 | 02 05 e1 0d 03 0c 04 0d |window..|........|
|00000b10| 03 16 0a dd f2 6e 75 6c | 6c 0d 03 20 13 e7 44 61 |.....nul|l.. ..Da|
|00000b20| 74 61 4c 6f 61 64 52 65 | 66 25 20 8c 0d 03 2a 3e |taLoadRe|f% ...*>|
|00000b30| 20 44 61 74 61 4c 6f 61 | 64 52 65 66 25 3d a3 3a | DataLoa|dRef%=.:|
|00000b40| c8 99 20 22 4f 53 5f 46 | 69 6c 65 22 2c 36 2c 4f |.. "OS_F|ile",6,O|
|00000b50| 75 74 70 75 74 24 3a f4 | 20 44 65 6c 65 74 65 20 |utput$:.| Delete |
|00000b60| 66 69 6c 65 20 73 61 76 | 65 64 0d 03 34 43 20 f2 |file sav|ed..4C .|
|00000b70| 65 72 72 6f 72 28 2d 31 | 2c 22 42 61 64 20 64 61 |error(-1|,"Bad da|
|00000b80| 74 61 20 74 72 61 6e 73 | 66 65 72 2c 20 72 65 63 |ta trans|fer, rec|
|00000b90| 65 69 76 65 72 20 64 65 | 61 64 22 29 3a f4 20 4e |eiver de|ad"):. N|
|00000ba0| 6f 20 44 61 74 61 4c 6f | 61 64 41 63 6b 0d 03 3e |o DataLo|adAck..>|
|00000bb0| 05 cd 0d 03 48 05 e1 0d | 03 52 04 0d 03 5c 09 dd |....H...|.R...\..|
|00000bc0| f2 6b 65 79 0d 03 66 45 | 77 69 6e 25 3d 70 6f 6c |.key..fE|win%=pol|
|00000bd0| 6c 21 30 3a 69 63 6f 25 | 3d 70 6f 6c 6c 21 34 3a |l!0:ico%|=poll!4:|
|00000be0| 63 68 61 72 25 3d 70 6f | 6c 6c 21 32 34 3a f4 20 |char%=po|ll!24:. |
|00000bf0| 57 69 6e 64 6f 77 2c 20 | 69 63 6f 6e 2c 20 6b 65 |Window, |icon, ke|
|00000c00| 79 20 70 72 65 73 73 65 | 64 0d 03 70 22 e7 28 77 |y presse|d..p".(w|
|00000c10| 69 6e 25 3d 77 69 6e 5f | 66 69 6c 65 25 29 20 80 |in%=win_|file%) .|
|00000c20| 20 28 69 63 6f 25 3d 31 | 29 20 8c 0d 03 7a 0f 20 | (ico%=1|) ...z. |
|00000c30| c8 8e 20 63 68 61 72 25 | 20 ca 0d 03 84 1d 20 20 |.. char%| ..... |
|00000c40| c9 20 31 33 20 3a 20 f4 | 20 52 65 74 75 72 6e 20 |. 13 : .| Return |
|00000c50| 70 72 65 73 73 65 64 0d | 03 8e 43 20 20 20 f2 65 |pressed.|..C .e|
|00000c60| 72 72 6f 72 28 2d 31 2c | 22 50 6c 65 61 73 65 20 |rror(-1,|"Please |
|00000c70| 64 72 61 67 20 74 68 65 | 20 66 69 6c 65 20 69 63 |drag the| file ic|
|00000c80| 6f 6e 20 74 6f 20 61 20 | 64 69 72 65 63 74 6f 72 |on to a |director|
|00000c90| 79 20 76 69 65 77 65 72 | 22 29 0d 03 98 1d 20 20 |y viewer|").... |
|00000ca0| c9 20 32 37 20 3a 20 f4 | 20 45 73 63 61 70 65 20 |. 27 : .| Escape |
|00000cb0| 70 72 65 73 73 65 64 0d | 03 a2 1f 20 20 20 f2 63 |pressed.|... .c|
|00000cc0| 6c 6f 73 65 5f 77 69 6e | 64 6f 77 28 77 69 6e 5f |lose_win|dow(win_|
|00000cd0| 66 69 6c 65 25 29 0d 03 | ac 06 20 cb 0d 03 b6 05 |file%)..|.. .....|
|00000ce0| cd 0d 03 c0 05 e1 0d 03 | ca 04 0d 03 d4 0d dd f2 |........|........|
|00000cf0| 6d 65 73 73 61 67 65 0d | 03 de 2d f4 20 49 67 6e |message.|..-. Ign|
|00000d00| 6f 72 65 20 6d 65 73 73 | 61 67 65 73 20 6f 72 69 |ore mess|ages ori|
|00000d10| 67 69 6e 61 74 69 6e 67 | 20 66 72 6f 6d 20 6d 79 |ginating| from my|
|00000d20| 73 65 6c 66 0d 03 e8 36 | e7 28 70 6f 6c 6c 21 34 |self...6|.(poll!4|
|00000d30| 29 3d 54 61 73 6b 48 61 | 6e 64 6c 65 25 20 8c 20 |)=TaskHa|ndle% . |
|00000d40| 6d 73 67 6e 72 25 3d 2d | 31 20 8b 20 6d 73 67 6e |msgnr%=-|1 . msgn|
|00000d50| 72 25 3d 70 6f 6c 6c 21 | 31 36 0d 03 f2 0f c8 8e |r%=poll!|16......|
|00000d60| 20 6d 73 67 6e 72 25 20 | ca 0d 03 fc 19 20 c9 20 | msgnr% |..... . |
|00000d70| 2d 31 20 3a 20 f4 20 44 | 6f 6e 27 74 20 72 65 61 |-1 : . D|on't rea|
|00000d80| 63 74 0d 04 06 2b 20 c9 | 20 30 20 3a 20 f2 64 69 |ct...+ .| 0 : .di|
|00000d90| 65 3a f4 20 52 65 71 75 | 65 73 74 20 74 6f 20 74 |e:. Requ|est to t|
|00000da0| 65 72 6d 69 6e 61 74 65 | 20 74 61 73 6b 0d 04 10 |erminate| task...|
|00000db0| 2e 20 c9 20 31 20 3a 20 | f4 20 44 61 74 61 53 61 |. . 1 : |. DataSa|
|00000dc0| 76 65 2c 20 74 72 61 6e | 73 66 65 72 20 76 69 61 |ve, tran|sfer via|
|00000dd0| 20 73 63 72 61 70 20 66 | 69 6c 65 0d 04 1a 37 20 | scrap f|ile...7 |
|00000de0| 20 73 63 72 61 70 24 3d | a4 4f 53 76 61 72 28 22 | scrap$=|.OSvar("|
|00000df0| 57 69 6d 70 24 53 63 72 | 61 70 22 29 3a f4 20 52 |Wimp$Scr|ap"):. R|
|00000e00| 65 61 64 20 73 63 72 61 | 70 20 66 69 6c 65 6e 61 |ead scra|p filena|
|00000e10| 6d 65 0d 04 24 d2 20 20 | e7 73 63 72 61 70 24 3c |me..$. |.scrap$<|
|00000e20| 3e 22 22 20 8c 20 70 6f | 6c 6c 21 31 32 3d 70 6f |>"" . po|ll!12=po|
|00000e30| 6c 6c 21 38 3a 70 6f 6c | 6c 21 31 36 3d 32 3a 70 |ll!8:pol|l!16=2:p|
|00000e40| 6f 6c 6c 21 33 36 3d 2d | 31 3a 24 28 70 6f 6c 6c |oll!36=-|1:$(poll|
|00000e50| 2b 34 34 29 3d 73 63 72 | 61 70 24 2b bd 30 3a 70 |+44)=scr|ap$+.0:p|
|00000e60| 6f 6c 6c 21 30 3d 34 34 | 2b 28 a9 73 63 72 61 70 |oll!0=44|+(.scrap|
|00000e70| 24 2b 31 2b 33 29 80 ac | 33 3a c8 99 20 57 53 65 |$+1+3)..|3:.. WSe|
|00000e80| 6e 64 4d 73 67 25 2c 31 | 38 2c 70 6f 6c 6c 2c 70 |ndMsg%,1|8,poll,p|
|00000e90| 6f 6c 6c 21 34 20 8b 20 | f2 65 72 72 6f 72 28 2d |oll!4 . |.error(-|
|00000ea0| 31 2c 22 57 69 6d 70 24 | 53 63 72 61 70 20 6e 6f |1,"Wimp$|Scrap no|
|00000eb0| 74 20 64 65 66 69 6e 65 | 64 22 29 3a f4 20 53 65 |t define|d"):. Se|
|00000ec0| 6e 64 20 44 61 74 61 53 | 61 76 65 41 63 6b 20 69 |nd DataS|aveAck i|
|00000ed0| 66 20 73 63 72 61 70 20 | 66 69 6c 65 20 64 65 66 |f scrap |file def|
|00000ee0| 69 6e 65 64 0d 04 2e 23 | 20 c9 20 32 20 3a 20 f4 |ined...#| . 2 : .|
|00000ef0| 20 44 61 74 61 53 61 76 | 65 41 63 6b 2c 20 73 61 | DataSav|eAck, sa|
|00000f00| 76 65 20 66 69 6c 65 0d | 04 38 41 20 20 4f 75 74 |ve file.|.8A Out|
|00000f10| 70 75 74 24 3d a4 73 74 | 72 69 6e 67 28 70 6f 6c |put$=.st|ring(pol|
|00000f20| 6c 2b 34 34 29 3a f4 20 | 52 65 61 64 20 70 61 74 |l+44):. |Read pat|
|00000f30| 68 2d 6e 61 6d 65 20 6f | 66 20 66 69 6c 65 20 74 |h-name o|f file t|
|00000f40| 6f 20 63 72 65 61 74 65 | 0d 04 42 1d 20 20 f2 68 |o create|..B. .h|
|00000f50| 6f 75 72 5f 6f 6e 3a f4 | 20 48 6f 75 72 67 6c 61 |our_on:.| Hourgla|
|00000f60| 73 73 20 6f 6e 0d 04 4c | 0f 20 20 c8 8e 20 54 79 |ss on..L|. .. Ty|
|00000f70| 70 65 20 ca 0d 04 56 36 | 20 20 20 c9 20 26 36 39 |pe ...V6| . &69|
|00000f80| 35 20 3a 20 f2 6d 61 6b | 65 5f 47 49 46 28 74 79 |5 : .mak|e_GIF(ty|
|00000f90| 70 65 25 2c 49 6e 70 75 | 74 24 2c 4f 75 74 70 75 |pe%,Inpu|t$,Outpu|
|00000fa0| 74 24 2c 65 72 72 6f 72 | 24 29 0d 04 60 37 20 20 |t$,error|$)..`7 |
|00000fb0| 20 c9 20 26 46 46 30 20 | 3a 20 f2 6d 61 6b 65 5f | . &FF0 |: .make_|
|00000fc0| 54 49 46 46 28 74 79 70 | 65 25 2c 49 6e 70 75 74 |TIFF(typ|e%,Input|
|00000fd0| 24 2c 4f 75 74 70 75 74 | 24 2c 65 72 72 6f 72 24 |$,Output|$,error$|
|00000fe0| 29 0d 04 6a 36 20 20 20 | c9 20 26 30 30 34 20 3a |)..j6 |. &004 :|
|00000ff0| 20 f2 6d 61 6b 65 5f 41 | 49 4d 28 74 79 70 65 25 | .make_A|IM(type%|
|00001000| 2c 49 6e 70 75 74 24 2c | 4f 75 74 70 75 74 24 2c |,Input$,|Output$,|
|00001010| 65 72 72 6f 72 24 29 0d | 04 74 07 20 20 cb 0d 04 |error$).|.t. ...|
|00001020| 7e 1f 20 20 f2 68 6f 75 | 72 5f 6f 66 66 3a f4 20 |~. .hou|r_off:. |
|00001030| 48 6f 75 72 67 6c 61 73 | 73 20 6f 66 66 0d 04 88 |Hourglas|s off...|
|00001040| 13 20 20 e7 65 72 72 6f | 72 24 3c 3e 22 22 20 8c |. .erro|r$<>"" .|
|00001050| 0d 04 92 78 20 20 20 e7 | 65 72 72 6f 72 24 3d 22 |...x .|error$="|
|00001060| 21 53 41 4d 45 46 49 4c | 45 22 20 8c 20 65 72 72 |!SAMEFIL|E" . err|
|00001070| 6f 72 24 3d 22 49 20 63 | 61 6e 6e 6f 74 20 75 73 |or$="I c|annot us|
|00001080| 65 20 74 68 65 20 73 61 | 6d 65 20 66 69 6c 65 20 |e the sa|me file |
|00001090| 66 6f 72 20 6f 75 74 70 | 75 74 20 21 22 20 8b 20 |for outp|ut !" . |
|000010a0| c8 99 20 22 4f 53 5f 46 | 69 6c 65 22 2c 36 2c 4f |.. "OS_F|ile",6,O|
|000010b0| 75 74 70 75 74 24 3a f4 | 20 4b 69 6c 6c 20 6f 75 |utput$:.| Kill ou|
|000010c0| 74 70 75 74 66 69 6c 65 | 0d 04 9c 27 20 20 20 f2 |tputfile|...' .|
|000010d0| 65 72 72 6f 72 28 2d 31 | 2c 65 72 72 6f 72 24 29 |error(-1|,error$)|
|000010e0| 3a f4 20 52 65 70 6f 72 | 74 20 65 72 72 6f 72 0d |:. Repor|t error.|
|000010f0| 04 a6 07 20 20 cd 0d 04 | b0 3e 20 20 70 6f 6c 6c |... ...|.> poll|
|00001100| 21 31 32 3d 70 6f 6c 6c | 21 38 3a 70 6f 6c 6c 21 |!12=poll|!8:poll!|
|00001110| 31 36 3d 33 3a f4 20 41 | 6d 65 6e 64 20 64 61 74 |16=3:. A|mend dat|
|00001120| 61 20 62 6c 6f 63 6b 20 | 66 6f 72 20 44 61 74 61 |a block |for Data|
|00001130| 4c 6f 61 64 0d 04 ba 31 | 20 20 c8 99 20 57 53 65 |Load...1| .. WSe|
|00001140| 6e 64 4d 73 67 25 2c 31 | 38 2c 70 6f 6c 6c 2c 70 |ndMsg%,1|8,poll,p|
|00001150| 6f 6c 6c 21 34 3a f4 20 | 53 65 6e 64 20 44 61 74 |oll!4:. |Send Dat|
|00001160| 61 4c 6f 61 64 0d 04 c4 | 3f 20 20 44 61 74 61 4c |aLoad...|? DataL|
|00001170| 6f 61 64 52 65 66 25 3d | 70 6f 6c 6c 21 38 3a f4 |oadRef%=|poll!8:.|
|00001180| 20 41 77 61 69 74 20 61 | 20 44 61 74 61 4c 6f 61 | Await a| DataLoa|
|00001190| 64 41 63 6b 2c 20 72 65 | 6d 65 6d 62 65 72 20 6d |dAck, re|member m|
|000011a0| 79 72 65 66 0d 04 ce 34 | 20 c9 20 33 20 3a 20 f4 |yref...4| . 3 : .|
|000011b0| 20 44 61 74 61 4c 6f 61 | 64 2c 20 63 68 65 63 6b | DataLoa|d, check|
|000011c0| 20 69 66 20 73 70 72 69 | 74 65 20 6f 72 20 43 6c | if spri|te or Cl|
|000011d0| 65 61 72 20 66 69 6c 65 | 0d 04 d8 1e 20 20 74 79 |ear file|.... ty|
|000011e0| 70 65 25 3d 70 6f 6c 6c | 21 34 30 3a f4 20 46 69 |pe%=poll|!40:. Fi|
|000011f0| 6c 65 74 79 70 65 0d 04 | e2 20 20 20 e7 74 79 70 |letype..|. .typ|
|00001200| 65 25 3d 26 46 46 39 20 | 84 20 74 79 70 65 25 3d |e%=&FF9 |. type%=|
|00001210| 26 36 39 30 20 8c 0d 04 | ec 33 20 20 20 f4 20 53 |&690 ...|.3 . S|
|00001220| 70 72 69 74 65 20 6f 72 | 20 43 6c 65 61 72 20 66 |prite or| Clear f|
|00001230| 69 6c 65 2c 20 70 72 65 | 70 61 72 65 20 74 6f 20 |ile, pre|pare to |
|00001240| 6d 61 6b 65 20 66 69 6c | 65 0d 04 f6 29 20 20 20 |make fil|e...) |
|00001250| 49 6e 70 75 74 24 3d a4 | 73 74 72 69 6e 67 28 70 |Input$=.|string(p|
|00001260| 6f 6c 6c 2b 34 34 29 3a | f4 20 46 69 6c 65 6e 61 |oll+44):|. Filena|
|00001270| 6d 65 0d 05 00 98 20 20 | 20 70 6f 73 25 3d a9 49 |me.... | pos%=.I|
|00001280| 6e 70 75 74 24 3a f5 20 | 70 6f 73 25 2d 3d 31 3a |nput$:. |pos%-=1:|
|00001290| 70 65 72 69 6f 64 3d 28 | c1 49 6e 70 75 74 24 2c |period=(|.Input$,|
|000012a0| 70 6f 73 25 2c 31 29 3d | 22 2e 22 29 3a fd 20 28 |pos%,1)=|"."):. (|
|000012b0| 70 6f 73 25 3d 31 29 20 | 84 20 70 65 72 69 6f 64 |pos%=1) |. period|
|000012c0| 3a e7 70 65 72 69 6f 64 | 20 8c 20 4c 65 61 66 24 |:.period| . Leaf$|
|000012d0| 3d c2 49 6e 70 75 74 24 | 2c a9 49 6e 70 75 74 24 |=.Input$|,.Input$|
|000012e0| 2d 70 6f 73 25 29 20 8b | 20 4c 65 61 66 24 3d 49 |-pos%) .| Leaf$=I|
|000012f0| 6e 70 75 74 24 3a f4 20 | 44 65 74 65 72 6d 69 6e |nput$:. |Determin|
|00001300| 65 20 6c 65 61 66 6e 61 | 6d 65 0d 05 0a 2d 20 20 |e leafna|me...- |
|00001310| 20 24 53 41 56 66 6e 25 | 3d 4c 65 61 66 24 3a f4 | $SAVfn%|=Leaf$:.|
|00001320| 20 53 61 6d 65 20 6c 65 | 61 66 6e 61 6d 65 20 66 | Same le|afname f|
|00001330| 6f 72 20 73 61 76 65 0d | 05 14 41 20 20 20 24 53 |or save.|..A $S|
|00001340| 41 56 73 6e 25 3d 22 66 | 69 6c 65 5f 22 2b a4 6c |AVsn%="f|ile_"+.l|
|00001350| 6f 73 74 72 69 6e 67 28 | c2 22 30 30 22 2b c3 7e |ostring(|."00"+.~|
|00001360| 54 79 70 65 2c 33 29 29 | 3a f4 20 46 69 6c 65 74 |Type,3))|:. Filet|
|00001370| 79 70 65 20 69 63 6f 6e | 0d 05 1e 39 20 20 20 f2 |ype icon|...9 .|
|00001380| 6f 70 65 6e 5f 77 69 6e | 64 6f 77 28 77 69 6e 5f |open_win|dow(win_|
|00001390| 66 69 6c 65 25 2c 2d 31 | 29 3a f4 20 4f 70 65 6e |file%,-1|):. Open|
|000013a0| 20 73 61 76 65 20 66 69 | 6c 65 20 77 69 6e 64 6f | save fi|le windo|
|000013b0| 77 0d 05 28 2b 20 20 20 | c8 99 20 57 53 65 74 43 |w..(+ |.. WSetC|
|000013c0| 61 25 2c 77 69 6e 5f 66 | 69 6c 65 25 2c 31 2c 2c |a%,win_f|ile%,1,,|
|000013d0| 2c 2d 31 2c a9 28 4c 65 | 61 66 24 29 0d 05 32 49 |,-1,.(Le|af$)..2I|
|000013e0| 20 20 20 70 6f 6c 6c 21 | 31 32 3d 70 6f 6c 6c 21 | poll!|12=poll!|
|000013f0| 38 3a 70 6f 6c 6c 21 31 | 36 3d 34 3a c8 99 20 57 |8:poll!1|6=4:.. W|
|00001400| 53 65 6e 64 4d 73 67 25 | 2c 31 37 2c 70 6f 6c 6c |SendMsg%|,17,poll|
|00001410| 2c 70 6f 6c 6c 21 34 3a | f4 20 44 61 74 61 4c 6f |,poll!4:|. DataLo|
|00001420| 61 64 41 63 6b 0d 05 3c | 07 20 20 cd 0d 05 46 29 |adAck..<|. ...F)|
|00001430| 20 c9 20 34 20 3a 20 f4 | 20 44 61 74 61 4c 6f 61 | . 4 : .| DataLoa|
|00001440| 64 41 63 6b 2c 20 63 68 | 65 63 6b 20 6f 72 20 69 |dAck, ch|eck or i|
|00001450| 67 6e 6f 72 65 0d 05 50 | 3c 20 20 e7 44 61 74 61 |gnore..P|< .Data|
|00001460| 4c 6f 61 64 52 65 66 25 | 20 8c 20 e7 70 6f 6c 6c |LoadRef%| . .poll|
|00001470| 21 31 32 3d 44 61 74 61 | 4c 6f 61 64 52 65 66 25 |!12=Data|LoadRef%|
|00001480| 20 8c 20 44 61 74 61 4c | 6f 61 64 52 65 66 25 3d | . DataL|oadRef%=|
|00001490| a3 0d 05 5a 05 cb 0d 05 | 64 05 e1 0d 05 6e 04 0d |...Z....|d....n..|
|000014a0| 05 78 10 dd f2 6d 6f 75 | 73 65 63 6c 69 63 6b 0d |.x...mou|seclick.|
|000014b0| 05 82 3f 62 75 74 25 3d | 70 6f 6c 6c 21 38 3a 77 |..?but%=|poll!8:w|
|000014c0| 69 6e 25 3d 70 6f 6c 6c | 21 31 32 3a 69 63 6f 25 |in%=poll|!12:ico%|
|000014d0| 3d 70 6f 6c 6c 21 31 36 | 3a f4 20 42 75 74 74 6f |=poll!16|:. Butto|
|000014e0| 6e 73 2f 77 69 6e 64 6f | 77 2f 69 63 6f 6e 0d 05 |ns/windo|w/icon..|
|000014f0| 8c 0d c8 8e 20 77 69 6e | 25 20 ca 0d 05 96 1e 20 |.... win|% ..... |
|00001500| c9 20 2d 32 20 3a 20 f4 | 20 43 6c 69 63 6b 20 6f |. -2 : .| Click o|
|00001510| 6e 20 69 63 6f 6e 62 61 | 72 0d 05 a0 30 20 20 e7 |n iconba|r...0 .|
|00001520| 69 63 6f 25 3d 49 69 63 | 6f 6e 62 61 72 25 20 8c |ico%=Iic|onbar% .|
|00001530| 20 e7 28 62 75 74 25 80 | 37 29 3d 32 20 8c 20 f2 | .(but%.|7)=2 . .|
|00001540| 6d 61 69 6e 5f 6d 65 6e | 75 0d 05 aa 2e 20 c9 20 |main_men|u.... . |
|00001550| 77 69 6e 5f 66 69 6c 65 | 25 20 3a 20 f4 20 43 6c |win_file|% : . Cl|
|00001560| 69 63 6b 20 6f 6e 20 73 | 61 76 65 20 66 69 6c 65 |ick on s|ave file|
|00001570| 20 77 69 6e 64 6f 77 0d | 05 b4 0f 20 20 e7 69 63 | window.|... .ic|
|00001580| 6f 25 3d 30 20 8c 0d 05 | be 16 20 20 20 c8 8e 20 |o%=0 ...|.. .. |
|00001590| 62 75 74 25 20 80 20 26 | 37 46 20 ca 0d 05 c8 39 |but% . &|7F ....9|
|000015a0| 20 20 20 20 c9 20 31 36 | 2c 36 34 20 3a 20 f4 20 | . 16|,64 : . |
|000015b0| 44 72 61 67 2c 63 61 6c | 63 75 6c 61 74 65 20 64 |Drag,cal|culate d|
|000015c0| 72 61 67 20 62 6f 78 20 | 61 6e 64 20 63 72 65 61 |rag box |and crea|
|000015d0| 74 65 20 69 74 0d 05 d2 | 7a 20 20 20 20 20 53 63 |te it...|z Sc|
|000015e0| 72 57 25 3d a4 6d 6f 64 | 65 5f 76 61 72 28 eb 2c |rW%=.mod|e_var(.,|
|000015f0| 31 31 29 3c 3c a4 6d 6f | 64 65 5f 76 61 72 28 eb |11)<<.mo|de_var(.|
|00001600| 2c 34 29 3a 53 63 72 48 | 25 3d a4 6d 6f 64 65 5f |,4):ScrH|%=.mode_|
|00001610| 76 61 72 28 eb 2c 31 32 | 29 3c 3c a4 6d 6f 64 65 |var(.,12|)<<.mode|
|00001620| 5f 76 61 72 28 eb 2c 35 | 29 3a f4 20 53 63 72 65 |_var(.,5|):. Scre|
|00001630| 65 6e 20 77 69 64 74 68 | 20 61 6e 64 20 68 65 69 |en width| and hei|
|00001640| 67 68 74 20 69 6e 20 4f | 53 2d 75 6e 69 74 73 0d |ght in O|S-units.|
|00001650| 05 dc ba 20 20 20 20 20 | 6d 25 3d 62 6c 6f 63 6b |... |m%=block|
|00001660| 3a 21 6d 25 3d 77 69 6e | 25 3a c8 99 20 57 47 65 |:!m%=win|%:.. WGe|
|00001670| 74 57 53 25 2c 2c 6d 25 | 3a 78 25 3d 6d 25 21 34 |tWS%,,m%|:x%=m%!4|
|00001680| 3a 79 25 3d 6d 25 21 38 | 3a 6d 25 21 34 3d 69 63 |:y%=m%!8|:m%!4=ic|
|00001690| 6f 25 3a c8 99 20 57 47 | 65 74 49 53 25 2c 2c 6d |o%:.. WG|etIS%,,m|
|000016a0| 25 3a 21 6d 25 3d 77 69 | 6e 25 3a 6d 25 21 34 3d |%:!m%=wi|n%:m%!4=|
|000016b0| 35 3a 6d 25 21 38 2b 3d | 78 25 3a 6d 25 21 31 32 |5:m%!8+=|x%:m%!12|
|000016c0| 2b 3d 79 25 3a 6d 25 21 | 31 36 3d 6d 25 21 38 2b |+=y%:m%!|16=m%!8+|
|000016d0| 36 38 3a 6d 25 21 32 30 | 3d 6d 25 21 31 32 2b 36 |68:m%!20|=m%!12+6|
|000016e0| 38 3a 6d 25 21 32 34 3d | 30 3a 6d 25 21 32 38 3d |8:m%!24=|0:m%!28=|
|000016f0| 30 3a 6d 25 21 33 32 3d | 53 63 72 57 25 3a 6d 25 |0:m%!32=|ScrW%:m%|
|00001700| 21 33 36 3d 53 63 72 48 | 25 0d 05 e6 2c 20 20 20 |!36=ScrH|%..., |
|00001710| 20 20 c8 99 20 57 44 72 | 61 67 42 25 2c 2c 62 6c | .. WDr|agB%,,bl|
|00001720| 6f 63 6b 3a f4 20 43 72 | 65 61 74 65 20 64 72 61 |ock:. Cr|eate dra|
|00001730| 67 20 62 6f 78 0d 05 f0 | 08 20 20 20 cb 0d 05 fa |g box...|. ....|
|00001740| 07 20 20 cd 0d 06 04 05 | cb 0d 06 0e 05 e1 0d 06 |. .....|........|
|00001750| 18 04 0d 06 22 0e dd f2 | 64 72 61 67 64 72 6f 70 |...."...|dragdrop|
|00001760| 0d 06 2c 2c c8 99 20 57 | 47 65 74 50 49 25 2c 2c |..,,.. W|GetPI%,,|
|00001770| 62 6c 6f 63 6b 3a f4 20 | 47 65 74 20 70 6f 69 6e |block:. |Get poin|
|00001780| 74 65 72 20 70 6f 73 69 | 74 69 6f 6e 0d 06 36 47 |ter posi|tion..6G|
|00001790| 64 72 6f 70 77 69 6e 25 | 3d 62 6c 6f 63 6b 21 31 |dropwin%|=block!1|
|000017a0| 32 3a 64 72 6f 70 69 63 | 6f 25 3d 62 6c 6f 63 6b |2:dropic|o%=block|
|000017b0| 21 31 36 3a f4 20 57 69 | 6e 64 6f 77 2f 69 63 6f |!16:. Wi|ndow/ico|
|000017c0| 6e 20 77 68 65 72 65 20 | 62 6f 78 20 64 72 6f 70 |n where |box drop|
|000017d0| 70 65 64 0d 06 40 31 66 | 69 6c 65 6e 61 6d 65 24 |ped..@1f|ilename$|
|000017e0| 3d a4 73 74 72 69 6e 67 | 28 53 41 56 66 6e 25 29 |=.string|(SAVfn%)|
|000017f0| 3a f4 20 46 69 6c 65 6e | 61 6d 65 20 66 6f 72 20 |:. Filen|ame for |
|00001800| 73 61 76 65 0d 06 4a ad | 62 6c 6f 63 6b 21 32 30 |save..J.|block!20|
|00001810| 3d 62 6c 6f 63 6b 21 31 | 32 3a 62 6c 6f 63 6b 21 |=block!1|2:block!|
|00001820| 32 34 3d 62 6c 6f 63 6b | 21 31 36 3a 62 6c 6f 63 |24=block|!16:bloc|
|00001830| 6b 21 32 38 3d 62 6c 6f | 63 6b 21 30 3a 62 6c 6f |k!28=blo|ck!0:blo|
|00001840| 63 6b 21 33 32 3d 62 6c | 6f 63 6b 21 34 3a 62 6c |ck!32=bl|ock!4:bl|
|00001850| 6f 63 6b 21 31 32 3d 30 | 3a 62 6c 6f 63 6b 21 31 |ock!12=0|:block!1|
|00001860| 36 3d 31 3a 62 6c 6f 63 | 6b 21 33 36 3d 30 3a 62 |6=1:bloc|k!36=0:b|
|00001870| 6c 6f 63 6b 21 34 30 3d | 26 46 46 39 3a 24 28 62 |lock!40=|&FF9:$(b|
|00001880| 6c 6f 63 6b 2b 34 34 29 | 3d 66 69 6c 65 6e 61 6d |lock+44)|=filenam|
|00001890| 65 24 2b bd 30 3a 21 62 | 6c 6f 63 6b 3d 28 34 34 |e$+.0:!b|lock=(44|
|000018a0| 2b a9 66 69 6c 65 6e 61 | 6d 65 24 2b 34 29 80 ac |+.filena|me$+4)..|
|000018b0| 33 0d 06 54 3b c8 99 20 | 57 53 65 6e 64 4d 73 67 |3..T;.. |WSendMsg|
|000018c0| 25 2c 31 37 2c 62 6c 6f | 63 6b 2c 64 72 6f 70 77 |%,17,blo|ck,dropw|
|000018d0| 69 6e 25 2c 64 72 6f 70 | 69 63 6f 25 3a f4 20 53 |in%,drop|ico%:. S|
|000018e0| 65 6e 64 20 44 61 74 61 | 53 61 76 65 0d 06 5e 36 |end Data|Save..^6|
|000018f0| 44 61 74 61 53 61 76 65 | 52 65 66 25 3d 62 6c 6f |DataSave|Ref%=blo|
|00001900| 63 6b 21 38 3a f4 20 52 | 65 6d 65 6d 62 65 72 20 |ck!8:. R|emember |
|00001910| 6d 79 72 65 66 20 66 6f | 72 20 44 61 74 61 53 61 |myref fo|r DataSa|
|00001920| 76 65 0d 06 68 35 f2 63 | 6c 6f 73 65 5f 77 69 6e |ve..h5.c|lose_win|
|00001930| 64 6f 77 28 77 69 6e 5f | 66 69 6c 65 25 29 3a f4 |dow(win_|file%):.|
|00001940| 20 43 6c 6f 73 65 20 73 | 61 76 65 20 66 69 6c 65 | Close s|ave file|
|00001950| 20 77 69 6e 64 6f 77 0d | 06 72 05 e1 0d 06 7c 05 | window.|.r....|.|
|00001960| 20 0d 06 86 2f dd f2 6d | 61 6b 65 5f 47 49 46 28 | .../..m|ake_GIF(|
|00001970| 54 79 70 65 25 2c 49 6e | 46 69 6c 65 24 2c 4f 75 |Type%,In|File$,Ou|
|00001980| 74 46 69 6c 65 24 2c f8 | 20 65 72 72 6f 72 24 29 |tFile$,.| error$)|
|00001990| 0d 06 90 26 f4 20 43 72 | 65 61 74 65 73 20 47 49 |...&. Cr|eates GI|
|000019a0| 46 20 66 69 6c 65 20 4f | 75 74 46 69 6c 65 24 20 |F file O|utFile$ |
|000019b0| 66 72 6f 6d 20 3a 0d 06 | 9a 2e f4 20 28 54 79 70 |from :..|... (Typ|
|000019c0| 65 25 3d 26 46 46 39 29 | 20 66 69 72 73 74 20 73 |e%=&FF9)| first s|
|000019d0| 70 72 69 74 65 20 69 6e | 20 73 70 72 69 74 65 20 |prite in| sprite |
|000019e0| 66 69 6c 65 0d 06 a4 26 | f4 20 28 54 79 70 65 25 |file...&|. (Type%|
|000019f0| 3d 26 36 39 30 29 20 69 | 6d 61 67 65 20 69 6e 20 |=&690) i|mage in |
|00001a00| 43 6c 65 61 72 20 66 69 | 6c 65 0d 06 ae 37 f4 20 |Clear fi|le...7. |
|00001a10| 52 65 74 75 72 6e 73 20 | 65 72 72 6f 72 20 69 6e |Returns |error in|
|00001a20| 20 65 72 72 6f 72 24 20 | 69 66 20 65 72 72 6f 72 | error$ |if error|
|00001a30| 20 6f 63 63 75 72 65 64 | 2c 20 65 6c 73 65 20 22 | occured|, else "|
|00001a40| 22 0d 06 b8 07 ea 20 85 | 0d 06 c2 2e ee 20 85 20 |"..... .|..... . |
|00001a50| ea 20 65 72 72 6f 72 24 | 3d f6 24 2b 22 20 28 63 |. error$|=.$+" (c|
|00001a60| 6f 64 65 20 22 2b c3 9e | 2b 22 29 22 3a f2 63 6c |ode "+..|+")":.cl|
|00001a70| 6f 73 65 66 3a e1 0d 06 | cc 2c e7 49 6e 46 69 6c |osef:...|.,.InFil|
|00001a80| 65 24 3d 4f 75 74 46 69 | 6c 65 24 20 8c 20 65 72 |e$=OutFi|le$ . er|
|00001a90| 72 6f 72 24 3d 22 21 53 | 41 4d 45 46 49 4c 45 22 |ror$="!S|AMEFILE"|
|00001aa0| 3a e1 0d 06 d6 3d 65 72 | 72 6f 72 24 3d 22 22 3a |:....=er|ror$="":|
|00001ab0| 49 6e 3d 30 3a 4f 75 74 | 3d 30 3a f4 20 4e 6f 20 |In=0:Out|=0:. No |
|00001ac0| 65 72 72 6f 72 73 20 28 | 79 65 74 29 2c 20 66 69 |errors (|yet), fi|
|00001ad0| 6c 65 73 20 62 6f 74 68 | 20 63 6c 6f 73 65 64 0d |les both| closed.|
|00001ae0| 06 e0 23 49 6e 3d 8e 28 | 49 6e 46 69 6c 65 24 29 |..#In=.(|InFile$)|
|00001af0| 3a f4 20 4f 70 65 6e 20 | 69 6e 70 75 74 20 66 69 |:. Open |input fi|
|00001b00| 6c 65 0d 06 ea 0e c8 8e | 20 54 79 70 65 25 20 ca |le......| Type% .|
|00001b10| 0d 06 f4 1b 20 c9 20 26 | 46 46 39 20 3a 20 f4 20 |.... . &|FF9 : . |
|00001b20| 53 70 72 69 74 65 20 66 | 69 6c 65 0d 06 fe 22 20 |Sprite f|ile..." |
|00001b30| 20 f2 72 65 61 64 5f 73 | 70 72 69 74 65 3a f4 20 | .read_s|prite:. |
|00001b40| 41 63 63 65 73 73 20 73 | 70 72 69 74 65 0d 07 08 |Access s|prite...|
|00001b50| 36 20 20 72 61 73 77 69 | 64 74 68 25 3d a4 6d 6f |6 raswi|dth%=.mo|
|00001b60| 64 65 5f 76 61 72 28 6d | 6f 64 65 25 2c 31 31 29 |de_var(m|ode%,11)|
|00001b70| 2b 31 3a f4 20 27 52 61 | 73 74 65 72 27 20 77 69 |+1:. 'Ra|ster' wi|
|00001b80| 64 74 68 0d 07 12 38 20 | 20 72 61 73 68 65 69 67 |dth...8 | rasheig|
|00001b90| 68 74 25 3d a4 6d 6f 64 | 65 5f 76 61 72 28 6d 6f |ht%=.mod|e_var(mo|
|00001ba0| 64 65 25 2c 31 32 29 2b | 31 3a f4 20 27 52 61 73 |de%,12)+|1:. 'Ras|
|00001bb0| 74 65 72 27 20 68 65 69 | 67 68 74 0d 07 1c 1a 20 |ter' hei|ght.... |
|00001bc0| c9 20 26 36 39 30 20 3a | 20 f4 20 43 6c 65 61 72 |. &690 :| . Clear|
|00001bd0| 20 66 69 6c 65 0d 07 26 | 25 20 20 f2 72 65 61 64 | file..&|% .read|
|00001be0| 5f 63 6c 65 61 72 3a f4 | 20 41 63 63 65 73 73 20 |_clear:.| Access |
|00001bf0| 43 6c 65 61 72 20 66 69 | 6c 65 0d 07 30 69 20 20 |Clear fi|le..0i |
|00001c00| e7 43 6f 6c 42 69 74 73 | 25 3e 38 20 8c 20 65 72 |.ColBits|%>8 . er|
|00001c10| 72 6f 72 24 3d 22 49 20 | 63 61 6e 6e 6f 74 20 68 |ror$="I |cannot h|
|00001c20| 61 6e 64 6c 65 20 70 75 | 72 65 20 52 47 42 20 43 |andle pu|re RGB C|
|00001c30| 6c 65 61 72 20 66 69 6c | 65 73 2e 20 47 49 46 20 |lear fil|es. GIF |
|00001c40| 64 6f 65 73 20 6e 6f 74 | 20 73 75 70 70 6f 72 74 |does not| support|
|00001c50| 20 74 68 65 73 65 20 21 | 22 3a f2 63 6c 6f 73 65 | these !|":.close|
|00001c60| 66 3a e1 0d 07 3a 43 20 | 20 72 61 73 77 69 64 74 |f:...:C | raswidt|
|00001c70| 68 25 3d 57 69 64 74 68 | 25 3a 72 61 73 68 65 69 |h%=Width|%:rashei|
|00001c80| 67 68 74 25 3d 48 65 69 | 67 68 74 25 3a f4 20 4e |ght%=Hei|ght%:. N|
|00001c90| 6f 20 61 63 74 75 61 6c | 20 27 72 61 73 74 65 72 |o actual| 'raster|
|00001ca0| 20 73 69 7a 65 27 0d 07 | 44 05 cb 0d 07 4e 2a 4f | size'..|D....N*O|
|00001cb0| 75 74 3d ae 28 4f 75 74 | 46 69 6c 65 24 29 3a f4 |ut=.(Out|File$):.|
|00001cc0| 20 4f 70 65 6e 20 6f 75 | 74 70 75 74 20 47 49 46 | Open ou|tput GIF|
|00001cd0| 20 66 69 6c 65 0d 07 58 | 23 f2 6f 75 74 73 28 22 | file..X|#.outs("|
|00001ce0| 47 49 46 38 37 61 22 29 | 3a f4 20 47 49 46 20 73 |GIF87a")|:. GIF s|
|00001cf0| 69 67 6e 61 74 75 72 65 | 0d 07 62 2d f2 6f 75 74 |ignature|..b-.out|
|00001d00| 64 28 72 61 73 77 69 64 | 74 68 25 29 3a f4 20 52 |d(raswid|th%):. R|
|00001d10| 61 73 74 65 72 20 77 69 | 64 74 68 20 69 6e 20 70 |aster wi|dth in p|
|00001d20| 69 78 65 6c 73 0d 07 6c | 2f f2 6f 75 74 64 28 72 |ixels..l|/.outd(r|
|00001d30| 61 73 68 65 69 67 68 74 | 25 29 3a f4 20 52 61 73 |asheight|%):. Ras|
|00001d40| 74 65 72 20 68 65 69 67 | 68 74 20 69 6e 20 70 69 |ter heig|ht in pi|
|00001d50| 78 65 6c 73 0d 07 76 40 | f2 6f 75 74 62 28 28 31 |xels..v@|.outb((1|
|00001d60| 3c 3c 37 29 2b 28 28 43 | 6f 6c 42 69 74 73 25 2d |<<7)+((C|olBits%-|
|00001d70| 31 29 3c 3c 34 29 2b 43 | 6f 6c 42 69 74 73 25 2d |1)<<4)+C|olBits%-|
|00001d80| 31 29 3a f4 20 46 6c 61 | 67 73 20 2b 20 63 6f 6c |1):. Fla|gs + col|
|00001d90| 62 69 74 73 0d 07 80 26 | f2 6f 75 74 62 28 30 29 |bits...&|.outb(0)|
|00001da0| 3a f4 20 42 61 63 6b 67 | 72 6f 75 6e 64 20 63 6f |:. Backg|round co|
|00001db0| 6c 6f 75 72 20 69 6e 64 | 65 78 0d 07 8a 17 f2 6f |lour ind|ex.....o|
|00001dc0| 75 74 62 28 30 29 3a f4 | 20 52 65 73 65 72 76 65 |utb(0):.| Reserve|
|00001dd0| 64 0d 07 94 7e e3 20 63 | 6f 6c 6f 75 72 25 3d 30 |d...~. c|olour%=0|
|00001de0| 20 b8 20 63 6f 6c 6f 75 | 72 73 25 2d 31 3a 70 25 | . colou|rs%-1:p%|
|00001df0| 3d 50 61 6c 65 74 74 65 | 25 28 63 6f 6c 6f 75 72 |=Palette|%(colour|
|00001e00| 25 29 3a 72 25 3d 70 25 | 3e 3e 31 36 3a 67 25 3d |%):r%=p%|>>16:g%=|
|00001e10| 28 70 25 3e 3e 38 29 80 | 26 46 46 3a 62 25 3d 70 |(p%>>8).|&FF:b%=p|
|00001e20| 25 80 26 46 46 3a f2 6f | 75 74 62 28 72 25 29 3a |%.&FF:.o|utb(r%):|
|00001e30| f2 6f 75 74 62 28 67 25 | 29 3a f2 6f 75 74 62 28 |.outb(g%|):.outb(|
|00001e40| 62 25 29 3a ed 3a f4 20 | 50 61 6c 65 74 74 65 0d |b%):.:. |Palette.|
|00001e50| 07 9e 2a f2 6f 75 74 73 | 28 22 2c 22 29 3a f4 20 |..*.outs|(","):. |
|00001e60| 49 6d 61 67 65 20 73 65 | 70 61 72 61 74 6f 72 20 |Image se|parator |
|00001e70| 63 68 61 72 61 63 74 65 | 72 0d 07 a8 3d f2 6f 75 |characte|r...=.ou|
|00001e80| 74 64 28 30 29 3a f2 6f | 75 74 64 28 30 29 3a f4 |td(0):.o|utd(0):.|
|00001e90| 20 4c 65 66 74 2f 72 69 | 67 68 74 20 6f 66 66 73 | Left/ri|ght offs|
|00001ea0| 65 74 73 20 6f 66 20 69 | 6d 61 67 65 20 69 6e 20 |ets of i|mage in |
|00001eb0| 72 61 73 74 65 72 0d 07 | b2 3c f2 6f 75 74 64 28 |raster..|.<.outd(|
|00001ec0| 57 69 64 74 68 25 29 3a | f2 6f 75 74 64 28 48 65 |Width%):|.outd(He|
|00001ed0| 69 67 68 74 25 29 3a f4 | 20 57 69 64 74 68 20 61 |ight%):.| Width a|
|00001ee0| 6e 64 20 68 65 69 67 68 | 74 20 6f 66 20 69 6d 61 |nd heigh|t of ima|
|00001ef0| 67 65 0d 07 bc 35 f2 6f | 75 74 62 28 28 30 3c 3c |ge...5.o|utb((0<<|
|00001f00| 37 29 2b 28 30 3c 3c 36 | 29 2b 43 6f 6c 42 69 74 |7)+(0<<6|)+ColBit|
|00001f10| 73 25 2d 31 29 3a f4 20 | 46 6c 61 67 73 20 2b 20 |s%-1):. |Flags + |
|00001f20| 63 6f 6c 62 69 74 73 0d | 07 c6 2a f2 73 74 64 76 |colbits.|..*.stdv|
|00001f30| 61 72 73 3a f4 20 53 65 | 74 20 75 70 20 73 74 61 |ars:. Se|t up sta|
|00001f40| 6e 64 61 72 64 20 6d 6f | 64 75 6c 65 20 76 61 72 |ndard mo|dule var|
|00001f50| 73 0d 07 d0 2f f2 76 61 | 72 28 22 74 61 62 62 22 |s.../.va|r("tabb"|
|00001f60| 2c 54 61 62 6c 65 25 29 | 3a f4 20 4c 5a 57 20 63 |,Table%)|:. LZW c|
|00001f70| 6f 6d 70 72 65 73 73 69 | 6f 6e 20 74 61 62 6c 65 |ompressi|on table|
|00001f80| 0d 07 da 38 f2 76 61 72 | 28 22 62 6c 73 69 22 2c |...8.var|("blsi",|
|00001f90| 32 35 34 29 3a f4 20 4d | 61 78 69 6d 75 6d 20 73 |254):. M|aximum s|
|00001fa0| 69 7a 65 20 6f 66 20 63 | 6f 75 6e 74 2d 62 79 74 |ize of c|ount-byt|
|00001fb0| 65 20 62 6c 6f 63 6b 73 | 0d 07 e4 3e e7 43 6f 6c |e blocks|...>.Col|
|00001fc0| 42 69 74 73 25 3d 31 20 | 8c 20 f2 6f 75 74 62 28 |Bits%=1 |. .outb(|
|00001fd0| 32 29 20 8b 20 f2 6f 75 | 74 62 28 43 6f 6c 42 69 |2) . .ou|tb(ColBi|
|00001fe0| 74 73 25 29 3a f4 20 4f | 75 74 70 75 74 20 63 6f |ts%):. O|utput co|
|00001ff0| 64 65 73 69 7a 65 0d 07 | ee 1c c8 99 20 22 43 72 |desize..|.... "Cr|
|00002000| 65 61 74 6f 72 5f 47 49 | 46 43 6f 6d 70 72 65 73 |eator_GI|FCompres|
|00002010| 73 22 0d 07 f8 29 f2 6f | 75 74 73 28 22 3b 22 29 |s"...).o|uts(";")|
|00002020| 3a f4 20 47 49 46 20 74 | 65 72 6d 69 6e 61 74 6f |:. GIF t|erminato|
|00002030| 72 20 63 68 61 72 61 63 | 74 65 72 0d 08 02 32 f2 |r charac|ter...2.|
|00002040| 6f 75 74 73 28 22 5a 65 | 72 69 64 61 6a 68 20 43 |outs("Ze|ridajh C|
|00002050| 72 65 61 74 6f 72 20 31 | 2e 30 32 22 29 3a f4 20 |reator 1|.02"):. |
|00002060| 4d 61 6b 65 72 27 73 20 | 73 74 61 6d 70 0d 08 0c |Maker's |stamp...|
|00002070| 22 d9 23 49 6e 3a f4 20 | 43 6c 6f 73 65 20 69 6e |".#In:. |Close in|
|00002080| 70 75 74 20 73 70 72 69 | 74 65 20 66 69 6c 65 0d |put spri|te file.|
|00002090| 08 16 1a d9 23 4f 75 74 | 3a f4 20 43 6c 6f 73 65 |....#Out|:. Close|
|000020a0| 20 47 49 46 20 66 69 6c | 65 0d 08 20 41 c8 99 20 | GIF fil|e.. A.. |
|000020b0| 22 4f 53 5f 43 4c 49 22 | 2c 22 53 65 74 54 79 70 |"OS_CLI"|,"SetTyp|
|000020c0| 65 20 22 2b 4f 75 74 46 | 69 6c 65 24 2b 22 20 36 |e "+OutF|ile$+" 6|
|000020d0| 39 35 22 3a f4 20 46 69 | 6c 65 74 79 70 65 20 61 |95":. Fi|letype a|
|000020e0| 73 20 47 49 46 20 66 69 | 6c 65 0d 08 2a 05 e1 0d |s GIF fi|le..*...|
|000020f0| 08 34 05 20 0d 08 3e 30 | dd f2 6d 61 6b 65 5f 54 |.4. ..>0|..make_T|
|00002100| 49 46 46 28 54 79 70 65 | 25 2c 49 6e 46 69 6c 65 |IFF(Type|%,InFile|
|00002110| 24 2c 4f 75 74 46 69 6c | 65 24 2c f8 20 65 72 72 |$,OutFil|e$,. err|
|00002120| 6f 72 24 29 0d 08 48 27 | f4 20 43 72 65 61 74 65 |or$)..H'|. Create|
|00002130| 73 20 54 49 46 46 20 66 | 69 6c 65 20 4f 75 74 46 |s TIFF f|ile OutF|
|00002140| 69 6c 65 24 20 66 72 6f | 6d 20 3a 0d 08 52 2e f4 |ile$ fro|m :..R..|
|00002150| 20 28 54 79 70 65 25 3d | 26 46 46 39 29 20 66 69 | (Type%=|&FF9) fi|
|00002160| 72 73 74 20 73 70 72 69 | 74 65 20 69 6e 20 73 70 |rst spri|te in sp|
|00002170| 72 69 74 65 20 66 69 6c | 65 0d 08 5c 26 f4 20 28 |rite fil|e..\&. (|
|00002180| 54 79 70 65 25 3d 26 36 | 39 30 29 20 69 6d 61 67 |Type%=&6|90) imag|
|00002190| 65 20 69 6e 20 43 6c 65 | 61 72 20 66 69 6c 65 0d |e in Cle|ar file.|
|000021a0| 08 66 37 f4 20 52 65 74 | 75 72 6e 73 20 65 72 72 |.f7. Ret|urns err|
|000021b0| 6f 72 20 69 6e 20 65 72 | 72 6f 72 24 20 69 66 20 |or in er|ror$ if |
|000021c0| 65 72 72 6f 72 20 6f 63 | 63 75 72 65 64 2c 20 65 |error oc|cured, e|
|000021d0| 6c 73 65 20 22 22 0d 08 | 70 0f ea 20 53 74 72 6f |lse ""..|p.. Stro|
|000021e0| 66 66 25 28 29 0d 08 7a | 07 ea 20 85 0d 08 84 2e |ff%()..z|.. .....|
|000021f0| ee 20 85 20 ea 3a 65 72 | 72 6f 72 24 3d f6 24 2b |. . .:er|ror$=.$+|
|00002200| 22 20 28 63 6f 64 65 20 | 22 2b c3 9e 2b 22 29 22 |" (code |"+..+")"|
|00002210| 3a f2 63 6c 6f 73 65 66 | 3a e1 0d 08 8e 2c e7 49 |:.closef|:....,.I|
|00002220| 6e 46 69 6c 65 24 3d 4f | 75 74 46 69 6c 65 24 20 |nFile$=O|utFile$ |
|00002230| 8c 20 65 72 72 6f 72 24 | 3d 22 21 53 41 4d 45 46 |. error$|="!SAMEF|
|00002240| 49 4c 45 22 3a e1 0d 08 | 98 3d 65 72 72 6f 72 24 |ILE":...|.=error$|
|00002250| 3d 22 22 3a 49 6e 3d 30 | 3a 4f 75 74 3d 30 3a f4 |="":In=0|:Out=0:.|
|00002260| 20 4e 6f 20 65 72 72 6f | 72 73 20 28 79 65 74 29 | No erro|rs (yet)|
|00002270| 2c 20 66 69 6c 65 73 20 | 62 6f 74 68 20 63 6c 6f |, files |both clo|
|00002280| 73 65 64 0d 08 a2 23 49 | 6e 3d 8e 28 49 6e 46 69 |sed...#I|n=.(InFi|
|00002290| 6c 65 24 29 3a f4 20 4f | 70 65 6e 20 69 6e 70 75 |le$):. O|pen inpu|
|000022a0| 74 20 66 69 6c 65 0d 08 | ac 0e c8 8e 20 54 79 70 |t file..|.... Typ|
|000022b0| 65 25 20 ca 0d 08 b6 1b | 20 c9 20 26 46 46 39 20 |e% .....| . &FF9 |
|000022c0| 3a 20 f4 20 53 70 72 69 | 74 65 20 66 69 6c 65 0d |: . Spri|te file.|
|000022d0| 08 c0 27 20 20 f2 72 65 | 61 64 5f 73 70 72 69 74 |..' .re|ad_sprit|
|000022e0| 65 3a f4 20 41 63 63 65 | 73 73 20 73 70 72 69 74 |e:. Acce|ss sprit|
|000022f0| 65 20 69 6e 66 6f 0d 08 | ca 48 20 20 78 65 69 67 |e info..|.H xeig|
|00002300| 25 3d a4 6d 6f 64 65 5f | 76 61 72 28 6d 6f 64 65 |%=.mode_|var(mode|
|00002310| 25 2c 34 29 3a 79 65 69 | 67 25 3d a4 6d 6f 64 65 |%,4):yei|g%=.mode|
|00002320| 5f 76 61 72 28 6d 6f 64 | 65 25 2c 35 29 3a f4 20 |_var(mod|e%,5):. |
|00002330| 58 2f 59 65 69 67 20 66 | 61 63 74 6f 72 73 0d 08 |X/Yeig f|actors..|
|00002340| d4 44 20 20 72 65 73 64 | 69 76 78 25 3d 32 5e 78 |.D resd|ivx%=2^x|
|00002350| 65 69 67 25 3a 72 65 73 | 64 69 76 79 25 3d 32 5e |eig%:res|divy%=2^|
|00002360| 79 65 69 67 25 3a f4 20 | 44 69 76 69 73 6f 72 73 |yeig%:. |Divisors|
|00002370| 20 66 6f 72 20 58 2f 59 | 52 65 73 6f 6c 75 74 69 | for X/Y|Resoluti|
|00002380| 6f 6e 0d 08 de 2d 20 20 | 69 6e 72 6f 77 6c 25 3d |on...- |inrowl%=|
|00002390| 57 6f 72 64 57 25 2a 34 | 3a 52 67 62 3d a3 3a 52 |WordW%*4|:Rgb=.:R|
|000023a0| 65 73 6f 6c 75 74 69 6f | 6e 46 61 63 73 3d b9 0d |esolutio|nFacs=..|
|000023b0| 08 e8 1a 20 c9 20 26 36 | 39 30 20 3a 20 f4 20 43 |... . &6|90 : . C|
|000023c0| 6c 65 61 72 20 66 69 6c | 65 0d 08 f2 25 20 20 f2 |lear fil|e...% .|
|000023d0| 72 65 61 64 5f 63 6c 65 | 61 72 3a f4 20 41 63 63 |read_cle|ar:. Acc|
|000023e0| 65 73 73 20 43 6c 65 61 | 72 20 66 69 6c 65 0d 08 |ess Clea|r file..|
|000023f0| fc 40 20 20 52 67 62 3d | 28 43 6f 6c 42 69 74 73 |.@ Rgb=|(ColBits|
|00002400| 25 3d 32 34 29 3a e7 52 | 67 62 20 8c 20 69 6e 72 |%=24):.R|gb . inr|
|00002410| 6f 77 6c 25 3d 33 2a 57 | 69 64 74 68 25 20 8b 20 |owl%=3*W|idth% . |
|00002420| 69 6e 72 6f 77 6c 25 3d | 57 69 64 74 68 25 0d 09 |inrowl%=|Width%..|
|00002430| 06 28 20 20 52 65 73 6f | 6c 75 74 69 6f 6e 46 61 |.( Reso|lutionFa|
|00002440| 63 73 3d a3 3a f4 20 46 | 61 63 74 6f 72 73 20 75 |cs=.:. F|actors u|
|00002450| 6e 6b 6e 6f 77 6e 0d 09 | 10 05 cb 0d 09 1a 8d e7 |nknown..|........|
|00002460| 43 6f 6c 42 69 74 73 25 | 3e 3d 38 20 8b 20 e7 43 |ColBits%|>=8 . .C|
|00002470| 6f 6c 42 69 74 73 25 3d | 34 20 8b 20 e7 43 6f 6c |olBits%=|4 . .Col|
|00002480| 42 69 74 73 25 3d 32 20 | 8b 20 e7 43 6f 6c 42 69 |Bits%=2 |. .ColBi|
|00002490| 74 73 25 3d 31 20 8b 20 | 65 72 72 6f 72 24 3d 22 |ts%=1 . |error$="|
|000024a0| 49 20 63 61 6e 6e 6f 74 | 20 68 61 6e 64 6c 65 20 |I cannot| handle |
|000024b0| 22 2b c3 43 6f 6c 42 69 | 74 73 25 2b 22 20 62 69 |"+.ColBi|ts%+" bi|
|000024c0| 74 73 20 70 65 72 20 70 | 69 78 65 6c 20 69 6e 70 |ts per p|ixel inp|
|000024d0| 75 74 20 28 6f 6e 6c 79 | 20 31 2c 32 2c 34 2c 3e |ut (only| 1,2,4,>|
|000024e0| 3d 38 29 20 21 22 3a e1 | 0d 09 24 33 74 69 66 66 |=8) !":.|..$3tiff|
|000024f0| 72 6f 77 6c 25 3d 28 57 | 69 64 74 68 25 2a 43 6f |rowl%=(W|idth%*Co|
|00002500| 6c 42 69 74 73 25 2b 37 | 29 81 38 3a f4 20 42 79 |lBits%+7|).8:. By|
|00002510| 74 65 73 20 70 65 72 20 | 72 6f 77 0d 09 2e 48 72 |tes per |row...Hr|
|00002520| 6f 77 73 70 65 72 73 74 | 72 69 70 25 3d 53 74 72 |owsperst|rip%=Str|
|00002530| 69 70 53 69 7a 65 25 20 | 81 20 74 69 66 66 72 6f |ipSize% |. tiffro|
|00002540| 77 6c 25 3a f4 20 4d 61 | 6b 65 20 73 74 72 69 70 |wl%:. Ma|ke strip|
|00002550| 73 20 6f 66 20 27 66 69 | 78 65 64 27 20 6c 65 6e |s of 'fi|xed' len|
|00002560| 67 74 68 0d 09 38 46 e7 | 72 6f 77 73 70 65 72 73 |gth..8F.|rowspers|
|00002570| 74 72 69 70 25 3e 48 65 | 69 67 68 74 25 20 8c 20 |trip%>He|ight% . |
|00002580| 72 6f 77 73 70 65 72 73 | 74 72 69 70 25 3d 48 65 |rowspers|trip%=He|
|00002590| 69 67 68 74 25 3a f4 20 | 48 65 69 67 68 74 20 69 |ight%:. |Height i|
|000025a0| 73 20 6d 61 78 69 6d 75 | 6d 0d 09 42 48 73 74 72 |s maximu|m..BHstr|
|000025b0| 69 70 73 25 3d 28 48 65 | 69 67 68 74 25 2b 72 6f |ips%=(He|ight%+ro|
|000025c0| 77 73 70 65 72 73 74 72 | 69 70 25 2d 31 29 20 81 |wsperstr|ip%-1) .|
|000025d0| 20 72 6f 77 73 70 65 72 | 73 74 72 69 70 25 3a f4 | rowsper|strip%:.|
|000025e0| 20 4e 75 6d 62 65 72 20 | 6f 66 20 73 74 72 69 70 | Number |of strip|
|000025f0| 73 0d 09 4c 16 de 20 53 | 74 72 6f 66 66 25 28 73 |s..L.. S|troff%(s|
|00002600| 74 72 69 70 73 25 29 0d | 09 56 2b 4f 75 74 3d ae |trips%).|.V+Out=.|
|00002610| 28 4f 75 74 46 69 6c 65 | 24 29 3a f4 20 4f 70 65 |(OutFile|$):. Ope|
|00002620| 6e 20 6f 75 74 70 75 74 | 20 54 49 46 46 20 66 69 |n output| TIFF fi|
|00002630| 6c 65 0d 09 60 32 f2 6f | 75 74 73 28 22 49 49 22 |le..`2.o|uts("II"|
|00002640| 29 3a f4 20 4c 6f 77 2d | 74 6f 2d 68 69 67 68 20 |):. Low-|to-high |
|00002650| 62 79 74 65 20 6f 72 64 | 65 72 20 54 49 46 46 20 |byte ord|er TIFF |
|00002660| 66 69 6c 65 0d 09 6a 23 | f2 6f 75 74 64 28 34 32 |file..j#|.outd(42|
|00002670| 29 3a f4 20 54 49 46 46 | 20 76 65 72 73 69 6f 6e |):. TIFF| version|
|00002680| 20 6e 75 6d 62 65 72 0d | 09 74 33 f2 6f 75 74 77 | number.|.t3.outw|
|00002690| 28 38 29 3a f4 20 4f 66 | 66 73 65 74 20 74 6f 20 |(8):. Of|fset to |
|000026a0| 49 6d 61 67 65 20 46 69 | 6c 65 20 44 69 72 65 63 |Image Fi|le Direc|
|000026b0| 74 6f 72 79 20 28 49 46 | 44 29 0d 09 7e 3d e7 52 |tory (IF|D)..~=.R|
|000026c0| 65 73 6f 6c 75 74 69 6f | 6e 46 61 63 73 20 8c 20 |esolutio|nFacs . |
|000026d0| 65 6e 74 72 69 65 73 25 | 3d 31 34 20 8b 20 65 6e |entries%|=14 . en|
|000026e0| 74 72 69 65 73 25 3d 31 | 31 3a f4 20 49 46 44 20 |tries%=1|1:. IFD |
|000026f0| 65 6e 74 72 69 65 73 0d | 09 88 2b f2 6f 75 74 64 |entries.|..+.outd|
|00002700| 28 65 6e 74 72 69 65 73 | 25 29 3a f4 20 4e 75 6d |(entries|%):. Num|
|00002710| 62 65 72 20 6f 66 20 49 | 46 44 20 65 6e 74 72 69 |ber of I|FD entri|
|00002720| 65 73 0d 09 92 3d 69 70 | 74 72 25 3d 31 32 2a 65 |es...=ip|tr%=12*e|
|00002730| 6e 74 72 69 65 73 25 2b | 34 2b 8f 23 4f 75 74 3a |ntries%+|4+.#Out:|
|00002740| f4 20 49 6e 69 74 69 61 | 6c 69 73 65 20 69 6e 66 |. Initia|lise inf|
|00002750| 6f 20 62 6c 6f 63 6b 20 | 70 6f 69 6e 74 65 72 0d |o block |pointer.|
|00002760| 09 9c 33 f2 6f 75 74 49 | 46 44 28 32 35 36 2c 34 |..3.outI|FD(256,4|
|00002770| 2c 31 2c 57 69 64 74 68 | 25 29 3a f4 20 49 6d 61 |,1,Width|%):. Ima|
|00002780| 67 65 20 77 69 64 74 68 | 20 69 6e 20 70 69 78 65 |ge width| in pixe|
|00002790| 6c 73 0d 09 a6 35 f2 6f | 75 74 49 46 44 28 32 35 |ls...5.o|utIFD(25|
|000027a0| 37 2c 34 2c 31 2c 48 65 | 69 67 68 74 25 29 3a f4 |7,4,1,He|ight%):.|
|000027b0| 20 49 6d 61 67 65 20 68 | 65 69 67 68 74 20 69 6e | Image h|eight in|
|000027c0| 20 70 69 78 65 6c 73 0d | 09 b0 4c e7 52 67 62 20 | pixels.|..L.Rgb |
|000027d0| 8c 20 f2 6f 75 74 49 46 | 44 28 32 35 38 2c 33 2c |. .outIF|D(258,3,|
|000027e0| 33 2c 2d 31 29 20 8b 20 | f2 6f 75 74 49 46 44 28 |3,-1) . |.outIFD(|
|000027f0| 32 35 38 2c 33 2c 31 2c | 43 6f 6c 42 69 74 73 25 |258,3,1,|ColBits%|
|00002800| 29 3a f4 20 42 69 74 73 | 20 70 65 72 20 73 61 6d |):. Bits| per sam|
|00002810| 70 6c 65 0d 09 ba 6e e7 | 54 49 46 46 63 6f 6d 70 |ple...n.|TIFFcomp|
|00002820| 3d 31 20 8c 20 f2 6f 75 | 74 49 46 44 28 32 35 39 |=1 . .ou|tIFD(259|
|00002830| 2c 33 2c 31 2c 33 32 37 | 37 33 29 20 8b 20 e7 54 |,3,1,327|73) . .T|
|00002840| 49 46 46 63 6f 6d 70 3d | 32 20 8c 20 f2 6f 75 74 |IFFcomp=|2 . .out|
|00002850| 49 46 44 28 32 35 39 2c | 33 2c 31 2c 35 29 20 8b |IFD(259,|3,1,5) .|
|00002860| 20 f2 6f 75 74 49 46 44 | 28 32 35 39 2c 33 2c 31 | .outIFD|(259,3,1|
|00002870| 2c 31 29 3a f4 20 54 49 | 46 46 63 6f 6d 70 69 6f |,1):. TI|FFcompio|
|00002880| 6e 0d 09 c4 4f e7 52 67 | 62 20 8c 20 f2 6f 75 74 |n...O.Rg|b . .out|
|00002890| 49 46 44 28 32 36 32 2c | 33 2c 31 2c 32 29 20 8b |IFD(262,|3,1,2) .|
|000028a0| 20 f2 6f 75 74 49 46 44 | 28 32 36 32 2c 33 2c 31 | .outIFD|(262,3,1|
|000028b0| 2c 33 29 3a f4 20 50 68 | 6f 74 6f 6d 65 74 72 69 |,3):. Ph|otometri|
|000028c0| 63 20 69 6e 74 65 72 70 | 72 65 74 61 74 69 6f 6e |c interp|retation|
|000028d0| 0d 09 ce 49 f2 6f 75 74 | 49 46 44 28 32 36 36 2c |...I.out|IFD(266,|
|000028e0| 33 2c 31 2c 31 29 3a f4 | 20 46 69 6c 6c 6f 72 64 |3,1,1):.| Fillord|
|000028f0| 65 72 20 28 68 69 67 68 | 20 62 69 74 73 20 66 69 |er (high| bits fi|
|00002900| 72 73 74 2c 20 69 74 27 | 73 20 27 72 65 63 6f 6d |rst, it'|s 'recom|
|00002910| 6d 65 6e 64 65 64 27 21 | 29 0d 09 d8 85 e7 73 74 |mended'!|).....st|
|00002920| 72 69 70 73 25 3e 31 20 | 8c 20 f2 6f 75 74 49 46 |rips%>1 |. .outIF|
|00002930| 44 28 32 37 33 2c 34 2c | 73 74 72 69 70 73 25 2c |D(273,4,|strips%,|
|00002940| 2d 31 29 20 8b 20 6f 66 | 66 53 54 52 25 3d 8f 23 |-1) . of|fSTR%=.#|
|00002950| 4f 75 74 3a f2 6f 75 74 | 49 46 44 28 32 37 33 2c |Out:.out|IFD(273,|
|00002960| 34 2c 73 74 72 69 70 73 | 25 2c 30 29 3a f4 20 53 |4,strips|%,0):. S|
|00002970| 74 72 69 70 20 6f 66 66 | 73 65 74 73 20 28 69 66 |trip off|sets (if|
|00002980| 20 31 20 73 74 72 69 70 | 2c 20 50 54 52 20 61 73 | 1 strip|, PTR as|
|00002990| 20 79 65 74 20 75 6e 6b | 6e 6f 77 6e 21 29 0d 09 | yet unk|nown!)..|
|000029a0| e2 46 e7 52 67 62 20 8c | 20 f2 6f 75 74 49 46 44 |.F.Rgb .| .outIFD|
|000029b0| 28 32 37 37 2c 33 2c 31 | 2c 33 29 20 8b 20 f2 6f |(277,3,1|,3) . .o|
|000029c0| 75 74 49 46 44 28 32 37 | 37 2c 33 2c 31 2c 31 29 |utIFD(27|7,3,1,1)|
|000029d0| 3a f4 20 53 61 6d 70 6c | 65 73 20 70 65 72 20 70 |:. Sampl|es per p|
|000029e0| 69 78 65 6c 0d 09 ec 33 | f2 6f 75 74 49 46 44 28 |ixel...3|.outIFD(|
|000029f0| 32 37 38 2c 34 2c 31 2c | 72 6f 77 73 70 65 72 73 |278,4,1,|rowspers|
|00002a00| 74 72 69 70 25 29 3a f4 | 20 52 6f 77 73 20 70 65 |trip%):.| Rows pe|
|00002a10| 72 20 73 74 72 69 70 0d | 09 f6 5a e7 52 65 73 6f |r strip.|..Z.Reso|
|00002a20| 6c 75 74 69 6f 6e 46 61 | 63 73 20 8c 20 f2 6f 75 |lutionFa|cs . .ou|
|00002a30| 74 49 46 44 28 32 38 32 | 2c 35 2c 31 2c 2d 31 29 |tIFD(282|,5,1,-1)|
|00002a40| 3a f2 6f 75 74 49 46 44 | 28 32 38 33 2c 35 2c 31 |:.outIFD|(283,5,1|
|00002a50| 2c 2d 31 29 3a f4 20 58 | 20 72 65 73 6f 6c 75 74 |,-1):. X| resolut|
|00002a60| 69 6f 6e 2c 20 59 20 72 | 65 73 6f 6c 75 74 69 6f |ion, Y r|esolutio|
|00002a70| 6e 0d 0a 00 34 e7 52 67 | 62 20 8c 20 f2 6f 75 74 |n...4.Rg|b . .out|
|00002a80| 49 46 44 28 32 38 34 2c | 33 2c 31 2c 31 29 3a f4 |IFD(284,|3,1,1):.|
|00002a90| 20 50 6c 61 6e 61 72 20 | 43 6f 6e 66 69 67 75 72 | Planar |Configur|
|00002aa0| 61 74 69 6f 6e 0d 0a 0a | 41 e7 52 65 73 6f 6c 75 |ation...|A.Resolu|
|00002ab0| 74 69 6f 6e 46 61 63 73 | 20 8c 20 f2 6f 75 74 49 |tionFacs| . .outI|
|00002ac0| 46 44 28 32 39 36 2c 33 | 2c 31 2c 32 29 3a f4 20 |FD(296,3|,1,2):. |
|00002ad0| 52 65 73 6f 6c 75 74 69 | 6f 6e 20 75 6e 69 74 20 |Resoluti|on unit |
|00002ae0| 28 69 6e 63 68 29 0d 0a | 14 32 f2 6f 75 74 49 46 |(inch)..|.2.outIF|
|00002af0| 44 28 33 30 35 2c 32 2c | 32 32 2c 2d 31 29 3a f4 |D(305,2,|22,-1):.|
|00002b00| 20 53 6f 66 74 77 61 72 | 65 20 69 64 65 6e 74 69 | Softwar|e identi|
|00002b10| 66 69 63 61 74 69 6f 6e | 0d 0a 1e 34 e7 52 67 62 |fication|...4.Rgb|
|00002b20| 20 8b 20 f2 6f 75 74 49 | 46 44 28 33 32 30 2c 33 | . .outI|FD(320,3|
|00002b30| 2c 33 2a 63 6f 6c 6f 75 | 72 73 25 2c 2d 31 29 3a |,3*colou|rs%,-1):|
|00002b40| f4 20 43 6f 6c 6f 75 72 | 20 6d 61 70 0d 0a 28 1a |. Colour| map..(.|
|00002b50| f2 6f 75 74 77 28 30 29 | 3a f4 20 4e 6f 20 6e 65 |.outw(0)|:. No ne|
|00002b60| 78 74 20 49 46 44 0d 0a | 32 28 f4 20 41 72 72 69 |xt IFD..|2(. Arri|
|00002b70| 76 65 64 20 61 74 20 69 | 6e 66 6f 20 62 6c 6f 63 |ved at i|nfo bloc|
|00002b80| 6b 73 2c 20 77 72 69 74 | 65 20 64 61 74 61 0d 0a |ks, writ|e data..|
|00002b90| 3c 3d e7 52 67 62 20 8c | 20 f2 6f 75 74 64 28 38 |<=.Rgb .| .outd(8|
|00002ba0| 29 3a f2 6f 75 74 64 28 | 38 29 3a f2 6f 75 74 64 |):.outd(|8):.outd|
|00002bb0| 28 38 29 3a f4 20 32 34 | 2d 62 69 74 20 52 47 42 |(8):. 24|-bit RGB|
|00002bc0| 20 3d 20 38 52 2c 38 47 | 2c 38 42 0d 0a 46 42 6f | = 8R,8G|,8B..FBo|
|00002bd0| 66 66 53 54 52 53 25 3d | 8f 23 4f 75 74 3a e7 73 |ffSTRS%=|.#Out:.s|
|00002be0| 74 72 69 70 73 25 3e 31 | 20 8c 20 cf 23 4f 75 74 |trips%>1| . .#Out|
|00002bf0| 3d 73 74 72 69 70 73 25 | 2a 34 2b 8f 23 4f 75 74 |=strips%|*4+.#Out|
|00002c00| 3a f4 20 53 6b 69 70 20 | 6f 66 66 27 73 0d 0a 50 |:. Skip |off's..P|
|00002c10| 63 e7 52 65 73 6f 6c 75 | 74 69 6f 6e 46 61 63 73 |c.Resolu|tionFacs|
|00002c20| 20 8c 20 f2 6f 75 74 77 | 28 31 38 30 29 3a f2 6f | . .outw|(180):.o|
|00002c30| 75 74 77 28 72 65 73 64 | 69 76 78 25 29 3a f2 6f |utw(resd|ivx%):.o|
|00002c40| 75 74 77 28 31 38 30 29 | 3a f2 6f 75 74 77 28 72 |utw(180)|:.outw(r|
|00002c50| 65 73 64 69 76 79 25 29 | 3a f4 20 31 38 30 20 4f |esdivy%)|:. 180 O|
|00002c60| 53 20 75 6e 69 74 73 20 | 70 65 72 20 69 6e 63 68 |S units |per inch|
|00002c70| 0d 0a 5a 41 f2 6f 75 74 | 73 28 22 5a 65 72 69 64 |..ZA.out|s("Zerid|
|00002c80| 61 6a 68 20 43 72 65 61 | 74 6f 72 20 31 2e 30 32 |ajh Crea|tor 1.02|
|00002c90| 22 29 3a f2 6f 75 74 62 | 28 30 29 3a f4 20 53 6f |"):.outb|(0):. So|
|00002ca0| 66 74 77 61 72 65 20 28 | 69 2e 65 2e 20 6d 65 21 |ftware (|i.e. me!|
|00002cb0| 29 0d 0a 64 73 e7 52 67 | 62 20 8b 20 e3 20 72 67 |)..ds.Rg|b . . rg|
|00002cc0| 62 25 3d 31 36 20 b8 20 | 30 20 88 20 2d 38 3a e3 |b%=16 . |0 . -8:.|
|00002cd0| 20 63 25 3d 30 20 b8 20 | 63 6f 6c 6f 75 72 73 25 | c%=0 . |colours%|
|00002ce0| 2d 31 3a 76 25 3d 28 50 | 61 6c 65 74 74 65 25 28 |-1:v%=(P|alette%(|
|00002cf0| 63 25 29 3e 3e 3e 72 67 | 62 25 29 80 26 46 46 3a |c%)>>>rg|b%).&FF:|
|00002d00| f2 6f 75 74 64 28 76 25 | 3c 3c 38 29 3a ed 3a ed |.outd(v%|<<8):.:.|
|00002d10| 3a f4 20 4f 75 74 70 75 | 74 20 63 6f 6c 6f 75 72 |:. Outpu|t colour|
|00002d20| 20 6d 61 70 0d 0a 6e 83 | 73 72 6f 77 25 3d 30 3a | map..n.|srow%=0:|
|00002d30| 73 74 72 69 70 25 3d 30 | 3a 69 72 6f 77 25 3d 30 |strip%=0|:irow%=0|
|00002d40| 3a 73 74 72 69 70 73 69 | 7a 65 25 3d 72 6f 77 73 |:stripsi|ze%=rows|
|00002d50| 70 65 72 73 74 72 69 70 | 25 2a 74 69 66 66 72 6f |perstrip|%*tiffro|
|00002d60| 77 6c 25 3a 69 6e 70 74 | 72 25 3d 49 6e 70 75 74 |wl%:inpt|r%=Input|
|00002d70| 25 3a 6f 75 74 70 74 72 | 25 3d 4f 75 74 70 75 74 |%:outptr|%=Output|
|00002d80| 25 3a 70 74 72 6f 75 74 | 25 3d 8f 23 4f 75 74 3a |%:ptrout|%=.#Out:|
|00002d90| 69 6e 69 6e 25 3d 30 3a | 69 6e 6f 75 74 25 3d 30 |inin%=0:|inout%=0|
|00002da0| 3a f4 20 49 6e 69 74 0d | 0a 78 5f e7 54 49 46 46 |:. Init.|.x_.TIFF|
|00002db0| 63 6f 6d 70 3d 30 20 8c | 20 63 68 75 6e 6b 25 3d |comp=0 .| chunk%=|
|00002dc0| 74 69 66 66 72 6f 77 6c | 25 20 8b 20 e7 54 49 46 |tiffrowl|% . .TIF|
|00002dd0| 46 63 6f 6d 70 3d 31 20 | 8c 20 63 68 75 6e 6b 25 |Fcomp=1 |. chunk%|
|00002de0| 3d 31 2e 35 2a 74 69 66 | 66 72 6f 77 6c 25 20 8b |=1.5*tif|frowl% .|
|00002df0| 20 63 68 75 6e 6b 25 3d | 31 2e 35 2a 73 74 72 69 | chunk%=|1.5*stri|
|00002e00| 70 73 69 7a 65 25 0d 0a | 82 2a f2 73 74 64 76 61 |psize%..|.*.stdva|
|00002e10| 72 73 3a f4 20 53 65 74 | 20 75 70 20 73 74 61 6e |rs:. Set| up stan|
|00002e20| 64 61 72 64 20 6d 6f 64 | 75 6c 65 20 76 61 72 73 |dard mod|ule vars|
|00002e30| 0d 0a 8c 3d e7 54 49 46 | 46 63 6f 6d 70 3d 32 20 |...=.TIF|Fcomp=2 |
|00002e40| 8c 20 f2 76 61 72 28 22 | 74 61 62 62 22 2c 54 61 |. .var("|tabb",Ta|
|00002e50| 62 6c 65 25 29 3a f4 20 | 4c 5a 57 20 63 6f 6d 70 |ble%):. |LZW comp|
|00002e60| 72 65 73 73 69 6f 6e 20 | 74 61 62 6c 65 0d 0a 96 |ression |table...|
|00002e70| 2f f2 76 61 72 28 22 74 | 72 6f 77 22 2c 74 69 66 |/.var("t|row",tif|
|00002e80| 66 72 6f 77 6c 25 29 3a | f4 20 4c 65 6e 67 74 68 |frowl%):|. Length|
|00002e90| 20 6f 66 20 54 49 46 46 | 20 72 6f 77 0d 0a a0 30 | of TIFF| row...0|
|00002ea0| f2 76 61 72 28 22 74 73 | 74 72 22 2c 73 74 72 69 |.var("ts|tr",stri|
|00002eb0| 70 73 69 7a 65 25 29 3a | f4 20 53 69 7a 65 20 6f |psize%):|. Size o|
|00002ec0| 66 20 54 49 46 46 20 73 | 74 72 69 70 0d 0a aa 80 |f TIFF s|trip....|
|00002ed0| e7 54 49 46 46 63 6f 6d | 70 3d 32 20 8c 20 f2 76 |.TIFFcom|p=2 . .v|
|00002ee0| 61 72 28 22 69 72 6f 77 | 22 2c 28 49 6e 70 75 74 |ar("irow|",(Input|
|00002ef0| 73 69 7a 65 25 20 81 20 | 73 74 72 69 70 73 69 7a |size% . |stripsiz|
|00002f00| 65 25 29 2a 72 6f 77 73 | 70 65 72 73 74 72 69 70 |e%)*rows|perstrip|
|00002f10| 25 29 20 8b 20 f2 76 61 | 72 28 22 69 72 6f 77 22 |%) . .va|r("irow"|
|00002f20| 2c 49 6e 70 75 74 73 69 | 7a 65 25 20 81 20 74 69 |,Inputsi|ze% . ti|
|00002f30| 66 66 72 6f 77 6c 25 29 | 3a f4 20 49 6e 70 75 74 |ffrowl%)|:. Input|
|00002f40| 20 62 75 66 66 65 72 20 | 72 6f 77 73 0d 0a b4 41 | buffer |rows...A|
|00002f50| f2 76 61 72 28 22 77 6f | 72 73 22 2c 63 68 75 6e |.var("wo|rs",chun|
|00002f60| 6b 25 29 3a f4 20 57 6f | 72 73 74 2d 63 61 73 65 |k%):. Wo|rst-case|
|00002f70| 20 63 6f 6d 70 72 65 73 | 73 65 64 20 6c 69 6e 65 | compres|sed line|
|00002f80| 2f 73 74 72 69 70 20 6c | 65 6e 67 74 68 0d 0a be |/strip l|ength...|
|00002f90| 32 f2 76 61 72 28 22 6d | 61 70 31 22 2c 4d 61 70 |2.var("m|ap1",Map|
|00002fa0| 31 25 29 3a f4 20 54 49 | 46 46 20 70 69 78 65 6c |1%):. TI|FF pixel|
|00002fb0| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 20 6d 61 70 0d | convers|ion map.|
|00002fc0| 0a c8 2c f2 76 61 72 28 | 22 63 6f 6d 70 22 2c 54 |..,.var(|"comp",T|
|00002fd0| 49 46 46 63 6f 6d 70 29 | 3a f4 20 54 49 46 46 20 |IFFcomp)|:. TIFF |
|00002fe0| 63 6f 6d 70 72 65 73 73 | 69 6f 6e 0d 0a d2 40 f2 |compress|ion...@.|
|00002ff0| 76 61 72 28 22 74 61 62 | 62 22 2c 54 61 62 6c 65 |var("tab|b",Table|
|00003000| 25 29 3a f4 20 46 72 65 | 65 20 73 70 61 63 65 20 |%):. Fre|e space |
|00003010| 66 6f 72 20 63 6f 6d 70 | 72 65 73 73 69 6f 6e 20 |for comp|ression |
|00003020| 74 61 62 6c 65 73 20 65 | 74 63 2e 0d 0a dc 2f f2 |tables e|tc..../.|
|00003030| 76 61 72 28 22 74 72 70 | 73 22 2c 72 6f 77 73 70 |var("trp|s",rowsp|
|00003040| 65 72 73 74 72 69 70 25 | 29 3a f4 20 52 6f 77 73 |erstrip%|):. Rows|
|00003050| 20 70 65 72 20 73 74 72 | 69 70 0d 0a e6 2f f2 76 | per str|ip.../.v|
|00003060| 61 72 28 22 73 74 72 62 | 22 2c 53 74 72 6f 66 66 |ar("strb|",Stroff|
|00003070| 73 25 29 3a f4 20 53 74 | 72 69 70 20 6f 66 66 73 |s%):. St|rip offs|
|00003080| 65 74 20 62 75 66 66 65 | 72 0d 0a f0 1d c8 99 20 |et buffe|r...... |
|00003090| 22 43 72 65 61 74 6f 72 | 5f 54 49 46 46 43 6f 6d |"Creator|_TIFFCom|
|000030a0| 70 72 65 73 73 22 0d 0a | fa bf 64 25 3d 8f 23 4f |press"..|..d%=.#O|
|000030b0| 75 74 3a e7 73 74 72 69 | 70 73 25 3e 31 20 8c 20 |ut:.stri|ps%>1 . |
|000030c0| cf 23 4f 75 74 3d 6f 66 | 66 53 54 52 53 25 3a 73 |.#Out=of|fSTRS%:s|
|000030d0| 6f 25 3d 53 74 72 6f 66 | 66 73 25 3a e3 20 73 25 |o%=Strof|fs%:. s%|
|000030e0| 3d 31 20 b8 20 73 74 72 | 69 70 73 25 3a f2 6f 75 |=1 . str|ips%:.ou|
|000030f0| 74 77 28 21 73 6f 25 29 | 3a 73 6f 25 2b 3d 34 3a |tw(!so%)|:so%+=4:|
|00003100| ed 3a cf 23 4f 75 74 3d | 64 25 20 8b 20 cf 23 4f |.:.#Out=|d% . .#O|
|00003110| 75 74 3d 6f 66 66 53 54 | 52 25 3a f2 6f 75 74 49 |ut=offST|R%:.outI|
|00003120| 46 44 28 32 37 33 2c 34 | 2c 73 74 72 69 70 73 25 |FD(273,4|,strips%|
|00003130| 2c 21 53 74 72 6f 66 66 | 73 25 29 3a cf 23 4f 75 |,!Stroff|s%):.#Ou|
|00003140| 74 3d 64 25 3a f4 20 57 | 72 69 74 65 20 73 74 72 |t=d%:. W|rite str|
|00003150| 69 70 20 6f 66 66 73 65 | 74 73 20 28 66 69 6e 61 |ip offse|ts (fina|
|00003160| 6c 6c 79 21 29 0d 0b 04 | 1b d9 23 49 6e 3a f4 20 |lly!)...|..#In:. |
|00003170| 43 6c 6f 73 65 20 69 6e | 70 75 74 20 66 69 6c 65 |Close in|put file|
|00003180| 0d 0b 0e 1b d9 23 4f 75 | 74 3a f4 20 43 6c 6f 73 |.....#Ou|t:. Clos|
|00003190| 65 20 54 49 46 46 20 66 | 69 6c 65 0d 0b 18 42 c8 |e TIFF f|ile...B.|
|000031a0| 99 20 22 4f 53 5f 43 4c | 49 22 2c 22 53 65 74 54 |. "OS_CL|I","SetT|
|000031b0| 79 70 65 20 22 2b 4f 75 | 74 46 69 6c 65 24 2b 22 |ype "+Ou|tFile$+"|
|000031c0| 20 46 46 30 22 3a f4 20 | 46 69 6c 65 74 79 70 65 | FF0":. |Filetype|
|000031d0| 20 61 73 20 54 49 46 46 | 20 66 69 6c 65 0d 0b 22 | as TIFF| file.."|
|000031e0| 05 e1 0d 0b 2c 05 20 0d | 0b 36 11 dd a4 69 70 74 |....,. .|.6...ipt|
|000031f0| 72 28 72 6f 6f 6d 25 29 | 0d 0b 40 32 f4 20 52 65 |r(room%)|..@2. Re|
|00003200| 74 75 72 6e 73 20 66 69 | 6c 65 20 70 6f 69 6e 74 |turns fi|le point|
|00003210| 65 72 20 74 6f 20 62 6c | 6f 63 6b 20 6f 66 20 72 |er to bl|ock of r|
|00003220| 6f 6f 6d 25 20 62 79 74 | 65 73 0d 0b 4a 1d 69 70 |oom% byt|es..J.ip|
|00003230| 74 72 25 2b 3d 72 6f 6f | 6d 25 3a 3d 69 70 74 72 |tr%+=roo|m%:=iptr|
|00003240| 25 2d 72 6f 6f 6d 25 0d | 0b 54 05 20 0d 0b 5e 27 |%-room%.|.T. ..^'|
|00003250| dd f2 6f 75 74 49 46 44 | 28 74 61 67 25 2c 74 79 |..outIFD|(tag%,ty|
|00003260| 70 65 25 2c 6c 65 6e 67 | 74 68 25 2c 76 61 6c 75 |pe%,leng|th%,valu|
|00003270| 65 25 29 0d 0b 68 22 f4 | 20 4f 75 74 70 75 74 73 |e%)..h".| Outputs|
|00003280| 20 49 46 44 20 65 6e 74 | 72 79 20 74 6f 20 6f 75 | IFD ent|ry to ou|
|00003290| 74 66 69 6c 65 0d 0b 72 | 0c ea 20 62 79 74 65 73 |tfile..r|.. bytes|
|000032a0| 25 0d 0b 7c 30 62 79 74 | 65 73 25 3d bb 28 c1 22 |%..|0byt|es%=.(."|
|000032b0| 31 31 32 34 38 22 2c 74 | 79 70 65 25 2c 31 29 29 |11248",t|ype%,1))|
|000032c0| 3a f4 20 42 79 74 65 73 | 20 70 65 72 20 74 79 70 |:. Bytes| per typ|
|000032d0| 65 0d 0b 86 40 e7 76 61 | 6c 75 65 25 3d 2d 31 20 |e...@.va|lue%=-1 |
|000032e0| 8c 20 76 61 6c 75 65 25 | 3d a4 69 70 74 72 28 62 |. value%|=.iptr(b|
|000032f0| 79 74 65 73 25 2a 6c 65 | 6e 67 74 68 25 29 3a f4 |ytes%*le|ngth%):.|
|00003300| 20 50 6f 69 6e 74 65 72 | 20 74 6f 20 62 6c 6f 63 | Pointer| to bloc|
|00003310| 6b 0d 0b 90 15 f2 6f 75 | 74 64 28 74 61 67 25 29 |k.....ou|td(tag%)|
|00003320| 3a f4 20 54 61 67 0d 0b | 9a 1d f2 6f 75 74 64 28 |:. Tag..|...outd(|
|00003330| 74 79 70 65 25 29 3a f4 | 20 46 69 65 6c 64 20 74 |type%):.| Field t|
|00003340| 79 70 65 0d 0b a4 20 f2 | 6f 75 74 77 28 6c 65 6e |ype... .|outw(len|
|00003350| 67 74 68 25 29 3a f4 20 | 46 69 65 6c 64 20 63 6f |gth%):. |Field co|
|00003360| 75 6e 74 0d 0b ae 2b f2 | 6f 75 74 77 28 76 61 6c |unt...+.|outw(val|
|00003370| 75 65 25 29 3a f4 20 56 | 61 6c 75 65 20 28 6f 66 |ue%):. V|alue (of|
|00003380| 66 73 65 74 20 6f 72 20 | 76 61 6c 75 65 29 0d 0b |fset or |value)..|
|00003390| b8 05 e1 0d 0b c2 05 20 | 0d 0b cc 2f dd f2 6d 61 |....... |.../..ma|
|000033a0| 6b 65 5f 41 49 4d 28 54 | 79 70 65 25 2c 49 6e 46 |ke_AIM(T|ype%,InF|
|000033b0| 69 6c 65 24 2c 4f 75 74 | 46 69 6c 65 24 2c f8 20 |ile$,Out|File$,. |
|000033c0| 65 72 72 6f 72 24 29 0d | 0b d6 26 f4 20 43 72 65 |error$).|..&. Cre|
|000033d0| 61 74 65 73 20 41 49 4d | 20 66 69 6c 65 20 4f 75 |ates AIM| file Ou|
|000033e0| 74 46 69 6c 65 24 20 66 | 72 6f 6d 20 3a 0d 0b e0 |tFile$ f|rom :...|
|000033f0| 2e f4 20 28 54 79 70 65 | 25 3d 26 46 46 39 29 20 |.. (Type|%=&FF9) |
|00003400| 66 69 72 73 74 20 73 70 | 72 69 74 65 20 69 6e 20 |first sp|rite in |
|00003410| 73 70 72 69 74 65 20 66 | 69 6c 65 0d 0b ea 26 f4 |sprite f|ile...&.|
|00003420| 20 28 54 79 70 65 25 3d | 26 36 39 30 29 20 69 6d | (Type%=|&690) im|
|00003430| 61 67 65 20 69 6e 20 43 | 6c 65 61 72 20 66 69 6c |age in C|lear fil|
|00003440| 65 0d 0b f4 37 f4 20 52 | 65 74 75 72 6e 73 20 65 |e...7. R|eturns e|
|00003450| 72 72 6f 72 20 69 6e 20 | 65 72 72 6f 72 24 20 69 |rror in |error$ i|
|00003460| 66 20 65 72 72 6f 72 20 | 6f 63 63 75 72 65 64 2c |f error |occured,|
|00003470| 20 65 6c 73 65 20 22 22 | 0d 0b fe 07 ea 20 85 0d | else ""|..... ..|
|00003480| 0c 08 2e ee 20 85 20 ea | 3a 65 72 72 6f 72 24 3d |.... . .|:error$=|
|00003490| f6 24 2b 22 20 28 63 6f | 64 65 20 22 2b c3 9e 2b |.$+" (co|de "+..+|
|000034a0| 22 29 22 3a f2 63 6c 6f | 73 65 66 3a e1 0d 0c 12 |")":.clo|sef:....|
|000034b0| 2c e7 49 6e 46 69 6c 65 | 24 3d 4f 75 74 46 69 6c |,.InFile|$=OutFil|
|000034c0| 65 24 20 8c 20 65 72 72 | 6f 72 24 3d 22 21 53 41 |e$ . err|or$="!SA|
|000034d0| 4d 45 46 49 4c 45 22 3a | e1 0d 0c 1c 3d 65 72 72 |MEFILE":|....=err|
|000034e0| 6f 72 24 3d 22 22 3a 49 | 6e 3d 30 3a 4f 75 74 3d |or$="":I|n=0:Out=|
|000034f0| 30 3a f4 20 4e 6f 20 65 | 72 72 6f 72 73 20 28 79 |0:. No e|rrors (y|
|00003500| 65 74 29 2c 20 66 69 6c | 65 73 20 62 6f 74 68 20 |et), fil|es both |
|00003510| 63 6c 6f 73 65 64 0d 0c | 26 23 49 6e 3d 8e 28 49 |closed..|&#In=.(I|
|00003520| 6e 46 69 6c 65 24 29 3a | f4 20 4f 70 65 6e 20 69 |nFile$):|. Open i|
|00003530| 6e 70 75 74 20 66 69 6c | 65 0d 0c 30 0e c8 8e 20 |nput fil|e..0... |
|00003540| 54 79 70 65 25 20 ca 0d | 0c 3a 1b 20 c9 20 26 46 |Type% ..|.:. . &F|
|00003550| 46 39 20 3a 20 f4 20 53 | 70 72 69 74 65 20 66 69 |F9 : . S|prite fi|
|00003560| 6c 65 0d 0c 44 27 20 20 | f2 72 65 61 64 5f 73 70 |le..D' |.read_sp|
|00003570| 72 69 74 65 3a f4 20 41 | 63 63 65 73 73 20 73 70 |rite:. A|ccess sp|
|00003580| 72 69 74 65 20 69 6e 66 | 6f 0d 0c 4e 4d 20 20 e7 |rite inf|o..NM .|
|00003590| 57 69 64 74 68 25 3d 32 | 35 36 20 8c 20 e7 48 65 |Width%=2|56 . .He|
|000035a0| 69 67 68 74 25 3d 32 35 | 36 20 8b 20 65 72 72 6f |ight%=25|6 . erro|
|000035b0| 72 24 3d 22 53 70 72 69 | 74 65 20 6d 75 73 74 20 |r$="Spri|te must |
|000035c0| 62 65 20 32 35 36 78 32 | 35 36 20 70 69 78 65 6c |be 256x2|56 pixel|
|000035d0| 73 20 21 22 3a e1 0d 0c | 58 16 20 20 69 6e 72 6f |s !":...|X. inro|
|000035e0| 77 6c 25 3d 57 6f 72 64 | 57 25 2a 34 0d 0c 62 1a |wl%=Word|W%*4..b.|
|000035f0| 20 c9 20 26 36 39 30 20 | 3a 20 f4 20 43 6c 65 61 | . &690 |: . Clea|
|00003600| 72 20 66 69 6c 65 0d 0c | 6c 25 20 20 f2 72 65 61 |r file..|l% .rea|
|00003610| 64 5f 63 6c 65 61 72 3a | f4 20 41 63 63 65 73 73 |d_clear:|. Access|
|00003620| 20 43 6c 65 61 72 20 66 | 69 6c 65 0d 0c 76 51 20 | Clear f|ile..vQ |
|00003630| 20 e7 57 69 64 74 68 25 | 3d 32 35 36 20 8c 20 e7 | .Width%|=256 . .|
|00003640| 48 65 69 67 68 74 25 3d | 32 35 36 20 8b 20 65 72 |Height%=|256 . er|
|00003650| 72 6f 72 24 3d 22 43 6c | 65 61 72 20 66 69 6c 65 |ror$="Cl|ear file|
|00003660| 20 6d 75 73 74 20 62 65 | 20 32 35 36 78 32 35 36 | must be| 256x256|
|00003670| 20 70 69 78 65 6c 73 20 | 21 22 3a e1 0d 0c 80 36 | pixels |!":....6|
|00003680| 20 20 e7 43 6f 6c 42 69 | 74 73 25 3c 3d 38 20 8c | .ColBi|ts%<=8 .|
|00003690| 20 69 6e 72 6f 77 6c 25 | 3d 57 69 64 74 68 25 20 | inrowl%|=Width% |
|000036a0| 8b 20 69 6e 72 6f 77 6c | 25 3d 33 2a 57 69 64 74 |. inrowl|%=3*Widt|
|000036b0| 68 25 0d 0c 8a 05 cb 0d | 0c 94 2a 4f 75 74 3d ae |h%......|..*Out=.|
|000036c0| 28 4f 75 74 46 69 6c 65 | 24 29 3a f4 20 4f 70 65 |(OutFile|$):. Ope|
|000036d0| 6e 20 6f 75 74 70 75 74 | 20 41 49 4d 20 66 69 6c |n output| AIM fil|
|000036e0| 65 0d 0c 9e 2a f2 73 74 | 64 76 61 72 73 3a f4 20 |e...*.st|dvars:. |
|000036f0| 53 65 74 20 75 70 20 73 | 74 61 6e 64 61 72 64 20 |Set up s|tandard |
|00003700| 6d 6f 64 75 6c 65 20 76 | 61 72 73 0d 0c a8 35 f2 |module v|ars...5.|
|00003710| 76 61 72 28 22 6d 61 70 | 31 22 2c 4d 61 70 31 25 |var("map|1",Map1%|
|00003720| 29 3a f4 20 50 69 78 65 | 6c 20 76 61 6c 75 65 20 |):. Pixe|l value |
|00003730| 74 6f 20 67 72 65 79 76 | 61 6c 75 65 20 6d 61 70 |to greyv|alue map|
|00003740| 0d 0c b2 ca e7 43 6f 6c | 42 69 74 73 25 3c 3d 38 |.....Col|Bits%<=8|
|00003750| 20 8c 20 72 77 25 3d 33 | 30 38 3a 67 77 25 3d 36 | . rw%=3|08:gw%=6|
|00003760| 30 30 3a 62 77 25 3d 31 | 31 36 3a e3 20 63 25 3d |00:bw%=1|16:. c%=|
|00003770| 30 20 b8 20 63 6f 6c 6f | 75 72 73 25 2d 31 3a 70 |0 . colo|urs%-1:p|
|00003780| 25 3d 50 61 6c 65 74 74 | 65 25 28 63 25 29 3a 72 |%=Palett|e%(c%):r|
|00003790| 25 3d 28 70 25 3e 3e 31 | 36 29 80 26 46 46 3a 67 |%=(p%>>1|6).&FF:g|
|000037a0| 25 3d 28 70 25 3e 3e 38 | 29 80 26 46 46 3a 62 25 |%=(p%>>8|).&FF:b%|
|000037b0| 3d 70 25 80 26 46 46 3a | 4d 61 70 31 25 3f 63 25 |=p%.&FF:|Map1%?c%|
|000037c0| 3d 28 72 25 2a 72 77 25 | 2b 67 25 2a 67 77 25 2b |=(r%*rw%|+g%*gw%+|
|000037d0| 62 25 2a 62 77 25 29 3e | 3e 31 30 3a ed 3a f2 76 |b%*bw%)>|>10:.:.v|
|000037e0| 61 72 28 22 6d 61 70 31 | 22 2c 4d 61 70 31 25 29 |ar("map1|",Map1%)|
|000037f0| 3a f4 20 43 61 6c 63 75 | 6c 61 74 65 20 67 72 65 |:. Calcu|late gre|
|00003800| 79 76 61 6c 75 65 20 6d | 61 70 0d 0c bc 46 f2 76 |yvalue m|ap...F.v|
|00003810| 61 72 28 22 6f 72 6f 77 | 22 2c 4f 75 74 70 75 74 |ar("orow|",Output|
|00003820| 73 69 7a 65 25 20 81 20 | 57 69 64 74 68 25 29 3a |size% . |Width%):|
|00003830| f4 20 52 6f 77 73 20 74 | 68 61 74 20 66 69 74 20 |. Rows t|hat fit |
|00003840| 69 6e 20 6f 75 74 70 75 | 74 20 62 75 66 66 65 72 |in outpu|t buffer|
|00003850| 0d 0c c6 1b c8 99 20 22 | 43 72 65 61 74 6f 72 5f |...... "|Creator_|
|00003860| 41 49 4d 43 6f 6e 76 65 | 72 74 22 0d 0c d0 1b d9 |AIMConve|rt".....|
|00003870| 23 49 6e 3a f4 20 43 6c | 6f 73 65 20 69 6e 70 75 |#In:. Cl|ose inpu|
|00003880| 74 20 66 69 6c 65 0d 0c | da 1a d9 23 4f 75 74 3a |t file..|...#Out:|
|00003890| f4 20 43 6c 6f 73 65 20 | 41 49 4d 20 66 69 6c 65 |. Close |AIM file|
|000038a0| 0d 0c e4 41 c8 99 20 22 | 4f 53 5f 43 4c 49 22 2c |...A.. "|OS_CLI",|
|000038b0| 22 53 65 74 54 79 70 65 | 20 22 2b 4f 75 74 46 69 |"SetType| "+OutFi|
|000038c0| 6c 65 24 2b 22 20 30 30 | 34 22 3a f4 20 46 69 6c |le$+" 00|4":. Fil|
|000038d0| 65 74 79 70 65 20 61 73 | 20 41 49 4d 20 66 69 6c |etype as| AIM fil|
|000038e0| 65 0d 0c ee 05 e1 0d 0c | f8 04 0d 0d 02 0c dd f2 |e.......|........|
|000038f0| 63 6c 6f 73 65 66 0d 0d | 0c 1b f4 20 43 6c 6f 73 |closef..|... Clos|
|00003900| 65 73 20 66 69 6c 65 73 | 20 6f 6e 20 65 72 72 6f |es files| on erro|
|00003910| 72 0d 0d 16 10 e7 49 6e | 3e 30 20 8c 20 d9 23 49 |r.....In|>0 . .#I|
|00003920| 6e 0d 0d 20 12 e7 4f 75 | 74 3e 30 20 8c 20 d9 23 |n.. ..Ou|t>0 . .#|
|00003930| 4f 75 74 0d 0d 2a 05 e1 | 0d 0d 34 04 0d 0d 3e 10 |Out..*..|..4...>.|
|00003940| dd f2 6f 75 74 73 28 6f | 75 74 24 29 0d 0d 48 1f |..outs(o|ut$)..H.|
|00003950| f4 20 4f 75 74 70 75 74 | 73 20 73 74 72 69 6e 67 |. Output|s string|
|00003960| 20 74 6f 20 6f 75 74 66 | 69 6c 65 0d 0d 52 08 ea | to outf|ile..R..|
|00003970| 20 63 25 0d 0d 5c 25 e3 | 20 63 25 3d 31 20 b8 20 | c%..\%.| c%=1 . |
|00003980| a9 6f 75 74 24 3a d5 23 | 4f 75 74 2c 97 c1 6f 75 |.out$:.#|Out,..ou|
|00003990| 74 24 2c 63 25 29 3a ed | 0d 0d 66 05 e1 0d 0d 70 |t$,c%):.|..f....p|
|000039a0| 05 20 0d 0d 7a 10 dd f2 | 6f 75 74 77 28 6f 75 74 |. ..z...|outw(out|
|000039b0| 25 29 0d 0d 84 1d f4 20 | 4f 75 74 70 75 74 73 20 |%)..... |Outputs |
|000039c0| 77 6f 72 64 20 74 6f 20 | 6f 75 74 66 69 6c 65 0d |word to |outfile.|
|000039d0| 0d 8e 3d d5 23 4f 75 74 | 2c 6f 75 74 25 3a d5 23 |..=.#Out|,out%:.#|
|000039e0| 4f 75 74 2c 6f 75 74 25 | 3e 3e 3e 38 3a d5 23 4f |Out,out%|>>>8:.#O|
|000039f0| 75 74 2c 6f 75 74 25 3e | 3e 3e 31 36 3a d5 23 4f |ut,out%>|>>16:.#O|
|00003a00| 75 74 2c 6f 75 74 25 3e | 3e 3e 32 34 0d 0d 98 05 |ut,out%>|>>24....|
|00003a10| e1 0d 0d a2 05 20 0d 0d | ac 10 dd f2 6f 75 74 64 |..... ..|....outd|
|00003a20| 28 6f 75 74 25 29 0d 0d | b6 24 f4 20 4f 75 74 70 |(out%)..|.$. Outp|
|00003a30| 75 74 73 20 64 6f 75 62 | 6c 65 2d 62 79 74 65 20 |uts doub|le-byte |
|00003a40| 74 6f 20 6f 75 74 66 69 | 6c 65 0d 0d c0 1c d5 23 |to outfi|le.....#|
|00003a50| 4f 75 74 2c 6f 75 74 25 | 3a d5 23 4f 75 74 2c 6f |Out,out%|:.#Out,o|
|00003a60| 75 74 25 3e 3e 38 0d 0d | ca 05 e1 0d 0d d4 05 20 |ut%>>8..|....... |
|00003a70| 0d 0d de 10 dd f2 6f 75 | 74 62 28 6f 75 74 25 29 |......ou|tb(out%)|
|00003a80| 0d 0d e8 1d f4 20 4f 75 | 74 70 75 74 73 20 62 79 |..... Ou|tputs by|
|00003a90| 74 65 20 74 6f 20 6f 75 | 74 66 69 6c 65 0d 0d f2 |te to ou|tfile...|
|00003aa0| 0e d5 23 4f 75 74 2c 6f | 75 74 25 0d 0d fc 05 e1 |..#Out,o|ut%.....|
|00003ab0| 0d 0e 06 05 20 0d 0e 10 | 17 dd f2 6c 6f 61 64 28 |.... ...|...load(|
|00003ac0| 62 75 66 25 2c 62 79 74 | 65 73 25 29 0d 0e 1a 23 |buf%,byt|es%)...#|
|00003ad0| f4 20 4c 6f 61 64 73 20 | 61 20 63 68 75 6e 6b 20 |. Loads |a chunk |
|00003ae0| 66 72 6f 6d 20 69 6e 70 | 75 74 20 66 69 6c 65 0d |from inp|ut file.|
|00003af0| 0e 24 29 c8 99 20 22 48 | 6f 75 72 67 6c 61 73 73 |.$).. "H|ourglass|
|00003b00| 5f 4c 45 44 73 22 2c 31 | 2c ac 31 3a f4 20 54 6f |_LEDs",1|,.1:. To|
|00003b10| 70 20 4c 45 44 20 6f 6e | 0d 0e 2e 21 c8 99 20 22 |p LED on|...!.. "|
|00003b20| 4f 53 5f 47 42 50 42 22 | 2c 34 2c 49 6e 2c 62 75 |OS_GBPB"|,4,In,bu|
|00003b30| 66 25 2c 62 79 74 65 73 | 25 0d 0e 38 2a c8 99 20 |f%,bytes|%..8*.. |
|00003b40| 22 48 6f 75 72 67 6c 61 | 73 73 5f 4c 45 44 73 22 |"Hourgla|ss_LEDs"|
|00003b50| 2c 30 2c ac 31 3a f4 20 | 54 6f 70 20 4c 45 44 20 |,0,.1:. |Top LED |
|00003b60| 6f 66 66 0d 0e 42 05 e1 | 0d 0e 4c 04 0d 0e 56 17 |off..B..|..L...V.|
|00003b70| dd f2 73 61 76 65 28 62 | 75 66 25 2c 62 79 74 65 |..save(b|uf%,byte|
|00003b80| 73 25 29 0d 0e 60 22 f4 | 20 53 61 76 65 73 20 61 |s%)..`".| Saves a|
|00003b90| 20 63 68 75 6e 6b 20 74 | 6f 20 6f 75 74 70 75 74 | chunk t|o output|
|00003ba0| 20 66 69 6c 65 0d 0e 6a | 2c c8 99 20 22 48 6f 75 | file..j|,.. "Hou|
|00003bb0| 72 67 6c 61 73 73 5f 4c | 45 44 73 22 2c 32 2c ac |rglass_L|EDs",2,.|
|00003bc0| 32 3a f4 20 42 6f 74 74 | 6f 6d 20 4c 45 44 20 6f |2:. Bott|om LED o|
|00003bd0| 6e 0d 0e 74 22 c8 99 20 | 22 4f 53 5f 47 42 50 42 |n..t".. |"OS_GBPB|
|00003be0| 22 2c 32 2c 4f 75 74 2c | 62 75 66 25 2c 62 79 74 |",2,Out,|buf%,byt|
|00003bf0| 65 73 25 0d 0e 7e 2d c8 | 99 20 22 48 6f 75 72 67 |es%..~-.|. "Hourg|
|00003c00| 6c 61 73 73 5f 4c 45 44 | 73 22 2c 30 2c ac 32 3a |lass_LED|s",0,.2:|
|00003c10| f4 20 42 6f 74 74 6f 6d | 20 4c 45 44 20 6f 66 66 |. Bottom| LED off|
|00003c20| 0d 0e 88 05 e1 0d 0e 92 | 04 0d 0e 9c 11 dd f2 72 |........|.......r|
|00003c30| 65 61 64 5f 73 70 72 69 | 74 65 0d 0e a6 25 f4 20 |ead_spri|te...%. |
|00003c40| 52 65 61 64 73 20 73 70 | 72 69 74 65 20 66 69 6c |Reads sp|rite fil|
|00003c50| 65 2c 20 73 65 74 73 20 | 75 70 20 69 6e 66 6f 0d |e, sets |up info.|
|00003c60| 0e b0 36 f2 6c 6f 61 64 | 28 48 65 61 64 25 2b 34 |..6.load|(Head%+4|
|00003c70| 2c 48 65 61 64 73 69 7a | 65 25 29 3a f4 20 52 65 |,Headsiz|e%):. Re|
|00003c80| 61 64 20 73 70 72 69 74 | 65 20 66 69 6c 65 20 68 |ad sprit|e file h|
|00003c90| 65 61 64 65 72 0d 0e ba | 2e 73 70 72 25 3d 48 65 |eader...|.spr%=He|
|00003ca0| 61 64 25 2b 48 65 61 64 | 25 21 38 3a f4 20 53 74 |ad%+Head|%!8:. St|
|00003cb0| 61 72 74 20 6f 66 20 66 | 69 72 73 74 20 73 70 72 |art of f|irst spr|
|00003cc0| 69 74 65 0d 0e c4 67 73 | 70 72 6e 61 6d 65 24 3d |ite...gs|prname$=|
|00003cd0| 22 22 3a 70 74 72 25 3d | 73 70 72 25 2b 34 3a c8 |"":ptr%=|spr%+4:.|
|00003ce0| 95 20 28 3f 70 74 72 25 | 3c 3e 30 29 20 80 20 28 |. (?ptr%|<>0) . (|
|00003cf0| a9 73 70 72 6e 61 6d 65 | 24 3c 31 32 29 3a 73 70 |.sprname|$<12):sp|
|00003d00| 72 6e 61 6d 65 24 2b 3d | bd 28 3f 70 74 72 25 29 |rname$+=|.(?ptr%)|
|00003d10| 3a 70 74 72 25 2b 3d 31 | 3a ce 3a f4 20 53 70 72 |:ptr%+=1|:.:. Spr|
|00003d20| 69 74 65 27 73 20 6e 61 | 6d 65 0d 0e ce 47 57 6f |ite's na|me...GWo|
|00003d30| 72 64 57 25 3d 73 70 72 | 25 21 31 36 2b 31 3a 48 |rdW%=spr|%!16+1:H|
|00003d40| 65 69 67 68 74 25 3d 73 | 70 72 25 21 32 30 2b 31 |eight%=s|pr%!20+1|
|00003d50| 3a f4 20 57 69 64 74 68 | 20 69 6e 20 77 6f 72 64 |:. Width| in word|
|00003d60| 73 2c 20 68 65 69 67 68 | 74 20 69 6e 20 72 6f 77 |s, heigh|t in row|
|00003d70| 73 0d 0e d8 48 46 69 72 | 73 74 42 25 3d 73 70 72 |s...HFir|stB%=spr|
|00003d80| 25 21 32 34 3a 4c 61 73 | 74 42 25 3d 73 70 72 25 |%!24:Las|tB%=spr%|
|00003d90| 21 32 38 3a f4 20 46 69 | 72 73 74 2f 6c 61 73 74 |!28:. Fi|rst/last|
|00003da0| 20 62 69 74 20 75 73 65 | 64 20 69 6e 20 62 6f 72 | bit use|d in bor|
|00003db0| 64 65 72 20 77 6f 72 64 | 73 0d 0e e2 2f 69 6d 61 |der word|s.../ima|
|00003dc0| 67 65 25 3d 73 70 72 25 | 2b 73 70 72 25 21 33 32 |ge%=spr%|+spr%!32|
|00003dd0| 3a f4 20 50 6f 69 6e 74 | 65 72 20 74 6f 20 69 6d |:. Point|er to im|
|00003de0| 61 67 65 20 64 61 74 61 | 0d 0e ec 46 6d 6f 64 65 |age data|...Fmode|
|00003df0| 25 3d 73 70 72 25 21 34 | 30 3a 70 61 6c 65 74 74 |%=spr%!4|0:palett|
|00003e00| 65 25 3d 73 70 72 25 2b | 34 34 3a f4 20 53 70 72 |e%=spr%+|44:. Spr|
|00003e10| 69 74 65 27 73 20 6d 6f | 64 65 2c 20 70 6f 69 6e |ite's mo|de, poin|
|00003e20| 74 65 72 20 74 6f 20 70 | 61 6c 65 74 74 65 0d 0e |ter to p|alette..|
|00003e30| f6 32 43 6f 6c 42 69 74 | 73 25 3d 32 5e a4 6d 6f |.2ColBit|s%=2^.mo|
|00003e40| 64 65 5f 76 61 72 28 6d | 6f 64 65 25 2c 39 29 3a |de_var(m|ode%,9):|
|00003e50| f4 20 42 69 74 73 20 70 | 65 72 20 70 69 78 65 6c |. Bits p|er pixel|
|00003e60| 0d 0f 00 2b 63 6f 6c 6f | 75 72 73 25 3d 32 5e 43 |...+colo|urs%=2^C|
|00003e70| 6f 6c 42 69 74 73 25 3a | f4 20 4e 75 6d 62 65 72 |olBits%:|. Number|
|00003e80| 20 6f 66 20 63 6f 6c 6f | 75 72 73 0d 0f 0a 47 57 | of colo|urs...GW|
|00003e90| 69 64 74 68 25 3d 28 57 | 6f 72 64 57 25 2a 33 32 |idth%=(W|ordW%*32|
|00003ea0| 2d 28 33 31 2d 4c 61 73 | 74 42 25 29 2d 46 69 72 |-(31-Las|tB%)-Fir|
|00003eb0| 73 74 42 25 29 20 81 20 | 43 6f 6c 42 69 74 73 25 |stB%) . |ColBits%|
|00003ec0| 3a f4 20 57 69 64 74 68 | 20 69 6e 20 70 69 78 65 |:. Width| in pixe|
|00003ed0| 6c 73 0d 0f 14 17 e7 69 | 6d 61 67 65 25 3c 3d 70 |ls.....i|mage%<=p|
|00003ee0| 61 6c 65 74 74 65 25 20 | 8c 0d 0f 1e 32 20 f4 20 |alette% |....2 . |
|00003ef0| 53 70 72 69 74 65 20 68 | 61 73 20 6e 6f 20 70 61 |Sprite h|as no pa|
|00003f00| 6c 65 74 74 65 20 3a 20 | 75 73 65 20 64 65 66 61 |lette : |use defa|
|00003f10| 75 6c 74 20 70 61 6c 65 | 74 74 65 0d 0f 28 12 20 |ult pale|tte..(. |
|00003f20| c8 8e 20 63 6f 6c 6f 75 | 72 73 25 20 ca 0d 0f 32 |.. colou|rs% ...2|
|00003f30| c6 20 20 c9 20 32 35 36 | 20 3a 20 e3 20 63 25 3d |. . 256| : . c%=|
|00003f40| 30 20 b8 20 32 35 35 3a | 72 25 3d 28 28 63 25 80 |0 . 255:|r%=((c%.|
|00003f50| 25 30 30 30 31 30 30 30 | 30 29 3e 3e 31 29 2b 28 |%0001000|0)>>1)+(|
|00003f60| 63 25 80 25 30 30 30 30 | 30 31 30 30 29 2b 28 63 |c%.%0000|0100)+(c|
|00003f70| 25 80 25 31 31 29 3a 67 | 25 3d 28 28 63 25 80 25 |%.%11):g|%=((c%.%|
|00003f80| 30 31 31 30 30 30 30 30 | 29 3e 3e 33 29 2b 28 63 |01100000|)>>3)+(c|
|00003f90| 25 80 25 31 31 29 3a 62 | 25 3d 28 28 63 25 80 25 |%.%11):b|%=((c%.%|
|00003fa0| 31 30 30 30 30 30 30 30 | 29 3e 3e 34 29 2b 28 28 |10000000|)>>4)+((|
|00003fb0| 63 25 80 25 30 30 30 30 | 31 30 30 30 29 3e 3e 31 |c%.%0000|1000)>>1|
|00003fc0| 29 2b 28 63 25 80 25 31 | 31 29 3a 50 61 6c 65 74 |)+(c%.%1|1):Palet|
|00003fd0| 74 65 25 28 63 25 29 3d | 28 72 25 3c 3c 32 30 29 |te%(c%)=|(r%<<20)|
|00003fe0| 2b 28 67 25 3c 3c 31 32 | 29 2b 28 62 25 3c 3c 34 |+(g%<<12|)+(b%<<4|
|00003ff0| 29 3a ed 0d 0f 3c 7b 20 | 20 c9 20 31 36 20 3a 20 |):...<{ | . 16 : |
|00004000| 50 61 6c 65 74 74 65 25 | 28 29 3d 30 2c 26 46 30 |Palette%|()=0,&F0|
|00004010| 30 30 30 30 2c 26 46 30 | 30 30 2c 26 46 30 46 30 |0000,&F0|00,&F0F0|
|00004020| 30 30 2c 26 46 30 2c 26 | 46 30 30 30 46 30 2c 26 |00,&F0,&|F000F0,&|
|00004030| 46 30 46 30 2c 26 46 30 | 46 30 46 30 2c 30 2c 26 |F0F0,&F0|F0F0,0,&|
|00004040| 46 30 30 30 30 30 2c 26 | 46 30 30 30 2c 26 46 30 |F00000,&|F000,&F0|
|00004050| 46 30 30 30 2c 26 46 30 | 2c 26 46 30 30 30 46 30 |F000,&F0|,&F000F0|
|00004060| 2c 26 46 30 46 30 2c 26 | 46 30 46 30 46 30 0d 0f |,&F0F0,&|F0F0F0..|
|00004070| 46 30 20 20 c9 20 34 20 | 3a 20 50 61 6c 65 74 74 |F0 . 4 |: Palett|
|00004080| 65 25 28 29 3d 30 2c 26 | 46 30 30 30 30 30 2c 26 |e%()=0,&|F00000,&|
|00004090| 46 30 46 30 30 30 2c 26 | 46 30 46 30 46 30 0d 0f |F0F000,&|F0F0F0..|
|000040a0| 50 20 20 20 c9 20 32 20 | 3a 20 50 61 6c 65 74 74 |P . 2 |: Palett|
|000040b0| 65 25 28 29 3d 30 2c 26 | 46 30 46 30 46 30 0d 0f |e%()=0,&|F0F0F0..|
|000040c0| 5a 06 20 cb 0d 0f 64 21 | cc 20 f4 20 52 65 61 64 |Z. ...d!|. . Read|
|000040d0| 20 73 70 72 69 74 65 27 | 73 20 6f 77 6e 20 70 61 | sprite'|s own pa|
|000040e0| 6c 65 74 74 65 0d 0f 6e | 14 20 e7 63 6f 6c 6f 75 |lette..n|. .colou|
|000040f0| 72 73 25 3c 3d 31 36 20 | 8c 0d 0f 78 23 20 20 f4 |rs%<=16 |...x# .|
|00004100| 20 41 6c 6c 20 70 61 6c | 65 74 74 65 20 65 6e 74 | All pal|ette ent|
|00004110| 72 69 65 73 20 70 72 65 | 73 65 6e 74 0d 0f 82 43 |ries pre|sent...C|
|00004120| 20 20 e3 20 63 25 3d 30 | 20 b8 20 63 6f 6c 6f 75 | . c%=0| . colou|
|00004130| 72 73 25 2d 31 3a 50 61 | 6c 65 74 74 65 25 28 63 |rs%-1:Pa|lette%(c|
|00004140| 25 29 3d a4 70 61 6c 74 | 6f 72 67 62 28 70 61 6c |%)=.palt|orgb(pal|
|00004150| 65 74 74 65 25 21 28 63 | 25 2a 38 29 29 3a ed 0d |ette%!(c|%*8)):..|
|00004160| 0f 8c 42 20 cc 20 f4 20 | 4f 6e 6c 79 20 36 34 20 |..B . . |Only 64 |
|00004170| 70 61 6c 65 74 74 65 20 | 65 6e 74 72 69 65 73 20 |palette |entries |
|00004180| 70 72 65 73 65 6e 74 2c | 20 64 65 64 75 63 65 20 |present,| deduce |
|00004190| 61 6c 6c 20 66 72 6f 6d | 20 66 69 72 73 74 20 31 |all from| first 1|
|000041a0| 36 0d 0f 96 8e 20 20 e3 | 20 63 25 3d 30 20 b8 20 |6.... .| c%=0 . |
|000041b0| 31 35 3a 50 61 6c 65 74 | 74 65 25 28 63 25 29 3d |15:Palet|te%(c%)=|
|000041c0| a4 70 61 6c 74 6f 72 67 | 62 28 70 61 6c 65 74 74 |.paltorg|b(palett|
|000041d0| 65 25 21 28 63 25 2a 38 | 29 29 3a ed 3a e3 20 63 |e%!(c%*8|)):.:. c|
|000041e0| 25 3d 31 36 20 b8 20 32 | 35 35 3a 50 61 6c 65 74 |%=16 . 2|55:Palet|
|000041f0| 74 65 25 28 63 25 29 3d | 50 61 6c 65 74 74 65 25 |te%(c%)=|Palette%|
|00004200| 28 63 25 80 31 35 29 2b | 28 63 25 80 26 38 30 29 |(c%.15)+|(c%.&80)|
|00004210| 2b 28 28 63 25 80 26 36 | 30 29 3c 3c 39 29 2b 28 |+((c%.&6|0)<<9)+(|
|00004220| 28 63 25 80 26 31 30 29 | 3c 3c 31 39 29 3a ed 0d |(c%.&10)|<<19):..|
|00004230| 0f a0 06 20 cd 0d 0f aa | 05 cd 0d 0f b4 2a cf 23 |... ....|.....*.#|
|00004240| 49 6e 3d 69 6d 61 67 65 | 25 2d 48 65 61 64 25 2d |In=image|%-Head%-|
|00004250| 34 3a f4 20 47 6f 20 74 | 6f 20 69 6d 61 67 65 20 |4:. Go t|o image |
|00004260| 64 61 74 61 0d 0f be 40 | f2 76 61 72 28 22 6c 65 |data...@|.var("le|
|00004270| 66 74 22 2c 46 69 72 73 | 74 42 25 29 3a f2 76 61 |ft",Firs|tB%):.va|
|00004280| 72 28 22 72 69 67 68 22 | 2c 4c 61 73 74 42 25 29 |r("righ"|,LastB%)|
|00004290| 3a f2 76 61 72 28 22 77 | 6f 72 64 22 2c 57 6f 72 |:.var("w|ord",Wor|
|000042a0| 64 57 25 29 0d 0f c8 05 | e1 0d 0f d2 04 0d 0f dc |dW%)....|........|
|000042b0| 10 dd f2 72 65 61 64 5f | 63 6c 65 61 72 0d 0f e6 |...read_|clear...|
|000042c0| 24 f4 20 52 65 61 64 73 | 20 43 6c 65 61 72 20 66 |$. Reads| Clear f|
|000042d0| 69 6c 65 2c 20 73 65 74 | 73 20 75 70 20 69 6e 66 |ile, set|s up inf|
|000042e0| 6f 0d 0f f0 33 f2 6c 6f | 61 64 28 48 65 61 64 25 |o...3.lo|ad(Head%|
|000042f0| 2c 48 65 61 64 73 69 7a | 65 25 29 3a f4 20 52 65 |,Headsiz|e%):. Re|
|00004300| 61 64 20 43 6c 65 61 72 | 20 66 69 6c 65 20 68 65 |ad Clear| file he|
|00004310| 61 64 65 72 0d 0f fa 6e | 70 74 72 25 3d 48 65 61 |ader...n|ptr%=Hea|
|00004320| 64 25 3a 6d 61 6b 65 72 | 24 3d 22 22 3a c8 95 20 |d%:maker|$="":.. |
|00004330| 3f 70 74 72 25 3e 3d 97 | 22 20 22 3a 6d 61 6b 65 |?ptr%>=.|" ":make|
|00004340| 72 24 2b 3d bd 28 3f 70 | 74 72 25 29 3a 70 74 72 |r$+=.(?p|tr%):ptr|
|00004350| 25 2b 3d 31 3a ce 3a 76 | 65 72 73 69 6f 6e 25 3d |%+=1:.:v|ersion%=|
|00004360| 70 74 72 25 21 31 3a 70 | 74 72 25 2b 3d 35 3a f4 |ptr%!1:p|tr%+=5:.|
|00004370| 20 4d 61 6b 65 72 20 61 | 6e 64 20 76 65 72 73 69 | Maker a|nd versi|
|00004380| 6f 6e 0d 10 04 45 57 69 | 64 74 68 25 3d 21 70 74 |on...EWi|dth%=!pt|
|00004390| 72 25 3a 48 65 69 67 68 | 74 25 3d 70 74 72 25 21 |r%:Heigh|t%=ptr%!|
|000043a0| 34 3a 43 6f 6c 42 69 74 | 73 25 3d 70 74 72 25 21 |4:ColBit|s%=ptr%!|
|000043b0| 38 3a 70 74 72 25 2b 3d | 31 32 3a f4 20 52 65 73 |8:ptr%+=|12:. Res|
|000043c0| 6f 6c 75 74 69 6f 6e 0d | 10 0e 11 e7 43 6f 6c 42 |olution.|....ColB|
|000043d0| 69 74 73 25 3e 38 20 8c | 0d 10 18 24 20 43 6f 6c |its%>8 .|...$ Col|
|000043e0| 42 69 74 73 25 3d 32 34 | 3a 63 6f 6c 6f 75 72 73 |Bits%=24|:colours|
|000043f0| 25 3d 32 5e 43 6f 6c 42 | 69 74 73 25 0d 10 22 76 |%=2^ColB|its%.."v|
|00004400| cc 20 63 6f 6c 6f 75 72 | 73 25 3d 32 5e 43 6f 6c |. colour|s%=2^Col|
|00004410| 42 69 74 73 25 3a e3 20 | 63 25 3d 30 20 b8 20 63 |Bits%:. |c%=0 . c|
|00004420| 6f 6c 6f 75 72 73 25 2d | 31 3a 50 61 6c 65 74 74 |olours%-|1:Palett|
|00004430| 65 25 28 63 25 29 3d 28 | 28 3f 70 74 72 25 29 3c |e%(c%)=(|(?ptr%)<|
|00004440| 3c 31 36 29 2b 28 28 70 | 74 72 25 3f 31 29 3c 3c |<16)+((p|tr%?1)<<|
|00004450| 38 29 2b 70 74 72 25 3f | 32 3a 70 74 72 25 2b 3d |8)+ptr%?|2:ptr%+=|
|00004460| 33 3a ed 3a f4 20 52 65 | 61 64 20 70 61 6c 65 74 |3:.:. Re|ad palet|
|00004470| 74 65 0d 10 2c 05 cd 0d | 10 36 26 cf 23 49 6e 3d |te..,...|.6&.#In=|
|00004480| 70 74 72 25 2d 48 65 61 | 64 25 3a f4 20 47 6f 20 |ptr%-Hea|d%:. Go |
|00004490| 74 6f 20 69 6d 61 67 65 | 20 64 61 74 61 0d 10 40 |to image| data..@|
|000044a0| 05 e1 0d 10 4a 04 0d 10 | 54 0d dd f2 73 74 64 76 |....J...|T...stdv|
|000044b0| 61 72 73 0d 10 5e 27 f4 | 20 53 65 74 73 20 75 70 |ars..^'.| Sets up|
|000044c0| 20 73 74 61 6e 64 61 72 | 64 20 6d 6f 64 75 6c 65 | standar|d module|
|000044d0| 20 76 61 72 69 61 62 6c | 65 73 0d 10 68 38 f2 76 | variabl|es..h8.v|
|000044e0| 61 72 28 22 69 70 74 72 | 22 2c 8f 23 49 6e 29 3a |ar("iptr|",.#In):|
|000044f0| f2 76 61 72 28 22 6f 70 | 74 72 22 2c 8f 23 4f 75 |.var("op|tr",.#Ou|
|00004500| 74 29 3a f4 20 46 69 6c | 65 20 70 6f 69 6e 74 65 |t):. Fil|e pointe|
|00004510| 72 73 0d 10 72 33 f2 76 | 61 72 28 22 69 66 68 61 |rs..r3.v|ar("ifha|
|00004520| 22 2c 49 6e 29 3a f2 76 | 61 72 28 22 6f 66 68 61 |",In):.v|ar("ofha|
|00004530| 22 2c 4f 75 74 29 3a f4 | 20 46 69 6c 65 20 68 61 |",Out):.| File ha|
|00004540| 6e 64 6c 65 73 0d 10 7c | 36 f2 76 61 72 28 22 69 |ndles..||6.var("i|
|00004550| 62 75 66 22 2c 49 6e 70 | 75 74 25 29 3a f2 76 61 |buf",Inp|ut%):.va|
|00004560| 72 28 22 6f 62 75 66 22 | 2c 4f 75 74 70 75 74 25 |r("obuf"|,Output%|
|00004570| 29 3a f4 20 42 75 66 66 | 65 72 73 0d 10 86 43 f2 |):. Buff|ers...C.|
|00004580| 76 61 72 28 22 6f 73 69 | 7a 22 2c 4f 75 74 70 75 |var("osi|z",Outpu|
|00004590| 74 73 69 7a 65 25 29 3a | f2 76 61 72 28 22 69 73 |tsize%):|.var("is|
|000045a0| 69 7a 22 2c 49 6e 70 75 | 74 73 69 7a 65 25 29 3a |iz",Inpu|tsize%):|
|000045b0| f4 20 42 75 66 66 65 72 | 20 73 69 7a 65 73 0d 10 |. Buffer| sizes..|
|000045c0| 90 2b f2 76 61 72 28 22 | 72 6f 77 62 22 2c 52 6f |.+.var("|rowb",Ro|
|000045d0| 77 42 66 25 29 3a f4 20 | 53 69 6e 67 6c 65 20 72 |wBf%):. |Single r|
|000045e0| 6f 77 20 62 75 66 66 65 | 72 0d 10 9a 30 f2 76 61 |ow buffe|r...0.va|
|000045f0| 72 28 22 62 69 74 73 22 | 2c 43 6f 6c 42 69 74 73 |r("bits"|,ColBits|
|00004600| 25 29 3a f4 20 42 69 74 | 73 20 70 65 72 20 69 6e |%):. Bit|s per in|
|00004610| 70 75 74 20 70 69 78 65 | 6c 0d 10 a4 3c f2 76 61 |put pixe|l...<.va|
|00004620| 72 28 22 77 69 64 74 22 | 2c 57 69 64 74 68 25 29 |r("widt"|,Width%)|
|00004630| 3a f2 76 61 72 28 22 68 | 65 69 67 22 2c 48 65 69 |:.var("h|eig",Hei|
|00004640| 67 68 74 25 29 3a f4 20 | 53 69 7a 65 20 6f 66 20 |ght%):. |Size of |
|00004650| 69 6d 61 67 65 0d 10 ae | 29 f2 76 61 72 28 22 74 |image...|).var("t|
|00004660| 79 70 65 22 2c 54 79 70 | 65 25 29 3a f4 20 49 6e |ype",Typ|e%):. In|
|00004670| 70 75 74 20 69 6d 61 67 | 65 20 74 79 70 65 0d 10 |put imag|e type..|
|00004680| b8 56 e7 54 79 70 65 25 | 3d 26 46 46 39 20 8c 20 |.V.Type%|=&FF9 . |
|00004690| 72 6f 77 6c 65 6e 25 3d | 57 6f 72 64 57 25 3c 3c |rowlen%=|WordW%<<|
|000046a0| 32 20 8b 20 e7 43 6f 6c | 42 69 74 73 25 3c 3d 38 |2 . .Col|Bits%<=8|
|000046b0| 20 8c 20 72 6f 77 6c 65 | 6e 25 3d 57 69 64 74 68 | . rowle|n%=Width|
|000046c0| 25 20 8b 20 72 6f 77 6c | 65 6e 25 3d 33 2a 57 69 |% . rowl|en%=3*Wi|
|000046d0| 64 74 68 25 0d 10 c2 20 | 69 6e 72 6f 77 73 25 3d |dth%... |inrows%=|
|000046e0| 49 6e 70 75 74 73 69 7a | 65 25 20 81 20 72 6f 77 |Inputsiz|e% . row|
|000046f0| 6c 65 6e 25 0d 10 cc 34 | f2 76 61 72 28 22 69 72 |len%...4|.var("ir|
|00004700| 77 6c 22 2c 72 6f 77 6c | 65 6e 25 29 3a f4 20 49 |wl",rowl|en%):. I|
|00004710| 6e 70 75 74 20 72 6f 77 | 20 6c 65 6e 67 74 68 20 |nput row| length |
|00004720| 69 6e 20 62 79 74 65 73 | 0d 10 d6 48 f2 76 61 72 |in bytes|...H.var|
|00004730| 28 22 70 65 72 63 22 2c | 28 31 30 30 3c 3c 32 34 |("perc",|(100<<24|
|00004740| 29 2f 28 72 6f 77 6c 65 | 6e 25 2a 48 65 69 67 68 |)/(rowle|n%*Heigh|
|00004750| 74 25 29 29 3a f4 20 46 | 61 63 74 6f 72 20 74 6f |t%)):. F|actor to|
|00004760| 20 63 61 6c 63 20 70 65 | 72 63 65 6e 74 61 67 65 | calc pe|rcentage|
|00004770| 0d 10 e0 47 f2 76 61 72 | 28 22 69 72 6f 77 22 2c |...G.var|("irow",|
|00004780| 69 6e 72 6f 77 73 25 29 | 3a f4 20 4e 75 6d 62 65 |inrows%)|:. Numbe|
|00004790| 72 20 6f 66 20 69 6e 70 | 75 74 20 72 6f 77 73 20 |r of inp|ut rows |
|000047a0| 66 69 74 74 69 6e 67 20 | 69 6e 20 69 6e 70 75 74 |fitting |in input|
|000047b0| 20 62 75 66 66 65 72 0d | 10 ea 05 e1 0d 10 f4 04 | buffer.|........|
|000047c0| 0d 10 fe 1a dd a4 6d 6f | 64 65 5f 76 61 72 28 6d |......mo|de_var(m|
|000047d0| 6f 64 65 25 2c 76 61 72 | 25 29 0d 11 08 1b f4 20 |ode%,var|%)..... |
|000047e0| 52 65 74 75 72 6e 73 20 | 6d 6f 64 65 20 76 61 72 |Returns |mode var|
|000047f0| 69 61 62 6c 65 0d 11 12 | 0a ea 20 76 61 6c 25 0d |iable...|.. val%.|
|00004800| 11 1c 30 c8 99 20 22 4f | 53 5f 52 65 61 64 4d 6f |..0.. "O|S_ReadMo|
|00004810| 64 65 56 61 72 69 61 62 | 6c 65 22 2c 6d 6f 64 65 |deVariab|le",mode|
|00004820| 25 2c 76 61 72 25 20 b8 | 20 2c 2c 76 61 6c 25 0d |%,var% .| ,,val%.|
|00004830| 11 26 09 3d 76 61 6c 25 | 0d 11 30 05 20 0d 11 3a |.&.=val%|..0. ..:|
|00004840| 13 dd a4 73 74 72 69 6e | 67 28 61 64 64 72 25 29 |...strin|g(addr%)|
|00004850| 0d 11 44 32 f4 20 52 65 | 74 75 72 6e 73 20 43 54 |..D2. Re|turns CT|
|00004860| 52 4c 2d 63 68 61 72 20 | 74 65 72 6d 69 6e 61 74 |RL-char |terminat|
|00004870| 65 64 20 73 74 72 69 6e | 67 20 61 74 20 61 64 64 |ed strin|g at add|
|00004880| 72 25 0d 11 4e 0f ea 20 | 5f 25 2c 5f 63 25 2c 5f |r%..N.. |_%,_c%,_|
|00004890| 24 0d 11 58 1f 5f 25 3d | 2d 31 3a f5 20 5f 25 2b |$..X._%=|-1:. _%+|
|000048a0| 3d 31 3a fd 20 61 64 64 | 72 25 3f 5f 25 3c 33 32 |=1:. add|r%?_%<32|
|000048b0| 0d 11 62 33 5f 63 25 3d | 61 64 64 72 25 3f 5f 25 |..b3_c%=|addr%?_%|
|000048c0| 3a 61 64 64 72 25 3f 5f | 25 3d 31 33 3a 5f 24 3d |:addr%?_|%=13:_$=|
|000048d0| 24 61 64 64 72 25 3a 61 | 64 64 72 25 3f 5f 25 3d |$addr%:a|ddr%?_%=|
|000048e0| 5f 63 25 0d 11 6c 07 3d | 5f 24 0d 11 76 04 0d 11 |_c%..l.=|_$..v...|
|000048f0| 80 12 dd a4 6c 6f 73 74 | 72 69 6e 67 28 69 24 29 |....lost|ring(i$)|
|00004900| 0d 11 8a 1b f4 20 52 65 | 74 75 72 6e 73 20 6c 6f |..... Re|turns lo|
|00004910| 77 65 72 2d 63 61 73 65 | 20 69 24 0d 11 94 0b ea |wer-case| i$.....|
|00004920| 20 63 25 2c 76 25 0d 11 | 9e 4b e3 20 63 25 3d 31 | c%,v%..|.K. c%=1|
|00004930| 20 b8 20 a9 69 24 3a 76 | 25 3d 97 c1 69 24 2c 63 | . .i$:v|%=..i$,c|
|00004940| 25 2c 31 29 3a e7 28 76 | 25 3e 3d 97 22 41 22 29 |%,1):.(v|%>=."A")|
|00004950| 80 28 76 25 3c 3d 97 22 | 5a 22 29 20 8c 20 c1 69 |.(v%<=."|Z") . .i|
|00004960| 24 2c 63 25 2c 31 29 3d | bd 28 76 25 2b 26 32 30 |$,c%,1)=|.(v%+&20|
|00004970| 29 0d 11 a8 05 ed 0d 11 | b2 07 3d 69 24 0d 11 bc |).......|..=i$...|
|00004980| 05 20 0d 11 c6 1d dd f2 | 6d 6f 75 73 65 28 f8 20 |. ......|mouse(. |
|00004990| 78 25 2c f8 20 79 25 2c | f8 20 62 75 74 25 29 0d |x%,. y%,|. but%).|
|000049a0| 11 d0 2b f4 20 52 65 74 | 75 72 6e 73 20 78 2c 79 |..+. Ret|urns x,y|
|000049b0| 20 61 6e 64 20 62 75 74 | 74 6f 6e 20 73 74 61 74 | and but|ton stat|
|000049c0| 65 20 6f 66 20 6d 6f 75 | 73 65 0d 11 da 11 c8 97 |e of mou|se......|
|000049d0| 20 78 25 2c 79 25 2c 62 | 75 74 25 0d 11 e4 05 e1 | x%,y%,b|ut%.....|
|000049e0| 0d 11 ee 05 20 0d 11 f8 | 0d dd f2 68 6f 75 72 5f |.... ...|...hour_|
|000049f0| 6f 6e 0d 12 02 18 f4 20 | 54 75 72 6e 73 20 68 6f |on..... |Turns ho|
|00004a00| 75 72 67 6c 61 73 73 20 | 6f 6e 0d 12 0c 15 c8 99 |urglass |on......|
|00004a10| 20 22 48 6f 75 72 67 6c | 61 73 73 5f 4f 6e 22 0d | "Hourgl|ass_On".|
|00004a20| 12 16 1f c8 99 20 22 48 | 6f 75 72 67 6c 61 73 73 |..... "H|ourglass|
|00004a30| 5f 50 65 72 63 65 6e 74 | 61 67 65 22 2c 30 0d 12 |_Percent|age",0..|
|00004a40| 20 05 e1 0d 12 2a 05 20 | 0d 12 34 0e dd f2 68 6f | ....*. |..4...ho|
|00004a50| 75 72 5f 6f 66 66 0d 12 | 3e 19 f4 20 54 75 72 6e |ur_off..|>.. Turn|
|00004a60| 73 20 68 6f 75 72 67 6c | 61 73 73 20 6f 66 66 0d |s hourgl|ass off.|
|00004a70| 12 48 16 c8 99 20 22 48 | 6f 75 72 67 6c 61 73 73 |.H... "H|ourglass|
|00004a80| 5f 4f 66 66 22 0d 12 52 | 05 e1 0d 12 5c 05 20 0d |_Off"..R|....\. .|
|00004a90| 12 66 12 dd a4 4f 53 76 | 61 72 28 6e 61 6d 65 24 |.f...OSv|ar(name$|
|00004aa0| 29 0d 12 70 2e f4 20 41 | 74 74 65 6d 70 74 73 20 |)..p.. A|ttempts |
|00004ab0| 74 6f 20 72 65 74 75 72 | 6e 20 4f 53 2d 76 61 72 |to retur|n OS-var|
|00004ac0| 27 73 20 73 74 72 69 6e | 67 20 76 61 6c 75 65 0d |'s strin|g value.|
|00004ad0| 12 7a 0d ea 20 5f 72 24 | 2c 5f 6c 25 0d 12 84 43 |.z.. _r$|,_l%...C|
|00004ae0| 5f 72 24 3d c4 31 30 30 | 2c 22 20 22 29 3a c8 99 |_r$=.100|," "):..|
|00004af0| 20 22 58 4f 53 5f 52 65 | 61 64 56 61 72 56 61 6c | "XOS_Re|adVarVal|
|00004b00| 22 2c 6e 61 6d 65 24 2c | 5f 72 24 2c a9 5f 72 24 |",name$,|_r$,._r$|
|00004b10| 2c 30 2c 33 20 b8 20 2c | 5f 72 24 2c 5f 6c 25 0d |,0,3 . ,|_r$,_l%.|
|00004b20| 12 8e 0e 3d c0 5f 72 24 | 2c 5f 6c 25 29 0d 12 98 |...=._r$|,_l%)...|
|00004b30| 05 20 0d 12 a2 14 dd a4 | 70 61 6c 74 6f 72 67 62 |. ......|paltorgb|
|00004b40| 28 70 61 6c 25 29 0d 12 | ac 2f f4 20 52 65 74 75 |(pal%)..|./. Retu|
|00004b50| 72 6e 73 20 26 52 52 47 | 47 42 42 20 66 72 6f 6d |rns &RRG|GBB from|
|00004b60| 20 73 70 72 69 74 65 20 | 70 61 6c 65 74 74 65 20 | sprite |palette |
|00004b70| 65 6e 74 72 79 0d 12 b6 | 37 3d 28 70 61 6c 25 3e |entry...|7=(pal%>|
|00004b80| 3e 3e 32 34 29 2b 28 28 | 70 61 6c 25 3e 3e 3e 38 |>>24)+((|pal%>>>8|
|00004b90| 29 80 26 46 46 30 30 29 | 2b 28 28 70 61 6c 25 3c |).&FF00)|+((pal%<|
|00004ba0| 3c 38 29 80 26 46 46 30 | 30 30 30 29 0d 12 c0 05 |<8).&FF0|000)....|
|00004bb0| 20 0d 12 ca 0f dd f2 6d | 61 69 6e 5f 6d 65 6e 75 | ......m|ain_menu|
|00004bc0| 0d 12 d4 17 f4 20 43 72 | 65 61 74 65 73 20 6d 61 |..... Cr|eates ma|
|00004bd0| 69 6e 20 6d 65 6e 75 0d | 12 de 0b ea 20 78 25 2c |in menu.|.... x%,|
|00004be0| 79 25 0d 12 e8 21 f2 73 | 65 74 6d 65 6e 75 3a f4 |y%...!.s|etmenu:.|
|00004bf0| 20 53 65 74 20 66 6c 61 | 67 73 20 61 6e 64 20 64 | Set fla|gs and d|
|00004c00| 61 74 61 0d 12 f2 1f f2 | 6d 6f 75 73 65 28 78 25 |ata.....|mouse(x%|
|00004c10| 2c 5f 25 2c 5f 25 29 3a | 79 25 3d 39 36 2b 35 2a |,_%,_%):|y%=96+5*|
|00004c20| 34 30 0d 12 fc 30 6d 65 | 6e 75 31 3d 6d 65 6e 75 |40...0me|nu1=menu|
|00004c30| 6d 61 69 6e 25 3a c8 99 | 20 57 43 72 65 61 74 65 |main%:..| WCreate|
|00004c40| 4d 25 2c 2c 6d 65 6e 75 | 31 2c 78 25 2d 36 34 2c |M%,,menu|1,x%-64,|
|00004c50| 79 25 0d 13 06 05 e1 0d | 13 10 05 20 0d 13 1a 0d |y%......|... ....|
|00004c60| dd f2 73 65 74 6d 65 6e | 75 0d 13 24 35 f4 20 57 |..setmen|u..$5. W|
|00004c70| 72 69 74 65 73 20 63 75 | 72 72 65 6e 74 20 66 6c |rites cu|rrent fl|
|00004c80| 61 67 73 20 61 6e 64 20 | 69 63 6f 6e 20 64 61 74 |ags and |icon dat|
|00004c90| 61 20 74 6f 20 6d 61 69 | 6e 20 6d 65 6e 75 0d 13 |a to mai|n menu..|
|00004ca0| 2e 0a f4 20 4d 61 69 6e | 0d 13 38 1f f2 69 66 6c |... Main|..8..ifl|
|00004cb0| 28 69 70 43 72 47 49 46 | 2c 28 54 79 70 65 3d 26 |(ipCrGIF|,(Type=&|
|00004cc0| 36 39 35 29 2c 30 29 0d | 13 42 20 f2 69 66 6c 28 |695),0).|.B .ifl(|
|00004cd0| 69 70 43 72 54 49 46 46 | 2c 28 54 79 70 65 3d 26 |ipCrTIFF|,(Type=&|
|00004ce0| 46 46 30 29 2c 30 29 0d | 13 4c 1f f2 69 66 6c 28 |FF0),0).|.L..ifl(|
|00004cf0| 69 70 43 72 41 49 4d 2c | 28 54 79 70 65 3d 26 30 |ipCrAIM,|(Type=&0|
|00004d00| 30 34 29 2c 30 29 0d 13 | 56 0f f4 20 4d 61 69 6e |04),0)..|V.. Main|
|00004d10| 2e 54 49 46 46 0d 13 60 | 21 f2 69 66 6c 28 69 70 |.TIFF..`|!.ifl(ip|
|00004d20| 54 49 4e 6f 6e 65 2c 28 | 54 49 46 46 63 6f 6d 70 |TINone,(|TIFFcomp|
|00004d30| 3d 30 29 2c 30 29 0d 13 | 6a 25 f2 69 66 6c 28 69 |=0),0)..|j%.ifl(i|
|00004d40| 70 54 49 50 61 63 6b 62 | 69 74 73 2c 28 54 49 46 |pTIPackb|its,(TIF|
|00004d50| 46 63 6f 6d 70 3d 31 29 | 2c 30 29 0d 13 74 20 f2 |Fcomp=1)|,0)..t .|
|00004d60| 69 66 6c 28 69 70 54 49 | 4c 5a 57 2c 28 54 49 46 |ifl(ipTI|LZW,(TIF|
|00004d70| 46 63 6f 6d 70 3d 32 29 | 2c 30 29 0d 13 7e 05 e1 |Fcomp=2)|,0)..~..|
|00004d80| 0d 13 88 05 20 0d 13 92 | 14 dd f2 69 66 6c 28 66 |.... ...|...ifl(f|
|00004d90| 6c 25 2c 74 25 2c 64 25 | 29 0d 13 9c 1a f4 20 53 |l%,t%,d%|)..... S|
|00004da0| 65 74 73 20 6d 65 6e 75 | 20 69 63 6f 6e 20 66 6c |ets menu| icon fl|
|00004db0| 61 67 73 0d 13 a6 1b 74 | 25 3d 2d 28 74 25 3c 3e |ags....t|%=-(t%<>|
|00004dc0| 30 29 3a 64 25 3d 2d 28 | 64 25 3c 3e 30 29 0d 13 |0):d%=-(|d%<>0)..|
|00004dd0| b0 1e 21 66 6c 25 3d 28 | 28 21 66 6c 25 29 80 ac |..!fl%=(|(!fl%)..|
|00004de0| 31 29 2b 74 25 3a f4 20 | 54 69 63 6b 0d 13 ba 2e |1)+t%:. |Tick....|
|00004df0| 66 6c 25 21 38 3d 28 28 | 66 6c 25 21 38 29 80 ac |fl%!8=((|fl%!8)..|
|00004e00| 28 31 3c 3c 32 32 29 29 | 2b 28 64 25 3c 3c 32 32 |(1<<22))|+(d%<<22|
|00004e10| 29 3a f4 20 53 68 61 64 | 65 64 0d 13 c4 05 e1 0d |):. Shad|ed......|
|00004e20| 13 ce 05 20 0d 13 d8 11 | dd f2 69 64 61 28 64 70 |... ....|..ida(dp|
|00004e30| 25 2c 64 24 29 0d 13 e2 | 19 f4 20 53 65 74 73 20 |%,d$)...|.. Sets |
|00004e40| 6d 65 6e 75 20 69 63 6f | 6e 20 64 61 74 61 0d 13 |menu ico|n data..|
|00004e50| ec 0b 24 64 70 25 3d 64 | 24 0d 13 f6 05 e1 0d 14 |..$dp%=d|$.......|
|00004e60| 00 05 20 0d 14 0a 1f dd | f2 6f 70 65 6e 5f 77 69 |.. .....|.open_wi|
|00004e70| 6e 64 6f 77 28 68 61 6e | 64 6c 65 25 2c 69 6e 66 |ndow(han|dle%,inf|
|00004e80| 6f 29 0d 14 14 26 f4 20 | 4f 70 65 6e 73 20 77 69 |o)...&. |Opens wi|
|00004e90| 6e 64 6f 77 20 77 69 74 | 68 20 68 61 6e 64 6c 65 |ndow wit|h handle|
|00004ea0| 20 68 61 6e 64 6c 65 25 | 0d 14 1e 4b f4 20 49 66 | handle%|...K. If|
|00004eb0| 20 69 6e 66 6f 3e 30 20 | 74 68 65 6e 20 69 6e 66 | info>0 |then inf|
|00004ec0| 6f 20 69 73 20 72 65 61 | 64 79 20 61 74 20 69 6e |o is rea|dy at in|
|00004ed0| 66 6f 2c 20 65 6c 73 65 | 20 67 65 74 20 69 6e 66 |fo, else| get inf|
|00004ee0| 6f 2c 20 69 66 20 2d 31 | 20 70 6f 70 20 61 74 20 |o, if -1| pop at |
|00004ef0| 74 6f 70 0d 14 28 1b ea | 20 62 25 2c 70 78 25 2c |top..(..| b%,px%,|
|00004f00| 70 79 25 2c 5f 25 2c 78 | 73 25 2c 79 73 25 0d 14 |py%,_%,x|s%,ys%..|
|00004f10| 32 0d e7 69 6e 66 6f 3e | 30 20 8c 0d 14 3c 27 20 |2..info>|0 ...<' |
|00004f20| e3 20 62 25 3d 30 20 b8 | 20 33 31 20 88 20 34 3a |. b%=0 .| 31 . 4:|
|00004f30| 62 6c 6f 63 6b 21 62 25 | 3d 69 6e 66 6f 21 62 25 |block!b%|=info!b%|
|00004f40| 3a ed 0d 14 46 26 cc 20 | 21 62 6c 6f 63 6b 3d 68 |:...F&. |!block=h|
|00004f50| 61 6e 64 6c 65 25 3a c8 | 99 20 57 47 65 74 57 53 |andle%:.|. WGetWS|
|00004f60| 25 2c 2c 62 6c 6f 63 6b | 0d 14 50 38 20 e7 69 6e |%,,block|..P8 .in|
|00004f70| 66 6f 3d 2d 31 20 8c 20 | 62 6c 6f 63 6b 21 32 38 |fo=-1 . |block!28|
|00004f80| 3d 2d 31 3a f4 20 50 6f | 70 20 75 70 20 61 74 20 |=-1:. Po|p up at |
|00004f90| 74 6f 70 20 69 66 20 72 | 65 71 75 65 73 74 65 64 |top if r|equested|
|00004fa0| 0d 14 5a 8d 20 f2 6d 6f | 75 73 65 28 70 78 25 2c |..Z. .mo|use(px%,|
|00004fb0| 70 79 25 2c 5f 25 29 3a | 78 73 25 3d 62 6c 6f 63 |py%,_%):|xs%=bloc|
|00004fc0| 6b 21 31 32 2d 62 6c 6f | 63 6b 21 34 3a 79 73 25 |k!12-blo|ck!4:ys%|
|00004fd0| 3d 62 6c 6f 63 6b 21 31 | 36 2d 62 6c 6f 63 6b 21 |=block!1|6-block!|
|00004fe0| 38 3a 62 6c 6f 63 6b 21 | 34 3d 70 78 25 2d 36 34 |8:block!|4=px%-64|
|00004ff0| 3a 62 6c 6f 63 6b 21 38 | 3d 70 79 25 2d 79 73 25 |:block!8|=py%-ys%|
|00005000| 2b 31 36 3a 62 6c 6f 63 | 6b 21 31 32 3d 62 6c 6f |+16:bloc|k!12=blo|
|00005010| 63 6b 21 34 2b 78 73 25 | 3a 62 6c 6f 63 6b 21 31 |ck!4+xs%|:block!1|
|00005020| 36 3d 62 6c 6f 63 6b 21 | 38 2b 79 73 25 0d 14 64 |6=block!|8+ys%..d|
|00005030| 05 cd 0d 14 6e 15 c8 99 | 20 57 4f 70 65 6e 57 25 |....n...| WOpenW%|
|00005040| 2c 2c 62 6c 6f 63 6b 0d | 14 78 05 e1 0d 14 82 05 |,,block.|.x......|
|00005050| 20 0d 14 8c 1b dd f2 63 | 6c 6f 73 65 5f 77 69 6e | ......c|lose_win|
|00005060| 64 6f 77 28 68 61 6e 64 | 6c 65 25 29 0d 14 96 27 |dow(hand|le%)...'|
|00005070| f4 20 43 6c 6f 73 65 73 | 20 77 69 6e 64 6f 77 20 |. Closes| window |
|00005080| 77 69 74 68 20 68 61 6e | 64 6c 65 20 68 61 6e 64 |with han|dle hand|
|00005090| 6c 65 25 0d 14 a0 25 21 | 62 6c 6f 63 6b 3d 68 61 |le%...%!|block=ha|
|000050a0| 6e 64 6c 65 25 3a c8 99 | 20 57 43 6c 6f 73 65 57 |ndle%:..| WCloseW|
|000050b0| 25 2c 2c 62 6c 6f 63 6b | 0d 14 aa 05 e1 0d 14 b4 |%,,block|........|
|000050c0| 05 20 0d 14 be 11 dd a4 | 70 6f 6c 6c 28 6d 61 73 |. ......|poll(mas|
|000050d0| 6b 25 29 0d 14 c8 40 f4 | 20 52 65 74 75 72 6e 73 |k%)...@.| Returns|
|000050e0| 20 70 6f 6c 6c 20 72 65 | 61 73 6f 6e 20 63 6f 64 | poll re|ason cod|
|000050f0| 65 2c 20 6d 61 73 6b 69 | 6e 67 20 77 69 74 68 20 |e, maski|ng with |
|00005100| 6d 61 73 6b 25 2c 20 64 | 61 74 61 20 61 74 20 70 |mask%, d|ata at p|
|00005110| 6f 6c 6c 0d 14 d2 10 ea | 20 72 65 61 73 6f 6e 63 |oll.....| reasonc|
|00005120| 6f 64 65 0d 14 dc 25 c8 | 99 20 57 50 6f 6c 6c 25 |ode...%.|. WPoll%|
|00005130| 2c 6d 61 73 6b 25 2c 70 | 6f 6c 6c 20 b8 20 72 65 |,mask%,p|oll . re|
|00005140| 61 73 6f 6e 63 6f 64 65 | 0d 14 e6 0f 3d 72 65 61 |asoncode|....=rea|
|00005150| 73 6f 6e 63 6f 64 65 0d | 14 f0 05 20 0d 14 fa 10 |soncode.|... ....|
|00005160| dd f2 69 6e 69 74 69 61 | 6c 69 73 65 0d 15 04 19 |..initia|lise....|
|00005170| f4 20 49 6e 69 74 69 61 | 6c 69 73 65 73 20 70 72 |. Initia|lises pr|
|00005180| 6f 67 72 61 6d 0d 15 0e | 2d 61 70 70 6c 6e 61 6d |ogram...|-applnam|
|00005190| 65 24 3d 22 43 72 65 61 | 74 6f 72 22 3a f4 20 4e |e$="Crea|tor":. N|
|000051a0| 61 6d 65 20 6f 66 20 61 | 70 70 6c 69 63 61 74 69 |ame of a|pplicati|
|000051b0| 6f 6e 0d 15 18 46 c8 99 | 20 22 57 69 6d 70 5f 49 |on...F..| "Wimp_I|
|000051c0| 6e 69 74 69 61 6c 69 73 | 65 22 2c 32 30 30 2c 26 |nitialis|e",200,&|
|000051d0| 34 42 35 33 34 31 35 34 | 2c 61 70 70 6c 6e 61 6d |4B534154|,applnam|
|000051e0| 65 24 20 b8 20 76 65 72 | 73 69 6f 6e 2c 54 61 73 |e$ . ver|sion,Tas|
|000051f0| 6b 48 61 6e 64 6c 65 25 | 0d 15 22 39 e7 76 65 72 |kHandle%|.."9.ver|
|00005200| 73 69 6f 6e 3c 32 30 30 | 20 8c 20 85 20 31 2c 22 |sion<200| . . 1,"|
|00005210| 49 20 63 61 6e 6e 6f 74 | 20 77 6f 72 6b 20 77 69 |I cannot| work wi|
|00005220| 74 68 20 57 49 4d 50 20 | 70 72 65 2d 32 2e 30 30 |th WIMP |pre-2.00|
|00005230| 22 0d 15 2c 36 57 25 3d | a4 73 77 69 5f 74 6f 5f |"..,6W%=|.swi_to_|
|00005240| 6e 72 28 22 57 69 6d 70 | 5f 49 6e 69 74 69 61 6c |nr("Wimp|_Initial|
|00005250| 69 73 65 22 29 3a f4 20 | 42 61 73 65 20 53 57 49 |ise"):. |Base SWI|
|00005260| 20 6e 75 6d 62 65 72 0d | 15 36 db 57 43 72 65 61 | number.|.6.WCrea|
|00005270| 74 65 57 25 3d 57 25 2b | 31 3a 57 43 72 65 61 74 |teW%=W%+|1:WCreat|
|00005280| 65 49 25 3d 57 25 2b 32 | 3a 57 4f 70 65 6e 57 25 |eI%=W%+2|:WOpenW%|
|00005290| 3d 57 25 2b 35 3a 57 43 | 6c 6f 73 65 57 25 3d 57 |=W%+5:WC|loseW%=W|
|000052a0| 25 2b 36 3a 57 50 6f 6c | 6c 25 3d 57 25 2b 37 3a |%+6:WPol|l%=W%+7:|
|000052b0| 57 47 65 74 57 53 25 3d | 57 25 2b 31 31 3a 57 47 |WGetWS%=|W%+11:WG|
|000052c0| 65 74 49 53 25 3d 57 25 | 2b 31 34 3a 57 47 65 74 |etIS%=W%|+14:WGet|
|000052d0| 50 49 25 3d 57 25 2b 31 | 35 3a 57 44 72 61 67 42 |PI%=W%+1|5:WDragB|
|000052e0| 25 3d 57 25 2b 31 36 3a | 57 53 65 74 43 61 25 3d |%=W%+16:|WSetCa%=|
|000052f0| 57 25 2b 31 38 3a 57 43 | 72 65 61 74 65 4d 25 3d |W%+18:WC|reateM%=|
|00005300| 57 25 2b 32 30 3a 57 44 | 65 63 6f 64 65 4d 25 3d |W%+20:WD|ecodeM%=|
|00005310| 57 25 2b 32 31 3a 57 4c | 6f 61 64 54 25 3d 57 25 |W%+21:WL|oadT%=W%|
|00005320| 2b 32 37 3a 57 52 65 70 | 6f 72 74 25 3d 57 25 2b |+27:WRep|ort%=W%+|
|00005330| 33 31 3a 57 53 65 6e 64 | 4d 73 67 25 3d 57 25 2b |31:WSend|Msg%=W%+|
|00005340| 33 39 0d 15 40 3d 74 66 | 25 3d 37 3a 74 62 25 3d |39..@=tf|%=7:tb%=|
|00005350| 32 3a 77 66 25 3d 37 3a | 77 62 25 3d 30 3a 73 69 |2:wf%=7:|wb%=0:si|
|00005360| 25 3d 31 3a 73 6f 25 3d | 33 3a f4 20 57 69 6e 64 |%=1:so%=|3:. Wind|
|00005370| 6f 77 2f 6d 65 6e 75 20 | 63 6f 6c 6f 75 72 73 0d |ow/menu |colours.|
|00005380| 15 4a 92 21 62 6c 6f 63 | 6b 3d 2d 31 3a 62 6c 6f |.J.!bloc|k=-1:blo|
|00005390| 63 6b 21 34 3d 30 3a 62 | 6c 6f 63 6b 21 38 3d 30 |ck!4=0:b|lock!8=0|
|000053a0| 3a 62 6c 6f 63 6b 21 31 | 32 3d 36 38 3a 62 6c 6f |:block!1|2=68:blo|
|000053b0| 63 6b 21 31 36 3d 36 38 | 3a 62 6c 6f 63 6b 21 32 |ck!16=68|:block!2|
|000053c0| 30 3d 26 32 37 30 30 33 | 30 30 32 3a 24 28 62 6c |0=&27003|002:$(bl|
|000053d0| 6f 63 6b 2b 32 34 29 3d | 22 21 63 72 65 61 74 6f |ock+24)=|"!creato|
|000053e0| 72 22 3a c8 99 20 57 43 | 72 65 61 74 65 49 25 2c |r":.. WC|reateI%,|
|000053f0| 2c 62 6c 6f 63 6b 20 b8 | 20 49 69 63 6f 6e 62 61 |,block .| Iiconba|
|00005400| 72 25 3a f4 20 49 63 6f | 6e 62 61 72 20 69 63 6f |r%:. Ico|nbar ico|
|00005410| 6e 0d 15 54 14 f4 20 4c | 6f 61 64 20 74 65 6d 70 |n..T.. L|oad temp|
|00005420| 6c 61 74 65 73 0d 15 5e | 35 c8 99 20 22 57 69 6d |lates..^|5.. "Wim|
|00005430| 70 5f 4f 70 65 6e 54 65 | 6d 70 6c 61 74 65 22 2c |p_OpenTe|mplate",|
|00005440| 2c 22 3c 43 72 65 61 74 | 6f 72 24 44 69 72 3e 2e |,"<Creat|or$Dir>.|
|00005450| 54 65 6d 70 6c 61 74 65 | 73 22 0d 15 68 3c 69 63 |Template|s"..h<ic|
|00005460| 3d 69 63 6f 6e 64 61 74 | 61 3a 69 65 3d 69 63 6f |=icondat|a:ie=ico|
|00005470| 6e 64 65 6e 64 3a f4 20 | 49 6e 64 69 72 65 63 74 |ndend:. |Indirect|
|00005480| 65 64 20 69 63 6f 6e 20 | 64 61 74 61 20 77 6f 72 |ed icon |data wor|
|00005490| 6b 73 70 61 63 65 0d 15 | 72 3a 24 64 75 6d 25 3d |kspace..|r:$dum%=|
|000054a0| 22 73 61 76 65 22 3a c8 | 99 20 57 4c 6f 61 64 54 |"save":.|. WLoadT|
|000054b0| 25 2c 2c 77 69 6e 64 6f | 77 2c 69 63 2c 69 65 2c |%,,windo|w,ic,ie,|
|000054c0| 2d 31 2c 64 75 6d 25 2c | 30 20 b8 20 2c 2c 69 63 |-1,dum%,|0 . ,,ic|
|000054d0| 0d 15 7c 23 77 69 6e 64 | 6f 77 21 28 38 38 2b 32 |..|#wind|ow!(88+2|
|000054e0| 34 29 3d 31 3a f4 20 57 | 49 4d 50 20 61 72 65 61 |4)=1:. W|IMP area|
|000054f0| 70 74 72 0d 15 86 24 c8 | 99 20 57 43 72 65 61 74 |ptr...$.|. WCreat|
|00005500| 65 57 25 2c 2c 77 69 6e | 64 6f 77 20 b8 20 77 69 |eW%,,win|dow . wi|
|00005510| 6e 5f 66 69 6c 65 25 0d | 15 90 3f 53 41 56 73 6e |n_file%.|..?SAVsn|
|00005520| 25 3d a4 69 63 6f 6e 61 | 64 64 72 28 77 69 6e 5f |%=.icona|ddr(win_|
|00005530| 66 69 6c 65 25 2c 30 29 | 3a 53 41 56 66 6e 25 3d |file%,0)|:SAVfn%=|
|00005540| a4 69 63 6f 6e 61 64 64 | 72 28 77 69 6e 5f 66 69 |.iconadd|r(win_fi|
|00005550| 6c 65 25 2c 31 29 0d 15 | 9a 3a 24 64 75 6d 25 3d |le%,1)..|.:$dum%=|
|00005560| 22 69 6e 66 6f 22 3a c8 | 99 20 57 4c 6f 61 64 54 |"info":.|. WLoadT|
|00005570| 25 2c 2c 77 69 6e 64 6f | 77 2c 69 63 2c 69 65 2c |%,,windo|w,ic,ie,|
|00005580| 2d 31 2c 64 75 6d 25 2c | 30 20 b8 20 2c 2c 69 63 |-1,dum%,|0 . ,,ic|
|00005590| 0d 15 a4 24 c8 99 20 57 | 43 72 65 61 74 65 57 25 |...$.. W|CreateW%|
|000055a0| 2c 2c 77 69 6e 64 6f 77 | 20 b8 20 77 69 6e 5f 69 |,,window| . win_i|
|000055b0| 6e 66 6f 25 0d 15 ae 1b | c8 99 20 22 57 69 6d 70 |nfo%....|.. "Wimp|
|000055c0| 5f 43 6c 6f 73 65 54 65 | 6d 70 6c 61 74 65 22 0d |_CloseTe|mplate".|
|000055d0| 15 b8 19 f4 20 4c 6f 61 | 64 20 6d 65 6e 75 20 73 |.... Loa|d menu s|
|000055e0| 74 72 75 63 74 75 72 65 | 0d 15 c2 39 c8 99 20 22 |tructure|...9.. "|
|000055f0| 4f 53 5f 46 69 6c 65 22 | 2c 35 2c 22 3c 43 72 65 |OS_File"|,5,"<Cre|
|00005600| 61 74 6f 72 24 44 69 72 | 3e 2e 4d 65 6e 75 53 74 |ator$Dir|>.MenuSt|
|00005610| 72 75 63 74 22 20 b8 20 | 2c 2c 2c 2c 73 6c 65 6e |ruct" . |,,,,slen|
|00005620| 25 0d 15 cc 17 de 20 6d | 65 6e 75 73 74 72 75 63 |%..... m|enustruc|
|00005630| 74 25 20 73 6c 65 6e 25 | 0d 15 d6 3b c8 99 20 22 |t% slen%|...;.. "|
|00005640| 4f 53 5f 46 69 6c 65 22 | 2c 32 35 35 2c 22 3c 43 |OS_File"|,255,"<C|
|00005650| 72 65 61 74 6f 72 24 44 | 69 72 3e 2e 4d 65 6e 75 |reator$D|ir>.Menu|
|00005660| 53 74 72 75 63 74 22 2c | 6d 65 6e 75 73 74 72 75 |Struct",|menustru|
|00005670| 63 74 25 0d 15 e0 37 c8 | 99 20 22 4f 53 5f 46 69 |ct%...7.|. "OS_Fi|
|00005680| 6c 65 22 2c 35 2c 22 3c | 43 72 65 61 74 6f 72 24 |le",5,"<|Creator$|
|00005690| 44 69 72 3e 2e 4d 65 6e | 75 44 61 74 61 22 20 b8 |Dir>.Men|uData" .|
|000056a0| 20 2c 2c 2c 2c 64 6c 65 | 6e 25 0d 15 ea 15 de 20 | ,,,,dle|n%..... |
|000056b0| 6d 65 6e 75 64 61 74 61 | 25 20 64 6c 65 6e 25 0d |menudata|% dlen%.|
|000056c0| 15 f4 37 c8 99 20 22 4f | 53 5f 46 69 6c 65 22 2c |..7.. "O|S_File",|
|000056d0| 32 35 35 2c 22 3c 43 72 | 65 61 74 6f 72 24 44 69 |255,"<Cr|eator$Di|
|000056e0| 72 3e 2e 4d 65 6e 75 44 | 61 74 61 22 2c 6d 65 6e |r>.MenuD|ata",men|
|000056f0| 75 64 61 74 61 25 0d 15 | fe 27 e3 20 61 25 3d 6d |udata%..|.'. a%=m|
|00005700| 65 6e 75 73 74 72 75 63 | 74 25 2b 34 20 b8 20 61 |enustruc|t%+4 . a|
|00005710| 25 2b 73 6c 65 6e 25 2d | 38 20 88 20 34 0d 16 08 |%+slen%-|8 . 4...|
|00005720| 90 64 25 3d 21 61 25 3a | e7 28 64 25 80 26 46 46 |.d%=!a%:|.(d%.&FF|
|00005730| 46 30 30 30 30 30 29 3c | 3e 26 44 45 41 30 30 30 |F00000)<|>&DEA000|
|00005740| 30 30 20 8b 20 6b 25 3d | 28 64 25 3e 3e 31 36 29 |00 . k%=|(d%>>16)|
|00005750| 80 26 46 3a 64 25 3d 64 | 25 80 26 46 46 46 46 3a |.&F:d%=d|%.&FFFF:|
|00005760| e7 6b 25 3d 31 20 8c 20 | 21 61 25 3d 64 25 2b 6d |.k%=1 . |!a%=d%+m|
|00005770| 65 6e 75 73 74 72 75 63 | 74 25 20 8b 20 e7 6b 25 |enustruc|t% . .k%|
|00005780| 3d 32 20 8c 20 21 61 25 | 3d 64 25 2b 6d 65 6e 75 |=2 . !a%|=d%+menu|
|00005790| 64 61 74 61 25 20 8b 20 | e7 64 25 3d 31 20 8c 20 |data% . |.d%=1 . |
|000057a0| 21 61 25 3d 77 69 6e 5f | 69 6e 66 6f 25 0d 16 12 |!a%=win_|info%...|
|000057b0| 05 ed 0d 16 1c 91 56 61 | 72 73 3d 8e 22 3c 43 72 |......Va|rs=."<Cr|
|000057c0| 65 61 74 6f 72 24 44 69 | 72 3e 2e 4d 65 6e 75 56 |eator$Di|r>.MenuV|
|000057d0| 61 72 73 22 3a c8 95 20 | ac c5 23 56 61 72 73 3a |ars":.. |..#Vars:|
|000057e0| 76 6e 24 3d be 23 56 61 | 72 73 3a 64 25 3d 9a 23 |vn$=.#Va|rs:d%=.#|
|000057f0| 56 61 72 73 3a 76 76 24 | 3d be 23 56 61 72 73 3a |Vars:vv$|=.#Vars:|
|00005800| 64 25 3d 9a 23 56 61 72 | 73 3a e7 c0 76 6e 24 2c |d%=.#Var|s:..vn$,|
|00005810| 32 29 3d 22 69 64 22 20 | 8c 20 76 76 25 3d 6d 65 |2)="id" |. vv%=me|
|00005820| 6e 75 64 61 74 61 25 2b | bb 76 76 24 20 8b 20 76 |nudata%+|.vv$ . v|
|00005830| 76 25 3d 6d 65 6e 75 73 | 74 72 75 63 74 25 2b bb |v%=menus|truct%+.|
|00005840| 76 76 24 0d 16 26 2d 64 | 25 3d a0 28 22 46 4e 63 |vv$..&-d|%=.("FNc|
|00005850| 76 61 72 28 22 2b 76 6e | 24 2b 22 2c 22 2b c3 76 |var("+vn|$+","+.v|
|00005860| 76 25 2b 22 29 22 29 3a | ce 3a d9 23 56 61 72 73 |v%+")"):|.:.#Vars|
|00005870| 0d 16 30 26 6d 65 6e 75 | 6d 61 69 6e 25 3d 6d 65 |..0&menu|main%=me|
|00005880| 6e 75 73 74 72 75 63 74 | 25 2b 21 6d 65 6e 75 73 |nustruct|%+!menus|
|00005890| 74 72 75 63 74 25 0d 16 | 3a 1a f4 20 49 6e 69 74 |truct%..|:.. Init|
|000058a0| 69 61 6c 69 73 65 20 76 | 61 72 69 61 62 6c 65 73 |ialise v|ariables|
|000058b0| 0d 16 44 4c 4f 75 74 70 | 75 74 24 3d 22 22 3a 49 |..DLOutp|ut$="":I|
|000058c0| 6e 70 75 74 24 3d 22 22 | 3a 44 61 74 61 4c 6f 61 |nput$=""|:DataLoa|
|000058d0| 64 52 65 66 25 3d a3 3a | 44 61 74 61 53 61 76 65 |dRef%=.:|DataSave|
|000058e0| 52 65 66 25 3d 2d 31 3a | 54 49 46 46 63 6f 6d 70 |Ref%=-1:|TIFFcomp|
|000058f0| 3d 30 3a 54 79 70 65 3d | 26 36 39 35 0d 16 4e 05 |=0:Type=|&695..N.|
|00005900| e1 0d 16 58 05 20 0d 16 | 62 17 dd a4 63 76 61 72 |...X. ..|b...cvar|
|00005910| 28 f8 20 76 61 72 25 2c | 76 61 6c 25 29 0d 16 6c |(. var%,|val%)..l|
|00005920| 2b f4 20 43 72 65 61 74 | 65 73 20 6e 65 77 20 76 |+. Creat|es new v|
|00005930| 61 72 69 61 62 6c 65 20 | 76 61 72 25 2c 20 76 61 |ariable |var%, va|
|00005940| 6c 75 65 20 76 61 6c 25 | 0d 16 76 10 76 61 72 25 |lue val%|..v.var%|
|00005950| 3d 76 61 6c 25 3a 3d 30 | 0d 16 80 05 20 0d 16 8a |=val%:=0|.... ...|
|00005960| 19 dd a4 69 63 6f 6e 61 | 64 64 72 28 77 69 6e 25 |...icona|ddr(win%|
|00005970| 2c 69 63 6f 25 29 0d 16 | 94 2c f4 20 52 65 74 75 |,ico%)..|.,. Retu|
|00005980| 72 6e 73 20 69 6e 64 69 | 72 65 63 74 65 64 20 69 |rns indi|rected i|
|00005990| 63 6f 6e 27 73 20 64 61 | 74 61 20 61 64 64 72 65 |con's da|ta addre|
|000059a0| 73 73 0d 16 9e 3e 21 62 | 6c 6f 63 6b 3d 77 69 6e |ss...>!b|lock=win|
|000059b0| 25 3a 62 6c 6f 63 6b 21 | 34 3d 69 63 6f 25 3a c8 |%:block!|4=ico%:.|
|000059c0| 99 20 57 47 65 74 49 53 | 25 2c 2c 62 6c 6f 63 6b |. WGetIS|%,,block|
|000059d0| 3a f4 20 47 65 74 20 69 | 63 6f 6e 20 69 6e 66 6f |:. Get i|con info|
|000059e0| 0d 16 a8 0d 3d 62 6c 6f | 63 6b 21 32 38 0d 16 b2 |....=blo|ck!28...|
|000059f0| 05 20 0d 16 bc 15 dd a4 | 73 77 69 5f 74 6f 5f 6e |. ......|swi_to_n|
|00005a00| 72 28 73 77 69 24 29 0d | 16 c6 29 f4 20 52 65 74 |r(swi$).|..). Ret|
|00005a10| 75 72 6e 73 20 53 57 49 | 20 6e 75 6d 62 65 72 20 |urns SWI| number |
|00005a20| 6f 66 20 53 57 49 20 63 | 61 6c 6c 20 73 77 69 24 |of SWI c|all swi$|
|00005a30| 0d 16 d0 0c ea 20 73 77 | 69 6e 72 25 0d 16 da 2f |..... sw|inr%.../|
|00005a40| c8 99 20 22 58 4f 53 5f | 53 57 49 4e 75 6d 62 65 |.. "XOS_|SWINumbe|
|00005a50| 72 46 72 6f 6d 53 74 72 | 69 6e 67 22 2c 2c 73 77 |rFromStr|ing",,sw|
|00005a60| 69 24 20 b8 20 73 77 69 | 6e 72 25 0d 16 e4 0b 3d |i$ . swi|nr%....=|
|00005a70| 73 77 69 6e 72 25 0d 16 | ee 05 20 0d 16 f8 1a dd |swinr%..|.. .....|
|00005a80| f2 65 72 72 6f 72 28 65 | 72 72 6e 72 2c 65 72 72 |.error(e|rrnr,err|
|00005a90| 6d 73 67 24 29 0d 17 02 | 14 f4 20 48 61 6e 64 6c |msg$)...|.. Handl|
|00005aa0| 65 73 20 65 72 72 6f 72 | 73 0d 17 0c 0f ea 20 62 |es error|s..... b|
|00005ab0| 75 74 25 2c 6f 70 74 25 | 0d 17 16 27 e7 65 72 72 |ut%,opt%|...'.err|
|00005ac0| 6e 72 3d 2d 31 20 8c 20 | 65 72 72 6e 72 3d 31 3a |nr=-1 . |errnr=1:|
|00005ad0| 6f 70 74 25 3d 31 20 8b | 20 6f 70 74 25 3d 33 0d |opt%=1 .| opt%=3.|
|00005ae0| 17 20 1f 21 65 72 72 3d | 65 72 72 6e 72 3a 24 28 |. .!err=|errnr:$(|
|00005af0| 65 72 72 2b 34 29 3d 65 | 72 72 6d 73 67 24 0d 17 |err+4)=e|rrmsg$..|
|00005b00| 2a 2a c8 99 20 57 52 65 | 70 6f 72 74 25 2c 65 72 |**.. WRe|port%,er|
|00005b10| 72 2c 6f 70 74 25 2c 61 | 70 70 6c 6e 61 6d 65 24 |r,opt%,a|pplname$|
|00005b20| 20 b8 20 2c 62 75 74 25 | 0d 17 34 13 e7 62 75 74 | . ,but%|..4..but|
|00005b30| 25 3c 3e 31 20 8c 20 f2 | 64 69 65 0d 17 3e 05 e1 |%<>1 . .|die..>..|
|00005b40| 0d 17 48 05 20 0d 17 52 | 0c dd f2 66 69 6e 69 73 |..H. ..R|...finis|
|00005b50| 68 0d 17 5c 0f f4 20 54 | 69 64 69 65 73 20 75 70 |h..\.. T|idies up|
|00005b60| 0d 17 66 2c c8 99 20 22 | 4f 53 5f 4d 6f 64 75 6c |..f,.. "|OS_Modul|
|00005b70| 65 22 2c 34 2c 22 43 72 | 65 61 74 6f 72 22 3a f4 |e",4,"Cr|eator":.|
|00005b80| 20 4b 69 6c 6c 20 6d 6f | 64 75 6c 65 0d 17 70 2d | Kill mo|dule..p-|
|00005b90| c8 99 20 22 57 69 6d 70 | 5f 43 6c 6f 73 65 44 6f |.. "Wimp|_CloseDo|
|00005ba0| 77 6e 22 2c 54 61 73 6b | 48 61 6e 64 6c 65 25 2c |wn",Task|Handle%,|
|00005bb0| 26 34 42 35 33 34 31 35 | 34 0d 17 7a 05 e1 0d 17 |&4B53415|4..z....|
|00005bc0| 84 05 20 0d 17 8e 09 dd | f2 64 69 65 0d 17 98 19 |.. .....|.die....|
|00005bd0| f4 20 54 69 64 69 65 73 | 20 75 70 20 61 6e 64 20 |. Tidies| up and |
|00005be0| 65 78 69 74 73 0d 17 a2 | 0b f2 66 69 6e 69 73 68 |exits...|..finish|
|00005bf0| 0d 17 ac 10 c8 99 20 22 | 4f 53 5f 45 78 69 74 22 |...... "|OS_Exit"|
|00005c00| 0d 17 b6 05 e1 0d 17 c0 | 05 20 0d 17 ca 1a dd f2 |........|. ......|
|00005c10| 76 61 72 28 76 61 72 6e | 61 6d 65 24 2c 76 61 6c |var(varn|ame$,val|
|00005c20| 75 65 25 29 0d 17 d4 1c | f4 20 57 72 69 74 65 73 |ue%)....|. Writes|
|00005c30| 20 6d 6f 64 75 6c 65 20 | 76 61 72 69 61 62 6c 65 | module |variable|
|00005c40| 0d 17 de 38 24 64 75 6d | 25 3d 76 61 72 6e 61 6d |...8$dum|%=varnam|
|00005c50| 65 24 3a c8 99 20 22 43 | 72 65 61 74 6f 72 5f 53 |e$:.. "C|reator_S|
|00005c60| 65 74 56 61 72 69 61 62 | 6c 65 22 2c 21 64 75 6d |etVariab|le",!dum|
|00005c70| 25 2c 76 61 6c 75 65 25 | 0d 17 e8 05 e1 0d 17 f2 |%,value%|........|
|00005c80| 05 20 0d 17 fc 13 dd a4 | 76 61 72 28 76 61 72 6e |. ......|var(varn|
|00005c90| 61 6d 65 24 29 0d 18 06 | 1b f4 20 52 65 61 64 73 |ame$)...|.. Reads|
|00005ca0| 20 6d 6f 64 75 6c 65 20 | 76 61 72 69 61 62 6c 65 | module |variable|
|00005cb0| 0d 18 10 0c ea 20 76 61 | 6c 75 65 25 0d 18 1a 3b |..... va|lue%...;|
|00005cc0| 24 64 75 6d 25 3d 76 61 | 72 6e 61 6d 65 24 3a c8 |$dum%=va|rname$:.|
|00005cd0| 99 20 22 43 72 65 61 74 | 6f 72 5f 52 65 61 64 56 |. "Creat|or_ReadV|
|00005ce0| 61 72 69 61 62 6c 65 22 | 2c 21 64 75 6d 25 20 b8 |ariable"|,!dum% .|
|00005cf0| 20 76 61 6c 75 65 25 0d | 18 24 0b 3d 76 61 6c 75 | value%.|.$.=valu|
|00005d00| 65 25 0d ff | |e%.. | |
+--------+-------------------------+-------------------------+--------+--------+