Home » Archimedes archive » Acorn User » AU 1998-10.adf » Features » SSTV/!PSinstall/PscanFiles/Choices/ConWin15

SSTV/!PSinstall/PscanFiles/Choices/ConWin15

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-10.adf » Features
Filename: SSTV/!PSinstall/PscanFiles/Choices/ConWin15
Read OK:
File size: 3CE7 bytes
Load address: 0000
Exec address: 0000
File contents
    1 REM >ConWin15
    2
    3 REM Window now comes to front of stack - 13.12.97
    4 REM Overlay minimum dropped to 60k as manual area now separate - 11.12.97
    5 REM Configuration window for Pscan - 11.11.97
    6 REM Serial port setup / pane - 23.11.97
    7
    8 REM All parameters are stored as strings.
    9 REM tx_divider$ and thumbnails$ are either "Y" or "N"
   10
   11 DIM taskid% 4,error_block% 256
   12 $taskid%="TASK":app$="Pscan Choices"
   13 SYS "Wimp_Initialise",350,!taskid%,app$ TO version%,taskhandle%
   14
   15 ON ERROR PROCerror(ERR,REPORT$,ERL)
   16
   17 config_dir$="<Pscan$Dir>.Choices."
   18
   19 REM for R&D : config_dir$="ADFS::4.$.Updater.Config."
   20
   21 fileopen%=FALSE:atomwide%=FALSE
   22
   23 DIM block% &1000,ticon% &800
   24 DIM template1% 12,template2% 12
   25 $template1%="config":$template2%="pane"
   26 dummy=FNfile_len(config_dir$+"Templates")
   27 dummy=FNfile_len(config_dir$+"Params")
   28 
   29 PROCload_templates
   30
   31 DIM icon_list% 32
   32 PROCicon_sequence_list
   33 icon_position%=0:icon_pos_limit%=9
   34 REM There are 10 writeable text icons
   35
   36 PROCread_params_file
   37 m2$=memories$:o2$=overlay$:t2$=thumbnails$
   38 
   39 PROCwrite_params_to_icons
   40 PROCopen_windows
   41 quit%=FALSE
   42
   43 REPEAT
   44  PROCpoll
   45 UNTIL quit%
   46
   47 SYS "Wimp_CloseDown",taskhandle%,taskid%
   48
   49 END
   50
   51 DEF PROCload_templates
   52  SYS "Wimp_OpenTemplate",,config_dir$+"Templates"
   53  
   54  SYS "Wimp_LoadTemplate",,block%,ticon%,ticon%+&800,-1,template1%,0 TO,,R2%
   55  SYS "Wimp_CreateWindow",,block% TO config_handle%
   56
   57  SYS "Wimp_LoadTemplate",,block%,R2%,ticon%+&800,-1,template2%,0
   58  SYS "Wimp_CreateWindow",,block% TO pane_handle%
   59
   60  SYS "Wimp_CloseTemplate",,config_dir$+"Templates"
   61 ENDPROC
   62
   63 DEF PROCpoll
   64  SYS "Wimp_Poll",,block% TO reason%
   65   CASE reason% OF
   66    WHEN 1     : PROCopen_windows
   67    WHEN 2     : PROCopen_window_request
   68    WHEN 3     : quit%=TRUE
   69    WHEN 6     : PROCmouse_clicked
   70    WHEN 8     : PROCkey_pressed(block%!24)
   71    WHEN 17,18 : PROCdecode_message
   72   ENDCASE
   73 ENDPROC
   74
   75 DEF PROCopen_window_request
   76  IF block%!0=config_handle% THEN
   77   block%!100=pane_handle%
   78   SYS "Wimp_GetWindowState",,block%+100
   79   IF block%!128<>-1 THEN
   80    block%!128=-1
   81    SYS "Wimp_OpenWindow",,block%+100
   82   ENDIF
   83   block%!0=config_handle%:block%!28=pane_handle%
   84   SYS "Wimp_OpenWindow",,block%
   85   block%!100=pane_handle%
   86   SYS "Wimp_GetWindowState",,block%+100
   87   block%!104=(block%!4)+20
   88   block%!108=(block%!8)+116
   89   block%!112=(block%!104)+678
   90   block%!116=(block%!16)-18
   91   SYS "Wimp_OpenWindow",,block%+100
   92  ELSE
   93   SYS "Wimp_OpenWindow",,block%
   94  ENDIF
   95 ENDPROC
   96
   97 DEF PROCopen_windows
   98  block%!0=config_handle%
   99  SYS "Wimp_GetWindowState",,block%
  100  block%!28=-1
  101  SYS "Wimp_OpenWindow",,block%
  102
  103  block%!0=pane_handle%
  104  SYS "Wimp_GetWindowState",,block%
  105  block%!28=-1:block%!24=0
  106  SYS "Wimp_OpenWindow",,block%
  107 ENDPROC
  108
  109 DEF PROCdecode_message
  110  CASE block%!16 OF
  111   WHEN 0 : quit%=TRUE
  112  ENDCASE
  113 ENDPROC
  114  
  115 DEF PROCmouse_clicked
  116  mousex%=block%!0
  117  mousey%=block%!4
  118  mousebut%=block%!8
  119  whandle%=block%!12
  120  icon_handle%=block%!16
  121  IF mousebut%<>2 AND whandle%=pane_handle% PROCpane_clicked(icon_handle%)
  122  IF mousebut%<>2 AND whandle%=config_handle% PROCconfig_clicked(icon_handle%)
  123 ENDPROC
  124
  125 DEF PROCpane_clicked(icon_handle%)
  126  CASE icon_handle% OF
  127   WHEN 11,12 : PROCfrequency_up_down(icon_handle%)
  128   WHEN 19,20 : PROCtoneburst_up_down(icon_handle%)
  129   WHEN 24,25 : PROCmemories_up_down(icon_handle%)
  130   WHEN 28,29 : PROCoverlay_up_down(icon_handle%)
  131   WHEN 41    : PROCshade_serial_icons
  132   WHEN 42    : PROCshow_serial_icons
  133  ENDCASE
  134 ENDPROC
  135
  136 DEF PROCconfig_clicked(icon_handle%)
  137  CASE icon_handle% OF
  138   WHEN 0 : quit%=TRUE
  139   WHEN 1 : PROCset_params_to_defaults
  140   WHEN 2 : PROCread_and_save_params_from_icons
  141            quit%=TRUE
  142  ENDCASE
  143 ENDPROC
  144
  145 DEF PROCkey_pressed(key%)
  146  CASE key% OF
  147   WHEN 13             : PROCread_and_save_params_from_icons
  148                         quit%=TRUE
  149   WHEN &18A,&18E,&18F : PROCtab_or_arrow_keys(key%)
  150  OTHERWISE
  151   SYS "Wimp_ProcessKey",key%
  152  ENDCASE
  153 ENDPROC
  154
  155 DEF PROCerror(err%,err$,erl%)
  156  IF fileopen% CLOSE#F%
  157   error_block%!0=err%
  158   err$=err$+"  (error code "+STR$(erl%)+")"
  159   $(error_block%+4)=err$:error_block%?(4+LEN err$)=0
  160   SYS "Wimp_ReportError",error_block%,1,app$ TO,reply%
  161   SYS "Wimp_CloseDown",taskhandle%,taskid%
  162  END
  163 ENDPROC
  164
  165 DEF FNreport(check$,flag%)
  166  error_block%!0=1
  167  $(error_block%+4)=check$:error_block%?(4+LEN check$)=0
  168  SYS "Wimp_ReportError",error_block%,flag%,app$ TO,reply%
  169 IF reply%=1 THEN=TRUE ELSE=FALSE
  170 
  171 DEF FNread_icon_text(pane_handle%,icon_handle%)
  172  block%!0=pane_handle%
  173  block%!4=icon_handle%
  174  SYS"Wimp_GetIconState",,block%
  175 =$block%!28
  176
  177 DEF PROCwrite_icon_text(pane_handle%,icon_handle%,icon_text$)
  178  !block%=pane_handle%:block%!4=icon_handle%
  179  SYS "Wimp_GetIconState",,block%
  180  $(block%!28)=icon_text$
  181  block%!4=icon_handle%
  182  block%!8=0:block%!12=0
  183  SYS "Wimp_SetIconState",,block%
  184 ENDPROC
  185
  186 DEF FNicon_selected(window_handle%,icon_handle%)
  187  block%!0=window_handle%
  188  block%!4=icon_handle%
  189  SYS"Wimp_GetIconState",,block%
  190 IF (block%!24 AND 1<<21) THEN =TRUE ELSE =FALSE
  191
  192 DEF PROCselect_icon(window_handle%,icon_handle%,select%)
  193  block%!0=window_handle%
  194  block%!4=icon_handle%
  195  block%!12=1<<21
  196  IF select% block%!8=1<<21 ELSE block%!8=0
  197  SYS"Wimp_SetIconState",,block%
  198 ENDPROC
  199
  200 DEF PROCserial_icons_off(window_handle%,icon_handle%,shade%)
  201  block%!0=window_handle%
  202  block%!4=icon_handle%
  203  block%!12=1<<22
  204  IF shade% block%!8=1<<22 ELSE block%!8=0
  205  SYS"Wimp_SetIconState",,block%
  206 ENDPROC
  207
  208 DEF PROCshow_serial_icons
  209  FOR N%=45 TO 52
  210   PROCserial_icons_off(pane_handle%,N%,FALSE)
  211  NEXT
  212  FOR N%=55 TO 57
  213   PROCserial_icons_off(pane_handle%,N%,FALSE)
  214  NEXT
  215  PROCserial_icons_off(pane_handle%,0,FALSE)
  216  IF NOT(atomwide%) THEN
  217   PROCselect_icon(pane_handle%,47,TRUE)
  218   PROCselect_icon(pane_handle%,56,TRUE)
  219  ENDIF
  220  PROCserial_icons_off(pane_handle%,53,FALSE)
  221  PROCserial_icons_off(pane_handle%,58,FALSE)
  222 ENDPROC
  223
  224 DEF PROCshade_serial_icons
  225  FOR N%=45 TO 52
  226   PROCserial_icons_off(pane_handle%,N%,TRUE)
  227  NEXT
  228  FOR N%=55 TO 57
  229   PROCserial_icons_off(pane_handle%,N%,TRUE)
  230  NEXT
  231  PROCserial_icons_off(pane_handle%,0,TRUE)
  232  PROCserial_icons_off(pane_handle%,53,TRUE)
  233  PROCserial_icons_off(pane_handle%,58,TRUE)
  234 ENDPROC
  235
  236 DEF PROCread_params_file
  237  F%=OPENIN(config_dir$+"Params")
  238   fileopen%=TRUE
  239   callsign$=GET$#F%
  240   clock_freq$=GET$#F%
  241   start_dir$=GET$#F%
  242   memories$=GET$#F%
  243   overlay$=GET$#F%
  244   user_path$=GET$#F%
  245   auto_path$=GET$#F%
  246   tx_divider$=GET$#F%
  247   thumbnails$=GET$#F%
  248   header$=GET$#F%
  249   cw$=GET$#F%
  250   toneburst$=GET$#F%
  251   serial$=GET$#F%
  252  CLOSE#F%
  253  fileopen%=FALSE
  254 ENDPROC
  255
  256 DEF PROCwrite_params_to_icons
  257  PROCwrite_icon_text(pane_handle%,2,callsign$)
  258  PROCwrite_icon_text(pane_handle%,10,clock_freq$)
  259  PROCwrite_icon_text(pane_handle%,33,start_dir$)
  260  PROCwrite_icon_text(pane_handle%,22,memories$)
  261  PROCwrite_icon_text(pane_handle%,27,overlay$)
  262  PROCwrite_icon_text(pane_handle%,35,user_path$)
  263  PROCwrite_icon_text(pane_handle%,38,auto_path$)
  264  IF tx_divider$="Y" THEN
  265   PROCselect_icon(pane_handle%,16,TRUE)
  266  ELSE
  267   PROCselect_icon(pane_handle%,16,FALSE)
  268  ENDIF
  269  IF thumbnails$="Y" THEN
  270   PROCselect_icon(pane_handle%,15,TRUE)
  271  ELSE
  272   PROCselect_icon(pane_handle%,15,FALSE)
  273  ENDIF
  274  PROCwrite_icon_text(pane_handle%,5,header$)
  275  PROCwrite_icon_text(pane_handle%,7,cw$)
  276  PROCwrite_icon_text(pane_handle%,18,toneburst$)
  277  PROCconvert_serial_address_to_icons
  278 ENDPROC
  279
  280 DEF PROCconvert_serial_address_to_icons
  281  IF serial$="&03010FE0" THEN
  282   PROCshade_serial_icons
  283   PROCselect_icon(pane_handle%,41,TRUE)
  284   PROCselect_icon(pane_handle%,42,FALSE)
  285  ELSE
  286   atomwide%=TRUE
  287   PROCshow_serial_icons
  288   PROCselect_icon(pane_handle%,41,FALSE)
  289   PROCselect_icon(pane_handle%,42,TRUE)
  290   FOR N%=45 TO 52:PROCselect_icon(pane_handle%,N%,FALSE):NEXT
  291   P$=LEFT$(serial$,6)
  292   CASE P$ OF
  293    WHEN "&03242" : PROCselect_icon(pane_handle%,45,TRUE)
  294    WHEN "&03246" : PROCselect_icon(pane_handle%,46,TRUE)
  295    WHEN "&0324A" : PROCselect_icon(pane_handle%,47,TRUE)
  296    WHEN "&0324E" : PROCselect_icon(pane_handle%,48,TRUE)
  297    WHEN "&03272" : PROCselect_icon(pane_handle%,49,TRUE)
  298    WHEN "&03276" : PROCselect_icon(pane_handle%,50,TRUE)
  299    WHEN "&0327A" : PROCselect_icon(pane_handle%,51,TRUE)
  300    WHEN "&0327E" : PROCselect_icon(pane_handle%,52,TRUE)
  301   ENDCASE
  302   FOR N%=55 TO 57:PROCselect_icon(pane_handle%,N%,FALSE):NEXT
  303   P$=RIGHT$(serial$,3)
  304   CASE P$ OF
  305    WHEN "800"    : PROCselect_icon(pane_handle%,55,TRUE)
  306    WHEN "400"    : PROCselect_icon(pane_handle%,56,TRUE)
  307    WHEN "000"    : PROCselect_icon(pane_handle%,57,TRUE)
  308   ENDCASE
  309  ENDIF
  310 ENDPROC
  311
  312 DEF PROCconvert_icons_to_serial_address
  313  IF FNicon_selected(pane_handle%,41) THEN
  314   serial$="&03010FE0"
  315  ELSE
  316   slot%=0
  317   FOR N%=45 TO 52
  318    IF FNicon_selected(pane_handle%,N%) slot%=N%
  319   NEXT
  320   CASE slot% OF
  321    WHEN 0  : serial$="&03010FE0"
  322    WHEN 45 : serial$="&03242"
  323    WHEN 46 : serial$="&03246"
  324    WHEN 47 : serial$="&0324A"
  325    WHEN 48 : serial$="&0324E"
  326    WHEN 49 : serial$="&03272"
  327    WHEN 50 : serial$="&03276"
  328    WHEN 51 : serial$="&0327A"
  329    WHEN 52 : serial$="&0327E"
  330   ENDCASE
  331   port%=0
  332   FOR N%=55 TO 57
  333    IF FNicon_selected(pane_handle%,N%) AND slot%<>0 port%=N%
  334   NEXT
  335   CASE port% OF
  336    WHEN 55 : serial$=serial$+"800"
  337    WHEN 56 : serial$=serial$+"400"
  338    WHEN 57 : serial$=serial$+"000"
  339   ENDCASE
  340  ENDIF
  341 ENDPROC
  342
  343 DEF PROCset_params_to_defaults
  344  check$="Setting all parameters to their default values may cause sloping pictures. Click OK if you are sure you want to do this."
  345  IF FNreport(check$,3) THEN
  346   PROCwrite_default_params_file
  347   PROCwrite_params_to_icons
  348  ENDIF
  349 ENDPROC
  350
  351 DEF PROCwrite_default_params_file 
  352  F%=OPENUP(config_dir$+"Params")
  353   fileopen%=TRUE
  354   callsign$="MyCall"     : BPUT#F%,callsign$   : REM Testcard callsign
  355   clock_freq$="2000000"  : BPUT#F%,clock_freq$ : REM Clock frequency
  356   start_dir$="ADFS::4.$" : BPUT#F%,start_dir$  : REM Start directory
  357   memories$="3"          : BPUT#F%,memories$   : REM Picture memories
  358   overlay$="320"         : BPUT#F%,overlay$    : REM Overlay size (KB)
  359   user_path$="NONE"      : BPUT#F%,user_path$  : REM User pathname
  360   auto_path$="ADFS::4.$" : BPUT#F%,auto_path$  : REM Auto-save path
  361   tx_divider$="N"        : BPUT#F%,tx_divider$ : REM 74HC74 TX divider
  362   thumbnails$="Y"        : BPUT#F%,thumbnails$ : REM Thumbnails
  363   header$="Pscan SSTV"   : BPUT#F%,header$     : REM Header text
  364   cw$="SSTV PSE K"       : BPUT#F%,cw$         : REM Repeater CW ID
  365   toneburst$="40"        : BPUT#F%,toneburst$  : REM 1750 Hz bandwidth
  366   serial$="03010FE0"     : BPUT#F%,serial$     : REM Built-in serial port
  367  CLOSE#F%
  368  fileopen%=FALSE
  369 ENDPROC
  370 
  371
  372 DEF PROCread_and_save_params_from_icons
  373
  374 IF FNvalues_out_of_range THEN
  375  message$="Some out-of-range parameters have been set to their default values. The modified parameters will now be saved."
  376  dummy=FNreport(message$,1)
  377 ENDIF
  378
  379 IF FNicon_selected(pane_handle%,15) thumbnails$="Y" ELSE thumbnails$="N"
  380
  381 IF m2$<>memories$ OR overlay$<>o2$ OR thumbnails$<>t2$ THEN
  382  message$="Parameters affecting the memory requirements of Pscan have been changed. You must quit and restart Pscan for these changes to come into effect."
  383  dummy=FNreport(message$,1)
  384 ENDIF
  385 
  386  F%=OPENUP(config_dir$+"Params")
  387   fileopen%=TRUE
  388   BPUT#F%,FNread_icon_text(pane_handle%,2)  : REM Callsign
  389   BPUT#F%,FNread_icon_text(pane_handle%,10) : REM Clock frequency
  390   BPUT#F%,FNread_icon_text(pane_handle%,33) : REM Start directory
  391   BPUT#F%,FNread_icon_text(pane_handle%,22) : REM Picture memories
  392   BPUT#F%,FNread_icon_text(pane_handle%,27) : REM Overlay size
  393   BPUT#F%,FNread_icon_text(pane_handle%,35) : REM User pathname
  394   BPUT#F%,FNread_icon_text(pane_handle%,38) : REM Auto-save path
  395   IF FNicon_selected(pane_handle%,16) BPUT#F%,"Y" ELSE BPUT#F%,"N":REM TXdiv
  396   IF FNicon_selected(pane_handle%,15) BPUT#F%,"Y" ELSE BPUT#F%,"N":REM Thumbs
  397   BPUT#F%,FNread_icon_text(pane_handle%,5)  : REM Header text
  398   BPUT#F%,FNread_icon_text(pane_handle%,7)  : REM Repeater CW ID
  399   BPUT#F%,FNread_icon_text(pane_handle%,18) : REM 1750 Hz bandwidth
  400   PROCconvert_icons_to_serial_address
  401   BPUT#F%,serial$                           : REM Serial port address
  402  CLOSE#F%
  403   fileopen%=FALSE
  404 ENDPROC
  405 
  406 DEF PROCicon_sequence_list
  407 REM Convert icon position (0 to 9) to actual icon handle
  408 REM Used to move the carat when TAB or up/down cursor keys pressed
  409  icon_list%?0=2
  410  icon_list%?1=5
  411  icon_list%?2=7
  412  icon_list%?3=10
  413  icon_list%?4=18
  414  icon_list%?5=22
  415  icon_list%?6=27
  416  icon_list%?7=33
  417  icon_list%?8=35
  418  icon_list%?9=38
  419 ENDPROC
  420
  421 DEF PROCtab_or_arrow_keys(key%)
  422  SYS "Wimp_GetCaretPosition",,block%
  423  IF block%!0=pane_handle% AND block%!4<>-1 THEN
  424   N%=-1
  425   REPEAT
  426    N%+=1
  427   UNTIL icon_list%?N%=block%!4 OR N%>icon_pos_limit%
  428   IF N%>icon_pos_limit% ENDPROC
  429
  430  IF key%=&18F THEN
  431   N%-=1:IF N%<0 N%=icon_pos_limit%
  432  ELSE
  433   N%+=1:IF N%>icon_pos_limit% N%=0
  434  ENDIF
  435   next_icon%=icon_list%?N%
  436   pos%=LEN(FNread_icon_text(pane_handle%,next_icon%))
  437   SYS "Wimp_SetCaretPosition",pane_handle%,next_icon%,0,0,-1,pos%
  438 ENDPROC
  439
  440 DEF PROCmemories_up_down(icon_handle%)
  441  memories$=FNread_icon_text(pane_handle%,22)
  442  IF icon_handle%=24 AND VAL(memories$)>2 THEN
  443   memories$=STR$(VAL(memories$)-1)
  444  ENDIF
  445  IF icon_handle%=25 AND VAL(memories$)<8 THEN
  446   memories$=STR$(VAL(memories$)+1)
  447  ENDIF
  448  PROCwrite_icon_text(pane_handle%,22,memories$)
  449 ENDPROC
  450
  451 DEF PROCfrequency_up_down(icon_handle%)
  452  clock_freq$=FNread_icon_text(pane_handle%,10)
  453  IF icon_handle%=11 THEN
  454   clock_freq$=STR$(VAL(clock_freq$)-1)
  455  ENDIF
  456  IF icon_handle%=12 THEN
  457   clock_freq$=STR$(VAL(clock_freq$)+1)
  458  ENDIF
  459  PROCwrite_icon_text(pane_handle%,10,clock_freq$)
  460 ENDPROC
  461
  462 DEF PROCtoneburst_up_down(icon_handle%)
  463  toneburst$=FNread_icon_text(pane_handle%,18)
  464  IF icon_handle%=19 AND VAL(toneburst$)>10 THEN
  465   toneburst$=STR$(VAL(toneburst$)-1)
  466  ENDIF
  467  IF icon_handle%=20 AND VAL(toneburst$)<200 THEN
  468   toneburst$=STR$(VAL(toneburst$)+1)
  469  ENDIF
  470  PROCwrite_icon_text(pane_handle%,18,toneburst$)
  471 ENDPROC
  472
  473 DEF PROCoverlay_up_down(icon_handle%)
  474  overlay$=FNread_icon_text(pane_handle%,27)
  475  IF icon_handle%=28 AND VAL(overlay$)>60 THEN
  476   overlay$=STR$(VAL(overlay$)-10)
  477  ENDIF
  478  IF icon_handle%=29 THEN
  479   overlay$=STR$(VAL(overlay$)+10)
  480  ENDIF
  481  PROCwrite_icon_text(pane_handle%,27,overlay$)
  482 ENDPROC
  483
  484 DEF FNvalues_out_of_range
  485  all_values_legal%=TRUE
  486  memories$=FNread_icon_text(pane_handle%,22)
  487  IF VAL(memories$)<2 THEN
  488   memories$="2":PROCwrite_icon_text(pane_handle%,22,memories$)
  489   all_values_legal%=FALSE
  490  ENDIF
  491  IF VAL(memories$)>8 THEN
  492   memories$="8":PROCwrite_icon_text(pane_handle%,22,memories$)
  493   all_values_legal%=FALSE
  494  ENDIF
  495
  496  clock_freq$=FNread_icon_text(pane_handle%,10)
  497  IF VAL(clock_freq$)<1990000 THEN
  498   clock_freq$="2000000":PROCwrite_icon_text(pane_handle%,10,clock_freq$)
  499   all_values_legal%=FALSE
  500  ENDIF
  501  IF VAL(clock_freq$)>2010000 THEN
  502   clock_freq$="2000000":PROCwrite_icon_text(pane_handle%,10,clock_freq$)
  503   all_values_legal%=FALSE
  504  ENDIF
  505
  506 toneburst$=FNread_icon_text(pane_handle%,18)
  507  IF VAL(toneburst$)<10 THEN
  508   toneburst$="40":PROCwrite_icon_text(pane_handle%,18,toneburst$)
  509   all_values_legal%=FALSE
  510  ENDIF
  511  IF VAL(toneburst$)>200 THEN
  512   clock_freq$="40":PROCwrite_icon_text(pane_handle%,18,toneburst$)
  513   all_values_legal%=FALSE
  514  ENDIF
  515
  516 overlay$=FNread_icon_text(pane_handle%,27)
  517  IF VAL(overlay$)<60 THEN
  518   overlay$="60":PROCwrite_icon_text(pane_handle%,27,overlay$)
  519   all_values_legal%=FALSE
  520  ENDIF
  521  
  522 IF NOT(all_values_legal%) THEN =TRUE ELSE =FALSE
  523
  524 DEF FNfile_len(f$)
  525  LOCAL r0%,r5%
  526  SYS "OS_File",17,f$ TO r0%,,,,r5%
  527  IF r0%=0 THEN
  528   ERROR 0,"File "+f$+" not found. This copy of Pscan may be corrupt. Please re-install it from the original disk or ZIP file."
  529  ELSE
  530   =(r5%+4)
  531  ENDIF
 � >ConWin15

4 � Window now comes to front of stack - 13.12.97
L � Overlay minimum dropped to 60k as manual area now separate - 11.12.97
0 � Configuration window for Pscan - 11.11.97
* � Serial port setup / pane - 23.11.97

, � All parameters are stored as strings.
	8 � tx_divider$ and thumbnails$ are either "Y" or "N"


! � taskid% 4,error_block% 256
) $taskid%="TASK":app$="Pscan Choices"

B ș "Wimp_Initialise",350,!taskid%,app$ � version%,taskhandle%

 � � �error(�,�$,�)

' config_dir$="<Pscan$Dir>.Choices."

8 � for R&D : config_dir$="ADFS::4.$.Updater.Config."

 fileopen%=�:atomwide%=�

 � block% &1000,ticon% &800
" � template1% 12,template2% 12
, $template1%="config":$template2%="pane"
- dummy=�file_len(config_dir$+"Templates")
* dummy=�file_len(config_dir$+"Params")
 
 �load_templates

 � icon_list% 32
  �icon_sequence_list
!' icon_position%=0:icon_pos_limit%=9
"( � There are 10 writeable text icons
#
$ �read_params_file
%/ m2$=memories$:o2$=overlay$:t2$=thumbnails$
& 
' �write_params_to_icons
( �open_windows
) quit%=�
*
+ �
,  �poll
- � quit%
.
/, ș "Wimp_CloseDown",taskhandle%,taskid%
0
1 �
2
3 � �load_templates
45  ș "Wimp_OpenTemplate",,config_dir$+"Templates"
5  
6N  ș "Wimp_LoadTemplate",,block%,ticon%,ticon%+&800,-1,template1%,0 �,,R2%
75  ș "Wimp_CreateWindow",,block% � config_handle%
8
9D  ș "Wimp_LoadTemplate",,block%,R2%,ticon%+&800,-1,template2%,0
:3  ș "Wimp_CreateWindow",,block% � pane_handle%
;
<6  ș "Wimp_CloseTemplate",,config_dir$+"Templates"
= �
>
? � �poll
@&  ș "Wimp_Poll",,block% � reason%
A   Ȏ reason% �
B    � 1     : �open_windows
C&    � 2     : �open_window_request
D    � 3     : quit%=�
E     � 6     : �mouse_clicked
F)    � 8     : �key_pressed(block%!24)
G!    � 17,18 : �decode_message
H   �
I �
J
K � �open_window_request
L!  � block%!0=config_handle% �
M   block%!100=pane_handle%
N+   ș "Wimp_GetWindowState",,block%+100
O   � block%!128<>-1 �
P    block%!128=-1
Q(    ș "Wimp_OpenWindow",,block%+100
R   �
S5   block%!0=config_handle%:block%!28=pane_handle%
T#   ș "Wimp_OpenWindow",,block%
U   block%!100=pane_handle%
V+   ș "Wimp_GetWindowState",,block%+100
W   block%!104=(block%!4)+20
X    block%!108=(block%!8)+116
Y"   block%!112=(block%!104)+678
Z    block%!116=(block%!16)-18
['   ș "Wimp_OpenWindow",,block%+100
\  �
]#   ș "Wimp_OpenWindow",,block%
^  �
_ �
`
a � �open_windows
b  block%!0=config_handle%
c&  ș "Wimp_GetWindowState",,block%
d  block%!28=-1
e"  ș "Wimp_OpenWindow",,block%
f
g  block%!0=pane_handle%
h&  ș "Wimp_GetWindowState",,block%
i  block%!28=-1:block%!24=0
j"  ș "Wimp_OpenWindow",,block%
k �
l
m � �decode_message
n  Ȏ block%!16 �
o   � 0 : quit%=�
p  �
q �
r  
s � �mouse_clicked
t  mousex%=block%!0
u  mousey%=block%!4
v  mousebut%=block%!8
w  whandle%=block%!12
x  icon_handle%=block%!16
yH  � mousebut%<>2 � whandle%=pane_handle% �pane_clicked(icon_handle%)
zL  � mousebut%<>2 � whandle%=config_handle% �config_clicked(icon_handle%)
{ �
|
}" � �pane_clicked(icon_handle%)
~  Ȏ icon_handle% �
1   � 11,12 : �frequency_up_down(icon_handle%)
�1   � 19,20 : �toneburst_up_down(icon_handle%)
�0   � 24,25 : �memories_up_down(icon_handle%)
�/   � 28,29 : �overlay_up_down(icon_handle%)
�$   � 41    : �shade_serial_icons
�#   � 42    : �show_serial_icons
�  �
� �
�
�$ � �config_clicked(icon_handle%)
�  Ȏ icon_handle% �
�   � 0 : quit%=�
�$   � 1 : �set_params_to_defaults
�-   � 2 : �read_and_save_params_from_icons
�            quit%=�
�  �
� �
�
� � �key_pressed(key%)
�  Ȏ key% �
�:   � 13             : �read_and_save_params_from_icons
�$                         quit%=�
�2   � &18A,&18E,&18F : �tab_or_arrow_keys(key%)
�  
�    ș "Wimp_ProcessKey",key%
�  �
� �
�
� � �error(err%,err$,erl%)
�  � fileopen% �#F%
�   error_block%!0=err%
�-   err$=err$+"  (error code "+�(erl%)+")"
�7   $(error_block%+4)=err$:error_block%?(4+� err$)=0
�9   ș "Wimp_ReportError",error_block%,1,app$ �,reply%
�.   ș "Wimp_CloseDown",taskhandle%,taskid%
�  �
� �
�
� � �report(check$,flag%)
�  error_block%!0=1
�:  $(error_block%+4)=check$:error_block%?(4+� check$)=0
�<  ș "Wimp_ReportError",error_block%,flag%,app$ �,reply%
� � reply%=1 �=� �=�
� 
�1 � �read_icon_text(pane_handle%,icon_handle%)
�  block%!0=pane_handle%
�  block%!4=icon_handle%
�#  ș"Wimp_GetIconState",,block%
� =$block%!28
�
�= � �write_icon_text(pane_handle%,icon_handle%,icon_text$)
�0  !block%=pane_handle%:block%!4=icon_handle%
�$  ș "Wimp_GetIconState",,block%
�  $(block%!28)=icon_text$
�  block%!4=icon_handle%
�  block%!8=0:block%!12=0
�$  ș "Wimp_SetIconState",,block%
� �
�
�2 � �icon_selected(window_handle%,icon_handle%)
�  block%!0=window_handle%
�  block%!4=icon_handle%
�#  ș"Wimp_GetIconState",,block%
�$ � (block%!24 � 1<<21) � =� � =�
�
�8 � �select_icon(window_handle%,icon_handle%,select%)
�  block%!0=window_handle%
�  block%!4=icon_handle%
�  block%!12=1<<21
�+  � select% block%!8=1<<21 � block%!8=0
�#  ș"Wimp_SetIconState",,block%
� �
�
�< � �serial_icons_off(window_handle%,icon_handle%,shade%)
�  block%!0=window_handle%
�  block%!4=icon_handle%
�  block%!12=1<<22
�*  � shade% block%!8=1<<22 � block%!8=0
�#  ș"Wimp_SetIconState",,block%
� �
�
� � �show_serial_icons
�  � N%=45 � 52
�+   �serial_icons_off(pane_handle%,N%,�)
�  �
�  � N%=55 � 57
�+   �serial_icons_off(pane_handle%,N%,�)
�  �
�)  �serial_icons_off(pane_handle%,0,�)
�  � �(atomwide%) �
�&   �select_icon(pane_handle%,47,�)
�&   �select_icon(pane_handle%,56,�)
�  �
�*  �serial_icons_off(pane_handle%,53,�)
�*  �serial_icons_off(pane_handle%,58,�)
� �
�
� � �shade_serial_icons
�  � N%=45 � 52
�+   �serial_icons_off(pane_handle%,N%,�)
�  �
�  � N%=55 � 57
�+   �serial_icons_off(pane_handle%,N%,�)
�  �
�)  �serial_icons_off(pane_handle%,0,�)
�*  �serial_icons_off(pane_handle%,53,�)
�*  �serial_icons_off(pane_handle%,58,�)
� �
�
� � �read_params_file
�   F%=�(config_dir$+"Params")
�   fileopen%=�
�   callsign$=�#F%
�   clock_freq$=�#F%
�   start_dir$=�#F%
�   memories$=�#F%
�   overlay$=�#F%
�   user_path$=�#F%
�   auto_path$=�#F%
�   tx_divider$=�#F%
�   thumbnails$=�#F%
�   header$=�#F%
�   cw$=�#F%
�   toneburst$=�#F%
�   serial$=�#F%
�
  �#F%
�  fileopen%=�
� �
�
 � �write_params_to_icons
0  �write_icon_text(pane_handle%,2,callsign$)
3  �write_icon_text(pane_handle%,10,clock_freq$)
2  �write_icon_text(pane_handle%,33,start_dir$)
1  �write_icon_text(pane_handle%,22,memories$)
0  �write_icon_text(pane_handle%,27,overlay$)
2  �write_icon_text(pane_handle%,35,user_path$)
2  �write_icon_text(pane_handle%,38,auto_path$)
  � tx_divider$="Y" �
	&   �select_icon(pane_handle%,16,�)

  �
&   �select_icon(pane_handle%,16,�)
  �

  � thumbnails$="Y" �
&   �select_icon(pane_handle%,15,�)
  �
&   �select_icon(pane_handle%,15,�)
  �
.  �write_icon_text(pane_handle%,5,header$)
*  �write_icon_text(pane_handle%,7,cw$)
2  �write_icon_text(pane_handle%,18,toneburst$)
&  �convert_serial_address_to_icons
 �

' � �convert_serial_address_to_icons
  � serial$="&03010FE0" �
   �shade_serial_icons
&   �select_icon(pane_handle%,41,�)
&   �select_icon(pane_handle%,42,�)
  �
   atomwide%=�
   �show_serial_icons
 &   �select_icon(pane_handle%,41,�)
!&   �select_icon(pane_handle%,42,�)
"5   � N%=45 � 52:�select_icon(pane_handle%,N%,�):�
#   P$=�serial$,6)
$   Ȏ P$ �
%4    � "&03242" : �select_icon(pane_handle%,45,�)
&4    � "&03246" : �select_icon(pane_handle%,46,�)
'4    � "&0324A" : �select_icon(pane_handle%,47,�)
(4    � "&0324E" : �select_icon(pane_handle%,48,�)
)4    � "&03272" : �select_icon(pane_handle%,49,�)
*4    � "&03276" : �select_icon(pane_handle%,50,�)
+4    � "&0327A" : �select_icon(pane_handle%,51,�)
,4    � "&0327E" : �select_icon(pane_handle%,52,�)
-   �
.5   � N%=55 � 57:�select_icon(pane_handle%,N%,�):�
/   P$=�serial$,3)
0   Ȏ P$ �
14    � "800"    : �select_icon(pane_handle%,55,�)
24    � "400"    : �select_icon(pane_handle%,56,�)
34    � "000"    : �select_icon(pane_handle%,57,�)
4   �
5  �
6 �
7
8' � �convert_icons_to_serial_address
9)  � �icon_selected(pane_handle%,41) �
:   serial$="&03010FE0"
;  �
<   slot%=0
=   � N%=45 � 52
>2    � �icon_selected(pane_handle%,N%) slot%=N%
?   �
@   Ȏ slot% �
A"    � 0  : serial$="&03010FE0"
B    � 45 : serial$="&03242"
C    � 46 : serial$="&03246"
D    � 47 : serial$="&0324A"
E    � 48 : serial$="&0324E"
F    � 49 : serial$="&03272"
G    � 50 : serial$="&03276"
H    � 51 : serial$="&0327A"
I    � 52 : serial$="&0327E"
J   �
K   port%=0
L   � N%=55 � 57
M=    � �icon_selected(pane_handle%,N%) � slot%<>0 port%=N%
N   �
O   Ȏ port% �
P$    � 55 : serial$=serial$+"800"
Q$    � 56 : serial$=serial$+"400"
R$    � 57 : serial$=serial$+"000"
S   �
T  �
U �
V
W � �set_params_to_defaults
X�  check$="Setting all parameters to their default values may cause sloping pictures. Click OK if you are sure you want to do this."
Y  � �report(check$,3) �
Z!   �write_default_params_file
[   �write_params_to_icons
\  �
] �
^
_" � �write_default_params_file 
`   F%=�(config_dir$+"Params")
a   fileopen%=�
bF   callsign$="MyCall"     : �#F%,callsign$   : � Testcard callsign
cD   clock_freq$="2000000"  : �#F%,clock_freq$ : � Clock frequency
dD   start_dir$="ADFS::4.$" : �#F%,start_dir$  : � Start directory
eE   memories$="3"          : �#F%,memories$   : � Picture memories
fF   overlay$="320"         : �#F%,overlay$    : � Overlay size (KB)
gB   user_path$="NONE"      : �#F%,user_path$  : � User pathname
hC   auto_path$="ADFS::4.$" : �#F%,auto_path$  : � Auto-save path
iF   tx_divider$="N"        : �#F%,tx_divider$ : � 74HC74 TX divider
j?   thumbnails$="Y"        : �#F%,thumbnails$ : � Thumbnails
k@   header$="Pscan SSTV"   : �#F%,header$     : � Header text
lC   cw$="SSTV PSE K"       : �#F%,cw$         : � Repeater CW ID
mF   toneburst$="40"        : �#F%,toneburst$  : � 1750 Hz bandwidth
nI   serial$="03010FE0"     : �#F%,serial$     : � Built-in serial port
o
  �#F%
p  fileopen%=�
q �
r 
s
t' � �read_and_save_params_from_icons
u
v � �values_out_of_range �
w  message$="Some out-of-range parameters have been set to their default values. The modified parameters will now be saved."
x  dummy=�report(message$,1)
y �
z
{H � �icon_selected(pane_handle%,15) thumbnails$="Y" � thumbnails$="N"
|
}: � m2$<>memories$ � overlay$<>o2$ � thumbnails$<>t2$ �
~�  message$="Parameters affecting the memory requirements of Pscan have been changed. You must quit and restart Pscan for these changes to come into effect."
  dummy=�report(message$,1)
� �
� 
�   F%=�(config_dir$+"Params")
�   fileopen%=�
�9   �#F%,�read_icon_text(pane_handle%,2)  : � Callsign
�@   �#F%,�read_icon_text(pane_handle%,10) : � Clock frequency
�@   �#F%,�read_icon_text(pane_handle%,33) : � Start directory
�A   �#F%,�read_icon_text(pane_handle%,22) : � Picture memories
�=   �#F%,�read_icon_text(pane_handle%,27) : � Overlay size
�>   �#F%,�read_icon_text(pane_handle%,35) : � User pathname
�?   �#F%,�read_icon_text(pane_handle%,38) : � Auto-save path
�D   � �icon_selected(pane_handle%,16) �#F%,"Y" � �#F%,"N":� TXdiv
�E   � �icon_selected(pane_handle%,15) �#F%,"Y" � �#F%,"N":� Thumbs
�<   �#F%,�read_icon_text(pane_handle%,5)  : � Header text
�?   �#F%,�read_icon_text(pane_handle%,7)  : � Repeater CW ID
�B   �#F%,�read_icon_text(pane_handle%,18) : � 1750 Hz bandwidth
�'   �convert_icons_to_serial_address
�E   �#F%,serial$                           : � Serial port address
�
  �#F%
�   fileopen%=�
� �
� 
� � �icon_sequence_list
�; � Convert icon position (0 to 9) to actual icon handle
�E � Used to move the carat when TAB or up/down cursor keys pressed
�  icon_list%?0=2
�  icon_list%?1=5
�  icon_list%?2=7
�  icon_list%?3=10
�  icon_list%?4=18
�  icon_list%?5=22
�  icon_list%?6=27
�  icon_list%?7=33
�  icon_list%?8=35
�  icon_list%?9=38
� �
�
� � �tab_or_arrow_keys(key%)
�(  ș "Wimp_GetCaretPosition",,block%
�.  � block%!0=pane_handle% � block%!4<>-1 �
�   N%=-1
�   �
�
    N%+=1
�4   � icon_list%?N%=block%!4 � N%>icon_pos_limit%
�   � N%>icon_pos_limit% �
�
�  � key%=&18F �
�&   N%-=1:� N%<0 N%=icon_pos_limit%
�  �
�&   N%+=1:� N%>icon_pos_limit% N%=0
�  �
�   next_icon%=icon_list%?N%
�7   pos%=�(�read_icon_text(pane_handle%,next_icon%))
�E   ș "Wimp_SetCaretPosition",pane_handle%,next_icon%,0,0,-1,pos%
� �
�
�& � �memories_up_down(icon_handle%)
�0  memories$=�read_icon_text(pane_handle%,22)
�*  � icon_handle%=24 � �(memories$)>2 �
�"   memories$=�(�(memories$)-1)
�  �
�*  � icon_handle%=25 � �(memories$)<8 �
�"   memories$=�(�(memories$)+1)
�  �
�1  �write_icon_text(pane_handle%,22,memories$)
� �
�
�' � �frequency_up_down(icon_handle%)
�2  clock_freq$=�read_icon_text(pane_handle%,10)
�  � icon_handle%=11 �
�&   clock_freq$=�(�(clock_freq$)-1)
�  �
�  � icon_handle%=12 �
�&   clock_freq$=�(�(clock_freq$)+1)
�  �
�3  �write_icon_text(pane_handle%,10,clock_freq$)
� �
�
�' � �toneburst_up_down(icon_handle%)
�1  toneburst$=�read_icon_text(pane_handle%,18)
�,  � icon_handle%=19 � �(toneburst$)>10 �
�$   toneburst$=�(�(toneburst$)-1)
�  �
�-  � icon_handle%=20 � �(toneburst$)<200 �
�$   toneburst$=�(�(toneburst$)+1)
�  �
�2  �write_icon_text(pane_handle%,18,toneburst$)
� �
�
�% � �overlay_up_down(icon_handle%)
�/  overlay$=�read_icon_text(pane_handle%,27)
�*  � icon_handle%=28 � �(overlay$)>60 �
�!   overlay$=�(�(overlay$)-10)
�  �
�  � icon_handle%=29 �
�!   overlay$=�(�(overlay$)+10)
�  �
�0  �write_icon_text(pane_handle%,27,overlay$)
� �
�
� � �values_out_of_range
�  all_values_legal%=�
�0  memories$=�read_icon_text(pane_handle%,22)
�  � �(memories$)<2 �
�@   memories$="2":�write_icon_text(pane_handle%,22,memories$)
�   all_values_legal%=�
�  �
�  � �(memories$)>8 �
�@   memories$="8":�write_icon_text(pane_handle%,22,memories$)
�   all_values_legal%=�
�  �
�
�2  clock_freq$=�read_icon_text(pane_handle%,10)
�   � �(clock_freq$)<1990000 �
�J   clock_freq$="2000000":�write_icon_text(pane_handle%,10,clock_freq$)
�   all_values_legal%=�
�  �
�   � �(clock_freq$)>2010000 �
�J   clock_freq$="2000000":�write_icon_text(pane_handle%,10,clock_freq$)
�   all_values_legal%=�
�  �
�
�0 toneburst$=�read_icon_text(pane_handle%,18)
�  � �(toneburst$)<10 �
�C   toneburst$="40":�write_icon_text(pane_handle%,18,toneburst$)
�   all_values_legal%=�
�  �
�  � �(toneburst$)>200 �
D   clock_freq$="40":�write_icon_text(pane_handle%,18,toneburst$)
   all_values_legal%=�
  �

. overlay$=�read_icon_text(pane_handle%,27)
  � �(overlay$)<60 �
?   overlay$="60":�write_icon_text(pane_handle%,27,overlay$)
   all_values_legal%=�
  �
	  

% � �(all_values_legal%) � =� � =�

 � �file_len(f$)

  � r0%,r5%
%  ș "OS_File",17,f$ � r0%,,,,r5%
  � r0%=0 �
   � 0,"File "+f$+" not found. This copy of Pscan may be corrupt. Please re-install it from the original disk or ZIP file."
  �
   =(r5%+4)
  �
�
00000000  0d 00 01 10 20 f4 20 3e  43 6f 6e 57 69 6e 31 35  |.... . >ConWin15|
00000010  0d 00 02 04 0d 00 03 34  20 f4 20 57 69 6e 64 6f  |.......4 . Windo|
00000020  77 20 6e 6f 77 20 63 6f  6d 65 73 20 74 6f 20 66  |w now comes to f|
00000030  72 6f 6e 74 20 6f 66 20  73 74 61 63 6b 20 2d 20  |ront of stack - |
00000040  31 33 2e 31 32 2e 39 37  0d 00 04 4c 20 f4 20 4f  |13.12.97...L . O|
00000050  76 65 72 6c 61 79 20 6d  69 6e 69 6d 75 6d 20 64  |verlay minimum d|
00000060  72 6f 70 70 65 64 20 74  6f 20 36 30 6b 20 61 73  |ropped to 60k as|
00000070  20 6d 61 6e 75 61 6c 20  61 72 65 61 20 6e 6f 77  | manual area now|
00000080  20 73 65 70 61 72 61 74  65 20 2d 20 31 31 2e 31  | separate - 11.1|
00000090  32 2e 39 37 0d 00 05 30  20 f4 20 43 6f 6e 66 69  |2.97...0 . Confi|
000000a0  67 75 72 61 74 69 6f 6e  20 77 69 6e 64 6f 77 20  |guration window |
000000b0  66 6f 72 20 50 73 63 61  6e 20 2d 20 31 31 2e 31  |for Pscan - 11.1|
000000c0  31 2e 39 37 0d 00 06 2a  20 f4 20 53 65 72 69 61  |1.97...* . Seria|
000000d0  6c 20 70 6f 72 74 20 73  65 74 75 70 20 2f 20 70  |l port setup / p|
000000e0  61 6e 65 20 2d 20 32 33  2e 31 31 2e 39 37 0d 00  |ane - 23.11.97..|
000000f0  07 04 0d 00 08 2c 20 f4  20 41 6c 6c 20 70 61 72  |....., . All par|
00000100  61 6d 65 74 65 72 73 20  61 72 65 20 73 74 6f 72  |ameters are stor|
00000110  65 64 20 61 73 20 73 74  72 69 6e 67 73 2e 0d 00  |ed as strings...|
00000120  09 38 20 f4 20 74 78 5f  64 69 76 69 64 65 72 24  |.8 . tx_divider$|
00000130  20 61 6e 64 20 74 68 75  6d 62 6e 61 69 6c 73 24  | and thumbnails$|
00000140  20 61 72 65 20 65 69 74  68 65 72 20 22 59 22 20  | are either "Y" |
00000150  6f 72 20 22 4e 22 0d 00  0a 04 0d 00 0b 21 20 de  |or "N".......! .|
00000160  20 74 61 73 6b 69 64 25  20 34 2c 65 72 72 6f 72  | taskid% 4,error|
00000170  5f 62 6c 6f 63 6b 25 20  32 35 36 0d 00 0c 29 20  |_block% 256...) |
00000180  24 74 61 73 6b 69 64 25  3d 22 54 41 53 4b 22 3a  |$taskid%="TASK":|
00000190  61 70 70 24 3d 22 50 73  63 61 6e 20 43 68 6f 69  |app$="Pscan Choi|
000001a0  63 65 73 22 0d 00 0d 42  20 c8 99 20 22 57 69 6d  |ces"...B .. "Wim|
000001b0  70 5f 49 6e 69 74 69 61  6c 69 73 65 22 2c 33 35  |p_Initialise",35|
000001c0  30 2c 21 74 61 73 6b 69  64 25 2c 61 70 70 24 20  |0,!taskid%,app$ |
000001d0  b8 20 76 65 72 73 69 6f  6e 25 2c 74 61 73 6b 68  |. version%,taskh|
000001e0  61 6e 64 6c 65 25 0d 00  0e 04 0d 00 0f 17 20 ee  |andle%........ .|
000001f0  20 85 20 f2 65 72 72 6f  72 28 9f 2c f6 24 2c 9e  | . .error(.,.$,.|
00000200  29 0d 00 10 04 0d 00 11  27 20 63 6f 6e 66 69 67  |).......' config|
00000210  5f 64 69 72 24 3d 22 3c  50 73 63 61 6e 24 44 69  |_dir$="<Pscan$Di|
00000220  72 3e 2e 43 68 6f 69 63  65 73 2e 22 0d 00 12 04  |r>.Choices."....|
00000230  0d 00 13 38 20 f4 20 66  6f 72 20 52 26 44 20 3a  |...8 . for R&D :|
00000240  20 63 6f 6e 66 69 67 5f  64 69 72 24 3d 22 41 44  | config_dir$="AD|
00000250  46 53 3a 3a 34 2e 24 2e  55 70 64 61 74 65 72 2e  |FS::4.$.Updater.|
00000260  43 6f 6e 66 69 67 2e 22  0d 00 14 04 0d 00 15 1c  |Config."........|
00000270  20 66 69 6c 65 6f 70 65  6e 25 3d a3 3a 61 74 6f  | fileopen%=.:ato|
00000280  6d 77 69 64 65 25 3d a3  0d 00 16 04 0d 00 17 1f  |mwide%=.........|
00000290  20 de 20 62 6c 6f 63 6b  25 20 26 31 30 30 30 2c  | . block% &1000,|
000002a0  74 69 63 6f 6e 25 20 26  38 30 30 0d 00 18 22 20  |ticon% &800..." |
000002b0  de 20 74 65 6d 70 6c 61  74 65 31 25 20 31 32 2c  |. template1% 12,|
000002c0  74 65 6d 70 6c 61 74 65  32 25 20 31 32 0d 00 19  |template2% 12...|
000002d0  2c 20 24 74 65 6d 70 6c  61 74 65 31 25 3d 22 63  |, $template1%="c|
000002e0  6f 6e 66 69 67 22 3a 24  74 65 6d 70 6c 61 74 65  |onfig":$template|
000002f0  32 25 3d 22 70 61 6e 65  22 0d 00 1a 2d 20 64 75  |2%="pane"...- du|
00000300  6d 6d 79 3d a4 66 69 6c  65 5f 6c 65 6e 28 63 6f  |mmy=.file_len(co|
00000310  6e 66 69 67 5f 64 69 72  24 2b 22 54 65 6d 70 6c  |nfig_dir$+"Templ|
00000320  61 74 65 73 22 29 0d 00  1b 2a 20 64 75 6d 6d 79  |ates")...* dummy|
00000330  3d a4 66 69 6c 65 5f 6c  65 6e 28 63 6f 6e 66 69  |=.file_len(confi|
00000340  67 5f 64 69 72 24 2b 22  50 61 72 61 6d 73 22 29  |g_dir$+"Params")|
00000350  0d 00 1c 05 20 0d 00 1d  14 20 f2 6c 6f 61 64 5f  |.... .... .load_|
00000360  74 65 6d 70 6c 61 74 65  73 0d 00 1e 04 0d 00 1f  |templates.......|
00000370  14 20 de 20 69 63 6f 6e  5f 6c 69 73 74 25 20 33  |. . icon_list% 3|
00000380  32 0d 00 20 18 20 f2 69  63 6f 6e 5f 73 65 71 75  |2.. . .icon_sequ|
00000390  65 6e 63 65 5f 6c 69 73  74 0d 00 21 27 20 69 63  |ence_list..!' ic|
000003a0  6f 6e 5f 70 6f 73 69 74  69 6f 6e 25 3d 30 3a 69  |on_position%=0:i|
000003b0  63 6f 6e 5f 70 6f 73 5f  6c 69 6d 69 74 25 3d 39  |con_pos_limit%=9|
000003c0  0d 00 22 28 20 f4 20 54  68 65 72 65 20 61 72 65  |.."( . There are|
000003d0  20 31 30 20 77 72 69 74  65 61 62 6c 65 20 74 65  | 10 writeable te|
000003e0  78 74 20 69 63 6f 6e 73  0d 00 23 04 0d 00 24 16  |xt icons..#...$.|
000003f0  20 f2 72 65 61 64 5f 70  61 72 61 6d 73 5f 66 69  | .read_params_fi|
00000400  6c 65 0d 00 25 2f 20 6d  32 24 3d 6d 65 6d 6f 72  |le..%/ m2$=memor|
00000410  69 65 73 24 3a 6f 32 24  3d 6f 76 65 72 6c 61 79  |ies$:o2$=overlay|
00000420  24 3a 74 32 24 3d 74 68  75 6d 62 6e 61 69 6c 73  |$:t2$=thumbnails|
00000430  24 0d 00 26 05 20 0d 00  27 1b 20 f2 77 72 69 74  |$..&. ..'. .writ|
00000440  65 5f 70 61 72 61 6d 73  5f 74 6f 5f 69 63 6f 6e  |e_params_to_icon|
00000450  73 0d 00 28 12 20 f2 6f  70 65 6e 5f 77 69 6e 64  |s..(. .open_wind|
00000460  6f 77 73 0d 00 29 0c 20  71 75 69 74 25 3d a3 0d  |ows..). quit%=..|
00000470  00 2a 04 0d 00 2b 06 20  f5 0d 00 2c 0b 20 20 f2  |.*...+. ...,.  .|
00000480  70 6f 6c 6c 0d 00 2d 0c  20 fd 20 71 75 69 74 25  |poll..-. . quit%|
00000490  0d 00 2e 04 0d 00 2f 2c  20 c8 99 20 22 57 69 6d  |....../, .. "Wim|
000004a0  70 5f 43 6c 6f 73 65 44  6f 77 6e 22 2c 74 61 73  |p_CloseDown",tas|
000004b0  6b 68 61 6e 64 6c 65 25  2c 74 61 73 6b 69 64 25  |khandle%,taskid%|
000004c0  0d 00 30 04 0d 00 31 06  20 e0 0d 00 32 04 0d 00  |..0...1. ...2...|
000004d0  33 16 20 dd 20 f2 6c 6f  61 64 5f 74 65 6d 70 6c  |3. . .load_templ|
000004e0  61 74 65 73 0d 00 34 35  20 20 c8 99 20 22 57 69  |ates..45  .. "Wi|
000004f0  6d 70 5f 4f 70 65 6e 54  65 6d 70 6c 61 74 65 22  |mp_OpenTemplate"|
00000500  2c 2c 63 6f 6e 66 69 67  5f 64 69 72 24 2b 22 54  |,,config_dir$+"T|
00000510  65 6d 70 6c 61 74 65 73  22 0d 00 35 06 20 20 0d  |emplates"..5.  .|
00000520  00 36 4e 20 20 c8 99 20  22 57 69 6d 70 5f 4c 6f  |.6N  .. "Wimp_Lo|
00000530  61 64 54 65 6d 70 6c 61  74 65 22 2c 2c 62 6c 6f  |adTemplate",,blo|
00000540  63 6b 25 2c 74 69 63 6f  6e 25 2c 74 69 63 6f 6e  |ck%,ticon%,ticon|
00000550  25 2b 26 38 30 30 2c 2d  31 2c 74 65 6d 70 6c 61  |%+&800,-1,templa|
00000560  74 65 31 25 2c 30 20 b8  2c 2c 52 32 25 0d 00 37  |te1%,0 .,,R2%..7|
00000570  35 20 20 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |5  .. "Wimp_Crea|
00000580  74 65 57 69 6e 64 6f 77  22 2c 2c 62 6c 6f 63 6b  |teWindow",,block|
00000590  25 20 b8 20 63 6f 6e 66  69 67 5f 68 61 6e 64 6c  |% . config_handl|
000005a0  65 25 0d 00 38 04 0d 00  39 44 20 20 c8 99 20 22  |e%..8...9D  .. "|
000005b0  57 69 6d 70 5f 4c 6f 61  64 54 65 6d 70 6c 61 74  |Wimp_LoadTemplat|
000005c0  65 22 2c 2c 62 6c 6f 63  6b 25 2c 52 32 25 2c 74  |e",,block%,R2%,t|
000005d0  69 63 6f 6e 25 2b 26 38  30 30 2c 2d 31 2c 74 65  |icon%+&800,-1,te|
000005e0  6d 70 6c 61 74 65 32 25  2c 30 0d 00 3a 33 20 20  |mplate2%,0..:3  |
000005f0  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 57  |.. "Wimp_CreateW|
00000600  69 6e 64 6f 77 22 2c 2c  62 6c 6f 63 6b 25 20 b8  |indow",,block% .|
00000610  20 70 61 6e 65 5f 68 61  6e 64 6c 65 25 0d 00 3b  | pane_handle%..;|
00000620  04 0d 00 3c 36 20 20 c8  99 20 22 57 69 6d 70 5f  |...<6  .. "Wimp_|
00000630  43 6c 6f 73 65 54 65 6d  70 6c 61 74 65 22 2c 2c  |CloseTemplate",,|
00000640  63 6f 6e 66 69 67 5f 64  69 72 24 2b 22 54 65 6d  |config_dir$+"Tem|
00000650  70 6c 61 74 65 73 22 0d  00 3d 06 20 e1 0d 00 3e  |plates"..=. ...>|
00000660  04 0d 00 3f 0c 20 dd 20  f2 70 6f 6c 6c 0d 00 40  |...?. . .poll..@|
00000670  26 20 20 c8 99 20 22 57  69 6d 70 5f 50 6f 6c 6c  |&  .. "Wimp_Poll|
00000680  22 2c 2c 62 6c 6f 63 6b  25 20 b8 20 72 65 61 73  |",,block% . reas|
00000690  6f 6e 25 0d 00 41 13 20  20 20 c8 8e 20 72 65 61  |on%..A.   .. rea|
000006a0  73 6f 6e 25 20 ca 0d 00  42 1f 20 20 20 20 c9 20  |son% ...B.    . |
000006b0  31 20 20 20 20 20 3a 20  f2 6f 70 65 6e 5f 77 69  |1     : .open_wi|
000006c0  6e 64 6f 77 73 0d 00 43  26 20 20 20 20 c9 20 32  |ndows..C&    . 2|
000006d0  20 20 20 20 20 3a 20 f2  6f 70 65 6e 5f 77 69 6e  |     : .open_win|
000006e0  64 6f 77 5f 72 65 71 75  65 73 74 0d 00 44 19 20  |dow_request..D. |
000006f0  20 20 20 c9 20 33 20 20  20 20 20 3a 20 71 75 69  |   . 3     : qui|
00000700  74 25 3d b9 0d 00 45 20  20 20 20 20 c9 20 36 20  |t%=...E     . 6 |
00000710  20 20 20 20 3a 20 f2 6d  6f 75 73 65 5f 63 6c 69  |    : .mouse_cli|
00000720  63 6b 65 64 0d 00 46 29  20 20 20 20 c9 20 38 20  |cked..F)    . 8 |
00000730  20 20 20 20 3a 20 f2 6b  65 79 5f 70 72 65 73 73  |    : .key_press|
00000740  65 64 28 62 6c 6f 63 6b  25 21 32 34 29 0d 00 47  |ed(block%!24)..G|
00000750  21 20 20 20 20 c9 20 31  37 2c 31 38 20 3a 20 f2  |!    . 17,18 : .|
00000760  64 65 63 6f 64 65 5f 6d  65 73 73 61 67 65 0d 00  |decode_message..|
00000770  48 08 20 20 20 cb 0d 00  49 06 20 e1 0d 00 4a 04  |H.   ...I. ...J.|
00000780  0d 00 4b 1b 20 dd 20 f2  6f 70 65 6e 5f 77 69 6e  |..K. . .open_win|
00000790  64 6f 77 5f 72 65 71 75  65 73 74 0d 00 4c 21 20  |dow_request..L! |
000007a0  20 e7 20 62 6c 6f 63 6b  25 21 30 3d 63 6f 6e 66  | . block%!0=conf|
000007b0  69 67 5f 68 61 6e 64 6c  65 25 20 8c 0d 00 4d 1e  |ig_handle% ...M.|
000007c0  20 20 20 62 6c 6f 63 6b  25 21 31 30 30 3d 70 61  |   block%!100=pa|
000007d0  6e 65 5f 68 61 6e 64 6c  65 25 0d 00 4e 2b 20 20  |ne_handle%..N+  |
000007e0  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
000007f0  64 6f 77 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |dowState",,block|
00000800  25 2b 31 30 30 0d 00 4f  19 20 20 20 e7 20 62 6c  |%+100..O.   . bl|
00000810  6f 63 6b 25 21 31 32 38  3c 3e 2d 31 20 8c 0d 00  |ock%!128<>-1 ...|
00000820  50 15 20 20 20 20 62 6c  6f 63 6b 25 21 31 32 38  |P.    block%!128|
00000830  3d 2d 31 0d 00 51 28 20  20 20 20 c8 99 20 22 57  |=-1..Q(    .. "W|
00000840  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00000850  2c 62 6c 6f 63 6b 25 2b  31 30 30 0d 00 52 08 20  |,block%+100..R. |
00000860  20 20 cd 0d 00 53 35 20  20 20 62 6c 6f 63 6b 25  |  ...S5   block%|
00000870  21 30 3d 63 6f 6e 66 69  67 5f 68 61 6e 64 6c 65  |!0=config_handle|
00000880  25 3a 62 6c 6f 63 6b 25  21 32 38 3d 70 61 6e 65  |%:block%!28=pane|
00000890  5f 68 61 6e 64 6c 65 25  0d 00 54 23 20 20 20 c8  |_handle%..T#   .|
000008a0  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
000008b0  6f 77 22 2c 2c 62 6c 6f  63 6b 25 0d 00 55 1e 20  |ow",,block%..U. |
000008c0  20 20 62 6c 6f 63 6b 25  21 31 30 30 3d 70 61 6e  |  block%!100=pan|
000008d0  65 5f 68 61 6e 64 6c 65  25 0d 00 56 2b 20 20 20  |e_handle%..V+   |
000008e0  c8 99 20 22 57 69 6d 70  5f 47 65 74 57 69 6e 64  |.. "Wimp_GetWind|
000008f0  6f 77 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |owState",,block%|
00000900  2b 31 30 30 0d 00 57 1f  20 20 20 62 6c 6f 63 6b  |+100..W.   block|
00000910  25 21 31 30 34 3d 28 62  6c 6f 63 6b 25 21 34 29  |%!104=(block%!4)|
00000920  2b 32 30 0d 00 58 20 20  20 20 62 6c 6f 63 6b 25  |+20..X    block%|
00000930  21 31 30 38 3d 28 62 6c  6f 63 6b 25 21 38 29 2b  |!108=(block%!8)+|
00000940  31 31 36 0d 00 59 22 20  20 20 62 6c 6f 63 6b 25  |116..Y"   block%|
00000950  21 31 31 32 3d 28 62 6c  6f 63 6b 25 21 31 30 34  |!112=(block%!104|
00000960  29 2b 36 37 38 0d 00 5a  20 20 20 20 62 6c 6f 63  |)+678..Z    bloc|
00000970  6b 25 21 31 31 36 3d 28  62 6c 6f 63 6b 25 21 31  |k%!116=(block%!1|
00000980  36 29 2d 31 38 0d 00 5b  27 20 20 20 c8 99 20 22  |6)-18..['   .. "|
00000990  57 69 6d 70 5f 4f 70 65  6e 57 69 6e 64 6f 77 22  |Wimp_OpenWindow"|
000009a0  2c 2c 62 6c 6f 63 6b 25  2b 31 30 30 0d 00 5c 07  |,,block%+100..\.|
000009b0  20 20 cc 0d 00 5d 23 20  20 20 c8 99 20 22 57 69  |  ...]#   .. "Wi|
000009c0  6d 70 5f 4f 70 65 6e 57  69 6e 64 6f 77 22 2c 2c  |mp_OpenWindow",,|
000009d0  62 6c 6f 63 6b 25 0d 00  5e 07 20 20 cd 0d 00 5f  |block%..^.  ..._|
000009e0  06 20 e1 0d 00 60 04 0d  00 61 14 20 dd 20 f2 6f  |. ...`...a. . .o|
000009f0  70 65 6e 5f 77 69 6e 64  6f 77 73 0d 00 62 1d 20  |pen_windows..b. |
00000a00  20 62 6c 6f 63 6b 25 21  30 3d 63 6f 6e 66 69 67  | block%!0=config|
00000a10  5f 68 61 6e 64 6c 65 25  0d 00 63 26 20 20 c8 99  |_handle%..c&  ..|
00000a20  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00000a30  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 00  |State",,block%..|
00000a40  64 12 20 20 62 6c 6f 63  6b 25 21 32 38 3d 2d 31  |d.  block%!28=-1|
00000a50  0d 00 65 22 20 20 c8 99  20 22 57 69 6d 70 5f 4f  |..e"  .. "Wimp_O|
00000a60  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 62 6c 6f 63  |penWindow",,bloc|
00000a70  6b 25 0d 00 66 04 0d 00  67 1b 20 20 62 6c 6f 63  |k%..f...g.  bloc|
00000a80  6b 25 21 30 3d 70 61 6e  65 5f 68 61 6e 64 6c 65  |k%!0=pane_handle|
00000a90  25 0d 00 68 26 20 20 c8  99 20 22 57 69 6d 70 5f  |%..h&  .. "Wimp_|
00000aa0  47 65 74 57 69 6e 64 6f  77 53 74 61 74 65 22 2c  |GetWindowState",|
00000ab0  2c 62 6c 6f 63 6b 25 0d  00 69 1e 20 20 62 6c 6f  |,block%..i.  blo|
00000ac0  63 6b 25 21 32 38 3d 2d  31 3a 62 6c 6f 63 6b 25  |ck%!28=-1:block%|
00000ad0  21 32 34 3d 30 0d 00 6a  22 20 20 c8 99 20 22 57  |!24=0..j"  .. "W|
00000ae0  69 6d 70 5f 4f 70 65 6e  57 69 6e 64 6f 77 22 2c  |imp_OpenWindow",|
00000af0  2c 62 6c 6f 63 6b 25 0d  00 6b 06 20 e1 0d 00 6c  |,block%..k. ...l|
00000b00  04 0d 00 6d 16 20 dd 20  f2 64 65 63 6f 64 65 5f  |...m. . .decode_|
00000b10  6d 65 73 73 61 67 65 0d  00 6e 14 20 20 c8 8e 20  |message..n.  .. |
00000b20  62 6c 6f 63 6b 25 21 31  36 20 ca 0d 00 6f 14 20  |block%!16 ...o. |
00000b30  20 20 c9 20 30 20 3a 20  71 75 69 74 25 3d b9 0d  |  . 0 : quit%=..|
00000b40  00 70 07 20 20 cb 0d 00  71 06 20 e1 0d 00 72 06  |.p.  ...q. ...r.|
00000b50  20 20 0d 00 73 15 20 dd  20 f2 6d 6f 75 73 65 5f  |  ..s. . .mouse_|
00000b60  63 6c 69 63 6b 65 64 0d  00 74 16 20 20 6d 6f 75  |clicked..t.  mou|
00000b70  73 65 78 25 3d 62 6c 6f  63 6b 25 21 30 0d 00 75  |sex%=block%!0..u|
00000b80  16 20 20 6d 6f 75 73 65  79 25 3d 62 6c 6f 63 6b  |.  mousey%=block|
00000b90  25 21 34 0d 00 76 18 20  20 6d 6f 75 73 65 62 75  |%!4..v.  mousebu|
00000ba0  74 25 3d 62 6c 6f 63 6b  25 21 38 0d 00 77 18 20  |t%=block%!8..w. |
00000bb0  20 77 68 61 6e 64 6c 65  25 3d 62 6c 6f 63 6b 25  | whandle%=block%|
00000bc0  21 31 32 0d 00 78 1c 20  20 69 63 6f 6e 5f 68 61  |!12..x.  icon_ha|
00000bd0  6e 64 6c 65 25 3d 62 6c  6f 63 6b 25 21 31 36 0d  |ndle%=block%!16.|
00000be0  00 79 48 20 20 e7 20 6d  6f 75 73 65 62 75 74 25  |.yH  . mousebut%|
00000bf0  3c 3e 32 20 80 20 77 68  61 6e 64 6c 65 25 3d 70  |<>2 . whandle%=p|
00000c00  61 6e 65 5f 68 61 6e 64  6c 65 25 20 f2 70 61 6e  |ane_handle% .pan|
00000c10  65 5f 63 6c 69 63 6b 65  64 28 69 63 6f 6e 5f 68  |e_clicked(icon_h|
00000c20  61 6e 64 6c 65 25 29 0d  00 7a 4c 20 20 e7 20 6d  |andle%)..zL  . m|
00000c30  6f 75 73 65 62 75 74 25  3c 3e 32 20 80 20 77 68  |ousebut%<>2 . wh|
00000c40  61 6e 64 6c 65 25 3d 63  6f 6e 66 69 67 5f 68 61  |andle%=config_ha|
00000c50  6e 64 6c 65 25 20 f2 63  6f 6e 66 69 67 5f 63 6c  |ndle% .config_cl|
00000c60  69 63 6b 65 64 28 69 63  6f 6e 5f 68 61 6e 64 6c  |icked(icon_handl|
00000c70  65 25 29 0d 00 7b 06 20  e1 0d 00 7c 04 0d 00 7d  |e%)..{. ...|...}|
00000c80  22 20 dd 20 f2 70 61 6e  65 5f 63 6c 69 63 6b 65  |" . .pane_clicke|
00000c90  64 28 69 63 6f 6e 5f 68  61 6e 64 6c 65 25 29 0d  |d(icon_handle%).|
00000ca0  00 7e 17 20 20 c8 8e 20  69 63 6f 6e 5f 68 61 6e  |.~.  .. icon_han|
00000cb0  64 6c 65 25 20 ca 0d 00  7f 31 20 20 20 c9 20 31  |dle% ....1   . 1|
00000cc0  31 2c 31 32 20 3a 20 f2  66 72 65 71 75 65 6e 63  |1,12 : .frequenc|
00000cd0  79 5f 75 70 5f 64 6f 77  6e 28 69 63 6f 6e 5f 68  |y_up_down(icon_h|
00000ce0  61 6e 64 6c 65 25 29 0d  00 80 31 20 20 20 c9 20  |andle%)...1   . |
00000cf0  31 39 2c 32 30 20 3a 20  f2 74 6f 6e 65 62 75 72  |19,20 : .tonebur|
00000d00  73 74 5f 75 70 5f 64 6f  77 6e 28 69 63 6f 6e 5f  |st_up_down(icon_|
00000d10  68 61 6e 64 6c 65 25 29  0d 00 81 30 20 20 20 c9  |handle%)...0   .|
00000d20  20 32 34 2c 32 35 20 3a  20 f2 6d 65 6d 6f 72 69  | 24,25 : .memori|
00000d30  65 73 5f 75 70 5f 64 6f  77 6e 28 69 63 6f 6e 5f  |es_up_down(icon_|
00000d40  68 61 6e 64 6c 65 25 29  0d 00 82 2f 20 20 20 c9  |handle%).../   .|
00000d50  20 32 38 2c 32 39 20 3a  20 f2 6f 76 65 72 6c 61  | 28,29 : .overla|
00000d60  79 5f 75 70 5f 64 6f 77  6e 28 69 63 6f 6e 5f 68  |y_up_down(icon_h|
00000d70  61 6e 64 6c 65 25 29 0d  00 83 24 20 20 20 c9 20  |andle%)...$   . |
00000d80  34 31 20 20 20 20 3a 20  f2 73 68 61 64 65 5f 73  |41    : .shade_s|
00000d90  65 72 69 61 6c 5f 69 63  6f 6e 73 0d 00 84 23 20  |erial_icons...# |
00000da0  20 20 c9 20 34 32 20 20  20 20 3a 20 f2 73 68 6f  |  . 42    : .sho|
00000db0  77 5f 73 65 72 69 61 6c  5f 69 63 6f 6e 73 0d 00  |w_serial_icons..|
00000dc0  85 07 20 20 cb 0d 00 86  06 20 e1 0d 00 87 04 0d  |..  ..... ......|
00000dd0  00 88 24 20 dd 20 f2 63  6f 6e 66 69 67 5f 63 6c  |..$ . .config_cl|
00000de0  69 63 6b 65 64 28 69 63  6f 6e 5f 68 61 6e 64 6c  |icked(icon_handl|
00000df0  65 25 29 0d 00 89 17 20  20 c8 8e 20 69 63 6f 6e  |e%)....  .. icon|
00000e00  5f 68 61 6e 64 6c 65 25  20 ca 0d 00 8a 14 20 20  |_handle% .....  |
00000e10  20 c9 20 30 20 3a 20 71  75 69 74 25 3d b9 0d 00  | . 0 : quit%=...|
00000e20  8b 24 20 20 20 c9 20 31  20 3a 20 f2 73 65 74 5f  |.$   . 1 : .set_|
00000e30  70 61 72 61 6d 73 5f 74  6f 5f 64 65 66 61 75 6c  |params_to_defaul|
00000e40  74 73 0d 00 8c 2d 20 20  20 c9 20 32 20 3a 20 f2  |ts...-   . 2 : .|
00000e50  72 65 61 64 5f 61 6e 64  5f 73 61 76 65 5f 70 61  |read_and_save_pa|
00000e60  72 61 6d 73 5f 66 72 6f  6d 5f 69 63 6f 6e 73 0d  |rams_from_icons.|
00000e70  00 8d 17 20 20 20 20 20  20 20 20 20 20 20 20 71  |...            q|
00000e80  75 69 74 25 3d b9 0d 00  8e 07 20 20 cb 0d 00 8f  |uit%=.....  ....|
00000e90  06 20 e1 0d 00 90 04 0d  00 91 19 20 dd 20 f2 6b  |. ......... . .k|
00000ea0  65 79 5f 70 72 65 73 73  65 64 28 6b 65 79 25 29  |ey_pressed(key%)|
00000eb0  0d 00 92 0f 20 20 c8 8e  20 6b 65 79 25 20 ca 0d  |....  .. key% ..|
00000ec0  00 93 3a 20 20 20 c9 20  31 33 20 20 20 20 20 20  |..:   . 13      |
00000ed0  20 20 20 20 20 20 20 3a  20 f2 72 65 61 64 5f 61  |       : .read_a|
00000ee0  6e 64 5f 73 61 76 65 5f  70 61 72 61 6d 73 5f 66  |nd_save_params_f|
00000ef0  72 6f 6d 5f 69 63 6f 6e  73 0d 00 94 24 20 20 20  |rom_icons...$   |
00000f00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000f10  20 20 20 20 20 20 71 75  69 74 25 3d b9 0d 00 95  |      quit%=....|
00000f20  32 20 20 20 c9 20 26 31  38 41 2c 26 31 38 45 2c  |2   . &18A,&18E,|
00000f30  26 31 38 46 20 3a 20 f2  74 61 62 5f 6f 72 5f 61  |&18F : .tab_or_a|
00000f40  72 72 6f 77 5f 6b 65 79  73 28 6b 65 79 25 29 0d  |rrow_keys(key%).|
00000f50  00 96 07 20 20 7f 0d 00  97 20 20 20 20 c8 99 20  |...  ....    .. |
00000f60  22 57 69 6d 70 5f 50 72  6f 63 65 73 73 4b 65 79  |"Wimp_ProcessKey|
00000f70  22 2c 6b 65 79 25 0d 00  98 07 20 20 cb 0d 00 99  |",key%....  ....|
00000f80  06 20 e1 0d 00 9a 04 0d  00 9b 1d 20 dd 20 f2 65  |. ......... . .e|
00000f90  72 72 6f 72 28 65 72 72  25 2c 65 72 72 24 2c 65  |rror(err%,err$,e|
00000fa0  72 6c 25 29 0d 00 9c 16  20 20 e7 20 66 69 6c 65  |rl%)....  . file|
00000fb0  6f 70 65 6e 25 20 d9 23  46 25 0d 00 9d 1a 20 20  |open% .#F%....  |
00000fc0  20 65 72 72 6f 72 5f 62  6c 6f 63 6b 25 21 30 3d  | error_block%!0=|
00000fd0  65 72 72 25 0d 00 9e 2d  20 20 20 65 72 72 24 3d  |err%...-   err$=|
00000fe0  65 72 72 24 2b 22 20 20  28 65 72 72 6f 72 20 63  |err$+"  (error c|
00000ff0  6f 64 65 20 22 2b c3 28  65 72 6c 25 29 2b 22 29  |ode "+.(erl%)+")|
00001000  22 0d 00 9f 37 20 20 20  24 28 65 72 72 6f 72 5f  |"...7   $(error_|
00001010  62 6c 6f 63 6b 25 2b 34  29 3d 65 72 72 24 3a 65  |block%+4)=err$:e|
00001020  72 72 6f 72 5f 62 6c 6f  63 6b 25 3f 28 34 2b a9  |rror_block%?(4+.|
00001030  20 65 72 72 24 29 3d 30  0d 00 a0 39 20 20 20 c8  | err$)=0...9   .|
00001040  99 20 22 57 69 6d 70 5f  52 65 70 6f 72 74 45 72  |. "Wimp_ReportEr|
00001050  72 6f 72 22 2c 65 72 72  6f 72 5f 62 6c 6f 63 6b  |ror",error_block|
00001060  25 2c 31 2c 61 70 70 24  20 b8 2c 72 65 70 6c 79  |%,1,app$ .,reply|
00001070  25 0d 00 a1 2e 20 20 20  c8 99 20 22 57 69 6d 70  |%....   .. "Wimp|
00001080  5f 43 6c 6f 73 65 44 6f  77 6e 22 2c 74 61 73 6b  |_CloseDown",task|
00001090  68 61 6e 64 6c 65 25 2c  74 61 73 6b 69 64 25 0d  |handle%,taskid%.|
000010a0  00 a2 07 20 20 e0 0d 00  a3 06 20 e1 0d 00 a4 04  |...  ..... .....|
000010b0  0d 00 a5 1c 20 dd 20 a4  72 65 70 6f 72 74 28 63  |.... . .report(c|
000010c0  68 65 63 6b 24 2c 66 6c  61 67 25 29 0d 00 a6 16  |heck$,flag%)....|
000010d0  20 20 65 72 72 6f 72 5f  62 6c 6f 63 6b 25 21 30  |  error_block%!0|
000010e0  3d 31 0d 00 a7 3a 20 20  24 28 65 72 72 6f 72 5f  |=1...:  $(error_|
000010f0  62 6c 6f 63 6b 25 2b 34  29 3d 63 68 65 63 6b 24  |block%+4)=check$|
00001100  3a 65 72 72 6f 72 5f 62  6c 6f 63 6b 25 3f 28 34  |:error_block%?(4|
00001110  2b a9 20 63 68 65 63 6b  24 29 3d 30 0d 00 a8 3c  |+. check$)=0...<|
00001120  20 20 c8 99 20 22 57 69  6d 70 5f 52 65 70 6f 72  |  .. "Wimp_Repor|
00001130  74 45 72 72 6f 72 22 2c  65 72 72 6f 72 5f 62 6c  |tError",error_bl|
00001140  6f 63 6b 25 2c 66 6c 61  67 25 2c 61 70 70 24 20  |ock%,flag%,app$ |
00001150  b8 2c 72 65 70 6c 79 25  0d 00 a9 17 20 e7 20 72  |.,reply%.... . r|
00001160  65 70 6c 79 25 3d 31 20  8c 3d b9 20 8b 3d a3 0d  |eply%=1 .=. .=..|
00001170  00 aa 05 20 0d 00 ab 31  20 dd 20 a4 72 65 61 64  |... ...1 . .read|
00001180  5f 69 63 6f 6e 5f 74 65  78 74 28 70 61 6e 65 5f  |_icon_text(pane_|
00001190  68 61 6e 64 6c 65 25 2c  69 63 6f 6e 5f 68 61 6e  |handle%,icon_han|
000011a0  64 6c 65 25 29 0d 00 ac  1b 20 20 62 6c 6f 63 6b  |dle%)....  block|
000011b0  25 21 30 3d 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |%!0=pane_handle%|
000011c0  0d 00 ad 1b 20 20 62 6c  6f 63 6b 25 21 34 3d 69  |....  block%!4=i|
000011d0  63 6f 6e 5f 68 61 6e 64  6c 65 25 0d 00 ae 23 20  |con_handle%...# |
000011e0  20 c8 99 22 57 69 6d 70  5f 47 65 74 49 63 6f 6e  | .."Wimp_GetIcon|
000011f0  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 00  |State",,block%..|
00001200  af 10 20 3d 24 62 6c 6f  63 6b 25 21 32 38 0d 00  |.. =$block%!28..|
00001210  b0 04 0d 00 b1 3d 20 dd  20 f2 77 72 69 74 65 5f  |.....= . .write_|
00001220  69 63 6f 6e 5f 74 65 78  74 28 70 61 6e 65 5f 68  |icon_text(pane_h|
00001230  61 6e 64 6c 65 25 2c 69  63 6f 6e 5f 68 61 6e 64  |andle%,icon_hand|
00001240  6c 65 25 2c 69 63 6f 6e  5f 74 65 78 74 24 29 0d  |le%,icon_text$).|
00001250  00 b2 30 20 20 21 62 6c  6f 63 6b 25 3d 70 61 6e  |..0  !block%=pan|
00001260  65 5f 68 61 6e 64 6c 65  25 3a 62 6c 6f 63 6b 25  |e_handle%:block%|
00001270  21 34 3d 69 63 6f 6e 5f  68 61 6e 64 6c 65 25 0d  |!4=icon_handle%.|
00001280  00 b3 24 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |..$  .. "Wimp_Ge|
00001290  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 62 6c 6f  |tIconState",,blo|
000012a0  63 6b 25 0d 00 b4 1d 20  20 24 28 62 6c 6f 63 6b  |ck%....  $(block|
000012b0  25 21 32 38 29 3d 69 63  6f 6e 5f 74 65 78 74 24  |%!28)=icon_text$|
000012c0  0d 00 b5 1b 20 20 62 6c  6f 63 6b 25 21 34 3d 69  |....  block%!4=i|
000012d0  63 6f 6e 5f 68 61 6e 64  6c 65 25 0d 00 b6 1c 20  |con_handle%.... |
000012e0  20 62 6c 6f 63 6b 25 21  38 3d 30 3a 62 6c 6f 63  | block%!8=0:bloc|
000012f0  6b 25 21 31 32 3d 30 0d  00 b7 24 20 20 c8 99 20  |k%!12=0...$  .. |
00001300  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
00001310  74 65 22 2c 2c 62 6c 6f  63 6b 25 0d 00 b8 06 20  |te",,block%.... |
00001320  e1 0d 00 b9 04 0d 00 ba  32 20 dd 20 a4 69 63 6f  |........2 . .ico|
00001330  6e 5f 73 65 6c 65 63 74  65 64 28 77 69 6e 64 6f  |n_selected(windo|
00001340  77 5f 68 61 6e 64 6c 65  25 2c 69 63 6f 6e 5f 68  |w_handle%,icon_h|
00001350  61 6e 64 6c 65 25 29 0d  00 bb 1d 20 20 62 6c 6f  |andle%)....  blo|
00001360  63 6b 25 21 30 3d 77 69  6e 64 6f 77 5f 68 61 6e  |ck%!0=window_han|
00001370  64 6c 65 25 0d 00 bc 1b  20 20 62 6c 6f 63 6b 25  |dle%....  block%|
00001380  21 34 3d 69 63 6f 6e 5f  68 61 6e 64 6c 65 25 0d  |!4=icon_handle%.|
00001390  00 bd 23 20 20 c8 99 22  57 69 6d 70 5f 47 65 74  |..#  .."Wimp_Get|
000013a0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 6c 6f 63  |IconState",,bloc|
000013b0  6b 25 0d 00 be 24 20 e7  20 28 62 6c 6f 63 6b 25  |k%...$ . (block%|
000013c0  21 32 34 20 80 20 31 3c  3c 32 31 29 20 8c 20 3d  |!24 . 1<<21) . =|
000013d0  b9 20 8b 20 3d a3 0d 00  bf 04 0d 00 c0 38 20 dd  |. . =........8 .|
000013e0  20 f2 73 65 6c 65 63 74  5f 69 63 6f 6e 28 77 69  | .select_icon(wi|
000013f0  6e 64 6f 77 5f 68 61 6e  64 6c 65 25 2c 69 63 6f  |ndow_handle%,ico|
00001400  6e 5f 68 61 6e 64 6c 65  25 2c 73 65 6c 65 63 74  |n_handle%,select|
00001410  25 29 0d 00 c1 1d 20 20  62 6c 6f 63 6b 25 21 30  |%)....  block%!0|
00001420  3d 77 69 6e 64 6f 77 5f  68 61 6e 64 6c 65 25 0d  |=window_handle%.|
00001430  00 c2 1b 20 20 62 6c 6f  63 6b 25 21 34 3d 69 63  |...  block%!4=ic|
00001440  6f 6e 5f 68 61 6e 64 6c  65 25 0d 00 c3 15 20 20  |on_handle%....  |
00001450  62 6c 6f 63 6b 25 21 31  32 3d 31 3c 3c 32 31 0d  |block%!12=1<<21.|
00001460  00 c4 2b 20 20 e7 20 73  65 6c 65 63 74 25 20 62  |..+  . select% b|
00001470  6c 6f 63 6b 25 21 38 3d  31 3c 3c 32 31 20 8b 20  |lock%!8=1<<21 . |
00001480  62 6c 6f 63 6b 25 21 38  3d 30 0d 00 c5 23 20 20  |block%!8=0...#  |
00001490  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
000014a0  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 00 c6  |tate",,block%...|
000014b0  06 20 e1 0d 00 c7 04 0d  00 c8 3c 20 dd 20 f2 73  |. ........< . .s|
000014c0  65 72 69 61 6c 5f 69 63  6f 6e 73 5f 6f 66 66 28  |erial_icons_off(|
000014d0  77 69 6e 64 6f 77 5f 68  61 6e 64 6c 65 25 2c 69  |window_handle%,i|
000014e0  63 6f 6e 5f 68 61 6e 64  6c 65 25 2c 73 68 61 64  |con_handle%,shad|
000014f0  65 25 29 0d 00 c9 1d 20  20 62 6c 6f 63 6b 25 21  |e%)....  block%!|
00001500  30 3d 77 69 6e 64 6f 77  5f 68 61 6e 64 6c 65 25  |0=window_handle%|
00001510  0d 00 ca 1b 20 20 62 6c  6f 63 6b 25 21 34 3d 69  |....  block%!4=i|
00001520  63 6f 6e 5f 68 61 6e 64  6c 65 25 0d 00 cb 15 20  |con_handle%.... |
00001530  20 62 6c 6f 63 6b 25 21  31 32 3d 31 3c 3c 32 32  | block%!12=1<<22|
00001540  0d 00 cc 2a 20 20 e7 20  73 68 61 64 65 25 20 62  |...*  . shade% b|
00001550  6c 6f 63 6b 25 21 38 3d  31 3c 3c 32 32 20 8b 20  |lock%!8=1<<22 . |
00001560  62 6c 6f 63 6b 25 21 38  3d 30 0d 00 cd 23 20 20  |block%!8=0...#  |
00001570  c8 99 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |.."Wimp_SetIconS|
00001580  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 00 ce  |tate",,block%...|
00001590  06 20 e1 0d 00 cf 04 0d  00 d0 19 20 dd 20 f2 73  |. ......... . .s|
000015a0  68 6f 77 5f 73 65 72 69  61 6c 5f 69 63 6f 6e 73  |how_serial_icons|
000015b0  0d 00 d1 12 20 20 e3 20  4e 25 3d 34 35 20 b8 20  |....  . N%=45 . |
000015c0  35 32 0d 00 d2 2b 20 20  20 f2 73 65 72 69 61 6c  |52...+   .serial|
000015d0  5f 69 63 6f 6e 73 5f 6f  66 66 28 70 61 6e 65 5f  |_icons_off(pane_|
000015e0  68 61 6e 64 6c 65 25 2c  4e 25 2c a3 29 0d 00 d3  |handle%,N%,.)...|
000015f0  07 20 20 ed 0d 00 d4 12  20 20 e3 20 4e 25 3d 35  |.  .....  . N%=5|
00001600  35 20 b8 20 35 37 0d 00  d5 2b 20 20 20 f2 73 65  |5 . 57...+   .se|
00001610  72 69 61 6c 5f 69 63 6f  6e 73 5f 6f 66 66 28 70  |rial_icons_off(p|
00001620  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 4e 25 2c a3  |ane_handle%,N%,.|
00001630  29 0d 00 d6 07 20 20 ed  0d 00 d7 29 20 20 f2 73  |)....  ....)  .s|
00001640  65 72 69 61 6c 5f 69 63  6f 6e 73 5f 6f 66 66 28  |erial_icons_off(|
00001650  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 30 2c a3  |pane_handle%,0,.|
00001660  29 0d 00 d8 16 20 20 e7  20 ac 28 61 74 6f 6d 77  |)....  . .(atomw|
00001670  69 64 65 25 29 20 8c 0d  00 d9 26 20 20 20 f2 73  |ide%) ....&   .s|
00001680  65 6c 65 63 74 5f 69 63  6f 6e 28 70 61 6e 65 5f  |elect_icon(pane_|
00001690  68 61 6e 64 6c 65 25 2c  34 37 2c b9 29 0d 00 da  |handle%,47,.)...|
000016a0  26 20 20 20 f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |&   .select_icon|
000016b0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 35 36  |(pane_handle%,56|
000016c0  2c b9 29 0d 00 db 07 20  20 cd 0d 00 dc 2a 20 20  |,.)....  ....*  |
000016d0  f2 73 65 72 69 61 6c 5f  69 63 6f 6e 73 5f 6f 66  |.serial_icons_of|
000016e0  66 28 70 61 6e 65 5f 68  61 6e 64 6c 65 25 2c 35  |f(pane_handle%,5|
000016f0  33 2c a3 29 0d 00 dd 2a  20 20 f2 73 65 72 69 61  |3,.)...*  .seria|
00001700  6c 5f 69 63 6f 6e 73 5f  6f 66 66 28 70 61 6e 65  |l_icons_off(pane|
00001710  5f 68 61 6e 64 6c 65 25  2c 35 38 2c a3 29 0d 00  |_handle%,58,.)..|
00001720  de 06 20 e1 0d 00 df 04  0d 00 e0 1a 20 dd 20 f2  |.. ......... . .|
00001730  73 68 61 64 65 5f 73 65  72 69 61 6c 5f 69 63 6f  |shade_serial_ico|
00001740  6e 73 0d 00 e1 12 20 20  e3 20 4e 25 3d 34 35 20  |ns....  . N%=45 |
00001750  b8 20 35 32 0d 00 e2 2b  20 20 20 f2 73 65 72 69  |. 52...+   .seri|
00001760  61 6c 5f 69 63 6f 6e 73  5f 6f 66 66 28 70 61 6e  |al_icons_off(pan|
00001770  65 5f 68 61 6e 64 6c 65  25 2c 4e 25 2c b9 29 0d  |e_handle%,N%,.).|
00001780  00 e3 07 20 20 ed 0d 00  e4 12 20 20 e3 20 4e 25  |...  .....  . N%|
00001790  3d 35 35 20 b8 20 35 37  0d 00 e5 2b 20 20 20 f2  |=55 . 57...+   .|
000017a0  73 65 72 69 61 6c 5f 69  63 6f 6e 73 5f 6f 66 66  |serial_icons_off|
000017b0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 4e 25  |(pane_handle%,N%|
000017c0  2c b9 29 0d 00 e6 07 20  20 ed 0d 00 e7 29 20 20  |,.)....  ....)  |
000017d0  f2 73 65 72 69 61 6c 5f  69 63 6f 6e 73 5f 6f 66  |.serial_icons_of|
000017e0  66 28 70 61 6e 65 5f 68  61 6e 64 6c 65 25 2c 30  |f(pane_handle%,0|
000017f0  2c b9 29 0d 00 e8 2a 20  20 f2 73 65 72 69 61 6c  |,.)...*  .serial|
00001800  5f 69 63 6f 6e 73 5f 6f  66 66 28 70 61 6e 65 5f  |_icons_off(pane_|
00001810  68 61 6e 64 6c 65 25 2c  35 33 2c b9 29 0d 00 e9  |handle%,53,.)...|
00001820  2a 20 20 f2 73 65 72 69  61 6c 5f 69 63 6f 6e 73  |*  .serial_icons|
00001830  5f 6f 66 66 28 70 61 6e  65 5f 68 61 6e 64 6c 65  |_off(pane_handle|
00001840  25 2c 35 38 2c b9 29 0d  00 ea 06 20 e1 0d 00 eb  |%,58,.).... ....|
00001850  04 0d 00 ec 18 20 dd 20  f2 72 65 61 64 5f 70 61  |..... . .read_pa|
00001860  72 61 6d 73 5f 66 69 6c  65 0d 00 ed 20 20 20 46  |rams_file...   F|
00001870  25 3d 8e 28 63 6f 6e 66  69 67 5f 64 69 72 24 2b  |%=.(config_dir$+|
00001880  22 50 61 72 61 6d 73 22  29 0d 00 ee 12 20 20 20  |"Params")....   |
00001890  66 69 6c 65 6f 70 65 6e  25 3d b9 0d 00 ef 15 20  |fileopen%=..... |
000018a0  20 20 63 61 6c 6c 73 69  67 6e 24 3d be 23 46 25  |  callsign$=.#F%|
000018b0  0d 00 f0 17 20 20 20 63  6c 6f 63 6b 5f 66 72 65  |....   clock_fre|
000018c0  71 24 3d be 23 46 25 0d  00 f1 16 20 20 20 73 74  |q$=.#F%....   st|
000018d0  61 72 74 5f 64 69 72 24  3d be 23 46 25 0d 00 f2  |art_dir$=.#F%...|
000018e0  15 20 20 20 6d 65 6d 6f  72 69 65 73 24 3d be 23  |.   memories$=.#|
000018f0  46 25 0d 00 f3 14 20 20  20 6f 76 65 72 6c 61 79  |F%....   overlay|
00001900  24 3d be 23 46 25 0d 00  f4 16 20 20 20 75 73 65  |$=.#F%....   use|
00001910  72 5f 70 61 74 68 24 3d  be 23 46 25 0d 00 f5 16  |r_path$=.#F%....|
00001920  20 20 20 61 75 74 6f 5f  70 61 74 68 24 3d be 23  |   auto_path$=.#|
00001930  46 25 0d 00 f6 17 20 20  20 74 78 5f 64 69 76 69  |F%....   tx_divi|
00001940  64 65 72 24 3d be 23 46  25 0d 00 f7 17 20 20 20  |der$=.#F%....   |
00001950  74 68 75 6d 62 6e 61 69  6c 73 24 3d be 23 46 25  |thumbnails$=.#F%|
00001960  0d 00 f8 13 20 20 20 68  65 61 64 65 72 24 3d be  |....   header$=.|
00001970  23 46 25 0d 00 f9 0f 20  20 20 63 77 24 3d be 23  |#F%....   cw$=.#|
00001980  46 25 0d 00 fa 16 20 20  20 74 6f 6e 65 62 75 72  |F%....   tonebur|
00001990  73 74 24 3d be 23 46 25  0d 00 fb 13 20 20 20 73  |st$=.#F%....   s|
000019a0  65 72 69 61 6c 24 3d be  23 46 25 0d 00 fc 0a 20  |erial$=.#F%.... |
000019b0  20 d9 23 46 25 0d 00 fd  11 20 20 66 69 6c 65 6f  | .#F%....  fileo|
000019c0  70 65 6e 25 3d a3 0d 00  fe 06 20 e1 0d 00 ff 04  |pen%=..... .....|
000019d0  0d 01 00 1d 20 dd 20 f2  77 72 69 74 65 5f 70 61  |.... . .write_pa|
000019e0  72 61 6d 73 5f 74 6f 5f  69 63 6f 6e 73 0d 01 01  |rams_to_icons...|
000019f0  30 20 20 f2 77 72 69 74  65 5f 69 63 6f 6e 5f 74  |0  .write_icon_t|
00001a00  65 78 74 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |ext(pane_handle%|
00001a10  2c 32 2c 63 61 6c 6c 73  69 67 6e 24 29 0d 01 02  |,2,callsign$)...|
00001a20  33 20 20 f2 77 72 69 74  65 5f 69 63 6f 6e 5f 74  |3  .write_icon_t|
00001a30  65 78 74 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |ext(pane_handle%|
00001a40  2c 31 30 2c 63 6c 6f 63  6b 5f 66 72 65 71 24 29  |,10,clock_freq$)|
00001a50  0d 01 03 32 20 20 f2 77  72 69 74 65 5f 69 63 6f  |...2  .write_ico|
00001a60  6e 5f 74 65 78 74 28 70  61 6e 65 5f 68 61 6e 64  |n_text(pane_hand|
00001a70  6c 65 25 2c 33 33 2c 73  74 61 72 74 5f 64 69 72  |le%,33,start_dir|
00001a80  24 29 0d 01 04 31 20 20  f2 77 72 69 74 65 5f 69  |$)...1  .write_i|
00001a90  63 6f 6e 5f 74 65 78 74  28 70 61 6e 65 5f 68 61  |con_text(pane_ha|
00001aa0  6e 64 6c 65 25 2c 32 32  2c 6d 65 6d 6f 72 69 65  |ndle%,22,memorie|
00001ab0  73 24 29 0d 01 05 30 20  20 f2 77 72 69 74 65 5f  |s$)...0  .write_|
00001ac0  69 63 6f 6e 5f 74 65 78  74 28 70 61 6e 65 5f 68  |icon_text(pane_h|
00001ad0  61 6e 64 6c 65 25 2c 32  37 2c 6f 76 65 72 6c 61  |andle%,27,overla|
00001ae0  79 24 29 0d 01 06 32 20  20 f2 77 72 69 74 65 5f  |y$)...2  .write_|
00001af0  69 63 6f 6e 5f 74 65 78  74 28 70 61 6e 65 5f 68  |icon_text(pane_h|
00001b00  61 6e 64 6c 65 25 2c 33  35 2c 75 73 65 72 5f 70  |andle%,35,user_p|
00001b10  61 74 68 24 29 0d 01 07  32 20 20 f2 77 72 69 74  |ath$)...2  .writ|
00001b20  65 5f 69 63 6f 6e 5f 74  65 78 74 28 70 61 6e 65  |e_icon_text(pane|
00001b30  5f 68 61 6e 64 6c 65 25  2c 33 38 2c 61 75 74 6f  |_handle%,38,auto|
00001b40  5f 70 61 74 68 24 29 0d  01 08 19 20 20 e7 20 74  |_path$)....  . t|
00001b50  78 5f 64 69 76 69 64 65  72 24 3d 22 59 22 20 8c  |x_divider$="Y" .|
00001b60  0d 01 09 26 20 20 20 f2  73 65 6c 65 63 74 5f 69  |...&   .select_i|
00001b70  63 6f 6e 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |con(pane_handle%|
00001b80  2c 31 36 2c b9 29 0d 01  0a 07 20 20 cc 0d 01 0b  |,16,.)....  ....|
00001b90  26 20 20 20 f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |&   .select_icon|
00001ba0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 31 36  |(pane_handle%,16|
00001bb0  2c a3 29 0d 01 0c 07 20  20 cd 0d 01 0d 19 20 20  |,.)....  .....  |
00001bc0  e7 20 74 68 75 6d 62 6e  61 69 6c 73 24 3d 22 59  |. thumbnails$="Y|
00001bd0  22 20 8c 0d 01 0e 26 20  20 20 f2 73 65 6c 65 63  |" ....&   .selec|
00001be0  74 5f 69 63 6f 6e 28 70  61 6e 65 5f 68 61 6e 64  |t_icon(pane_hand|
00001bf0  6c 65 25 2c 31 35 2c b9  29 0d 01 0f 07 20 20 cc  |le%,15,.)....  .|
00001c00  0d 01 10 26 20 20 20 f2  73 65 6c 65 63 74 5f 69  |...&   .select_i|
00001c10  63 6f 6e 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |con(pane_handle%|
00001c20  2c 31 35 2c a3 29 0d 01  11 07 20 20 cd 0d 01 12  |,15,.)....  ....|
00001c30  2e 20 20 f2 77 72 69 74  65 5f 69 63 6f 6e 5f 74  |.  .write_icon_t|
00001c40  65 78 74 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |ext(pane_handle%|
00001c50  2c 35 2c 68 65 61 64 65  72 24 29 0d 01 13 2a 20  |,5,header$)...* |
00001c60  20 f2 77 72 69 74 65 5f  69 63 6f 6e 5f 74 65 78  | .write_icon_tex|
00001c70  74 28 70 61 6e 65 5f 68  61 6e 64 6c 65 25 2c 37  |t(pane_handle%,7|
00001c80  2c 63 77 24 29 0d 01 14  32 20 20 f2 77 72 69 74  |,cw$)...2  .writ|
00001c90  65 5f 69 63 6f 6e 5f 74  65 78 74 28 70 61 6e 65  |e_icon_text(pane|
00001ca0  5f 68 61 6e 64 6c 65 25  2c 31 38 2c 74 6f 6e 65  |_handle%,18,tone|
00001cb0  62 75 72 73 74 24 29 0d  01 15 26 20 20 f2 63 6f  |burst$)...&  .co|
00001cc0  6e 76 65 72 74 5f 73 65  72 69 61 6c 5f 61 64 64  |nvert_serial_add|
00001cd0  72 65 73 73 5f 74 6f 5f  69 63 6f 6e 73 0d 01 16  |ress_to_icons...|
00001ce0  06 20 e1 0d 01 17 04 0d  01 18 27 20 dd 20 f2 63  |. ........' . .c|
00001cf0  6f 6e 76 65 72 74 5f 73  65 72 69 61 6c 5f 61 64  |onvert_serial_ad|
00001d00  64 72 65 73 73 5f 74 6f  5f 69 63 6f 6e 73 0d 01  |dress_to_icons..|
00001d10  19 1d 20 20 e7 20 73 65  72 69 61 6c 24 3d 22 26  |..  . serial$="&|
00001d20  30 33 30 31 30 46 45 30  22 20 8c 0d 01 1a 1a 20  |03010FE0" ..... |
00001d30  20 20 f2 73 68 61 64 65  5f 73 65 72 69 61 6c 5f  |  .shade_serial_|
00001d40  69 63 6f 6e 73 0d 01 1b  26 20 20 20 f2 73 65 6c  |icons...&   .sel|
00001d50  65 63 74 5f 69 63 6f 6e  28 70 61 6e 65 5f 68 61  |ect_icon(pane_ha|
00001d60  6e 64 6c 65 25 2c 34 31  2c b9 29 0d 01 1c 26 20  |ndle%,41,.)...& |
00001d70  20 20 f2 73 65 6c 65 63  74 5f 69 63 6f 6e 28 70  |  .select_icon(p|
00001d80  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 34 32 2c a3  |ane_handle%,42,.|
00001d90  29 0d 01 1d 07 20 20 cc  0d 01 1e 12 20 20 20 61  |)....  .....   a|
00001da0  74 6f 6d 77 69 64 65 25  3d b9 0d 01 1f 19 20 20  |tomwide%=.....  |
00001db0  20 f2 73 68 6f 77 5f 73  65 72 69 61 6c 5f 69 63  | .show_serial_ic|
00001dc0  6f 6e 73 0d 01 20 26 20  20 20 f2 73 65 6c 65 63  |ons.. &   .selec|
00001dd0  74 5f 69 63 6f 6e 28 70  61 6e 65 5f 68 61 6e 64  |t_icon(pane_hand|
00001de0  6c 65 25 2c 34 31 2c a3  29 0d 01 21 26 20 20 20  |le%,41,.)..!&   |
00001df0  f2 73 65 6c 65 63 74 5f  69 63 6f 6e 28 70 61 6e  |.select_icon(pan|
00001e00  65 5f 68 61 6e 64 6c 65  25 2c 34 32 2c b9 29 0d  |e_handle%,42,.).|
00001e10  01 22 35 20 20 20 e3 20  4e 25 3d 34 35 20 b8 20  |."5   . N%=45 . |
00001e20  35 32 3a f2 73 65 6c 65  63 74 5f 69 63 6f 6e 28  |52:.select_icon(|
00001e30  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 4e 25 2c  |pane_handle%,N%,|
00001e40  a3 29 3a ed 0d 01 23 15  20 20 20 50 24 3d c0 73  |.):...#.   P$=.s|
00001e50  65 72 69 61 6c 24 2c 36  29 0d 01 24 0e 20 20 20  |erial$,6)..$.   |
00001e60  c8 8e 20 50 24 20 ca 0d  01 25 34 20 20 20 20 c9  |.. P$ ...%4    .|
00001e70  20 22 26 30 33 32 34 32  22 20 3a 20 f2 73 65 6c  | "&03242" : .sel|
00001e80  65 63 74 5f 69 63 6f 6e  28 70 61 6e 65 5f 68 61  |ect_icon(pane_ha|
00001e90  6e 64 6c 65 25 2c 34 35  2c b9 29 0d 01 26 34 20  |ndle%,45,.)..&4 |
00001ea0  20 20 20 c9 20 22 26 30  33 32 34 36 22 20 3a 20  |   . "&03246" : |
00001eb0  f2 73 65 6c 65 63 74 5f  69 63 6f 6e 28 70 61 6e  |.select_icon(pan|
00001ec0  65 5f 68 61 6e 64 6c 65  25 2c 34 36 2c b9 29 0d  |e_handle%,46,.).|
00001ed0  01 27 34 20 20 20 20 c9  20 22 26 30 33 32 34 41  |.'4    . "&0324A|
00001ee0  22 20 3a 20 f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |" : .select_icon|
00001ef0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 34 37  |(pane_handle%,47|
00001f00  2c b9 29 0d 01 28 34 20  20 20 20 c9 20 22 26 30  |,.)..(4    . "&0|
00001f10  33 32 34 45 22 20 3a 20  f2 73 65 6c 65 63 74 5f  |324E" : .select_|
00001f20  69 63 6f 6e 28 70 61 6e  65 5f 68 61 6e 64 6c 65  |icon(pane_handle|
00001f30  25 2c 34 38 2c b9 29 0d  01 29 34 20 20 20 20 c9  |%,48,.)..)4    .|
00001f40  20 22 26 30 33 32 37 32  22 20 3a 20 f2 73 65 6c  | "&03272" : .sel|
00001f50  65 63 74 5f 69 63 6f 6e  28 70 61 6e 65 5f 68 61  |ect_icon(pane_ha|
00001f60  6e 64 6c 65 25 2c 34 39  2c b9 29 0d 01 2a 34 20  |ndle%,49,.)..*4 |
00001f70  20 20 20 c9 20 22 26 30  33 32 37 36 22 20 3a 20  |   . "&03276" : |
00001f80  f2 73 65 6c 65 63 74 5f  69 63 6f 6e 28 70 61 6e  |.select_icon(pan|
00001f90  65 5f 68 61 6e 64 6c 65  25 2c 35 30 2c b9 29 0d  |e_handle%,50,.).|
00001fa0  01 2b 34 20 20 20 20 c9  20 22 26 30 33 32 37 41  |.+4    . "&0327A|
00001fb0  22 20 3a 20 f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |" : .select_icon|
00001fc0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 35 31  |(pane_handle%,51|
00001fd0  2c b9 29 0d 01 2c 34 20  20 20 20 c9 20 22 26 30  |,.)..,4    . "&0|
00001fe0  33 32 37 45 22 20 3a 20  f2 73 65 6c 65 63 74 5f  |327E" : .select_|
00001ff0  69 63 6f 6e 28 70 61 6e  65 5f 68 61 6e 64 6c 65  |icon(pane_handle|
00002000  25 2c 35 32 2c b9 29 0d  01 2d 08 20 20 20 cb 0d  |%,52,.)..-.   ..|
00002010  01 2e 35 20 20 20 e3 20  4e 25 3d 35 35 20 b8 20  |..5   . N%=55 . |
00002020  35 37 3a f2 73 65 6c 65  63 74 5f 69 63 6f 6e 28  |57:.select_icon(|
00002030  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 4e 25 2c  |pane_handle%,N%,|
00002040  a3 29 3a ed 0d 01 2f 15  20 20 20 50 24 3d c2 73  |.):.../.   P$=.s|
00002050  65 72 69 61 6c 24 2c 33  29 0d 01 30 0e 20 20 20  |erial$,3)..0.   |
00002060  c8 8e 20 50 24 20 ca 0d  01 31 34 20 20 20 20 c9  |.. P$ ...14    .|
00002070  20 22 38 30 30 22 20 20  20 20 3a 20 f2 73 65 6c  | "800"    : .sel|
00002080  65 63 74 5f 69 63 6f 6e  28 70 61 6e 65 5f 68 61  |ect_icon(pane_ha|
00002090  6e 64 6c 65 25 2c 35 35  2c b9 29 0d 01 32 34 20  |ndle%,55,.)..24 |
000020a0  20 20 20 c9 20 22 34 30  30 22 20 20 20 20 3a 20  |   . "400"    : |
000020b0  f2 73 65 6c 65 63 74 5f  69 63 6f 6e 28 70 61 6e  |.select_icon(pan|
000020c0  65 5f 68 61 6e 64 6c 65  25 2c 35 36 2c b9 29 0d  |e_handle%,56,.).|
000020d0  01 33 34 20 20 20 20 c9  20 22 30 30 30 22 20 20  |.34    . "000"  |
000020e0  20 20 3a 20 f2 73 65 6c  65 63 74 5f 69 63 6f 6e  |  : .select_icon|
000020f0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 35 37  |(pane_handle%,57|
00002100  2c b9 29 0d 01 34 08 20  20 20 cb 0d 01 35 07 20  |,.)..4.   ...5. |
00002110  20 cd 0d 01 36 06 20 e1  0d 01 37 04 0d 01 38 27  | ...6. ...7...8'|
00002120  20 dd 20 f2 63 6f 6e 76  65 72 74 5f 69 63 6f 6e  | . .convert_icon|
00002130  73 5f 74 6f 5f 73 65 72  69 61 6c 5f 61 64 64 72  |s_to_serial_addr|
00002140  65 73 73 0d 01 39 29 20  20 e7 20 a4 69 63 6f 6e  |ess..9)  . .icon|
00002150  5f 73 65 6c 65 63 74 65  64 28 70 61 6e 65 5f 68  |_selected(pane_h|
00002160  61 6e 64 6c 65 25 2c 34  31 29 20 8c 0d 01 3a 1a  |andle%,41) ...:.|
00002170  20 20 20 73 65 72 69 61  6c 24 3d 22 26 30 33 30  |   serial$="&030|
00002180  31 30 46 45 30 22 0d 01  3b 07 20 20 cc 0d 01 3c  |10FE0"..;.  ...<|
00002190  0e 20 20 20 73 6c 6f 74  25 3d 30 0d 01 3d 13 20  |.   slot%=0..=. |
000021a0  20 20 e3 20 4e 25 3d 34  35 20 b8 20 35 32 0d 01  |  . N%=45 . 52..|
000021b0  3e 32 20 20 20 20 e7 20  a4 69 63 6f 6e 5f 73 65  |>2    . .icon_se|
000021c0  6c 65 63 74 65 64 28 70  61 6e 65 5f 68 61 6e 64  |lected(pane_hand|
000021d0  6c 65 25 2c 4e 25 29 20  73 6c 6f 74 25 3d 4e 25  |le%,N%) slot%=N%|
000021e0  0d 01 3f 08 20 20 20 ed  0d 01 40 11 20 20 20 c8  |..?.   ...@.   .|
000021f0  8e 20 73 6c 6f 74 25 20  ca 0d 01 41 22 20 20 20  |. slot% ...A"   |
00002200  20 c9 20 30 20 20 3a 20  73 65 72 69 61 6c 24 3d  | . 0  : serial$=|
00002210  22 26 30 33 30 31 30 46  45 30 22 0d 01 42 1f 20  |"&03010FE0"..B. |
00002220  20 20 20 c9 20 34 35 20  3a 20 73 65 72 69 61 6c  |   . 45 : serial|
00002230  24 3d 22 26 30 33 32 34  32 22 0d 01 43 1f 20 20  |$="&03242"..C.  |
00002240  20 20 c9 20 34 36 20 3a  20 73 65 72 69 61 6c 24  |  . 46 : serial$|
00002250  3d 22 26 30 33 32 34 36  22 0d 01 44 1f 20 20 20  |="&03246"..D.   |
00002260  20 c9 20 34 37 20 3a 20  73 65 72 69 61 6c 24 3d  | . 47 : serial$=|
00002270  22 26 30 33 32 34 41 22  0d 01 45 1f 20 20 20 20  |"&0324A"..E.    |
00002280  c9 20 34 38 20 3a 20 73  65 72 69 61 6c 24 3d 22  |. 48 : serial$="|
00002290  26 30 33 32 34 45 22 0d  01 46 1f 20 20 20 20 c9  |&0324E"..F.    .|
000022a0  20 34 39 20 3a 20 73 65  72 69 61 6c 24 3d 22 26  | 49 : serial$="&|
000022b0  30 33 32 37 32 22 0d 01  47 1f 20 20 20 20 c9 20  |03272"..G.    . |
000022c0  35 30 20 3a 20 73 65 72  69 61 6c 24 3d 22 26 30  |50 : serial$="&0|
000022d0  33 32 37 36 22 0d 01 48  1f 20 20 20 20 c9 20 35  |3276"..H.    . 5|
000022e0  31 20 3a 20 73 65 72 69  61 6c 24 3d 22 26 30 33  |1 : serial$="&03|
000022f0  32 37 41 22 0d 01 49 1f  20 20 20 20 c9 20 35 32  |27A"..I.    . 52|
00002300  20 3a 20 73 65 72 69 61  6c 24 3d 22 26 30 33 32  | : serial$="&032|
00002310  37 45 22 0d 01 4a 08 20  20 20 cb 0d 01 4b 0e 20  |7E"..J.   ...K. |
00002320  20 20 70 6f 72 74 25 3d  30 0d 01 4c 13 20 20 20  |  port%=0..L.   |
00002330  e3 20 4e 25 3d 35 35 20  b8 20 35 37 0d 01 4d 3d  |. N%=55 . 57..M=|
00002340  20 20 20 20 e7 20 a4 69  63 6f 6e 5f 73 65 6c 65  |    . .icon_sele|
00002350  63 74 65 64 28 70 61 6e  65 5f 68 61 6e 64 6c 65  |cted(pane_handle|
00002360  25 2c 4e 25 29 20 80 20  73 6c 6f 74 25 3c 3e 30  |%,N%) . slot%<>0|
00002370  20 70 6f 72 74 25 3d 4e  25 0d 01 4e 08 20 20 20  | port%=N%..N.   |
00002380  ed 0d 01 4f 11 20 20 20  c8 8e 20 70 6f 72 74 25  |...O.   .. port%|
00002390  20 ca 0d 01 50 24 20 20  20 20 c9 20 35 35 20 3a  | ...P$    . 55 :|
000023a0  20 73 65 72 69 61 6c 24  3d 73 65 72 69 61 6c 24  | serial$=serial$|
000023b0  2b 22 38 30 30 22 0d 01  51 24 20 20 20 20 c9 20  |+"800"..Q$    . |
000023c0  35 36 20 3a 20 73 65 72  69 61 6c 24 3d 73 65 72  |56 : serial$=ser|
000023d0  69 61 6c 24 2b 22 34 30  30 22 0d 01 52 24 20 20  |ial$+"400"..R$  |
000023e0  20 20 c9 20 35 37 20 3a  20 73 65 72 69 61 6c 24  |  . 57 : serial$|
000023f0  3d 73 65 72 69 61 6c 24  2b 22 30 30 30 22 0d 01  |=serial$+"000"..|
00002400  53 08 20 20 20 cb 0d 01  54 07 20 20 cd 0d 01 55  |S.   ...T.  ...U|
00002410  06 20 e1 0d 01 56 04 0d  01 57 1e 20 dd 20 f2 73  |. ...V...W. . .s|
00002420  65 74 5f 70 61 72 61 6d  73 5f 74 6f 5f 64 65 66  |et_params_to_def|
00002430  61 75 6c 74 73 0d 01 58  87 20 20 63 68 65 63 6b  |aults..X.  check|
00002440  24 3d 22 53 65 74 74 69  6e 67 20 61 6c 6c 20 70  |$="Setting all p|
00002450  61 72 61 6d 65 74 65 72  73 20 74 6f 20 74 68 65  |arameters to the|
00002460  69 72 20 64 65 66 61 75  6c 74 20 76 61 6c 75 65  |ir default value|
00002470  73 20 6d 61 79 20 63 61  75 73 65 20 73 6c 6f 70  |s may cause slop|
00002480  69 6e 67 20 70 69 63 74  75 72 65 73 2e 20 43 6c  |ing pictures. Cl|
00002490  69 63 6b 20 4f 4b 20 69  66 20 79 6f 75 20 61 72  |ick OK if you ar|
000024a0  65 20 73 75 72 65 20 79  6f 75 20 77 61 6e 74 20  |e sure you want |
000024b0  74 6f 20 64 6f 20 74 68  69 73 2e 22 0d 01 59 1b  |to do this."..Y.|
000024c0  20 20 e7 20 a4 72 65 70  6f 72 74 28 63 68 65 63  |  . .report(chec|
000024d0  6b 24 2c 33 29 20 8c 0d  01 5a 21 20 20 20 f2 77  |k$,3) ...Z!   .w|
000024e0  72 69 74 65 5f 64 65 66  61 75 6c 74 5f 70 61 72  |rite_default_par|
000024f0  61 6d 73 5f 66 69 6c 65  0d 01 5b 1d 20 20 20 f2  |ams_file..[.   .|
00002500  77 72 69 74 65 5f 70 61  72 61 6d 73 5f 74 6f 5f  |write_params_to_|
00002510  69 63 6f 6e 73 0d 01 5c  07 20 20 cd 0d 01 5d 06  |icons..\.  ...].|
00002520  20 e1 0d 01 5e 04 0d 01  5f 22 20 dd 20 f2 77 72  | ...^..._" . .wr|
00002530  69 74 65 5f 64 65 66 61  75 6c 74 5f 70 61 72 61  |ite_default_para|
00002540  6d 73 5f 66 69 6c 65 20  0d 01 60 20 20 20 46 25  |ms_file ..`   F%|
00002550  3d ad 28 63 6f 6e 66 69  67 5f 64 69 72 24 2b 22  |=.(config_dir$+"|
00002560  50 61 72 61 6d 73 22 29  0d 01 61 12 20 20 20 66  |Params")..a.   f|
00002570  69 6c 65 6f 70 65 6e 25  3d b9 0d 01 62 46 20 20  |ileopen%=...bF  |
00002580  20 63 61 6c 6c 73 69 67  6e 24 3d 22 4d 79 43 61  | callsign$="MyCa|
00002590  6c 6c 22 20 20 20 20 20  3a 20 d5 23 46 25 2c 63  |ll"     : .#F%,c|
000025a0  61 6c 6c 73 69 67 6e 24  20 20 20 3a 20 f4 20 54  |allsign$   : . T|
000025b0  65 73 74 63 61 72 64 20  63 61 6c 6c 73 69 67 6e  |estcard callsign|
000025c0  0d 01 63 44 20 20 20 63  6c 6f 63 6b 5f 66 72 65  |..cD   clock_fre|
000025d0  71 24 3d 22 32 30 30 30  30 30 30 22 20 20 3a 20  |q$="2000000"  : |
000025e0  d5 23 46 25 2c 63 6c 6f  63 6b 5f 66 72 65 71 24  |.#F%,clock_freq$|
000025f0  20 3a 20 f4 20 43 6c 6f  63 6b 20 66 72 65 71 75  | : . Clock frequ|
00002600  65 6e 63 79 0d 01 64 44  20 20 20 73 74 61 72 74  |ency..dD   start|
00002610  5f 64 69 72 24 3d 22 41  44 46 53 3a 3a 34 2e 24  |_dir$="ADFS::4.$|
00002620  22 20 3a 20 d5 23 46 25  2c 73 74 61 72 74 5f 64  |" : .#F%,start_d|
00002630  69 72 24 20 20 3a 20 f4  20 53 74 61 72 74 20 64  |ir$  : . Start d|
00002640  69 72 65 63 74 6f 72 79  0d 01 65 45 20 20 20 6d  |irectory..eE   m|
00002650  65 6d 6f 72 69 65 73 24  3d 22 33 22 20 20 20 20  |emories$="3"    |
00002660  20 20 20 20 20 20 3a 20  d5 23 46 25 2c 6d 65 6d  |      : .#F%,mem|
00002670  6f 72 69 65 73 24 20 20  20 3a 20 f4 20 50 69 63  |ories$   : . Pic|
00002680  74 75 72 65 20 6d 65 6d  6f 72 69 65 73 0d 01 66  |ture memories..f|
00002690  46 20 20 20 6f 76 65 72  6c 61 79 24 3d 22 33 32  |F   overlay$="32|
000026a0  30 22 20 20 20 20 20 20  20 20 20 3a 20 d5 23 46  |0"         : .#F|
000026b0  25 2c 6f 76 65 72 6c 61  79 24 20 20 20 20 3a 20  |%,overlay$    : |
000026c0  f4 20 4f 76 65 72 6c 61  79 20 73 69 7a 65 20 28  |. Overlay size (|
000026d0  4b 42 29 0d 01 67 42 20  20 20 75 73 65 72 5f 70  |KB)..gB   user_p|
000026e0  61 74 68 24 3d 22 4e 4f  4e 45 22 20 20 20 20 20  |ath$="NONE"     |
000026f0  20 3a 20 d5 23 46 25 2c  75 73 65 72 5f 70 61 74  | : .#F%,user_pat|
00002700  68 24 20 20 3a 20 f4 20  55 73 65 72 20 70 61 74  |h$  : . User pat|
00002710  68 6e 61 6d 65 0d 01 68  43 20 20 20 61 75 74 6f  |hname..hC   auto|
00002720  5f 70 61 74 68 24 3d 22  41 44 46 53 3a 3a 34 2e  |_path$="ADFS::4.|
00002730  24 22 20 3a 20 d5 23 46  25 2c 61 75 74 6f 5f 70  |$" : .#F%,auto_p|
00002740  61 74 68 24 20 20 3a 20  f4 20 41 75 74 6f 2d 73  |ath$  : . Auto-s|
00002750  61 76 65 20 70 61 74 68  0d 01 69 46 20 20 20 74  |ave path..iF   t|
00002760  78 5f 64 69 76 69 64 65  72 24 3d 22 4e 22 20 20  |x_divider$="N"  |
00002770  20 20 20 20 20 20 3a 20  d5 23 46 25 2c 74 78 5f  |      : .#F%,tx_|
00002780  64 69 76 69 64 65 72 24  20 3a 20 f4 20 37 34 48  |divider$ : . 74H|
00002790  43 37 34 20 54 58 20 64  69 76 69 64 65 72 0d 01  |C74 TX divider..|
000027a0  6a 3f 20 20 20 74 68 75  6d 62 6e 61 69 6c 73 24  |j?   thumbnails$|
000027b0  3d 22 59 22 20 20 20 20  20 20 20 20 3a 20 d5 23  |="Y"        : .#|
000027c0  46 25 2c 74 68 75 6d 62  6e 61 69 6c 73 24 20 3a  |F%,thumbnails$ :|
000027d0  20 f4 20 54 68 75 6d 62  6e 61 69 6c 73 0d 01 6b  | . Thumbnails..k|
000027e0  40 20 20 20 68 65 61 64  65 72 24 3d 22 50 73 63  |@   header$="Psc|
000027f0  61 6e 20 53 53 54 56 22  20 20 20 3a 20 d5 23 46  |an SSTV"   : .#F|
00002800  25 2c 68 65 61 64 65 72  24 20 20 20 20 20 3a 20  |%,header$     : |
00002810  f4 20 48 65 61 64 65 72  20 74 65 78 74 0d 01 6c  |. Header text..l|
00002820  43 20 20 20 63 77 24 3d  22 53 53 54 56 20 50 53  |C   cw$="SSTV PS|
00002830  45 20 4b 22 20 20 20 20  20 20 20 3a 20 d5 23 46  |E K"       : .#F|
00002840  25 2c 63 77 24 20 20 20  20 20 20 20 20 20 3a 20  |%,cw$         : |
00002850  f4 20 52 65 70 65 61 74  65 72 20 43 57 20 49 44  |. Repeater CW ID|
00002860  0d 01 6d 46 20 20 20 74  6f 6e 65 62 75 72 73 74  |..mF   toneburst|
00002870  24 3d 22 34 30 22 20 20  20 20 20 20 20 20 3a 20  |$="40"        : |
00002880  d5 23 46 25 2c 74 6f 6e  65 62 75 72 73 74 24 20  |.#F%,toneburst$ |
00002890  20 3a 20 f4 20 31 37 35  30 20 48 7a 20 62 61 6e  | : . 1750 Hz ban|
000028a0  64 77 69 64 74 68 0d 01  6e 49 20 20 20 73 65 72  |dwidth..nI   ser|
000028b0  69 61 6c 24 3d 22 30 33  30 31 30 46 45 30 22 20  |ial$="03010FE0" |
000028c0  20 20 20 20 3a 20 d5 23  46 25 2c 73 65 72 69 61  |    : .#F%,seria|
000028d0  6c 24 20 20 20 20 20 3a  20 f4 20 42 75 69 6c 74  |l$     : . Built|
000028e0  2d 69 6e 20 73 65 72 69  61 6c 20 70 6f 72 74 0d  |-in serial port.|
000028f0  01 6f 0a 20 20 d9 23 46  25 0d 01 70 11 20 20 66  |.o.  .#F%..p.  f|
00002900  69 6c 65 6f 70 65 6e 25  3d a3 0d 01 71 06 20 e1  |ileopen%=...q. .|
00002910  0d 01 72 05 20 0d 01 73  04 0d 01 74 27 20 dd 20  |..r. ..s...t' . |
00002920  f2 72 65 61 64 5f 61 6e  64 5f 73 61 76 65 5f 70  |.read_and_save_p|
00002930  61 72 61 6d 73 5f 66 72  6f 6d 5f 69 63 6f 6e 73  |arams_from_icons|
00002940  0d 01 75 04 0d 01 76 1d  20 e7 20 a4 76 61 6c 75  |..u...v. . .valu|
00002950  65 73 5f 6f 75 74 5f 6f  66 5f 72 61 6e 67 65 20  |es_out_of_range |
00002960  8c 0d 01 77 7f 20 20 6d  65 73 73 61 67 65 24 3d  |...w.  message$=|
00002970  22 53 6f 6d 65 20 6f 75  74 2d 6f 66 2d 72 61 6e  |"Some out-of-ran|
00002980  67 65 20 70 61 72 61 6d  65 74 65 72 73 20 68 61  |ge parameters ha|
00002990  76 65 20 62 65 65 6e 20  73 65 74 20 74 6f 20 74  |ve been set to t|
000029a0  68 65 69 72 20 64 65 66  61 75 6c 74 20 76 61 6c  |heir default val|
000029b0  75 65 73 2e 20 54 68 65  20 6d 6f 64 69 66 69 65  |ues. The modifie|
000029c0  64 20 70 61 72 61 6d 65  74 65 72 73 20 77 69 6c  |d parameters wil|
000029d0  6c 20 6e 6f 77 20 62 65  20 73 61 76 65 64 2e 22  |l now be saved."|
000029e0  0d 01 78 1f 20 20 64 75  6d 6d 79 3d a4 72 65 70  |..x.  dummy=.rep|
000029f0  6f 72 74 28 6d 65 73 73  61 67 65 24 2c 31 29 0d  |ort(message$,1).|
00002a00  01 79 06 20 cd 0d 01 7a  04 0d 01 7b 48 20 e7 20  |.y. ...z...{H . |
00002a10  a4 69 63 6f 6e 5f 73 65  6c 65 63 74 65 64 28 70  |.icon_selected(p|
00002a20  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 31 35 29 20  |ane_handle%,15) |
00002a30  74 68 75 6d 62 6e 61 69  6c 73 24 3d 22 59 22 20  |thumbnails$="Y" |
00002a40  8b 20 74 68 75 6d 62 6e  61 69 6c 73 24 3d 22 4e  |. thumbnails$="N|
00002a50  22 0d 01 7c 04 0d 01 7d  3a 20 e7 20 6d 32 24 3c  |"..|...}: . m2$<|
00002a60  3e 6d 65 6d 6f 72 69 65  73 24 20 84 20 6f 76 65  |>memories$ . ove|
00002a70  72 6c 61 79 24 3c 3e 6f  32 24 20 84 20 74 68 75  |rlay$<>o2$ . thu|
00002a80  6d 62 6e 61 69 6c 73 24  3c 3e 74 32 24 20 8c 0d  |mbnails$<>t2$ ..|
00002a90  01 7e a0 20 20 6d 65 73  73 61 67 65 24 3d 22 50  |.~.  message$="P|
00002aa0  61 72 61 6d 65 74 65 72  73 20 61 66 66 65 63 74  |arameters affect|
00002ab0  69 6e 67 20 74 68 65 20  6d 65 6d 6f 72 79 20 72  |ing the memory r|
00002ac0  65 71 75 69 72 65 6d 65  6e 74 73 20 6f 66 20 50  |equirements of P|
00002ad0  73 63 61 6e 20 68 61 76  65 20 62 65 65 6e 20 63  |scan have been c|
00002ae0  68 61 6e 67 65 64 2e 20  59 6f 75 20 6d 75 73 74  |hanged. You must|
00002af0  20 71 75 69 74 20 61 6e  64 20 72 65 73 74 61 72  | quit and restar|
00002b00  74 20 50 73 63 61 6e 20  66 6f 72 20 74 68 65 73  |t Pscan for thes|
00002b10  65 20 63 68 61 6e 67 65  73 20 74 6f 20 63 6f 6d  |e changes to com|
00002b20  65 20 69 6e 74 6f 20 65  66 66 65 63 74 2e 22 0d  |e into effect.".|
00002b30  01 7f 1f 20 20 64 75 6d  6d 79 3d a4 72 65 70 6f  |...  dummy=.repo|
00002b40  72 74 28 6d 65 73 73 61  67 65 24 2c 31 29 0d 01  |rt(message$,1)..|
00002b50  80 06 20 cd 0d 01 81 05  20 0d 01 82 20 20 20 46  |.. ..... ...   F|
00002b60  25 3d ad 28 63 6f 6e 66  69 67 5f 64 69 72 24 2b  |%=.(config_dir$+|
00002b70  22 50 61 72 61 6d 73 22  29 0d 01 83 12 20 20 20  |"Params")....   |
00002b80  66 69 6c 65 6f 70 65 6e  25 3d b9 0d 01 84 39 20  |fileopen%=....9 |
00002b90  20 20 d5 23 46 25 2c a4  72 65 61 64 5f 69 63 6f  |  .#F%,.read_ico|
00002ba0  6e 5f 74 65 78 74 28 70  61 6e 65 5f 68 61 6e 64  |n_text(pane_hand|
00002bb0  6c 65 25 2c 32 29 20 20  3a 20 f4 20 43 61 6c 6c  |le%,2)  : . Call|
00002bc0  73 69 67 6e 0d 01 85 40  20 20 20 d5 23 46 25 2c  |sign...@   .#F%,|
00002bd0  a4 72 65 61 64 5f 69 63  6f 6e 5f 74 65 78 74 28  |.read_icon_text(|
00002be0  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 31 30 29  |pane_handle%,10)|
00002bf0  20 3a 20 f4 20 43 6c 6f  63 6b 20 66 72 65 71 75  | : . Clock frequ|
00002c00  65 6e 63 79 0d 01 86 40  20 20 20 d5 23 46 25 2c  |ency...@   .#F%,|
00002c10  a4 72 65 61 64 5f 69 63  6f 6e 5f 74 65 78 74 28  |.read_icon_text(|
00002c20  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 33 33 29  |pane_handle%,33)|
00002c30  20 3a 20 f4 20 53 74 61  72 74 20 64 69 72 65 63  | : . Start direc|
00002c40  74 6f 72 79 0d 01 87 41  20 20 20 d5 23 46 25 2c  |tory...A   .#F%,|
00002c50  a4 72 65 61 64 5f 69 63  6f 6e 5f 74 65 78 74 28  |.read_icon_text(|
00002c60  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 32 32 29  |pane_handle%,22)|
00002c70  20 3a 20 f4 20 50 69 63  74 75 72 65 20 6d 65 6d  | : . Picture mem|
00002c80  6f 72 69 65 73 0d 01 88  3d 20 20 20 d5 23 46 25  |ories...=   .#F%|
00002c90  2c a4 72 65 61 64 5f 69  63 6f 6e 5f 74 65 78 74  |,.read_icon_text|
00002ca0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 32 37  |(pane_handle%,27|
00002cb0  29 20 3a 20 f4 20 4f 76  65 72 6c 61 79 20 73 69  |) : . Overlay si|
00002cc0  7a 65 0d 01 89 3e 20 20  20 d5 23 46 25 2c a4 72  |ze...>   .#F%,.r|
00002cd0  65 61 64 5f 69 63 6f 6e  5f 74 65 78 74 28 70 61  |ead_icon_text(pa|
00002ce0  6e 65 5f 68 61 6e 64 6c  65 25 2c 33 35 29 20 3a  |ne_handle%,35) :|
00002cf0  20 f4 20 55 73 65 72 20  70 61 74 68 6e 61 6d 65  | . User pathname|
00002d00  0d 01 8a 3f 20 20 20 d5  23 46 25 2c a4 72 65 61  |...?   .#F%,.rea|
00002d10  64 5f 69 63 6f 6e 5f 74  65 78 74 28 70 61 6e 65  |d_icon_text(pane|
00002d20  5f 68 61 6e 64 6c 65 25  2c 33 38 29 20 3a 20 f4  |_handle%,38) : .|
00002d30  20 41 75 74 6f 2d 73 61  76 65 20 70 61 74 68 0d  | Auto-save path.|
00002d40  01 8b 44 20 20 20 e7 20  a4 69 63 6f 6e 5f 73 65  |..D   . .icon_se|
00002d50  6c 65 63 74 65 64 28 70  61 6e 65 5f 68 61 6e 64  |lected(pane_hand|
00002d60  6c 65 25 2c 31 36 29 20  d5 23 46 25 2c 22 59 22  |le%,16) .#F%,"Y"|
00002d70  20 8b 20 d5 23 46 25 2c  22 4e 22 3a f4 20 54 58  | . .#F%,"N":. TX|
00002d80  64 69 76 0d 01 8c 45 20  20 20 e7 20 a4 69 63 6f  |div...E   . .ico|
00002d90  6e 5f 73 65 6c 65 63 74  65 64 28 70 61 6e 65 5f  |n_selected(pane_|
00002da0  68 61 6e 64 6c 65 25 2c  31 35 29 20 d5 23 46 25  |handle%,15) .#F%|
00002db0  2c 22 59 22 20 8b 20 d5  23 46 25 2c 22 4e 22 3a  |,"Y" . .#F%,"N":|
00002dc0  f4 20 54 68 75 6d 62 73  0d 01 8d 3c 20 20 20 d5  |. Thumbs...<   .|
00002dd0  23 46 25 2c a4 72 65 61  64 5f 69 63 6f 6e 5f 74  |#F%,.read_icon_t|
00002de0  65 78 74 28 70 61 6e 65  5f 68 61 6e 64 6c 65 25  |ext(pane_handle%|
00002df0  2c 35 29 20 20 3a 20 f4  20 48 65 61 64 65 72 20  |,5)  : . Header |
00002e00  74 65 78 74 0d 01 8e 3f  20 20 20 d5 23 46 25 2c  |text...?   .#F%,|
00002e10  a4 72 65 61 64 5f 69 63  6f 6e 5f 74 65 78 74 28  |.read_icon_text(|
00002e20  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 37 29 20  |pane_handle%,7) |
00002e30  20 3a 20 f4 20 52 65 70  65 61 74 65 72 20 43 57  | : . Repeater CW|
00002e40  20 49 44 0d 01 8f 42 20  20 20 d5 23 46 25 2c a4  | ID...B   .#F%,.|
00002e50  72 65 61 64 5f 69 63 6f  6e 5f 74 65 78 74 28 70  |read_icon_text(p|
00002e60  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 31 38 29 20  |ane_handle%,18) |
00002e70  3a 20 f4 20 31 37 35 30  20 48 7a 20 62 61 6e 64  |: . 1750 Hz band|
00002e80  77 69 64 74 68 0d 01 90  27 20 20 20 f2 63 6f 6e  |width...'   .con|
00002e90  76 65 72 74 5f 69 63 6f  6e 73 5f 74 6f 5f 73 65  |vert_icons_to_se|
00002ea0  72 69 61 6c 5f 61 64 64  72 65 73 73 0d 01 91 45  |rial_address...E|
00002eb0  20 20 20 d5 23 46 25 2c  73 65 72 69 61 6c 24 20  |   .#F%,serial$ |
00002ec0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002ed0  20 20 20 20 20 20 20 20  20 20 3a 20 f4 20 53 65  |          : . Se|
00002ee0  72 69 61 6c 20 70 6f 72  74 20 61 64 64 72 65 73  |rial port addres|
00002ef0  73 0d 01 92 0a 20 20 d9  23 46 25 0d 01 93 12 20  |s....  .#F%.... |
00002f00  20 20 66 69 6c 65 6f 70  65 6e 25 3d a3 0d 01 94  |  fileopen%=....|
00002f10  06 20 e1 0d 01 95 05 20  0d 01 96 1a 20 dd 20 f2  |. ..... .... . .|
00002f20  69 63 6f 6e 5f 73 65 71  75 65 6e 63 65 5f 6c 69  |icon_sequence_li|
00002f30  73 74 0d 01 97 3b 20 f4  20 43 6f 6e 76 65 72 74  |st...; . Convert|
00002f40  20 69 63 6f 6e 20 70 6f  73 69 74 69 6f 6e 20 28  | icon position (|
00002f50  30 20 74 6f 20 39 29 20  74 6f 20 61 63 74 75 61  |0 to 9) to actua|
00002f60  6c 20 69 63 6f 6e 20 68  61 6e 64 6c 65 0d 01 98  |l icon handle...|
00002f70  45 20 f4 20 55 73 65 64  20 74 6f 20 6d 6f 76 65  |E . Used to move|
00002f80  20 74 68 65 20 63 61 72  61 74 20 77 68 65 6e 20  | the carat when |
00002f90  54 41 42 20 6f 72 20 75  70 2f 64 6f 77 6e 20 63  |TAB or up/down c|
00002fa0  75 72 73 6f 72 20 6b 65  79 73 20 70 72 65 73 73  |ursor keys press|
00002fb0  65 64 0d 01 99 14 20 20  69 63 6f 6e 5f 6c 69 73  |ed....  icon_lis|
00002fc0  74 25 3f 30 3d 32 0d 01  9a 14 20 20 69 63 6f 6e  |t%?0=2....  icon|
00002fd0  5f 6c 69 73 74 25 3f 31  3d 35 0d 01 9b 14 20 20  |_list%?1=5....  |
00002fe0  69 63 6f 6e 5f 6c 69 73  74 25 3f 32 3d 37 0d 01  |icon_list%?2=7..|
00002ff0  9c 15 20 20 69 63 6f 6e  5f 6c 69 73 74 25 3f 33  |..  icon_list%?3|
00003000  3d 31 30 0d 01 9d 15 20  20 69 63 6f 6e 5f 6c 69  |=10....  icon_li|
00003010  73 74 25 3f 34 3d 31 38  0d 01 9e 15 20 20 69 63  |st%?4=18....  ic|
00003020  6f 6e 5f 6c 69 73 74 25  3f 35 3d 32 32 0d 01 9f  |on_list%?5=22...|
00003030  15 20 20 69 63 6f 6e 5f  6c 69 73 74 25 3f 36 3d  |.  icon_list%?6=|
00003040  32 37 0d 01 a0 15 20 20  69 63 6f 6e 5f 6c 69 73  |27....  icon_lis|
00003050  74 25 3f 37 3d 33 33 0d  01 a1 15 20 20 69 63 6f  |t%?7=33....  ico|
00003060  6e 5f 6c 69 73 74 25 3f  38 3d 33 35 0d 01 a2 15  |n_list%?8=35....|
00003070  20 20 69 63 6f 6e 5f 6c  69 73 74 25 3f 39 3d 33  |  icon_list%?9=3|
00003080  38 0d 01 a3 06 20 e1 0d  01 a4 04 0d 01 a5 1f 20  |8.... ......... |
00003090  dd 20 f2 74 61 62 5f 6f  72 5f 61 72 72 6f 77 5f  |. .tab_or_arrow_|
000030a0  6b 65 79 73 28 6b 65 79  25 29 0d 01 a6 28 20 20  |keys(key%)...(  |
000030b0  c8 99 20 22 57 69 6d 70  5f 47 65 74 43 61 72 65  |.. "Wimp_GetCare|
000030c0  74 50 6f 73 69 74 69 6f  6e 22 2c 2c 62 6c 6f 63  |tPosition",,bloc|
000030d0  6b 25 0d 01 a7 2e 20 20  e7 20 62 6c 6f 63 6b 25  |k%....  . block%|
000030e0  21 30 3d 70 61 6e 65 5f  68 61 6e 64 6c 65 25 20  |!0=pane_handle% |
000030f0  80 20 62 6c 6f 63 6b 25  21 34 3c 3e 2d 31 20 8c  |. block%!4<>-1 .|
00003100  0d 01 a8 0c 20 20 20 4e  25 3d 2d 31 0d 01 a9 08  |....   N%=-1....|
00003110  20 20 20 f5 0d 01 aa 0d  20 20 20 20 4e 25 2b 3d  |   .....    N%+=|
00003120  31 0d 01 ab 34 20 20 20  fd 20 69 63 6f 6e 5f 6c  |1...4   . icon_l|
00003130  69 73 74 25 3f 4e 25 3d  62 6c 6f 63 6b 25 21 34  |ist%?N%=block%!4|
00003140  20 84 20 4e 25 3e 69 63  6f 6e 5f 70 6f 73 5f 6c  | . N%>icon_pos_l|
00003150  69 6d 69 74 25 0d 01 ac  1d 20 20 20 e7 20 4e 25  |imit%....   . N%|
00003160  3e 69 63 6f 6e 5f 70 6f  73 5f 6c 69 6d 69 74 25  |>icon_pos_limit%|
00003170  20 e1 0d 01 ad 04 0d 01  ae 13 20 20 e7 20 6b 65  | .........  . ke|
00003180  79 25 3d 26 31 38 46 20  8c 0d 01 af 26 20 20 20  |y%=&18F ....&   |
00003190  4e 25 2d 3d 31 3a e7 20  4e 25 3c 30 20 4e 25 3d  |N%-=1:. N%<0 N%=|
000031a0  69 63 6f 6e 5f 70 6f 73  5f 6c 69 6d 69 74 25 0d  |icon_pos_limit%.|
000031b0  01 b0 07 20 20 cc 0d 01  b1 26 20 20 20 4e 25 2b  |...  ....&   N%+|
000031c0  3d 31 3a e7 20 4e 25 3e  69 63 6f 6e 5f 70 6f 73  |=1:. N%>icon_pos|
000031d0  5f 6c 69 6d 69 74 25 20  4e 25 3d 30 0d 01 b2 07  |_limit% N%=0....|
000031e0  20 20 cd 0d 01 b3 1f 20  20 20 6e 65 78 74 5f 69  |  .....   next_i|
000031f0  63 6f 6e 25 3d 69 63 6f  6e 5f 6c 69 73 74 25 3f  |con%=icon_list%?|
00003200  4e 25 0d 01 b4 37 20 20  20 70 6f 73 25 3d a9 28  |N%...7   pos%=.(|
00003210  a4 72 65 61 64 5f 69 63  6f 6e 5f 74 65 78 74 28  |.read_icon_text(|
00003220  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 6e 65 78  |pane_handle%,nex|
00003230  74 5f 69 63 6f 6e 25 29  29 0d 01 b5 45 20 20 20  |t_icon%))...E   |
00003240  c8 99 20 22 57 69 6d 70  5f 53 65 74 43 61 72 65  |.. "Wimp_SetCare|
00003250  74 50 6f 73 69 74 69 6f  6e 22 2c 70 61 6e 65 5f  |tPosition",pane_|
00003260  68 61 6e 64 6c 65 25 2c  6e 65 78 74 5f 69 63 6f  |handle%,next_ico|
00003270  6e 25 2c 30 2c 30 2c 2d  31 2c 70 6f 73 25 0d 01  |n%,0,0,-1,pos%..|
00003280  b6 06 20 e1 0d 01 b7 04  0d 01 b8 26 20 dd 20 f2  |.. ........& . .|
00003290  6d 65 6d 6f 72 69 65 73  5f 75 70 5f 64 6f 77 6e  |memories_up_down|
000032a0  28 69 63 6f 6e 5f 68 61  6e 64 6c 65 25 29 0d 01  |(icon_handle%)..|
000032b0  b9 30 20 20 6d 65 6d 6f  72 69 65 73 24 3d a4 72  |.0  memories$=.r|
000032c0  65 61 64 5f 69 63 6f 6e  5f 74 65 78 74 28 70 61  |ead_icon_text(pa|
000032d0  6e 65 5f 68 61 6e 64 6c  65 25 2c 32 32 29 0d 01  |ne_handle%,22)..|
000032e0  ba 2a 20 20 e7 20 69 63  6f 6e 5f 68 61 6e 64 6c  |.*  . icon_handl|
000032f0  65 25 3d 32 34 20 80 20  bb 28 6d 65 6d 6f 72 69  |e%=24 . .(memori|
00003300  65 73 24 29 3e 32 20 8c  0d 01 bb 22 20 20 20 6d  |es$)>2 ...."   m|
00003310  65 6d 6f 72 69 65 73 24  3d c3 28 bb 28 6d 65 6d  |emories$=.(.(mem|
00003320  6f 72 69 65 73 24 29 2d  31 29 0d 01 bc 07 20 20  |ories$)-1)....  |
00003330  cd 0d 01 bd 2a 20 20 e7  20 69 63 6f 6e 5f 68 61  |....*  . icon_ha|
00003340  6e 64 6c 65 25 3d 32 35  20 80 20 bb 28 6d 65 6d  |ndle%=25 . .(mem|
00003350  6f 72 69 65 73 24 29 3c  38 20 8c 0d 01 be 22 20  |ories$)<8 ...." |
00003360  20 20 6d 65 6d 6f 72 69  65 73 24 3d c3 28 bb 28  |  memories$=.(.(|
00003370  6d 65 6d 6f 72 69 65 73  24 29 2b 31 29 0d 01 bf  |memories$)+1)...|
00003380  07 20 20 cd 0d 01 c0 31  20 20 f2 77 72 69 74 65  |.  ....1  .write|
00003390  5f 69 63 6f 6e 5f 74 65  78 74 28 70 61 6e 65 5f  |_icon_text(pane_|
000033a0  68 61 6e 64 6c 65 25 2c  32 32 2c 6d 65 6d 6f 72  |handle%,22,memor|
000033b0  69 65 73 24 29 0d 01 c1  06 20 e1 0d 01 c2 04 0d  |ies$).... ......|
000033c0  01 c3 27 20 dd 20 f2 66  72 65 71 75 65 6e 63 79  |..' . .frequency|
000033d0  5f 75 70 5f 64 6f 77 6e  28 69 63 6f 6e 5f 68 61  |_up_down(icon_ha|
000033e0  6e 64 6c 65 25 29 0d 01  c4 32 20 20 63 6c 6f 63  |ndle%)...2  cloc|
000033f0  6b 5f 66 72 65 71 24 3d  a4 72 65 61 64 5f 69 63  |k_freq$=.read_ic|
00003400  6f 6e 5f 74 65 78 74 28  70 61 6e 65 5f 68 61 6e  |on_text(pane_han|
00003410  64 6c 65 25 2c 31 30 29  0d 01 c5 19 20 20 e7 20  |dle%,10)....  . |
00003420  69 63 6f 6e 5f 68 61 6e  64 6c 65 25 3d 31 31 20  |icon_handle%=11 |
00003430  8c 0d 01 c6 26 20 20 20  63 6c 6f 63 6b 5f 66 72  |....&   clock_fr|
00003440  65 71 24 3d c3 28 bb 28  63 6c 6f 63 6b 5f 66 72  |eq$=.(.(clock_fr|
00003450  65 71 24 29 2d 31 29 0d  01 c7 07 20 20 cd 0d 01  |eq$)-1)....  ...|
00003460  c8 19 20 20 e7 20 69 63  6f 6e 5f 68 61 6e 64 6c  |..  . icon_handl|
00003470  65 25 3d 31 32 20 8c 0d  01 c9 26 20 20 20 63 6c  |e%=12 ....&   cl|
00003480  6f 63 6b 5f 66 72 65 71  24 3d c3 28 bb 28 63 6c  |ock_freq$=.(.(cl|
00003490  6f 63 6b 5f 66 72 65 71  24 29 2b 31 29 0d 01 ca  |ock_freq$)+1)...|
000034a0  07 20 20 cd 0d 01 cb 33  20 20 f2 77 72 69 74 65  |.  ....3  .write|
000034b0  5f 69 63 6f 6e 5f 74 65  78 74 28 70 61 6e 65 5f  |_icon_text(pane_|
000034c0  68 61 6e 64 6c 65 25 2c  31 30 2c 63 6c 6f 63 6b  |handle%,10,clock|
000034d0  5f 66 72 65 71 24 29 0d  01 cc 06 20 e1 0d 01 cd  |_freq$).... ....|
000034e0  04 0d 01 ce 27 20 dd 20  f2 74 6f 6e 65 62 75 72  |....' . .tonebur|
000034f0  73 74 5f 75 70 5f 64 6f  77 6e 28 69 63 6f 6e 5f  |st_up_down(icon_|
00003500  68 61 6e 64 6c 65 25 29  0d 01 cf 31 20 20 74 6f  |handle%)...1  to|
00003510  6e 65 62 75 72 73 74 24  3d a4 72 65 61 64 5f 69  |neburst$=.read_i|
00003520  63 6f 6e 5f 74 65 78 74  28 70 61 6e 65 5f 68 61  |con_text(pane_ha|
00003530  6e 64 6c 65 25 2c 31 38  29 0d 01 d0 2c 20 20 e7  |ndle%,18)...,  .|
00003540  20 69 63 6f 6e 5f 68 61  6e 64 6c 65 25 3d 31 39  | icon_handle%=19|
00003550  20 80 20 bb 28 74 6f 6e  65 62 75 72 73 74 24 29  | . .(toneburst$)|
00003560  3e 31 30 20 8c 0d 01 d1  24 20 20 20 74 6f 6e 65  |>10 ....$   tone|
00003570  62 75 72 73 74 24 3d c3  28 bb 28 74 6f 6e 65 62  |burst$=.(.(toneb|
00003580  75 72 73 74 24 29 2d 31  29 0d 01 d2 07 20 20 cd  |urst$)-1)....  .|
00003590  0d 01 d3 2d 20 20 e7 20  69 63 6f 6e 5f 68 61 6e  |...-  . icon_han|
000035a0  64 6c 65 25 3d 32 30 20  80 20 bb 28 74 6f 6e 65  |dle%=20 . .(tone|
000035b0  62 75 72 73 74 24 29 3c  32 30 30 20 8c 0d 01 d4  |burst$)<200 ....|
000035c0  24 20 20 20 74 6f 6e 65  62 75 72 73 74 24 3d c3  |$   toneburst$=.|
000035d0  28 bb 28 74 6f 6e 65 62  75 72 73 74 24 29 2b 31  |(.(toneburst$)+1|
000035e0  29 0d 01 d5 07 20 20 cd  0d 01 d6 32 20 20 f2 77  |)....  ....2  .w|
000035f0  72 69 74 65 5f 69 63 6f  6e 5f 74 65 78 74 28 70  |rite_icon_text(p|
00003600  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 31 38 2c 74  |ane_handle%,18,t|
00003610  6f 6e 65 62 75 72 73 74  24 29 0d 01 d7 06 20 e1  |oneburst$).... .|
00003620  0d 01 d8 04 0d 01 d9 25  20 dd 20 f2 6f 76 65 72  |.......% . .over|
00003630  6c 61 79 5f 75 70 5f 64  6f 77 6e 28 69 63 6f 6e  |lay_up_down(icon|
00003640  5f 68 61 6e 64 6c 65 25  29 0d 01 da 2f 20 20 6f  |_handle%).../  o|
00003650  76 65 72 6c 61 79 24 3d  a4 72 65 61 64 5f 69 63  |verlay$=.read_ic|
00003660  6f 6e 5f 74 65 78 74 28  70 61 6e 65 5f 68 61 6e  |on_text(pane_han|
00003670  64 6c 65 25 2c 32 37 29  0d 01 db 2a 20 20 e7 20  |dle%,27)...*  . |
00003680  69 63 6f 6e 5f 68 61 6e  64 6c 65 25 3d 32 38 20  |icon_handle%=28 |
00003690  80 20 bb 28 6f 76 65 72  6c 61 79 24 29 3e 36 30  |. .(overlay$)>60|
000036a0  20 8c 0d 01 dc 21 20 20  20 6f 76 65 72 6c 61 79  | ....!   overlay|
000036b0  24 3d c3 28 bb 28 6f 76  65 72 6c 61 79 24 29 2d  |$=.(.(overlay$)-|
000036c0  31 30 29 0d 01 dd 07 20  20 cd 0d 01 de 19 20 20  |10)....  .....  |
000036d0  e7 20 69 63 6f 6e 5f 68  61 6e 64 6c 65 25 3d 32  |. icon_handle%=2|
000036e0  39 20 8c 0d 01 df 21 20  20 20 6f 76 65 72 6c 61  |9 ....!   overla|
000036f0  79 24 3d c3 28 bb 28 6f  76 65 72 6c 61 79 24 29  |y$=.(.(overlay$)|
00003700  2b 31 30 29 0d 01 e0 07  20 20 cd 0d 01 e1 30 20  |+10)....  ....0 |
00003710  20 f2 77 72 69 74 65 5f  69 63 6f 6e 5f 74 65 78  | .write_icon_tex|
00003720  74 28 70 61 6e 65 5f 68  61 6e 64 6c 65 25 2c 32  |t(pane_handle%,2|
00003730  37 2c 6f 76 65 72 6c 61  79 24 29 0d 01 e2 06 20  |7,overlay$).... |
00003740  e1 0d 01 e3 04 0d 01 e4  1b 20 dd 20 a4 76 61 6c  |......... . .val|
00003750  75 65 73 5f 6f 75 74 5f  6f 66 5f 72 61 6e 67 65  |ues_out_of_range|
00003760  0d 01 e5 19 20 20 61 6c  6c 5f 76 61 6c 75 65 73  |....  all_values|
00003770  5f 6c 65 67 61 6c 25 3d  b9 0d 01 e6 30 20 20 6d  |_legal%=....0  m|
00003780  65 6d 6f 72 69 65 73 24  3d a4 72 65 61 64 5f 69  |emories$=.read_i|
00003790  63 6f 6e 5f 74 65 78 74  28 70 61 6e 65 5f 68 61  |con_text(pane_ha|
000037a0  6e 64 6c 65 25 2c 32 32  29 0d 01 e7 18 20 20 e7  |ndle%,22)....  .|
000037b0  20 bb 28 6d 65 6d 6f 72  69 65 73 24 29 3c 32 20  | .(memories$)<2 |
000037c0  8c 0d 01 e8 40 20 20 20  6d 65 6d 6f 72 69 65 73  |....@   memories|
000037d0  24 3d 22 32 22 3a f2 77  72 69 74 65 5f 69 63 6f  |$="2":.write_ico|
000037e0  6e 5f 74 65 78 74 28 70  61 6e 65 5f 68 61 6e 64  |n_text(pane_hand|
000037f0  6c 65 25 2c 32 32 2c 6d  65 6d 6f 72 69 65 73 24  |le%,22,memories$|
00003800  29 0d 01 e9 1a 20 20 20  61 6c 6c 5f 76 61 6c 75  |)....   all_valu|
00003810  65 73 5f 6c 65 67 61 6c  25 3d a3 0d 01 ea 07 20  |es_legal%=..... |
00003820  20 cd 0d 01 eb 18 20 20  e7 20 bb 28 6d 65 6d 6f  | .....  . .(memo|
00003830  72 69 65 73 24 29 3e 38  20 8c 0d 01 ec 40 20 20  |ries$)>8 ....@  |
00003840  20 6d 65 6d 6f 72 69 65  73 24 3d 22 38 22 3a f2  | memories$="8":.|
00003850  77 72 69 74 65 5f 69 63  6f 6e 5f 74 65 78 74 28  |write_icon_text(|
00003860  70 61 6e 65 5f 68 61 6e  64 6c 65 25 2c 32 32 2c  |pane_handle%,22,|
00003870  6d 65 6d 6f 72 69 65 73  24 29 0d 01 ed 1a 20 20  |memories$)....  |
00003880  20 61 6c 6c 5f 76 61 6c  75 65 73 5f 6c 65 67 61  | all_values_lega|
00003890  6c 25 3d a3 0d 01 ee 07  20 20 cd 0d 01 ef 04 0d  |l%=.....  ......|
000038a0  01 f0 32 20 20 63 6c 6f  63 6b 5f 66 72 65 71 24  |..2  clock_freq$|
000038b0  3d a4 72 65 61 64 5f 69  63 6f 6e 5f 74 65 78 74  |=.read_icon_text|
000038c0  28 70 61 6e 65 5f 68 61  6e 64 6c 65 25 2c 31 30  |(pane_handle%,10|
000038d0  29 0d 01 f1 20 20 20 e7  20 bb 28 63 6c 6f 63 6b  |)...   . .(clock|
000038e0  5f 66 72 65 71 24 29 3c  31 39 39 30 30 30 30 20  |_freq$)<1990000 |
000038f0  8c 0d 01 f2 4a 20 20 20  63 6c 6f 63 6b 5f 66 72  |....J   clock_fr|
00003900  65 71 24 3d 22 32 30 30  30 30 30 30 22 3a f2 77  |eq$="2000000":.w|
00003910  72 69 74 65 5f 69 63 6f  6e 5f 74 65 78 74 28 70  |rite_icon_text(p|
00003920  61 6e 65 5f 68 61 6e 64  6c 65 25 2c 31 30 2c 63  |ane_handle%,10,c|
00003930  6c 6f 63 6b 5f 66 72 65  71 24 29 0d 01 f3 1a 20  |lock_freq$).... |
00003940  20 20 61 6c 6c 5f 76 61  6c 75 65 73 5f 6c 65 67  |  all_values_leg|
00003950  61 6c 25 3d a3 0d 01 f4  07 20 20 cd 0d 01 f5 20  |al%=.....  .... |
00003960  20 20 e7 20 bb 28 63 6c  6f 63 6b 5f 66 72 65 71  |  . .(clock_freq|
00003970  24 29 3e 32 30 31 30 30  30 30 20 8c 0d 01 f6 4a  |$)>2010000 ....J|
00003980  20 20 20 63 6c 6f 63 6b  5f 66 72 65 71 24 3d 22  |   clock_freq$="|
00003990  32 30 30 30 30 30 30 22  3a f2 77 72 69 74 65 5f  |2000000":.write_|
000039a0  69 63 6f 6e 5f 74 65 78  74 28 70 61 6e 65 5f 68  |icon_text(pane_h|
000039b0  61 6e 64 6c 65 25 2c 31  30 2c 63 6c 6f 63 6b 5f  |andle%,10,clock_|
000039c0  66 72 65 71 24 29 0d 01  f7 1a 20 20 20 61 6c 6c  |freq$)....   all|
000039d0  5f 76 61 6c 75 65 73 5f  6c 65 67 61 6c 25 3d a3  |_values_legal%=.|
000039e0  0d 01 f8 07 20 20 cd 0d  01 f9 04 0d 01 fa 30 20  |....  ........0 |
000039f0  74 6f 6e 65 62 75 72 73  74 24 3d a4 72 65 61 64  |toneburst$=.read|
00003a00  5f 69 63 6f 6e 5f 74 65  78 74 28 70 61 6e 65 5f  |_icon_text(pane_|
00003a10  68 61 6e 64 6c 65 25 2c  31 38 29 0d 01 fb 1a 20  |handle%,18).... |
00003a20  20 e7 20 bb 28 74 6f 6e  65 62 75 72 73 74 24 29  | . .(toneburst$)|
00003a30  3c 31 30 20 8c 0d 01 fc  43 20 20 20 74 6f 6e 65  |<10 ....C   tone|
00003a40  62 75 72 73 74 24 3d 22  34 30 22 3a f2 77 72 69  |burst$="40":.wri|
00003a50  74 65 5f 69 63 6f 6e 5f  74 65 78 74 28 70 61 6e  |te_icon_text(pan|
00003a60  65 5f 68 61 6e 64 6c 65  25 2c 31 38 2c 74 6f 6e  |e_handle%,18,ton|
00003a70  65 62 75 72 73 74 24 29  0d 01 fd 1a 20 20 20 61  |eburst$)....   a|
00003a80  6c 6c 5f 76 61 6c 75 65  73 5f 6c 65 67 61 6c 25  |ll_values_legal%|
00003a90  3d a3 0d 01 fe 07 20 20  cd 0d 01 ff 1b 20 20 e7  |=.....  .....  .|
00003aa0  20 bb 28 74 6f 6e 65 62  75 72 73 74 24 29 3e 32  | .(toneburst$)>2|
00003ab0  30 30 20 8c 0d 02 00 44  20 20 20 63 6c 6f 63 6b  |00 ....D   clock|
00003ac0  5f 66 72 65 71 24 3d 22  34 30 22 3a f2 77 72 69  |_freq$="40":.wri|
00003ad0  74 65 5f 69 63 6f 6e 5f  74 65 78 74 28 70 61 6e  |te_icon_text(pan|
00003ae0  65 5f 68 61 6e 64 6c 65  25 2c 31 38 2c 74 6f 6e  |e_handle%,18,ton|
00003af0  65 62 75 72 73 74 24 29  0d 02 01 1a 20 20 20 61  |eburst$)....   a|
00003b00  6c 6c 5f 76 61 6c 75 65  73 5f 6c 65 67 61 6c 25  |ll_values_legal%|
00003b10  3d a3 0d 02 02 07 20 20  cd 0d 02 03 04 0d 02 04  |=.....  ........|
00003b20  2e 20 6f 76 65 72 6c 61  79 24 3d a4 72 65 61 64  |. overlay$=.read|
00003b30  5f 69 63 6f 6e 5f 74 65  78 74 28 70 61 6e 65 5f  |_icon_text(pane_|
00003b40  68 61 6e 64 6c 65 25 2c  32 37 29 0d 02 05 18 20  |handle%,27).... |
00003b50  20 e7 20 bb 28 6f 76 65  72 6c 61 79 24 29 3c 36  | . .(overlay$)<6|
00003b60  30 20 8c 0d 02 06 3f 20  20 20 6f 76 65 72 6c 61  |0 ....?   overla|
00003b70  79 24 3d 22 36 30 22 3a  f2 77 72 69 74 65 5f 69  |y$="60":.write_i|
00003b80  63 6f 6e 5f 74 65 78 74  28 70 61 6e 65 5f 68 61  |con_text(pane_ha|
00003b90  6e 64 6c 65 25 2c 32 37  2c 6f 76 65 72 6c 61 79  |ndle%,27,overlay|
00003ba0  24 29 0d 02 07 1a 20 20  20 61 6c 6c 5f 76 61 6c  |$)....   all_val|
00003bb0  75 65 73 5f 6c 65 67 61  6c 25 3d a3 0d 02 08 07  |ues_legal%=.....|
00003bc0  20 20 cd 0d 02 09 06 20  20 0d 02 0a 25 20 e7 20  |  .....  ...% . |
00003bd0  ac 28 61 6c 6c 5f 76 61  6c 75 65 73 5f 6c 65 67  |.(all_values_leg|
00003be0  61 6c 25 29 20 8c 20 3d  b9 20 8b 20 3d a3 0d 02  |al%) . =. . =...|
00003bf0  0b 04 0d 02 0c 14 20 dd  20 a4 66 69 6c 65 5f 6c  |...... . .file_l|
00003c00  65 6e 28 66 24 29 0d 02  0d 0f 20 20 ea 20 72 30  |en(f$)....  . r0|
00003c10  25 2c 72 35 25 0d 02 0e  25 20 20 c8 99 20 22 4f  |%,r5%...%  .. "O|
00003c20  53 5f 46 69 6c 65 22 2c  31 37 2c 66 24 20 b8 20  |S_File",17,f$ . |
00003c30  72 30 25 2c 2c 2c 2c 72  35 25 0d 02 0f 0f 20 20  |r0%,,,,r5%....  |
00003c40  e7 20 72 30 25 3d 30 20  8c 0d 02 10 7f 20 20 20  |. r0%=0 .....   |
00003c50  85 20 30 2c 22 46 69 6c  65 20 22 2b 66 24 2b 22  |. 0,"File "+f$+"|
00003c60  20 6e 6f 74 20 66 6f 75  6e 64 2e 20 54 68 69 73  | not found. This|
00003c70  20 63 6f 70 79 20 6f 66  20 50 73 63 61 6e 20 6d  | copy of Pscan m|
00003c80  61 79 20 62 65 20 63 6f  72 72 75 70 74 2e 20 50  |ay be corrupt. P|
00003c90  6c 65 61 73 65 20 72 65  2d 69 6e 73 74 61 6c 6c  |lease re-install|
00003ca0  20 69 74 20 66 72 6f 6d  20 74 68 65 20 6f 72 69  | it from the ori|
00003cb0  67 69 6e 61 6c 20 64 69  73 6b 20 6f 72 20 5a 49  |ginal disk or ZI|
00003cc0  50 20 66 69 6c 65 2e 22  0d 02 11 07 20 20 cc 0d  |P file."....  ..|
00003cd0  02 12 0f 20 20 20 3d 28  72 35 25 2b 34 29 0d 02  |...   =(r5%+4)..|
00003ce0  13 07 20 20 cd 0d ff                              |..  ...|
00003ce7