Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Utils/ExpandMenu
DesktopPD/Director/!Director/Utils/ExpandMenu
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-09.adf » Features |
Filename: | DesktopPD/Director/!Director/Utils/ExpandMenu |
Read OK: | ✔ |
File size: | 15F3 bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Acorn User » AU 1995-10.adf » !Direct » Director/!Director/Utils/ExpandMenu
- Archimedes archive » Acorn User » AU 1998-09.adf » Features » DesktopPD/Director/!Director/Utils/ExpandMenu
File contents
1REM >ExpandMenu 2 3PROCtaskwindow 4 5PRINT "Expand BackMenu file"' 6PRINT "Shift-Drag files to input their paths if running in a task window"' 7INPUT " Input : "f$ 8PRINT '"Press Return for """f$+"<"""' 9INPUT " Output : "o$:IF o$="" o$=f$+"<" 10PRINT 11 12lf$=CHR$10 13q$=CHR$34 14tab$=STRING$(4," ") 15tab2$=STRING$(8," ") 16SYS "OS_File",5,f$ TO ,,,,len 17DIM mem len 18SYS "OS_File",&FF,f$,mem 19DIM menu$(256),count(256) 20menus=0 21duplicates=FALSE 22PROCcollate("",0) 23SYS "OS_CLI","Create "+o$ 24throwback=FALSE 25IF duplicates THEN 26 SYS "XOS_SWINumberFromString",,"DDEUtils_ThrowbackStart" TO ;v 27 throwback=(v AND 1)=0 28 IF throwback THEN 29 DIM canon 256 30 SYS "OS_FSControl",37,o$,canon,,,256 31 SYS "DDEUtils_ThrowbackStart" 32 SYS "DDEUtils_ThrowbackSend",0,,canon 33 ENDIF 34ENDIF 35out=OPENOUT(o$) 36ON ERROR: ON ERROR OFF: PRINT REPORT$;" at ";ERL: CLOSE#out: END 37out_line=0 38PROCbput("|Start "+f$+lf$) 39first_menu=TRUE 40PROCshow_menu(0) 41PROCbput(lf$) 42PROCbput("|End"+lf$) 43IF throwback SYS "DDEUtils_ThrowbackEnd" 44ON ERROR OFF 45CLOSE #out 46SYS "OS_CLI","SetType "+o$+" Obey" 47PRINT'"Done"' 48PRINT "You will probably need to edit the file by hand now to" 49PRINT "1) Replace %%0 with <MenuText> and %% with % or <37>" 50PRINT " in parameterised Menus" 51PRINT "2) Delete key shortcuts from option texts (-key adds" 52PRINT " them for you)"' 53END 54: 55DEF PROCcollate(root$,start) 56LOCAL ptr,sub(),s,i,name$ 57DIM sub(50) 58s=0 59name$=$(mem+start) 60PROCadd_menu(name$) 61ptr=mem+start+28 62REMPRINT MID$(root$+"."+name$,2) 63REPEAT 64 last=FNbit(7,!ptr) 65 IF ptr!4<>-1 s+=1:sub(s)=ptr!4 66 ptr+=24 67UNTIL last 68IF s>0 THEN 69 FOR i=1 TO s 70 PROCcollate(root$+"."+name$,sub(i)) 71 NEXT 72ENDIF 73ENDPROC 74: 75DEF PROCshow_menu(start) 76LOCAL ptr,a,last,sub(),s,i 77DIM sub(50) 78s=0 79ptr=mem+start 80name$=$ptr 81PROCbput(lf$) 82PROCbput("Menu "+FNquoted(name$)) 83IF first_menu THEN 84 PROCbput(" Pinboard") 85 first_menu=FALSE 86ENDIF 87PROCbput(lf$) 88PROCcheck("Duplicated definition of",name$) 89 90title_fg=ptr?12 91title_bg=ptr?13 92work_fg=ptr?14 93work_bg=ptr?15 94width=ptr!16 95height=ptr!20 96gap=ptr!24 97a=ptr+28 98REPEAT 99 tick=FNbit(0,!a) 100 line=FNbit(1,!a) 101 write=FNbit(2,!a) 102 last=FNbit(7,!a) 103 sub=a!4 104 flags=a!8 105 text_bg=(flags>>28) AND 15 106 text_fg=(flags>>24) AND 15 107 text=mem+a!12 108 command=mem+a!16+1 : REM all have a &07 at the start! 109 type=a!20-1 110 keys=command+LEN$command+1 111 keys=keys+LEN$keys 112 keys=(keys+1+3)ANDNOT3 113 IF sub<>-1 s+=1:sub(s)=sub 114 PROCbput(tab$+"Option "+FNquoted($text)) 115 116 IF $command<>"" THEN command1$=FNcom($command) ELSE command1$="" 117 IF type=0 THEN command2$=FNcom($(command+LEN$command+1)) ELSE command2$="" 118 IF command2$="" AND LEFT$(command1$,10)="Filer_Run " AND INSTR(command1$,"|M")=0 AND sub=-1 THEN 119 PROCbput(" -path "+MID$(command1$,11)) 120 command1$="" 121 ENDIF 122 123 IF sub<>-1 THEN 124 PROCbput(" -sub ") 125 sub$=$(mem+sub) 126 IF sub$<>$text PROCbput(FNquoted(sub$)) ELSE PROCbput("*") 127 ENDIF 128 IF sub<>-1 PROCcheck("Call to submenu",sub$) 129 130 FOR i=0 TO 3 131 key=keys!(i*4) 132 IF key<>&FF THEN 133 IF i=0 THEN 134 PROCbput(" -key "+FNkey(key)) 135 ELSE 136 PRINT "Can't assign key ";FNkey(key) 137 ENDIF 138 ENDIF 139 NEXT 140 141 IF tick PROCbput(" -tick") 142 IF text_bg<>0 OR text_fg<>7 PROCbput(" -bg "+STR$text_bg+" -fg "+STR$text_fg) 143 IF type>0 PROCbput(" -len "+STR$type) 144 PROCbput(lf$) 145 146 IF command1$<>"" THEN PROCbput(tab2$+"Command "+command1$+lf$) 147 IF command2$<>"" THEN PROCbput(tab2$+"Command "+command2$+lf$) 148 149 IF line PROCbput("Dash"+lf$) 150 a+=24 151UNTIL last 152PROCbput("EndMenu"+lf$) 153IF s>0 THEN 154 FOR i=1 TO s 155 PROCshow_menu(sub(i)) 156 NEXT 157ENDIF 158ENDPROC 159: 160DEF PROCbput(o$) 161BPUT #out,o$; 162IF RIGHT$(o$,1)=lf$ out_line+=1 163ENDPROC 164: 165DEF FNquoted(a$) 166 IF INSTR(a$," ") OR a$="" THEN =""""+a$+"""" 167=a$ 168: 169DEF FNbit(b,n) 170=(n AND (1<<b))>0 171: 172DEF FNkey(key) 173 LOCAL m$ 174 m$="" 175 IF key >= &180 AND key <= &1FF THEN 176 IF key AND &10 THEN m$+=CHR$139 177 IF key AND &20 THEN m$+="^" 178 key = key AND NOT &30 179 ENDIF 180 IF key >= ASC"a" AND key <= ASC"z" THEN key = key - 64 181 182 CASE key OF 183 WHEN &01E: =m$+"Home" 184 WHEN &01D: =m$+"Return" 185 WHEN &01C: =m$+"Backspace" 186 WHEN &020: =m$+"Space" 187 WHEN &07F: =m$+"Delete" 188 WHEN &01B: =m$+"Esc" 189 WHEN &180: =m$+"Print" 190 WHEN &181: =m$+"F1" 191 WHEN &182: =m$+"F2" 192 WHEN &183: =m$+"F3" 193 WHEN &184: =m$+"F4" 194 WHEN &185: =m$+"F5" 195 WHEN &186: =m$+"F6" 196 WHEN &187: =m$+"F7" 197 WHEN &188: =m$+"F8" 198 WHEN &189: =m$+"F9" 199 WHEN &18A: =m$+"Tab" 200 WHEN &18B: =m$+"Copy" 201 WHEN &18C: =m$+"Left" 202 WHEN &18D: =m$+"Right" 203 WHEN &18E: =m$+"Down" 204 WHEN &18F: =m$+"Up" 205 WHEN &1CA: =m$+"F10" 206 WHEN &1CB: =m$+"F11" 207 WHEN &1CC: =m$+"F12" 208 WHEN &1CD: =m$+"Insert" 209 OTHERWISE: 210 IF (key >= 33 AND key <= 126) OR (key >= 128 AND key <= 255) THEN 211 =CHR$(k) 212 ELSE 213 IF key >= 0 AND key <= 31 214 ="^"+CHR$(key + 64) 215 ENDIF 216 ENDIF 217 ENDCASE 218 PRINT "Unknown key &";~key 219="�" 220: 221DEF FNcom(c$) 222LOCAL o$,i 223o$="" 224REPEAT 225 i=INSTR(c$,"%") 226 IF i=0 THEN 227 o$+=c$ 228 ELSE 229 o$+=LEFT$(c$,i)+"%" 230 c$=MID$(c$,i+1) 231 ENDIF 232UNTIL i=0 233=o$ 234: 235DEF PROCadd_menu(n$) 236LOCAL i 237i=0 238WHILE i<menus AND n$<>menu$(i) 239 i+=1 240ENDWHILE 241IF n$<>menu$(i) menu$(i)=n$:menus+=1 ELSE duplicates=TRUE 242count(i)+=1 243ENDPROC 244: 245DEF PROCcheck(err$,n$) 246LOCAL i 247i=0 248WHILE i<menus AND menu$(i)<>n$ 249 i+=1 250ENDWHILE 251IF count(i)>1 THEN 252 IF throwback THEN 253 SYS "DDEUtils_ThrowbackSend",1,,canon,out_line,0,err$+" �"+n$+"�" 254 ELSE 255 PRINTerr$+" �"+n$+"� at line ";out_line 256 ENDIF 257ENDIF 258ENDPROC 259: 260DEF PROCtaskwindow 261DIM buf 256 262SYS "OS_GetEnv" TO env$ 263SYS "XOS_ReadArgs","quit/k,task/S,,,,,",env$,buf,256 TO ;v 264IF v AND 1 ENDPROC 265IF !buf<>0 THEN 266 n$="":i=!buf:WHILE ?i>31:n$+=CHR$?i:i+=1:ENDWHILE 267 l$="":i=LENn$:WHILE MID$(n$,i,1)<>".":l$=MID$(n$,i,1)+l$:i-=1:ENDWHILE 268 IF buf!4=0 SYS "OS_CLI","TaskWindow -quit -name "+l$+" ""Run "+n$+" -task""" 269ENDIF 270ENDPROC
� >ExpandMenu �taskwindow � "Expand BackMenu file"' J� "Shift-Drag files to input their paths if running in a task window"' � " Input : "f$ %� '"Press Return for """f$+"<"""' &� " Output : "o$:� o$="" o$=f$+"<" � lf$=�10 q$=�34 tab$=�4," ") tab2$=�8," ") ș "OS_File",5,f$ � ,,,,len � mem len ș "OS_File",&FF,f$,mem � menu$(256),count(256) menus=0 duplicates=� �collate("",0) ș "OS_CLI","Create "+o$ throwback=� � duplicates � A ș "XOS_SWINumberFromString",,"DDEUtils_ThrowbackStart" � ;v throwback=(v � 1)=0 � throwback � � canon 256 ) ș "OS_FSControl",37,o$,canon,,,256 " ș "DDEUtils_ThrowbackStart" * ș "DDEUtils_ThrowbackSend",0,,canon ! � "� # out=�(o$) $'� �: � � �: � �$;" at ";�: �#out: � %out_line=0 &�bput("|Start "+f$+lf$) 'first_menu=� (�show_menu(0) )�bput(lf$) *�bput("|End"+lf$) +*� throwback ș "DDEUtils_ThrowbackEnd" , � � � - � #out .%ș "OS_CLI","SetType "+o$+" Obey" / �'"Done"' 0>� "You will probably need to edit the file by hand now to" 1<� "1) Replace %%0 with <MenuText> and %% with % or <37>" 2!� " in parameterised Menus" 3<� "2) Delete key shortcuts from option texts (-key adds" 4� " them for you)"' 5� 6: 7� �collate(root$,start) 8� ptr,sub(),s,i,name$ 9 � sub(50) :s=0 ;name$=$(mem+start) <�add_menu(name$) =ptr=mem+start+28 >"�PRINT MID$(root$+"."+name$,2) ?� @ last=�bit(7,!ptr) A" � ptr!4<>-1 s+=1:sub(s)=ptr!4 B ptr+=24 C � last D� s>0 � E � i=1 � s F& �collate(root$+"."+name$,sub(i)) G � H� I� J: K� �show_menu(start) L� ptr,a,last,sub(),s,i M � sub(50) Ns=0 Optr=mem+start Pname$=$ptr Q�bput(lf$) R!�bput("Menu "+�quoted(name$)) S� first_menu � T �bput(" Pinboard") U first_menu=� V� W�bput(lf$) X,�check("Duplicated definition of",name$) Y Ztitle_fg=ptr?12 [title_bg=ptr?13 \work_fg=ptr?14 ]work_bg=ptr?15 ^width=ptr!16 _height=ptr!20 `gap=ptr!24 aa=ptr+28 b� c tick=�bit(0,!a) d line=�bit(1,!a) e write=�bit(2,!a) f last=�bit(7,!a) g sub=a!4 h flags=a!8 i text_bg=(flags>>28) � 15 j text_fg=(flags>>24) � 15 k text=mem+a!12 l8 command=mem+a!16+1 : � all have a &07 at the start! m type=a!20-1 n keys=command+�$command+1 o keys=keys+�$keys p keys=(keys+1+3)��3 q � sub<>-1 s+=1:sub(s)=sub r) �bput(tab$+"Option "+�quoted($text)) s t= � $command<>"" � command1$=�com($command) � command1$="" uE � type=0 � command2$=�com($(command+�$command+1)) � command2$="" vQ � command2$="" � �command1$,10)="Filer_Run " � �command1$,"|M")=0 � sub=-1 � w& �bput(" -path "+�command1$,11)) x command1$="" y � z { � sub<>-1 � | �bput(" -sub ") } sub$=$(mem+sub) ~5 � sub$<>$text �bput(�quoted(sub$)) � �bput("*") � �- � sub<>-1 �check("Call to submenu",sub$) � � � i=0 � 3 � key=keys!(i*4) � � key<>&FF � � � i=0 � �# �bput(" -key "+�key(key)) � � �) � "Can't assign key ";�key(key) � � � � � � � � � tick �bput(" -tick") �G � text_bg<>0 � text_fg<>7 �bput(" -bg "+�text_bg+" -fg "+�text_fg) �# � type>0 �bput(" -len "+�type) � �bput(lf$) � �< � command1$<>"" � �bput(tab2$+"Command "+command1$+lf$) �< � command2$<>"" � �bput(tab2$+"Command "+command2$+lf$) � � � line �bput("Dash"+lf$) � a+=24 � � last ��bput("EndMenu"+lf$) �� s>0 � � � i=1 � s � �show_menu(sub(i)) � � �� �� �: �� �bput(o$) �� #out,o$; �� �o$,1)=lf$ out_line+=1 �� �: �� �quoted(a$) �( � �a$," ") � a$="" � =""""+a$+"""" �=a$ �: �� �bit(b,n) �=(n � (1<<b))>0 �: �� �key(key) � � m$ � m$="" �" � key >= &180 � key <= &1FF � � � key � &10 � m$+=�139 � � key � &20 � m$+="^" � key = key � � &30 � � �1 � key >= �"a" � key <= �"z" � key = key - 64 � � Ȏ key � � � &01E: =m$+"Home" � � &01D: =m$+"Return" � � &01C: =m$+"Backspace" � � &020: =m$+"Space" � � &07F: =m$+"Delete" � � &01B: =m$+"Esc" � � &180: =m$+"Print" � � &181: =m$+"F1" � � &182: =m$+"F2" � � &183: =m$+"F3" � � &184: =m$+"F4" � � &185: =m$+"F5" � � &186: =m$+"F6" � � &187: =m$+"F7" � � &188: =m$+"F8" � � &189: =m$+"F9" � � &18A: =m$+"Tab" � � &18B: =m$+"Copy" � � &18C: =m$+"Left" � � &18D: =m$+"Right" � � &18E: =m$+"Down" � � &18F: =m$+"Up" � � &1CA: =m$+"F10" � � &1CB: =m$+"F11" � � &1CC: =m$+"F12" � � &1CD: =m$+"Insert" � : �A � (key >= 33 � key <= 126) � (key >= 128 � key <= 255) � � =�(k) � � �! � key >= 0 � key <= 31 � ="^"+�(key + 64) � � � � � � � � "Unknown key &";~key �="�" �: �� �com(c$) � � o$,i � o$="" �� � i=�c$,"%") � � i=0 � � o$+=c$ � � � o$+=�c$,i)+"%" � c$=�c$,i+1) � � � � i=0 �=o$ �: �� �add_menu(n$) �� i �i=0 �ȕ i<menus � n$<>menu$(i) � i+=1 �� �6� n$<>menu$(i) menu$(i)=n$:menus+=1 � duplicates=� �count(i)+=1 �� �: �� �check(err$,n$) �� i �i=0 �ȕ i<menus � menu$(i)<>n$ � i+=1 �� �� count(i)>1 � � � throwback � �F ș "DDEUtils_ThrowbackSend",1,,canon,out_line,0,err$+" �"+n$+"�" � � �) �err$+" �"+n$+"� at line ";out_line � � � : � �taskwindow � buf 256 ș "OS_GetEnv" � env$ <ș "XOS_ReadArgs","quit/k,task/S,,,,,",env$,buf,256 � ;v � v � 1 � � !buf<>0 � ) n$="":i=!buf:ȕ ?i>31:n$+=�?i:i+=1:� 7 l$="":i=�n$:ȕ �n$,i,1)<>".":l$=�n$,i,1)+l$:i-=1:� O � buf!4=0 ș "OS_CLI","TaskWindow -quit -name "+l$+" ""Run "+n$+" -task""" � � �
00000000 0d 00 01 11 f4 20 3e 45 78 70 61 6e 64 4d 65 6e |..... >ExpandMen| 00000010 75 0d 00 02 04 0d 00 03 0f f2 74 61 73 6b 77 69 |u.........taskwi| 00000020 6e 64 6f 77 0d 00 04 04 0d 00 05 1d f1 20 22 45 |ndow......... "E| 00000030 78 70 61 6e 64 20 42 61 63 6b 4d 65 6e 75 20 66 |xpand BackMenu f| 00000040 69 6c 65 22 27 0d 00 06 4a f1 20 22 53 68 69 66 |ile"'...J. "Shif| 00000050 74 2d 44 72 61 67 20 66 69 6c 65 73 20 74 6f 20 |t-Drag files to | 00000060 69 6e 70 75 74 20 74 68 65 69 72 20 70 61 74 68 |input their path| 00000070 73 20 69 66 20 72 75 6e 6e 69 6e 67 20 69 6e 20 |s if running in | 00000080 61 20 74 61 73 6b 20 77 69 6e 64 6f 77 22 27 0d |a task window"'.| 00000090 00 07 14 e8 20 22 20 49 6e 70 75 74 20 20 3a 20 |.... " Input : | 000000a0 22 66 24 0d 00 08 25 f1 20 27 22 50 72 65 73 73 |"f$...%. '"Press| 000000b0 20 52 65 74 75 72 6e 20 66 6f 72 20 22 22 22 66 | Return for """f| 000000c0 24 2b 22 3c 22 22 22 27 0d 00 09 26 e8 20 22 20 |$+"<"""'...&. " | 000000d0 4f 75 74 70 75 74 20 3a 20 22 6f 24 3a e7 20 6f |Output : "o$:. o| 000000e0 24 3d 22 22 20 6f 24 3d 66 24 2b 22 3c 22 0d 00 |$="" o$=f$+"<"..| 000000f0 0a 05 f1 0d 00 0b 04 0d 00 0c 0b 6c 66 24 3d bd |...........lf$=.| 00000100 31 30 0d 00 0d 0a 71 24 3d bd 33 34 0d 00 0e 10 |10....q$=.34....| 00000110 74 61 62 24 3d c4 34 2c 22 20 22 29 0d 00 0f 11 |tab$=.4," ")....| 00000120 74 61 62 32 24 3d c4 38 2c 22 20 22 29 0d 00 10 |tab2$=.8," ")...| 00000130 1f c8 99 20 22 4f 53 5f 46 69 6c 65 22 2c 35 2c |... "OS_File",5,| 00000140 66 24 20 b8 20 2c 2c 2c 2c 6c 65 6e 0d 00 11 0d |f$ . ,,,,len....| 00000150 de 20 6d 65 6d 20 6c 65 6e 0d 00 12 1b c8 99 20 |. mem len...... | 00000160 22 4f 53 5f 46 69 6c 65 22 2c 26 46 46 2c 66 24 |"OS_File",&FF,f$| 00000170 2c 6d 65 6d 0d 00 13 1b de 20 6d 65 6e 75 24 28 |,mem..... menu$(| 00000180 32 35 36 29 2c 63 6f 75 6e 74 28 32 35 36 29 0d |256),count(256).| 00000190 00 14 0b 6d 65 6e 75 73 3d 30 0d 00 15 10 64 75 |...menus=0....du| 000001a0 70 6c 69 63 61 74 65 73 3d a3 0d 00 16 12 f2 63 |plicates=......c| 000001b0 6f 6c 6c 61 74 65 28 22 22 2c 30 29 0d 00 17 1c |ollate("",0)....| 000001c0 c8 99 20 22 4f 53 5f 43 4c 49 22 2c 22 43 72 65 |.. "OS_CLI","Cre| 000001d0 61 74 65 20 22 2b 6f 24 0d 00 18 0f 74 68 72 6f |ate "+o$....thro| 000001e0 77 62 61 63 6b 3d a3 0d 00 19 12 e7 20 64 75 70 |wback=...... dup| 000001f0 6c 69 63 61 74 65 73 20 8c 0d 00 1a 41 20 c8 99 |licates ....A ..| 00000200 20 22 58 4f 53 5f 53 57 49 4e 75 6d 62 65 72 46 | "XOS_SWINumberF| 00000210 72 6f 6d 53 74 72 69 6e 67 22 2c 2c 22 44 44 45 |romString",,"DDE| 00000220 55 74 69 6c 73 5f 54 68 72 6f 77 62 61 63 6b 53 |Utils_ThrowbackS| 00000230 74 61 72 74 22 20 b8 20 3b 76 0d 00 1b 18 20 74 |tart" . ;v.... t| 00000240 68 72 6f 77 62 61 63 6b 3d 28 76 20 80 20 31 29 |hrowback=(v . 1)| 00000250 3d 30 0d 00 1c 12 20 e7 20 74 68 72 6f 77 62 61 |=0.... . throwba| 00000260 63 6b 20 8c 0d 00 1d 11 20 20 de 20 63 61 6e 6f |ck ..... . cano| 00000270 6e 20 32 35 36 0d 00 1e 29 20 20 c8 99 20 22 4f |n 256...) .. "O| 00000280 53 5f 46 53 43 6f 6e 74 72 6f 6c 22 2c 33 37 2c |S_FSControl",37,| 00000290 6f 24 2c 63 61 6e 6f 6e 2c 2c 2c 32 35 36 0d 00 |o$,canon,,,256..| 000002a0 1f 22 20 20 c8 99 20 22 44 44 45 55 74 69 6c 73 |." .. "DDEUtils| 000002b0 5f 54 68 72 6f 77 62 61 63 6b 53 74 61 72 74 22 |_ThrowbackStart"| 000002c0 0d 00 20 2a 20 20 c8 99 20 22 44 44 45 55 74 69 |.. * .. "DDEUti| 000002d0 6c 73 5f 54 68 72 6f 77 62 61 63 6b 53 65 6e 64 |ls_ThrowbackSend| 000002e0 22 2c 30 2c 2c 63 61 6e 6f 6e 0d 00 21 06 20 cd |",0,,canon..!. .| 000002f0 0d 00 22 05 cd 0d 00 23 0d 6f 75 74 3d ae 28 6f |.."....#.out=.(o| 00000300 24 29 0d 00 24 27 ee 20 85 3a 20 ee 20 85 20 87 |$)..$'. .: . . .| 00000310 3a 20 f1 20 f6 24 3b 22 20 61 74 20 22 3b 9e 3a |: . .$;" at ";.:| 00000320 20 d9 23 6f 75 74 3a 20 e0 0d 00 25 0e 6f 75 74 | .#out: ...%.out| 00000330 5f 6c 69 6e 65 3d 30 0d 00 26 1b f2 62 70 75 74 |_line=0..&..bput| 00000340 28 22 7c 53 74 61 72 74 20 22 2b 66 24 2b 6c 66 |("|Start "+f$+lf| 00000350 24 29 0d 00 27 10 66 69 72 73 74 5f 6d 65 6e 75 |$)..'.first_menu| 00000360 3d b9 0d 00 28 11 f2 73 68 6f 77 5f 6d 65 6e 75 |=...(..show_menu| 00000370 28 30 29 0d 00 29 0e f2 62 70 75 74 28 6c 66 24 |(0)..)..bput(lf$| 00000380 29 0d 00 2a 15 f2 62 70 75 74 28 22 7c 45 6e 64 |)..*..bput("|End| 00000390 22 2b 6c 66 24 29 0d 00 2b 2a e7 20 74 68 72 6f |"+lf$)..+*. thro| 000003a0 77 62 61 63 6b 20 c8 99 20 22 44 44 45 55 74 69 |wback .. "DDEUti| 000003b0 6c 73 5f 54 68 72 6f 77 62 61 63 6b 45 6e 64 22 |ls_ThrowbackEnd"| 000003c0 0d 00 2c 09 ee 20 85 20 87 0d 00 2d 0a d9 20 23 |..,.. . ...-.. #| 000003d0 6f 75 74 0d 00 2e 25 c8 99 20 22 4f 53 5f 43 4c |out...%.. "OS_CL| 000003e0 49 22 2c 22 53 65 74 54 79 70 65 20 22 2b 6f 24 |I","SetType "+o$| 000003f0 2b 22 20 4f 62 65 79 22 0d 00 2f 0d f1 27 22 44 |+" Obey"../..'"D| 00000400 6f 6e 65 22 27 0d 00 30 3e f1 20 22 59 6f 75 20 |one"'..0>. "You | 00000410 77 69 6c 6c 20 70 72 6f 62 61 62 6c 79 20 6e 65 |will probably ne| 00000420 65 64 20 74 6f 20 65 64 69 74 20 74 68 65 20 66 |ed to edit the f| 00000430 69 6c 65 20 62 79 20 68 61 6e 64 20 6e 6f 77 20 |ile by hand now | 00000440 74 6f 22 0d 00 31 3c f1 20 22 31 29 20 52 65 70 |to"..1<. "1) Rep| 00000450 6c 61 63 65 20 25 25 30 20 77 69 74 68 20 3c 4d |lace %%0 with <M| 00000460 65 6e 75 54 65 78 74 3e 20 61 6e 64 20 25 25 20 |enuText> and %% | 00000470 77 69 74 68 20 25 20 6f 72 20 3c 33 37 3e 22 0d |with % or <37>".| 00000480 00 32 21 f1 20 22 20 20 20 69 6e 20 70 61 72 61 |.2!. " in para| 00000490 6d 65 74 65 72 69 73 65 64 20 4d 65 6e 75 73 22 |meterised Menus"| 000004a0 0d 00 33 3c f1 20 22 32 29 20 44 65 6c 65 74 65 |..3<. "2) Delete| 000004b0 20 6b 65 79 20 73 68 6f 72 74 63 75 74 73 20 66 | key shortcuts f| 000004c0 72 6f 6d 20 6f 70 74 69 6f 6e 20 74 65 78 74 73 |rom option texts| 000004d0 20 28 2d 6b 65 79 20 61 64 64 73 22 0d 00 34 19 | (-key adds"..4.| 000004e0 f1 20 22 20 20 20 74 68 65 6d 20 66 6f 72 20 79 |. " them for y| 000004f0 6f 75 29 22 27 0d 00 35 05 e0 0d 00 36 05 3a 0d |ou)"'..5....6.:.| 00000500 00 37 1b dd 20 f2 63 6f 6c 6c 61 74 65 28 72 6f |.7.. .collate(ro| 00000510 6f 74 24 2c 73 74 61 72 74 29 0d 00 38 19 ea 20 |ot$,start)..8.. | 00000520 70 74 72 2c 73 75 62 28 29 2c 73 2c 69 2c 6e 61 |ptr,sub(),s,i,na| 00000530 6d 65 24 0d 00 39 0d de 20 73 75 62 28 35 30 29 |me$..9.. sub(50)| 00000540 0d 00 3a 07 73 3d 30 0d 00 3b 16 6e 61 6d 65 24 |..:.s=0..;.name$| 00000550 3d 24 28 6d 65 6d 2b 73 74 61 72 74 29 0d 00 3c |=$(mem+start)..<| 00000560 14 f2 61 64 64 5f 6d 65 6e 75 28 6e 61 6d 65 24 |..add_menu(name$| 00000570 29 0d 00 3d 14 70 74 72 3d 6d 65 6d 2b 73 74 61 |)..=.ptr=mem+sta| 00000580 72 74 2b 32 38 0d 00 3e 22 f4 50 52 49 4e 54 20 |rt+28..>".PRINT | 00000590 4d 49 44 24 28 72 6f 6f 74 24 2b 22 2e 22 2b 6e |MID$(root$+"."+n| 000005a0 61 6d 65 24 2c 32 29 0d 00 3f 05 f5 0d 00 40 16 |ame$,2)..?....@.| 000005b0 20 6c 61 73 74 3d a4 62 69 74 28 37 2c 21 70 74 | last=.bit(7,!pt| 000005c0 72 29 0d 00 41 22 20 e7 20 70 74 72 21 34 3c 3e |r)..A" . ptr!4<>| 000005d0 2d 31 20 73 2b 3d 31 3a 73 75 62 28 73 29 3d 70 |-1 s+=1:sub(s)=p| 000005e0 74 72 21 34 0d 00 42 0c 20 70 74 72 2b 3d 32 34 |tr!4..B. ptr+=24| 000005f0 0d 00 43 0a fd 20 6c 61 73 74 0d 00 44 0b e7 20 |..C.. last..D.. | 00000600 73 3e 30 20 8c 0d 00 45 0e 20 e3 20 69 3d 31 20 |s>0 ...E. . i=1 | 00000610 b8 20 73 0d 00 46 26 20 20 f2 63 6f 6c 6c 61 74 |. s..F& .collat| 00000620 65 28 72 6f 6f 74 24 2b 22 2e 22 2b 6e 61 6d 65 |e(root$+"."+name| 00000630 24 2c 73 75 62 28 69 29 29 0d 00 47 06 20 ed 0d |$,sub(i))..G. ..| 00000640 00 48 05 cd 0d 00 49 05 e1 0d 00 4a 05 3a 0d 00 |.H....I....J.:..| 00000650 4b 17 dd 20 f2 73 68 6f 77 5f 6d 65 6e 75 28 73 |K.. .show_menu(s| 00000660 74 61 72 74 29 0d 00 4c 1a ea 20 70 74 72 2c 61 |tart)..L.. ptr,a| 00000670 2c 6c 61 73 74 2c 73 75 62 28 29 2c 73 2c 69 0d |,last,sub(),s,i.| 00000680 00 4d 0d de 20 73 75 62 28 35 30 29 0d 00 4e 07 |.M.. sub(50)..N.| 00000690 73 3d 30 0d 00 4f 11 70 74 72 3d 6d 65 6d 2b 73 |s=0..O.ptr=mem+s| 000006a0 74 61 72 74 0d 00 50 0e 6e 61 6d 65 24 3d 24 70 |tart..P.name$=$p| 000006b0 74 72 0d 00 51 0e f2 62 70 75 74 28 6c 66 24 29 |tr..Q..bput(lf$)| 000006c0 0d 00 52 21 f2 62 70 75 74 28 22 4d 65 6e 75 20 |..R!.bput("Menu | 000006d0 22 2b a4 71 75 6f 74 65 64 28 6e 61 6d 65 24 29 |"+.quoted(name$)| 000006e0 29 0d 00 53 12 e7 20 66 69 72 73 74 5f 6d 65 6e |)..S.. first_men| 000006f0 75 20 8c 0d 00 54 18 20 20 f2 62 70 75 74 28 22 |u ...T. .bput("| 00000700 20 50 69 6e 62 6f 61 72 64 22 29 0d 00 55 12 20 | Pinboard")..U. | 00000710 20 66 69 72 73 74 5f 6d 65 6e 75 3d a3 0d 00 56 | first_menu=...V| 00000720 05 cd 0d 00 57 0e f2 62 70 75 74 28 6c 66 24 29 |....W..bput(lf$)| 00000730 0d 00 58 2c f2 63 68 65 63 6b 28 22 44 75 70 6c |..X,.check("Dupl| 00000740 69 63 61 74 65 64 20 64 65 66 69 6e 69 74 69 6f |icated definitio| 00000750 6e 20 6f 66 22 2c 6e 61 6d 65 24 29 0d 00 59 04 |n of",name$)..Y.| 00000760 0d 00 5a 13 74 69 74 6c 65 5f 66 67 3d 70 74 72 |..Z.title_fg=ptr| 00000770 3f 31 32 0d 00 5b 13 74 69 74 6c 65 5f 62 67 3d |?12..[.title_bg=| 00000780 70 74 72 3f 31 33 0d 00 5c 12 77 6f 72 6b 5f 66 |ptr?13..\.work_f| 00000790 67 3d 70 74 72 3f 31 34 0d 00 5d 12 77 6f 72 6b |g=ptr?14..].work| 000007a0 5f 62 67 3d 70 74 72 3f 31 35 0d 00 5e 10 77 69 |_bg=ptr?15..^.wi| 000007b0 64 74 68 3d 70 74 72 21 31 36 0d 00 5f 11 68 65 |dth=ptr!16.._.he| 000007c0 69 67 68 74 3d 70 74 72 21 32 30 0d 00 60 0e 67 |ight=ptr!20..`.g| 000007d0 61 70 3d 70 74 72 21 32 34 0d 00 61 0c 61 3d 70 |ap=ptr!24..a.a=p| 000007e0 74 72 2b 32 38 0d 00 62 05 f5 0d 00 63 14 20 74 |tr+28..b....c. t| 000007f0 69 63 6b 3d a4 62 69 74 28 30 2c 21 61 29 0d 00 |ick=.bit(0,!a)..| 00000800 64 14 20 6c 69 6e 65 3d a4 62 69 74 28 31 2c 21 |d. line=.bit(1,!| 00000810 61 29 0d 00 65 15 20 77 72 69 74 65 3d a4 62 69 |a)..e. write=.bi| 00000820 74 28 32 2c 21 61 29 0d 00 66 14 20 6c 61 73 74 |t(2,!a)..f. last| 00000830 3d a4 62 69 74 28 37 2c 21 61 29 0d 00 67 0c 20 |=.bit(7,!a)..g. | 00000840 73 75 62 3d 61 21 34 0d 00 68 0e 20 66 6c 61 67 |sub=a!4..h. flag| 00000850 73 3d 61 21 38 0d 00 69 1d 20 74 65 78 74 5f 62 |s=a!8..i. text_b| 00000860 67 3d 28 66 6c 61 67 73 3e 3e 32 38 29 20 80 20 |g=(flags>>28) . | 00000870 31 35 0d 00 6a 1d 20 74 65 78 74 5f 66 67 3d 28 |15..j. text_fg=(| 00000880 66 6c 61 67 73 3e 3e 32 34 29 20 80 20 31 35 0d |flags>>24) . 15.| 00000890 00 6b 12 20 74 65 78 74 3d 6d 65 6d 2b 61 21 31 |.k. text=mem+a!1| 000008a0 32 0d 00 6c 38 20 63 6f 6d 6d 61 6e 64 3d 6d 65 |2..l8 command=me| 000008b0 6d 2b 61 21 31 36 2b 31 20 3a 20 f4 20 61 6c 6c |m+a!16+1 : . all| 000008c0 20 68 61 76 65 20 61 20 26 30 37 20 61 74 20 74 | have a &07 at t| 000008d0 68 65 20 73 74 61 72 74 21 0d 00 6d 10 20 74 79 |he start!..m. ty| 000008e0 70 65 3d 61 21 32 30 2d 31 0d 00 6e 1d 20 6b 65 |pe=a!20-1..n. ke| 000008f0 79 73 3d 63 6f 6d 6d 61 6e 64 2b a9 24 63 6f 6d |ys=command+.$com| 00000900 6d 61 6e 64 2b 31 0d 00 6f 15 20 6b 65 79 73 3d |mand+1..o. keys=| 00000910 6b 65 79 73 2b a9 24 6b 65 79 73 0d 00 70 17 20 |keys+.$keys..p. | 00000920 6b 65 79 73 3d 28 6b 65 79 73 2b 31 2b 33 29 80 |keys=(keys+1+3).| 00000930 ac 33 0d 00 71 1e 20 e7 20 73 75 62 3c 3e 2d 31 |.3..q. . sub<>-1| 00000940 20 73 2b 3d 31 3a 73 75 62 28 73 29 3d 73 75 62 | s+=1:sub(s)=sub| 00000950 0d 00 72 29 20 f2 62 70 75 74 28 74 61 62 24 2b |..r) .bput(tab$+| 00000960 22 4f 70 74 69 6f 6e 20 22 2b a4 71 75 6f 74 65 |"Option "+.quote| 00000970 64 28 24 74 65 78 74 29 29 0d 00 73 04 0d 00 74 |d($text))..s...t| 00000980 3d 20 e7 20 24 63 6f 6d 6d 61 6e 64 3c 3e 22 22 |= . $command<>""| 00000990 20 8c 20 63 6f 6d 6d 61 6e 64 31 24 3d a4 63 6f | . command1$=.co| 000009a0 6d 28 24 63 6f 6d 6d 61 6e 64 29 20 8b 20 63 6f |m($command) . co| 000009b0 6d 6d 61 6e 64 31 24 3d 22 22 0d 00 75 45 20 e7 |mmand1$=""..uE .| 000009c0 20 74 79 70 65 3d 30 20 8c 20 63 6f 6d 6d 61 6e | type=0 . comman| 000009d0 64 32 24 3d a4 63 6f 6d 28 24 28 63 6f 6d 6d 61 |d2$=.com($(comma| 000009e0 6e 64 2b a9 24 63 6f 6d 6d 61 6e 64 2b 31 29 29 |nd+.$command+1))| 000009f0 20 8b 20 63 6f 6d 6d 61 6e 64 32 24 3d 22 22 0d | . command2$="".| 00000a00 00 76 51 20 e7 20 63 6f 6d 6d 61 6e 64 32 24 3d |.vQ . command2$=| 00000a10 22 22 20 80 20 c0 63 6f 6d 6d 61 6e 64 31 24 2c |"" . .command1$,| 00000a20 31 30 29 3d 22 46 69 6c 65 72 5f 52 75 6e 20 22 |10)="Filer_Run "| 00000a30 20 80 20 a7 63 6f 6d 6d 61 6e 64 31 24 2c 22 7c | . .command1$,"|| 00000a40 4d 22 29 3d 30 20 80 20 73 75 62 3d 2d 31 20 8c |M")=0 . sub=-1 .| 00000a50 0d 00 77 26 20 20 20 f2 62 70 75 74 28 22 20 2d |..w& .bput(" -| 00000a60 70 61 74 68 20 22 2b c1 63 6f 6d 6d 61 6e 64 31 |path "+.command1| 00000a70 24 2c 31 31 29 29 0d 00 78 13 20 20 20 63 6f 6d |$,11))..x. com| 00000a80 6d 61 6e 64 31 24 3d 22 22 0d 00 79 06 20 cd 0d |mand1$=""..y. ..| 00000a90 00 7a 04 0d 00 7b 10 20 e7 20 73 75 62 3c 3e 2d |.z...{. . sub<>-| 00000aa0 31 20 8c 0d 00 7c 15 20 20 f2 62 70 75 74 28 22 |1 ...|. .bput("| 00000ab0 20 2d 73 75 62 20 22 29 0d 00 7d 15 20 20 73 75 | -sub ")..}. su| 00000ac0 62 24 3d 24 28 6d 65 6d 2b 73 75 62 29 0d 00 7e |b$=$(mem+sub)..~| 00000ad0 35 20 20 e7 20 73 75 62 24 3c 3e 24 74 65 78 74 |5 . sub$<>$text| 00000ae0 20 f2 62 70 75 74 28 a4 71 75 6f 74 65 64 28 73 | .bput(.quoted(s| 00000af0 75 62 24 29 29 20 8b 20 f2 62 70 75 74 28 22 2a |ub$)) . .bput("*| 00000b00 22 29 0d 00 7f 06 20 cd 0d 00 80 2d 20 e7 20 73 |").... ....- . s| 00000b10 75 62 3c 3e 2d 31 20 f2 63 68 65 63 6b 28 22 43 |ub<>-1 .check("C| 00000b20 61 6c 6c 20 74 6f 20 73 75 62 6d 65 6e 75 22 2c |all to submenu",| 00000b30 73 75 62 24 29 0d 00 81 04 0d 00 82 0e 20 e3 20 |sub$)........ . | 00000b40 69 3d 30 20 b8 20 33 0d 00 83 14 20 20 6b 65 79 |i=0 . 3.... key| 00000b50 3d 6b 65 79 73 21 28 69 2a 34 29 0d 00 84 12 20 |=keys!(i*4).... | 00000b60 20 e7 20 6b 65 79 3c 3e 26 46 46 20 8c 0d 00 85 | . key<>&FF ....| 00000b70 0f 20 20 20 20 e7 20 69 3d 30 20 8c 0d 00 86 23 |. . i=0 ....#| 00000b80 20 20 20 20 20 20 f2 62 70 75 74 28 22 20 2d 6b | .bput(" -k| 00000b90 65 79 20 22 2b a4 6b 65 79 28 6b 65 79 29 29 0d |ey "+.key(key)).| 00000ba0 00 87 09 20 20 20 20 cc 0d 00 88 29 20 20 20 20 |... ....) | 00000bb0 20 20 f1 20 22 43 61 6e 27 74 20 61 73 73 69 67 | . "Can't assig| 00000bc0 6e 20 6b 65 79 20 22 3b a4 6b 65 79 28 6b 65 79 |n key ";.key(key| 00000bd0 29 0d 00 89 09 20 20 20 20 cd 0d 00 8a 07 20 20 |).... ..... | 00000be0 cd 0d 00 8b 06 20 ed 0d 00 8c 04 0d 00 8d 1b 20 |..... ......... | 00000bf0 e7 20 74 69 63 6b 20 f2 62 70 75 74 28 22 20 2d |. tick .bput(" -| 00000c00 74 69 63 6b 22 29 0d 00 8e 47 20 e7 20 74 65 78 |tick")...G . tex| 00000c10 74 5f 62 67 3c 3e 30 20 84 20 74 65 78 74 5f 66 |t_bg<>0 . text_f| 00000c20 67 3c 3e 37 20 f2 62 70 75 74 28 22 20 2d 62 67 |g<>7 .bput(" -bg| 00000c30 20 22 2b c3 74 65 78 74 5f 62 67 2b 22 20 2d 66 | "+.text_bg+" -f| 00000c40 67 20 22 2b c3 74 65 78 74 5f 66 67 29 0d 00 8f |g "+.text_fg)...| 00000c50 23 20 e7 20 74 79 70 65 3e 30 20 f2 62 70 75 74 |# . type>0 .bput| 00000c60 28 22 20 2d 6c 65 6e 20 22 2b c3 74 79 70 65 29 |(" -len "+.type)| 00000c70 0d 00 90 0f 20 f2 62 70 75 74 28 6c 66 24 29 0d |.... .bput(lf$).| 00000c80 00 91 04 0d 00 92 3c 20 e7 20 63 6f 6d 6d 61 6e |......< . comman| 00000c90 64 31 24 3c 3e 22 22 20 8c 20 f2 62 70 75 74 28 |d1$<>"" . .bput(| 00000ca0 74 61 62 32 24 2b 22 43 6f 6d 6d 61 6e 64 20 22 |tab2$+"Command "| 00000cb0 2b 63 6f 6d 6d 61 6e 64 31 24 2b 6c 66 24 29 0d |+command1$+lf$).| 00000cc0 00 93 3c 20 e7 20 63 6f 6d 6d 61 6e 64 32 24 3c |..< . command2$<| 00000cd0 3e 22 22 20 8c 20 f2 62 70 75 74 28 74 61 62 32 |>"" . .bput(tab2| 00000ce0 24 2b 22 43 6f 6d 6d 61 6e 64 20 22 2b 63 6f 6d |$+"Command "+com| 00000cf0 6d 61 6e 64 32 24 2b 6c 66 24 29 0d 00 94 04 0d |mand2$+lf$).....| 00000d00 00 95 1d 20 e7 20 6c 69 6e 65 20 f2 62 70 75 74 |... . line .bput| 00000d10 28 22 44 61 73 68 22 2b 6c 66 24 29 0d 00 96 0a |("Dash"+lf$)....| 00000d20 20 61 2b 3d 32 34 0d 00 97 0a fd 20 6c 61 73 74 | a+=24..... last| 00000d30 0d 00 98 18 f2 62 70 75 74 28 22 45 6e 64 4d 65 |.....bput("EndMe| 00000d40 6e 75 22 2b 6c 66 24 29 0d 00 99 0b e7 20 73 3e |nu"+lf$)..... s>| 00000d50 30 20 8c 0d 00 9a 0e 20 e3 20 69 3d 31 20 b8 20 |0 ..... . i=1 . | 00000d60 73 0d 00 9b 18 20 20 f2 73 68 6f 77 5f 6d 65 6e |s.... .show_men| 00000d70 75 28 73 75 62 28 69 29 29 0d 00 9c 06 20 ed 0d |u(sub(i)).... ..| 00000d80 00 9d 05 cd 0d 00 9e 05 e1 0d 00 9f 05 3a 0d 00 |.............:..| 00000d90 a0 0f dd 20 f2 62 70 75 74 28 6f 24 29 0d 00 a1 |... .bput(o$)...| 00000da0 0e d5 20 23 6f 75 74 2c 6f 24 3b 0d 00 a2 1c e7 |.. #out,o$;.....| 00000db0 20 c2 6f 24 2c 31 29 3d 6c 66 24 20 6f 75 74 5f | .o$,1)=lf$ out_| 00000dc0 6c 69 6e 65 2b 3d 31 0d 00 a3 05 e1 0d 00 a4 05 |line+=1.........| 00000dd0 3a 0d 00 a5 11 dd 20 a4 71 75 6f 74 65 64 28 61 |:..... .quoted(a| 00000de0 24 29 0d 00 a6 28 20 20 e7 20 a7 61 24 2c 22 20 |$)...( . .a$," | 00000df0 22 29 20 84 20 61 24 3d 22 22 20 8c 20 3d 22 22 |") . a$="" . =""| 00000e00 22 22 2b 61 24 2b 22 22 22 22 0d 00 a7 07 3d 61 |""+a$+""""....=a| 00000e10 24 0d 00 a8 05 3a 0d 00 a9 0f dd 20 a4 62 69 74 |$....:..... .bit| 00000e20 28 62 2c 6e 29 0d 00 aa 13 3d 28 6e 20 80 20 28 |(b,n)....=(n . (| 00000e30 31 3c 3c 62 29 29 3e 30 0d 00 ab 05 3a 0d 00 ac |1<<b))>0....:...| 00000e40 0f dd 20 a4 6b 65 79 28 6b 65 79 29 0d 00 ad 09 |.. .key(key)....| 00000e50 20 ea 20 6d 24 0d 00 ae 0a 20 6d 24 3d 22 22 0d | . m$.... m$="".| 00000e60 00 af 22 20 e7 20 6b 65 79 20 3e 3d 20 26 31 38 |.." . key >= &18| 00000e70 30 20 80 20 6b 65 79 20 3c 3d 20 26 31 46 46 20 |0 . key <= &1FF | 00000e80 8c 0d 00 b0 1d 20 20 20 e7 20 6b 65 79 20 80 20 |..... . key . | 00000e90 26 31 30 20 8c 20 6d 24 2b 3d bd 31 33 39 0d 00 |&10 . m$+=.139..| 00000ea0 b1 1c 20 20 20 e7 20 6b 65 79 20 80 20 26 32 30 |.. . key . &20| 00000eb0 20 8c 20 6d 24 2b 3d 22 5e 22 0d 00 b2 18 20 20 | . m$+="^".... | 00000ec0 20 6b 65 79 20 3d 20 6b 65 79 20 80 20 ac 20 26 | key = key . . &| 00000ed0 33 30 0d 00 b3 06 20 cd 0d 00 b4 31 20 e7 20 6b |30.... ....1 . k| 00000ee0 65 79 20 3e 3d 20 97 22 61 22 20 80 20 6b 65 79 |ey >= ."a" . key| 00000ef0 20 3c 3d 20 97 22 7a 22 20 8c 20 6b 65 79 20 3d | <= ."z" . key =| 00000f00 20 6b 65 79 20 2d 20 36 34 0d 00 b5 04 0d 00 b6 | key - 64.......| 00000f10 0d 20 c8 8e 20 6b 65 79 20 ca 0d 00 b7 19 20 20 |. .. key ..... | 00000f20 20 c9 20 26 30 31 45 3a 20 3d 6d 24 2b 22 48 6f | . &01E: =m$+"Ho| 00000f30 6d 65 22 0d 00 b8 1b 20 20 20 c9 20 26 30 31 44 |me".... . &01D| 00000f40 3a 20 3d 6d 24 2b 22 52 65 74 75 72 6e 22 0d 00 |: =m$+"Return"..| 00000f50 b9 1e 20 20 20 c9 20 26 30 31 43 3a 20 3d 6d 24 |.. . &01C: =m$| 00000f60 2b 22 42 61 63 6b 73 70 61 63 65 22 0d 00 ba 1a |+"Backspace"....| 00000f70 20 20 20 c9 20 26 30 32 30 3a 20 3d 6d 24 2b 22 | . &020: =m$+"| 00000f80 53 70 61 63 65 22 0d 00 bb 1b 20 20 20 c9 20 26 |Space".... . &| 00000f90 30 37 46 3a 20 3d 6d 24 2b 22 44 65 6c 65 74 65 |07F: =m$+"Delete| 00000fa0 22 0d 00 bc 18 20 20 20 c9 20 26 30 31 42 3a 20 |".... . &01B: | 00000fb0 3d 6d 24 2b 22 45 73 63 22 0d 00 bd 1a 20 20 20 |=m$+"Esc".... | 00000fc0 c9 20 26 31 38 30 3a 20 3d 6d 24 2b 22 50 72 69 |. &180: =m$+"Pri| 00000fd0 6e 74 22 0d 00 be 17 20 20 20 c9 20 26 31 38 31 |nt".... . &181| 00000fe0 3a 20 3d 6d 24 2b 22 46 31 22 0d 00 bf 17 20 20 |: =m$+"F1".... | 00000ff0 20 c9 20 26 31 38 32 3a 20 3d 6d 24 2b 22 46 32 | . &182: =m$+"F2| 00001000 22 0d 00 c0 17 20 20 20 c9 20 26 31 38 33 3a 20 |".... . &183: | 00001010 3d 6d 24 2b 22 46 33 22 0d 00 c1 17 20 20 20 c9 |=m$+"F3".... .| 00001020 20 26 31 38 34 3a 20 3d 6d 24 2b 22 46 34 22 0d | &184: =m$+"F4".| 00001030 00 c2 17 20 20 20 c9 20 26 31 38 35 3a 20 3d 6d |... . &185: =m| 00001040 24 2b 22 46 35 22 0d 00 c3 17 20 20 20 c9 20 26 |$+"F5".... . &| 00001050 31 38 36 3a 20 3d 6d 24 2b 22 46 36 22 0d 00 c4 |186: =m$+"F6"...| 00001060 17 20 20 20 c9 20 26 31 38 37 3a 20 3d 6d 24 2b |. . &187: =m$+| 00001070 22 46 37 22 0d 00 c5 17 20 20 20 c9 20 26 31 38 |"F7".... . &18| 00001080 38 3a 20 3d 6d 24 2b 22 46 38 22 0d 00 c6 17 20 |8: =m$+"F8".... | 00001090 20 20 c9 20 26 31 38 39 3a 20 3d 6d 24 2b 22 46 | . &189: =m$+"F| 000010a0 39 22 0d 00 c7 18 20 20 20 c9 20 26 31 38 41 3a |9".... . &18A:| 000010b0 20 3d 6d 24 2b 22 54 61 62 22 0d 00 c8 19 20 20 | =m$+"Tab".... | 000010c0 20 c9 20 26 31 38 42 3a 20 3d 6d 24 2b 22 43 6f | . &18B: =m$+"Co| 000010d0 70 79 22 0d 00 c9 19 20 20 20 c9 20 26 31 38 43 |py".... . &18C| 000010e0 3a 20 3d 6d 24 2b 22 4c 65 66 74 22 0d 00 ca 1a |: =m$+"Left"....| 000010f0 20 20 20 c9 20 26 31 38 44 3a 20 3d 6d 24 2b 22 | . &18D: =m$+"| 00001100 52 69 67 68 74 22 0d 00 cb 19 20 20 20 c9 20 26 |Right".... . &| 00001110 31 38 45 3a 20 3d 6d 24 2b 22 44 6f 77 6e 22 0d |18E: =m$+"Down".| 00001120 00 cc 17 20 20 20 c9 20 26 31 38 46 3a 20 3d 6d |... . &18F: =m| 00001130 24 2b 22 55 70 22 0d 00 cd 18 20 20 20 c9 20 26 |$+"Up".... . &| 00001140 31 43 41 3a 20 3d 6d 24 2b 22 46 31 30 22 0d 00 |1CA: =m$+"F10"..| 00001150 ce 18 20 20 20 c9 20 26 31 43 42 3a 20 3d 6d 24 |.. . &1CB: =m$| 00001160 2b 22 46 31 31 22 0d 00 cf 18 20 20 20 c9 20 26 |+"F11".... . &| 00001170 31 43 43 3a 20 3d 6d 24 2b 22 46 31 32 22 0d 00 |1CC: =m$+"F12"..| 00001180 d0 1b 20 20 20 c9 20 26 31 43 44 3a 20 3d 6d 24 |.. . &1CD: =m$| 00001190 2b 22 49 6e 73 65 72 74 22 0d 00 d1 09 20 20 20 |+"Insert".... | 000011a0 7f 3a 0d 00 d2 41 20 20 20 20 20 e7 20 28 6b 65 |.:...A . (ke| 000011b0 79 20 3e 3d 20 33 33 20 80 20 6b 65 79 20 3c 3d |y >= 33 . key <=| 000011c0 20 31 32 36 29 20 84 20 28 6b 65 79 20 3e 3d 20 | 126) . (key >= | 000011d0 31 32 38 20 80 20 6b 65 79 20 3c 3d 20 32 35 35 |128 . key <= 255| 000011e0 29 20 8c 0d 00 d3 10 20 20 20 20 20 20 20 3d bd |) ..... =.| 000011f0 28 6b 29 0d 00 d4 0a 20 20 20 20 20 cc 0d 00 d5 |(k).... ....| 00001200 21 20 20 20 20 20 20 20 e7 20 6b 65 79 20 3e 3d |! . key >=| 00001210 20 30 20 80 20 6b 65 79 20 3c 3d 20 33 31 0d 00 | 0 . key <= 31..| 00001220 d6 1d 20 20 20 20 20 20 20 20 20 3d 22 5e 22 2b |.. ="^"+| 00001230 bd 28 6b 65 79 20 2b 20 36 34 29 0d 00 d7 0c 20 |.(key + 64).... | 00001240 20 20 20 20 20 20 cd 0d 00 d8 0a 20 20 20 20 20 | ..... | 00001250 cd 0d 00 d9 06 20 cb 0d 00 da 1b 20 f1 20 22 55 |..... ..... . "U| 00001260 6e 6b 6e 6f 77 6e 20 6b 65 79 20 26 22 3b 7e 6b |nknown key &";~k| 00001270 65 79 0d 00 db 08 3d 22 a4 22 0d 00 dc 05 3a 0d |ey....="."....:.| 00001280 00 dd 0e dd 20 a4 63 6f 6d 28 63 24 29 0d 00 de |.... .com(c$)...| 00001290 0a ea 20 6f 24 2c 69 0d 00 df 09 6f 24 3d 22 22 |.. o$,i....o$=""| 000012a0 0d 00 e0 05 f5 0d 00 e1 0f 20 69 3d a7 63 24 2c |......... i=.c$,| 000012b0 22 25 22 29 0d 00 e2 0c 20 e7 20 69 3d 30 20 8c |"%").... . i=0 .| 000012c0 0d 00 e3 0c 20 20 6f 24 2b 3d 63 24 0d 00 e4 06 |.... o$+=c$....| 000012d0 20 cc 0d 00 e5 14 20 20 6f 24 2b 3d c0 63 24 2c | ..... o$+=.c$,| 000012e0 69 29 2b 22 25 22 0d 00 e6 11 20 20 63 24 3d c1 |i)+"%".... c$=.| 000012f0 63 24 2c 69 2b 31 29 0d 00 e7 06 20 cd 0d 00 e8 |c$,i+1).... ....| 00001300 09 fd 20 69 3d 30 0d 00 e9 07 3d 6f 24 0d 00 ea |.. i=0....=o$...| 00001310 05 3a 0d 00 eb 13 dd 20 f2 61 64 64 5f 6d 65 6e |.:..... .add_men| 00001320 75 28 6e 24 29 0d 00 ec 07 ea 20 69 0d 00 ed 07 |u(n$)..... i....| 00001330 69 3d 30 0d 00 ee 1d c8 95 20 69 3c 6d 65 6e 75 |i=0...... i<menu| 00001340 73 20 80 20 6e 24 3c 3e 6d 65 6e 75 24 28 69 29 |s . n$<>menu$(i)| 00001350 0d 00 ef 09 20 69 2b 3d 31 0d 00 f0 05 ce 0d 00 |.... i+=1.......| 00001360 f1 36 e7 20 6e 24 3c 3e 6d 65 6e 75 24 28 69 29 |.6. n$<>menu$(i)| 00001370 20 6d 65 6e 75 24 28 69 29 3d 6e 24 3a 6d 65 6e | menu$(i)=n$:men| 00001380 75 73 2b 3d 31 20 8b 20 64 75 70 6c 69 63 61 74 |us+=1 . duplicat| 00001390 65 73 3d b9 0d 00 f2 0f 63 6f 75 6e 74 28 69 29 |es=.....count(i)| 000013a0 2b 3d 31 0d 00 f3 05 e1 0d 00 f4 05 3a 0d 00 f5 |+=1.........:...| 000013b0 15 dd 20 f2 63 68 65 63 6b 28 65 72 72 24 2c 6e |.. .check(err$,n| 000013c0 24 29 0d 00 f6 07 ea 20 69 0d 00 f7 07 69 3d 30 |$)..... i....i=0| 000013d0 0d 00 f8 1d c8 95 20 69 3c 6d 65 6e 75 73 20 80 |...... i<menus .| 000013e0 20 6d 65 6e 75 24 28 69 29 3c 3e 6e 24 0d 00 f9 | menu$(i)<>n$...| 000013f0 09 20 69 2b 3d 31 0d 00 fa 05 ce 0d 00 fb 12 e7 |. i+=1..........| 00001400 20 63 6f 75 6e 74 28 69 29 3e 31 20 8c 0d 00 fc | count(i)>1 ....| 00001410 12 20 e7 20 74 68 72 6f 77 62 61 63 6b 20 8c 0d |. . throwback ..| 00001420 00 fd 46 20 20 c8 99 20 22 44 44 45 55 74 69 6c |..F .. "DDEUtil| 00001430 73 5f 54 68 72 6f 77 62 61 63 6b 53 65 6e 64 22 |s_ThrowbackSend"| 00001440 2c 31 2c 2c 63 61 6e 6f 6e 2c 6f 75 74 5f 6c 69 |,1,,canon,out_li| 00001450 6e 65 2c 30 2c 65 72 72 24 2b 22 20 90 22 2b 6e |ne,0,err$+" ."+n| 00001460 24 2b 22 91 22 0d 00 fe 06 20 cc 0d 00 ff 29 20 |$+".".... ....) | 00001470 20 f1 65 72 72 24 2b 22 20 90 22 2b 6e 24 2b 22 | .err$+" ."+n$+"| 00001480 91 20 61 74 20 6c 69 6e 65 20 22 3b 6f 75 74 5f |. at line ";out_| 00001490 6c 69 6e 65 0d 01 00 06 20 cd 0d 01 01 05 cd 0d |line.... .......| 000014a0 01 02 05 e1 0d 01 03 05 3a 0d 01 04 11 dd 20 f2 |........:..... .| 000014b0 74 61 73 6b 77 69 6e 64 6f 77 0d 01 05 0d de 20 |taskwindow..... | 000014c0 62 75 66 20 32 35 36 0d 01 06 19 c8 99 20 22 4f |buf 256...... "O| 000014d0 53 5f 47 65 74 45 6e 76 22 20 b8 20 65 6e 76 24 |S_GetEnv" . env$| 000014e0 0d 01 07 3c c8 99 20 22 58 4f 53 5f 52 65 61 64 |...<.. "XOS_Read| 000014f0 41 72 67 73 22 2c 22 71 75 69 74 2f 6b 2c 74 61 |Args","quit/k,ta| 00001500 73 6b 2f 53 2c 2c 2c 2c 2c 22 2c 65 6e 76 24 2c |sk/S,,,,,",env$,| 00001510 62 75 66 2c 32 35 36 20 b8 20 3b 76 0d 01 08 0d |buf,256 . ;v....| 00001520 e7 20 76 20 80 20 31 20 e1 0d 01 09 0f e7 20 21 |. v . 1 ...... !| 00001530 62 75 66 3c 3e 30 20 8c 0d 01 0a 29 20 6e 24 3d |buf<>0 ....) n$=| 00001540 22 22 3a 69 3d 21 62 75 66 3a c8 95 20 3f 69 3e |"":i=!buf:.. ?i>| 00001550 33 31 3a 6e 24 2b 3d bd 3f 69 3a 69 2b 3d 31 3a |31:n$+=.?i:i+=1:| 00001560 ce 0d 01 0b 37 20 6c 24 3d 22 22 3a 69 3d a9 6e |....7 l$="":i=.n| 00001570 24 3a c8 95 20 c1 6e 24 2c 69 2c 31 29 3c 3e 22 |$:.. .n$,i,1)<>"| 00001580 2e 22 3a 6c 24 3d c1 6e 24 2c 69 2c 31 29 2b 6c |.":l$=.n$,i,1)+l| 00001590 24 3a 69 2d 3d 31 3a ce 0d 01 0c 4f 20 e7 20 62 |$:i-=1:....O . b| 000015a0 75 66 21 34 3d 30 20 c8 99 20 22 4f 53 5f 43 4c |uf!4=0 .. "OS_CL| 000015b0 49 22 2c 22 54 61 73 6b 57 69 6e 64 6f 77 20 2d |I","TaskWindow -| 000015c0 71 75 69 74 20 2d 6e 61 6d 65 20 22 2b 6c 24 2b |quit -name "+l$+| 000015d0 22 20 22 22 52 75 6e 20 22 2b 6e 24 2b 22 20 2d |" ""Run "+n$+" -| 000015e0 74 61 73 6b 22 22 22 0d 01 0d 05 cd 0d 01 0e 05 |task""".........| 000015f0 e1 0d ff |...| 000015f3