home *** CD-ROM | disk | FTP | other *** search
Unknown | 1991-12-30 | 24.2 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 25 f4 |........|......%.|
|00000060| 20 41 72 63 68 69 76 65 | 73 2f 75 6e 61 72 63 68 | Archive|s/unarch|
|00000070| 69 76 65 73 20 64 69 72 | 65 63 74 6f 72 69 65 73 |ives dir|ectories|
|00000080| 0d 00 28 2d f4 20 56 65 | 72 73 69 6f 6e 20 64 61 |..(-. Ve|rsion da|
|00000090| 74 65 20 3a 20 4d 6f 6e | 2c 33 30 20 44 65 63 20 |te : Mon|,30 Dec |
|000000a0| 31 39 39 31 2e 31 38 3a | 31 35 3a 30 36 0d 00 32 |1991.18:|15:06..2|
|000000b0| 1e f4 20 a9 20 31 39 39 | 31 20 5a 65 72 69 64 61 |.. . 199|1 Zerida|
|000000c0| 6a 68 20 73 6f 66 74 77 | 61 72 65 0d 00 3c 15 f4 |jh softw|are..<..|
|000000d0| 20 62 79 20 4a 6f 68 6e | 20 4b 6f 72 74 69 6e 6b | by John| Kortink|
|000000e0| 0d 00 46 4b f4 ab ab ab | ab ab ab ab ab ab ab ab |..FK....|........|
|000000f0| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|00000100| ab ab ab ab ab ab ab ab | ab ab ab ab ab ab ab ab |........|........|
|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 0d 00 50 2a ee |........|.....P*.|
|00000130| 20 85 20 f2 65 72 72 6f | 72 28 9f 2c f6 24 2b 22 | . .erro|r(.,.$+"|
|00000140| 20 28 63 6f 64 65 20 22 | 2b c3 9e 2b 22 29 22 29 | (code "|+..+")")|
|00000150| 3a f2 64 69 65 0d 00 5a | 2a 4d 61 78 44 65 70 74 |:.die..Z|*MaxDept|
|00000160| 68 25 3d 32 35 36 3a f4 | 20 4d 61 78 69 6d 75 6d |h%=256:.| Maximum|
|00000170| 20 73 75 62 64 69 72 20 | 6e 65 73 74 69 6e 67 0d | subdir |nesting.|
|00000180| 00 64 34 de 20 57 69 6e | 64 6f 77 20 26 38 30 30 |.d4. Win|dow &800|
|00000190| 2c 50 6f 6c 6c 20 32 35 | 36 2c 42 6c 6f 63 6b 20 |,Poll 25|6,Block |
|000001a0| 32 35 36 2c 49 62 6c 20 | 32 35 36 2c 45 72 72 20 |256,Ibl |256,Err |
|000001b0| 32 35 36 0d 00 6e 4c de | 20 44 75 6d 25 20 32 35 |256..nL.| Dum% 25|
|000001c0| 36 2c 46 64 61 74 61 25 | 20 32 35 36 2c 49 63 6f |6,Fdata%| 256,Ico|
|000001d0| 6e 25 28 33 32 2c 32 29 | 2c 44 69 72 25 28 4d 61 |n%(32,2)|,Dir%(Ma|
|000001e0| 78 44 65 70 74 68 25 2c | 32 29 2c 42 75 66 49 25 |xDepth%,|2),BufI%|
|000001f0| 20 32 35 36 2c 53 76 61 | 6c 25 28 32 2c 31 29 0d | 256,Sva|l%(2,1).|
|00000200| 00 78 3f 50 72 6f 67 6e | 65 65 64 25 3d 37 30 2a |.x?Progn|eed%=70*|
|00000210| 31 30 32 34 3a f4 20 45 | 73 74 69 6d 61 74 65 64 |1024:. E|stimated|
|00000220| 20 73 70 61 63 65 20 6e | 65 65 64 65 64 20 66 6f | space n|eeded fo|
|00000230| 72 20 70 72 6f 67 72 61 | 6d 2b 76 61 72 73 0d 00 |r progra|m+vars..|
|00000240| 82 28 4c 6f 77 48 65 61 | 70 25 3d 31 30 32 34 3a |.(LowHea|p%=1024:|
|00000250| f4 20 4c 6f 77 65 73 74 | 20 73 69 7a 65 20 66 6f |. Lowest| size fo|
|00000260| 72 20 68 65 61 70 0d 00 | 8c 37 54 6f 74 61 6c 66 |r heap..|.7Totalf|
|00000270| 72 65 65 25 3d 93 2d 90 | 3a f4 20 54 6f 74 61 6c |ree%=.-.|:. Total|
|00000280| 20 66 72 65 65 20 66 6f | 72 20 70 72 6f 67 72 61 | free fo|r progra|
|00000290| 6d 2b 76 61 72 73 2b 73 | 70 72 62 75 66 0d 00 96 |m+vars+s|prbuf...|
|000002a0| 45 4d 69 64 48 69 6d 65 | 6d 25 3d 90 2b 50 72 6f |EMidHime|m%=.+Pro|
|000002b0| 67 6e 65 65 64 25 3a f4 | 20 50 73 65 75 64 6f 20 |gneed%:.| Pseudo |
|000002c0| 48 49 4d 45 4d 20 28 74 | 6f 70 20 6f 66 20 70 72 |HIMEM (t|op of pr|
|000002d0| 6f 67 2c 20 73 74 61 72 | 74 20 6f 66 20 68 65 61 |og, star|t of hea|
|000002e0| 70 29 0d 00 a0 44 48 65 | 61 70 25 3d 4d 69 64 48 |p)...DHe|ap%=MidH|
|000002f0| 69 6d 65 6d 25 3a 48 65 | 61 70 53 69 7a 65 25 3d |imem%:He|apSize%=|
|00000300| 54 6f 74 61 6c 66 72 65 | 65 25 2d 50 72 6f 67 6e |Totalfre|e%-Progn|
|00000310| 65 65 64 25 3a f4 20 53 | 65 74 20 68 65 61 70 20 |eed%:. S|et heap |
|00000320| 2b 20 73 69 7a 65 0d 00 | aa 3b e7 48 65 61 70 53 |+ size..|.;.HeapS|
|00000330| 69 7a 65 25 3c 4c 6f 77 | 48 65 61 70 25 20 8c 20 |ize%<Low|Heap% . |
|00000340| 85 20 31 2c 22 4e 6f 20 | 72 6f 6f 6d 20 74 6f 20 |. 1,"No |room to |
|00000350| 73 74 61 72 74 20 75 70 | 20 50 61 63 6b 44 69 72 |start up| PackDir|
|00000360| 22 0d 00 b4 33 d3 3d 4d | 69 64 48 69 6d 65 6d 25 |"...3.=M|idHimem%|
|00000370| 3a f4 20 4c 6f 77 65 72 | 20 68 69 6d 65 6d 20 74 |:. Lower| himem t|
|00000380| 6f 20 62 65 6c 6f 77 20 | 66 69 6c 65 20 62 75 66 |o below |file buf|
|00000390| 66 65 72 73 0d 00 be 28 | f2 69 6e 69 74 69 61 6c |fers...(|.initial|
|000003a0| 69 73 65 3a f4 20 49 6e | 69 74 69 61 6c 69 73 65 |ise:. In|itialise|
|000003b0| 20 61 70 70 6c 69 63 61 | 74 69 6f 6e 0d 00 c8 9b | applica|tion....|
|000003c0| 69 6e 24 3d a4 4f 53 76 | 61 72 28 22 50 61 63 6b |in$=.OSv|ar("Pack|
|000003d0| 44 69 72 24 46 69 6c 65 | 22 29 3a e7 69 6e 24 3c |Dir$File|"):.in$<|
|000003e0| 3e 22 22 20 8c 20 c8 99 | 20 22 4f 53 5f 43 4c 49 |>"" . ..| "OS_CLI|
|000003f0| 22 2c 22 55 6e 73 65 74 | 20 50 61 63 6b 44 69 72 |","Unset| PackDir|
|00000400| 24 46 69 6c 65 22 3a c8 | 99 20 22 4f 53 5f 46 69 |$File":.|. "OS_Fi|
|00000410| 6c 65 22 2c 35 2c 69 6e | 24 20 b8 20 2c 2c 6c 25 |le",5,in|$ . ,,l%|
|00000420| 3a e7 28 6c 25 3e 3e 3e | 32 30 29 3d 26 46 46 46 |:.(l%>>>|20)=&FFF|
|00000430| 20 8c 20 e7 28 28 6c 25 | 3e 3e 38 29 80 26 46 46 | . .((l%|>>8).&FF|
|00000440| 46 29 3d 26 36 38 45 20 | 8c 20 f2 64 6f 28 69 6e |F)=&68E |. .do(in|
|00000450| 24 2c 26 36 38 45 29 0d | 00 d2 25 ee 20 85 20 f2 |$,&68E).|..%. . .|
|00000460| 65 72 72 6f 72 28 9f 2c | f6 24 2b 22 20 28 63 6f |error(.,|.$+" (co|
|00000470| 64 65 20 22 2b c3 9e 2b | 22 29 22 29 0d 00 dc 15 |de "+..+|")")....|
|00000480| f4 20 50 6f 6c 6c 20 61 | 6e 64 20 61 63 74 69 6f |. Poll a|nd actio|
|00000490| 6e 0d 00 e6 44 e7 44 61 | 74 61 4c 6f 61 64 52 65 |n...D.Da|taLoadRe|
|000004a0| 66 25 20 8c 20 70 6f 6c | 6c 6d 61 73 6b 25 3d 34 |f% . pol|lmask%=4|
|000004b0| 38 20 8b 20 70 6f 6c 6c | 6d 61 73 6b 25 3d 34 39 |8 . poll|mask%=49|
|000004c0| 3a f4 20 4e 6f 20 6e 75 | 6c 6c 73 20 69 66 20 77 |:. No nu|lls if w|
|000004d0| 61 73 74 65 64 0d 00 f0 | 19 c8 8e 20 a4 70 6f 6c |asted...|... .pol|
|000004e0| 6c 28 70 6f 6c 6c 6d 61 | 73 6b 25 29 20 ca 0d 00 |l(pollma|sk%) ...|
|000004f0| fa 10 20 c9 20 30 20 3a | 20 f2 6e 75 6c 6c 0d 01 |.. . 0 :| .null..|
|00000500| 04 10 20 c9 20 32 20 3a | 20 f2 6f 70 65 6e 0d 01 |.. . 2 :| .open..|
|00000510| 0e 11 20 c9 20 33 20 3a | 20 f2 63 6c 6f 73 65 0d |.. . 3 :| .close.|
|00000520| 01 18 16 20 c9 20 36 20 | 3a 20 f2 6d 6f 75 73 65 |... . 6 |: .mouse|
|00000530| 63 6c 69 63 6b 0d 01 22 | 14 20 c9 20 37 20 3a 20 |click.."|. . 7 : |
|00000540| f2 64 72 61 67 64 72 6f | 70 0d 01 2c 0f 20 c9 20 |.dragdro|p..,. . |
|00000550| 38 20 3a 20 f2 6b 65 79 | 0d 01 36 16 20 c9 20 39 |8 : .key|..6. . 9|
|00000560| 20 3a 20 f2 6d 65 6e 75 | 73 65 6c 65 63 74 0d 01 | : .menu|select..|
|00000570| 40 17 20 c9 20 31 37 2c | 31 38 20 3a 20 f2 6d 65 |@. . 17,|18 : .me|
|00000580| 73 73 61 67 65 0d 01 4a | 05 cb 0d 01 54 0d e7 41 |ssage..J|....T..A|
|00000590| 63 74 69 6f 6e 20 8c 0d | 01 5e 2c 20 41 63 74 3d |ction ..|.^, Act=|
|000005a0| 41 63 74 69 6f 6e 3a 41 | 63 74 69 6f 6e 3d 30 3a |Action:A|ction=0:|
|000005b0| f4 20 52 65 73 65 74 20 | 61 63 74 69 6f 6e 20 66 |. Reset |action f|
|000005c0| 6c 61 67 0d 01 68 3c 20 | 53 6c 6f 74 44 6f 77 6e |lag..h< |SlotDown|
|000005d0| 3d b9 3a e0 3d 26 31 30 | 30 30 30 30 30 3a f2 6e |=.:.=&10|00000:.n|
|000005e0| 65 77 5f 73 6c 6f 74 3a | d3 3d 4d 69 64 48 69 6d |ew_slot:|.=MidHim|
|000005f0| 65 6d 25 3a f4 20 43 6c | 61 69 6d 20 6d 61 78 0d |em%:. Cl|aim max.|
|00000600| 01 72 0d 20 c8 8e 20 41 | 63 74 20 ca 0d 01 7c 27 |.r. .. A|ct ...|'|
|00000610| 20 20 c9 20 41 63 74 41 | 72 63 2c 41 63 74 55 6e | . ActA|rc,ActUn|
|00000620| 61 72 63 20 3a 20 f4 20 | 28 44 65 29 61 72 63 68 |arc : . |(De)arch|
|00000630| 69 76 65 0d 01 86 18 20 | 20 20 e7 a4 61 6c 6c 6f |ive.... | ..allo|
|00000640| 63 61 74 65 5f 68 65 61 | 70 20 8c 0d 01 90 10 20 |cate_hea|p ..... |
|00000650| 20 20 20 f2 68 6f 75 72 | 5f 6f 6e 0d 01 9a 10 20 | .hour|_on.... |
|00000660| 20 20 20 c8 8e 20 41 63 | 74 20 ca 0d 01 a4 33 20 | .. Ac|t ....3 |
|00000670| 20 20 20 20 c9 20 41 63 | 74 41 72 63 20 3a 20 f2 | . Ac|tArc : .|
|00000680| 61 72 63 68 69 76 65 28 | 49 6e 70 75 74 24 2c 4f |archive(|Input$,O|
|00000690| 75 74 70 75 74 24 2c 65 | 72 72 6f 72 24 29 0d 01 |utput$,e|rror$)..|
|000006a0| ae 37 20 20 20 20 20 c9 | 20 41 63 74 55 6e 61 72 |.7 .| ActUnar|
|000006b0| 63 20 3a 20 f2 75 6e 61 | 72 63 68 69 76 65 28 49 |c : .una|rchive(I|
|000006c0| 6e 70 75 74 24 2c 4f 75 | 74 70 75 74 24 2c 65 72 |nput$,Ou|tput$,er|
|000006d0| 72 6f 72 24 29 0d 01 b8 | 09 20 20 20 20 cb 0d 01 |ror$)...|. ...|
|000006e0| c2 11 20 20 20 20 f2 68 | 6f 75 72 5f 6f 66 66 0d |.. .h|our_off.|
|000006f0| 01 cc 15 20 20 20 20 e7 | 65 72 72 6f 72 24 3c 3e |... .|error$<>|
|00000700| 22 22 20 8c 0d 01 d6 26 | 20 20 20 20 20 f2 63 6c |"" ....&| .cl|
|00000710| 6f 73 65 66 3a f4 20 45 | 6e 73 75 72 65 20 66 69 |osef:. E|nsure fi|
|00000720| 6c 65 73 20 63 6c 6f 73 | 65 64 0d 01 e0 a0 20 20 |les clos|ed.... |
|00000730| 20 20 20 e7 65 72 72 6f | 72 24 3d 22 21 53 41 4d | .erro|r$="!SAM|
|00000740| 45 46 49 4c 45 22 20 8c | 20 65 72 72 6f 72 24 3d |EFILE" .| error$=|
|00000750| 22 49 20 63 61 6e 6e 6f | 74 20 75 73 65 20 74 68 |"I canno|t use th|
|00000760| 65 20 73 61 6d 65 20 66 | 69 6c 65 2f 64 69 72 65 |e same f|ile/dire|
|00000770| 63 74 6f 72 79 20 66 6f | 72 20 6f 75 74 70 75 74 |ctory fo|r output|
|00000780| 20 21 22 20 8b 20 e7 41 | 63 74 3d 41 63 74 41 72 | !" . .A|ct=ActAr|
|00000790| 63 20 8c 20 c8 99 20 22 | 58 4f 53 5f 46 69 6c 65 |c . .. "|XOS_File|
|000007a0| 22 2c 36 2c 4f 75 74 70 | 75 74 24 3a f4 20 4b 69 |",6,Outp|ut$:. Ki|
|000007b0| 6c 6c 20 6f 75 74 70 75 | 74 20 61 72 63 68 69 76 |ll outpu|t archiv|
|000007c0| 65 20 69 66 20 65 72 72 | 6f 72 0d 01 ea 29 20 20 |e if err|or...) |
|000007d0| 20 20 20 f2 65 72 72 6f | 72 28 2d 31 2c 65 72 72 | .erro|r(-1,err|
|000007e0| 6f 72 24 29 3a f4 20 52 | 65 70 6f 72 74 20 65 72 |or$):. R|eport er|
|000007f0| 72 6f 72 0d 01 f4 09 20 | 20 20 20 cd 0d 01 fe 08 |ror.... | .....|
|00000800| 20 20 20 cd 0d 02 08 06 | 20 cb 0d 02 12 05 cd 0d | .....| .......|
|00000810| 02 1c 0f e7 53 6c 6f 74 | 44 6f 77 6e 20 8c 0d 02 |....Slot|Down ...|
|00000820| 26 39 20 e0 3d 4d 69 64 | 48 69 6d 65 6d 25 3a f2 |&9 .=Mid|Himem%:.|
|00000830| 6e 65 77 5f 73 6c 6f 74 | 3a d3 3d 4d 69 64 48 69 |new_slot|:.=MidHi|
|00000840| 6d 65 6d 25 3a f4 20 47 | 69 76 65 20 62 61 63 6b |mem%:. G|ive back|
|00000850| 20 6d 65 6d 6f 72 79 0d | 02 30 0f 20 53 6c 6f 74 | memory.|.0. Slot|
|00000860| 44 6f 77 6e 3d a3 0d 02 | 3a 05 cd 0d 02 44 44 e5 |Down=...|:....DD.|
|00000870| 20 8d 64 5c 40 3a f4 20 | 53 6f 72 72 79 2c 20 49 | .d\@:. |Sorry, I|
|00000880| 20 68 61 76 65 20 74 6f | 2e 20 43 75 72 72 65 6e | have to|. Curren|
|00000890| 74 20 42 41 53 49 43 20 | 72 65 73 74 72 69 63 74 |t BASIC |restrict|
|000008a0| 69 6f 6e 73 20 77 69 74 | 68 20 45 4e 44 3d 2e 0d |ions wit|h END=..|
|000008b0| 02 4e 05 20 0d 02 58 0e | dd f2 6e 65 77 5f 73 6c |.N. ..X.|..new_sl|
|000008c0| 6f 74 0d 02 62 1e f4 20 | 53 6c 6f 74 20 63 68 61 |ot..b.. |Slot cha|
|000008d0| 6e 67 65 64 2c 20 72 65 | 73 65 74 20 69 6e 66 6f |nged, re|set info|
|000008e0| 0d 02 6c 2c 48 65 61 70 | 53 69 7a 65 25 3d 93 2d |..l,Heap|Size%=.-|
|000008f0| 4d 69 64 48 69 6d 65 6d | 25 3a f4 20 4e 65 77 20 |MidHimem|%:. New |
|00000900| 73 69 7a 65 20 6f 66 20 | 68 65 61 70 0d 02 76 05 |size of |heap..v.|
|00000910| e1 0d 02 80 04 0d 02 8a | 13 dd a4 61 6c 6c 6f 63 |........|...alloc|
|00000920| 61 74 65 5f 68 65 61 70 | 0d 02 94 14 f4 20 41 6c |ate_heap|..... Al|
|00000930| 6c 6f 63 61 74 65 73 20 | 68 65 61 70 0d 02 9e 2d |locates |heap...-|
|00000940| f4 20 52 65 74 75 72 6e | 73 20 54 52 55 45 20 69 |. Return|s TRUE i|
|00000950| 66 20 61 6c 6c 20 69 73 | 20 77 65 6c 6c 2c 20 65 |f all is| well, e|
|00000960| 6c 73 65 20 46 41 4c 53 | 45 0d 02 a8 36 46 72 65 |lse FALS|E...6Fre|
|00000970| 65 25 3d 48 65 61 70 53 | 69 7a 65 25 2d 32 35 36 |e%=HeapS|ize%-256|
|00000980| 3a 53 74 6f 72 65 25 3d | 48 65 61 70 25 3a f4 20 |:Store%=|Heap%:. |
|00000990| 49 6e 69 74 20 61 6c 6c | 6f 63 61 74 69 6f 6e 0d |Init all|ocation.|
|000009a0| 02 b2 0c c8 8e 20 41 63 | 74 20 ca 0d 02 bc 26 20 |..... Ac|t ....& |
|000009b0| c9 20 41 63 74 41 72 63 | 20 3a 20 f4 20 41 72 63 |. ActArc| : . Arc|
|000009c0| 68 69 76 69 6e 67 20 61 | 6c 6c 6f 63 61 74 69 6f |hiving a|llocatio|
|000009d0| 6e 0d 02 c6 3e 20 20 6c | 7a 77 65 6e 74 73 25 3d |n...> l|zwents%=|
|000009e0| 32 5e a4 6f 62 69 74 73 | 3a 4c 5a 57 74 61 62 6c |2^.obits|:LZWtabl|
|000009f0| 65 53 69 7a 65 25 3d 31 | 32 2a 6c 7a 77 65 6e 74 |eSize%=1|2*lzwent|
|00000a00| 73 25 3a 4c 5a 57 73 74 | 61 63 6b 25 3d 2d 31 0d |s%:LZWst|ack%=-1.|
|00000a10| 02 d0 2a 20 c9 20 41 63 | 74 55 6e 61 72 63 20 3a |..* . Ac|tUnarc :|
|00000a20| 20 f4 20 44 65 61 72 63 | 68 69 76 69 6e 67 20 61 | . Dearc|hiving a|
|00000a30| 6c 6c 6f 63 61 74 69 6f | 6e 0d 02 da b6 20 20 49 |llocatio|n.... I|
|00000a40| 6e 3d 8e 49 6e 70 75 74 | 24 3a cf 23 49 6e 3d 35 |n=.Input|$:.#In=5|
|00000a50| 3a 66 6f 72 6d 61 74 25 | 3d 9a 23 49 6e 20 84 20 |:format%|=.#In . |
|00000a60| 9a 23 49 6e 3c 3c 38 20 | 84 20 9a 23 49 6e 3c 3c |.#In<<8 |. .#In<<|
|00000a70| 31 36 20 84 20 9a 23 49 | 6e 3c 3c 32 34 3a d9 23 |16 . .#I|n<<24:.#|
|00000a80| 49 6e 3a e7 66 6f 72 6d | 61 74 25 3c 30 20 84 20 |In:.form|at%<0 . |
|00000a90| 66 6f 72 6d 61 74 25 3e | 34 20 8c 20 f2 65 72 72 |format%>|4 . .err|
|00000aa0| 6f 72 28 2d 31 2c 22 49 | 20 63 61 6e 6e 6f 74 20 |or(-1,"I| cannot |
|00000ab0| 72 65 61 64 20 66 6f 72 | 6d 61 74 20 23 22 2b c3 |read for|mat #"+.|
|00000ac0| 66 6f 72 6d 61 74 25 2b | 22 20 61 72 63 68 69 76 |format%+|" archiv|
|00000ad0| 65 73 20 21 22 29 3a 3d | a3 20 8b 20 4c 5a 57 69 |es !"):=|. . LZWi|
|00000ae0| 62 69 74 73 3d 31 32 2b | 66 6f 72 6d 61 74 25 0d |bits=12+|format%.|
|00000af0| 02 e4 19 20 20 6c 7a 77 | 65 6e 74 73 25 3d 32 5e |... lzw|ents%=2^|
|00000b00| 4c 5a 57 69 62 69 74 73 | 0d 02 ee 53 20 20 e7 a4 |LZWibits|...S ..|
|00000b10| 61 6c 6c 6f 63 61 74 65 | 28 4c 5a 57 73 74 61 63 |allocate|(LZWstac|
|00000b20| 6b 25 2c 6c 7a 77 65 6e | 74 73 25 29 20 8b 20 f2 |k%,lzwen|ts%) . .|
|00000b30| 65 72 72 6f 72 28 2d 31 | 2c 22 4e 6f 20 72 6f 6f |error(-1|,"No roo|
|00000b40| 6d 20 66 6f 72 20 4c 5a | 57 20 73 74 72 69 6e 67 |m for LZ|W string|
|00000b50| 20 73 74 61 63 6b 22 29 | 3a 3d a3 0d 02 f8 1e 20 | stack")|:=..... |
|00000b60| 20 4c 5a 57 74 61 62 6c | 65 53 69 7a 65 25 3d 38 | LZWtabl|eSize%=8|
|00000b70| 2a 6c 7a 77 65 6e 74 73 | 25 0d 03 02 05 cb 0d 03 |*lzwents|%.......|
|00000b80| 0c 50 e7 a4 61 6c 6c 6f | 63 61 74 65 28 4c 5a 57 |.P..allo|cate(LZW|
|00000b90| 74 61 62 6c 65 25 2c 4c | 5a 57 74 61 62 6c 65 53 |table%,L|ZWtableS|
|00000ba0| 69 7a 65 25 29 20 8b 20 | f2 65 72 72 6f 72 28 2d |ize%) . |.error(-|
|00000bb0| 31 2c 22 4e 6f 20 72 6f | 6f 6d 20 66 6f 72 20 4c |1,"No ro|om for L|
|00000bc0| 5a 57 20 74 61 62 6c 65 | 73 22 29 3a 3d a3 0d 03 |ZW table|s"):=...|
|00000bd0| 16 33 68 61 6c 76 65 25 | 3d 28 28 46 72 65 65 25 |.3halve%|=((Free%|
|00000be0| 2d 32 35 36 29 81 32 29 | 80 ac 33 3a f4 20 48 61 |-256).2)|..3:. Ha|
|00000bf0| 6c 66 20 6f 66 20 77 68 | 61 74 27 73 20 6c 65 66 |lf of wh|at's lef|
|00000c00| 74 0d 03 20 3a e7 68 61 | 6c 76 65 25 3c 32 35 36 |t.. :.ha|lve%<256|
|00000c10| 20 8c 20 f2 65 72 72 6f | 72 28 2d 31 2c 22 4e 6f | . .erro|r(-1,"No|
|00000c20| 20 72 6f 6f 6d 20 66 6f | 72 20 66 69 6c 65 20 62 | room fo|r file b|
|00000c30| 75 66 66 65 72 73 22 29 | 3a 3d a3 0d 03 2a 1e f4 |uffers")|:=...*..|
|00000c40| 20 49 6e 2f 6f 75 74 20 | 66 69 6c 65 20 62 75 66 | In/out |file buf|
|00000c50| 66 65 72 20 73 69 7a 65 | 73 0d 03 34 4b e7 28 a4 |fer size|s..4K.(.|
|00000c60| 6f 72 65 63 3d 32 29 20 | 84 20 28 a4 6f 72 65 63 |orec=2) |. (.orec|
|00000c70| 3d 33 29 20 84 20 28 a4 | 6f 73 74 6f 3d 32 29 20 |=3) . (.|osto=2) |
|00000c80| 8c 20 49 6e 42 75 66 53 | 69 7a 65 25 3d 32 35 36 |. InBufS|ize%=256|
|00000c90| 20 8b 20 49 6e 42 75 66 | 53 69 7a 65 25 3d 68 61 | . InBuf|Size%=ha|
|00000ca0| 6c 76 65 25 0d 03 3e 41 | e7 28 a4 6f 72 65 63 3d |lve%..>A|.(.orec=|
|00000cb0| 32 29 20 84 20 28 a4 6f | 72 65 63 3d 33 29 20 8c |2) . (.o|rec=3) .|
|00000cc0| 20 4f 75 74 42 75 66 53 | 69 7a 65 25 3d 32 35 36 | OutBufS|ize%=256|
|00000cd0| 20 8b 20 4f 75 74 42 75 | 66 53 69 7a 65 25 3d 68 | . OutBu|fSize%=h|
|00000ce0| 61 6c 76 65 25 0d 03 48 | 54 e7 a4 61 6c 6c 6f 63 |alve%..H|T..alloc|
|00000cf0| 61 74 65 28 4f 75 74 42 | 75 66 25 2c 4f 75 74 42 |ate(OutB|uf%,OutB|
|00000d00| 75 66 53 69 7a 65 25 29 | 20 8b 20 f2 65 72 72 6f |ufSize%)| . .erro|
|00000d10| 72 28 2d 31 2c 22 4e 6f | 20 72 6f 6f 6d 20 66 6f |r(-1,"No| room fo|
|00000d20| 72 20 6f 75 74 70 75 74 | 20 66 69 6c 65 20 62 75 |r output| file bu|
|00000d30| 66 66 65 72 22 29 3a 3d | a3 0d 03 52 51 e7 a4 61 |ffer"):=|...RQ..a|
|00000d40| 6c 6c 6f 63 61 74 65 28 | 49 6e 42 75 66 25 2c 49 |llocate(|InBuf%,I|
|00000d50| 6e 42 75 66 53 69 7a 65 | 25 29 20 8b 20 f2 65 72 |nBufSize|%) . .er|
|00000d60| 72 6f 72 28 2d 31 2c 22 | 4e 6f 20 72 6f 6f 6d 20 |ror(-1,"|No room |
|00000d70| 66 6f 72 20 69 6e 70 75 | 74 20 66 69 6c 65 20 62 |for inpu|t file b|
|00000d80| 75 66 66 65 72 22 29 3a | 3d a3 0d 03 5c b0 21 42 |uffer"):|=...\.!B|
|00000d90| 75 66 49 25 3d 4c 5a 57 | 74 61 62 6c 65 25 3a 42 |ufI%=LZW|table%:B|
|00000da0| 75 66 49 25 21 34 3d 4c | 5a 57 74 61 62 6c 65 53 |ufI%!4=L|ZWtableS|
|00000db0| 69 7a 65 25 3a 42 75 66 | 49 25 21 38 3d 4c 5a 57 |ize%:Buf|I%!8=LZW|
|00000dc0| 73 74 61 63 6b 25 3a 42 | 75 66 49 25 21 31 32 3d |stack%:B|ufI%!12=|
|00000dd0| 6c 7a 77 65 6e 74 73 25 | 3a 42 75 66 49 25 21 31 |lzwents%|:BufI%!1|
|00000de0| 36 3d 49 6e 42 75 66 25 | 3a 42 75 66 49 25 21 32 |6=InBuf%|:BufI%!2|
|00000df0| 30 3d 49 6e 42 75 66 53 | 69 7a 65 25 3a 42 75 66 |0=InBufS|ize%:Buf|
|00000e00| 49 25 21 32 34 3d 4f 75 | 74 42 75 66 25 3a 42 75 |I%!24=Ou|tBuf%:Bu|
|00000e10| 66 49 25 21 32 38 3d 4f | 75 74 42 75 66 53 69 7a |fI%!28=O|utBufSiz|
|00000e20| 65 25 3a f4 20 53 65 74 | 20 62 75 66 66 65 72 20 |e%:. Set| buffer |
|00000e30| 69 6e 66 6f 20 62 6c 6f | 63 6b 0d 03 66 06 3d b9 |info blo|ck..f.=.|
|00000e40| 0d 03 70 04 0d 03 7a 1d | dd a4 61 6c 6c 6f 63 61 |..p...z.|..alloca|
|00000e50| 74 65 28 f8 20 76 61 72 | 25 2c 62 79 74 65 73 25 |te(. var|%,bytes%|
|00000e60| 29 0d 03 84 2a f4 20 41 | 6c 6c 6f 63 61 74 65 73 |)...*. A|llocates|
|00000e70| 20 62 79 74 65 73 25 20 | 62 79 74 65 73 20 66 72 | bytes% |bytes fr|
|00000e80| 6f 6d 20 74 68 65 20 68 | 65 61 70 0d 03 8e 3c f4 |om the h|eap...<.|
|00000e90| 20 52 65 74 75 72 6e 73 | 20 54 52 55 45 20 61 6e | Returns| TRUE an|
|00000ea0| 64 20 62 61 73 65 20 69 | 6e 20 76 61 72 25 20 69 |d base i|n var% i|
|00000eb0| 66 20 73 75 63 63 65 73 | 66 75 6c 2c 20 65 6c 73 |f succes|ful, els|
|00000ec0| 65 20 46 41 4c 53 45 0d | 03 98 6b e7 28 62 79 74 |e FALSE.|..k.(byt|
|00000ed0| 65 73 25 3c 30 29 84 28 | 62 79 74 65 73 25 3e 31 |es%<0).(|bytes%>1|
|00000ee0| 36 2a 31 30 32 34 2a 31 | 30 32 34 29 20 8c 20 f2 |6*1024*1|024) . .|
|00000ef0| 65 72 72 6f 72 28 2d 31 | 2c 22 41 72 65 20 79 6f |error(-1|,"Are yo|
|00000f00| 75 20 4e 55 54 53 20 3f | 22 29 3a 3d a3 3a f4 20 |u NUTS ?|"):=.:. |
|00000f10| 45 6e 6f 72 6d 6f 75 73 | 20 6f 72 20 65 72 72 6f |Enormous| or erro|
|00000f20| 6e 65 6f 75 73 20 61 6d | 6f 75 6e 74 20 61 73 6b |neous am|ount ask|
|00000f30| 65 64 0d 03 a2 26 62 79 | 74 65 73 25 3d a4 61 6c |ed...&by|tes%=.al|
|00000f40| 69 67 6e 28 62 79 74 65 | 73 25 29 3a f4 20 57 6f |ign(byte|s%):. Wo|
|00000f50| 72 64 2d 61 6c 69 67 6e | 0d 03 ac 34 e7 46 72 65 |rd-align|...4.Fre|
|00000f60| 65 25 3c 62 79 74 65 73 | 25 20 8c 20 3d a3 3a f4 |e%<bytes|% . =.:.|
|00000f70| 20 44 6f 20 49 20 6e 65 | 65 64 20 38 20 6d 65 67 | Do I ne|ed 8 meg|
|00000f80| 20 61 66 74 65 72 20 61 | 6c 6c 20 3f 0d 03 b6 1d | after a|ll ?....|
|00000f90| 76 61 72 25 3d 53 74 6f | 72 65 25 3a f4 20 52 65 |var%=Sto|re%:. Re|
|00000fa0| 74 75 72 6e 20 62 61 73 | 65 0d 03 c0 3a 53 74 6f |turn bas|e...:Sto|
|00000fb0| 72 65 25 2b 3d 62 79 74 | 65 73 25 3a 46 72 65 65 |re%+=byt|es%:Free|
|00000fc0| 25 2d 3d 62 79 74 65 73 | 25 3a f4 20 44 65 61 6c |%-=bytes|%:. Deal|
|00000fd0| 6c 6f 63 61 74 65 20 73 | 74 6f 72 61 67 65 20 75 |locate s|torage u|
|00000fe0| 73 65 64 0d 03 ca 06 3d | b9 0d 03 d4 04 0d 03 de |sed....=|........|
|00000ff0| 11 dd a4 61 6c 69 67 6e | 28 76 61 6c 25 29 0d 03 |...align|(val%)..|
|00001000| e8 30 f4 20 52 65 74 75 | 72 6e 73 20 6e 65 78 74 |.0. Retu|rns next|
|00001010| 2d 75 70 20 77 6f 72 64 | 20 61 6c 69 67 6e 65 64 |-up word| aligned|
|00001020| 20 76 61 6c 75 65 20 6f | 66 20 76 61 6c 25 0d 03 | value o|f val%..|
|00001030| f2 10 3d 28 76 61 6c 25 | 2b 33 29 80 ac 33 0d 03 |..=(val%|+3)..3..|
|00001040| fc 05 20 0d 04 06 10 dd | f2 6d 65 6e 75 73 65 6c |.. .....|.menusel|
|00001050| 65 63 74 0d 04 10 14 f4 | 20 4d 65 6e 75 20 73 65 |ect.....| Menu se|
|00001060| 6c 65 63 74 69 6f 6e 0d | 04 1a 3f c8 99 20 57 44 |lection.|..?.. WD|
|00001070| 65 63 6f 64 65 4d 25 2c | 2c 4d 65 6e 75 31 2c 50 |ecodeM%,|,Menu1,P|
|00001080| 6f 6c 6c 2c c4 31 30 30 | 2c 22 20 22 29 20 b8 20 |oll,.100|," ") . |
|00001090| 2c 2c 2c 73 65 6c 65 63 | 74 24 3a f4 20 53 65 6c |,,,selec|t$:. Sel|
|000010a0| 65 63 74 69 6f 6e 0d 04 | 24 59 70 25 3d a7 73 65 |ection..|$Yp%=.se|
|000010b0| 6c 65 63 74 24 2c 22 2e | 22 29 3a e7 70 25 3e 30 |lect$,".|"):.p%>0|
|000010c0| 20 8c 20 73 65 6c 65 63 | 74 32 24 3d c1 73 65 6c | . selec|t2$=.sel|
|000010d0| 65 63 74 24 2c 70 25 2b | 31 29 3a 73 65 6c 65 63 |ect$,p%+|1):selec|
|000010e0| 74 24 3d c0 73 65 6c 65 | 63 74 24 2c 70 25 2d 31 |t$=.sele|ct$,p%-1|
|000010f0| 29 20 8b 20 73 65 6c 65 | 63 74 32 24 3d 22 22 0d |) . sele|ct2$="".|
|00001100| 04 2e 10 c8 8e 20 73 65 | 6c 65 63 74 24 20 ca 0d |..... se|lect$ ..|
|00001110| 04 38 18 20 c9 20 22 22 | 20 3a 20 f4 20 44 6f 20 |.8. . ""| : . Do |
|00001120| 6e 6f 74 68 69 6e 67 0d | 04 42 1e 20 c9 20 22 51 |nothing.|.B. . "Q|
|00001130| 75 69 74 22 20 3a 20 f4 | 20 51 75 69 74 20 70 72 |uit" : .| Quit pr|
|00001140| 6f 67 72 61 6d 0d 04 4c | 1d 20 20 f2 64 69 65 3a |ogram..L|. .die:|
|00001150| f4 20 54 69 64 79 20 75 | 70 20 61 6e 64 20 65 78 |. Tidy u|p and ex|
|00001160| 69 74 0d 04 56 23 20 c9 | 20 22 43 6f 6e 74 72 6f |it..V# .| "Contro|
|00001170| 6c 22 20 3a 20 f4 20 43 | 6f 6e 74 72 6f 6c 20 77 |l" : . C|ontrol w|
|00001180| 69 6e 64 6f 77 0d 04 60 | 22 20 20 f2 6f 70 65 6e |indow..`|" .open|
|00001190| 5f 77 69 6e 64 6f 77 28 | 77 69 6e 5f 63 6f 6e 74 |_window(|win_cont|
|000011a0| 72 6f 6c 25 2c 33 29 0d | 04 6a 05 cb 0d 04 74 28 |rol%,3).|.j....t(|
|000011b0| c8 99 20 57 47 65 74 50 | 49 25 2c 2c 42 6c 6f 63 |.. WGetP|I%,,Bloc|
|000011c0| 6b 3a f4 20 47 65 74 20 | 70 6f 69 6e 74 65 72 20 |k:. Get |pointer |
|000011d0| 69 6e 66 6f 0d 04 7e 35 | e7 28 28 42 6c 6f 63 6b |info..~5|.((Block|
|000011e0| 21 38 29 80 31 29 3e 30 | 20 8c 20 f2 6d 61 69 6e |!8).1)>0| . .main|
|000011f0| 5f 6d 65 6e 75 3a f4 20 | 41 64 6a 75 73 74 20 2d |_menu:. |Adjust -|
|00001200| 3e 20 72 65 2d 6f 70 65 | 6e 0d 04 88 05 e1 0d 04 |> re-ope|n.......|
|00001210| 92 04 0d 04 9c 0b dd f2 | 63 6c 6f 73 65 0d 04 a6 |........|close...|
|00001220| 28 f2 63 6c 6f 73 65 5f | 77 69 6e 64 6f 77 28 50 |(.close_|window(P|
|00001230| 6f 6c 6c 21 30 29 3a f4 | 20 43 6c 6f 73 65 20 77 |oll!0):.| Close w|
|00001240| 69 6e 64 6f 77 0d 04 b0 | 05 e1 0d 04 ba 04 0d 04 |indow...|........|
|00001250| c4 0a dd f2 6f 70 65 6e | 0d 04 ce 26 f2 6f 70 65 |....open|...&.ope|
|00001260| 6e 5f 77 69 6e 64 6f 77 | 28 30 2c 50 6f 6c 6c 29 |n_window|(0,Poll)|
|00001270| 3a f4 20 4f 70 65 6e 20 | 77 69 6e 64 6f 77 0d 04 |:. Open |window..|
|00001280| d8 05 e1 0d 04 e2 04 0d | 04 ec 0a dd f2 6e 75 6c |........|.....nul|
|00001290| 6c 0d 04 f6 13 e7 44 61 | 74 61 4c 6f 61 64 52 65 |l.....Da|taLoadRe|
|000012a0| 66 25 20 8c 0d 05 00 3e | 20 44 61 74 61 4c 6f 61 |f% ....>| DataLoa|
|000012b0| 64 52 65 66 25 3d a3 3a | c8 99 20 22 4f 53 5f 46 |dRef%=.:|.. "OS_F|
|000012c0| 69 6c 65 22 2c 36 2c 4f | 75 74 70 75 74 24 3a f4 |ile",6,O|utput$:.|
|000012d0| 20 44 65 6c 65 74 65 20 | 66 69 6c 65 20 73 61 76 | Delete |file sav|
|000012e0| 65 64 0d 05 0a 43 20 f2 | 65 72 72 6f 72 28 2d 31 |ed...C .|error(-1|
|000012f0| 2c 22 42 61 64 20 64 61 | 74 61 20 74 72 61 6e 73 |,"Bad da|ta trans|
|00001300| 66 65 72 2c 20 72 65 63 | 65 69 76 65 72 20 64 65 |fer, rec|eiver de|
|00001310| 61 64 22 29 3a f4 20 4e | 6f 20 44 61 74 61 4c 6f |ad"):. N|o DataLo|
|00001320| 61 64 41 63 6b 0d 05 14 | 05 cd 0d 05 1e 05 e1 0d |adAck...|........|
|00001330| 05 28 04 0d 05 32 09 dd | f2 6b 65 79 0d 05 3c 45 |.(...2..|.key..<E|
|00001340| 77 69 6e 25 3d 50 6f 6c | 6c 21 30 3a 69 63 6f 25 |win%=Pol|l!0:ico%|
|00001350| 3d 50 6f 6c 6c 21 34 3a | 63 68 61 72 25 3d 50 6f |=Poll!4:|char%=Po|
|00001360| 6c 6c 21 32 34 3a f4 20 | 57 69 6e 64 6f 77 2c 20 |ll!24:. |Window, |
|00001370| 69 63 6f 6e 2c 20 6b 65 | 79 20 70 72 65 73 73 65 |icon, ke|y presse|
|00001380| 64 0d 05 46 2a e7 28 77 | 69 6e 25 3d 77 69 6e 5f |d..F*.(w|in%=win_|
|00001390| 66 69 6c 65 25 29 20 80 | 20 28 69 63 6f 25 3d 49 |file%) .| (ico%=I|
|000013a0| 63 6f 46 74 79 70 65 25 | 29 20 8c 0d 05 50 0f 20 |coFtype%|) ...P. |
|000013b0| c8 8e 20 63 68 61 72 25 | 20 ca 0d 05 5a 1d 20 20 |.. char%| ...Z. |
|000013c0| c9 20 31 33 20 3a 20 f4 | 20 52 65 74 75 72 6e 20 |. 13 : .| Return |
|000013d0| 70 72 65 73 73 65 64 0d | 05 64 43 20 20 20 f2 65 |pressed.|.dC .e|
|000013e0| 72 72 6f 72 28 2d 31 2c | 22 50 6c 65 61 73 65 20 |rror(-1,|"Please |
|000013f0| 64 72 61 67 20 74 68 65 | 20 66 69 6c 65 20 69 63 |drag the| file ic|
|00001400| 6f 6e 20 74 6f 20 61 20 | 64 69 72 65 63 74 6f 72 |on to a |director|
|00001410| 79 20 76 69 65 77 65 72 | 22 29 0d 05 6e 1d 20 20 |y viewer|")..n. |
|00001420| c9 20 32 37 20 3a 20 f4 | 20 45 73 63 61 70 65 20 |. 27 : .| Escape |
|00001430| 70 72 65 73 73 65 64 0d | 05 78 1f 20 20 20 f2 63 |pressed.|.x. .c|
|00001440| 6c 6f 73 65 5f 77 69 6e | 64 6f 77 28 77 69 6e 5f |lose_win|dow(win_|
|00001450| 66 69 6c 65 25 29 0d 05 | 82 06 20 cb 0d 05 8c 05 |file%)..|.. .....|
|00001460| cd 0d 05 96 05 e1 0d 05 | a0 04 0d 05 aa 0d dd f2 |........|........|
|00001470| 6d 65 73 73 61 67 65 0d | 05 b4 2d f4 20 49 67 6e |message.|..-. Ign|
|00001480| 6f 72 65 20 6d 65 73 73 | 61 67 65 73 20 6f 72 69 |ore mess|ages ori|
|00001490| 67 69 6e 61 74 69 6e 67 | 20 66 72 6f 6d 20 6d 79 |ginating| from my|
|000014a0| 73 65 6c 66 0d 05 be 36 | e7 28 50 6f 6c 6c 21 34 |self...6|.(Poll!4|
|000014b0| 29 3d 54 61 73 6b 48 61 | 6e 64 6c 65 25 20 8c 20 |)=TaskHa|ndle% . |
|000014c0| 6d 73 67 6e 72 25 3d 2d | 31 20 8b 20 6d 73 67 6e |msgnr%=-|1 . msgn|
|000014d0| 72 25 3d 50 6f 6c 6c 21 | 31 36 0d 05 c8 0f c8 8e |r%=Poll!|16......|
|000014e0| 20 6d 73 67 6e 72 25 20 | ca 0d 05 d2 19 20 c9 20 | msgnr% |..... . |
|000014f0| 2d 31 20 3a 20 f4 20 44 | 6f 6e 27 74 20 72 65 61 |-1 : . D|on't rea|
|00001500| 63 74 0d 05 dc 2b 20 c9 | 20 30 20 3a 20 f2 64 69 |ct...+ .| 0 : .di|
|00001510| 65 3a f4 20 52 65 71 75 | 65 73 74 20 74 6f 20 74 |e:. Requ|est to t|
|00001520| 65 72 6d 69 6e 61 74 65 | 20 74 61 73 6b 0d 05 e6 |erminate| task...|
|00001530| 2e 20 c9 20 31 20 3a 20 | f4 20 44 61 74 61 53 61 |. . 1 : |. DataSa|
|00001540| 76 65 2c 20 74 72 61 6e | 73 66 65 72 20 76 69 61 |ve, tran|sfer via|
|00001550| 20 73 63 72 61 70 20 66 | 69 6c 65 0d 05 f0 37 20 | scrap f|ile...7 |
|00001560| 20 73 63 72 61 70 24 3d | a4 4f 53 76 61 72 28 22 | scrap$=|.OSvar("|
|00001570| 57 69 6d 70 24 53 63 72 | 61 70 22 29 3a f4 20 52 |Wimp$Scr|ap"):. R|
|00001580| 65 61 64 20 73 63 72 61 | 70 20 66 69 6c 65 6e 61 |ead scra|p filena|
|00001590| 6d 65 0d 05 fa d2 20 20 | e7 73 63 72 61 70 24 3c |me.... |.scrap$<|
|000015a0| 3e 22 22 20 8c 20 50 6f | 6c 6c 21 31 32 3d 50 6f |>"" . Po|ll!12=Po|
|000015b0| 6c 6c 21 38 3a 50 6f 6c | 6c 21 31 36 3d 32 3a 50 |ll!8:Pol|l!16=2:P|
|000015c0| 6f 6c 6c 21 33 36 3d 2d | 31 3a 24 28 50 6f 6c 6c |oll!36=-|1:$(Poll|
|000015d0| 2b 34 34 29 3d 73 63 72 | 61 70 24 2b bd 30 3a 50 |+44)=scr|ap$+.0:P|
|000015e0| 6f 6c 6c 21 30 3d 34 34 | 2b 28 a9 73 63 72 61 70 |oll!0=44|+(.scrap|
|000015f0| 24 2b 31 2b 33 29 80 ac | 33 3a c8 99 20 57 53 65 |$+1+3)..|3:.. WSe|
|00001600| 6e 64 4d 73 67 25 2c 31 | 38 2c 50 6f 6c 6c 2c 50 |ndMsg%,1|8,Poll,P|
|00001610| 6f 6c 6c 21 34 20 8b 20 | f2 65 72 72 6f 72 28 2d |oll!4 . |.error(-|
|00001620| 31 2c 22 57 69 6d 70 24 | 53 63 72 61 70 20 6e 6f |1,"Wimp$|Scrap no|
|00001630| 74 20 64 65 66 69 6e 65 | 64 22 29 3a f4 20 53 65 |t define|d"):. Se|
|00001640| 6e 64 20 44 61 74 61 53 | 61 76 65 41 63 6b 20 69 |nd DataS|aveAck i|
|00001650| 66 20 73 63 72 61 70 20 | 66 69 6c 65 20 64 65 66 |f scrap |file def|
|00001660| 69 6e 65 64 0d 06 04 23 | 20 c9 20 32 20 3a 20 f4 |ined...#| . 2 : .|
|00001670| 20 44 61 74 61 53 61 76 | 65 41 63 6b 2c 20 73 61 | DataSav|eAck, sa|
|00001680| 76 65 20 66 69 6c 65 0d | 06 0e 41 20 20 4f 75 74 |ve file.|..A Out|
|00001690| 70 75 74 24 3d a4 73 74 | 72 69 6e 67 28 50 6f 6c |put$=.st|ring(Pol|
|000016a0| 6c 2b 34 34 29 3a f4 20 | 52 65 61 64 20 70 61 74 |l+44):. |Read pat|
|000016b0| 68 2d 6e 61 6d 65 20 6f | 66 20 66 69 6c 65 20 74 |h-name o|f file t|
|000016c0| 6f 20 63 72 65 61 74 65 | 0d 06 18 3e 20 20 50 6f |o create|...> Po|
|000016d0| 6c 6c 21 31 32 3d 50 6f | 6c 6c 21 38 3a 50 6f 6c |ll!12=Po|ll!8:Pol|
|000016e0| 6c 21 31 36 3d 33 3a f4 | 20 41 6d 65 6e 64 20 64 |l!16=3:.| Amend d|
|000016f0| 61 74 61 20 62 6c 6f 63 | 6b 20 66 6f 72 20 44 61 |ata bloc|k for Da|
|00001700| 74 61 4c 6f 61 64 0d 06 | 22 31 20 20 c8 99 20 57 |taLoad..|"1 .. W|
|00001710| 53 65 6e 64 4d 73 67 25 | 2c 31 38 2c 50 6f 6c 6c |SendMsg%|,18,Poll|
|00001720| 2c 50 6f 6c 6c 21 34 3a | f4 20 53 65 6e 64 20 44 |,Poll!4:|. Send D|
|00001730| 61 74 61 4c 6f 61 64 0d | 06 2c 3f 20 20 44 61 74 |ataLoad.|.,? Dat|
|00001740| 61 4c 6f 61 64 52 65 66 | 25 3d 50 6f 6c 6c 21 38 |aLoadRef|%=Poll!8|
|00001750| 3a f4 20 41 77 61 69 74 | 20 61 20 44 61 74 61 4c |:. Await| a DataL|
|00001760| 6f 61 64 41 63 6b 2c 20 | 72 65 6d 65 6d 62 65 72 |oadAck, |remember|
|00001770| 20 6d 79 72 65 66 0d 06 | 36 4a 20 20 e7 49 6e 54 | myref..|6J .InT|
|00001780| 79 70 65 3d 26 36 38 45 | 20 8c 20 41 63 74 69 6f |ype=&68E| . Actio|
|00001790| 6e 3d 41 63 74 55 6e 61 | 72 63 20 8b 20 41 63 74 |n=ActUna|rc . Act|
|000017a0| 69 6f 6e 3d 41 63 74 41 | 72 63 3a f4 20 50 65 6e |ion=ActA|rc:. Pen|
|000017b0| 64 69 6e 67 20 28 64 65 | 29 61 72 63 68 69 76 65 |ding (de|)archive|
|000017c0| 0d 06 40 40 20 c9 20 33 | 2c 35 20 3a 20 f4 20 44 |..@@ . 3|,5 : . D|
|000017d0| 61 74 61 4c 6f 61 64 2f | 4f 70 65 6e 2c 20 63 68 |ataLoad/|Open, ch|
|000017e0| 65 63 6b 20 69 66 20 64 | 69 72 65 63 74 6f 72 79 |eck if d|irectory|
|000017f0| 20 6f 72 20 61 72 63 68 | 69 76 65 20 66 69 6c 65 | or arch|ive file|
|00001800| 0d 06 4a 1e 20 20 74 79 | 70 65 25 3d 50 6f 6c 6c |..J. ty|pe%=Poll|
|00001810| 21 34 30 3a f4 20 46 69 | 6c 65 74 79 70 65 0d 06 |!40:. Fi|letype..|
|00001820| 54 2f 20 20 e7 28 74 79 | 70 65 25 3e 3d 26 31 30 |T/ .(ty|pe%>=&10|
|00001830| 30 30 20 80 20 6d 73 67 | 6e 72 25 3d 33 29 20 84 |00 . msg|nr%=3) .|
|00001840| 20 74 79 70 65 25 3d 26 | 36 38 45 20 8c 0d 06 5e | type%=&|68E ...^|
|00001850| 22 20 20 20 e7 74 79 70 | 65 25 3e 3d 26 31 30 30 |" .typ|e%>=&100|
|00001860| 30 20 8c 20 74 79 70 65 | 25 3d 26 31 30 30 30 0d |0 . type|%=&1000.|
|00001870| 06 68 49 20 20 20 50 6f | 6c 6c 21 31 32 3d 50 6f |.hI Po|ll!12=Po|
|00001880| 6c 6c 21 38 3a 50 6f 6c | 6c 21 31 36 3d 34 3a c8 |ll!8:Pol|l!16=4:.|
|00001890| 99 20 57 53 65 6e 64 4d | 73 67 25 2c 31 37 2c 50 |. WSendM|sg%,17,P|
|000018a0| 6f 6c 6c 2c 50 6f 6c 6c | 21 34 3a f4 20 44 61 74 |oll,Poll|!4:. Dat|
|000018b0| 61 4c 6f 61 64 41 63 6b | 0d 06 72 31 20 20 20 f2 |aLoadAck|..r1 .|
|000018c0| 64 6f 28 a4 73 74 72 69 | 6e 67 28 50 6f 6c 6c 2b |do(.stri|ng(Poll+|
|000018d0| 34 34 29 2c 74 79 70 65 | 25 29 3a f4 20 41 74 74 |44),type|%):. Att|
|000018e0| 65 6d 70 74 20 6c 6f 61 | 64 0d 06 7c 07 20 20 cd |empt loa|d..|. .|
|000018f0| 0d 06 86 29 20 c9 20 34 | 20 3a 20 f4 20 44 61 74 |...) . 4| : . Dat|
|00001900| 61 4c 6f 61 64 41 63 6b | 2c 20 63 68 65 63 6b 20 |aLoadAck|, check |
|00001910| 6f 72 20 69 67 6e 6f 72 | 65 0d 06 90 3c 20 20 e7 |or ignor|e...< .|
|00001920| 44 61 74 61 4c 6f 61 64 | 52 65 66 25 20 8c 20 e7 |DataLoad|Ref% . .|
|00001930| 50 6f 6c 6c 21 31 32 3d | 44 61 74 61 4c 6f 61 64 |Poll!12=|DataLoad|
|00001940| 52 65 66 25 20 8c 20 44 | 61 74 61 4c 6f 61 64 52 |Ref% . D|ataLoadR|
|00001950| 65 66 25 3d a3 0d 06 9a | 05 cb 0d 06 a4 05 e1 0d |ef%=....|........|
|00001960| 06 ae 04 0d 06 b8 13 dd | f2 64 6f 28 69 6e 24 2c |........|.do(in$,|
|00001970| 74 79 70 65 25 29 0d 06 | c2 1b f4 20 49 6e 69 74 |type%)..|... Init|
|00001980| 69 61 74 65 73 20 28 75 | 6e 29 61 72 63 68 69 76 |iates (u|n)archiv|
|00001990| 65 0d 06 cc 28 e7 74 79 | 70 65 25 3d 26 31 30 30 |e...(.ty|pe%=&100|
|000019a0| 30 20 8c 20 e7 a6 2d 32 | 20 8c 20 69 6e 24 3d a4 |0 . ..-2| . in$=.|
|000019b0| 68 65 61 64 28 69 6e 24 | 29 0d 06 d6 2d 49 6e 70 |head(in$|)...-Inp|
|000019c0| 75 74 24 3d 69 6e 24 3a | 49 6e 54 79 70 65 3d 74 |ut$=in$:|InType=t|
|000019d0| 79 70 65 25 3a f4 20 46 | 69 6c 65 6e 61 6d 65 20 |ype%:. F|ilename |
|000019e0| 26 20 74 79 70 65 0d 06 | e0 3c 4c 65 61 66 24 3d |& type..|.<Leaf$=|
|000019f0| a4 6c 65 61 66 28 49 6e | 70 75 74 24 29 3a e7 4c |.leaf(In|put$):.L|
|00001a00| 65 61 66 24 3d 22 24 22 | 20 8c 20 4c 65 61 66 24 |eaf$="$"| . Leaf$|
|00001a10| 3d 22 52 6f 6f 74 22 3a | f4 20 4c 65 61 66 6e 61 |="Root":|. Leafna|
|00001a20| 6d 65 0d 06 ea 0e c8 8e | 20 74 79 70 65 25 20 ca |me......| type% .|
|00001a30| 0d 06 f4 1e 20 c9 20 26 | 36 38 45 20 3a 20 f4 20 |.... . &|68E : . |
|00001a40| 41 72 63 68 69 76 65 20 | 74 6f 20 64 69 72 0d 06 |Archive |to dir..|
|00001a50| fe 3f 20 20 e7 a4 75 6e | 74 6f 3d 32 20 8c 20 4f |.? ..un|to=2 . O|
|00001a60| 75 74 70 75 74 24 3d 22 | 22 3a 41 63 74 69 6f 6e |utput$="|":Action|
|00001a70| 3d 41 63 74 55 6e 61 72 | 63 3a e1 3a f4 20 52 65 |=ActUnar|c:.:. Re|
|00001a80| 73 74 6f 72 65 20 70 65 | 6e 64 69 6e 67 0d 07 08 |store pe|nding...|
|00001a90| 54 20 20 49 6e 3d 8e 49 | 6e 70 75 74 24 3a cf 23 |T In=.I|nput$:.#|
|00001aa0| 49 6e 3d 39 3a 70 24 3d | 22 22 3a f5 20 63 25 3d |In=9:p$=|"":. c%=|
|00001ab0| 9a 23 49 6e 3a 70 24 2b | 3d bd 63 25 3a fd 20 63 |.#In:p$+|=.c%:. c|
|00001ac0| 25 3c 33 32 3a d9 23 49 | 6e 3a 70 24 3d c0 70 24 |%<32:.#I|n:p$=.p$|
|00001ad0| 29 3a f4 20 4f 72 69 67 | 69 6e 61 6c 20 70 61 74 |):. Orig|inal pat|
|00001ae0| 68 0d 07 12 43 20 20 f2 | 64 69 63 28 44 53 66 6e |h...C .|dic(DSfn|
|00001af0| 25 2c a4 6c 65 61 66 28 | 70 24 29 29 3a f4 20 4f |%,.leaf(|p$)):. O|
|00001b00| 72 69 67 69 6e 61 6c 20 | 64 69 72 27 73 20 6c 65 |riginal |dir's le|
|00001b10| 61 66 6e 61 6d 65 20 66 | 6f 72 20 64 69 72 65 63 |afname f|or direc|
|00001b20| 74 6f 72 79 0d 07 1c 1d | 20 20 f2 64 69 63 28 44 |tory....| .dic(D|
|00001b30| 53 73 6e 25 2c 22 64 69 | 72 65 63 74 6f 72 79 22 |Ssn%,"di|rectory"|
|00001b40| 29 0d 07 26 1f 20 c9 20 | 26 31 30 30 30 20 3a 20 |)..&. . |&1000 : |
|00001b50| f4 20 44 69 72 20 74 6f | 20 61 72 63 68 69 76 65 |. Dir to| archive|
|00001b60| 0d 07 30 34 20 20 f2 64 | 69 63 28 44 53 66 6e 25 |..04 .d|ic(DSfn%|
|00001b70| 2c 4c 65 61 66 24 29 3a | f4 20 44 69 72 27 73 20 |,Leaf$):|. Dir's |
|00001b80| 6c 65 61 66 6e 61 6d 65 | 20 66 6f 72 20 61 72 63 |leafname| for arc|
|00001b90| 68 69 76 65 0d 07 3a 1c | 20 20 f2 64 69 63 28 44 |hive..:.| .dic(D|
|00001ba0| 53 73 6e 25 2c 22 66 69 | 6c 65 5f 36 38 65 22 29 |Ssn%,"fi|le_68e")|
|00001bb0| 0d 07 44 05 cb 0d 07 4e | 36 f2 6f 70 65 6e 5f 77 |..D....N|6.open_w|
|00001bc0| 69 6e 64 6f 77 28 77 69 | 6e 5f 66 69 6c 65 25 2c |indow(wi|n_file%,|
|00001bd0| 2d 31 29 3a f4 20 4f 70 | 65 6e 20 73 61 76 65 20 |-1):. Op|en save |
|00001be0| 66 69 6c 65 20 77 69 6e | 64 6f 77 0d 07 58 3f c8 |file win|dow..X?.|
|00001bf0| 99 20 57 53 65 74 43 61 | 25 2c 77 69 6e 5f 66 69 |. WSetCa|%,win_fi|
|00001c00| 6c 65 25 2c 31 2c 2c 2c | 2d 31 2c a9 a4 64 69 63 |le%,1,,,|-1,..dic|
|00001c10| 28 44 53 66 6e 25 29 3a | f4 20 47 61 69 6e 20 63 |(DSfn%):|. Gain c|
|00001c20| 61 72 65 74 20 69 6e 20 | 69 74 0d 07 62 05 e1 0d |aret in |it..b...|
|00001c30| 07 6c 04 0d 07 76 10 dd | f2 6d 6f 75 73 65 63 6c |.l...v..|.mousecl|
|00001c40| 69 63 6b 0d 07 80 3f 62 | 75 74 25 3d 50 6f 6c 6c |ick...?b|ut%=Poll|
|00001c50| 21 38 3a 77 69 6e 25 3d | 50 6f 6c 6c 21 31 32 3a |!8:win%=|Poll!12:|
|00001c60| 69 63 6f 25 3d 50 6f 6c | 6c 21 31 36 3a f4 20 42 |ico%=Pol|l!16:. B|
|00001c70| 75 74 74 6f 6e 73 2f 77 | 69 6e 64 6f 77 2f 69 63 |uttons/w|indow/ic|
|00001c80| 6f 6e 0d 07 8a 0d c8 8e | 20 77 69 6e 25 20 ca 0d |on......| win% ..|
|00001c90| 07 94 1e 20 c9 20 2d 32 | 20 3a 20 f4 20 43 6c 69 |... . -2| : . Cli|
|00001ca0| 63 6b 20 6f 6e 20 69 63 | 6f 6e 62 61 72 0d 07 9e |ck on ic|onbar...|
|00001cb0| 5b 20 20 e7 69 63 6f 25 | 3c 3e 49 63 6f 42 61 72 |[ .ico%|<>IcoBar|
|00001cc0| 25 20 8b 20 e7 28 62 75 | 74 25 80 37 29 3d 32 20 |% . .(bu|t%.7)=2 |
|00001cd0| 8c 20 f2 6d 61 69 6e 5f | 6d 65 6e 75 20 8b 20 e7 |. .main_|menu . .|
|00001ce0| 28 62 75 74 25 80 37 29 | 20 8c 20 f2 6f 70 65 6e |(but%.7)| . .open|
|00001cf0| 5f 77 69 6e 64 6f 77 28 | 77 69 6e 5f 66 69 6c 65 |_window(|win_file|
|00001d00| 69 6e 66 6f 25 2c 33 29 | 0d 07 a8 2e 20 c9 20 77 |info%,3)|.... . w|
|00001d10| 69 6e 5f 66 69 6c 65 25 | 20 3a 20 f4 20 43 6c 69 |in_file%| : . Cli|
|00001d20| 63 6b 20 6f 6e 20 73 61 | 76 65 20 66 69 6c 65 20 |ck on sa|ve file |
|00001d30| 77 69 6e 64 6f 77 0d 07 | b2 17 20 20 e7 69 63 6f |window..|.. .ico|
|00001d40| 25 3d 49 63 6f 46 74 79 | 70 65 25 20 8c 0d 07 bc |%=IcoFty|pe% ....|
|00001d50| 16 20 20 20 c8 8e 20 62 | 75 74 25 20 80 20 26 37 |. .. b|ut% . &7|
|00001d60| 46 20 ca 0d 07 c6 39 20 | 20 20 20 c9 20 31 36 2c |F ....9 | . 16,|
|00001d70| 36 34 20 3a 20 f4 20 44 | 72 61 67 2c 63 61 6c 63 |64 : . D|rag,calc|
|00001d80| 75 6c 61 74 65 20 64 72 | 61 67 20 62 6f 78 20 61 |ulate dr|ag box a|
|00001d90| 6e 64 20 63 72 65 61 74 | 65 20 69 74 0d 07 d0 7a |nd creat|e it...z|
|00001da0| 20 20 20 20 20 53 63 72 | 57 25 3d a4 6d 6f 64 65 | Scr|W%=.mode|
|00001db0| 5f 76 61 72 28 eb 2c 31 | 31 29 3c 3c a4 6d 6f 64 |_var(.,1|1)<<.mod|
|00001dc0| 65 5f 76 61 72 28 eb 2c | 34 29 3a 53 63 72 48 25 |e_var(.,|4):ScrH%|
|00001dd0| 3d a4 6d 6f 64 65 5f 76 | 61 72 28 eb 2c 31 32 29 |=.mode_v|ar(.,12)|
|00001de0| 3c 3c a4 6d 6f 64 65 5f | 76 61 72 28 eb 2c 35 29 |<<.mode_|var(.,5)|
|00001df0| 3a f4 20 53 63 72 65 65 | 6e 20 77 69 64 74 68 20 |:. Scree|n width |
|00001e00| 61 6e 64 20 68 65 69 67 | 68 74 20 69 6e 20 4f 53 |and heig|ht in OS|
|00001e10| 2d 75 6e 69 74 73 0d 07 | da a7 20 20 20 20 20 62 |-units..|.. b|
|00001e20| 3d 42 6c 6f 63 6b 3a 21 | 62 3d 77 69 6e 25 3a c8 |=Block:!|b=win%:.|
|00001e30| 99 20 57 47 65 74 57 53 | 25 2c 2c 62 3a 78 25 3d |. WGetWS|%,,b:x%=|
|00001e40| 62 21 34 3a 79 25 3d 62 | 21 38 3a 62 21 34 3d 69 |b!4:y%=b|!8:b!4=i|
|00001e50| 63 6f 25 3a c8 99 20 57 | 47 65 74 49 53 25 2c 2c |co%:.. W|GetIS%,,|
|00001e60| 62 3a 21 62 3d 77 69 6e | 25 3a 62 21 34 3d 35 3a |b:!b=win|%:b!4=5:|
|00001e70| 62 21 38 2b 3d 78 25 3a | 62 21 31 32 2b 3d 79 25 |b!8+=x%:|b!12+=y%|
|00001e80| 3a 62 21 31 36 3d 62 21 | 38 2b 36 38 3a 62 21 32 |:b!16=b!|8+68:b!2|
|00001e90| 30 3d 62 21 31 32 2b 36 | 38 3a 62 21 32 34 3d 30 |0=b!12+6|8:b!24=0|
|00001ea0| 3a 62 21 32 38 3d 30 3a | 62 21 33 32 3d 53 63 72 |:b!28=0:|b!32=Scr|
|00001eb0| 57 25 3a 62 21 33 36 3d | 53 63 72 48 25 0d 07 e4 |W%:b!36=|ScrH%...|
|00001ec0| 2c 20 20 20 20 20 c8 99 | 20 57 44 72 61 67 42 25 |, ..| WDragB%|
|00001ed0| 2c 2c 42 6c 6f 63 6b 3a | f4 20 43 72 65 61 74 65 |,,Block:|. Create|
|00001ee0| 20 64 72 61 67 20 62 6f | 78 0d 07 ee 08 20 20 20 | drag bo|x.... |
|00001ef0| cb 0d 07 f8 07 20 20 cd | 0d 08 02 05 cb 0d 08 0c |..... .|........|
|00001f00| 05 e1 0d 08 16 04 0d 08 | 20 0e dd f2 64 72 61 67 |........| ...drag|
|00001f10| 64 72 6f 70 0d 08 2a 2c | c8 99 20 57 47 65 74 50 |drop..*,|.. WGetP|
|00001f20| 49 25 2c 2c 42 6c 6f 63 | 6b 3a f4 20 47 65 74 20 |I%,,Bloc|k:. Get |
|00001f30| 70 6f 69 6e 74 65 72 20 | 70 6f 73 69 74 69 6f 6e |pointer |position|
|00001f40| 0d 08 34 47 64 72 6f 70 | 77 69 6e 25 3d 42 6c 6f |..4Gdrop|win%=Blo|
|00001f50| 63 6b 21 31 32 3a 64 72 | 6f 70 69 63 6f 25 3d 42 |ck!12:dr|opico%=B|
|00001f60| 6c 6f 63 6b 21 31 36 3a | f4 20 57 69 6e 64 6f 77 |lock!16:|. Window|
|00001f70| 2f 69 63 6f 6e 20 77 68 | 65 72 65 20 62 6f 78 20 |/icon wh|ere box |
|00001f80| 64 72 6f 70 70 65 64 0d | 08 3e 2d 66 69 6c 65 6e |dropped.|.>-filen|
|00001f90| 61 6d 65 24 3d a4 64 69 | 63 28 44 53 66 6e 25 29 |ame$=.di|c(DSfn%)|
|00001fa0| 3a f4 20 46 69 6c 65 6e | 61 6d 65 20 66 6f 72 20 |:. Filen|ame for |
|00001fb0| 73 61 76 65 0d 08 48 7a | 62 3d 42 6c 6f 63 6b 3a |save..Hz|b=Block:|
|00001fc0| 62 21 32 30 3d 62 21 31 | 32 3a 62 21 32 34 3d 62 |b!20=b!1|2:b!24=b|
|00001fd0| 21 31 36 3a 62 21 32 38 | 3d 62 21 30 3a 62 21 33 |!16:b!28|=b!0:b!3|
|00001fe0| 32 3d 62 21 34 3a 62 21 | 31 32 3d 30 3a 62 21 31 |2=b!4:b!|12=0:b!1|
|00001ff0| 36 3d 31 3a 62 21 33 36 | 3d 30 3a 62 21 34 30 3d |6=1:b!36|=0:b!40=|
|00002000| 30 3a 24 28 62 2b 34 34 | 29 3d 66 69 6c 65 6e 61 |0:$(b+44|)=filena|
|00002010| 6d 65 24 2b bd 30 3a 21 | 62 3d 28 34 34 2b a9 66 |me$+.0:!|b=(44+.f|
|00002020| 69 6c 65 6e 61 6d 65 24 | 2b 34 29 80 ac 33 0d 08 |ilename$|+4)..3..|
|00002030| 52 3b c8 99 20 57 53 65 | 6e 64 4d 73 67 25 2c 31 |R;.. WSe|ndMsg%,1|
|00002040| 37 2c 42 6c 6f 63 6b 2c | 64 72 6f 70 77 69 6e 25 |7,Block,|dropwin%|
|00002050| 2c 64 72 6f 70 69 63 6f | 25 3a f4 20 53 65 6e 64 |,dropico|%:. Send|
|00002060| 20 44 61 74 61 53 61 76 | 65 0d 08 5c 36 44 61 74 | DataSav|e..\6Dat|
|00002070| 61 53 61 76 65 52 65 66 | 25 3d 42 6c 6f 63 6b 21 |aSaveRef|%=Block!|
|00002080| 38 3a f4 20 52 65 6d 65 | 6d 62 65 72 20 6d 79 72 |8:. Reme|mber myr|
|00002090| 65 66 20 66 6f 72 20 44 | 61 74 61 53 61 76 65 0d |ef for D|ataSave.|
|000020a0| 08 66 35 f2 63 6c 6f 73 | 65 5f 77 69 6e 64 6f 77 |.f5.clos|e_window|
|000020b0| 28 77 69 6e 5f 66 69 6c | 65 25 29 3a f4 20 43 6c |(win_fil|e%):. Cl|
|000020c0| 6f 73 65 20 73 61 76 65 | 20 66 69 6c 65 20 77 69 |ose save| file wi|
|000020d0| 6e 64 6f 77 0d 08 70 05 | e1 0d 08 7a 04 0d 08 84 |ndow..p.|...z....|
|000020e0| 27 dd f2 61 72 63 68 69 | 76 65 28 49 6e 44 69 72 |'..archi|ve(InDir|
|000020f0| 24 2c 4f 75 74 46 69 6c | 65 24 2c f8 20 65 72 72 |$,OutFil|e$,. err|
|00002100| 6f 72 24 29 0d 08 8e 18 | f4 20 41 72 63 68 69 76 |or$)....|. Archiv|
|00002110| 65 73 20 64 69 72 65 63 | 74 6f 72 79 0d 08 98 37 |es direc|tory...7|
|00002120| f4 20 52 65 74 75 72 6e | 73 20 65 72 72 6f 72 20 |. Return|s error |
|00002130| 69 6e 20 65 72 72 6f 72 | 24 20 69 66 20 65 72 72 |in error|$ if err|
|00002140| 6f 72 20 6f 63 63 75 72 | 65 64 2c 20 65 6c 73 65 |or occur|ed, else|
|00002150| 20 22 22 0d 08 a2 07 ea | 20 85 0d 08 ac 26 ee 20 | "".....| ....&. |
|00002160| 85 20 ea 20 65 72 72 6f | 72 24 3d f6 24 2b 22 20 |. . erro|r$=.$+" |
|00002170| 28 63 6f 64 65 20 22 2b | c3 9e 2b 22 29 22 3a e1 |(code "+|..+")":.|
|00002180| 0d 08 b6 2b e7 49 6e 44 | 69 72 24 3d 4f 75 74 46 |...+.InD|ir$=OutF|
|00002190| 69 6c 65 24 20 8c 20 65 | 72 72 6f 72 24 3d 22 21 |ile$ . e|rror$="!|
|000021a0| 53 41 4d 45 46 49 4c 45 | 22 3a e1 0d 08 c0 1f 65 |SAMEFILE|":.....e|
|000021b0| 72 72 6f 72 24 3d 22 22 | 3a f4 20 4e 6f 20 65 72 |rror$=""|:. No er|
|000021c0| 72 6f 72 73 20 28 79 65 | 74 29 0d 08 ca 1e 53 74 |rors (ye|t)....St|
|000021d0| 6f 72 65 3d a4 6f 73 74 | 6f 3a f4 20 53 74 6f 72 |ore=.ost|o:. Stor|
|000021e0| 65 20 77 68 61 74 20 3f | 0d 08 d4 4a f2 66 69 6c |e what ?|...J.fil|
|000021f0| 65 69 6e 66 6f 28 22 41 | 72 63 68 69 76 69 6e 67 |einfo("A|rchiving|
|00002200| 22 2c 49 6e 44 69 72 24 | 2c 22 2d 22 2c 22 22 2c |",InDir$|,"-","",|
|00002210| 22 30 22 2c 22 30 25 22 | 2c 22 30 25 22 2c c3 a4 |"0","0%"|,"0%",..|
|00002220| 6f 62 69 74 73 2c 22 30 | 22 2c 22 30 22 2c 22 30 |obits,"0|","0","0|
|00002230| 22 29 0d 08 de 46 c8 99 | 20 22 4f 53 5f 46 69 6c |")...F..| "OS_Fil|
|00002240| 65 22 2c 35 2c 49 6e 44 | 69 72 24 20 b8 20 74 79 |e",5,InD|ir$ . ty|
|00002250| 70 65 25 2c 2c 6c 6f 61 | 64 25 2c 65 78 65 63 25 |pe%,,loa|d%,exec%|
|00002260| 2c 6c 65 6e 25 2c 61 74 | 74 72 25 3a f4 20 43 68 |,len%,at|tr%:. Ch|
|00002270| 65 63 6b 20 72 6f 6f 74 | 0d 08 e8 3a e7 74 79 70 |eck root|...:.typ|
|00002280| 65 25 3c 3e 32 20 8c 20 | 65 72 72 6f 72 24 3d 22 |e%<>2 . |error$="|
|00002290| 27 22 2b 49 6e 44 69 72 | 24 2b 22 27 20 69 73 20 |'"+InDir|$+"' is |
|000022a0| 6e 6f 74 20 61 20 64 69 | 72 65 63 74 6f 72 79 22 |not a di|rectory"|
|000022b0| 3a e1 0d 08 f2 48 69 63 | 6f 75 6e 74 25 3d 30 3a |:....Hic|ount%=0:|
|000022c0| 6c 63 6f 75 6e 74 25 3d | 30 3a f2 64 69 72 5f 63 |lcount%=|0:.dir_c|
|000022d0| 6f 75 6e 74 28 49 6e 44 | 69 72 24 29 3a f4 20 47 |ount(InD|ir$):. G|
|000022e0| 65 74 20 74 6f 74 61 6c | 20 69 74 65 6d 73 2f 66 |et total| items/f|
|000022f0| 69 6c 65 20 6c 65 6e 67 | 74 68 0d 08 fc 36 f2 64 |ile leng|th...6.d|
|00002300| 69 63 28 44 46 63 6c 25 | 2c c3 6c 63 6f 75 6e 74 |ic(DFcl%|,.lcount|
|00002310| 25 29 3a f4 20 53 68 6f | 77 20 74 6f 74 61 6c 20 |%):. Sho|w total |
|00002320| 66 69 6c 65 20 64 61 74 | 61 20 6c 65 6e 67 74 68 |file dat|a length|
|00002330| 0d 09 06 20 4f 75 74 3d | ae 4f 75 74 46 69 6c 65 |... Out=|.OutFile|
|00002340| 24 3a f4 20 4f 70 65 6e | 20 61 72 63 68 69 76 65 |$:. Open| archive|
|00002350| 0d 09 10 3a c8 99 20 22 | 46 69 6c 65 42 75 66 66 |...:.. "|FileBuff|
|00002360| 65 72 5f 4f 70 65 6e 22 | 2c 4f 75 74 2c 4f 75 74 |er_Open"|,Out,Out|
|00002370| 42 75 66 25 2c 4f 75 74 | 42 75 66 53 69 7a 65 25 |Buf%,Out|BufSize%|
|00002380| 2c 31 20 b8 20 4f 62 6e | 72 25 0d 09 1a 21 f2 6f |,1 . Obn|r%...!.o|
|00002390| 73 28 22 50 41 43 4b 22 | 29 3a f4 20 57 72 69 74 |s("PACK"|):. Writ|
|000023a0| 65 20 73 69 67 6e 61 74 | 75 72 65 0d 09 24 29 f2 |e signat|ure..$).|
|000023b0| 6f 77 28 a4 6f 62 69 74 | 73 2d 31 32 29 3a f4 20 |ow(.obit|s-12):. |
|000023c0| 57 72 69 74 65 20 61 72 | 63 68 69 76 65 20 66 6f |Write ar|chive fo|
|000023d0| 72 6d 61 74 0d 09 2e 2a | f2 6f 73 28 49 6e 44 69 |rmat...*|.os(InDi|
|000023e0| 72 24 29 3a f4 20 57 72 | 69 74 65 20 6f 72 69 67 |r$):. Wr|ite orig|
|000023f0| 69 6e 61 6c 20 66 75 6c | 6c 20 70 61 74 68 0d 09 |inal ful|l path..|
|00002400| 38 2d 6f 62 6a 73 25 3d | a4 64 69 72 5f 65 6e 74 |8-objs%=|.dir_ent|
|00002410| 73 28 49 6e 44 69 72 24 | 29 3a f4 20 45 6e 74 72 |s(InDir$|):. Entr|
|00002420| 69 65 73 20 69 6e 20 72 | 6f 6f 74 0d 09 42 36 f2 |ies in r|oot..B6.|
|00002430| 6f 77 28 6c 6f 61 64 25 | 29 3a f2 6f 77 28 65 78 |ow(load%|):.ow(ex|
|00002440| 65 63 25 29 3a f2 6f 77 | 28 6f 62 6a 73 25 29 3a |ec%):.ow|(objs%):|
|00002450| f2 6f 77 28 61 74 74 72 | 25 29 3a f4 20 49 6e 66 |.ow(attr|%):. Inf|
|00002460| 6f 0d 09 4c 1a 64 69 72 | 70 61 74 68 24 3d 22 22 |o..L.dir|path$=""|
|00002470| 3a f4 20 50 61 74 68 20 | 79 65 74 0d 09 56 3b 44 |:. Path |yet..V;D|
|00002480| 69 72 25 28 30 2c 30 29 | 3d 6f 62 6a 73 25 3a 44 |ir%(0,0)|=objs%:D|
|00002490| 69 72 25 28 30 2c 31 29 | 3d 30 3a 44 69 72 25 28 |ir%(0,1)|=0:Dir%(|
|000024a0| 30 2c 32 29 3d 30 3a f4 | 20 52 6f 6f 74 20 64 69 |0,2)=0:.| Root di|
|000024b0| 72 20 69 6e 66 6f 0d 09 | 60 27 64 65 70 74 68 25 |r info..|`'depth%|
|000024c0| 3d 30 3a f4 20 49 6e 69 | 74 20 64 69 72 20 72 65 |=0:. Ini|t dir re|
|000024d0| 63 75 72 73 65 20 63 6f | 75 6e 74 65 72 0d 09 6a |curse co|unter..j|
|000024e0| 36 69 6e 66 25 3d 30 3a | 69 6e 64 25 3d 30 3a 69 |6inf%=0:|ind%=0:i|
|000024f0| 6e 6c 25 3d 30 3a 69 6e | 61 25 3d 30 3a 69 6e 74 |nl%=0:in|a%=0:int|
|00002500| 25 3d 31 3a f4 20 49 6e | 69 74 20 63 6f 75 6e 74 |%=1:. In|it count|
|00002510| 65 72 73 0d 09 74 14 c8 | 95 20 69 6e 74 25 3c 3d |ers..t..|. int%<=|
|00002520| 69 63 6f 75 6e 74 25 0d | 09 7e 64 c8 95 20 44 69 |icount%.|.~d.. Di|
|00002530| 72 25 28 64 65 70 74 68 | 25 2c 30 29 3c 3d 30 3a |r%(depth|%,0)<=0:|
|00002540| 64 69 72 70 61 74 68 24 | 3d c0 64 69 72 70 61 74 |dirpath$|=.dirpat|
|00002550| 68 24 2c 44 69 72 25 28 | 64 65 70 74 68 25 2c 31 |h$,Dir%(|depth%,1|
|00002560| 29 29 3a 64 65 70 74 68 | 25 2d 3d 31 3a ce 3a f4 |)):depth|%-=1:.:.|
|00002570| 20 41 73 63 65 6e 64 20 | 74 6f 20 6e 6f 6e 2d 65 | Ascend |to non-e|
|00002580| 6d 70 74 79 20 70 61 72 | 65 6e 74 0d 09 88 38 44 |mpty par|ent...8D|
|00002590| 69 72 25 28 64 65 70 74 | 68 25 2c 30 29 2d 3d 31 |ir%(dept|h%,0)-=1|
|000025a0| 3a f4 20 44 65 63 72 65 | 6d 65 6e 74 20 65 6e 74 |:. Decre|ment ent|
|000025b0| 72 69 65 73 20 69 6e 20 | 63 75 72 72 65 6e 74 20 |ries in |current |
|000025c0| 64 69 72 0d 09 92 6b c8 | 99 20 22 4f 53 5f 47 42 |dir...k.|. "OS_GB|
|000025d0| 50 42 22 2c 31 30 2c c0 | 49 6e 44 69 72 24 2b 22 |PB",10,.|InDir$+"|
|000025e0| 2e 22 2b 64 69 72 70 61 | 74 68 24 29 2c 46 64 61 |."+dirpa|th$),Fda|
|000025f0| 74 61 25 2c 31 2c 44 69 | 72 25 28 64 65 70 74 68 |ta%,1,Di|r%(depth|
|00002600| 25 2c 32 29 2c 32 35 36 | 2c 22 2a 22 20 b8 20 2c |%,2),256|,"*" . ,|
|00002610| 2c 2c 2c 44 69 72 25 28 | 64 65 70 74 68 25 2c 32 |,,,Dir%(|depth%,2|
|00002620| 29 3a f4 20 52 65 61 64 | 20 65 6e 74 72 79 0d 09 |):. Read| entry..|
|00002630| 9c 80 70 25 3d 46 64 61 | 74 61 25 3a 6c 6f 61 64 |..p%=Fda|ta%:load|
|00002640| 25 3d 21 70 25 3a 65 78 | 65 63 25 3d 70 25 21 34 |%=!p%:ex|ec%=p%!4|
|00002650| 3a 6c 65 6e 25 3d 70 25 | 21 38 3a 61 74 74 72 25 |:len%=p%|!8:attr%|
|00002660| 3d 70 25 21 31 32 3a 69 | 6e 66 6f 25 3d 70 25 21 |=p%!12:i|nfo%=p%!|
|00002670| 31 36 3a 70 25 2b 3d 32 | 30 3a 6e 61 6d 65 24 3d |16:p%+=2|0:name$=|
|00002680| 22 22 3a c8 95 3f 70 25 | 3c 3e 30 3a 6e 61 6d 65 |"":..?p%|<>0:name|
|00002690| 24 2b 3d bd 3f 70 25 3a | 70 25 2b 3d 31 3a ce 3a |$+=.?p%:|p%+=1:.:|
|000026a0| f4 20 45 78 74 72 61 63 | 74 20 69 6e 66 6f 0d 09 |. Extrac|t info..|
|000026b0| a6 30 66 70 61 74 68 24 | 3d 49 6e 44 69 72 24 2b |.0fpath$|=InDir$+|
|000026c0| 22 2e 22 2b 64 69 72 70 | 61 74 68 24 2b 6e 61 6d |"."+dirp|ath$+nam|
|000026d0| 65 24 3a f4 20 46 75 6c | 6c 20 70 61 74 68 0d 09 |e$:. Ful|l path..|
|000026e0| b0 42 64 69 72 3d 28 69 | 6e 66 6f 25 3c 3e 31 29 |.Bdir=(i|nfo%<>1)|
|000026f0| 3a e7 64 69 72 20 8c 20 | 63 6f 64 65 25 3d 31 3a |:.dir . |code%=1:|
|00002700| 6c 65 6e 25 3d a4 64 69 | 72 5f 65 6e 74 73 28 66 |len%=.di|r_ents(f|
|00002710| 70 61 74 68 24 29 20 8b | 20 63 6f 64 65 25 3d 30 |path$) .| code%=0|
|00002720| 0d 09 ba 59 f2 6f 73 28 | 6e 61 6d 65 24 29 3a f2 |...Y.os(|name$):.|
|00002730| 6f 77 28 6c 6f 61 64 25 | 29 3a f2 6f 77 28 65 78 |ow(load%|):.ow(ex|
|00002740| 65 63 25 29 3a f2 6f 77 | 28 6c 65 6e 25 29 3a f2 |ec%):.ow|(len%):.|
|00002750| 6f 77 28 61 74 74 72 25 | 29 3a f2 6f 77 28 63 6f |ow(attr%|):.ow(co|
|00002760| 64 65 25 29 3a f4 20 4f | 75 74 70 75 74 20 69 74 |de%):. O|utput it|
|00002770| 65 6d 27 73 20 69 6e 66 | 6f 0d 09 c4 30 f2 64 69 |em's inf|o...0.di|
|00002780| 63 28 44 46 66 6e 25 2c | 64 69 72 70 61 74 68 24 |c(DFfn%,|dirpath$|
|00002790| 2b 6e 61 6d 65 24 29 3a | f4 20 53 68 6f 77 20 6c |+name$):|. Show l|
|000027a0| 6f 63 61 6c 20 70 61 74 | 68 0d 09 ce 0a e7 64 69 |ocal pat|h.....di|
|000027b0| 72 20 8c 0d 09 d8 0c 20 | 69 6e 64 25 2b 3d 31 0d |r ..... |ind%+=1.|
|000027c0| 09 e2 20 20 f2 64 69 63 | 28 44 46 6c 65 6e 25 2c |.. .dic|(DFlen%,|
|000027d0| c3 6c 65 6e 25 2b 22 20 | 66 69 6c 65 73 22 29 0d |.len%+" |files").|
|000027e0| 09 ec 60 20 64 65 70 74 | 68 25 2b 3d 31 3a 44 69 |..` dept|h%+=1:Di|
|000027f0| 72 25 28 64 65 70 74 68 | 25 2c 30 29 3d 6c 65 6e |r%(depth|%,0)=len|
|00002800| 25 3a 44 69 72 25 28 64 | 65 70 74 68 25 2c 31 29 |%:Dir%(d|epth%,1)|
|00002810| 3d a9 64 69 72 70 61 74 | 68 24 3a 44 69 72 25 28 |=.dirpat|h$:Dir%(|
|00002820| 64 65 70 74 68 25 2c 32 | 29 3d 30 3a 64 69 72 70 |depth%,2|)=0:dirp|
|00002830| 61 74 68 24 2b 3d 6e 61 | 6d 65 24 2b 22 2e 22 0d |ath$+=na|me$+".".|
|00002840| 09 f6 0c 20 63 6c 65 6e | 25 3d 30 0d 0a 00 0d cc |... clen|%=0.....|
|00002850| 20 69 6e 66 25 2b 3d 31 | 0d 0a 0a 29 20 f2 73 6c | inf%+=1|...) .sl|
|00002860| 69 64 65 72 28 32 2c 69 | 6e 6c 25 2f 6c 63 6f 75 |ider(2,i|nl%/lcou|
|00002870| 6e 74 25 2c 6c 65 6e 25 | 2f 6c 63 6f 75 6e 74 25 |nt%,len%|/lcount%|
|00002880| 29 0d 0a 14 17 20 f2 64 | 69 63 28 44 46 6c 65 6e |).... .d|ic(DFlen|
|00002890| 25 2c c3 6c 65 6e 25 29 | 0d 0a 1e 2c 20 63 70 74 |%,.len%)|..., cpt|
|000028a0| 72 25 3d a4 6f 70 74 72 | 3a e7 53 74 6f 72 65 3d |r%=.optr|:.Store=|
|000028b0| 32 20 8c 20 f2 6f 77 28 | 2d 32 29 20 8b 20 f2 6f |2 . .ow(|-2) . .o|
|000028c0| 77 28 30 29 0d 0a 28 1d | 20 e7 28 6c 65 6e 25 3e |w(0)..(.| .(len%>|
|000028d0| 30 29 20 80 20 28 53 74 | 6f 72 65 3c 3e 32 29 20 |0) . (St|ore<>2) |
|000028e0| 8c 0d 0a 32 44 20 20 49 | 6e 3d 8e 66 70 61 74 68 |...2D I|n=.fpath|
|000028f0| 24 3a c8 99 20 22 46 69 | 6c 65 42 75 66 66 65 72 |$:.. "Fi|leBuffer|
|00002900| 5f 4f 70 65 6e 22 2c 49 | 6e 2c 49 6e 42 75 66 25 |_Open",I|n,InBuf%|
|00002910| 2c 49 6e 42 75 66 53 69 | 7a 65 25 2c 30 20 b8 20 |,InBufSi|ze%,0 . |
|00002920| 49 62 6e 72 25 0d 0a 3c | 48 20 20 c8 99 20 22 4c |Ibnr%..<|H .. "L|
|00002930| 5a 57 42 5f 43 6f 6d 70 | 72 65 73 73 22 2c 30 2c |ZWB_Comp|ress",0,|
|00002940| 49 62 6e 72 25 2c 4f 62 | 6e 72 25 2c 2c 2c a4 6f |Ibnr%,Ob|nr%,,,.o|
|00002950| 62 69 74 73 2c 42 75 66 | 49 25 20 b8 20 2c 2c 2c |bits,Buf|I% . ,,,|
|00002960| 2c 2c 63 6c 65 6e 25 3a | f4 20 41 64 64 0d 0a 46 |,,clen%:|. Add..F|
|00002970| 26 20 20 c8 99 20 22 46 | 69 6c 65 42 75 66 66 65 |& .. "F|ileBuffe|
|00002980| 72 5f 43 6c 6f 73 65 22 | 2c 49 62 6e 72 25 3a d9 |r_Close"|,Ibnr%:.|
|00002990| 23 49 6e 0d 0a 50 1e 20 | 20 65 70 74 72 25 3d a4 |#In..P. | eptr%=.|
|000029a0| 6f 70 74 72 3a f2 6f 70 | 74 72 28 63 70 74 72 25 |optr:.op|tr(cptr%|
|000029b0| 29 0d 0a 5a 50 20 20 e7 | 63 6c 65 6e 25 3e 3d 6c |)..ZP .|clen%>=l|
|000029c0| 65 6e 25 20 8c 20 63 6c | 65 6e 25 3d 6c 65 6e 25 |en% . cl|en%=len%|
|000029d0| 3a f2 6f 77 28 2d 31 29 | 3a f2 73 74 6f 72 65 28 |:.ow(-1)|:.store(|
|000029e0| 66 70 61 74 68 24 29 20 | 8b 20 f2 6f 77 28 63 6c |fpath$) |. .ow(cl|
|000029f0| 65 6e 25 29 3a f2 6f 70 | 74 72 28 65 70 74 72 25 |en%):.op|tr(eptr%|
|00002a00| 29 0d 0a 64 11 20 cc 20 | 63 6c 65 6e 25 3d 6c 65 |)..d. . |clen%=le|
|00002a10| 6e 25 0d 0a 6e 06 20 cd | 0d 0a 78 1b 20 69 6e 6c |n%..n. .|..x. inl|
|00002a20| 25 2b 3d 6c 65 6e 25 3a | 69 6e 61 25 2b 3d 63 6c |%+=len%:|ina%+=cl|
|00002a30| 65 6e 25 0d 0a 82 05 cd | 0d 0a 8c 0b 69 6e 74 25 |en%.....|....int%|
|00002a40| 2b 3d 31 0d 0a 96 31 c8 | 99 20 22 48 6f 75 72 67 |+=1...1.|. "Hourg|
|00002a50| 6c 61 73 73 5f 50 65 72 | 63 65 6e 74 61 67 65 22 |lass_Per|centage"|
|00002a60| 2c a4 70 65 72 63 28 69 | 6e 6c 25 2c 6c 63 6f 75 |,.perc(i|nl%,lcou|
|00002a70| 6e 74 25 29 0d 0a a0 2b | f2 64 69 63 28 44 46 63 |nt%)...+|.dic(DFc|
|00002a80| 6f 6d 70 66 25 2c c3 28 | a4 70 65 72 63 28 63 6c |ompf%,.(|.perc(cl|
|00002a90| 65 6e 25 2c 6c 65 6e 25 | 29 29 2b 22 25 22 29 0d |en%,len%|))+"%").|
|00002aa0| 0a aa 2a f2 64 69 63 28 | 44 46 63 6f 6d 70 74 25 |..*.dic(|DFcompt%|
|00002ab0| 2c c3 28 a4 70 65 72 63 | 28 69 6e 61 25 2c 69 6e |,.(.perc|(ina%,in|
|00002ac0| 6c 25 29 29 2b 22 25 22 | 29 0d 0a b4 15 f2 64 69 |l%))+"%"|).....di|
|00002ad0| 63 28 44 46 63 61 25 2c | c3 69 6e 61 25 29 0d 0a |c(DFca%,|.ina%)..|
|00002ae0| be 18 f2 64 69 63 28 44 | 46 69 74 65 6d 73 25 2c |...dic(D|Fitems%,|
|00002af0| c3 69 6e 74 25 29 0d 0a | c8 37 f2 73 6c 69 64 65 |.int%)..|.7.slide|
|00002b00| 72 28 31 2c 69 6e 61 25 | 2f 6c 63 6f 75 6e 74 25 |r(1,ina%|/lcount%|
|00002b10| 2c 30 29 3a f2 73 6c 69 | 64 65 72 28 32 2c 69 6e |,0):.sli|der(2,in|
|00002b20| 6c 25 2f 6c 63 6f 75 6e | 74 25 2c 30 29 0d 0a d2 |l%/lcoun|t%,0)...|
|00002b30| 05 ce 0d 0a dc 23 f2 6f | 73 28 22 22 29 3a f4 20 |.....#.o|s(""):. |
|00002b40| 45 6e 64 20 6f 66 20 61 | 72 63 68 69 76 65 20 6d |End of a|rchive m|
|00002b50| 61 72 6b 65 72 0d 0a e6 | 23 65 6f 66 70 74 72 25 |arker...|#eofptr%|
|00002b60| 3d a4 6f 70 74 72 3a f4 | 20 53 69 7a 65 20 6f 66 |=.optr:.| Size of|
|00002b70| 20 61 72 63 68 69 76 65 | 0d 0a f0 2e c8 99 20 22 | archive|...... "|
|00002b80| 46 69 6c 65 42 75 66 66 | 65 72 5f 43 6c 6f 73 65 |FileBuff|er_Close|
|00002b90| 22 2c 4f 62 6e 72 25 3a | f4 20 43 6c 6f 73 65 20 |",Obnr%:|. Close |
|00002ba0| 62 75 66 66 65 72 0d 0a | fa 32 c8 99 20 22 4f 53 |buffer..|.2.. "OS|
|00002bb0| 5f 41 72 67 73 22 2c 33 | 2c 4f 75 74 2c 65 6f 66 |_Args",3|,Out,eof|
|00002bc0| 70 74 72 25 3a f4 20 45 | 6e 73 75 72 65 20 72 69 |ptr%:. E|nsure ri|
|00002bd0| 67 68 74 20 73 69 7a 65 | 0d 0b 04 19 d9 23 4f 75 |ght size|.....#Ou|
|00002be0| 74 3a f4 20 43 6c 6f 73 | 65 20 61 72 63 68 69 76 |t:. Clos|e archiv|
|00002bf0| 65 0d 0b 0e 38 c8 99 20 | 22 4f 53 5f 46 69 6c 65 |e...8.. |"OS_File|
|00002c00| 22 2c 31 38 2c 4f 75 74 | 46 69 6c 65 24 2c 26 36 |",18,Out|File$,&6|
|00002c10| 38 45 3a f4 20 53 65 74 | 20 63 6f 72 72 65 63 74 |8E:. Set| correct|
|00002c20| 20 66 69 6c 65 74 79 70 | 65 0d 0b 18 05 e1 0d 0b | filetyp|e.......|
|00002c30| 22 04 0d 0b 2c 0c dd f2 | 6f 77 28 76 25 29 0d 0b |"...,...|ow(v%)..|
|00002c40| 36 2f 21 44 75 6d 25 3d | 76 25 3a c8 99 20 22 46 |6/!Dum%=|v%:.. "F|
|00002c50| 69 6c 65 42 75 66 66 65 | 72 5f 57 72 69 74 65 22 |ileBuffe|r_Write"|
|00002c60| 2c 4f 62 6e 72 25 2c 44 | 75 6d 25 2c 34 0d 0b 40 |,Obnr%,D|um%,4..@|
|00002c70| 05 e1 0d 0b 4a 04 0d 0b | 54 0c dd f2 6f 73 28 76 |....J...|T...os(v|
|00002c80| 24 29 0d 0b 5e 36 24 44 | 75 6d 25 3d 76 24 2b bd |$)..^6$D|um%=v$+.|
|00002c90| 30 3a c8 99 20 22 46 69 | 6c 65 42 75 66 66 65 72 |0:.. "Fi|leBuffer|
|00002ca0| 5f 57 72 69 74 65 22 2c | 4f 62 6e 72 25 2c 44 75 |_Write",|Obnr%,Du|
|00002cb0| 6d 25 2c a9 76 24 2b 31 | 0d 0b 68 05 e1 0d 0b 72 |m%,.v$+1|..h....r|
|00002cc0| 04 0d 0b 7c 0a dd a4 6f | 70 74 72 0d 0b 86 0a ea |...|...o|ptr.....|
|00002cd0| 20 70 74 72 25 0d 0b 90 | 29 c8 99 20 22 46 69 6c | ptr%...|).. "Fil|
|00002ce0| 65 42 75 66 66 65 72 5f | 52 65 61 64 50 54 52 22 |eBuffer_|ReadPTR"|
|00002cf0| 2c 4f 62 6e 72 25 20 b8 | 20 2c 70 74 72 25 0d 0b |,Obnr% .| ,ptr%..|
|00002d00| 9a 09 3d 70 74 72 25 0d | 0b a4 04 0d 0b ae 10 dd |..=ptr%.|........|
|00002d10| f2 6f 70 74 72 28 70 74 | 72 25 29 0d 0b b8 27 c8 |.optr(pt|r%)...'.|
|00002d20| 99 20 22 46 69 6c 65 42 | 75 66 66 65 72 5f 57 72 |. "FileB|uffer_Wr|
|00002d30| 69 74 65 50 54 52 22 2c | 4f 62 6e 72 25 2c 70 74 |itePTR",|Obnr%,pt|
|00002d40| 72 25 0d 0b c2 05 e1 0d | 0b cc 04 0d 0b d6 13 dd |r%......|........|
|00002d50| f2 64 69 72 5f 63 6f 75 | 6e 74 28 64 24 29 0d 0b |.dir_cou|nt(d$)..|
|00002d60| e0 2d f4 20 43 6f 75 6e | 74 73 20 74 6f 74 61 6c |.-. Coun|ts total|
|00002d70| 20 66 69 6c 65 20 6c 65 | 6e 67 74 68 20 69 6e 20 | file le|ngth in |
|00002d80| 61 20 64 69 72 65 63 74 | 6f 72 79 0d 0b ea 0d ea |a direct|ory.....|
|00002d90| 20 6f 66 66 25 2c 6e 24 | 0d 0b f4 0a 6f 66 66 25 | off%,n$|....off%|
|00002da0| 3d 30 0d 0b fe 3b f5 20 | c8 99 20 22 4f 53 5f 47 |=0...;. |.. "OS_G|
|00002db0| 42 50 42 22 2c 31 30 2c | 64 24 2c 46 64 61 74 61 |BPB",10,|d$,Fdata|
|00002dc0| 25 2c 31 2c 6f 66 66 25 | 2c 32 35 36 2c 22 2a 22 |%,1,off%|,256,"*"|
|00002dd0| 20 b8 20 2c 2c 70 25 2c | 2c 6f 66 66 25 0d 0c 08 | . ,,p%,|,off%...|
|00002de0| 8d e7 6f 66 66 25 3d 2d | 31 20 8b 20 69 63 6f 75 |..off%=-|1 . icou|
|00002df0| 6e 74 25 2b 3d 31 3a e7 | 28 70 25 21 31 36 29 3d |nt%+=1:.|(p%!16)=|
|00002e00| 32 20 8c 20 70 25 2b 3d | 32 30 3a 6e 24 3d 22 22 |2 . p%+=|20:n$=""|
|00002e10| 3a c8 95 3f 70 25 3c 3e | 30 3a 6e 24 2b 3d bd 3f |:..?p%<>|0:n$+=.?|
|00002e20| 70 25 3a 70 25 2b 3d 31 | 3a ce 3a f2 64 69 72 5f |p%:p%+=1|:.:.dir_|
|00002e30| 63 6f 75 6e 74 28 64 24 | 2b 22 2e 22 2b 6e 24 29 |count(d$|+"."+n$)|
|00002e40| 20 8b 20 6c 63 6f 75 6e | 74 25 2b 3d 70 25 21 38 | . lcoun|t%+=p%!8|
|00002e50| 3a 70 25 3d 70 25 2b 32 | 30 3a c8 95 3f 70 25 3c |:p%=p%+2|0:..?p%<|
|00002e60| 3e 30 3a 70 25 2b 3d 31 | 3a ce 0d 0c 12 0d fd 20 |>0:p%+=1|:...... |
|00002e70| 6f 66 66 25 3d 2d 31 0d | 0c 1c 05 e1 0d 0c 26 04 |off%=-1.|......&.|
|00002e80| 0d 0c 30 14 dd a4 64 69 | 72 5f 65 6e 74 73 28 64 |..0...di|r_ents(d|
|00002e90| 69 72 24 29 0d 0c 3a 2e | f4 20 52 65 74 75 72 6e |ir$)..:.|. Return|
|00002ea0| 73 20 6e 75 6d 62 65 72 | 20 6f 66 20 65 6e 74 72 |s number| of entr|
|00002eb0| 69 65 73 20 69 6e 20 61 | 20 64 69 72 65 63 74 6f |ies in a| directo|
|00002ec0| 72 79 0d 0c 44 0d ea 20 | 6f 66 66 25 2c 69 25 0d |ry..D.. |off%,i%.|
|00002ed0| 0c 4e 56 6f 66 66 25 3d | 30 3a 69 25 3d 30 3a f5 |.NVoff%=|0:i%=0:.|
|00002ee0| 20 69 25 2b 3d 31 3a c8 | 99 20 22 4f 53 5f 47 42 | i%+=1:.|. "OS_GB|
|00002ef0| 50 42 22 2c 39 2c 64 69 | 72 24 2c 46 64 61 74 61 |PB",9,di|r$,Fdata|
|00002f00| 25 2c 31 2c 6f 66 66 25 | 2c 32 35 36 2c 22 2a 22 |%,1,off%|,256,"*"|
|00002f10| 20 b8 20 2c 2c 2c 2c 6f | 66 66 25 3a fd 20 6f 66 | . ,,,,o|ff%:. of|
|00002f20| 66 25 3d 2d 31 0d 0c 58 | 09 3d 69 25 2d 31 0d 0c |f%=-1..X|.=i%-1..|
|00002f30| 62 04 0d 0c 6c 0f dd f2 | 73 74 6f 72 65 28 66 24 |b...l...|store(f$|
|00002f40| 29 0d 0c 76 30 f4 20 53 | 74 6f 72 65 73 20 66 69 |)..v0. S|tores fi|
|00002f50| 6c 65 20 69 6e 20 61 72 | 63 68 69 76 65 20 77 69 |le in ar|chive wi|
|00002f60| 74 68 6f 75 74 20 63 6f | 6d 70 72 65 73 73 69 6f |thout co|mpressio|
|00002f70| 6e 0d 0c 80 1a ea 20 49 | 6e 2c 6c 65 6e 25 2c 6c |n..... I|n,len%,l|
|00002f80| 65 66 74 25 2c 62 79 74 | 65 73 25 0d 0c 8a 1f 49 |eft%,byt|es%....I|
|00002f90| 6e 3d 8e 66 24 3a 6c 65 | 6e 25 3d a2 23 49 6e 3a |n=.f$:le|n%=.#In:|
|00002fa0| 6c 65 66 74 25 3d 6c 65 | 6e 25 0d 0c 94 0e c8 95 |left%=le|n%......|
|00002fb0| 20 6c 65 66 74 25 3e 30 | 0d 0c 9e 38 e7 6c 65 66 | left%>0|...8.lef|
|00002fc0| 74 25 3c 49 6e 42 75 66 | 53 69 7a 65 25 20 8c 20 |t%<InBuf|Size% . |
|00002fd0| 62 79 74 65 73 25 3d 6c | 65 66 74 25 20 8b 20 62 |bytes%=l|eft% . b|
|00002fe0| 79 74 65 73 25 3d 49 6e | 42 75 66 53 69 7a 65 25 |ytes%=In|BufSize%|
|00002ff0| 0d 0c a8 30 c8 99 20 22 | 4f 53 5f 47 42 50 42 22 |...0.. "|OS_GBPB"|
|00003000| 2c 34 2c 49 6e 2c 49 6e | 42 75 66 25 2c 62 79 74 |,4,In,In|Buf%,byt|
|00003010| 65 73 25 3a f4 20 52 65 | 61 64 20 63 68 75 6e 6b |es%:. Re|ad chunk|
|00003020| 0d 0c b2 3b c8 99 20 22 | 46 69 6c 65 42 75 66 66 |...;.. "|FileBuff|
|00003030| 65 72 5f 57 72 69 74 65 | 22 2c 4f 62 6e 72 25 2c |er_Write|",Obnr%,|
|00003040| 49 6e 42 75 66 25 2c 62 | 79 74 65 73 25 3a f4 20 |InBuf%,b|ytes%:. |
|00003050| 57 72 69 74 65 20 63 68 | 75 6e 6b 0d 0c bc 11 6c |Write ch|unk....l|
|00003060| 65 66 74 25 2d 3d 62 79 | 74 65 73 25 0d 0c c6 05 |eft%-=by|tes%....|
|00003070| ce 0d 0c d0 08 d9 23 49 | 6e 0d 0c da 05 e1 0d 0c |......#I|n.......|
|00003080| e4 04 0d 0c ee 2b dd f2 | 75 6e 61 72 63 68 69 76 |.....+..|unarchiv|
|00003090| 65 28 49 6e 46 69 6c 65 | 24 2c f8 20 4f 75 74 44 |e(InFile|$,. OutD|
|000030a0| 69 72 24 2c f8 20 65 72 | 72 6f 72 24 29 0d 0c f8 |ir$,. er|ror$)...|
|000030b0| 23 f4 20 55 6e 61 72 63 | 68 69 76 65 73 20 61 72 |#. Unarc|hives ar|
|000030c0| 63 68 69 76 65 64 20 64 | 69 72 65 63 74 6f 72 79 |chived d|irectory|
|000030d0| 0d 0d 02 37 f4 20 52 65 | 74 75 72 6e 73 20 65 72 |...7. Re|turns er|
|000030e0| 72 6f 72 20 69 6e 20 65 | 72 72 6f 72 24 20 69 66 |ror in e|rror$ if|
|000030f0| 20 65 72 72 6f 72 20 6f | 63 63 75 72 65 64 2c 20 | error o|ccured, |
|00003100| 65 6c 73 65 20 22 22 0d | 0d 0c 07 ea 20 85 0d 0d |else "".|.... ...|
|00003110| 16 26 ee 20 85 20 ea 20 | 65 72 72 6f 72 24 3d f6 |.&. . . |error$=.|
|00003120| 24 2b 22 20 28 63 6f 64 | 65 20 22 2b c3 9e 2b 22 |$+" (cod|e "+..+"|
|00003130| 29 22 3a e1 0d 0d 20 1f | 65 72 72 6f 72 24 3d 22 |)":... .|error$="|
|00003140| 22 3a f4 20 4e 6f 20 65 | 72 72 6f 72 73 20 28 79 |":. No e|rrors (y|
|00003150| 65 74 29 0d 0d 2a 24 52 | 65 63 72 65 61 74 65 3d |et)..*$R|ecreate=|
|00003160| a4 6f 72 65 63 3a f4 20 | 52 65 63 72 65 61 74 65 |.orec:. |Recreate|
|00003170| 20 77 68 61 74 20 3f 0d | 0d 34 23 49 6e 3d 8e 28 | what ?.|.4#In=.(|
|00003180| 49 6e 46 69 6c 65 24 29 | 3a f4 20 4f 70 65 6e 20 |InFile$)|:. Open |
|00003190| 69 6e 70 75 74 20 66 69 | 6c 65 0d 0d 3e 37 c8 99 |input fi|le..>7..|
|000031a0| 20 22 46 69 6c 65 42 75 | 66 66 65 72 5f 4f 70 65 | "FileBu|ffer_Ope|
|000031b0| 6e 22 2c 49 6e 2c 49 6e | 42 75 66 25 2c 49 6e 42 |n",In,In|Buf%,InB|
|000031c0| 75 66 53 69 7a 65 25 2c | 30 20 b8 20 49 62 6e 72 |ufSize%,|0 . Ibnr|
|000031d0| 25 0d 0d 48 56 73 69 67 | 24 3d a4 69 73 3a e7 73 |%..HVsig|$=.is:.s|
|000031e0| 69 67 24 3c 3e 22 50 41 | 43 4b 22 20 8c 20 65 72 |ig$<>"PA|CK" . er|
|000031f0| 72 6f 72 24 3d 22 54 68 | 69 73 20 69 73 20 6e 6f |ror$="Th|is is no|
|00003200| 74 20 73 6f 6d 65 74 68 | 69 6e 67 20 49 20 63 61 |t someth|ing I ca|
|00003210| 6e 20 72 65 61 64 20 21 | 22 3a e1 3a f4 20 53 69 |n read !|":.:. Si|
|00003220| 67 6e 61 74 75 72 65 0d | 0d 52 7b 66 6f 72 6d 61 |gnature.|.R{forma|
|00003230| 74 25 3d a4 69 77 3a e7 | 66 6f 72 6d 61 74 25 3c |t%=.iw:.|format%<|
|00003240| 30 20 84 20 66 6f 72 6d | 61 74 25 3e 34 20 8c 20 |0 . form|at%>4 . |
|00003250| 65 72 72 6f 72 24 3d 22 | 49 20 63 61 6e 6e 6f 74 |error$="|I cannot|
|00003260| 20 72 65 61 64 20 66 6f | 72 6d 61 74 20 23 22 2b | read fo|rmat #"+|
|00003270| c3 66 6f 72 6d 61 74 25 | 2b 22 20 61 72 63 68 69 |.format%|+" archi|
|00003280| 76 65 73 20 21 22 29 3a | e1 3a f4 20 41 72 63 68 |ves !"):|.:. Arch|
|00003290| 69 76 65 20 66 6f 72 6d | 61 74 20 76 65 72 73 69 |ive form|at versi|
|000032a0| 6f 6e 0d 0d 5c 28 6f 72 | 69 67 70 61 74 68 24 3d |on..\(or|igpath$=|
|000032b0| a4 69 73 3a f4 20 4f 72 | 69 67 69 6e 61 6c 20 68 |.is:. Or|iginal h|
|000032c0| 65 61 64 65 72 20 70 61 | 74 68 0d 0d 66 20 e7 a4 |eader pa|th..f ..|
|000032d0| 75 6e 74 6f 3d 32 20 8c | 20 4f 75 74 44 69 72 24 |unto=2 .| OutDir$|
|000032e0| 3d 6f 72 69 67 70 61 74 | 68 24 0d 0d 70 2b e7 49 |=origpat|h$..p+.I|
|000032f0| 6e 46 69 6c 65 24 3d 4f | 75 74 44 69 72 24 20 8c |nFile$=O|utDir$ .|
|00003300| 20 65 72 72 6f 72 24 3d | 22 21 53 41 4d 45 46 49 | error$=|"!SAMEFI|
|00003310| 4c 45 22 3a e1 0d 0d 7a | 53 f2 66 69 6c 65 69 6e |LE":...z|S.filein|
|00003320| 66 6f 28 22 45 78 74 72 | 61 63 74 69 6e 67 22 2c |fo("Extr|acting",|
|00003330| 6f 72 69 67 70 61 74 68 | 24 2c 4f 75 74 44 69 72 |origpath|$,OutDir|
|00003340| 24 2c 22 22 2c 22 30 22 | 2c 22 30 25 22 2c 22 2d |$,"","0"|,"0%","-|
|00003350| 22 2c c3 4c 5a 57 69 62 | 69 74 73 2c 22 30 22 2c |",.LZWib|its,"0",|
|00003360| 22 30 22 2c 22 30 22 29 | 0d 0d 84 40 6c 6f 61 64 |"0","0")|...@load|
|00003370| 25 3d a4 69 77 3a 65 78 | 65 63 25 3d a4 69 77 3a |%=.iw:ex|ec%=.iw:|
|00003380| 6c 65 6e 25 3d a4 69 77 | 3a 61 74 74 72 25 3d a4 |len%=.iw|:attr%=.|
|00003390| 69 77 3a f4 20 44 69 72 | 27 73 20 6f 72 69 67 69 |iw:. Dir|'s origi|
|000033a0| 6e 61 6c 20 69 6e 66 6f | 0d 0d 8e 28 c8 99 20 22 |nal info|...(.. "|
|000033b0| 4f 53 5f 46 69 6c 65 22 | 2c 38 2c 4f 75 74 44 69 |OS_File"|,8,OutDi|
|000033c0| 72 24 3a f4 20 43 72 65 | 61 74 65 20 72 6f 6f 74 |r$:. Cre|ate root|
|000033d0| 0d 0d 98 41 c8 99 20 22 | 4f 53 5f 46 69 6c 65 22 |...A.. "|OS_File"|
|000033e0| 2c 31 2c 4f 75 74 44 69 | 72 24 2c 6c 6f 61 64 25 |,1,OutDi|r$,load%|
|000033f0| 2c 65 78 65 63 25 2c 2c | 61 74 74 72 25 3a f4 20 |,exec%,,|attr%:. |
|00003400| 52 65 73 74 6f 72 65 20 | 66 69 6c 65 20 69 6e 66 |Restore |file inf|
|00003410| 6f 0d 0d a2 27 61 73 69 | 7a 65 25 3d a2 23 49 6e |o...'asi|ze%=.#In|
|00003420| 3a f4 20 54 6f 74 61 6c | 20 73 69 7a 65 20 6f 66 |:. Total| size of|
|00003430| 20 61 72 63 68 69 76 65 | 0d 0d ac 1a 64 69 72 70 | archive|....dirp|
|00003440| 61 74 68 24 3d 22 22 3a | f4 20 50 61 74 68 20 79 |ath$="":|. Path y|
|00003450| 65 74 0d 0d b6 22 44 69 | 72 25 28 30 2c 30 29 3d |et..."Di|r%(0,0)=|
|00003460| 6c 65 6e 25 3a f4 20 52 | 6f 6f 74 20 64 69 72 20 |len%:. R|oot dir |
|00003470| 69 6e 66 6f 0d 0d c0 27 | 64 65 70 74 68 25 3d 30 |info...'|depth%=0|
|00003480| 3a f4 20 49 6e 69 74 20 | 64 69 72 20 72 65 63 75 |:. Init |dir recu|
|00003490| 72 73 65 20 63 6f 75 6e | 74 65 72 0d 0d ca 36 69 |rse coun|ter...6i|
|000034a0| 6e 66 25 3d 30 3a 69 6e | 64 25 3d 30 3a 69 6e 6c |nf%=0:in|d%=0:inl|
|000034b0| 25 3d 30 3a 69 6e 61 25 | 3d 30 3a 69 6e 74 25 3d |%=0:ina%|=0:int%=|
|000034c0| 31 3a f4 20 49 6e 69 74 | 20 63 6f 75 6e 74 65 72 |1:. Init| counter|
|000034d0| 73 0d 0d d4 23 6e 61 6d | 65 24 3d a4 69 73 3a f4 |s...#nam|e$=.is:.|
|000034e0| 20 4e 61 6d 65 20 6f 66 | 20 66 69 72 73 74 20 65 | Name of| first e|
|000034f0| 6e 74 72 79 0d 0d de 10 | c8 95 20 6e 61 6d 65 24 |ntry....|.. name$|
|00003500| 3c 3e 22 22 0d 0d e8 64 | c8 95 20 44 69 72 25 28 |<>""...d|.. Dir%(|
|00003510| 64 65 70 74 68 25 2c 30 | 29 3c 3d 30 3a 64 69 72 |depth%,0|)<=0:dir|
|00003520| 70 61 74 68 24 3d c0 64 | 69 72 70 61 74 68 24 2c |path$=.d|irpath$,|
|00003530| 44 69 72 25 28 64 65 70 | 74 68 25 2c 31 29 29 3a |Dir%(dep|th%,1)):|
|00003540| 64 65 70 74 68 25 2d 3d | 31 3a ce 3a f4 20 41 73 |depth%-=|1:.:. As|
|00003550| 63 65 6e 64 20 74 6f 20 | 6e 6f 6e 2d 65 6d 70 74 |cend to |non-empt|
|00003560| 79 20 70 61 72 65 6e 74 | 0d 0d f2 38 44 69 72 25 |y parent|...8Dir%|
|00003570| 28 64 65 70 74 68 25 2c | 30 29 2d 3d 31 3a f4 20 |(depth%,|0)-=1:. |
|00003580| 44 65 63 72 65 6d 65 6e | 74 20 65 6e 74 72 69 65 |Decremen|t entrie|
|00003590| 73 20 69 6e 20 63 75 72 | 72 65 6e 74 20 64 69 72 |s in cur|rent dir|
|000035a0| 0d 0d fc 4f 6c 6f 61 64 | 25 3d a4 69 77 3a 65 78 |...Oload|%=.iw:ex|
|000035b0| 65 63 25 3d a4 69 77 3a | 6c 65 6e 25 3d a4 69 77 |ec%=.iw:|len%=.iw|
|000035c0| 3a 61 74 74 72 25 3d a4 | 69 77 3a 63 6f 64 65 25 |:attr%=.|iw:code%|
|000035d0| 3d a4 69 77 3a 64 69 72 | 3d 28 63 6f 64 65 25 80 |=.iw:dir|=(code%.|
|000035e0| 31 29 3a f4 20 52 65 61 | 64 20 65 6e 74 72 79 0d |1):. Rea|d entry.|
|000035f0| 0e 06 30 f2 64 69 63 28 | 44 46 66 6e 25 2c 64 69 |..0.dic(|DFfn%,di|
|00003600| 72 70 61 74 68 24 2b 6e | 61 6d 65 24 29 3a f4 20 |rpath$+n|ame$):. |
|00003610| 53 68 6f 77 20 6c 6f 63 | 61 6c 20 70 61 74 68 0d |Show loc|al path.|
|00003620| 0e 10 31 66 70 61 74 68 | 24 3d 4f 75 74 44 69 72 |..1fpath|$=OutDir|
|00003630| 24 2b 22 2e 22 2b 64 69 | 72 70 61 74 68 24 2b 6e |$+"."+di|rpath$+n|
|00003640| 61 6d 65 24 3a f4 20 46 | 75 6c 6c 20 70 61 74 68 |ame$:. F|ull path|
|00003650| 0d 0e 1a 0a e7 64 69 72 | 20 8c 0d 0e 24 0c 20 69 |.....dir| ...$. i|
|00003660| 6e 64 25 2b 3d 31 0d 0e | 2e 36 20 f2 64 69 63 28 |nd%+=1..|.6 .dic(|
|00003670| 44 46 6c 65 6e 25 2c c3 | 6c 65 6e 25 2b 22 20 66 |DFlen%,.|len%+" f|
|00003680| 69 6c 65 73 22 29 3a f2 | 64 69 63 28 44 46 63 6f |iles"):.|dic(DFco|
|00003690| 6d 70 66 25 2c 22 31 30 | 30 25 22 29 0d 0e 38 2f |mpf%,"10|0%")..8/|
|000036a0| 20 c8 99 20 22 4f 53 5f | 46 69 6c 65 22 2c 38 2c | .. "OS_|File",8,|
|000036b0| 66 70 61 74 68 24 3a f4 | 20 52 65 63 72 65 61 74 |fpath$:.| Recreat|
|000036c0| 65 20 64 69 72 65 63 74 | 6f 72 79 0d 0e 42 4f 20 |e direct|ory..BO |
|000036d0| 64 65 70 74 68 25 2b 3d | 31 3a 44 69 72 25 28 64 |depth%+=|1:Dir%(d|
|000036e0| 65 70 74 68 25 2c 30 29 | 3d 6c 65 6e 25 3a 44 69 |epth%,0)|=len%:Di|
|000036f0| 72 25 28 64 65 70 74 68 | 25 2c 31 29 3d a9 64 69 |r%(depth|%,1)=.di|
|00003700| 72 70 61 74 68 24 3a 64 | 69 72 70 61 74 68 24 2b |rpath$:d|irpath$+|
|00003710| 3d 6e 61 6d 65 24 2b 22 | 2e 22 0d 0e 4c 0d cc 20 |=name$+"|."..L.. |
|00003720| 69 6e 66 25 2b 3d 31 0d | 0e 56 32 20 63 6c 65 6e |inf%+=1.|.V2 clen|
|00003730| 25 3d a4 69 77 3a 75 6e | 63 6f 6d 70 3d 28 63 6c |%=.iw:un|comp=(cl|
|00003740| 65 6e 25 3d 2d 31 29 3a | 6e 6f 64 61 74 61 3d 28 |en%=-1):|nodata=(|
|00003750| 63 6c 65 6e 25 3d 2d 32 | 29 0d 0e 60 2d 20 e7 75 |clen%=-2|)..`- .u|
|00003760| 6e 63 6f 6d 70 20 8c 20 | 63 6c 65 6e 25 3d 6c 65 |ncomp . |clen%=le|
|00003770| 6e 25 20 8b 20 e7 6e 6f | 64 61 74 61 20 8c 20 63 |n% . .no|data . c|
|00003780| 6c 65 6e 25 3d 30 0d 0e | 6a 30 20 e7 6c 65 6e 25 |len%=0..|j0 .len%|
|00003790| 3d 30 20 8c 20 70 72 63 | 25 3d 31 30 30 20 8b 20 |=0 . prc|%=100 . |
|000037a0| 70 72 63 25 3d a8 28 63 | 6c 65 6e 25 2f 6c 65 6e |prc%=.(c|len%/len|
|000037b0| 25 2a 31 30 30 29 0d 0e | 74 30 20 f2 64 69 63 28 |%*100)..|t0 .dic(|
|000037c0| 44 46 6c 65 6e 25 2c c3 | 6c 65 6e 25 29 3a f2 64 |DFlen%,.|len%):.d|
|000037d0| 69 63 28 44 46 63 6f 6d | 70 66 25 2c c3 70 72 63 |ic(DFcom|pf%,.prc|
|000037e0| 25 2b 22 25 22 29 0d 0e | 7e 29 20 63 70 74 72 25 |%+"%")..|~) cptr%|
|000037f0| 3d 63 6c 65 6e 25 2b a4 | 69 70 74 72 3a f4 20 50 |=clen%+.|iptr:. P|
|00003800| 54 52 20 74 6f 20 6e 65 | 78 74 20 66 69 6c 65 0d |TR to ne|xt file.|
|00003810| 0e 88 29 20 f2 73 6c 69 | 64 65 72 28 31 2c a4 69 |..) .sli|der(1,.i|
|00003820| 70 74 72 2f 61 73 69 7a | 65 25 2c 63 6c 65 6e 25 |ptr/asiz|e%,clen%|
|00003830| 2f 61 73 69 7a 65 25 29 | 0d 0e 92 60 20 e7 28 52 |/asize%)|...` .(R|
|00003840| 65 63 72 65 61 74 65 3d | 33 29 20 84 20 28 6c 65 |ecreate=|3) . (le|
|00003850| 6e 25 3d 30 29 20 8c 20 | 64 6f 25 3d 31 20 8b 20 |n%=0) . |do%=1 . |
|00003860| e7 28 52 65 63 72 65 61 | 74 65 3d 32 29 20 84 20 |.(Recrea|te=2) . |
|00003870| 6e 6f 64 61 74 61 20 8c | 20 64 6f 25 3d 32 20 8b |nodata .| do%=2 .|
|00003880| 20 e7 75 6e 63 6f 6d 70 | 20 8c 20 64 6f 25 3d 33 | .uncomp| . do%=3|
|00003890| 20 8b 20 64 6f 25 3d 34 | 0d 0e 9c 0d 20 c8 8e 20 | . do%=4|.... .. |
|000038a0| 64 6f 25 20 ca 0d 0e a6 | 21 20 20 c9 20 31 20 3a |do% ....|! . 1 :|
|000038b0| 20 c8 99 20 22 4f 53 5f | 46 69 6c 65 22 2c 37 2c | .. "OS_|File",7,|
|000038c0| 66 70 61 74 68 24 0d 0e | b0 29 20 20 c9 20 32 20 |fpath$..|.) . 2 |
|000038d0| 3a 20 c8 99 20 22 4f 53 | 5f 46 69 6c 65 22 2c 37 |: .. "OS|_File",7|
|000038e0| 2c 66 70 61 74 68 24 2c | 2c 2c 2c 6c 65 6e 25 0d |,fpath$,|,,,len%.|
|000038f0| 0e ba 21 20 20 c9 20 33 | 20 3a 20 f2 72 65 73 74 |..! . 3| : .rest|
|00003900| 6f 72 65 28 66 70 61 74 | 68 24 2c 6c 65 6e 25 29 |ore(fpat|h$,len%)|
|00003910| 0d 0e c4 ae 20 20 c9 20 | 34 20 3a 20 4f 75 74 3d |.... . |4 : Out=|
|00003920| ae 66 70 61 74 68 24 3a | c8 99 20 22 46 69 6c 65 |.fpath$:|.. "File|
|00003930| 42 75 66 66 65 72 5f 4f | 70 65 6e 22 2c 4f 75 74 |Buffer_O|pen",Out|
|00003940| 2c 4f 75 74 42 75 66 25 | 2c 4f 75 74 42 75 66 53 |,OutBuf%|,OutBufS|
|00003950| 69 7a 65 25 2c 31 20 b8 | 20 4f 62 6e 72 25 3a c8 |ize%,1 .| Obnr%:.|
|00003960| 99 20 22 4c 5a 57 42 5f | 44 65 63 6f 6d 70 72 65 |. "LZWB_|Decompre|
|00003970| 73 73 22 2c 30 2c 49 62 | 6e 72 25 2c 4f 62 6e 72 |ss",0,Ib|nr%,Obnr|
|00003980| 25 2c 2c 2c 4c 5a 57 69 | 62 69 74 73 2c 42 75 66 |%,,,LZWi|bits,Buf|
|00003990| 49 25 3a c8 99 20 22 46 | 69 6c 65 42 75 66 66 65 |I%:.. "F|ileBuffe|
|000039a0| 72 5f 43 6c 6f 73 65 22 | 2c 4f 62 6e 72 25 3a d9 |r_Close"|,Obnr%:.|
|000039b0| 23 4f 75 74 3a f4 20 45 | 78 74 72 61 63 74 0d 0e |#Out:. E|xtract..|
|000039c0| ce 06 20 cb 0d 0e d8 1b | 20 69 6e 6c 25 2b 3d 6c |.. .....| inl%+=l|
|000039d0| 65 6e 25 3a 69 6e 61 25 | 2b 3d 63 6c 65 6e 25 0d |en%:ina%|+=clen%.|
|000039e0| 0e e2 23 20 f2 69 70 74 | 72 28 63 70 74 72 25 29 |..# .ipt|r(cptr%)|
|000039f0| 3a f4 20 47 6f 20 74 6f | 20 6e 65 78 74 20 66 69 |:. Go to| next fi|
|00003a00| 6c 65 0d 0e ec 05 cd 0d | 0e f6 40 c8 99 20 22 4f |le......|..@.. "O|
|00003a10| 53 5f 46 69 6c 65 22 2c | 31 2c 66 70 61 74 68 24 |S_File",|1,fpath$|
|00003a20| 2c 6c 6f 61 64 25 2c 65 | 78 65 63 25 2c 2c 61 74 |,load%,e|xec%,,at|
|00003a30| 74 72 25 3a f4 20 52 65 | 73 74 6f 72 65 20 66 69 |tr%:. Re|store fi|
|00003a40| 6c 65 20 69 6e 66 6f 0d | 0f 00 22 6e 61 6d 65 24 |le info.|.."name$|
|00003a50| 3d a4 69 73 3a f4 20 4e | 61 6d 65 20 6f 66 20 6e |=.is:. N|ame of n|
|00003a60| 65 78 74 20 65 6e 74 72 | 79 0d 0f 0a 0b 69 6e 74 |ext entr|y....int|
|00003a70| 25 2b 3d 31 0d 0f 14 31 | c8 99 20 22 48 6f 75 72 |%+=1...1|.. "Hour|
|00003a80| 67 6c 61 73 73 5f 50 65 | 72 63 65 6e 74 61 67 65 |glass_Pe|rcentage|
|00003a90| 22 2c a4 70 65 72 63 28 | a4 69 70 74 72 2c 61 73 |",.perc(|.iptr,as|
|00003aa0| 69 7a 65 25 29 0d 0f 1e | 15 f2 64 69 63 28 44 46 |ize%)...|..dic(DF|
|00003ab0| 63 6c 25 2c c3 69 6e 6c | 25 29 0d 0f 28 15 f2 64 |cl%,.inl|%)..(..d|
|00003ac0| 69 63 28 44 46 63 61 25 | 2c c3 69 6e 61 25 29 0d |ic(DFca%|,.ina%).|
|00003ad0| 0f 32 18 f2 64 69 63 28 | 44 46 69 74 65 6d 73 25 |.2..dic(|DFitems%|
|00003ae0| 2c c3 69 6e 74 25 29 0d | 0f 3c 1d f2 73 6c 69 64 |,.int%).|.<..slid|
|00003af0| 65 72 28 31 2c a4 69 70 | 74 72 2f 61 73 69 7a 65 |er(1,.ip|tr/asize|
|00003b00| 25 2c 30 29 0d 0f 46 05 | ce 0d 0f 50 2a f2 64 69 |%,0)..F.|...P*.di|
|00003b10| 63 28 44 46 63 6f 6d 70 | 74 25 2c c3 28 a4 70 65 |c(DFcomp|t%,.(.pe|
|00003b20| 72 63 28 69 6e 61 25 2c | 69 6e 6c 25 29 29 2b 22 |rc(ina%,|inl%))+"|
|00003b30| 25 22 29 0d 0f 5a 1f c8 | 99 20 22 46 69 6c 65 42 |%")..Z..|. "FileB|
|00003b40| 75 66 66 65 72 5f 43 6c | 6f 73 65 22 2c 49 62 6e |uffer_Cl|ose",Ibn|
|00003b50| 72 25 0d 0f 64 18 d9 23 | 49 6e 3a f4 20 43 6c 6f |r%..d..#|In:. Clo|
|00003b60| 73 65 20 61 72 63 68 69 | 76 65 0d 0f 6e 05 e1 0d |se archi|ve..n...|
|00003b70| 0f 78 04 0d 0f 82 08 dd | a4 69 77 0d 0f 8c 25 c8 |.x......|.iw...%.|
|00003b80| 99 20 22 46 69 6c 65 42 | 75 66 66 65 72 5f 52 65 |. "FileB|uffer_Re|
|00003b90| 61 64 22 2c 49 62 6e 72 | 25 2c 44 75 6d 25 2c 34 |ad",Ibnr|%,Dum%,4|
|00003ba0| 0d 0f 96 0a 3d 21 44 75 | 6d 25 0d 0f a0 04 0d 0f |....=!Du|m%......|
|00003bb0| aa 08 dd a4 69 73 0d 0f | b4 0b ea 20 76 24 2c 63 |....is..|... v$,c|
|00003bc0| 25 0d 0f be 3f 76 24 3d | 22 22 3a f5 20 c8 99 20 |%...?v$=|"":. .. |
|00003bd0| 22 46 69 6c 65 42 75 66 | 66 65 72 5f 52 65 61 64 |"FileBuf|fer_Read|
|00003be0| 42 79 74 65 22 2c 49 62 | 6e 72 25 20 b8 20 2c 63 |Byte",Ib|nr% . ,c|
|00003bf0| 25 3a 76 24 2b 3d bd 63 | 25 3a fd 20 63 25 3d 30 |%:v$+=.c|%:. c%=0|
|00003c00| 0d 0f c8 09 3d c0 76 24 | 29 0d 0f d2 04 0d 0f dc |....=.v$|).......|
|00003c10| 0a dd a4 69 70 74 72 0d | 0f e6 0a ea 20 70 74 72 |...iptr.|.... ptr|
|00003c20| 25 0d 0f f0 29 c8 99 20 | 22 46 69 6c 65 42 75 66 |%...).. |"FileBuf|
|00003c30| 66 65 72 5f 52 65 61 64 | 50 54 52 22 2c 49 62 6e |fer_Read|PTR",Ibn|
|00003c40| 72 25 20 b8 20 2c 70 74 | 72 25 0d 0f fa 09 3d 70 |r% . ,pt|r%....=p|
|00003c50| 74 72 25 0d 10 04 04 0d | 10 0e 10 dd f2 69 70 74 |tr%.....|.....ipt|
|00003c60| 72 28 70 74 72 25 29 0d | 10 18 27 c8 99 20 22 46 |r(ptr%).|..'.. "F|
|00003c70| 69 6c 65 42 75 66 66 65 | 72 5f 57 72 69 74 65 50 |ileBuffe|r_WriteP|
|00003c80| 54 52 22 2c 49 62 6e 72 | 25 2c 70 74 72 25 0d 10 |TR",Ibnr|%,ptr%..|
|00003c90| 22 05 e1 0d 10 2c 04 0d | 10 36 16 dd f2 72 65 73 |"....,..|.6...res|
|00003ca0| 74 6f 72 65 28 66 24 2c | 6c 65 6e 25 29 0d 10 40 |tore(f$,|len%)..@|
|00003cb0| 2b f4 20 52 65 73 74 6f | 72 65 73 20 75 6e 63 6f |+. Resto|res unco|
|00003cc0| 6d 70 72 65 73 73 65 64 | 20 66 69 6c 65 20 69 6e |mpressed| file in|
|00003cd0| 20 61 72 63 68 69 76 65 | 0d 10 4a 16 ea 20 4f 75 | archive|..J.. Ou|
|00003ce0| 74 2c 6c 65 66 74 25 2c | 62 79 74 65 73 25 0d 10 |t,left%,|bytes%..|
|00003cf0| 54 16 4f 75 74 3d ae 66 | 24 3a 6c 65 66 74 25 3d |T.Out=.f|$:left%=|
|00003d00| 6c 65 6e 25 0d 10 5e 0e | c8 95 20 6c 65 66 74 25 |len%..^.|.. left%|
|00003d10| 3e 30 0d 10 68 3a e7 6c | 65 66 74 25 3c 4f 75 74 |>0..h:.l|eft%<Out|
|00003d20| 42 75 66 53 69 7a 65 25 | 20 8c 20 62 79 74 65 73 |BufSize%| . bytes|
|00003d30| 25 3d 6c 65 66 74 25 20 | 8b 20 62 79 74 65 73 25 |%=left% |. bytes%|
|00003d40| 3d 4f 75 74 42 75 66 53 | 69 7a 65 25 0d 10 72 3a |=OutBufS|ize%..r:|
|00003d50| c8 99 20 22 46 69 6c 65 | 42 75 66 66 65 72 5f 52 |.. "File|Buffer_R|
|00003d60| 65 61 64 22 2c 49 62 6e | 72 25 2c 4f 75 74 42 75 |ead",Ibn|r%,OutBu|
|00003d70| 66 25 2c 62 79 74 65 73 | 25 3a f4 20 52 65 61 64 |f%,bytes|%:. Read|
|00003d80| 20 63 68 75 6e 6b 0d 10 | 7c 33 c8 99 20 22 4f 53 | chunk..||3.. "OS|
|00003d90| 5f 47 42 50 42 22 2c 32 | 2c 4f 75 74 2c 4f 75 74 |_GBPB",2|,Out,Out|
|00003da0| 42 75 66 25 2c 62 79 74 | 65 73 25 3a f4 20 57 72 |Buf%,byt|es%:. Wr|
|00003db0| 69 74 65 20 63 68 75 6e | 6b 0d 10 86 11 6c 65 66 |ite chun|k....lef|
|00003dc0| 74 25 2d 3d 62 79 74 65 | 73 25 0d 10 90 05 ce 0d |t%-=byte|s%......|
|00003dd0| 10 9a 09 d9 23 4f 75 74 | 0d 10 a4 05 e1 0d 10 ae |....#Out|........|
|00003de0| 04 0d 10 b8 0c dd f2 63 | 6c 6f 73 65 66 0d 10 c2 |.......c|losef...|
|00003df0| 1b f4 20 43 6c 6f 73 65 | 73 20 66 69 6c 65 73 20 |.. Close|s files |
|00003e00| 6f 6e 20 65 72 72 6f 72 | 0d 10 cc 20 e7 49 6e 20 |on error|... .In |
|00003e10| 8c 20 c8 99 20 22 58 4f | 53 5f 46 69 6e 64 22 2c |. .. "XO|S_Find",|
|00003e20| 2c 49 6e 3a 49 6e 3d 30 | 0d 10 d6 23 e7 4f 75 74 |,In:In=0|...#.Out|
|00003e30| 20 8c 20 c8 99 20 22 58 | 4f 53 5f 46 69 6e 64 22 | . .. "X|OS_Find"|
|00003e40| 2c 2c 4f 75 74 3a 4f 75 | 74 3d 30 0d 10 e0 05 e1 |,,Out:Ou|t=0.....|
|00003e50| 0d 10 ea 04 0d 10 f4 0f | dd f2 6d 61 69 6e 5f 6d |........|..main_m|
|00003e60| 65 6e 75 0d 10 fe 17 f4 | 20 43 72 65 61 74 65 73 |enu.....| Creates|
|00003e70| 20 6d 61 69 6e 20 6d 65 | 6e 75 0d 11 08 0b ea 20 | main me|nu..... |
|00003e80| 78 25 2c 79 25 0d 11 12 | 25 f2 6d 61 69 6e 5f 6d |x%,y%...|%.main_m|
|00003e90| 65 6e 75 5f 73 65 74 3a | f4 20 53 65 74 20 66 6c |enu_set:|. Set fl|
|00003ea0| 61 67 73 20 26 20 64 61 | 74 61 0d 11 1c 1f f2 6d |ags & da|ta.....m|
|00003eb0| 6f 75 73 65 28 78 25 2c | 5f 25 2c 5f 25 29 3a 79 |ouse(x%,|_%,_%):y|
|00003ec0| 25 3d 39 36 2b 33 2a 34 | 30 0d 11 26 30 4d 65 6e |%=96+3*4|0..&0Men|
|00003ed0| 75 31 3d 4d 65 6e 75 4d | 61 69 6e 25 3a c8 99 20 |u1=MenuM|ain%:.. |
|00003ee0| 57 43 72 65 61 74 65 4d | 25 2c 2c 4d 65 6e 75 31 |WCreateM|%,,Menu1|
|00003ef0| 2c 78 25 2d 36 34 2c 79 | 25 0d 11 30 05 e1 0d 11 |,x%-64,y|%..0....|
|00003f00| 3a 05 20 0d 11 44 13 dd | f2 6d 61 69 6e 5f 6d 65 |:. ..D..|.main_me|
|00003f10| 6e 75 5f 73 65 74 0d 11 | 4e 33 f4 20 57 72 69 74 |nu_set..|N3. Writ|
|00003f20| 65 73 20 63 75 72 72 65 | 6e 74 20 66 6c 61 67 73 |es curre|nt flags|
|00003f30| 20 26 20 69 63 6f 6e 20 | 64 61 74 61 20 69 6e 20 | & icon |data in |
|00003f40| 6d 61 69 6e 20 6d 65 6e | 75 0d 11 58 05 e1 0d 11 |main men|u..X....|
|00003f50| 62 04 0d 11 6c 14 dd f2 | 69 66 6c 28 66 6c 25 2c |b...l...|ifl(fl%,|
|00003f60| 74 25 2c 64 25 29 0d 11 | 76 1a f4 20 53 65 74 73 |t%,d%)..|v.. Sets|
|00003f70| 20 6d 65 6e 75 20 69 63 | 6f 6e 20 66 6c 61 67 73 | menu ic|on flags|
|00003f80| 0d 11 80 1b 74 25 3d 2d | 28 74 25 3c 3e 30 29 3a |....t%=-|(t%<>0):|
|00003f90| 64 25 3d 2d 28 64 25 3c | 3e 30 29 0d 11 8a 1e 21 |d%=-(d%<|>0)....!|
|00003fa0| 66 6c 25 3d 28 28 21 66 | 6c 25 29 80 ac 31 29 2b |fl%=((!f|l%)..1)+|
|00003fb0| 74 25 3a f4 20 54 69 63 | 6b 0d 11 94 2e 66 6c 25 |t%:. Tic|k....fl%|
|00003fc0| 21 38 3d 28 28 66 6c 25 | 21 38 29 80 ac 28 31 3c |!8=((fl%|!8)..(1<|
|00003fd0| 3c 32 32 29 29 2b 28 64 | 25 3c 3c 32 32 29 3a f4 |<22))+(d|%<<22):.|
|00003fe0| 20 53 68 61 64 65 64 0d | 11 9e 05 e1 0d 11 a8 04 | Shaded.|........|
|00003ff0| 0d 11 b2 20 dd f2 6f 70 | 65 6e 5f 77 69 6e 64 6f |... ..op|en_windo|
|00004000| 77 28 68 61 6e 64 6c 65 | 25 2c 69 6e 66 6f 25 29 |w(handle|%,info%)|
|00004010| 0d 11 bc 26 f4 20 4f 70 | 65 6e 73 20 77 69 6e 64 |...&. Op|ens wind|
|00004020| 6f 77 20 77 69 74 68 20 | 68 61 6e 64 6c 65 20 68 |ow with |handle h|
|00004030| 61 6e 64 6c 65 25 0d 11 | c6 40 f4 20 49 66 20 69 |andle%..|.@. If i|
|00004040| 6e 66 6f 25 3e 3d 26 31 | 30 30 20 74 68 65 6e 20 |nfo%>=&1|00 then |
|00004050| 69 6e 66 6f 25 20 69 73 | 20 72 65 61 64 79 20 61 |info% is| ready a|
|00004060| 74 20 69 6e 66 6f 25 2c | 20 65 6c 73 65 20 67 65 |t info%,| else ge|
|00004070| 74 20 69 6e 66 6f 0d 11 | d0 41 f4 20 61 6e 64 20 |t info..|.A. and |
|00004080| 69 66 20 62 69 74 30 3d | 31 20 70 6f 70 20 61 74 |if bit0=|1 pop at|
|00004090| 20 74 6f 70 2c 20 62 69 | 74 31 3d 31 20 77 69 6e | top, bi|t1=1 win|
|000040a0| 64 6f 77 20 68 61 73 20 | 6e 6f 20 73 63 72 6f 6c |dow has |no scrol|
|000040b0| 6c 20 62 61 72 73 2c 0d | 11 da 21 f4 20 62 69 74 |l bars,.|..!. bit|
|000040c0| 32 3d 31 20 70 6f 70 20 | 61 74 20 6d 6f 75 73 65 |2=1 pop |at mouse|
|000040d0| 20 70 6f 69 6e 74 65 72 | 0d 11 e4 1b ea 20 62 25 | pointer|..... b%|
|000040e0| 2c 70 78 25 2c 70 79 25 | 2c 5f 25 2c 78 73 25 2c |,px%,py%|,_%,xs%,|
|000040f0| 79 73 25 0d 11 ee 12 e7 | 69 6e 66 6f 25 3e 3d 26 |ys%.....|info%>=&|
|00004100| 31 30 30 20 8c 0d 11 f8 | 28 20 e3 20 62 25 3d 30 |100 ....|( . b%=0|
|00004110| 20 b8 20 33 31 20 88 20 | 34 3a 42 6c 6f 63 6b 21 | . 31 . |4:Block!|
|00004120| 62 25 3d 69 6e 66 6f 25 | 21 62 25 3a ed 0d 12 02 |b%=info%|!b%:....|
|00004130| 26 cc 20 21 42 6c 6f 63 | 6b 3d 68 61 6e 64 6c 65 |&. !Bloc|k=handle|
|00004140| 25 3a c8 99 20 57 47 65 | 74 57 53 25 2c 2c 42 6c |%:.. WGe|tWS%,,Bl|
|00004150| 6f 63 6b 0d 12 0c 2d 20 | e7 69 6e 66 6f 25 80 31 |ock...- |.info%.1|
|00004160| 20 8c 20 42 6c 6f 63 6b | 21 32 38 3d 2d 31 3a f4 | . Block|!28=-1:.|
|00004170| 20 50 6f 70 20 75 70 20 | 61 74 20 74 6f 70 20 3f | Pop up |at top ?|
|00004180| 0d 12 16 aa 20 e7 69 6e | 66 6f 25 80 34 20 8c 20 |.... .in|fo%.4 . |
|00004190| f2 6d 6f 75 73 65 28 70 | 78 25 2c 70 79 25 2c 5f |.mouse(p|x%,py%,_|
|000041a0| 25 29 3a 78 73 25 3d 42 | 6c 6f 63 6b 21 31 32 2d |%):xs%=B|lock!12-|
|000041b0| 42 6c 6f 63 6b 21 34 3a | 79 73 25 3d 42 6c 6f 63 |Block!4:|ys%=Bloc|
|000041c0| 6b 21 31 36 2d 42 6c 6f | 63 6b 21 38 3a 42 6c 6f |k!16-Blo|ck!8:Blo|
|000041d0| 63 6b 21 34 3d 70 78 25 | 2d 36 34 3a 42 6c 6f 63 |ck!4=px%|-64:Bloc|
|000041e0| 6b 21 38 3d 70 79 25 2d | 79 73 25 2b 31 36 3a 42 |k!8=py%-|ys%+16:B|
|000041f0| 6c 6f 63 6b 21 31 32 3d | 42 6c 6f 63 6b 21 34 2b |lock!12=|Block!4+|
|00004200| 78 73 25 3a 42 6c 6f 63 | 6b 21 31 36 3d 42 6c 6f |xs%:Bloc|k!16=Blo|
|00004210| 63 6b 21 38 2b 79 73 25 | 3a f4 20 50 6f 70 20 75 |ck!8+ys%|:. Pop u|
|00004220| 70 20 61 74 20 6d 6f 75 | 73 65 0d 12 20 05 cd 0d |p at mou|se.. ...|
|00004230| 12 2a 15 c8 99 20 57 4f | 70 65 6e 57 25 2c 2c 42 |.*... WO|penW%,,B|
|00004240| 6c 6f 63 6b 0d 12 34 05 | e1 0d 12 3e 05 20 0d 12 |lock..4.|...>. ..|
|00004250| 48 1b dd f2 63 6c 6f 73 | 65 5f 77 69 6e 64 6f 77 |H...clos|e_window|
|00004260| 28 68 61 6e 64 6c 65 25 | 29 0d 12 52 27 f4 20 43 |(handle%|)..R'. C|
|00004270| 6c 6f 73 65 73 20 77 69 | 6e 64 6f 77 20 77 69 74 |loses wi|ndow wit|
|00004280| 68 20 68 61 6e 64 6c 65 | 20 68 61 6e 64 6c 65 25 |h handle| handle%|
|00004290| 0d 12 5c 25 21 42 6c 6f | 63 6b 3d 68 61 6e 64 6c |..\%!Blo|ck=handl|
|000042a0| 65 25 3a c8 99 20 57 43 | 6c 6f 73 65 57 25 2c 2c |e%:.. WC|loseW%,,|
|000042b0| 42 6c 6f 63 6b 0d 12 66 | 05 e1 0d 12 70 05 20 0d |Block..f|....p. .|
|000042c0| 12 7a 11 dd a4 70 6f 6c | 6c 28 6d 61 73 6b 25 29 |.z...pol|l(mask%)|
|000042d0| 0d 12 84 40 f4 20 52 65 | 74 75 72 6e 73 20 70 6f |...@. Re|turns po|
|000042e0| 6c 6c 20 72 65 61 73 6f | 6e 20 63 6f 64 65 2c 20 |ll reaso|n code, |
|000042f0| 6d 61 73 6b 69 6e 67 20 | 77 69 74 68 20 6d 61 73 |masking |with mas|
|00004300| 6b 25 2c 20 64 61 74 61 | 20 61 74 20 50 6f 6c 6c |k%, data| at Poll|
|00004310| 0d 12 8e 10 ea 20 72 65 | 61 73 6f 6e 63 6f 64 65 |..... re|asoncode|
|00004320| 0d 12 98 25 c8 99 20 57 | 50 6f 6c 6c 25 2c 6d 61 |...%.. W|Poll%,ma|
|00004330| 73 6b 25 2c 50 6f 6c 6c | 20 b8 20 72 65 61 73 6f |sk%,Poll| . reaso|
|00004340| 6e 63 6f 64 65 0d 12 a2 | 0f 3d 72 65 61 73 6f 6e |ncode...|.=reason|
|00004350| 63 6f 64 65 0d 12 ac 05 | 20 0d 12 b6 10 dd f2 69 |code....| ......i|
|00004360| 6e 69 74 69 61 6c 69 73 | 65 0d 12 c0 19 f4 20 49 |nitialis|e..... I|
|00004370| 6e 69 74 69 61 6c 69 73 | 65 73 20 70 72 6f 67 72 |nitialis|es progr|
|00004380| 61 6d 0d 12 ca 2d 61 70 | 70 6c 6e 61 6d 65 24 3d |am...-ap|plname$=|
|00004390| 22 50 61 63 6b 44 69 72 | 22 3a f4 20 4e 61 6d 65 |"PackDir|":. Name|
|000043a0| 20 6f 66 20 61 70 70 6c | 69 63 61 74 69 6f 6e 0d | of appl|ication.|
|000043b0| 12 d4 46 c8 99 20 22 57 | 69 6d 70 5f 49 6e 69 74 |..F.. "W|imp_Init|
|000043c0| 69 61 6c 69 73 65 22 2c | 32 30 30 2c 26 34 42 35 |ialise",|200,&4B5|
|000043d0| 33 34 31 35 34 2c 61 70 | 70 6c 6e 61 6d 65 24 20 |34154,ap|plname$ |
|000043e0| b8 20 76 65 72 73 69 6f | 6e 2c 54 61 73 6b 48 61 |. versio|n,TaskHa|
|000043f0| 6e 64 6c 65 25 0d 12 de | 39 e7 76 65 72 73 69 6f |ndle%...|9.versio|
|00004400| 6e 3c 32 30 30 20 8c 20 | 85 20 31 2c 22 49 20 63 |n<200 . |. 1,"I c|
|00004410| 61 6e 6e 6f 74 20 77 6f | 72 6b 20 77 69 74 68 20 |annot wo|rk with |
|00004420| 57 49 4d 50 20 70 72 65 | 2d 32 2e 30 30 22 0d 12 |WIMP pre|-2.00"..|
|00004430| e8 47 c8 99 20 22 4c 5a | 57 42 5f 54 61 73 6b 53 |.G.. "LZ|WB_TaskS|
|00004440| 74 61 72 74 22 3a c8 99 | 20 22 46 69 6c 65 42 75 |tart":..| "FileBu|
|00004450| 66 66 65 72 5f 54 61 73 | 6b 53 74 61 72 74 22 3a |ffer_Tas|kStart":|
|00004460| f4 20 52 65 67 69 73 74 | 65 72 20 74 6f 20 6d 6f |. Regist|er to mo|
|00004470| 64 75 6c 65 73 0d 12 f2 | 36 57 25 3d a4 73 77 69 |dules...|6W%=.swi|
|00004480| 5f 74 6f 5f 6e 72 28 22 | 57 69 6d 70 5f 49 6e 69 |_to_nr("|Wimp_Ini|
|00004490| 74 69 61 6c 69 73 65 22 | 29 3a f4 20 42 61 73 65 |tialise"|):. Base|
|000044a0| 20 53 57 49 20 6e 75 6d | 62 65 72 0d 12 fc 8e 57 | SWI num|ber....W|
|000044b0| 43 72 65 61 74 65 57 25 | 3d 57 25 2b 31 3a 57 43 |CreateW%|=W%+1:WC|
|000044c0| 72 65 61 74 65 49 25 3d | 57 25 2b 32 3a 57 4f 70 |reateI%=|W%+2:WOp|
|000044d0| 65 6e 57 25 3d 57 25 2b | 35 3a 57 43 6c 6f 73 65 |enW%=W%+|5:WClose|
|000044e0| 57 25 3d 57 25 2b 36 3a | 57 50 6f 6c 6c 25 3d 57 |W%=W%+6:|WPoll%=W|
|000044f0| 25 2b 37 3a 57 47 65 74 | 57 53 25 3d 57 25 2b 31 |%+7:WGet|WS%=W%+1|
|00004500| 31 3a 57 53 65 74 49 53 | 25 3d 57 25 2b 31 33 3a |1:WSetIS|%=W%+13:|
|00004510| 57 47 65 74 49 53 25 3d | 57 25 2b 31 34 3a 57 47 |WGetIS%=|W%+14:WG|
|00004520| 65 74 50 49 25 3d 57 25 | 2b 31 35 3a 57 44 72 61 |etPI%=W%|+15:WDra|
|00004530| 67 42 25 3d 57 25 2b 31 | 36 0d 13 06 5e 57 53 65 |gB%=W%+1|6...^WSe|
|00004540| 74 43 61 25 3d 57 25 2b | 31 38 3a 57 43 72 65 61 |tCa%=W%+|18:WCrea|
|00004550| 74 65 4d 25 3d 57 25 2b | 32 30 3a 57 44 65 63 6f |teM%=W%+|20:WDeco|
|00004560| 64 65 4d 25 3d 57 25 2b | 32 31 3a 57 4c 6f 61 64 |deM%=W%+|21:WLoad|
|00004570| 54 25 3d 57 25 2b 32 37 | 3a 57 52 65 70 6f 72 74 |T%=W%+27|:WReport|
|00004580| 25 3d 57 25 2b 33 31 3a | 57 53 65 6e 64 4d 73 67 |%=W%+31:|WSendMsg|
|00004590| 25 3d 57 25 2b 33 39 0d | 13 10 3c 4f 53 53 70 6f |%=W%+39.|..<OSSpo|
|000045a0| 70 25 3d a4 73 77 69 5f | 74 6f 5f 6e 72 28 22 4f |p%=.swi_|to_nr("O|
|000045b0| 53 5f 53 70 72 69 74 65 | 4f 70 22 29 3a f4 20 53 |S_Sprite|Op"):. S|
|000045c0| 70 72 69 74 65 20 6f 70 | 20 53 57 49 20 6e 75 6d |prite op| SWI num|
|000045d0| 62 65 72 0d 13 1a 3d 74 | 66 25 3d 37 3a 74 62 25 |ber...=t|f%=7:tb%|
|000045e0| 3d 32 3a 77 66 25 3d 37 | 3a 77 62 25 3d 30 3a 73 |=2:wf%=7|:wb%=0:s|
|000045f0| 69 25 3d 31 3a 73 6f 25 | 3d 33 3a f4 20 57 69 6e |i%=1:so%|=3:. Win|
|00004600| 64 6f 77 2f 6d 65 6e 75 | 20 63 6f 6c 6f 75 72 73 |dow/menu| colours|
|00004610| 0d 13 24 90 21 42 6c 6f | 63 6b 3d 2d 31 3a 42 6c |..$.!Blo|ck=-1:Bl|
|00004620| 6f 63 6b 21 34 3d 30 3a | 42 6c 6f 63 6b 21 38 3d |ock!4=0:|Block!8=|
|00004630| 30 3a 42 6c 6f 63 6b 21 | 31 32 3d 36 38 3a 42 6c |0:Block!|12=68:Bl|
|00004640| 6f 63 6b 21 31 36 3d 36 | 38 3a 42 6c 6f 63 6b 21 |ock!16=6|8:Block!|
|00004650| 32 30 3d 26 32 37 30 30 | 33 30 30 32 3a 24 28 42 |20=&2700|3002:$(B|
|00004660| 6c 6f 63 6b 2b 32 34 29 | 3d 22 21 70 61 63 6b 64 |lock+24)|="!packd|
|00004670| 69 72 22 3a c8 99 20 57 | 43 72 65 61 74 65 49 25 |ir":.. W|CreateI%|
|00004680| 2c 2c 42 6c 6f 63 6b 20 | b8 20 49 63 6f 42 61 72 |,,Block |. IcoBar|
|00004690| 25 3a f4 20 49 63 6f 6e | 62 61 72 20 69 63 6f 6e |%:. Icon|bar icon|
|000046a0| 0d 13 2e 17 f4 20 4c 6f | 61 64 20 69 63 6f 6e 20 |..... Lo|ad icon |
|000046b0| 73 70 72 69 74 65 73 0d | 13 38 3e c8 99 20 22 4f |sprites.|.8>.. "O|
|000046c0| 53 5f 46 69 6c 65 22 2c | 35 2c 22 3c 50 61 63 6b |S_File",|5,"<Pack|
|000046d0| 44 69 72 24 44 69 72 3e | 2e 53 70 72 69 74 65 73 |Dir$Dir>|.Sprites|
|000046e0| 22 20 b8 20 2c 2c 2c 2c | 6c 65 6e 25 3a 6c 65 6e |" . ,,,,|len%:len|
|000046f0| 25 2b 3d 31 36 0d 13 42 | 47 de 20 49 63 6f 6e 53 |%+=16..B|G. IconS|
|00004700| 70 72 20 6c 65 6e 25 3a | 21 49 63 6f 6e 53 70 72 |pr len%:|!IconSpr|
|00004710| 3d 6c 65 6e 25 3a 49 63 | 6f 6e 53 70 72 21 34 3d |=len%:Ic|onSpr!4=|
|00004720| 30 3a 49 63 6f 6e 53 70 | 72 21 38 3d 31 36 3a 49 |0:IconSp|r!8=16:I|
|00004730| 63 6f 6e 53 70 72 21 31 | 32 3d 31 36 0d 13 4c 35 |conSpr!1|2=16..L5|
|00004740| c8 99 20 4f 53 53 70 6f | 70 25 2c 31 30 2b 32 35 |.. OSSpo|p%,10+25|
|00004750| 36 2c 49 63 6f 6e 53 70 | 72 2c 22 3c 50 61 63 6b |6,IconSp|r,"<Pack|
|00004760| 44 69 72 24 44 69 72 3e | 2e 53 70 72 69 74 65 73 |Dir$Dir>|.Sprites|
|00004770| 22 0d 13 56 14 f4 20 4c | 6f 61 64 20 74 65 6d 70 |"..V.. L|oad temp|
|00004780| 6c 61 74 65 73 0d 13 60 | 35 c8 99 20 22 57 69 6d |lates..`|5.. "Wim|
|00004790| 70 5f 4f 70 65 6e 54 65 | 6d 70 6c 61 74 65 22 2c |p_OpenTe|mplate",|
|000047a0| 2c 22 3c 50 61 63 6b 44 | 69 72 24 44 69 72 3e 2e |,"<PackD|ir$Dir>.|
|000047b0| 54 65 6d 70 6c 61 74 65 | 73 22 0d 13 6a 33 de 20 |Template|s"..j3. |
|000047c0| 69 63 20 32 30 34 38 2c | 69 65 20 31 3a f4 20 49 |ic 2048,|ie 1:. I|
|000047d0| 6e 64 69 72 65 63 74 65 | 64 20 69 63 6f 6e 20 64 |ndirecte|d icon d|
|000047e0| 61 74 61 20 77 6f 72 6b | 73 70 61 63 65 0d 13 74 |ata work|space..t|
|000047f0| 23 4e 72 25 3d 30 3a f4 | 20 49 6e 69 74 69 61 6c |#Nr%=0:.| Initial|
|00004800| 69 73 65 20 69 63 6f 6e | 20 63 6f 75 6e 74 65 72 |ise icon| counter|
|00004810| 0d 13 7e 23 f2 6c 6f 61 | 64 77 69 6e 28 22 73 61 |..~#.loa|dwin("sa|
|00004820| 76 65 22 2c 77 69 6e 5f | 66 69 6c 65 25 2c 26 31 |ve",win_|file%,&1|
|00004830| 30 33 29 0d 13 88 50 77 | 25 3d 77 69 6e 5f 66 69 |03)...Pw|%=win_fi|
|00004840| 6c 65 25 3a 49 63 6f 46 | 74 79 70 65 25 3d 30 3a |le%:IcoF|type%=0:|
|00004850| f2 61 64 64 69 63 28 44 | 53 73 6e 25 2c 77 25 2c |.addic(D|Ssn%,w%,|
|00004860| 49 63 6f 46 74 79 70 65 | 25 2c 31 31 29 3a f2 61 |IcoFtype|%,11):.a|
|00004870| 64 64 69 63 28 44 53 66 | 6e 25 2c 77 25 2c 31 2c |ddic(DSf|n%,w%,1,|
|00004880| 31 30 29 0d 13 92 20 f2 | 6c 6f 61 64 77 69 6e 28 |10)... .|loadwin(|
|00004890| 22 69 6e 66 6f 22 2c 77 | 69 6e 5f 69 6e 66 6f 25 |"info",w|in_info%|
|000048a0| 2c 30 29 0d 13 9c 28 f2 | 6c 6f 61 64 77 69 6e 28 |,0)...(.|loadwin(|
|000048b0| 22 66 69 6c 65 69 6e 66 | 6f 22 2c 77 69 6e 5f 66 |"fileinf|o",win_f|
|000048c0| 69 6c 65 69 6e 66 6f 25 | 2c 32 29 0d 13 a6 86 77 |ileinfo%|,2)....w|
|000048d0| 25 3d 77 69 6e 5f 66 69 | 6c 65 69 6e 66 6f 25 3a |%=win_fi|leinfo%:|
|000048e0| f2 61 64 64 69 63 28 44 | 46 6f 72 25 2c 77 25 2c |.addic(D|For%,w%,|
|000048f0| 31 2c 32 35 35 29 3a f2 | 61 64 64 69 63 28 44 46 |1,255):.|addic(DF|
|00004900| 6e 77 25 2c 77 25 2c 33 | 2c 32 35 35 29 3a f2 61 |nw%,w%,3|,255):.a|
|00004910| 64 64 69 63 28 44 46 61 | 63 25 2c 77 25 2c 34 2c |ddic(DFa|c%,w%,4,|
|00004920| 31 31 29 3a f2 61 64 64 | 69 63 28 44 46 66 6e 25 |11):.add|ic(DFfn%|
|00004930| 2c 77 25 2c 35 2c 32 35 | 35 29 3a f2 61 64 64 69 |,w%,5,25|5):.addi|
|00004940| 63 28 44 46 6c 65 6e 25 | 2c 77 25 2c 37 2c 31 31 |c(DFlen%|,w%,7,11|
|00004950| 29 0d 13 b0 88 f2 61 64 | 64 69 63 28 44 46 62 69 |).....ad|dic(DFbi|
|00004960| 74 73 25 2c 77 25 2c 39 | 2c 32 29 3a f2 61 64 64 |ts%,w%,9|,2):.add|
|00004970| 69 63 28 44 46 63 6f 6d | 70 66 25 2c 77 25 2c 31 |ic(DFcom|pf%,w%,1|
|00004980| 32 2c 35 29 3a f2 61 64 | 64 69 63 28 44 46 63 6f |2,5):.ad|dic(DFco|
|00004990| 6d 70 74 25 2c 77 25 2c | 31 34 2c 35 29 3a f2 61 |mpt%,w%,|14,5):.a|
|000049a0| 64 64 69 63 28 44 46 69 | 74 65 6d 73 25 2c 77 25 |ddic(DFi|tems%,w%|
|000049b0| 2c 31 36 2c 31 31 29 3a | 49 63 6f 53 6c 31 25 3d |,16,11):|IcoSl1%=|
|000049c0| 31 38 3a f2 61 64 64 69 | 63 28 44 46 63 61 25 2c |18:.addi|c(DFca%,|
|000049d0| 77 25 2c 31 39 2c 31 31 | 29 0d 13 ba 25 49 63 6f |w%,19,11|)...%Ico|
|000049e0| 53 6c 32 25 3d 32 31 3a | f2 61 64 64 69 63 28 44 |Sl2%=21:|.addic(D|
|000049f0| 46 63 6c 25 2c 77 25 2c | 32 32 2c 31 31 29 0d 13 |Fcl%,w%,|22,11)..|
|00004a00| c4 26 f2 6c 6f 61 64 77 | 69 6e 28 22 63 6f 6e 74 |.&.loadw|in("cont|
|00004a10| 72 6f 6c 22 2c 77 69 6e | 5f 63 6f 6e 74 72 6f 6c |rol",win|_control|
|00004a20| 25 2c 32 29 0d 13 ce 72 | 77 25 3d 77 69 6e 5f 63 |%,2)...r|w%=win_c|
|00004a30| 6f 6e 74 72 6f 6c 25 3a | f2 61 64 64 69 63 28 52 |ontrol%:|.addic(R|
|00004a40| 42 69 74 73 25 2c 77 25 | 2c 31 2c 35 29 3a f2 61 |Bits%,w%|,1,5):.a|
|00004a50| 64 64 69 63 28 52 53 74 | 6f 72 65 25 2c 77 25 2c |ddic(RSt|ore%,w%,|
|00004a60| 37 2c 32 29 3a f2 61 64 | 64 69 63 28 52 55 6e 54 |7,2):.ad|dic(RUnT|
|00004a70| 6f 25 2c 77 25 2c 31 30 | 2c 32 29 3a f2 61 64 64 |o%,w%,10|,2):.add|
|00004a80| 69 63 28 52 52 65 63 72 | 65 61 74 65 25 2c 77 25 |ic(RRecr|eate%,w%|
|00004a90| 2c 31 33 2c 33 29 0d 13 | d8 1b c8 99 20 22 57 69 |,13,3)..|.... "Wi|
|00004aa0| 6d 70 5f 43 6c 6f 73 65 | 54 65 6d 70 6c 61 74 65 |mp_Close|Template|
|00004ab0| 22 0d 13 e2 19 f4 20 4c | 6f 61 64 20 6d 65 6e 75 |"..... L|oad menu|
|00004ac0| 20 73 74 72 75 63 74 75 | 72 65 0d 13 ec 39 c8 99 | structu|re...9..|
|00004ad0| 20 22 4f 53 5f 46 69 6c | 65 22 2c 35 2c 22 3c 50 | "OS_Fil|e",5,"<P|
|00004ae0| 61 63 6b 44 69 72 24 44 | 69 72 3e 2e 4d 65 6e 75 |ackDir$D|ir>.Menu|
|00004af0| 53 74 72 75 63 74 22 20 | b8 20 2c 2c 2c 2c 73 6c |Struct" |. ,,,,sl|
|00004b00| 65 6e 25 0d 13 f6 17 de | 20 4d 65 6e 75 53 74 72 |en%.....| MenuStr|
|00004b10| 75 63 74 25 20 73 6c 65 | 6e 25 0d 14 00 3b c8 99 |uct% sle|n%...;..|
|00004b20| 20 22 4f 53 5f 46 69 6c | 65 22 2c 32 35 35 2c 22 | "OS_Fil|e",255,"|
|00004b30| 3c 50 61 63 6b 44 69 72 | 24 44 69 72 3e 2e 4d 65 |<PackDir|$Dir>.Me|
|00004b40| 6e 75 53 74 72 75 63 74 | 22 2c 4d 65 6e 75 53 74 |nuStruct|",MenuSt|
|00004b50| 72 75 63 74 25 0d 14 0a | 37 c8 99 20 22 4f 53 5f |ruct%...|7.. "OS_|
|00004b60| 46 69 6c 65 22 2c 35 2c | 22 3c 50 61 63 6b 44 69 |File",5,|"<PackDi|
|00004b70| 72 24 44 69 72 3e 2e 4d | 65 6e 75 44 61 74 61 22 |r$Dir>.M|enuData"|
|00004b80| 20 b8 20 2c 2c 2c 2c 64 | 6c 65 6e 25 0d 14 14 15 | . ,,,,d|len%....|
|00004b90| de 20 4d 65 6e 75 44 61 | 74 61 25 20 64 6c 65 6e |. MenuDa|ta% dlen|
|00004ba0| 25 0d 14 1e 37 c8 99 20 | 22 4f 53 5f 46 69 6c 65 |%...7.. |"OS_File|
|00004bb0| 22 2c 32 35 35 2c 22 3c | 50 61 63 6b 44 69 72 24 |",255,"<|PackDir$|
|00004bc0| 44 69 72 3e 2e 4d 65 6e | 75 44 61 74 61 22 2c 4d |Dir>.Men|uData",M|
|00004bd0| 65 6e 75 44 61 74 61 25 | 0d 14 28 27 e3 20 61 25 |enuData%|..('. a%|
|00004be0| 3d 4d 65 6e 75 53 74 72 | 75 63 74 25 2b 34 20 b8 |=MenuStr|uct%+4 .|
|00004bf0| 20 61 25 2b 73 6c 65 6e | 25 2d 38 20 88 20 34 0d | a%+slen|%-8 . 4.|
|00004c00| 14 32 ab 64 25 3d 21 61 | 25 3a e7 28 64 25 80 26 |.2.d%=!a|%:.(d%.&|
|00004c10| 46 46 46 30 30 30 30 30 | 29 3c 3e 26 44 45 41 30 |FFF00000|)<>&DEA0|
|00004c20| 30 30 30 30 20 8b 20 6b | 25 3d 28 64 25 3e 3e 31 |0000 . k|%=(d%>>1|
|00004c30| 36 29 80 26 46 3a 64 25 | 3d 64 25 80 26 46 46 46 |6).&F:d%|=d%.&FFF|
|00004c40| 46 3a e7 6b 25 3d 31 20 | 8c 20 21 61 25 3d 64 25 |F:.k%=1 |. !a%=d%|
|00004c50| 2b 4d 65 6e 75 53 74 72 | 75 63 74 25 20 8b 20 e7 |+MenuStr|uct% . .|
|00004c60| 6b 25 3d 32 20 8c 20 21 | 61 25 3d 64 25 2b 4d 65 |k%=2 . !|a%=d%+Me|
|00004c70| 6e 75 44 61 74 61 25 20 | 8b 20 e7 64 25 3d 31 20 |nuData% |. .d%=1 |
|00004c80| 8c 20 21 61 25 3d 77 69 | 6e 5f 69 6e 66 6f 25 20 |. !a%=wi|n_info% |
|00004c90| 8b 20 e7 64 25 3d 32 20 | 8c 20 21 61 25 3d 77 69 |. .d%=2 |. !a%=wi|
|00004ca0| 6e 5f 63 6f 6e 74 72 6f | 6c 25 0d 14 3c 05 ed 0d |n_contro|l%..<...|
|00004cb0| 14 46 91 56 61 72 73 3d | 8e 22 3c 50 61 63 6b 44 |.F.Vars=|."<PackD|
|00004cc0| 69 72 24 44 69 72 3e 2e | 4d 65 6e 75 56 61 72 73 |ir$Dir>.|MenuVars|
|00004cd0| 22 3a c8 95 20 ac c5 23 | 56 61 72 73 3a 76 6e 24 |":.. ..#|Vars:vn$|
|00004ce0| 3d be 23 56 61 72 73 3a | 64 25 3d 9a 23 56 61 72 |=.#Vars:|d%=.#Var|
|00004cf0| 73 3a 76 76 24 3d be 23 | 56 61 72 73 3a 64 25 3d |s:vv$=.#|Vars:d%=|
|00004d00| 9a 23 56 61 72 73 3a e7 | c0 76 6e 24 2c 32 29 3d |.#Vars:.|.vn$,2)=|
|00004d10| 22 69 64 22 20 8c 20 76 | 76 25 3d 4d 65 6e 75 44 |"id" . v|v%=MenuD|
|00004d20| 61 74 61 25 2b bb 76 76 | 24 20 8b 20 76 76 25 3d |ata%+.vv|$ . vv%=|
|00004d30| 4d 65 6e 75 53 74 72 75 | 63 74 25 2b bb 76 76 24 |MenuStru|ct%+.vv$|
|00004d40| 0d 14 50 2d 64 25 3d a0 | 28 22 46 4e 63 76 61 72 |..P-d%=.|("FNcvar|
|00004d50| 28 22 2b 76 6e 24 2b 22 | 2c 22 2b c3 76 76 25 2b |("+vn$+"|,"+.vv%+|
|00004d60| 22 29 22 29 3a ce 3a d9 | 23 56 61 72 73 0d 14 5a |")"):.:.|#Vars..Z|
|00004d70| 26 4d 65 6e 75 4d 61 69 | 6e 25 3d 4d 65 6e 75 53 |&MenuMai|n%=MenuS|
|00004d80| 74 72 75 63 74 25 2b 21 | 4d 65 6e 75 53 74 72 75 |truct%+!|MenuStru|
|00004d90| 63 74 25 0d 14 64 1a f4 | 20 49 6e 69 74 69 61 6c |ct%..d..| Initial|
|00004da0| 69 73 65 20 76 61 72 69 | 61 62 6c 65 73 0d 14 6e |ise vari|ables..n|
|00004db0| 7d 4f 75 74 70 75 74 24 | 3d 22 22 3a 49 6e 70 75 |}Output$|="":Inpu|
|00004dc0| 74 24 3d 22 22 3a 44 61 | 74 61 4c 6f 61 64 52 65 |t$="":Da|taLoadRe|
|00004dd0| 66 25 3d a3 3a 44 61 74 | 61 53 61 76 65 52 65 66 |f%=.:Dat|aSaveRef|
|00004de0| 25 3d 2d 31 3a 49 6e 54 | 79 70 65 3d 30 3a 41 63 |%=-1:InT|ype=0:Ac|
|00004df0| 74 69 6f 6e 3d a3 3a 41 | 63 74 55 6e 61 72 63 3d |tion=.:A|ctUnarc=|
|00004e00| 31 3a 41 63 74 41 72 63 | 3d 32 3a 53 6c 6f 74 44 |1:ActArc|=2:SlotD|
|00004e10| 6f 77 6e 3d a3 3a 49 6e | 3d 30 3a 4f 75 74 3d 30 |own=.:In|=0:Out=0|
|00004e20| 3a 53 76 61 6c 25 28 29 | 3d 30 0d 14 78 1d 4c 5a |:Sval%()|=0..x.LZ|
|00004e30| 57 69 62 69 74 73 3d 31 | 33 3a f4 20 4c 5a 57 20 |Wibits=1|3:. LZW |
|00004e40| 6d 61 78 62 69 74 73 0d | 14 82 7e f2 66 69 6c 65 |maxbits.|..~.file|
|00004e50| 69 6e 66 6f 28 22 44 6f | 72 6d 61 6e 74 22 2c 22 |info("Do|rmant","|
|00004e60| 22 2c 22 22 2c 22 22 2c | 22 2d 22 2c 22 2d 22 2c |","","",|"-","-",|
|00004e70| 22 2d 22 2c 22 2d 22 2c | 22 2d 22 2c 22 2d 22 2c |"-","-",|"-","-",|
|00004e80| 22 2d 22 29 3a f2 72 69 | 63 28 52 42 69 74 73 25 |"-"):.ri|c(RBits%|
|00004e90| 2c 32 29 3a f2 72 69 63 | 28 52 53 74 6f 72 65 25 |,2):.ric|(RStore%|
|00004ea0| 2c 31 29 3a f2 72 69 63 | 28 52 55 6e 54 6f 25 2c |,1):.ric|(RUnTo%,|
|00004eb0| 31 29 3a f2 72 69 63 28 | 52 52 65 63 72 65 61 74 |1):.ric(|RRecreat|
|00004ec0| 65 25 2c 31 29 0d 14 8c | 05 e1 0d 14 96 04 0d 14 |e%,1)...|........|
|00004ed0| a0 20 dd f2 6c 6f 61 64 | 77 69 6e 28 6e 61 6d 65 |. ..load|win(name|
|00004ee0| 24 2c f8 20 77 69 6e 25 | 2c 73 65 74 25 29 0d 14 |$,. win%|,set%)..|
|00004ef0| aa 30 f4 20 4c 6f 61 64 | 73 20 77 69 6e 64 6f 77 |.0. Load|s window|
|00004f00| 20 74 65 6d 70 6c 61 74 | 65 20 28 73 65 65 20 50 | templat|e (see P|
|00004f10| 52 4f 43 69 6e 69 74 69 | 61 6c 69 73 65 29 0d 14 |ROCiniti|alise)..|
|00004f20| b4 0a ea 20 69 63 6f 25 | 0d 14 be 39 24 44 75 6d |... ico%|...9$Dum|
|00004f30| 25 3d 6e 61 6d 65 24 3a | c8 99 20 57 4c 6f 61 64 |%=name$:|.. WLoad|
|00004f40| 54 25 2c 2c 57 69 6e 64 | 6f 77 2c 69 63 2c 69 65 |T%,,Wind|ow,ic,ie|
|00004f50| 2c 2d 31 2c 44 75 6d 25 | 2c 30 20 b8 20 2c 2c 69 |,-1,Dum%|,0 . ,,i|
|00004f60| 63 0d 14 c8 11 e7 73 65 | 74 25 3e 3d 26 31 30 30 |c.....se|t%>=&100|
|00004f70| 20 8c 0d 14 d2 3d 20 69 | 63 6f 25 3d 28 73 65 74 | ....= i|co%=(set|
|00004f80| 25 3e 3e 3e 38 29 2d 31 | 3a 57 69 6e 64 6f 77 21 |%>>>8)-1|:Window!|
|00004f90| 28 38 38 2b 33 32 2a 69 | 63 6f 25 2b 32 34 29 3d |(88+32*i|co%+24)=|
|00004fa0| 31 3a 73 65 74 25 3d 73 | 65 74 25 80 26 46 46 0d |1:set%=s|et%.&FF.|
|00004fb0| 14 dc 05 cd 0d 14 e6 0d | c8 8e 20 73 65 74 25 20 |........|.. set% |
|00004fc0| ca 0d 14 f0 2c 20 c9 20 | 32 20 3a 20 57 69 6e 64 |...., . |2 : Wind|
|00004fd0| 6f 77 21 36 34 3d 49 63 | 6f 6e 53 70 72 3a f4 20 |ow!64=Ic|onSpr:. |
|00004fe0| 4c 6f 63 61 6c 20 61 72 | 65 61 70 74 72 0d 14 fa |Local ar|eaptr...|
|00004ff0| 25 20 c9 20 33 20 3a 20 | 57 69 6e 64 6f 77 21 36 |% . 3 : |Window!6|
|00005000| 34 3d 31 3a f4 20 57 49 | 4d 50 20 61 72 65 61 70 |4=1:. WI|MP areap|
|00005010| 74 72 0d 15 04 05 cb 0d | 15 0e 1f c8 99 20 57 43 |tr......|..... WC|
|00005020| 72 65 61 74 65 57 25 2c | 2c 57 69 6e 64 6f 77 20 |reateW%,|,Window |
|00005030| b8 20 77 69 6e 25 0d 15 | 18 05 e1 0d 15 22 04 0d |. win%..|....."..|
|00005040| 15 2c 16 dd a4 61 69 63 | 6f 6e 28 77 69 6e 25 2c |.,...aic|on(win%,|
|00005050| 69 63 6f 25 29 0d 15 36 | 2c f4 20 52 65 74 75 72 |ico%)..6|,. Retur|
|00005060| 6e 73 20 69 6e 64 69 72 | 65 63 74 65 64 20 69 63 |ns indir|ected ic|
|00005070| 6f 6e 27 73 20 64 61 74 | 61 20 61 64 64 72 65 73 |on's dat|a addres|
|00005080| 73 0d 15 40 3e 21 42 6c | 6f 63 6b 3d 77 69 6e 25 |s..@>!Bl|ock=win%|
|00005090| 3a 42 6c 6f 63 6b 21 34 | 3d 69 63 6f 25 3a c8 99 |:Block!4|=ico%:..|
|000050a0| 20 57 47 65 74 49 53 25 | 2c 2c 42 6c 6f 63 6b 3a | WGetIS%|,,Block:|
|000050b0| f4 20 47 65 74 20 69 63 | 6f 6e 20 69 6e 66 6f 0d |. Get ic|on info.|
|000050c0| 15 4a 0d 3d 42 6c 6f 63 | 6b 21 32 38 0d 15 54 04 |.J.=Bloc|k!28..T.|
|000050d0| 0d 15 5e 23 dd f2 61 64 | 64 69 63 28 f8 20 69 6e |..^#..ad|dic(. in|
|000050e0| 72 25 2c 77 69 6e 25 2c | 69 63 6f 25 2c 69 6e 66 |r%,win%,|ico%,inf|
|000050f0| 6f 25 29 0d 15 68 1c f4 | 20 41 64 64 73 20 69 63 |o%)..h..| Adds ic|
|00005100| 6f 6e 20 74 6f 20 69 63 | 6f 6e 20 6c 69 73 74 0d |on to ic|on list.|
|00005110| 15 72 46 69 6e 72 25 3d | a4 6e 72 3a 49 63 6f 6e |.rFinr%=|.nr:Icon|
|00005120| 25 28 69 6e 72 25 2c 30 | 29 3d 77 69 6e 25 3a 49 |%(inr%,0|)=win%:I|
|00005130| 63 6f 6e 25 28 69 6e 72 | 25 2c 31 29 3d 69 63 6f |con%(inr|%,1)=ico|
|00005140| 25 3a 49 63 6f 6e 25 28 | 69 6e 72 25 2c 32 29 3d |%:Icon%(|inr%,2)=|
|00005150| 69 6e 66 6f 25 0d 15 7c | 05 e1 0d 15 86 04 0d 15 |info%..||........|
|00005160| 90 13 dd f2 72 69 63 28 | 6e 72 25 2c 69 63 73 25 |....ric(|nr%,ics%|
|00005170| 29 0d 15 9a 1b f4 20 53 | 65 74 73 20 72 61 64 69 |)..... S|ets radi|
|00005180| 6f 20 69 63 6f 6e 20 73 | 74 61 74 65 0d 15 a4 0b |o icon s|tate....|
|00005190| ea 20 69 25 2c 66 25 0d | 15 ae 19 e3 20 69 25 3d |. i%,f%.|.... i%=|
|000051a0| 31 20 b8 20 49 63 6f 6e | 25 28 6e 72 25 2c 32 29 |1 . Icon|%(nr%,2)|
|000051b0| 0d 15 b8 1a e7 69 25 3d | 69 63 73 25 20 8c 20 66 |.....i%=|ics% . f|
|000051c0| 25 3d 31 20 8b 20 66 25 | 3d 30 0d 15 c2 47 21 49 |%=1 . f%|=0...G!I|
|000051d0| 62 6c 3d 49 63 6f 6e 25 | 28 6e 72 25 2c 30 29 3a |bl=Icon%|(nr%,0):|
|000051e0| 49 62 6c 21 34 3d 69 25 | 2b 49 63 6f 6e 25 28 6e |Ibl!4=i%|+Icon%(n|
|000051f0| 72 25 2c 31 29 2d 31 3a | 49 62 6c 21 38 3d 66 25 |r%,1)-1:|Ibl!8=f%|
|00005200| 3c 3c 32 31 3a 49 62 6c | 21 31 32 3d 31 3c 3c 32 |<<21:Ibl|!12=1<<2|
|00005210| 31 0d 15 cc 2e c8 99 20 | 57 53 65 74 49 53 25 2c |1...... |WSetIS%,|
|00005220| 2c 49 62 6c 3a f4 20 53 | 65 74 20 69 63 6f 6e 20 |,Ibl:. S|et icon |
|00005230| 73 65 6c 65 63 74 69 6f | 6e 20 73 74 61 74 65 0d |selectio|n state.|
|00005240| 15 d6 05 ed 0d 15 e0 05 | e1 0d 15 ea 04 0d 15 f4 |........|........|
|00005250| 0e dd a4 72 69 63 28 6e | 72 25 29 0d 15 fe 1e f4 |...ric(n|r%).....|
|00005260| 20 52 65 74 75 72 6e 73 | 20 72 61 64 69 6f 20 69 | Returns| radio i|
|00005270| 63 6f 6e 20 73 74 61 74 | 65 0d 16 08 0e ea 20 69 |con stat|e..... i|
|00005280| 25 2c 6e 25 2c 76 25 0d | 16 12 19 e3 20 69 25 3d |%,n%,v%.|.... i%=|
|00005290| 31 20 b8 20 49 63 6f 6e | 25 28 6e 72 25 2c 32 29 |1 . Icon|%(nr%,2)|
|000052a0| 0d 16 1c 2d 21 49 62 6c | 3d 49 63 6f 6e 25 28 6e |...-!Ibl|=Icon%(n|
|000052b0| 72 25 2c 30 29 3a 49 62 | 6c 21 34 3d 69 25 2b 49 |r%,0):Ib|l!4=i%+I|
|000052c0| 63 6f 6e 25 28 6e 72 25 | 2c 31 29 2d 31 0d 16 26 |con%(nr%|,1)-1..&|
|000052d0| 24 c8 99 20 57 47 65 74 | 49 53 25 2c 2c 49 62 6c |$.. WGet|IS%,,Ibl|
|000052e0| 3a f4 20 47 65 74 20 69 | 63 6f 6e 20 73 74 61 74 |:. Get i|con stat|
|000052f0| 65 0d 16 30 2a e7 28 28 | 49 62 6c 21 32 34 29 20 |e..0*.((|Ibl!24) |
|00005300| 80 20 28 31 3c 3c 32 31 | 29 29 3e 30 20 8c 20 76 |. (1<<21|))>0 . v|
|00005310| 25 3d 69 25 3a f4 20 4f | 6e 20 3f 0d 16 3a 05 ed |%=i%:. O|n ?..:..|
|00005320| 0d 16 44 07 3d 76 25 0d | 16 4e 04 0d 16 58 1b dd |..D.=v%.|.N...X..|
|00005330| a4 6f 62 69 74 73 3d 31 | 31 2b a4 72 69 63 28 52 |.obits=1|1+.ric(R|
|00005340| 42 69 74 73 25 29 0d 16 | 62 17 dd a4 75 6e 74 6f |Bits%)..|b...unto|
|00005350| 3d a4 72 69 63 28 52 55 | 6e 54 6f 25 29 0d 16 6c |=.ric(RU|nTo%)..l|
|00005360| 1b dd a4 6f 72 65 63 3d | a4 72 69 63 28 52 52 65 |...orec=|.ric(RRe|
|00005370| 63 72 65 61 74 65 25 29 | 0d 16 76 18 dd a4 6f 73 |create%)|..v...os|
|00005380| 74 6f 3d a4 72 69 63 28 | 52 53 74 6f 72 65 25 29 |to=.ric(|RStore%)|
|00005390| 0d 16 80 04 0d 16 8a 11 | dd f2 64 69 63 28 6e 72 |........|..dic(nr|
|000053a0| 25 2c 64 24 29 0d 16 94 | 1a f4 20 53 65 74 73 20 |%,d$)...|.. Sets |
|000053b0| 64 61 74 61 20 69 63 6f | 6e 20 73 74 61 74 65 0d |data ico|n state.|
|000053c0| 16 9e 0b ea 20 61 25 2c | 6c 25 0d 16 a8 28 21 49 |.... a%,|l%...(!I|
|000053d0| 62 6c 3d 49 63 6f 6e 25 | 28 6e 72 25 2c 30 29 3a |bl=Icon%|(nr%,0):|
|000053e0| 49 62 6c 21 34 3d 49 63 | 6f 6e 25 28 6e 72 25 2c |Ibl!4=Ic|on%(nr%,|
|000053f0| 31 29 0d 16 b2 24 c8 99 | 20 57 47 65 74 49 53 25 |1)...$..| WGetIS%|
|00005400| 2c 2c 49 62 6c 3a f4 20 | 47 65 74 20 69 63 6f 6e |,,Ibl:. |Get icon|
|00005410| 20 73 74 61 74 65 0d 16 | bc 36 61 25 3d 49 62 6c | state..|.6a%=Ibl|
|00005420| 21 32 38 3a 6c 25 3d 49 | 62 6c 21 33 36 2d 31 3a |!28:l%=I|bl!36-1:|
|00005430| f4 20 41 64 64 72 65 73 | 73 20 26 20 61 6c 6c 6f |. Addres|s & allo|
|00005440| 63 61 74 65 64 20 6c 65 | 6e 67 74 68 0d 16 c6 35 |cated le|ngth...5|
|00005450| e7 49 63 6f 6e 25 28 6e | 72 25 2c 32 29 3c 6c 25 |.Icon%(n|r%,2)<l%|
|00005460| 20 8c 20 6c 25 3d 49 63 | 6f 6e 25 28 6e 72 25 2c | . l%=Ic|on%(nr%,|
|00005470| 32 29 3a f4 20 4c 69 6d | 69 74 20 6c 65 6e 67 74 |2):. Lim|it lengt|
|00005480| 68 0d 16 d0 1c 24 61 25 | 3d c0 64 24 2c 6c 25 29 |h....$a%|=.d$,l%)|
|00005490| 3a f4 20 57 72 69 74 65 | 20 64 61 74 61 0d 16 da |:. Write| data...|
|000054a0| 32 49 62 6c 21 38 3d 30 | 3a 49 62 6c 21 31 32 3d |2Ibl!8=0|:Ibl!12=|
|000054b0| 30 3a c8 99 20 57 53 65 | 74 49 53 25 2c 2c 49 62 |0:.. WSe|tIS%,,Ib|
|000054c0| 6c 3a f4 20 55 70 64 61 | 74 65 20 69 63 6f 6e 0d |l:. Upda|te icon.|
|000054d0| 16 e4 05 e1 0d 16 ee 04 | 0d 16 f8 0e dd a4 64 69 |........|......di|
|000054e0| 63 28 6e 72 25 29 0d 17 | 02 1d f4 20 52 65 74 75 |c(nr%)..|... Retu|
|000054f0| 72 6e 73 20 64 61 74 61 | 20 69 63 6f 6e 20 73 74 |rns data| icon st|
|00005500| 61 74 65 0d 17 0c 0b ea | 20 61 25 2c 6c 25 0d 17 |ate.....| a%,l%..|
|00005510| 16 28 21 49 62 6c 3d 49 | 63 6f 6e 25 28 6e 72 25 |.(!Ibl=I|con%(nr%|
|00005520| 2c 30 29 3a 49 62 6c 21 | 34 3d 49 63 6f 6e 25 28 |,0):Ibl!|4=Icon%(|
|00005530| 6e 72 25 2c 31 29 0d 17 | 20 24 c8 99 20 57 47 65 |nr%,1)..| $.. WGe|
|00005540| 74 49 53 25 2c 2c 49 62 | 6c 3a f4 20 47 65 74 20 |tIS%,,Ib|l:. Get |
|00005550| 69 63 6f 6e 20 73 74 61 | 74 65 0d 17 2a 1d 61 25 |icon sta|te..*.a%|
|00005560| 3d 49 62 6c 21 32 38 3a | 6c 25 3d 49 63 6f 6e 25 |=Ibl!28:|l%=Icon%|
|00005570| 28 6e 72 25 2c 32 29 0d | 17 34 15 3d c0 a4 73 74 |(nr%,2).|.4.=..st|
|00005580| 72 69 6e 67 28 61 25 29 | 2c 6c 25 29 0d 17 3e 04 |ring(a%)|,l%)..>.|
|00005590| 0d 17 48 3a dd f2 66 69 | 6c 65 69 6e 66 6f 28 61 |..H:..fi|leinfo(a|
|000055a0| 63 24 2c 6f 72 24 2c 6e | 77 24 2c 66 69 24 2c 6c |c$,or$,n|w$,fi$,l|
|000055b0| 24 2c 72 66 24 2c 72 74 | 24 2c 62 69 24 2c 63 6c |$,rf$,rt|$,bi$,cl|
|000055c0| 24 2c 63 61 24 2c 69 74 | 24 29 0d 17 52 29 f4 20 |$,ca$,it|$)..R). |
|000055d0| 53 65 74 73 20 62 61 73 | 69 63 20 69 6e 66 6f 20 |Sets bas|ic info |
|000055e0| 69 6e 20 66 69 6c 65 20 | 69 6e 66 6f 20 77 69 6e |in file |info win|
|000055f0| 64 6f 77 0d 17 5c 79 f2 | 64 69 63 28 44 46 61 63 |dow..\y.|dic(DFac|
|00005600| 25 2c 61 63 24 29 3a f2 | 64 69 63 28 44 46 6f 72 |%,ac$):.|dic(DFor|
|00005610| 25 2c 6f 72 24 29 3a f2 | 64 69 63 28 44 46 6e 77 |%,or$):.|dic(DFnw|
|00005620| 25 2c 6e 77 24 29 3a f2 | 64 69 63 28 44 46 66 6e |%,nw$):.|dic(DFfn|
|00005630| 25 2c 66 69 24 29 3a f2 | 64 69 63 28 44 46 6c 65 |%,fi$):.|dic(DFle|
|00005640| 6e 25 2c 6c 24 29 3a f2 | 64 69 63 28 44 46 63 6f |n%,l$):.|dic(DFco|
|00005650| 6d 70 66 25 2c 72 66 24 | 29 3a f2 64 69 63 28 44 |mpf%,rf$|):.dic(D|
|00005660| 46 63 6f 6d 70 74 25 2c | 72 74 24 29 0d 17 66 6a |Fcompt%,|rt$)..fj|
|00005670| f2 64 69 63 28 44 46 62 | 69 74 73 25 2c 62 69 24 |.dic(DFb|its%,bi$|
|00005680| 29 3a f2 64 69 63 28 44 | 46 63 6c 25 2c 63 6c 24 |):.dic(D|Fcl%,cl$|
|00005690| 29 3a f2 64 69 63 28 44 | 46 63 61 25 2c 63 61 24 |):.dic(D|Fca%,ca$|
|000056a0| 29 3a f2 64 69 63 28 44 | 46 69 74 65 6d 73 25 2c |):.dic(D|Fitems%,|
|000056b0| 69 74 24 29 3a f2 73 6c | 69 64 65 72 28 31 2c 2d |it$):.sl|ider(1,-|
|000056c0| 31 2c 2d 31 29 3a f2 73 | 6c 69 64 65 72 28 32 2c |1,-1):.s|lider(2,|
|000056d0| 2d 31 2c 2d 31 29 0d 17 | 70 05 e1 0d 17 7a 04 0d |-1,-1)..|p....z..|
|000056e0| 17 84 1b dd f2 73 6c 69 | 64 65 72 28 6e 72 25 2c |.....sli|der(nr%,|
|000056f0| 76 61 6c 31 2c 76 61 6c | 32 29 0d 17 8e 21 f4 20 |val1,val|2)...!. |
|00005700| 41 64 6a 75 73 74 73 20 | 73 6c 69 64 65 72 20 74 |Adjusts |slider t|
|00005710| 6f 20 6e 65 77 20 76 61 | 6c 75 65 0d 17 98 23 ea |o new va|lue...#.|
|00005720| 20 72 30 2c 72 31 2c 72 | 32 2c 72 33 2c 69 63 6f | r0,r1,r|2,r3,ico|
|00005730| 25 2c 63 6f 6c 25 2c 76 | 31 25 2c 76 32 25 0d 17 |%,col%,v|1%,v2%..|
|00005740| a2 1d 76 31 25 3d 76 61 | 6c 31 2a 34 30 30 3a 76 |..v1%=va|l1*400:v|
|00005750| 32 25 3d 76 61 6c 32 2a | 34 30 30 0d 17 ac 2d e7 |2%=val2*|400...-.|
|00005760| 76 31 25 3d 53 76 61 6c | 25 28 6e 72 25 2c 30 29 |v1%=Sval|%(nr%,0)|
|00005770| 20 8c 20 e7 76 32 25 3d | 53 76 61 6c 25 28 6e 72 | . .v2%=|Sval%(nr|
|00005780| 25 2c 31 29 20 8c 20 e1 | 0d 17 b6 25 53 76 61 6c |%,1) . .|...%Sval|
|00005790| 25 28 6e 72 25 2c 30 29 | 3d 76 31 25 3a 53 76 61 |%(nr%,0)|=v1%:Sva|
|000057a0| 6c 25 28 6e 72 25 2c 31 | 29 3d 76 32 25 0d 17 c0 |l%(nr%,1|)=v2%...|
|000057b0| 38 e7 6e 72 25 3d 31 20 | 8c 20 69 63 6f 25 3d 49 |8.nr%=1 |. ico%=I|
|000057c0| 63 6f 53 6c 31 25 3a 63 | 6f 6c 25 3d 31 30 20 8b |coSl1%:c|ol%=10 .|
|000057d0| 20 69 63 6f 25 3d 49 63 | 6f 53 6c 32 25 3a 63 6f | ico%=Ic|oSl2%:co|
|000057e0| 6c 25 3d 31 31 0d 17 ca | 3b c8 99 20 4f 53 53 70 |l%=11...|;.. OSSp|
|000057f0| 6f 70 25 2c 36 30 2b 32 | 35 36 2c 49 63 6f 6e 53 |op%,60+2|56,IconS|
|00005800| 70 72 2c 22 73 6c 69 64 | 65 72 22 2b c3 6e 72 25 |pr,"slid|er"+.nr%|
|00005810| 2c 30 20 b8 20 72 30 2c | 72 31 2c 72 32 2c 72 33 |,0 . r0,|r1,r2,r3|
|00005820| 0d 17 d4 1c e7 28 76 61 | 6c 31 3d 2d 31 29 20 80 |.....(va|l1=-1) .|
|00005830| 20 28 76 61 6c 32 3d 2d | 31 29 20 8c 0d 17 de 1e | (val2=-|1) .....|
|00005840| 20 e6 20 30 2c 30 3a ec | 20 31 36 2c 31 36 3a f0 | . 0,0:.| 16,16:.|
|00005850| 20 39 37 2c 38 30 30 2c | 31 38 0d 17 e8 0d cc 20 | 97,800,|18..... |
|00005860| ec 20 31 36 2c 31 36 0d | 17 f2 2e 20 e7 76 31 25 |. 16,16.|... .v1%|
|00005870| 3e 30 20 8c 20 e6 20 30 | 2c 63 6f 6c 25 3a f0 20 |>0 . . 0|,col%:. |
|00005880| 39 37 2c 76 31 25 2a 32 | 2c 31 38 3a f0 20 30 2c |97,v1%*2|,18:. 0,|
|00005890| 32 2c 2d 31 38 0d 17 fc | 22 20 e7 76 32 25 3e 30 |2,-18...|" .v2%>0|
|000058a0| 20 8c 20 e6 20 30 2c 31 | 32 3a f0 20 39 37 2c 76 | . . 0,1|2:. 97,v|
|000058b0| 32 25 2a 32 2c 31 38 0d | 18 06 05 cd 0d 18 10 1a |2%*2,18.|........|
|000058c0| c8 99 20 4f 53 53 70 6f | 70 25 2c 72 30 2c 72 31 |.. OSSpo|p%,r0,r1|
|000058d0| 2c 72 32 2c 72 33 0d 18 | 1a 42 21 49 62 6c 3d 77 |,r2,r3..|.B!Ibl=w|
|000058e0| 69 6e 5f 66 69 6c 65 69 | 6e 66 6f 25 3a 49 62 6c |in_filei|nfo%:Ibl|
|000058f0| 21 34 3d 69 63 6f 25 3a | 49 62 6c 21 38 3d 30 3a |!4=ico%:|Ibl!8=0:|
|00005900| 49 62 6c 21 31 32 3d 30 | 3a c8 99 20 57 53 65 74 |Ibl!12=0|:.. WSet|
|00005910| 49 53 25 2c 2c 49 62 6c | 0d 18 24 05 e1 0d 18 2e |IS%,,Ibl|..$.....|
|00005920| 04 0d 18 38 08 dd a4 6e | 72 0d 18 42 21 f4 20 49 |...8...n|r..B!. I|
|00005930| 6e 63 72 65 6d 65 6e 74 | 73 20 4e 72 25 20 26 20 |ncrement|s Nr% & |
|00005940| 72 65 74 75 72 6e 73 20 | 69 74 0d 18 4c 0f 4e 72 |returns |it..L.Nr|
|00005950| 25 2b 3d 31 3a 3d 4e 72 | 25 0d 18 56 04 0d 18 60 |%+=1:=Nr|%..V...`|
|00005960| 17 dd a4 63 76 61 72 28 | f8 20 76 61 72 25 2c 76 |...cvar(|. var%,v|
|00005970| 61 6c 25 29 0d 18 6a 2b | f4 20 43 72 65 61 74 65 |al%)..j+|. Create|
|00005980| 73 20 6e 65 77 20 76 61 | 72 69 61 62 6c 65 20 76 |s new va|riable v|
|00005990| 61 72 25 2c 20 76 61 6c | 75 65 20 76 61 6c 25 0d |ar%, val|ue val%.|
|000059a0| 18 74 10 76 61 72 25 3d | 76 61 6c 25 3a 3d 30 0d |.t.var%=|val%:=0.|
|000059b0| 18 7e 04 0d 18 88 1a dd | a4 6d 6f 64 65 5f 76 61 |.~......|.mode_va|
|000059c0| 72 28 6d 6f 64 65 25 2c | 76 61 72 25 29 0d 18 92 |r(mode%,|var%)...|
|000059d0| 1b f4 20 52 65 74 75 72 | 6e 73 20 6d 6f 64 65 20 |.. Retur|ns mode |
|000059e0| 76 61 72 69 61 62 6c 65 | 0d 18 9c 0a ea 20 76 61 |variable|..... va|
|000059f0| 6c 25 0d 18 a6 30 c8 99 | 20 22 4f 53 5f 52 65 61 |l%...0..| "OS_Rea|
|00005a00| 64 4d 6f 64 65 56 61 72 | 69 61 62 6c 65 22 2c 6d |dModeVar|iable",m|
|00005a10| 6f 64 65 25 2c 76 61 72 | 25 20 b8 20 2c 2c 76 61 |ode%,var|% . ,,va|
|00005a20| 6c 25 0d 18 b0 09 3d 76 | 61 6c 25 0d 18 ba 04 0d |l%....=v|al%.....|
|00005a30| 18 c4 0e dd a4 6c 65 61 | 66 28 70 24 29 0d 18 ce |.....lea|f(p$)...|
|00005a40| 1e f4 20 52 65 74 75 72 | 6e 73 20 6c 65 61 66 20 |.. Retur|ns leaf |
|00005a50| 6f 66 20 70 61 74 68 6e | 61 6d 65 0d 18 d8 0b ea |of pathn|ame.....|
|00005a60| 20 70 25 2c 70 64 0d 18 | e2 4c 70 25 3d a9 70 24 | p%,pd..|.Lp%=.p$|
|00005a70| 3a f5 20 70 25 2d 3d 31 | 3a 70 64 3d 28 c1 70 24 |:. p%-=1|:pd=(.p$|
|00005a80| 2c 70 25 2c 31 29 3d 22 | 2e 22 29 3a fd 20 28 70 |,p%,1)="|."):. (p|
|00005a90| 25 3d 31 29 20 84 20 70 | 64 3a e7 70 64 20 8c 20 |%=1) . p|d:.pd . |
|00005aa0| 3d c2 70 24 2c a9 70 24 | 2d 70 25 29 20 8b 20 3d |=.p$,.p$|-p%) . =|
|00005ab0| 22 22 0d 18 ec 05 20 0d | 18 f6 0e dd a4 68 65 61 |"".... .|.....hea|
|00005ac0| 64 28 70 24 29 0d 19 00 | 1e f4 20 52 65 74 75 72 |d(p$)...|.. Retur|
|00005ad0| 6e 73 20 68 65 61 64 20 | 6f 66 20 70 61 74 68 6e |ns head |of pathn|
|00005ae0| 61 6d 65 0d 19 0a 0b ea | 20 70 25 2c 70 64 0d 19 |ame.....| p%,pd..|
|00005af0| 14 4a 70 25 3d a9 70 24 | 3a f5 20 70 25 2d 3d 31 |.Jp%=.p$|:. p%-=1|
|00005b00| 3a 70 64 3d 28 c1 70 24 | 2c 70 25 2c 31 29 3d 22 |:pd=(.p$|,p%,1)="|
|00005b10| 2e 22 29 3a fd 20 28 70 | 25 3d 31 29 20 84 20 70 |."):. (p|%=1) . p|
|00005b20| 64 3a e7 70 64 20 8c 20 | 3d c0 70 24 2c 70 25 2d |d:.pd . |=.p$,p%-|
|00005b30| 31 29 20 8b 20 3d 70 24 | 0d 19 1e 04 0d 19 28 11 |1) . =p$|......(.|
|00005b40| dd a4 70 65 72 63 28 6d | 25 2c 64 25 29 0d 19 32 |..perc(m|%,d%)..2|
|00005b50| 29 f4 20 52 65 74 75 72 | 6e 73 20 27 73 61 66 65 |). Retur|ns 'safe|
|00005b60| 27 20 70 65 72 63 65 6e | 74 61 67 65 20 31 30 30 |' percen|tage 100|
|00005b70| 2a 6d 25 2f 64 25 0d 19 | 3c 20 e7 64 25 3d 30 20 |*m%/d%..|< .d%=0 |
|00005b80| 8c 20 3d 31 30 30 20 8b | 20 3d a8 28 31 30 30 2a |. =100 .| =.(100*|
|00005b90| 6d 25 2f 64 25 29 0d 19 | 46 05 20 0d 19 50 13 dd |m%/d%)..|F. ..P..|
|00005ba0| a4 73 74 72 69 6e 67 28 | 61 64 64 72 25 29 0d 19 |.string(|addr%)..|
|00005bb0| 5a 32 f4 20 52 65 74 75 | 72 6e 73 20 43 54 52 4c |Z2. Retu|rns CTRL|
|00005bc0| 2d 63 68 61 72 20 74 65 | 72 6d 69 6e 61 74 65 64 |-char te|rminated|
|00005bd0| 20 73 74 72 69 6e 67 20 | 61 74 20 61 64 64 72 25 | string |at addr%|
|00005be0| 0d 19 64 0f ea 20 5f 25 | 2c 5f 63 25 2c 5f 24 0d |..d.. _%|,_c%,_$.|
|00005bf0| 19 6e 1f 5f 25 3d 2d 31 | 3a f5 20 5f 25 2b 3d 31 |.n._%=-1|:. _%+=1|
|00005c00| 3a fd 20 61 64 64 72 25 | 3f 5f 25 3c 33 32 0d 19 |:. addr%|?_%<32..|
|00005c10| 78 33 5f 63 25 3d 61 64 | 64 72 25 3f 5f 25 3a 61 |x3_c%=ad|dr%?_%:a|
|00005c20| 64 64 72 25 3f 5f 25 3d | 31 33 3a 5f 24 3d 24 61 |ddr%?_%=|13:_$=$a|
|00005c30| 64 64 72 25 3a 61 64 64 | 72 25 3f 5f 25 3d 5f 63 |ddr%:add|r%?_%=_c|
|00005c40| 25 0d 19 82 07 3d 5f 24 | 0d 19 8c 04 0d 19 96 1d |%....=_$|........|
|00005c50| dd f2 6d 6f 75 73 65 28 | f8 20 78 25 2c f8 20 79 |..mouse(|. x%,. y|
|00005c60| 25 2c f8 20 62 75 74 25 | 29 0d 19 a0 2b f4 20 52 |%,. but%|)...+. R|
|00005c70| 65 74 75 72 6e 73 20 78 | 2c 79 20 61 6e 64 20 62 |eturns x|,y and b|
|00005c80| 75 74 74 6f 6e 20 73 74 | 61 74 65 20 6f 66 20 6d |utton st|ate of m|
|00005c90| 6f 75 73 65 0d 19 aa 11 | c8 97 20 78 25 2c 79 25 |ouse....|.. x%,y%|
|00005ca0| 2c 62 75 74 25 0d 19 b4 | 05 e1 0d 19 be 05 20 0d |,but%...|...... .|
|00005cb0| 19 c8 0d dd f2 68 6f 75 | 72 5f 6f 6e 0d 19 d2 18 |.....hou|r_on....|
|00005cc0| f4 20 54 75 72 6e 73 20 | 68 6f 75 72 67 6c 61 73 |. Turns |hourglas|
|00005cd0| 73 20 6f 6e 0d 19 dc 15 | c8 99 20 22 48 6f 75 72 |s on....|.. "Hour|
|00005ce0| 67 6c 61 73 73 5f 4f 6e | 22 0d 19 e6 1f c8 99 20 |glass_On|"...... |
|00005cf0| 22 48 6f 75 72 67 6c 61 | 73 73 5f 50 65 72 63 65 |"Hourgla|ss_Perce|
|00005d00| 6e 74 61 67 65 22 2c 30 | 0d 19 f0 05 e1 0d 19 fa |ntage",0|........|
|00005d10| 05 20 0d 1a 04 0e dd f2 | 68 6f 75 72 5f 6f 66 66 |. ......|hour_off|
|00005d20| 0d 1a 0e 19 f4 20 54 75 | 72 6e 73 20 68 6f 75 72 |..... Tu|rns hour|
|00005d30| 67 6c 61 73 73 20 6f 66 | 66 0d 1a 18 16 c8 99 20 |glass of|f...... |
|00005d40| 22 48 6f 75 72 67 6c 61 | 73 73 5f 4f 66 66 22 0d |"Hourgla|ss_Off".|
|00005d50| 1a 22 05 e1 0d 1a 2c 05 | 20 0d 1a 36 12 dd a4 4f |."....,.| ..6...O|
|00005d60| 53 76 61 72 28 6e 61 6d | 65 24 29 0d 1a 40 2e f4 |Svar(nam|e$)..@..|
|00005d70| 20 41 74 74 65 6d 70 74 | 73 20 74 6f 20 72 65 74 | Attempt|s to ret|
|00005d80| 75 72 6e 20 4f 53 2d 76 | 61 72 27 73 20 73 74 72 |urn OS-v|ar's str|
|00005d90| 69 6e 67 20 76 61 6c 75 | 65 0d 1a 4a 0d ea 20 5f |ing valu|e..J.. _|
|00005da0| 72 24 2c 5f 6c 25 0d 1a | 54 43 5f 72 24 3d c4 31 |r$,_l%..|TC_r$=.1|
|00005db0| 30 30 2c 22 20 22 29 3a | c8 99 20 22 58 4f 53 5f |00," "):|.. "XOS_|
|00005dc0| 52 65 61 64 56 61 72 56 | 61 6c 22 2c 6e 61 6d 65 |ReadVarV|al",name|
|00005dd0| 24 2c 5f 72 24 2c a9 5f | 72 24 2c 30 2c 33 20 b8 |$,_r$,._|r$,0,3 .|
|00005de0| 20 2c 5f 72 24 2c 5f 6c | 25 0d 1a 5e 0e 3d c0 5f | ,_r$,_l|%..^.=._|
|00005df0| 72 24 2c 5f 6c 25 29 0d | 1a 68 04 0d 1a 72 15 dd |r$,_l%).|.h...r..|
|00005e00| a4 73 77 69 5f 74 6f 5f | 6e 72 28 73 77 69 24 29 |.swi_to_|nr(swi$)|
|00005e10| 0d 1a 7c 29 f4 20 52 65 | 74 75 72 6e 73 20 53 57 |..|). Re|turns SW|
|00005e20| 49 20 6e 75 6d 62 65 72 | 20 6f 66 20 53 57 49 20 |I number| of SWI |
|00005e30| 63 61 6c 6c 20 73 77 69 | 24 0d 1a 86 0c ea 20 73 |call swi|$..... s|
|00005e40| 77 69 6e 72 25 0d 1a 90 | 2f c8 99 20 22 58 4f 53 |winr%...|/.. "XOS|
|00005e50| 5f 53 57 49 4e 75 6d 62 | 65 72 46 72 6f 6d 53 74 |_SWINumb|erFromSt|
|00005e60| 72 69 6e 67 22 2c 2c 73 | 77 69 24 20 b8 20 73 77 |ring",,s|wi$ . sw|
|00005e70| 69 6e 72 25 0d 1a 9a 0b | 3d 73 77 69 6e 72 25 0d |inr%....|=swinr%.|
|00005e80| 1a a4 05 20 0d 1a ae 1a | dd f2 65 72 72 6f 72 28 |... ....|..error(|
|00005e90| 65 72 72 6e 72 2c 65 72 | 72 6d 73 67 24 29 0d 1a |errnr,er|rmsg$)..|
|00005ea0| b8 14 f4 20 48 61 6e 64 | 6c 65 73 20 65 72 72 6f |... Hand|les erro|
|00005eb0| 72 73 0d 1a c2 0f ea 20 | 62 75 74 25 2c 6f 70 74 |rs..... |but%,opt|
|00005ec0| 25 0d 1a cc 27 e7 65 72 | 72 6e 72 3d 2d 31 20 8c |%...'.er|rnr=-1 .|
|00005ed0| 20 65 72 72 6e 72 3d 31 | 3a 6f 70 74 25 3d 31 20 | errnr=1|:opt%=1 |
|00005ee0| 8b 20 6f 70 74 25 3d 33 | 0d 1a d6 1f 21 45 72 72 |. opt%=3|....!Err|
|00005ef0| 3d 65 72 72 6e 72 3a 24 | 28 45 72 72 2b 34 29 3d |=errnr:$|(Err+4)=|
|00005f00| 65 72 72 6d 73 67 24 0d | 1a e0 2a c8 99 20 57 52 |errmsg$.|..*.. WR|
|00005f10| 65 70 6f 72 74 25 2c 45 | 72 72 2c 6f 70 74 25 2c |eport%,E|rr,opt%,|
|00005f20| 61 70 70 6c 6e 61 6d 65 | 24 20 b8 20 2c 62 75 74 |applname|$ . ,but|
|00005f30| 25 0d 1a ea 13 e7 62 75 | 74 25 3c 3e 31 20 8c 20 |%.....bu|t%<>1 . |
|00005f40| f2 64 69 65 0d 1a f4 05 | e1 0d 1a fe 05 20 0d 1b |.die....|..... ..|
|00005f50| 08 0c dd f2 66 69 6e 69 | 73 68 0d 1b 12 0f f4 20 |....fini|sh..... |
|00005f60| 54 69 64 69 65 73 20 75 | 70 0d 1b 1c 33 f4 20 4b |Tidies u|p...3. K|
|00005f70| 69 6c 6c 20 6d 6f 64 75 | 6c 65 73 20 69 66 20 6e |ill modu|les if n|
|00005f80| 6f 20 6f 74 68 65 72 20 | 74 61 73 6b 73 20 61 72 |o other |tasks ar|
|00005f90| 65 20 75 73 69 6e 67 20 | 74 68 65 6d 0d 1b 26 44 |e using |them..&D|
|00005fa0| c8 99 20 22 4c 5a 57 42 | 5f 54 61 73 6b 51 75 69 |.. "LZWB|_TaskQui|
|00005fb0| 74 22 20 b8 20 74 61 73 | 6b 73 25 3a e7 74 61 73 |t" . tas|ks%:.tas|
|00005fc0| 6b 73 25 3c 3d 30 20 8c | 20 c8 99 20 22 58 4f 53 |ks%<=0 .| .. "XOS|
|00005fd0| 5f 4d 6f 64 75 6c 65 22 | 2c 34 2c 22 4c 5a 57 22 |_Module"|,4,"LZW"|
|00005fe0| 0d 1b 30 51 c8 99 20 22 | 46 69 6c 65 42 75 66 66 |..0Q.. "|FileBuff|
|00005ff0| 65 72 5f 54 61 73 6b 51 | 75 69 74 22 20 b8 20 74 |er_TaskQ|uit" . t|
|00006000| 61 73 6b 73 25 3a e7 74 | 61 73 6b 73 25 3c 3d 30 |asks%:.t|asks%<=0|
|00006010| 20 8c 20 c8 99 20 22 58 | 4f 53 5f 4d 6f 64 75 6c | . .. "X|OS_Modul|
|00006020| 65 22 2c 34 2c 22 46 69 | 6c 65 42 75 66 66 65 72 |e",4,"Fi|leBuffer|
|00006030| 22 0d 1b 3a 2d c8 99 20 | 22 57 69 6d 70 5f 43 6c |"..:-.. |"Wimp_Cl|
|00006040| 6f 73 65 44 6f 77 6e 22 | 2c 54 61 73 6b 48 61 6e |oseDown"|,TaskHan|
|00006050| 64 6c 65 25 2c 26 34 42 | 35 33 34 31 35 34 0d 1b |dle%,&4B|534154..|
|00006060| 44 05 e1 0d 1b 4e 05 20 | 0d 1b 58 09 dd f2 64 69 |D....N. |..X...di|
|00006070| 65 0d 1b 62 19 f4 20 54 | 69 64 69 65 73 20 75 70 |e..b.. T|idies up|
|00006080| 20 61 6e 64 20 65 78 69 | 74 73 0d 1b 6c 0b f2 66 | and exi|ts..l..f|
|00006090| 69 6e 69 73 68 0d 1b 76 | 10 c8 99 20 22 4f 53 5f |inish..v|... "OS_|
|000060a0| 45 78 69 74 22 0d 1b 80 | 05 e1 0d ff |Exit"...|.... |
+--------+-------------------------+-------------------------+--------+--------+