Home » Archimedes archive » Acorn User » AU 1994-09.adf » !StarInfo_Star » Marshall/!Envelope/!RunImage
Marshall/!Envelope/!RunImage
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 1994-09.adf » !StarInfo_Star |
Filename: | Marshall/!Envelope/!RunImage |
Read OK: | ✔ |
File size: | 2C65 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >Envelope 20REM Fast Envelope printing 30REM By P.E.Marshall 40REM (c) AU September 1994 50 60 quit=FALSE : bold%=FALSE : large%=FALSE : epson%=FALSE 70 txbuflen = &400 80 DIM txbuf% txbuflen, block% &400, menu% 512 90 DIM iconaddr(10) 100 SYS"Wimp_Initialise" ,200,&4B534154,"Envelope" TO version,task 110 iconbuflen = &600 120 DIM tempbuf iconbuflen, iconbuf iconbuflen 130 next=iconbuf 140 SYS "Wimp_OpenTemplate",,"<Obey$Dir>.Templates" 150 mainhandle = FNwindow_def("main") 160 FOR I%=0 TO 7 170 iconaddr(I%) = FNiconaddr(mainhandle,I%) 180 !iconaddr(I%)= &0D0D 190 NEXT 200 SYS"Wimp_GetWindowInfo",,block% 210 titleaddr = block%!76 : titlelen=block%!84 220 infohandle = FNwindow_def("info") 230 optionhandle= FNwindow_def("options") 240 linesaddr = FNiconaddr(optionhandle,0) 250 topaddr = FNiconaddr(optionhandle,1) 260 leftaddr = FNiconaddr(optionhandle,2) 270 savehandle = FNwindow_def("saveas") 280 savename = FNiconaddr(savehandle,2) 290 SYS"Wimp_CloseTemplate" 300 PROCsetup_menu 310 PROCiconbar 320 PROCloadchoices 330 340 PROCopenup(mainhandle,300,900,870,472) 350 SYS"Wimp_SetCaretPosition",mainhandle,0,0,0,-1,0 360 370 ON ERROR PROCerror 380 390 REPEAT 400 SYS"Wimp_Poll",&1C33,block% TO reason,ptr% 410 CASE reason OF 420 WHEN 2:SYS "Wimp_OpenWindow",,ptr% 430 WHEN 3:SYS "Wimp_CloseWindow",,ptr% 440 WHEN 6:PROCclicked 450 WHEN 7:PROCdrag_end 460 WHEN 8:PROCkeypress 470 WHEN 9:PROCprocess_menu 480 WHEN 17,18:PROCOSmessage 490 WHEN 19:IF block%!16=6 AND block%!12=myref THEN PROCsend_scrap 500 ENDCASE 510 UNTIL quit 520 SYS"Wimp_CloseDown" 530END 540: 550DEFFNwindow_def(name$) 560 SYS"Wimp_LoadTemplate",,tempbuf,next,iconbuf+iconbuflen,-1,name$,0 TO ,,next 570 SYS"Wimp_CreateWindow",,tempbuf TO handle 580=handle 590: 600DEFFNiconaddr(window,icon) 610 block%!0=window : block%!4=icon 620 SYS"Wimp_GetIconState",,block% 630= block%!28 640: 650DEFPROCopenup(window,x,y,w,h) 660 block%!0=window 670 block%!4=x : block%!8=y-h 680 block%!12=x+w: block%!16=y 690 block%!20=0 : block%!24=0 700 block%!28=-1 710 SYS "Wimp_OpenWindow",,block% 720ENDPROC 730: 740DEFPROCsetup_menu 750 flags=&7000021 760 P%=menu% 770 PROCmenu_header("Envelope",12) 780 PROCmenu_item(&00,infohandle,flags,"Info") 790 PROCmenu_item(&00,savehandle,flags,"Save") 800 PROCmenu_item(&00,optionhandle,flags,"Options") 810 PROCmenu_item(&00,-1,flags,"Print") 820 PROCmenu_item(&00,-1,flags,"Clear") 830 PROCmenu_item(&80,-1,flags,"Quit") 840ENDPROC 850: 860DEFPROCmenu_header(T$,w) 870 $P%=T$ : P%!12=&70207 : P%!16=w*16 : P%!20=34 : P%!24=8 880 P%=P%+28 890ENDPROC 900: 910DEFPROCmenu_item(menflg,sub,icflg,T$) 920 P%!0=menflg : P%!4=sub : P%!8=icflg : $(P%+12)=T$ 930 P%=P%+24 940ENDPROC 950: 960DEFPROCprocess_menu 970 CASE ptr%!0 OF 980 WHEN 1:PROCsend_file 990 WHEN 3:PROCprint 1000 WHEN 4:PROCclear : PROCupdate 1010 WHEN 5:quit=TRUE 1020 ENDCASE 1030ENDPROC 1040: 1050DEFPROCclicked 1060 button=ptr%!8 : window=ptr%!12 : icon%=ptr%!16 1070 IF (button AND 4) AND window=-2 THEN PROCupdate 1080 IF icon%=iconbar THEN Y%=348 ELSE Y%=ptr%!4+64 1090 IF button AND 2 THEN SYS "Wimp_CreateMenu",,menu%,ptr%!0-64,Y% 1100 CASE window OF 1110 WHEN optionhandle 1120 CASE icon% OF 1130 WHEN 4,5 : large%= large% EOR 1 1140 WHEN 6,7 : bold% = bold% EOR 1 1150 WHEN 9,10: epson%=epson% EOR 1 1160 WHEN 15 : PROCsavechoices 1170 ENDCASE 1180 WHEN savehandle 1190 IF icon%=0 THEN PROCsend_file 1200 IF icon%=3 THEN PROCsave_drag 1210 ENDCASE 1220ENDPROC 1230: 1240DEFPROCinvert(window,icon) 1250 block%!0=window : block%!4=icon 1260 block%!8=&200000 : REM bit 21 1270 block%!12=0 1280 SYS &400CD,,block% : REM "Wimp_SetIconState" 1290ENDPROC 1300: 1310DEFPROCsave_drag 1320 SYS "Wimp_GetWindowState",,block%+12 1330 X%=block%!16 : Y%=block%!28 : block%!16=icon% 1340 SYS "Wimp_GetIconState",,block%+12 1350 block%!16=5 : block%!20+=X%-2 : block%!24+=Y%-4 1360 block%!28+=X%+2 : block%!32+=Y%+4 1370 block%!36=0 : block%!44=&7FFFFFFF 1380 block%!40=0 : block%!48=&7FFFFFFF 1390 SYS "Wimp_DragBox",,block%+12 1400ENDPROC 1410: 1420DEFPROCdrag_end 1430 SYS "Wimp_GetPointerInfo",,block% 1440 SX%=block%!0 : SY%=block%!4 : SW%=block%!12 : SI%=block%!16 1450 block%!0=128 :REM block length 1460 block%!12=0 :REM original message 1470 block%!16=1 :REM action datasave 1480 block%!20=SW% :REM destination window handle/buffer address 1490 block%!24=SI% :REM dest icon handle/buff length 1500 block%!28=SX% 1510 block%!32=SY% 1520 block%!36=txbuflen 1530 block%!40=&FFF 1540 IF SW%=mainhandle OR SW%=savehandle THEN ENDPROC 1550 $(block%+44)=FNleafname($savename)+CHR$0 1560 SYS "Wimp_SendMessage",17,block%,SW%,SI% 1570ENDPROC 1580: 1590DEFPROCOSmessage 1600 action=block%!16 1610 CASE action OF 1620 WHEN 0 : quit=TRUE 1630 WHEN 1 : PROCdata_save 1640 WHEN 2 : PROCdata_saveack 1650 WHEN 3 : PROCload_file 1660 WHEN 4 : REM Data Load Ack 1670 WHEN 6 : PROCdata_RAMfetch 1680 WHEN 7 : PROCdata_RAMtransmit 1690 ENDCASE 1700ENDPROC 1710: 1720DEFPROCwrite_to_ram 1730 LOCAL L% 1740 Q%=txbuf% 1750 FOR L%=0 TO 7 1760 P%=iconaddr(L%) 1770 REPEAT 1780 C%=?P% : IF C%<32 THEN C%=10 1790 ?Q%=C% : Q%+=1 : P%+=1 1800 UNTIL C%=10 1810 NEXT 1820 txptr%=Q% 1830 SYS"Wimp_CreateMenu",,-1 1840ENDPROC 1850: 1860DEFPROCdata_save 1870 REM Ask ext app to send via ram 1880 IF block%!40=&FFF THEN 1890 PROCclear 1900 FOR I%=0TO32:block%?(I%+256)=block%?I%:NEXT: REM temp save block 1910 P%=txbuf% : FOR I%=0 TO txbuflen : P%?I%=0 : NEXT 1920 myref=block%!8 1930 block%!0=256 1940 block%!12=block%!8 1950 block%!16=6 : REM RAMfetch 1960 block%!20=txbuf% 1970 block%!24=txbuflen 1980 SYS "Wimp_SendMessage",18,block%,block%!4 1990 ENDIF 2000ENDPROC 2010: 2020DEFPROCsend_scrap 2030 REM ram fetch not acknowledged so use scrapfile to get data 2040 FOR I%=0TO32:block%?I%=block%?(I%+256):NEXT 2050 block%!0=256 2060 block%!12=block%!8 2070 block%!16=2 : REM DataSaveAck 2080 block%!36=-1 2090 block%!40=&FFF 2100 $(block%+44)="<Wimp$Scrap>"+CHR$0 2110 SYS "Wimp_SendMessage",17,block%,block%!4 2120ENDPROC 2130: 2140DEFPROCdata_RAMtransmit 2150 REM get data ext app has put in buffer 2160 rxbuf%=block%!20 : rxbuflen=block%!24 2170 L%=0 : P%=rxbuf% 2180 REPEAT 2190 R%=0 2200 REPEAT 2210 C%=?P% : IF C%<32 THEN C%=13 2220 IF R%<60 THEN iconaddr(L%)?R%=C% 2230 P%+=1 : R%+=1 2240 UNTIL C%=13 2250 L%+=1 2260 UNTIL P%>=rxbuf%+rxbuflen OR L%>7 2270 PROCupdate 2280ENDPROC 2290: 2300DEFPROCdata_saveack 2310 REM Request acknowledged, send data 2320 oldname$=$savename 2330 $savename=FNtermstring(block%+44) 2340 PROCsend_file 2350 desttask=block%!4 2360 IF block%!36=-1 THEN secure=FALSE ELSE secure=TRUE 2370 block%!0 =256 2380 block%!12=block%!8 2390 block%!16=3 :REM DataLoad 2400 block%!20=SW% :REM dest window 2410 block%!24=SI% :REM dest icon 2420 block%!28=SX% 2430 block%!32=SY% 2440 block%!36=txbuflen 2450 block%!40=&FFF 2460 $(block%+44)=$savename+CHR$0 2470 SYS "Wimp_SendMessage",18,block%,desttask 2480 IF NOT secure THEN $savename=oldname$+CHR$0 2490ENDPROC 2500: 2510DEFPROCsend_file 2520 IF INSTR($savename,".")=0 AND INSTR($savename,"<")=0 THEN ERROR 1,"To save, drag the file icon to a directory display."+CHR$0 2530 PROCwrite_to_ram 2540 SYS"OS_File",10,savename,&FFF,,txbuf%,txptr% 2550ENDPROC 2560: 2570DEFPROCload_file 2580 REM load dropped file 2590 IF block%!40<>&FFF THEN ENDPROC 2600 PROCclear 2610 I%=43 2620 REPEAT 2630 I%+=1 2640 UNTIL block%?I%=0 2650 block%?I%=13 2660 filename$=$(block%+44) 2670 ch%=OPENIN(filename$) 2680 L%=0 2690 WHILE NOT EOF#ch% AND L%<8 2700 $(iconaddr(L%))=LEFT$(GET$#ch%,60) 2710 L%+=1 2720 ENDWHILE 2730 CLOSE#ch% 2740 IF filename$="<Wimp$Scrap>" THEN *DELETE <Wimp$Scrap> 2750 block%!12=block%!8 : block%!16=4 2760 SYS "Wimp_SendMessage",17,block%,block%!4 2770 PROCupdate 2780ENDPROC 2790: 2800DEFPROCdata_RAMfetch 2810 REM external app wants data txfer via ram 2820 rxbuf%=block%!20 : rxbuflen=block%!24 2830 IF rxbuflen>=txbuflen THEN 2840 desttask=block%!4 : myref=block%!12 : yourref=block%!8 2850 PROCwrite_to_ram 2860 SYS"Wimp_TransferBlock",task,txbuf%,desttask,rxbuf%,rxbuflen 2870 block%!12=yourref 2880 block%!24=txptr%-txbuf% 2890 block%!16=7 2900 SYS "Wimp_SendMessage",18,block%,desttask : REM RAMTransmit 2910 ENDIF 2920ENDPROC 2930: 2940DEFPROCkeypress 2950 window = ptr%!0 : icon = ptr%!4 : char = ptr%!24 2960 IF window = mainhandle THEN 2970 ENDIF 2980ENDPROC 2990: 3000DEFPROCshut(window) 3010 block%!0=window 3020 SYS "Wimp_CloseWindow",,block% 3030ENDPROC 3040: 3050DEFPROCerror 3060 VDU3 3070 !block%=0 3080 $(block%+4)=REPORT$+CHR$0 3090 SYS"Wimp_ReportError",block%,2,"Envelope"+CHR$0 3100ENDPROC 3110: 3120DEFPROCiconbar 3130 block%!0=-1 3140 block%!4=0 3150 block%!8=0 3160 block%!12=68 3170 block%!16=68 3180 block%!20=&3002 3190 $(block%+24)="!Envelope" 3200 SYS "Wimp_CreateIcon",,block% TO iconbar 3210ENDPROC 3220: 3230DEFPROCclear 3240 FOR I%=0 TO 7 3250 !iconaddr(I%)=&0D0D 3260 NEXT 3270ENDPROC 3280: 3290DEFPROCupdate 3300 block%!0=mainhandle : block%!8=0 : block%!12=0 3310 FOR I%=0 TO 7 3320 block%!4=I% 3330 SYS &400CD,,block% : REM "Wimp_SetIconState" 3340 NEXT 3350 block%!0=mainhandle 3360 SYS"Wimp_GetWindowState",,block% 3370 block%!28=-1 3380 SYS"Wimp_OpenWindow",,block% 3390ENDPROC 3400: 3410DEFFNleafname(A$) 3420 IF A$="" THEN $savename="Address":=$savename 3430 I%=LEN A$ 3440 REPEAT 3450 I%-=1 3460 UNTIL I%=0 OR MID$(A$,I%,1)="." 3470=RIGHT$(A$,LEN(A$)-I%) 3480: 3490DEFFNtermstring(P%) 3500 A$="" 3510 REPEAT 3520 A$+=CHR$(?P%) 3530 P%+=1 3540 UNTIL ?P%=0 OR ?P%=13 3550=A$ 3560: 3570DEFPROCgetvalues 3580 linesinch% = VAL(FNtermstring(linesaddr)) 3590 topmargin% = VAL(FNtermstring(topaddr)) 3600 leftmargin%= VAL(FNtermstring(leftaddr)) 3610ENDPROC 3620: 3630DEFPROCsavechoices 3640 PROCgetvalues 3650 ch%=OPENOUT"<Envelope$Dir>.choices" 3660 PRINT#ch%,bold%,large%,linesinch%,topmargin%,leftmargin%,epson% 3670 CLOSE#ch% 3680 SYS"Wimp_CreateMenu",,-1 3690ENDPROC 3700: 3710DEFPROCloadchoices 3720 ch%=OPENIN"<Envelope$Dir>.choices" 3730 INPUT#ch%,bold%,large%,linesinch%,topmargin%,leftmargin%,epson% 3740 CLOSE#ch% 3750 IF bold% THEN PROCinvert(optionhandle,6) : PROCinvert(optionhandle,7) 3760 IF large% THEN PROCinvert(optionhandle,5) : PROCinvert(optionhandle,4) 3770 IF epson% THEN PROCinvert(optionhandle,9) : PROCinvert(optionhandle,10) 3780 $linesaddr = STR$(linesinch%) +CHR$0 3790 $topaddr = STR$(topmargin%) +CHR$0 3800 $leftaddr = STR$(leftmargin%)+CHR$0 3810ENDPROC 3820: 3830DEFPROCprint 3840 SYS"XPDriver_Info" TO r0,r1,r2,r3,r4 3850 IF r1=0 AND r2=0 THEN ERROR 1,"No current printer driver selected" 3860 ch%=OPENOUT"Printer:" 3870 SYS"PDriver_SelectJob",ch%,"Envelope printout" TO job% 3880 PROCgetvalues 3890 PROCselect_codes 3900 PROCsend_codes(initalise$) 3910 PROCsend_codes(linesinch$) 3920 IF large% THEN PROCsend_codes(enlarged$) 3930 IF bold% THEN PROCsend_codes(bold$) 3940 FOR I%=1 TO topmargin% 3950 BPUT#ch%,10 : BPUT#ch%,13 3960 NEXT 3970 FOR line%=0 TO 7 3980 FOR I%=1 TO leftmargin% 3990 BPUT#ch%,32 4000 NEXT 4010 BPUT#ch%,$iconaddr(line%) 4020 BPUT#ch%,13 4030 NEXT 4040 BPUT#ch%,12 4050 PROCsend_codes(reset$) 4060 SYS"PDriver_EndJob",ch% 4070 SYS"PDriver_SelectJob",job% 4080 CLOSE#ch% 4090ENDPROC 4100: 4110DEFPROCsend_codes(s$) 4120 FOR I%=1 TO LEN s$ 4130 N%=ASC(MID$(s$,I%,1)) 4140 IF N% = ASC"~" THEN N%=27 4150 BPUT#ch%,N% 4160 NEXT 4170ENDPROC 4180: 4190DEFPROCselect_codes 4200 IF epson% THEN 4210 4220 REM Epson control codes - Use ~ to represent ESCAPE 27 4230 4240 initalise$ = "~@" : REM reset to printer default 4250 linesinch$ = "~A" + CHR$ (72/linesinch%) : REM no. of 1/72th inch 4260 enlarged$ = "~W" + CHR$(1) : REM enlarged 4270 bold$ = "~E" : REM bold 4280 reset$ = "~@" : REM reset after printing 4290 4300 ELSE 4310 4320 REM HP PCL control codes - Use ~ to represent ESCAPE 27 4330 4340 initalise$ = "~E ~&l0O ~(0N ~(s0p 10h 12v 0s 0b 3t 2Q" : REM reset & initial setup 4350 linesinch$ = "~&l" + STR$ linesinch% + "D" : REM lines per inch 4360 enlarged$ = "~(s5H" : REM enlarged 4370 bold$ = "~(s3B" : REM bold 4380 reset$ = "~E" : REM reset after printing 4390 4400 4410 ENDIF 4420ENDPROC 4430 4440 Note: 4450 Printer specific control codes may need to modified. Note the use of CHR$ 4460 in Epson section and STR$ in HP section to send lines per inch parameter. 4470 Use STR$ if your printer expects parameters as printable characters. 4480 4490~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4500 4510
� >Envelope � Fast Envelope printing � By P.E.Marshall (� (c) AU September 1994 2 <+ quit=� : bold%=� : large%=� : epson%=� F txbuflen = &400 P/ � txbuf% txbuflen, block% &400, menu% 512 Z � iconaddr(10) dA ș"Wimp_Initialise" ,200,&4B534154,"Envelope" � version,task n iconbuflen = &600 x- � tempbuf iconbuflen, iconbuf iconbuflen � next=iconbuf �3 ș "Wimp_OpenTemplate",,"<Obey$Dir>.Templates" �% mainhandle = �window_def("main") � � I%=0 � 7 �. iconaddr(I%) = �iconaddr(mainhandle,I%) � !iconaddr(I%)= &0D0D � � �# ș"Wimp_GetWindowInfo",,block% �1 titleaddr = block%!76 : titlelen=block%!84 �& infohandle = �window_def("info") �) optionhandle= �window_def("options") �, linesaddr = �iconaddr(optionhandle,0) �, topaddr = �iconaddr(optionhandle,1) , leftaddr = �iconaddr(optionhandle,2) ( savehandle = �window_def("saveas") * savename = �iconaddr(savehandle,2) " ș"Wimp_CloseTemplate" , �setup_menu 6 �iconbar @ �loadchoices J T( �openup(mainhandle,300,900,870,472) ^4 ș"Wimp_SetCaretPosition",mainhandle,0,0,0,-1,0 h r � � �error | � � �/ ș"Wimp_Poll",&1C33,block% � reason,ptr% � Ȏ reason � �' � 2:ș "Wimp_OpenWindow",,ptr% �( � 3:ș "Wimp_CloseWindow",,ptr% � � 6:�clicked � � 7:�drag_end � � 8:�keypress � � 9:�process_menu � � 17,18:�OSmessage �; � 19:� block%!16=6 � block%!12=myref � �send_scrap � � � � quit ș"Wimp_CloseDown" � : &ݤwindow_def(name$) 0O ș"Wimp_LoadTemplate",,tempbuf,next,iconbuf+iconbuflen,-1,name$,0 � ,,next :, ș"Wimp_CreateWindow",,tempbuf � handle D=handle N: Xݤiconaddr(window,icon) b$ block%!0=window : block%!4=icon l" ș"Wimp_GetIconState",,block% v= block%!28 �: ���openup(window,x,y,w,h) � block%!0=window � block%!4=x : block%!8=y-h � block%!12=x+w: block%!16=y � block%!20=0 : block%!24=0 � block%!28=-1 �! ș "Wimp_OpenWindow",,block% �� �: ���setup_menu � flags=&7000021 � P%=menu% �menu_header("Envelope",12) , �menu_item(&00,infohandle,flags,"Info") , �menu_item(&00,savehandle,flags,"Save") 1 �menu_item(&00,optionhandle,flags,"Options") *% �menu_item(&00,-1,flags,"Print") 4% �menu_item(&00,-1,flags,"Clear") >$ �menu_item(&80,-1,flags,"Quit") H� R: \��menu_header(T$,w) f< $P%=T$ : P%!12=&70207 : P%!16=w*16 : P%!20=34 : P%!24=8 p P%=P%+28 z� �: �$��menu_item(menflg,sub,icflg,T$) �6 P%!0=menflg : P%!4=sub : P%!8=icflg : $(P%+12)=T$ � P%=P%+24 �� �: ���process_menu � Ȏ ptr%!0 � � � 1:�send_file � � 3:�print � � 4:�clear : �update � � 5:quit=� � � � : ��clicked $3 button=ptr%!8 : window=ptr%!12 : icon%=ptr%!16 .) � (button � 4) � window=-2 � �update 8, � icon%=iconbar � Y%=348 � Y%=ptr%!4+64 B< � button � 2 � ș "Wimp_CreateMenu",,menu%,ptr%!0-64,Y% L Ȏ window � V � optionhandle ` Ȏ icon% � j% � 4,5 : large%= large% � 1 t% � 6,7 : bold% = bold% � 1 ~% � 9,10: epson%=epson% � 1 � � 15 : �savechoices � � � � savehandle �! � icon%=0 � �send_file �! � icon%=3 � �save_drag � � �� �: ���invert(window,icon) �$ block%!0=window : block%!4=icon � block%!8=&200000 : � bit 21 � block%!12=0 . ș &400CD,,block% : � "Wimp_SetIconState" � : ��save_drag (( ș "Wimp_GetWindowState",,block%+12 22 X%=block%!16 : Y%=block%!28 : block%!16=icon% <& ș "Wimp_GetIconState",,block%+12 F4 block%!16=5 : block%!20+=X%-2 : block%!24+=Y%-4 P& block%!28+=X%+2 : block%!32+=Y%+4 Z& block%!36=0 : block%!44=&7FFFFFFF d& block%!40=0 : block%!48=&7FFFFFFF n! ș "Wimp_DragBox",,block%+12 x� �: ���drag_end �% ș "Wimp_GetPointerInfo",,block% �B SX%=block%!0 : SY%=block%!4 : SW%=block%!12 : SI%=block%!16 �' block%!0=128 :� block length �+ block%!12=0 :� original message �* block%!16=1 :� action datasave �C block%!20=SW% :� destination window handle/buffer address �7 block%!24=SI% :� dest icon handle/buff length � block%!28=SX% � block%!32=SY% � block%!36=txbuflen � block%!40=&FFF * � SW%=mainhandle � SW%=savehandle � � ) $(block%+44)=�leafname($savename)+�0 , ș "Wimp_SendMessage",17,block%,SW%,SI% "� ,: 6��OSmessage @ action=block%!16 J Ȏ action � T � 0 : quit=� ^ � 1 : �data_save h � 2 : �data_saveack r � 3 : �load_file | � 4 : � Data Load Ack � � 6 : �data_RAMfetch � � 7 : �data_RAMtransmit � � �� �: ���write_to_ram � � L% � Q%=txbuf% � � L%=0 � 7 � P%=iconaddr(L%) � � �! C%=?P% : � C%<32 � C%=10 � ?Q%=C% : Q%+=1 : P%+=1 � C%=10 � txptr%=Q% & ș"Wimp_CreateMenu",,-1 0� :: D��data_save N" � Ask ext app to send via ram X � block%!40=&FFF � b �clear l? � I%=0�32:block%?(I%+256)=block%?I%:�: � temp save block v2 P%=txbuf% : � I%=0 � txbuflen : P%?I%=0 : � � myref=block%!8 � block%!0=256 � block%!12=block%!8 � block%!16=6 : � RAMfetch � block%!20=txbuf% � block%!24=txbuflen �/ ș "Wimp_SendMessage",18,block%,block%!4 � � �� �: ���send_scrap �> � ram fetch not acknowledged so use scrapfile to get data �* � I%=0�32:block%?I%=block%?(I%+256):� block%!0=256 block%!12=block%!8 block%!16=2 : � DataSaveAck block%!36=-1 * block%!40=&FFF 4# $(block%+44)="<Wimp$Scrap>"+�0 >- ș "Wimp_SendMessage",17,block%,block%!4 H� R: \��data_RAMtransmit f) � get data ext app has put in buffer p* rxbuf%=block%!20 : rxbuflen=block%!24 z L%=0 : P%=rxbuf% � � � R%=0 � � � C%=?P% : � C%<32 � C%=13 �$ � R%<60 � iconaddr(L%)?R%=C% � P%+=1 : R%+=1 � � C%=13 � L%+=1 �! � P%>=rxbuf%+rxbuflen � L%>7 � �update �� �: ���data_saveack & � Request acknowledged, send data oldname$=$savename % $savename=�termstring(block%+44) $ �send_file . desttask=block%!4 8) � block%!36=-1 � secure=� � secure=� B block%!0 =256 L block%!12=block%!8 V$ block%!16=3 :� DataLoad `' block%!20=SW% :� dest window j% block%!24=SI% :� dest icon t block%!28=SX% ~ block%!32=SY% � block%!36=txbuflen � block%!40=&FFF � $(block%+44)=$savename+�0 �- ș "Wimp_SendMessage",18,block%,desttask �' � � secure � $savename=oldname$+�0 �� �: ���send_file �k � �$savename,".")=0 � �$savename,"<")=0 � � 1,"To save, drag the file icon to a directory display."+�0 � �write_to_ram �0 ș"OS_File",10,savename,&FFF,,txbuf%,txptr% �� : ��load_file � load dropped file � block%!40<>&FFF � � ( �clear 2 I%=43 < � F I%+=1 P � block%?I%=0 Z block%?I%=13 d filename$=$(block%+44) n ch%=�(filename$) x L%=0 � ȕ � �#ch% � L%<8 �! $(iconaddr(L%))=��#ch%,60) � L%+=1 � � � �#ch% �6 � filename$="<Wimp$Scrap>" � *DELETE <Wimp$Scrap> �% block%!12=block%!8 : block%!16=4 �- ș "Wimp_SendMessage",17,block%,block%!4 � �update �� �: ���data_RAMfetch �, � external app wants data txfer via ram * rxbuf%=block%!20 : rxbuflen=block%!24 � rxbuflen>=txbuflen � = desttask=block%!4 : myref=block%!12 : yourref=block%!8 " �write_to_ram ,B ș"Wimp_TransferBlock",task,txbuf%,desttask,rxbuf%,rxbuflen 6 block%!12=yourref @ block%!24=txptr%-txbuf% J block%!16=7 T@ ș "Wimp_SendMessage",18,block%,desttask : � RAMTransmit ^ � h� r: |��keypress �5 window = ptr%!0 : icon = ptr%!4 : char = ptr%!24 � � window = mainhandle � � � �� �: ���shut(window) � block%!0=window �" ș "Wimp_CloseWindow",,block% �� �: ���error � �3 � !block%=0 $(block%+4)=�$+�0 0 ș"Wimp_ReportError",block%,2,"Envelope"+�0 � &: 0 ��iconbar : block%!0=-1 D block%!4=0 N block%!8=0 X block%!12=68 b block%!16=68 l block%!20=&3002 v $(block%+24)="!Envelope" �+ ș "Wimp_CreateIcon",,block% � iconbar �� �: ���clear � � I%=0 � 7 � !iconaddr(I%)=&0D0D � � �� �: ���update �3 block%!0=mainhandle : block%!8=0 : block%!12=0 � � I%=0 � 7 � block%!4=I% 0 ș &400CD,,block% : � "Wimp_SetIconState" � block%!0=mainhandle $ ș"Wimp_GetWindowState",,block% * block%!28=-1 4 ș"Wimp_OpenWindow",,block% >� H: Rݤleafname(A$) \- � A$="" � $savename="Address":=$savename f I%=� A$ p � z I%-=1 � � I%=0 � �A$,I%,1)="." �=�A$,�(A$)-I%) �: �ݤtermstring(P%) � A$="" � � � A$+=�(?P%) � P%+=1 � � ?P%=0 � ?P%=13 �=A$ �: ���getvalues �+ linesinch% = �(�termstring(linesaddr)) ) topmargin% = �(�termstring(topaddr)) * leftmargin%= �(�termstring(leftaddr)) � $: .��savechoices 8 �getvalues B" ch%=�"<Envelope$Dir>.choices" LB �#ch%,bold%,large%,linesinch%,topmargin%,leftmargin%,epson% V �#ch% ` ș"Wimp_CreateMenu",,-1 j� t: ~��loadchoices �" ch%=�"<Envelope$Dir>.choices" �B �#ch%,bold%,large%,linesinch%,topmargin%,leftmargin%,epson% � �#ch% �A � bold% � �invert(optionhandle,6) : �invert(optionhandle,7) �A � large% � �invert(optionhandle,5) : �invert(optionhandle,4) �B � epson% � �invert(optionhandle,9) : �invert(optionhandle,10) �# $linesaddr = �(linesinch%) +�0 �# $topaddr = �(topmargin%) +�0 �# $leftaddr = �(leftmargin%)+�0 �� �: ���print ' ș"XPDriver_Info" � r0,r1,r2,r3,r4 = � r1=0 � r2=0 � � 1,"No current printer driver selected" ch%=�"Printer:" 9 ș"PDriver_SelectJob",ch%,"Envelope printout" � job% ( �getvalues 2 �select_codes < �send_codes(initalise$) F �send_codes(linesinch$) P& � large% � �send_codes(enlarged$) Z" � bold% � �send_codes(bold$) d � I%=1 � topmargin% n �#ch%,10 : �#ch%,13 x � � � line%=0 � 7 � � I%=1 � leftmargin% � �#ch%,32 � � � �#ch%,$iconaddr(line%) � �#ch%,13 � � � �#ch%,12 � �send_codes(reset$) � ș"PDriver_EndJob",ch% � ș"PDriver_SelectJob",job% � �#ch% �� : ��send_codes(s$) � I%=1 � � s$ " N%=�(�s$,I%,1)) , � N% = �"~" � N%=27 6 �#ch%,N% @ � J� T: ^��select_codes h � epson% � r |< � Epson control codes - Use ~ to represent ESCAPE 27 � �[ initalise$ = "~@" : � reset to printer default �R linesinch$ = "~A" + � (72/linesinch%) : � no. of 1/72th inch �H enlarged$ = "~W" + �(1) : � enlarged �G bold$ = "~E" : � bold �W reset$ = "~@" : � reset after printing � � � � �= � HP PCL control codes - Use ~ to represent ESCAPE 27 � �X initalise$ = "~E ~&l0O ~(0N ~(s0p 10h 12v 0s 0b 3t 2Q" : � reset & initial setup �N linesinch$ = "~&l" + � linesinch% + "D" : � lines per inch K enlarged$ = "~(s5H" : � enlarged G bold$ = "~(s3B" : � bold W reset$ = "~E" : � reset after printing & 0 : � D� N X Note: bL Printer specific control codes may need to modified. Note the use of � lL in Epson section and � in HP section to send lines per inch parameter. vG Use � if your printer expects parameters as printable characters. � �P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ � � �
00000000 0d 00 0a 13 f4 20 20 20 20 20 3e 45 6e 76 65 6c |..... >Envel| 00000010 6f 70 65 0d 00 14 20 f4 20 20 20 20 20 46 61 73 |ope... . Fas| 00000020 74 20 45 6e 76 65 6c 6f 70 65 20 70 72 69 6e 74 |t Envelope print| 00000030 69 6e 67 0d 00 1e 16 f4 20 42 79 20 20 50 2e 45 |ing..... By P.E| 00000040 2e 4d 61 72 73 68 61 6c 6c 0d 00 28 1b f4 20 28 |.Marshall..(.. (| 00000050 63 29 20 41 55 20 53 65 70 74 65 6d 62 65 72 20 |c) AU September | 00000060 31 39 39 34 0d 00 32 04 0d 00 3c 2b 20 71 75 69 |1994..2...<+ qui| 00000070 74 3d a3 20 3a 20 62 6f 6c 64 25 3d a3 20 3a 20 |t=. : bold%=. : | 00000080 6c 61 72 67 65 25 3d a3 20 3a 20 65 70 73 6f 6e |large%=. : epson| 00000090 25 3d a3 0d 00 46 14 20 74 78 62 75 66 6c 65 6e |%=...F. txbuflen| 000000a0 20 3d 20 26 34 30 30 0d 00 50 2f 20 de 20 20 74 | = &400..P/ . t| 000000b0 78 62 75 66 25 20 74 78 62 75 66 6c 65 6e 2c 20 |xbuf% txbuflen, | 000000c0 62 6c 6f 63 6b 25 20 26 34 30 30 2c 20 6d 65 6e |block% &400, men| 000000d0 75 25 20 35 31 32 0d 00 5a 13 20 de 20 69 63 6f |u% 512..Z. . ico| 000000e0 6e 61 64 64 72 28 31 30 29 0d 00 64 41 20 c8 99 |naddr(10)..dA ..| 000000f0 22 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 |"Wimp_Initialise| 00000100 22 20 2c 32 30 30 2c 26 34 42 35 33 34 31 35 34 |" ,200,&4B534154| 00000110 2c 22 45 6e 76 65 6c 6f 70 65 22 20 b8 20 76 65 |,"Envelope" . ve| 00000120 72 73 69 6f 6e 2c 74 61 73 6b 0d 00 6e 16 20 69 |rsion,task..n. i| 00000130 63 6f 6e 62 75 66 6c 65 6e 20 3d 20 26 36 30 30 |conbuflen = &600| 00000140 0d 00 78 2d 20 de 20 74 65 6d 70 62 75 66 20 69 |..x- . tempbuf i| 00000150 63 6f 6e 62 75 66 6c 65 6e 2c 20 69 63 6f 6e 62 |conbuflen, iconb| 00000160 75 66 20 69 63 6f 6e 62 75 66 6c 65 6e 0d 00 82 |uf iconbuflen...| 00000170 11 20 6e 65 78 74 3d 69 63 6f 6e 62 75 66 0d 00 |. next=iconbuf..| 00000180 8c 33 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e |.3 .. "Wimp_Open| 00000190 54 65 6d 70 6c 61 74 65 22 2c 2c 22 3c 4f 62 65 |Template",,"<Obe| 000001a0 79 24 44 69 72 3e 2e 54 65 6d 70 6c 61 74 65 73 |y$Dir>.Templates| 000001b0 22 0d 00 96 25 20 6d 61 69 6e 68 61 6e 64 6c 65 |"...% mainhandle| 000001c0 20 3d 20 a4 77 69 6e 64 6f 77 5f 64 65 66 28 22 | = .window_def("| 000001d0 6d 61 69 6e 22 29 0d 00 a0 0f 20 e3 20 49 25 3d |main").... . I%=| 000001e0 30 20 b8 20 37 0d 00 aa 2e 20 20 20 69 63 6f 6e |0 . 7.... icon| 000001f0 61 64 64 72 28 49 25 29 20 3d 20 a4 69 63 6f 6e |addr(I%) = .icon| 00000200 61 64 64 72 28 6d 61 69 6e 68 61 6e 64 6c 65 2c |addr(mainhandle,| 00000210 49 25 29 0d 00 b4 1b 20 20 20 21 69 63 6f 6e 61 |I%).... !icona| 00000220 64 64 72 28 49 25 29 3d 20 26 30 44 30 44 0d 00 |ddr(I%)= &0D0D..| 00000230 be 06 20 ed 0d 00 c8 23 20 c8 99 22 57 69 6d 70 |.. ....# .."Wimp| 00000240 5f 47 65 74 57 69 6e 64 6f 77 49 6e 66 6f 22 2c |_GetWindowInfo",| 00000250 2c 62 6c 6f 63 6b 25 0d 00 d2 31 20 74 69 74 6c |,block%...1 titl| 00000260 65 61 64 64 72 20 20 20 3d 20 62 6c 6f 63 6b 25 |eaddr = block%| 00000270 21 37 36 20 3a 20 74 69 74 6c 65 6c 65 6e 3d 62 |!76 : titlelen=b| 00000280 6c 6f 63 6b 25 21 38 34 0d 00 dc 26 20 69 6e 66 |lock%!84...& inf| 00000290 6f 68 61 6e 64 6c 65 20 20 3d 20 a4 77 69 6e 64 |ohandle = .wind| 000002a0 6f 77 5f 64 65 66 28 22 69 6e 66 6f 22 29 0d 00 |ow_def("info")..| 000002b0 e6 29 20 6f 70 74 69 6f 6e 68 61 6e 64 6c 65 3d |.) optionhandle=| 000002c0 20 a4 77 69 6e 64 6f 77 5f 64 65 66 28 22 6f 70 | .window_def("op| 000002d0 74 69 6f 6e 73 22 29 0d 00 f0 2c 20 6c 69 6e 65 |tions")..., line| 000002e0 73 61 64 64 72 20 20 20 3d 20 a4 69 63 6f 6e 61 |saddr = .icona| 000002f0 64 64 72 28 6f 70 74 69 6f 6e 68 61 6e 64 6c 65 |ddr(optionhandle| 00000300 2c 30 29 0d 00 fa 2c 20 74 6f 70 61 64 64 72 20 |,0)..., topaddr | 00000310 20 20 20 20 3d 20 a4 69 63 6f 6e 61 64 64 72 28 | = .iconaddr(| 00000320 6f 70 74 69 6f 6e 68 61 6e 64 6c 65 2c 31 29 0d |optionhandle,1).| 00000330 01 04 2c 20 6c 65 66 74 61 64 64 72 20 20 20 20 |.., leftaddr | 00000340 3d 20 a4 69 63 6f 6e 61 64 64 72 28 6f 70 74 69 |= .iconaddr(opti| 00000350 6f 6e 68 61 6e 64 6c 65 2c 32 29 0d 01 0e 28 20 |onhandle,2)...( | 00000360 73 61 76 65 68 61 6e 64 6c 65 20 20 3d 20 a4 77 |savehandle = .w| 00000370 69 6e 64 6f 77 5f 64 65 66 28 22 73 61 76 65 61 |indow_def("savea| 00000380 73 22 29 0d 01 18 2a 20 73 61 76 65 6e 61 6d 65 |s")...* savename| 00000390 20 20 20 20 3d 20 a4 69 63 6f 6e 61 64 64 72 28 | = .iconaddr(| 000003a0 73 61 76 65 68 61 6e 64 6c 65 2c 32 29 0d 01 22 |savehandle,2).."| 000003b0 1b 20 c8 99 22 57 69 6d 70 5f 43 6c 6f 73 65 54 |. .."Wimp_CloseT| 000003c0 65 6d 70 6c 61 74 65 22 0d 01 2c 10 20 f2 73 65 |emplate"..,. .se| 000003d0 74 75 70 5f 6d 65 6e 75 0d 01 36 0d 20 f2 69 63 |tup_menu..6. .ic| 000003e0 6f 6e 62 61 72 0d 01 40 11 20 f2 6c 6f 61 64 63 |onbar..@. .loadc| 000003f0 68 6f 69 63 65 73 0d 01 4a 04 0d 01 54 28 20 f2 |hoices..J...T( .| 00000400 6f 70 65 6e 75 70 28 6d 61 69 6e 68 61 6e 64 6c |openup(mainhandl| 00000410 65 2c 33 30 30 2c 39 30 30 2c 38 37 30 2c 34 37 |e,300,900,870,47| 00000420 32 29 0d 01 5e 34 20 c8 99 22 57 69 6d 70 5f 53 |2)..^4 .."Wimp_S| 00000430 65 74 43 61 72 65 74 50 6f 73 69 74 69 6f 6e 22 |etCaretPosition"| 00000440 2c 6d 61 69 6e 68 61 6e 64 6c 65 2c 30 2c 30 2c |,mainhandle,0,0,| 00000450 30 2c 2d 31 2c 30 0d 01 68 04 0d 01 72 0f 20 ee |0,-1,0..h...r. .| 00000460 20 85 20 f2 65 72 72 6f 72 0d 01 7c 04 0d 01 86 | . .error..|....| 00000470 06 20 f5 0d 01 90 2f 20 20 20 c8 99 22 57 69 6d |. ..../ .."Wim| 00000480 70 5f 50 6f 6c 6c 22 2c 26 31 43 33 33 2c 62 6c |p_Poll",&1C33,bl| 00000490 6f 63 6b 25 20 b8 20 72 65 61 73 6f 6e 2c 70 74 |ock% . reason,pt| 000004a0 72 25 0d 01 9a 12 20 20 20 c8 8e 20 72 65 61 73 |r%.... .. reas| 000004b0 6f 6e 20 ca 0d 01 a4 27 20 20 20 20 20 c9 20 32 |on ....' . 2| 000004c0 3a c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 69 |:.. "Wimp_OpenWi| 000004d0 6e 64 6f 77 22 2c 2c 70 74 72 25 0d 01 ae 28 20 |ndow",,ptr%...( | 000004e0 20 20 20 20 c9 20 33 3a c8 99 20 22 57 69 6d 70 | . 3:.. "Wimp| 000004f0 5f 43 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 70 |_CloseWindow",,p| 00000500 74 72 25 0d 01 b8 15 20 20 20 20 20 c9 20 36 3a |tr%.... . 6:| 00000510 f2 63 6c 69 63 6b 65 64 0d 01 c2 16 20 20 20 20 |.clicked.... | 00000520 20 c9 20 37 3a f2 64 72 61 67 5f 65 6e 64 0d 01 | . 7:.drag_end..| 00000530 cc 16 20 20 20 20 20 c9 20 38 3a f2 6b 65 79 70 |.. . 8:.keyp| 00000540 72 65 73 73 0d 01 d6 1a 20 20 20 20 20 c9 20 39 |ress.... . 9| 00000550 3a f2 70 72 6f 63 65 73 73 5f 6d 65 6e 75 0d 01 |:.process_menu..| 00000560 e0 1b 20 20 20 20 20 c9 20 31 37 2c 31 38 3a f2 |.. . 17,18:.| 00000570 4f 53 6d 65 73 73 61 67 65 0d 01 ea 3b 20 20 20 |OSmessage...; | 00000580 20 20 c9 20 31 39 3a e7 20 62 6c 6f 63 6b 25 21 | . 19:. block%!| 00000590 31 36 3d 36 20 80 20 62 6c 6f 63 6b 25 21 31 32 |16=6 . block%!12| 000005a0 3d 6d 79 72 65 66 20 8c 20 f2 73 65 6e 64 5f 73 |=myref . .send_s| 000005b0 63 72 61 70 0d 01 f4 08 20 20 20 cb 0d 01 fe 0b |crap.... .....| 000005c0 20 fd 20 71 75 69 74 0d 02 08 17 20 c8 99 22 57 | . quit.... .."W| 000005d0 69 6d 70 5f 43 6c 6f 73 65 44 6f 77 6e 22 0d 02 |imp_CloseDown"..| 000005e0 12 05 e0 0d 02 1c 05 3a 0d 02 26 17 dd a4 77 69 |.......:..&...wi| 000005f0 6e 64 6f 77 5f 64 65 66 28 6e 61 6d 65 24 29 0d |ndow_def(name$).| 00000600 02 30 4f 20 c8 99 22 57 69 6d 70 5f 4c 6f 61 64 |.0O .."Wimp_Load| 00000610 54 65 6d 70 6c 61 74 65 22 2c 2c 74 65 6d 70 62 |Template",,tempb| 00000620 75 66 2c 6e 65 78 74 2c 69 63 6f 6e 62 75 66 2b |uf,next,iconbuf+| 00000630 69 63 6f 6e 62 75 66 6c 65 6e 2c 2d 31 2c 6e 61 |iconbuflen,-1,na| 00000640 6d 65 24 2c 30 20 b8 20 2c 2c 6e 65 78 74 0d 02 |me$,0 . ,,next..| 00000650 3a 2c 20 c8 99 22 57 69 6d 70 5f 43 72 65 61 74 |:, .."Wimp_Creat| 00000660 65 57 69 6e 64 6f 77 22 2c 2c 74 65 6d 70 62 75 |eWindow",,tempbu| 00000670 66 20 b8 20 68 61 6e 64 6c 65 0d 02 44 0b 3d 68 |f . handle..D.=h| 00000680 61 6e 64 6c 65 0d 02 4e 05 3a 0d 02 58 1b dd a4 |andle..N.:..X...| 00000690 69 63 6f 6e 61 64 64 72 28 77 69 6e 64 6f 77 2c |iconaddr(window,| 000006a0 69 63 6f 6e 29 0d 02 62 24 20 62 6c 6f 63 6b 25 |icon)..b$ block%| 000006b0 21 30 3d 77 69 6e 64 6f 77 20 3a 20 62 6c 6f 63 |!0=window : bloc| 000006c0 6b 25 21 34 3d 69 63 6f 6e 0d 02 6c 22 20 c8 99 |k%!4=icon..l" ..| 000006d0 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 |"Wimp_GetIconSta| 000006e0 74 65 22 2c 2c 62 6c 6f 63 6b 25 0d 02 76 0f 3d |te",,block%..v.=| 000006f0 20 62 6c 6f 63 6b 25 21 32 38 0d 02 80 05 3a 0d | block%!28....:.| 00000700 02 8a 1c dd f2 6f 70 65 6e 75 70 28 77 69 6e 64 |.....openup(wind| 00000710 6f 77 2c 78 2c 79 2c 77 2c 68 29 0d 02 94 14 20 |ow,x,y,w,h).... | 00000720 62 6c 6f 63 6b 25 21 30 3d 77 69 6e 64 6f 77 0d |block%!0=window.| 00000730 02 9e 20 20 62 6c 6f 63 6b 25 21 34 3d 78 20 20 |.. block%!4=x | 00000740 20 3a 20 62 6c 6f 63 6b 25 21 38 3d 79 2d 68 0d | : block%!8=y-h.| 00000750 02 a8 1f 20 62 6c 6f 63 6b 25 21 31 32 3d 78 2b |... block%!12=x+| 00000760 77 3a 20 62 6c 6f 63 6b 25 21 31 36 3d 79 0d 02 |w: block%!16=y..| 00000770 b2 1f 20 62 6c 6f 63 6b 25 21 32 30 3d 30 20 20 |.. block%!20=0 | 00000780 3a 20 62 6c 6f 63 6b 25 21 32 34 3d 30 0d 02 bc |: block%!24=0...| 00000790 11 20 62 6c 6f 63 6b 25 21 32 38 3d 2d 31 0d 02 |. block%!28=-1..| 000007a0 c6 21 20 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e |.! .. "Wimp_Open| 000007b0 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b 25 0d |Window",,block%.| 000007c0 02 d0 05 e1 0d 02 da 05 3a 0d 02 e4 10 dd f2 73 |........:......s| 000007d0 65 74 75 70 5f 6d 65 6e 75 0d 02 ee 13 20 66 6c |etup_menu.... fl| 000007e0 61 67 73 3d 26 37 30 30 30 30 32 31 0d 02 f8 0d |ags=&7000021....| 000007f0 20 50 25 3d 6d 65 6e 75 25 0d 03 02 20 20 f2 6d | P%=menu%... .m| 00000800 65 6e 75 5f 68 65 61 64 65 72 28 22 45 6e 76 65 |enu_header("Enve| 00000810 6c 6f 70 65 22 2c 31 32 29 0d 03 0c 2c 20 f2 6d |lope",12)..., .m| 00000820 65 6e 75 5f 69 74 65 6d 28 26 30 30 2c 69 6e 66 |enu_item(&00,inf| 00000830 6f 68 61 6e 64 6c 65 2c 66 6c 61 67 73 2c 22 49 |ohandle,flags,"I| 00000840 6e 66 6f 22 29 0d 03 16 2c 20 f2 6d 65 6e 75 5f |nfo")..., .menu_| 00000850 69 74 65 6d 28 26 30 30 2c 73 61 76 65 68 61 6e |item(&00,savehan| 00000860 64 6c 65 2c 66 6c 61 67 73 2c 22 53 61 76 65 22 |dle,flags,"Save"| 00000870 29 0d 03 20 31 20 f2 6d 65 6e 75 5f 69 74 65 6d |).. 1 .menu_item| 00000880 28 26 30 30 2c 6f 70 74 69 6f 6e 68 61 6e 64 6c |(&00,optionhandl| 00000890 65 2c 66 6c 61 67 73 2c 22 4f 70 74 69 6f 6e 73 |e,flags,"Options| 000008a0 22 29 0d 03 2a 25 20 f2 6d 65 6e 75 5f 69 74 65 |")..*% .menu_ite| 000008b0 6d 28 26 30 30 2c 2d 31 2c 66 6c 61 67 73 2c 22 |m(&00,-1,flags,"| 000008c0 50 72 69 6e 74 22 29 0d 03 34 25 20 f2 6d 65 6e |Print")..4% .men| 000008d0 75 5f 69 74 65 6d 28 26 30 30 2c 2d 31 2c 66 6c |u_item(&00,-1,fl| 000008e0 61 67 73 2c 22 43 6c 65 61 72 22 29 0d 03 3e 24 |ags,"Clear")..>$| 000008f0 20 f2 6d 65 6e 75 5f 69 74 65 6d 28 26 38 30 2c | .menu_item(&80,| 00000900 2d 31 2c 66 6c 61 67 73 2c 22 51 75 69 74 22 29 |-1,flags,"Quit")| 00000910 0d 03 48 05 e1 0d 03 52 05 3a 0d 03 5c 17 dd f2 |..H....R.:..\...| 00000920 6d 65 6e 75 5f 68 65 61 64 65 72 28 54 24 2c 77 |menu_header(T$,w| 00000930 29 0d 03 66 3c 20 24 50 25 3d 54 24 20 3a 20 50 |)..f< $P%=T$ : P| 00000940 25 21 31 32 3d 26 37 30 32 30 37 20 3a 20 50 25 |%!12=&70207 : P%| 00000950 21 31 36 3d 77 2a 31 36 20 3a 20 50 25 21 32 30 |!16=w*16 : P%!20| 00000960 3d 33 34 20 3a 20 50 25 21 32 34 3d 38 0d 03 70 |=34 : P%!24=8..p| 00000970 0d 20 50 25 3d 50 25 2b 32 38 0d 03 7a 05 e1 0d |. P%=P%+28..z...| 00000980 03 84 05 3a 0d 03 8e 24 dd f2 6d 65 6e 75 5f 69 |...:...$..menu_i| 00000990 74 65 6d 28 6d 65 6e 66 6c 67 2c 73 75 62 2c 69 |tem(menflg,sub,i| 000009a0 63 66 6c 67 2c 54 24 29 0d 03 98 36 20 50 25 21 |cflg,T$)...6 P%!| 000009b0 30 3d 6d 65 6e 66 6c 67 20 3a 20 50 25 21 34 3d |0=menflg : P%!4=| 000009c0 73 75 62 20 3a 20 50 25 21 38 3d 69 63 66 6c 67 |sub : P%!8=icflg| 000009d0 20 3a 20 24 28 50 25 2b 31 32 29 3d 54 24 0d 03 | : $(P%+12)=T$..| 000009e0 a2 0d 20 50 25 3d 50 25 2b 32 34 0d 03 ac 05 e1 |.. P%=P%+24.....| 000009f0 0d 03 b6 05 3a 0d 03 c0 12 dd f2 70 72 6f 63 65 |....:......proce| 00000a00 73 73 5f 6d 65 6e 75 0d 03 ca 10 20 c8 8e 20 70 |ss_menu.... .. p| 00000a10 74 72 25 21 30 20 ca 0d 03 d4 15 20 20 20 c9 20 |tr%!0 ..... . | 00000a20 31 3a f2 73 65 6e 64 5f 66 69 6c 65 0d 03 de 11 |1:.send_file....| 00000a30 20 20 20 c9 20 33 3a f2 70 72 69 6e 74 0d 03 e8 | . 3:.print...| 00000a40 1b 20 20 20 c9 20 34 3a f2 63 6c 65 61 72 20 3a |. . 4:.clear :| 00000a50 20 f2 75 70 64 61 74 65 0d 03 f2 11 20 20 20 c9 | .update.... .| 00000a60 20 35 3a 71 75 69 74 3d b9 0d 03 fc 06 20 cb 0d | 5:quit=..... ..| 00000a70 04 06 05 e1 0d 04 10 05 3a 0d 04 1a 0d dd f2 63 |........:......c| 00000a80 6c 69 63 6b 65 64 0d 04 24 33 20 62 75 74 74 6f |licked..$3 butto| 00000a90 6e 3d 70 74 72 25 21 38 20 3a 20 77 69 6e 64 6f |n=ptr%!8 : windo| 00000aa0 77 3d 70 74 72 25 21 31 32 20 3a 20 69 63 6f 6e |w=ptr%!12 : icon| 00000ab0 25 3d 70 74 72 25 21 31 36 0d 04 2e 29 20 e7 20 |%=ptr%!16...) . | 00000ac0 28 62 75 74 74 6f 6e 20 80 20 34 29 20 80 20 77 |(button . 4) . w| 00000ad0 69 6e 64 6f 77 3d 2d 32 20 8c 20 f2 75 70 64 61 |indow=-2 . .upda| 00000ae0 74 65 0d 04 38 2c 20 e7 20 69 63 6f 6e 25 3d 69 |te..8, . icon%=i| 00000af0 63 6f 6e 62 61 72 20 8c 20 59 25 3d 33 34 38 20 |conbar . Y%=348 | 00000b00 8b 20 59 25 3d 70 74 72 25 21 34 2b 36 34 0d 04 |. Y%=ptr%!4+64..| 00000b10 42 3c 20 e7 20 62 75 74 74 6f 6e 20 80 20 32 20 |B< . button . 2 | 00000b20 8c 20 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 |. .. "Wimp_Creat| 00000b30 65 4d 65 6e 75 22 2c 2c 6d 65 6e 75 25 2c 70 74 |eMenu",,menu%,pt| 00000b40 72 25 21 30 2d 36 34 2c 59 25 0d 04 4c 10 20 c8 |r%!0-64,Y%..L. .| 00000b50 8e 20 77 69 6e 64 6f 77 20 ca 0d 04 56 15 20 20 |. window ...V. | 00000b60 20 c9 20 6f 70 74 69 6f 6e 68 61 6e 64 6c 65 0d | . optionhandle.| 00000b70 04 60 13 20 20 20 20 20 c8 8e 20 69 63 6f 6e 25 |.`. .. icon%| 00000b80 20 ca 0d 04 6a 25 20 20 20 20 20 20 20 c9 20 34 | ...j% . 4| 00000b90 2c 35 20 3a 20 6c 61 72 67 65 25 3d 20 6c 61 72 |,5 : large%= lar| 00000ba0 67 65 25 20 82 20 31 0d 04 74 25 20 20 20 20 20 |ge% . 1..t% | 00000bb0 20 20 c9 20 36 2c 37 20 3a 20 62 6f 6c 64 25 20 | . 6,7 : bold% | 00000bc0 3d 20 62 6f 6c 64 25 20 20 82 20 31 0d 04 7e 25 |= bold% . 1..~%| 00000bd0 20 20 20 20 20 20 20 c9 20 39 2c 31 30 3a 20 65 | . 9,10: e| 00000be0 70 73 6f 6e 25 3d 65 70 73 6f 6e 25 20 20 82 20 |pson%=epson% . | 00000bf0 31 0d 04 88 1f 20 20 20 20 20 20 20 c9 20 31 35 |1.... . 15| 00000c00 20 20 3a 20 f2 73 61 76 65 63 68 6f 69 63 65 73 | : .savechoices| 00000c10 0d 04 92 0a 20 20 20 20 20 cb 0d 04 9c 13 20 20 |.... ..... | 00000c20 20 c9 20 73 61 76 65 68 61 6e 64 6c 65 0d 04 a6 | . savehandle...| 00000c30 21 20 20 20 20 20 20 20 e7 20 69 63 6f 6e 25 3d |! . icon%=| 00000c40 30 20 8c 20 f2 73 65 6e 64 5f 66 69 6c 65 0d 04 |0 . .send_file..| 00000c50 b0 21 20 20 20 20 20 20 20 e7 20 69 63 6f 6e 25 |.! . icon%| 00000c60 3d 33 20 8c 20 f2 73 61 76 65 5f 64 72 61 67 0d |=3 . .save_drag.| 00000c70 04 ba 06 20 cb 0d 04 c4 05 e1 0d 04 ce 05 3a 0d |... ..........:.| 00000c80 04 d8 19 dd f2 69 6e 76 65 72 74 28 77 69 6e 64 |.....invert(wind| 00000c90 6f 77 2c 69 63 6f 6e 29 0d 04 e2 24 20 62 6c 6f |ow,icon)...$ blo| 00000ca0 63 6b 25 21 30 3d 77 69 6e 64 6f 77 20 3a 20 62 |ck%!0=window : b| 00000cb0 6c 6f 63 6b 25 21 34 3d 69 63 6f 6e 0d 04 ec 20 |lock%!4=icon... | 00000cc0 20 62 6c 6f 63 6b 25 21 38 3d 26 32 30 30 30 30 | block%!8=&20000| 00000cd0 30 20 3a 20 f4 20 62 69 74 20 32 31 0d 04 f6 10 |0 : . bit 21....| 00000ce0 20 62 6c 6f 63 6b 25 21 31 32 3d 30 0d 05 00 2e | block%!12=0....| 00000cf0 20 c8 99 20 26 34 30 30 43 44 2c 2c 62 6c 6f 63 | .. &400CD,,bloc| 00000d00 6b 25 20 3a 20 f4 20 22 57 69 6d 70 5f 53 65 74 |k% : . "Wimp_Set| 00000d10 49 63 6f 6e 53 74 61 74 65 22 0d 05 0a 05 e1 0d |IconState"......| 00000d20 05 14 05 3a 0d 05 1e 0f dd f2 73 61 76 65 5f 64 |...:......save_d| 00000d30 72 61 67 0d 05 28 28 20 c8 99 20 22 57 69 6d 70 |rag..(( .. "Wimp| 00000d40 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 |_GetWindowState"| 00000d50 2c 2c 62 6c 6f 63 6b 25 2b 31 32 0d 05 32 32 20 |,,block%+12..22 | 00000d60 58 25 3d 62 6c 6f 63 6b 25 21 31 36 20 3a 20 59 |X%=block%!16 : Y| 00000d70 25 3d 62 6c 6f 63 6b 25 21 32 38 20 3a 20 62 6c |%=block%!28 : bl| 00000d80 6f 63 6b 25 21 31 36 3d 69 63 6f 6e 25 0d 05 3c |ock%!16=icon%..<| 00000d90 26 20 c8 99 20 22 57 69 6d 70 5f 47 65 74 49 63 |& .. "Wimp_GetIc| 00000da0 6f 6e 53 74 61 74 65 22 2c 2c 62 6c 6f 63 6b 25 |onState",,block%| 00000db0 2b 31 32 0d 05 46 34 20 62 6c 6f 63 6b 25 21 31 |+12..F4 block%!1| 00000dc0 36 3d 35 20 3a 20 62 6c 6f 63 6b 25 21 32 30 2b |6=5 : block%!20+| 00000dd0 3d 58 25 2d 32 20 3a 20 62 6c 6f 63 6b 25 21 32 |=X%-2 : block%!2| 00000de0 34 2b 3d 59 25 2d 34 0d 05 50 26 20 62 6c 6f 63 |4+=Y%-4..P& bloc| 00000df0 6b 25 21 32 38 2b 3d 58 25 2b 32 20 3a 20 62 6c |k%!28+=X%+2 : bl| 00000e00 6f 63 6b 25 21 33 32 2b 3d 59 25 2b 34 0d 05 5a |ock%!32+=Y%+4..Z| 00000e10 26 20 62 6c 6f 63 6b 25 21 33 36 3d 30 20 3a 20 |& block%!36=0 : | 00000e20 62 6c 6f 63 6b 25 21 34 34 3d 26 37 46 46 46 46 |block%!44=&7FFFF| 00000e30 46 46 46 0d 05 64 26 20 62 6c 6f 63 6b 25 21 34 |FFF..d& block%!4| 00000e40 30 3d 30 20 3a 20 62 6c 6f 63 6b 25 21 34 38 3d |0=0 : block%!48=| 00000e50 26 37 46 46 46 46 46 46 46 0d 05 6e 21 20 c8 99 |&7FFFFFFF..n! ..| 00000e60 20 22 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 2c | "Wimp_DragBox",| 00000e70 2c 62 6c 6f 63 6b 25 2b 31 32 0d 05 78 05 e1 0d |,block%+12..x...| 00000e80 05 82 05 3a 0d 05 8c 0e dd f2 64 72 61 67 5f 65 |...:......drag_e| 00000e90 6e 64 0d 05 96 25 20 c8 99 20 22 57 69 6d 70 5f |nd...% .. "Wimp_| 00000ea0 47 65 74 50 6f 69 6e 74 65 72 49 6e 66 6f 22 2c |GetPointerInfo",| 00000eb0 2c 62 6c 6f 63 6b 25 0d 05 a0 42 20 53 58 25 3d |,block%...B SX%=| 00000ec0 62 6c 6f 63 6b 25 21 30 20 3a 20 20 53 59 25 3d |block%!0 : SY%=| 00000ed0 62 6c 6f 63 6b 25 21 34 20 3a 20 53 57 25 3d 62 |block%!4 : SW%=b| 00000ee0 6c 6f 63 6b 25 21 31 32 20 20 3a 20 53 49 25 3d |lock%!12 : SI%=| 00000ef0 62 6c 6f 63 6b 25 21 31 36 0d 05 aa 27 20 62 6c |block%!16...' bl| 00000f00 6f 63 6b 25 21 30 3d 31 32 38 20 20 20 20 20 20 |ock%!0=128 | 00000f10 20 3a f4 20 62 6c 6f 63 6b 20 6c 65 6e 67 74 68 | :. block length| 00000f20 0d 05 b4 2b 20 62 6c 6f 63 6b 25 21 31 32 3d 30 |...+ block%!12=0| 00000f30 20 20 20 20 20 20 20 20 3a f4 20 6f 72 69 67 69 | :. origi| 00000f40 6e 61 6c 20 6d 65 73 73 61 67 65 0d 05 be 2a 20 |nal message...* | 00000f50 62 6c 6f 63 6b 25 21 31 36 3d 31 20 20 20 20 20 |block%!16=1 | 00000f60 20 20 20 3a f4 20 61 63 74 69 6f 6e 20 64 61 74 | :. action dat| 00000f70 61 73 61 76 65 0d 05 c8 43 20 62 6c 6f 63 6b 25 |asave...C block%| 00000f80 21 32 30 3d 53 57 25 20 20 20 20 20 20 3a f4 20 |!20=SW% :. | 00000f90 64 65 73 74 69 6e 61 74 69 6f 6e 20 77 69 6e 64 |destination wind| 00000fa0 6f 77 20 68 61 6e 64 6c 65 2f 62 75 66 66 65 72 |ow handle/buffer| 00000fb0 20 61 64 64 72 65 73 73 0d 05 d2 37 20 62 6c 6f | address...7 blo| 00000fc0 63 6b 25 21 32 34 3d 53 49 25 20 20 20 20 20 20 |ck%!24=SI% | 00000fd0 3a f4 20 64 65 73 74 20 69 63 6f 6e 20 68 61 6e |:. dest icon han| 00000fe0 64 6c 65 2f 62 75 66 66 20 6c 65 6e 67 74 68 0d |dle/buff length.| 00000ff0 05 dc 12 20 62 6c 6f 63 6b 25 21 32 38 3d 53 58 |... block%!28=SX| 00001000 25 0d 05 e6 12 20 62 6c 6f 63 6b 25 21 33 32 3d |%.... block%!32=| 00001010 53 59 25 0d 05 f0 17 20 62 6c 6f 63 6b 25 21 33 |SY%.... block%!3| 00001020 36 3d 74 78 62 75 66 6c 65 6e 0d 05 fa 13 20 62 |6=txbuflen.... b| 00001030 6c 6f 63 6b 25 21 34 30 3d 26 46 46 46 0d 06 04 |lock%!40=&FFF...| 00001040 2a 20 e7 20 53 57 25 3d 6d 61 69 6e 68 61 6e 64 |* . SW%=mainhand| 00001050 6c 65 20 84 20 53 57 25 3d 73 61 76 65 68 61 6e |le . SW%=savehan| 00001060 64 6c 65 20 8c 20 e1 0d 06 0e 29 20 24 28 62 6c |dle . ....) $(bl| 00001070 6f 63 6b 25 2b 34 34 29 3d a4 6c 65 61 66 6e 61 |ock%+44)=.leafna| 00001080 6d 65 28 24 73 61 76 65 6e 61 6d 65 29 2b bd 30 |me($savename)+.0| 00001090 0d 06 18 2c 20 c8 99 20 22 57 69 6d 70 5f 53 65 |..., .. "Wimp_Se| 000010a0 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 2c 62 6c |ndMessage",17,bl| 000010b0 6f 63 6b 25 2c 53 57 25 2c 53 49 25 0d 06 22 05 |ock%,SW%,SI%..".| 000010c0 e1 0d 06 2c 05 3a 0d 06 36 0f dd f2 4f 53 6d 65 |...,.:..6...OSme| 000010d0 73 73 61 67 65 0d 06 40 15 20 61 63 74 69 6f 6e |ssage..@. action| 000010e0 3d 62 6c 6f 63 6b 25 21 31 36 0d 06 4a 10 20 c8 |=block%!16..J. .| 000010f0 8e 20 61 63 74 69 6f 6e 20 ca 0d 06 54 13 20 20 |. action ...T. | 00001100 20 c9 20 30 20 3a 20 71 75 69 74 3d b9 0d 06 5e | . 0 : quit=...^| 00001110 17 20 20 20 c9 20 31 20 3a 20 f2 64 61 74 61 5f |. . 1 : .data_| 00001120 73 61 76 65 0d 06 68 1a 20 20 20 c9 20 32 20 3a |save..h. . 2 :| 00001130 20 f2 64 61 74 61 5f 73 61 76 65 61 63 6b 0d 06 | .data_saveack..| 00001140 72 17 20 20 20 c9 20 33 20 3a 20 f2 6c 6f 61 64 |r. . 3 : .load| 00001150 5f 66 69 6c 65 0d 06 7c 1c 20 20 20 c9 20 34 20 |_file..|. . 4 | 00001160 3a 20 f4 20 44 61 74 61 20 4c 6f 61 64 20 41 63 |: . Data Load Ac| 00001170 6b 0d 06 86 1b 20 20 20 c9 20 36 20 3a 20 f2 64 |k.... . 6 : .d| 00001180 61 74 61 5f 52 41 4d 66 65 74 63 68 0d 06 90 1e |ata_RAMfetch....| 00001190 20 20 20 c9 20 37 20 3a 20 f2 64 61 74 61 5f 52 | . 7 : .data_R| 000011a0 41 4d 74 72 61 6e 73 6d 69 74 0d 06 9a 08 20 20 |AMtransmit.... | 000011b0 20 cb 0d 06 a4 05 e1 0d 06 ae 05 3a 0d 06 b8 12 | ..........:....| 000011c0 dd f2 77 72 69 74 65 5f 74 6f 5f 72 61 6d 0d 06 |..write_to_ram..| 000011d0 c2 09 20 ea 20 4c 25 0d 06 cc 0e 20 51 25 3d 74 |.. . L%.... Q%=t| 000011e0 78 62 75 66 25 0d 06 d6 0f 20 e3 20 4c 25 3d 30 |xbuf%.... . L%=0| 000011f0 20 b8 20 37 0d 06 e0 16 20 20 20 50 25 3d 69 63 | . 7.... P%=ic| 00001200 6f 6e 61 64 64 72 28 4c 25 29 0d 06 ea 08 20 20 |onaddr(L%).... | 00001210 20 f5 0d 06 f4 21 20 20 20 20 20 43 25 3d 3f 50 | ....! C%=?P| 00001220 25 20 3a 20 e7 20 43 25 3c 33 32 20 8c 20 43 25 |% : . C%<32 . C%| 00001230 3d 31 30 0d 06 fe 1f 20 20 20 20 20 3f 51 25 3d |=10.... ?Q%=| 00001240 43 25 20 3a 20 51 25 2b 3d 31 20 3a 20 50 25 2b |C% : Q%+=1 : P%+| 00001250 3d 31 0d 07 08 0e 20 20 20 fd 20 43 25 3d 31 30 |=1.... . C%=10| 00001260 0d 07 12 06 20 ed 0d 07 1c 0e 20 74 78 70 74 72 |.... ..... txptr| 00001270 25 3d 51 25 0d 07 26 1c 20 c8 99 22 57 69 6d 70 |%=Q%..&. .."Wimp| 00001280 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 |_CreateMenu",,-1| 00001290 0d 07 30 05 e1 0d 07 3a 05 3a 0d 07 44 0f dd f2 |..0....:.:..D...| 000012a0 64 61 74 61 5f 73 61 76 65 0d 07 4e 22 20 f4 20 |data_save..N" . | 000012b0 41 73 6b 20 65 78 74 20 61 70 70 20 74 6f 20 73 |Ask ext app to s| 000012c0 65 6e 64 20 76 69 61 20 72 61 6d 0d 07 58 17 20 |end via ram..X. | 000012d0 e7 20 62 6c 6f 63 6b 25 21 34 30 3d 26 46 46 46 |. block%!40=&FFF| 000012e0 20 8c 0d 07 62 0d 20 20 20 f2 63 6c 65 61 72 0d | ...b. .clear.| 000012f0 07 6c 3f 20 20 20 e3 20 49 25 3d 30 b8 33 32 3a |.l? . I%=0.32:| 00001300 62 6c 6f 63 6b 25 3f 28 49 25 2b 32 35 36 29 3d |block%?(I%+256)=| 00001310 62 6c 6f 63 6b 25 3f 49 25 3a ed 3a 20 f4 20 74 |block%?I%:.: . t| 00001320 65 6d 70 20 73 61 76 65 20 62 6c 6f 63 6b 0d 07 |emp save block..| 00001330 76 32 20 20 20 50 25 3d 74 78 62 75 66 25 20 3a |v2 P%=txbuf% :| 00001340 20 e3 20 49 25 3d 30 20 b8 20 74 78 62 75 66 6c | . I%=0 . txbufl| 00001350 65 6e 20 3a 20 50 25 3f 49 25 3d 30 20 3a 20 ed |en : P%?I%=0 : .| 00001360 0d 07 80 15 20 20 20 6d 79 72 65 66 3d 62 6c 6f |.... myref=blo| 00001370 63 6b 25 21 38 0d 07 8a 13 20 20 20 62 6c 6f 63 |ck%!8.... bloc| 00001380 6b 25 21 30 3d 32 35 36 0d 07 94 19 20 20 20 62 |k%!0=256.... b| 00001390 6c 6f 63 6b 25 21 31 32 3d 62 6c 6f 63 6b 25 21 |lock%!12=block%!| 000013a0 38 0d 07 9e 1f 20 20 20 62 6c 6f 63 6b 25 21 31 |8.... block%!1| 000013b0 36 3d 36 20 3a 20 f4 20 52 41 4d 66 65 74 63 68 |6=6 : . RAMfetch| 000013c0 0d 07 a8 17 20 20 20 62 6c 6f 63 6b 25 21 32 30 |.... block%!20| 000013d0 3d 74 78 62 75 66 25 0d 07 b2 19 20 20 20 62 6c |=txbuf%.... bl| 000013e0 6f 63 6b 25 21 32 34 3d 74 78 62 75 66 6c 65 6e |ock%!24=txbuflen| 000013f0 0d 07 bc 2f 20 20 20 c8 99 20 22 57 69 6d 70 5f |.../ .. "Wimp_| 00001400 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 38 2c |SendMessage",18,| 00001410 62 6c 6f 63 6b 25 2c 62 6c 6f 63 6b 25 21 34 0d |block%,block%!4.| 00001420 07 c6 06 20 cd 0d 07 d0 05 e1 0d 07 da 05 3a 0d |... ..........:.| 00001430 07 e4 10 dd f2 73 65 6e 64 5f 73 63 72 61 70 0d |.....send_scrap.| 00001440 07 ee 3e 20 f4 20 72 61 6d 20 66 65 74 63 68 20 |..> . ram fetch | 00001450 6e 6f 74 20 61 63 6b 6e 6f 77 6c 65 64 67 65 64 |not acknowledged| 00001460 20 73 6f 20 75 73 65 20 73 63 72 61 70 66 69 6c | so use scrapfil| 00001470 65 20 74 6f 20 67 65 74 20 64 61 74 61 0d 07 f8 |e to get data...| 00001480 2a 20 e3 20 49 25 3d 30 b8 33 32 3a 62 6c 6f 63 |* . I%=0.32:bloc| 00001490 6b 25 3f 49 25 3d 62 6c 6f 63 6b 25 3f 28 49 25 |k%?I%=block%?(I%| 000014a0 2b 32 35 36 29 3a ed 0d 08 02 11 20 62 6c 6f 63 |+256):..... bloc| 000014b0 6b 25 21 30 3d 32 35 36 0d 08 0c 17 20 62 6c 6f |k%!0=256.... blo| 000014c0 63 6b 25 21 31 32 3d 62 6c 6f 63 6b 25 21 38 0d |ck%!12=block%!8.| 000014d0 08 16 20 20 62 6c 6f 63 6b 25 21 31 36 3d 32 20 |.. block%!16=2 | 000014e0 3a 20 f4 20 44 61 74 61 53 61 76 65 41 63 6b 0d |: . DataSaveAck.| 000014f0 08 20 11 20 62 6c 6f 63 6b 25 21 33 36 3d 2d 31 |. . block%!36=-1| 00001500 0d 08 2a 13 20 62 6c 6f 63 6b 25 21 34 30 3d 26 |..*. block%!40=&| 00001510 46 46 46 0d 08 34 23 20 24 28 62 6c 6f 63 6b 25 |FFF..4# $(block%| 00001520 2b 34 34 29 3d 22 3c 57 69 6d 70 24 53 63 72 61 |+44)="<Wimp$Scra| 00001530 70 3e 22 2b bd 30 0d 08 3e 2d 20 c8 99 20 22 57 |p>"+.0..>- .. "W| 00001540 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 |imp_SendMessage"| 00001550 2c 31 37 2c 62 6c 6f 63 6b 25 2c 62 6c 6f 63 6b |,17,block%,block| 00001560 25 21 34 0d 08 48 05 e1 0d 08 52 05 3a 0d 08 5c |%!4..H....R.:..\| 00001570 16 dd f2 64 61 74 61 5f 52 41 4d 74 72 61 6e 73 |...data_RAMtrans| 00001580 6d 69 74 0d 08 66 29 20 f4 20 67 65 74 20 64 61 |mit..f) . get da| 00001590 74 61 20 65 78 74 20 61 70 70 20 68 61 73 20 70 |ta ext app has p| 000015a0 75 74 20 69 6e 20 62 75 66 66 65 72 0d 08 70 2a |ut in buffer..p*| 000015b0 20 72 78 62 75 66 25 3d 62 6c 6f 63 6b 25 21 32 | rxbuf%=block%!2| 000015c0 30 20 3a 20 72 78 62 75 66 6c 65 6e 3d 62 6c 6f |0 : rxbuflen=blo| 000015d0 63 6b 25 21 32 34 0d 08 7a 15 20 4c 25 3d 30 20 |ck%!24..z. L%=0 | 000015e0 3a 20 50 25 3d 72 78 62 75 66 25 0d 08 84 06 20 |: P%=rxbuf%.... | 000015f0 f5 0d 08 8e 0a 20 20 52 25 3d 30 0d 08 98 07 20 |..... R%=0.... | 00001600 20 f5 0d 08 a2 20 20 20 20 20 43 25 3d 3f 50 25 | .... C%=?P%| 00001610 20 3a 20 e7 20 43 25 3c 33 32 20 8c 20 43 25 3d | : . C%<32 . C%=| 00001620 31 33 0d 08 ac 24 20 20 20 20 e7 20 52 25 3c 36 |13...$ . R%<6| 00001630 30 20 8c 20 69 63 6f 6e 61 64 64 72 28 4c 25 29 |0 . iconaddr(L%)| 00001640 3f 52 25 3d 43 25 0d 08 b6 15 20 20 20 20 50 25 |?R%=C%.... P%| 00001650 2b 3d 31 20 3a 20 52 25 2b 3d 31 0d 08 c0 0d 20 |+=1 : R%+=1.... | 00001660 20 fd 20 43 25 3d 31 33 0d 08 ca 0b 20 20 4c 25 | . C%=13.... L%| 00001670 2b 3d 31 0d 08 d4 21 20 fd 20 50 25 3e 3d 72 78 |+=1...! . P%>=rx| 00001680 62 75 66 25 2b 72 78 62 75 66 6c 65 6e 20 84 20 |buf%+rxbuflen . | 00001690 4c 25 3e 37 0d 08 de 0c 20 f2 75 70 64 61 74 65 |L%>7.... .update| 000016a0 0d 08 e8 05 e1 0d 08 f2 05 3a 0d 08 fc 12 dd f2 |.........:......| 000016b0 64 61 74 61 5f 73 61 76 65 61 63 6b 0d 09 06 26 |data_saveack...&| 000016c0 20 f4 20 52 65 71 75 65 73 74 20 61 63 6b 6e 6f | . Request ackno| 000016d0 77 6c 65 64 67 65 64 2c 20 73 65 6e 64 20 64 61 |wledged, send da| 000016e0 74 61 0d 09 10 17 20 6f 6c 64 6e 61 6d 65 24 3d |ta.... oldname$=| 000016f0 24 73 61 76 65 6e 61 6d 65 0d 09 1a 25 20 24 73 |$savename...% $s| 00001700 61 76 65 6e 61 6d 65 3d a4 74 65 72 6d 73 74 72 |avename=.termstr| 00001710 69 6e 67 28 62 6c 6f 63 6b 25 2b 34 34 29 0d 09 |ing(block%+44)..| 00001720 24 0f 20 f2 73 65 6e 64 5f 66 69 6c 65 0d 09 2e |$. .send_file...| 00001730 16 20 64 65 73 74 74 61 73 6b 3d 62 6c 6f 63 6b |. desttask=block| 00001740 25 21 34 0d 09 38 29 20 e7 20 62 6c 6f 63 6b 25 |%!4..8) . block%| 00001750 21 33 36 3d 2d 31 20 8c 20 73 65 63 75 72 65 3d |!36=-1 . secure=| 00001760 a3 20 8b 20 73 65 63 75 72 65 3d b9 0d 09 42 12 |. . secure=...B.| 00001770 20 62 6c 6f 63 6b 25 21 30 20 3d 32 35 36 0d 09 | block%!0 =256..| 00001780 4c 17 20 62 6c 6f 63 6b 25 21 31 32 3d 62 6c 6f |L. block%!12=blo| 00001790 63 6b 25 21 38 0d 09 56 24 20 62 6c 6f 63 6b 25 |ck%!8..V$ block%| 000017a0 21 31 36 3d 33 20 20 20 20 20 20 20 20 20 3a f4 |!16=3 :.| 000017b0 20 44 61 74 61 4c 6f 61 64 0d 09 60 27 20 62 6c | DataLoad..`' bl| 000017c0 6f 63 6b 25 21 32 30 3d 53 57 25 20 20 20 20 20 |ock%!20=SW% | 000017d0 20 20 3a f4 20 64 65 73 74 20 77 69 6e 64 6f 77 | :. dest window| 000017e0 0d 09 6a 25 20 62 6c 6f 63 6b 25 21 32 34 3d 53 |..j% block%!24=S| 000017f0 49 25 20 20 20 20 20 20 20 3a f4 20 64 65 73 74 |I% :. dest| 00001800 20 69 63 6f 6e 0d 09 74 12 20 62 6c 6f 63 6b 25 | icon..t. block%| 00001810 21 32 38 3d 53 58 25 0d 09 7e 12 20 62 6c 6f 63 |!28=SX%..~. bloc| 00001820 6b 25 21 33 32 3d 53 59 25 0d 09 88 17 20 62 6c |k%!32=SY%.... bl| 00001830 6f 63 6b 25 21 33 36 3d 74 78 62 75 66 6c 65 6e |ock%!36=txbuflen| 00001840 0d 09 92 13 20 62 6c 6f 63 6b 25 21 34 30 3d 26 |.... block%!40=&| 00001850 46 46 46 0d 09 9c 1e 20 24 28 62 6c 6f 63 6b 25 |FFF.... $(block%| 00001860 2b 34 34 29 3d 24 73 61 76 65 6e 61 6d 65 2b bd |+44)=$savename+.| 00001870 30 0d 09 a6 2d 20 c8 99 20 22 57 69 6d 70 5f 53 |0...- .. "Wimp_S| 00001880 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 38 2c 62 |endMessage",18,b| 00001890 6c 6f 63 6b 25 2c 64 65 73 74 74 61 73 6b 0d 09 |lock%,desttask..| 000018a0 b0 27 20 e7 20 ac 20 73 65 63 75 72 65 20 8c 20 |.' . . secure . | 000018b0 24 73 61 76 65 6e 61 6d 65 3d 6f 6c 64 6e 61 6d |$savename=oldnam| 000018c0 65 24 2b bd 30 0d 09 ba 05 e1 0d 09 c4 05 3a 0d |e$+.0.........:.| 000018d0 09 ce 0f dd f2 73 65 6e 64 5f 66 69 6c 65 0d 09 |.....send_file..| 000018e0 d8 6b 20 e7 20 a7 24 73 61 76 65 6e 61 6d 65 2c |.k . .$savename,| 000018f0 22 2e 22 29 3d 30 20 80 20 a7 24 73 61 76 65 6e |".")=0 . .$saven| 00001900 61 6d 65 2c 22 3c 22 29 3d 30 20 8c 20 85 20 31 |ame,"<")=0 . . 1| 00001910 2c 22 54 6f 20 73 61 76 65 2c 20 64 72 61 67 20 |,"To save, drag | 00001920 74 68 65 20 66 69 6c 65 20 69 63 6f 6e 20 74 6f |the file icon to| 00001930 20 61 20 64 69 72 65 63 74 6f 72 79 20 64 69 73 | a directory dis| 00001940 70 6c 61 79 2e 22 2b bd 30 0d 09 e2 12 20 f2 77 |play."+.0.... .w| 00001950 72 69 74 65 5f 74 6f 5f 72 61 6d 0d 09 ec 30 20 |rite_to_ram...0 | 00001960 c8 99 22 4f 53 5f 46 69 6c 65 22 2c 31 30 2c 73 |.."OS_File",10,s| 00001970 61 76 65 6e 61 6d 65 2c 26 46 46 46 2c 2c 74 78 |avename,&FFF,,tx| 00001980 62 75 66 25 2c 74 78 70 74 72 25 0d 09 f6 05 e1 |buf%,txptr%.....| 00001990 0d 0a 00 05 3a 0d 0a 0a 0f dd f2 6c 6f 61 64 5f |....:......load_| 000019a0 66 69 6c 65 0d 0a 14 18 20 f4 20 6c 6f 61 64 20 |file.... . load | 000019b0 64 72 6f 70 70 65 64 20 66 69 6c 65 0d 0a 1e 1a |dropped file....| 000019c0 20 e7 20 62 6c 6f 63 6b 25 21 34 30 3c 3e 26 46 | . block%!40<>&F| 000019d0 46 46 20 8c 20 e1 0d 0a 28 0b 20 f2 63 6c 65 61 |FF . ...(. .clea| 000019e0 72 0d 0a 32 0a 20 49 25 3d 34 33 0d 0a 3c 06 20 |r..2. I%=43..<. | 000019f0 f5 0d 0a 46 0c 20 20 20 49 25 2b 3d 31 0d 0a 50 |...F. I%+=1..P| 00001a00 12 20 fd 20 62 6c 6f 63 6b 25 3f 49 25 3d 30 0d |. . block%?I%=0.| 00001a10 0a 5a 11 20 62 6c 6f 63 6b 25 3f 49 25 3d 31 33 |.Z. block%?I%=13| 00001a20 0d 0a 64 1b 20 66 69 6c 65 6e 61 6d 65 24 3d 24 |..d. filename$=$| 00001a30 28 62 6c 6f 63 6b 25 2b 34 34 29 0d 0a 6e 15 20 |(block%+44)..n. | 00001a40 63 68 25 3d 8e 28 66 69 6c 65 6e 61 6d 65 24 29 |ch%=.(filename$)| 00001a50 0d 0a 78 09 20 4c 25 3d 30 0d 0a 82 16 20 c8 95 |..x. L%=0.... ..| 00001a60 20 ac 20 c5 23 63 68 25 20 80 20 4c 25 3c 38 0d | . .#ch% . L%<8.| 00001a70 0a 8c 21 20 20 20 24 28 69 63 6f 6e 61 64 64 72 |..! $(iconaddr| 00001a80 28 4c 25 29 29 3d c0 be 23 63 68 25 2c 36 30 29 |(L%))=..#ch%,60)| 00001a90 0d 0a 96 0c 20 20 20 4c 25 2b 3d 31 0d 0a a0 06 |.... L%+=1....| 00001aa0 20 ce 0d 0a aa 0a 20 d9 23 63 68 25 0d 0a b4 36 | ..... .#ch%...6| 00001ab0 20 e7 20 66 69 6c 65 6e 61 6d 65 24 3d 22 3c 57 | . filename$="<W| 00001ac0 69 6d 70 24 53 63 72 61 70 3e 22 20 8c 20 2a 44 |imp$Scrap>" . *D| 00001ad0 45 4c 45 54 45 20 3c 57 69 6d 70 24 53 63 72 61 |ELETE <Wimp$Scra| 00001ae0 70 3e 0d 0a be 25 20 62 6c 6f 63 6b 25 21 31 32 |p>...% block%!12| 00001af0 3d 62 6c 6f 63 6b 25 21 38 20 3a 20 62 6c 6f 63 |=block%!8 : bloc| 00001b00 6b 25 21 31 36 3d 34 0d 0a c8 2d 20 c8 99 20 22 |k%!16=4...- .. "| 00001b10 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00001b20 22 2c 31 37 2c 62 6c 6f 63 6b 25 2c 62 6c 6f 63 |",17,block%,bloc| 00001b30 6b 25 21 34 0d 0a d2 0c 20 f2 75 70 64 61 74 65 |k%!4.... .update| 00001b40 0d 0a dc 05 e1 0d 0a e6 05 3a 0d 0a f0 13 dd f2 |.........:......| 00001b50 64 61 74 61 5f 52 41 4d 66 65 74 63 68 0d 0a fa |data_RAMfetch...| 00001b60 2c 20 f4 20 65 78 74 65 72 6e 61 6c 20 61 70 70 |, . external app| 00001b70 20 77 61 6e 74 73 20 64 61 74 61 20 74 78 66 65 | wants data txfe| 00001b80 72 20 76 69 61 20 72 61 6d 0d 0b 04 2a 20 72 78 |r via ram...* rx| 00001b90 62 75 66 25 3d 62 6c 6f 63 6b 25 21 32 30 20 3a |buf%=block%!20 :| 00001ba0 20 72 78 62 75 66 6c 65 6e 3d 62 6c 6f 63 6b 25 | rxbuflen=block%| 00001bb0 21 32 34 0d 0b 0e 1b 20 e7 20 72 78 62 75 66 6c |!24.... . rxbufl| 00001bc0 65 6e 3e 3d 74 78 62 75 66 6c 65 6e 20 8c 0d 0b |en>=txbuflen ...| 00001bd0 18 3d 20 20 20 64 65 73 74 74 61 73 6b 3d 62 6c |.= desttask=bl| 00001be0 6f 63 6b 25 21 34 20 3a 20 6d 79 72 65 66 3d 62 |ock%!4 : myref=b| 00001bf0 6c 6f 63 6b 25 21 31 32 20 3a 20 79 6f 75 72 72 |lock%!12 : yourr| 00001c00 65 66 3d 62 6c 6f 63 6b 25 21 38 0d 0b 22 14 20 |ef=block%!8..". | 00001c10 20 20 f2 77 72 69 74 65 5f 74 6f 5f 72 61 6d 0d | .write_to_ram.| 00001c20 0b 2c 42 20 20 20 c8 99 22 57 69 6d 70 5f 54 72 |.,B .."Wimp_Tr| 00001c30 61 6e 73 66 65 72 42 6c 6f 63 6b 22 2c 74 61 73 |ansferBlock",tas| 00001c40 6b 2c 74 78 62 75 66 25 2c 64 65 73 74 74 61 73 |k,txbuf%,desttas| 00001c50 6b 2c 72 78 62 75 66 25 2c 72 78 62 75 66 6c 65 |k,rxbuf%,rxbufle| 00001c60 6e 0d 0b 36 18 20 20 20 62 6c 6f 63 6b 25 21 31 |n..6. block%!1| 00001c70 32 3d 79 6f 75 72 72 65 66 0d 0b 40 1e 20 20 20 |2=yourref..@. | 00001c80 62 6c 6f 63 6b 25 21 32 34 3d 74 78 70 74 72 25 |block%!24=txptr%| 00001c90 2d 74 78 62 75 66 25 0d 0b 4a 12 20 20 20 62 6c |-txbuf%..J. bl| 00001ca0 6f 63 6b 25 21 31 36 3d 37 0d 0b 54 40 20 20 20 |ock%!16=7..T@ | 00001cb0 c8 99 20 22 57 69 6d 70 5f 53 65 6e 64 4d 65 73 |.. "Wimp_SendMes| 00001cc0 73 61 67 65 22 2c 31 38 2c 62 6c 6f 63 6b 25 2c |sage",18,block%,| 00001cd0 64 65 73 74 74 61 73 6b 20 3a 20 f4 20 20 52 41 |desttask : . RA| 00001ce0 4d 54 72 61 6e 73 6d 69 74 0d 0b 5e 06 20 cd 0d |MTransmit..^. ..| 00001cf0 0b 68 05 e1 0d 0b 72 05 3a 0d 0b 7c 0e dd f2 6b |.h....r.:..|...k| 00001d00 65 79 70 72 65 73 73 0d 0b 86 35 20 77 69 6e 64 |eypress...5 wind| 00001d10 6f 77 20 3d 20 70 74 72 25 21 30 20 3a 20 69 63 |ow = ptr%!0 : ic| 00001d20 6f 6e 20 3d 20 70 74 72 25 21 34 20 3a 20 63 68 |on = ptr%!4 : ch| 00001d30 61 72 20 3d 20 70 74 72 25 21 32 34 0d 0b 90 1c |ar = ptr%!24....| 00001d40 20 e7 20 77 69 6e 64 6f 77 20 3d 20 6d 61 69 6e | . window = main| 00001d50 68 61 6e 64 6c 65 20 8c 0d 0b 9a 06 20 cd 0d 0b |handle ..... ...| 00001d60 a4 05 e1 0d 0b ae 05 3a 0d 0b b8 12 dd f2 73 68 |.......:......sh| 00001d70 75 74 28 77 69 6e 64 6f 77 29 0d 0b c2 14 20 62 |ut(window).... b| 00001d80 6c 6f 63 6b 25 21 30 3d 77 69 6e 64 6f 77 0d 0b |lock%!0=window..| 00001d90 cc 22 20 c8 99 20 22 57 69 6d 70 5f 43 6c 6f 73 |." .. "Wimp_Clos| 00001da0 65 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f 63 6b 25 |eWindow",,block%| 00001db0 0d 0b d6 05 e1 0d 0b e0 05 3a 0d 0b ea 0b dd f2 |.........:......| 00001dc0 65 72 72 6f 72 0d 0b f4 07 20 ef 33 0d 0b fe 0e |error.... .3....| 00001dd0 20 21 62 6c 6f 63 6b 25 3d 30 0d 0c 08 16 20 24 | !block%=0.... $| 00001de0 28 62 6c 6f 63 6b 25 2b 34 29 3d f6 24 2b bd 30 |(block%+4)=.$+.0| 00001df0 0d 0c 12 30 20 c8 99 22 57 69 6d 70 5f 52 65 70 |...0 .."Wimp_Rep| 00001e00 6f 72 74 45 72 72 6f 72 22 2c 62 6c 6f 63 6b 25 |ortError",block%| 00001e10 2c 32 2c 22 45 6e 76 65 6c 6f 70 65 22 2b bd 30 |,2,"Envelope"+.0| 00001e20 0d 0c 1c 05 e1 0d 0c 26 05 3a 0d 0c 30 0d dd f2 |.......&.:..0...| 00001e30 69 63 6f 6e 62 61 72 0d 0c 3a 10 20 62 6c 6f 63 |iconbar..:. bloc| 00001e40 6b 25 21 30 3d 2d 31 0d 0c 44 0f 20 62 6c 6f 63 |k%!0=-1..D. bloc| 00001e50 6b 25 21 34 3d 30 0d 0c 4e 0f 20 62 6c 6f 63 6b |k%!4=0..N. block| 00001e60 25 21 38 3d 30 0d 0c 58 11 20 62 6c 6f 63 6b 25 |%!8=0..X. block%| 00001e70 21 31 32 3d 36 38 0d 0c 62 11 20 62 6c 6f 63 6b |!12=68..b. block| 00001e80 25 21 31 36 3d 36 38 0d 0c 6c 14 20 62 6c 6f 63 |%!16=68..l. bloc| 00001e90 6b 25 21 32 30 3d 26 33 30 30 32 0d 0c 76 1d 20 |k%!20=&3002..v. | 00001ea0 24 28 62 6c 6f 63 6b 25 2b 32 34 29 3d 22 21 45 |$(block%+24)="!E| 00001eb0 6e 76 65 6c 6f 70 65 22 0d 0c 80 2b 20 c8 99 20 |nvelope"...+ .. | 00001ec0 22 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |"Wimp_CreateIcon| 00001ed0 22 2c 2c 62 6c 6f 63 6b 25 20 b8 20 69 63 6f 6e |",,block% . icon| 00001ee0 62 61 72 0d 0c 8a 05 e1 0d 0c 94 05 3a 0d 0c 9e |bar.........:...| 00001ef0 0b dd f2 63 6c 65 61 72 0d 0c a8 0f 20 e3 20 49 |...clear.... . I| 00001f00 25 3d 30 20 b8 20 37 0d 0c b2 19 20 20 21 69 63 |%=0 . 7.... !ic| 00001f10 6f 6e 61 64 64 72 28 49 25 29 3d 26 30 44 30 44 |onaddr(I%)=&0D0D| 00001f20 0d 0c bc 06 20 ed 0d 0c c6 05 e1 0d 0c d0 05 3a |.... ..........:| 00001f30 0d 0c da 0c dd f2 75 70 64 61 74 65 0d 0c e4 33 |......update...3| 00001f40 20 62 6c 6f 63 6b 25 21 30 3d 6d 61 69 6e 68 61 | block%!0=mainha| 00001f50 6e 64 6c 65 20 3a 20 62 6c 6f 63 6b 25 21 38 3d |ndle : block%!8=| 00001f60 30 20 3a 20 62 6c 6f 63 6b 25 21 31 32 3d 30 0d |0 : block%!12=0.| 00001f70 0c ee 0f 20 e3 20 49 25 3d 30 20 b8 20 37 0d 0c |... . I%=0 . 7..| 00001f80 f8 12 20 20 20 62 6c 6f 63 6b 25 21 34 3d 49 25 |.. block%!4=I%| 00001f90 0d 0d 02 30 20 20 20 c8 99 20 26 34 30 30 43 44 |...0 .. &400CD| 00001fa0 2c 2c 62 6c 6f 63 6b 25 20 3a 20 f4 20 22 57 69 |,,block% : . "Wi| 00001fb0 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_SetIconState"| 00001fc0 0d 0d 0c 06 20 ed 0d 0d 16 18 20 62 6c 6f 63 6b |.... ..... block| 00001fd0 25 21 30 3d 6d 61 69 6e 68 61 6e 64 6c 65 0d 0d |%!0=mainhandle..| 00001fe0 20 24 20 c8 99 22 57 69 6d 70 5f 47 65 74 57 69 | $ .."Wimp_GetWi| 00001ff0 6e 64 6f 77 53 74 61 74 65 22 2c 2c 62 6c 6f 63 |ndowState",,bloc| 00002000 6b 25 0d 0d 2a 11 20 62 6c 6f 63 6b 25 21 32 38 |k%..*. block%!28| 00002010 3d 2d 31 0d 0d 34 20 20 c8 99 22 57 69 6d 70 5f |=-1..4 .."Wimp_| 00002020 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 62 6c 6f |OpenWindow",,blo| 00002030 63 6b 25 0d 0d 3e 05 e1 0d 0d 48 05 3a 0d 0d 52 |ck%..>....H.:..R| 00002040 12 dd a4 6c 65 61 66 6e 61 6d 65 28 41 24 29 0d |...leafname(A$).| 00002050 0d 5c 2d 20 e7 20 41 24 3d 22 22 20 8c 20 24 73 |.\- . A$="" . $s| 00002060 61 76 65 6e 61 6d 65 3d 22 41 64 64 72 65 73 73 |avename="Address| 00002070 22 3a 3d 24 73 61 76 65 6e 61 6d 65 0d 0d 66 0c |":=$savename..f.| 00002080 20 49 25 3d a9 20 41 24 0d 0d 70 06 20 f5 0d 0d | I%=. A$..p. ...| 00002090 7a 0c 20 20 20 49 25 2d 3d 31 0d 0d 84 1b 20 fd |z. I%-=1.... .| 000020a0 20 49 25 3d 30 20 84 20 c1 41 24 2c 49 25 2c 31 | I%=0 . .A$,I%,1| 000020b0 29 3d 22 2e 22 0d 0d 8e 12 3d c2 41 24 2c a9 28 |)="."....=.A$,.(| 000020c0 41 24 29 2d 49 25 29 0d 0d 98 05 3a 0d 0d a2 14 |A$)-I%)....:....| 000020d0 dd a4 74 65 72 6d 73 74 72 69 6e 67 28 50 25 29 |..termstring(P%)| 000020e0 0d 0d ac 0a 20 41 24 3d 22 22 0d 0d b6 06 20 f5 |.... A$="".... .| 000020f0 0d 0d c0 10 20 20 41 24 2b 3d bd 28 3f 50 25 29 |.... A$+=.(?P%)| 00002100 0d 0d ca 0b 20 20 50 25 2b 3d 31 0d 0d d4 15 20 |.... P%+=1.... | 00002110 fd 20 3f 50 25 3d 30 20 84 20 3f 50 25 3d 31 33 |. ?P%=0 . ?P%=13| 00002120 0d 0d de 07 3d 41 24 0d 0d e8 05 3a 0d 0d f2 0f |....=A$....:....| 00002130 dd f2 67 65 74 76 61 6c 75 65 73 0d 0d fc 2b 20 |..getvalues...+ | 00002140 6c 69 6e 65 73 69 6e 63 68 25 20 3d 20 bb 28 a4 |linesinch% = .(.| 00002150 74 65 72 6d 73 74 72 69 6e 67 28 6c 69 6e 65 73 |termstring(lines| 00002160 61 64 64 72 29 29 0d 0e 06 29 20 74 6f 70 6d 61 |addr))...) topma| 00002170 72 67 69 6e 25 20 3d 20 bb 28 a4 74 65 72 6d 73 |rgin% = .(.terms| 00002180 74 72 69 6e 67 28 74 6f 70 61 64 64 72 29 29 0d |tring(topaddr)).| 00002190 0e 10 2a 20 6c 65 66 74 6d 61 72 67 69 6e 25 3d |..* leftmargin%=| 000021a0 20 bb 28 a4 74 65 72 6d 73 74 72 69 6e 67 28 6c | .(.termstring(l| 000021b0 65 66 74 61 64 64 72 29 29 0d 0e 1a 05 e1 0d 0e |eftaddr)).......| 000021c0 24 05 3a 0d 0e 2e 11 dd f2 73 61 76 65 63 68 6f |$.:......savecho| 000021d0 69 63 65 73 0d 0e 38 0f 20 f2 67 65 74 76 61 6c |ices..8. .getval| 000021e0 75 65 73 0d 0e 42 22 20 63 68 25 3d ae 22 3c 45 |ues..B" ch%=."<E| 000021f0 6e 76 65 6c 6f 70 65 24 44 69 72 3e 2e 63 68 6f |nvelope$Dir>.cho| 00002200 69 63 65 73 22 0d 0e 4c 42 20 20 20 f1 23 63 68 |ices"..LB .#ch| 00002210 25 2c 62 6f 6c 64 25 2c 6c 61 72 67 65 25 2c 6c |%,bold%,large%,l| 00002220 69 6e 65 73 69 6e 63 68 25 2c 74 6f 70 6d 61 72 |inesinch%,topmar| 00002230 67 69 6e 25 2c 6c 65 66 74 6d 61 72 67 69 6e 25 |gin%,leftmargin%| 00002240 2c 65 70 73 6f 6e 25 0d 0e 56 0a 20 d9 23 63 68 |,epson%..V. .#ch| 00002250 25 0d 0e 60 1c 20 c8 99 22 57 69 6d 70 5f 43 72 |%..`. .."Wimp_Cr| 00002260 65 61 74 65 4d 65 6e 75 22 2c 2c 2d 31 0d 0e 6a |eateMenu",,-1..j| 00002270 05 e1 0d 0e 74 05 3a 0d 0e 7e 11 dd f2 6c 6f 61 |....t.:..~...loa| 00002280 64 63 68 6f 69 63 65 73 0d 0e 88 22 20 63 68 25 |dchoices..." ch%| 00002290 3d 8e 22 3c 45 6e 76 65 6c 6f 70 65 24 44 69 72 |=."<Envelope$Dir| 000022a0 3e 2e 63 68 6f 69 63 65 73 22 0d 0e 92 42 20 20 |>.choices"...B | 000022b0 20 e8 23 63 68 25 2c 62 6f 6c 64 25 2c 6c 61 72 | .#ch%,bold%,lar| 000022c0 67 65 25 2c 6c 69 6e 65 73 69 6e 63 68 25 2c 74 |ge%,linesinch%,t| 000022d0 6f 70 6d 61 72 67 69 6e 25 2c 6c 65 66 74 6d 61 |opmargin%,leftma| 000022e0 72 67 69 6e 25 2c 65 70 73 6f 6e 25 0d 0e 9c 0a |rgin%,epson%....| 000022f0 20 d9 23 63 68 25 0d 0e a6 41 20 e7 20 62 6f 6c | .#ch%...A . bol| 00002300 64 25 20 20 8c 20 f2 69 6e 76 65 72 74 28 6f 70 |d% . .invert(op| 00002310 74 69 6f 6e 68 61 6e 64 6c 65 2c 36 29 20 3a 20 |tionhandle,6) : | 00002320 f2 69 6e 76 65 72 74 28 6f 70 74 69 6f 6e 68 61 |.invert(optionha| 00002330 6e 64 6c 65 2c 37 29 0d 0e b0 41 20 e7 20 6c 61 |ndle,7)...A . la| 00002340 72 67 65 25 20 8c 20 f2 69 6e 76 65 72 74 28 6f |rge% . .invert(o| 00002350 70 74 69 6f 6e 68 61 6e 64 6c 65 2c 35 29 20 3a |ptionhandle,5) :| 00002360 20 f2 69 6e 76 65 72 74 28 6f 70 74 69 6f 6e 68 | .invert(optionh| 00002370 61 6e 64 6c 65 2c 34 29 0d 0e ba 42 20 e7 20 65 |andle,4)...B . e| 00002380 70 73 6f 6e 25 20 8c 20 f2 69 6e 76 65 72 74 28 |pson% . .invert(| 00002390 6f 70 74 69 6f 6e 68 61 6e 64 6c 65 2c 39 29 20 |optionhandle,9) | 000023a0 3a 20 f2 69 6e 76 65 72 74 28 6f 70 74 69 6f 6e |: .invert(option| 000023b0 68 61 6e 64 6c 65 2c 31 30 29 0d 0e c4 23 20 24 |handle,10)...# $| 000023c0 6c 69 6e 65 73 61 64 64 72 20 3d 20 c3 28 6c 69 |linesaddr = .(li| 000023d0 6e 65 73 69 6e 63 68 25 29 20 2b bd 30 0d 0e ce |nesinch%) +.0...| 000023e0 23 20 24 74 6f 70 61 64 64 72 20 20 20 3d 20 c3 |# $topaddr = .| 000023f0 28 74 6f 70 6d 61 72 67 69 6e 25 29 20 2b bd 30 |(topmargin%) +.0| 00002400 0d 0e d8 23 20 24 6c 65 66 74 61 64 64 72 20 20 |...# $leftaddr | 00002410 3d 20 c3 28 6c 65 66 74 6d 61 72 67 69 6e 25 29 |= .(leftmargin%)| 00002420 2b bd 30 0d 0e e2 05 e1 0d 0e ec 05 3a 0d 0e f6 |+.0.........:...| 00002430 0b dd f2 70 72 69 6e 74 0d 0f 00 27 20 c8 99 22 |...print...' .."| 00002440 58 50 44 72 69 76 65 72 5f 49 6e 66 6f 22 20 b8 |XPDriver_Info" .| 00002450 20 72 30 2c 72 31 2c 72 32 2c 72 33 2c 72 34 0d | r0,r1,r2,r3,r4.| 00002460 0f 0a 3d 20 e7 20 72 31 3d 30 20 80 20 72 32 3d |..= . r1=0 . r2=| 00002470 30 20 8c 20 85 20 31 2c 22 4e 6f 20 63 75 72 72 |0 . . 1,"No curr| 00002480 65 6e 74 20 70 72 69 6e 74 65 72 20 64 72 69 76 |ent printer driv| 00002490 65 72 20 73 65 6c 65 63 74 65 64 22 0d 0f 14 14 |er selected"....| 000024a0 20 63 68 25 3d ae 22 50 72 69 6e 74 65 72 3a 22 | ch%=."Printer:"| 000024b0 0d 0f 1e 39 20 c8 99 22 50 44 72 69 76 65 72 5f |...9 .."PDriver_| 000024c0 53 65 6c 65 63 74 4a 6f 62 22 2c 63 68 25 2c 22 |SelectJob",ch%,"| 000024d0 45 6e 76 65 6c 6f 70 65 20 70 72 69 6e 74 6f 75 |Envelope printou| 000024e0 74 22 20 b8 20 6a 6f 62 25 0d 0f 28 0f 20 f2 67 |t" . job%..(. .g| 000024f0 65 74 76 61 6c 75 65 73 0d 0f 32 12 20 f2 73 65 |etvalues..2. .se| 00002500 6c 65 63 74 5f 63 6f 64 65 73 0d 0f 3c 1c 20 f2 |lect_codes..<. .| 00002510 73 65 6e 64 5f 63 6f 64 65 73 28 69 6e 69 74 61 |send_codes(inita| 00002520 6c 69 73 65 24 29 0d 0f 46 1c 20 f2 73 65 6e 64 |lise$)..F. .send| 00002530 5f 63 6f 64 65 73 28 6c 69 6e 65 73 69 6e 63 68 |_codes(linesinch| 00002540 24 29 0d 0f 50 26 20 e7 20 6c 61 72 67 65 25 20 |$)..P& . large% | 00002550 8c 20 f2 73 65 6e 64 5f 63 6f 64 65 73 28 65 6e |. .send_codes(en| 00002560 6c 61 72 67 65 64 24 29 0d 0f 5a 22 20 e7 20 62 |larged$)..Z" . b| 00002570 6f 6c 64 25 20 20 8c 20 f2 73 65 6e 64 5f 63 6f |old% . .send_co| 00002580 64 65 73 28 62 6f 6c 64 24 29 0d 0f 64 18 20 e3 |des(bold$)..d. .| 00002590 20 49 25 3d 31 20 b8 20 74 6f 70 6d 61 72 67 69 | I%=1 . topmargi| 000025a0 6e 25 0d 0f 6e 1a 20 20 20 d5 23 63 68 25 2c 31 |n%..n. .#ch%,1| 000025b0 30 20 3a 20 d5 23 63 68 25 2c 31 33 0d 0f 78 06 |0 : .#ch%,13..x.| 000025c0 20 ed 0d 0f 82 14 20 20 20 e3 20 6c 69 6e 65 25 | ..... . line%| 000025d0 3d 30 20 b8 20 37 0d 0f 8c 1d 20 20 20 20 20 e3 |=0 . 7.... .| 000025e0 20 49 25 3d 31 20 b8 20 6c 65 66 74 6d 61 72 67 | I%=1 . leftmarg| 000025f0 69 6e 25 0d 0f 96 13 20 20 20 20 20 20 20 d5 23 |in%.... .#| 00002600 63 68 25 2c 33 32 0d 0f a0 0a 20 20 20 20 20 ed |ch%,32.... .| 00002610 0d 0f aa 1f 20 20 20 20 20 d5 23 63 68 25 2c 24 |.... .#ch%,$| 00002620 69 63 6f 6e 61 64 64 72 28 6c 69 6e 65 25 29 0d |iconaddr(line%).| 00002630 0f b4 11 20 20 20 20 20 d5 23 63 68 25 2c 31 33 |... .#ch%,13| 00002640 0d 0f be 08 20 20 20 ed 0d 0f c8 0d 20 d5 23 63 |.... ..... .#c| 00002650 68 25 2c 31 32 0d 0f d2 18 20 f2 73 65 6e 64 5f |h%,12.... .send_| 00002660 63 6f 64 65 73 28 72 65 73 65 74 24 29 0d 0f dc |codes(reset$)...| 00002670 1b 20 c8 99 22 50 44 72 69 76 65 72 5f 45 6e 64 |. .."PDriver_End| 00002680 4a 6f 62 22 2c 63 68 25 0d 0f e6 1f 20 c8 99 22 |Job",ch%.... .."| 00002690 50 44 72 69 76 65 72 5f 53 65 6c 65 63 74 4a 6f |PDriver_SelectJo| 000026a0 62 22 2c 6a 6f 62 25 0d 0f f0 0a 20 d9 23 63 68 |b",job%.... .#ch| 000026b0 25 0d 0f fa 05 e1 0d 10 04 05 3a 0d 10 0e 14 dd |%.........:.....| 000026c0 f2 73 65 6e 64 5f 63 6f 64 65 73 28 73 24 29 0d |.send_codes(s$).| 000026d0 10 18 12 20 e3 20 49 25 3d 31 20 b8 20 a9 20 73 |... . I%=1 . . s| 000026e0 24 0d 10 22 16 20 20 20 4e 25 3d 97 28 c1 73 24 |$..". N%=.(.s$| 000026f0 2c 49 25 2c 31 29 29 0d 10 2c 1a 20 20 20 e7 20 |,I%,1))..,. . | 00002700 4e 25 20 3d 20 97 22 7e 22 20 8c 20 4e 25 3d 32 |N% = ."~" . N%=2| 00002710 37 0d 10 36 0f 20 20 20 d5 23 63 68 25 2c 4e 25 |7..6. .#ch%,N%| 00002720 0d 10 40 06 20 ed 0d 10 4a 05 e1 0d 10 54 05 3a |..@. ...J....T.:| 00002730 0d 10 5e 12 dd f2 73 65 6c 65 63 74 5f 63 6f 64 |..^...select_cod| 00002740 65 73 0d 10 68 0f 20 e7 20 65 70 73 6f 6e 25 20 |es..h. . epson% | 00002750 8c 0d 10 72 04 0d 10 7c 3c 20 20 20 f4 20 20 45 |...r...|< . E| 00002760 70 73 6f 6e 20 63 6f 6e 74 72 6f 6c 20 63 6f 64 |pson control cod| 00002770 65 73 20 2d 20 55 73 65 20 7e 20 74 6f 20 72 65 |es - Use ~ to re| 00002780 70 72 65 73 65 6e 74 20 45 53 43 41 50 45 20 32 |present ESCAPE 2| 00002790 37 0d 10 86 04 0d 10 90 5b 20 20 20 69 6e 69 74 |7.......[ init| 000027a0 61 6c 69 73 65 24 20 20 3d 20 22 7e 40 22 20 20 |alise$ = "~@" | 000027b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000027d0 20 20 20 20 3a 20 f4 20 72 65 73 65 74 20 74 6f | : . reset to| 000027e0 20 70 72 69 6e 74 65 72 20 64 65 66 61 75 6c 74 | printer default| 000027f0 0d 10 9a 52 20 20 20 6c 69 6e 65 73 69 6e 63 68 |...R linesinch| 00002800 24 20 20 3d 20 22 7e 41 22 20 2b 20 bd 20 28 37 |$ = "~A" + . (7| 00002810 32 2f 6c 69 6e 65 73 69 6e 63 68 25 29 20 20 20 |2/linesinch%) | 00002820 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00002830 6e 6f 2e 20 6f 66 20 31 2f 37 32 74 68 20 69 6e |no. of 1/72th in| 00002840 63 68 0d 10 a4 48 20 20 20 65 6e 6c 61 72 67 65 |ch...H enlarge| 00002850 64 24 20 20 20 3d 20 22 7e 57 22 20 2b 20 bd 28 |d$ = "~W" + .(| 00002860 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1) | 00002870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00002880 f4 20 65 6e 6c 61 72 67 65 64 0d 10 ae 47 20 20 |. enlarged...G | 00002890 20 62 6f 6c 64 24 20 20 20 20 20 20 20 3d 20 22 | bold$ = "| 000028a0 7e 45 22 20 20 20 20 20 20 20 20 20 20 20 20 20 |~E" | 000028b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000028c0 20 20 20 20 20 20 20 20 20 3a 20 f4 20 62 6f 6c | : . bol| 000028d0 64 0d 10 b8 57 20 20 20 72 65 73 65 74 24 20 20 |d...W reset$ | 000028e0 20 20 20 20 3d 20 22 7e 40 22 20 20 20 20 20 20 | = "~@" | 000028f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002910 3a 20 f4 20 72 65 73 65 74 20 61 66 74 65 72 20 |: . reset after | 00002920 70 72 69 6e 74 69 6e 67 0d 10 c2 04 0d 10 cc 06 |printing........| 00002930 20 cc 0d 10 d6 04 0d 10 e0 3d 20 20 20 f4 20 20 | ........= . | 00002940 48 50 20 50 43 4c 20 63 6f 6e 74 72 6f 6c 20 63 |HP PCL control c| 00002950 6f 64 65 73 20 2d 20 55 73 65 20 7e 20 74 6f 20 |odes - Use ~ to | 00002960 72 65 70 72 65 73 65 6e 74 20 45 53 43 41 50 45 |represent ESCAPE| 00002970 20 32 37 0d 10 ea 04 0d 10 f4 58 20 20 20 69 6e | 27.......X in| 00002980 69 74 61 6c 69 73 65 24 20 20 3d 20 22 7e 45 20 |italise$ = "~E | 00002990 7e 26 6c 30 4f 20 7e 28 30 4e 20 7e 28 73 30 70 |~&l0O ~(0N ~(s0p| 000029a0 20 31 30 68 20 31 32 76 20 30 73 20 30 62 20 33 | 10h 12v 0s 0b 3| 000029b0 74 20 32 51 22 20 3a 20 f4 20 72 65 73 65 74 20 |t 2Q" : . reset | 000029c0 26 20 69 6e 69 74 69 61 6c 20 73 65 74 75 70 0d |& initial setup.| 000029d0 10 fe 4e 20 20 20 6c 69 6e 65 73 69 6e 63 68 24 |..N linesinch$| 000029e0 20 20 3d 20 22 7e 26 6c 22 20 2b 20 c3 20 6c 69 | = "~&l" + . li| 000029f0 6e 65 73 69 6e 63 68 25 20 20 2b 20 22 44 22 20 |nesinch% + "D" | 00002a00 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 6c | : . l| 00002a10 69 6e 65 73 20 70 65 72 20 69 6e 63 68 0d 11 08 |ines per inch...| 00002a20 4b 20 20 20 65 6e 6c 61 72 67 65 64 24 20 20 20 |K enlarged$ | 00002a30 3d 20 22 7e 28 73 35 48 22 20 20 20 20 20 20 20 |= "~(s5H" | 00002a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002a50 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 f4 20 | : . | 00002a60 65 6e 6c 61 72 67 65 64 0d 11 12 47 20 20 20 62 |enlarged...G b| 00002a70 6f 6c 64 24 20 20 20 20 20 20 20 3d 20 22 7e 28 |old$ = "~(| 00002a80 73 33 42 22 20 20 20 20 20 20 20 20 20 20 20 20 |s3B" | 00002a90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002aa0 20 20 20 20 20 20 20 3a 20 f4 20 62 6f 6c 64 0d | : . bold.| 00002ab0 11 1c 57 20 20 20 72 65 73 65 74 24 20 20 20 20 |..W reset$ | 00002ac0 20 20 3d 20 22 7e 45 22 20 20 20 20 20 20 20 20 | = "~E" | 00002ad0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 | : | 00002af0 f4 20 72 65 73 65 74 20 61 66 74 65 72 20 70 72 |. reset after pr| 00002b00 69 6e 74 69 6e 67 0d 11 26 04 0d 11 30 04 0d 11 |inting..&...0...| 00002b10 3a 06 20 cd 0d 11 44 05 e1 0d 11 4e 04 0d 11 58 |:. ...D....N...X| 00002b20 0b 20 20 4e 6f 74 65 3a 0d 11 62 4c 20 20 50 72 |. Note:..bL Pr| 00002b30 69 6e 74 65 72 20 73 70 65 63 69 66 69 63 20 63 |inter specific c| 00002b40 6f 6e 74 72 6f 6c 20 63 6f 64 65 73 20 6d 61 79 |ontrol codes may| 00002b50 20 6e 65 65 64 20 74 6f 20 6d 6f 64 69 66 69 65 | need to modifie| 00002b60 64 2e 20 4e 6f 74 65 20 74 68 65 20 75 73 65 20 |d. Note the use | 00002b70 6f 66 20 bd 0d 11 6c 4c 20 20 69 6e 20 45 70 73 |of ...lL in Eps| 00002b80 6f 6e 20 73 65 63 74 69 6f 6e 20 61 6e 64 20 c3 |on section and .| 00002b90 20 69 6e 20 48 50 20 73 65 63 74 69 6f 6e 20 74 | in HP section t| 00002ba0 6f 20 73 65 6e 64 20 6c 69 6e 65 73 20 70 65 72 |o send lines per| 00002bb0 20 69 6e 63 68 20 70 61 72 61 6d 65 74 65 72 2e | inch parameter.| 00002bc0 0d 11 76 47 20 20 55 73 65 20 c3 20 69 66 20 79 |..vG Use . if y| 00002bd0 6f 75 72 20 70 72 69 6e 74 65 72 20 65 78 70 65 |our printer expe| 00002be0 63 74 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 |cts parameters a| 00002bf0 73 20 70 72 69 6e 74 61 62 6c 65 20 63 68 61 72 |s printable char| 00002c00 61 63 74 65 72 73 2e 0d 11 80 04 0d 11 8a 50 7e |acters........P~| 00002c10 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e |~~~~~~~~~~~~~~~~| * 00002c50 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 11 94 04 0d |~~~~~~~~~~~.....| 00002c60 11 9e 04 0d ff |.....| 00002c65