Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_15_3.adf » !Organiser_Organiser » !Upgrade/Source

!Upgrade/Source

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 » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_15_3.adf » !Organiser_Organiser
Filename: !Upgrade/Source
Read OK:
File size: 2EC8 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10LIBRARY"Lib:Wimp"
   20LIBRARY "Lib:Icons"
   30LIBRARY "Lib:Menus"
   40LIBRARY "Lib:Misc"
   50LIBRARY "Lib:Windows"
   60sprite$="!Upgrade"
   70DIM scol%(4):scol%(1)=11:scol%(2)=10:scol%(3)=15:scol%(4)=9
   80ON ERROR OSCLI"Error "+REPORT$+" at line "+STR$ERL:SYS"Wimp_CloseDown":END
   90PROCwimp_initialise("Organiser upgrader","<Upgrade$Dir>","1.20 (26 Oct 97)",TRUE)
  100REM Parameters can be found by using FNparameters
  110heap%=FNslotsize(1*1024):PROCheap_init(heap%,slotsize%)
  120ON ERROR PROCerror
  130WHILE NOTquit%
  140  PROCpoll(1)
  150ENDWHILE
  160ON ERROR END
  170SYS"Wimp_CloseDown"
  180END
  190
  200DEFPROCupgrade
  210  LOCAL ERROR
  220  ON ERROR LOCAL RESTORE ERROR:CLOSE#0:SYS"Hourglass_Off":PROCmake_report(REPORT$,FALSE):ENDPROC
  230  SYS"Hourglass_On"
  240  OSCLI"CDir <Upgrade$Dir>.BackUp"
  250  PROCset_slide(5)
  260  PROCprogress(0)
  270
  280  REM Make a back up copy of user's !Organiser
  290  OSCLI"Copy "+oldpath$+" <Upgrade$Dir>.Backup.!Organiser ~c ~v f r"
  300  PROCprogress(1)
  310  backup$="<Upgrade$Dir>.BackUp.!Organiser"
  320
  330  ON ERROR LOCAL RESTORE ERROR:CLOSE#0:SYS"Hourglass_Off":PROCmake_report(REPORT$+STR$ERL,TRUE):ENDPROC
  340
  350  REM Copy new program, templates, resources, etc into user's !Organiser
  360  OSCLI"Copy "+newpath$+" "+oldpath$+" ~c ~v f r"
  370  PROCprogress(2)
  380  PROCdo_upgrade
  390  PROCset_slide(2)
  400  SYS"Hourglass_Off"
  410ENDPROC
  420
  430DEFPROCdo_upgrade
  440  REM verion numbers in brackets are versions when new data was introduced
  450  REM data in [] takes 5 bytes (used PRINT#)
  460  LOCAL read%,write%,A%,B%
  470  REM ******************************************** Settings ***************************************
  480  read%=OPENIN(backup$+".Data.Settings")
  490  write%=OPENOUT(oldpath$+".Data.Settings")
  500  IF oldver%>=110 THEN second_oldver$=GET$#read%:REM Read in old version (not in <1.10)
  510  BPUT#write%,ver$:REM Version stored (v1.10)
  520  PROCtext:REM path
  530  PROCtext:REM owner
  540  multiload%=FNcopy:autoopen%=FNcopy:baricon%=FNcopy:hour24%=FNcopy:autosave%=FNcopy
  550  nsections%=FNcopy:section%=FNcopy:banner%=FNcopy:animation%=FNcopy:auto_BST%=FNcopy
  560  PROCcopy(2+5+5):REM usefonts%,nrings%,[ringf%],[wordtimenow]
  570  IF oldver%<115 THEN
  580    PRINT#write%,-1,0,0,0,0:REM flag+4*default window positions (1.15)
  590    BPUT#write%,-1:REM force icon bar icon to far right (1.15)
  600    BPUT#write%,0:PRINT#write%,500,920:REM allow main window to be resized (1.15)
  610    PROCbput("0,15,8,11,4,4,11,"):REM clock colours (1.15)
  620  ELSE
  630    INPUT#read%,flag%,l%,r%,t%,b%
  640    PRINT#write%,flag%,l%,r%,t%,b%:REM flag+4*default window positions
  650    PROCcopy(1):REM force icon bar
  660    PROCcopy(1):INPUT#read%,w%,h%:PRINT#write%,w%,h%:REM window resizing
  670    PROCcopy(7):REM clock colours
  680  ENDIF
  690  IF oldver%<120 THEN PROCbput("3,7,9,") ELSE PROCcopy(3):REM Digital clock colours (1.20)
  700  IF oldver%<115 THEN
  710    FOR B%=1 TO nsections%
  720      PROCcopy(1):REM section number
  730      BPUT#write%,scol%(B%):BPUT#write%,7:REM tab backgound/foreground colours (1.15)
  740    NEXT
  750  ELSE PROCcopy(nsections%*3):REM section numbers, back/fore colours
  760  ENDIF
  770  IF oldver%<120 THEN BPUT#write%,"%z12:%mi:%se %am. %dy/%mn/%yr" ELSE PROCtext:REM definable clock (1.20)
  780  PROCtext:REM address
  790  PROCtext:REM important numbers string
  800  PROCcopy(3):REM address settings
  810  IF oldver%<120 THEN
  820    BPUT#write%,"mailto:":BPUT#write%,"http://":REM hotlink prefixes  (1.20)
  830    PROCbput("4,8,7,7,7,7,7,7,7,7,7,7,7,11,10,"):REM address colours (1.20)
  840  ELSE PROCtext:PROCtext:PROCcopy(15):REM hotlink prefixes and colours
  850  ENDIF
  860  PROCtext:REM Anniversary
  870  PROCcopy(2):REM Anniversary settings
  880  PROCtext:REM Calendar
  890  PROCcopy(4):REM Calendar settings
  900  PROCtext:REM Diary
  910  PROCcopy(3):REM Diary settings
  920  IF oldver%<110 THEN
  930    PROCfill(2,0):REM 2 new Diary settings, auto_open%, auto_del% (v1.10)
  940  ELSE PROCcopy(2):REM Diary settings
  950  ENDIF
  960  IF oldver%<115 THEN
  970    BPUT#write%,%110:REM default diary dettings (v1.15)
  980  ELSE PROCcopy(1)
  990  ENDIF
 1000  CLOSE#read%:CLOSE#write%
 1010  PROCprogress(3)
 1020  IF oldver%<117 THEN
 1030    REM In version 1.17, Templates were moved into Resources and Messages were added (v1.17)
 1040    OSCLI"Remove "+oldpath$+".Templates"
 1050  ENDIF
 1060  PROCprogress(4)
 1070  REM ******************************************** Addresses ***************************************
 1080  IF oldver%<120 THEN
 1090    REM In version 1.15, the Web page field was
 1100    REM added to the address data base, so for
 1110    REM each address, an extra LF (CHR$10) must
 1120    REM be added to the end.
 1130    REM In versions before 1.20, addresses were sorted in the wrong place
 1140    REM Thefore they have to be loaded in, and sorted before being saved.
 1150    REM Musn't forget to incude extra LF for versions <1.15
 1160    read%=OPENIN(backup$+".Data.Addresses")
 1170    write%=OPENOUT(oldpath$+".Data.Addresses")
 1180    PROCaddress_load
 1190    PROCaddress_save
 1200REM      B%=VALGET$#read%:REM Size of old address
 1210REM      BPUT#write%,STR$(B%+1):REM Size of new address
 1220REM      SYS"OS_GBPB",4,read%,block%,B%-12:REM read in old address
 1230REM      SYS"OS_GBPB",2,write%,block%,B%-12:REM write old address
 1240REM      BPUT#write%,10:REM insert extra Line Feed
 1250    CLOSE#read%:CLOSE#write%
 1260  ELSE OSCLI"Copy "+backup$+".Data.Addresses "+oldpath$+".Data.Addresses ~c ~v f"
 1270  ENDIF
 1280  OSCLI"Copy "+backup$+".Data.Anni "+oldpath$+".Data.Anni ~c ~v f"
 1290  OSCLI"Copy "+backup$+".Data.Diary "+oldpath$+".Data.Diary ~c ~v f"
 1300  OSCLI"Copy "+backup$+".Data.Important "+oldpath$+".Data.Important ~c ~v f"
 1310  PROCprogress(5)
 1320ENDPROC
 1330
 1340DEFPROCfill(N%,C%):LOCALA%:FORA%=1TON%:BPUT#write%,CHR$C%;:NEXT:ENDPROC
 1350
 1360DEFPROCtext:BPUT#write%,GET$#read%:ENDPROC
 1370
 1380DEFPROCcopy(N%):LOCAL A%:FORA%=1TON%:BPUT#write%,BGET#read%:NEXT:ENDPROC
 1390
 1400DEF  FNcopy:LOCAL A%:A%=BGET#read%:BPUT#write%,A%:=A%
 1410
 1420DEFPROCbput(A$)
 1430  WHILE A$<>""
 1440    BPUT#write%,VALA$
 1450    PRINT VALA$
 1460    A$=MID$(A$,INSTR(A$,",")+1)
 1470  ENDWHILE
 1480ENDPROC
 1490
 1500DEFPROCaddress_load
 1510  LOCAL size%,add$(),A%,N%,S%,C%,B%:DIM add$(14):firstadd%=-1
 1520  WHILE NOTEOF#read%
 1530    S%=12:size%=VALGET$#read%:IF oldver%<115 THEN N%=13 ELSE N%=14
 1540    FOR A%=0 TO N%
 1550     add$(A%)=GET$#read%:S%+=LENadd$(A%)+1
 1560    NEXT
 1570    IF N%=13 THEN add$(14)="":N%=14:S%+=1
 1580    C%=FNheap_block_alloc(heap%,S%,TRUE):C%!8=S%:S%=C%+12
 1590    FOR A%=0 TO N%
 1600      $S%=add$(A%)+CHR$10:S%+=LENadd$(A%)+1
 1610    NEXT
 1620    N$=FNrest(add$(0)+" "+add$(1)):B%=firstadd%
 1630    IF B%<>-1 THEN
 1640      WHILE FNrest(FNhline(B%,0)+" "+FNhline(B%,1))<N$ AND B%!4<>-1:B%=B%!4:ENDWHILE
 1650      IF FNrest(FNhline(B%,0)+" "+FNhline(B%,1))>=N$ THEN
 1660        !C%=!B%:C%!4=B%:!B%=C%:IF !C%<>-1 THEN !(!C%+4)=C% ELSE firstadd%=C%
 1670      ELSE
 1680        B%!4=C%:!C%=B%:C%!4=-1
 1690      ENDIF
 1700    ELSE firstadd%=C%:!C%=-1:C%!4=-1
 1710    ENDIF
 1720  ENDWHILE
 1730ENDPROC
 1740
 1750DEFPROCaddress_save
 1760  LOCAL B%:B%=firstadd%
 1770  WHILE B%<>-1
 1780    BPUT#write%,STR$B%!8:SYS"OS_GBPB",2,write%,B%+12,B%!8-12
 1790    B%=B%!4
 1800  ENDWHILE
 1810ENDPROC
 1820
 1830DEF  FNrest(A$)
 1840  LOCAL B%:A$=FNupcase(A$):B%=ASCLEFT$(A$,1)
 1850  WHILE NOT(B%>47 AND B%<58)ANDNOT(B%>64 AND B%<91)ANDA$<>"":A$=MID$(A$,2):B%=ASCLEFT$(A$,1):ENDWHILE
 1860=A$
 1870
 1880DEFFNline(handle%):LOCALA$:A$=GET$#handle%
 1890IF INSTR(A$,CHR$0) THEN A$=LEFT$(A$,INSTR(A$,CHR$0)-1)
 1900IF INSTR(A$,CHR$10) THEN A$=LEFT$(A$,INSTR(A$,CHR$10)-1)
 1910IF INSTR(A$,CHR$13) THEN A$=LEFT$(A$,INSTR(A$,CHR$13)-1)
 1920=A$
 1930
 1940DEFFNhline(B%,L%)
 1950  LOCAL A$:B%+=12:WHILEL%>0:WHILE?B%<>10:B%+=1:ENDWHILE:B%+=1:L%-=1:ENDWHILE
 1960  WHILE?B%<>10:A$+=CHR$?B%:B%+=1:ENDWHILE
 1970=A$
 1980
 1990DEFPROCtask_polldecode
 2000  CASE reason% OF
 2010REM    WHEN  0:PROCtask_poll_null
 2020REM    WHEN  1:PROCpoll_redraw
 2030    WHEN  2:block%!8=block%!16-368:SYS&400C5,,block%:REM Open Window
 2040    WHEN  3:PROCwindow_close(!block%):IF !block%=main% THEN quit%=TRUE
 2050    WHEN  6:PROCtask_poll_click(block%!12,block%!16,block%!8,!block%,block%!4)
 2060    WHEN  7:PROCpoll_dragsave
 2070    WHEN  8:PROCwimp_poll_keypress(!block%,block%!4,block%!24)
 2080    WHEN  9:PROCwimp_poll_menuselect
 2090    WHEN 17,18:PROCtask_poll_message
 2100  ENDCASE
 2110ENDPROC
 2120
 2130DEFPROCpoll_dragsave
 2140  REM Send Message_DataSave (1) to window at mouse coordinates
 2150  IF FNdrag_a_sprite THEN SYS"DragASprite_Stop"
 2160  SYS"Wimp_GetPointerInfo",,block%:block%!20=block%!12:block%!24=block%!16
 2170  block%!28=!block%:block%!32=block%!4:block%!36=0:!block%=64:block%!12=0
 2180  block%!40=&200:$(block%+44)="!Organiser"
 2190  block%!16=1:SYS"Wimp_SendMessage",18,block%,block%!20,block%!24
 2200  IF (block%!8AND1)=0 THEN SYS"Wimp_CreateMenu",,-1
 2210ENDPROC
 2220
 2230DEFPROCtask_poll_message
 2240  CASE block%!16 OF
 2250    WHEN 0:quit%=TRUE
 2260    WHEN 2:PROCpoll_message_datasaveack(FNstring(block%+44))
 2270    WHEN 3:PROCpoll_message_dataload(block%!40,FNstring(block%+44))
 2280    WHEN 8:PROCpoll_message_prequit
 2290  ENDCASE
 2300ENDPROC
 2310
 2320DEFPROCpoll_message_datasaveack(path$)
 2330  SYS"Hourglass_On"
 2340  OSCLI"Copy "+newpath$+" "+path$+" r ~c ~v"
 2350  file%=OPENOUT(path$+".Resources.!Language")
 2360  BPUT#file%,FNicon_text(main%,37)
 2370  CLOSE #file%
 2380  read%=OPENIN(newpath$+".Data.Settings")
 2381  write%=OPENOUT(path$+".Data.Settings")
 2382  PROCtext:PROCtext:A$=GET$#file%:BPUT#write%,FNicon_text(main%,35)
 2383  WHILE NOTEOF#read%:BPUT#write%,BGET#read%:ENDWHILE
 2384  CLOSE#write%
 2385  CLOSE#read%
 2390  SYS"Hourglass_Off"
 2400  SWAP block%!8,block%!12:block%!16=3:SYS"Wimp_SendMessage",18,block%,block%!4
 2410ENDPROC
 2420
 2430DEFFNtask_canweload(type%,path$):REM Return TRUE if you can load the file
 2440=(type%=&2000)
 2450
 2460DEFFNtask_loadfile(type%,path$):REM Load the file and return TRUE if ok
 2470  LOCAL file%
 2480  IF FNgetleaf(path$)="!Organiser"+CHR$0 THEN
 2490    file%=OPENIN(path$+".Data.Settings")
 2500    oldver$=GET$#file%
 2510    CLOSE#file%
 2520    IF VALoldver$=0 THEN oldver$="1.00 (8 Aug 97)"
 2530    oldver%=(VALoldver$)*100:oldpath$=path$
 2540    CASE TRUE OF
 2550      WHEN oldver%<newver%:
 2560        PROCicon_text(main%,7,path$):PROCicon_text(main%,8,"Version "+oldver$)
 2570        PROCicon_shade(main%,10,0):PROCset_slide(1)
 2580      WHEN oldver%=newver%:PROCmake_report("The version you are trying to upgrade is the latest version known to this upgrading application.",FALSE)
 2590      WHEN oldver%>newver%:PROCmake_report("The version you are trying to upgrade is newer than this upgrading application.",FALSE)
 2600    ENDCASE
 2610  ENDIF
 2620=TRUE
 2630
 2640REM ***************  Clicks
 2650
 2660DEFPROCtask_poll_click(window%,icon%,button%,x%,y%)
 2670  CASE window% OF
 2680    WHEN -2:IF button%=2 THEN PROCmenu_open(barm%,!block%-64,-1) ELSE PROCwindow_open(main%,-1,-1)
 2690    WHEN main%:
 2700      IF button%<>2 THEN
 2710        CASE icon% OF
 2720          WHEN 2:PROCset_slide(1)
 2730          WHEN 9:PROCset_slide(0)
 2740          WHEN 10:PROCupgrade
 2750          WHEN 13,19:PROCrestore
 2760          WHEN 14:OSCLI"Filer_Run "+appdir$+".Improv"
 2770          WHEN 15,18,23:quit%=TRUE
 2780          WHEN 20:PROCset_slide(4):PROCicon_caret(main%,35)
 2790          WHEN 24:PROCset_slide(0)
 2800          WHEN 26:IF (button%AND64) THEN PROCdrag_box(main%,26,"!Organiser")
 2810          WHEN 37:PROCnextlanguage(main%,37)
 2820        ENDCASE
 2830      ELSE PROCmenu_open(barm%,!block%-64,block%!4)
 2840      ENDIF
 2850  ENDCASE
 2860ENDPROC
 2870
 2880DEFPROCnextlanguage(w%,i%)
 2890  LOCAL index%,l$,f%,n$,t$,f$,r%:index%=1:l$=FNicon_text(w%,i%)
 2900  REPEAT
 2910    SYS"OS_GBPB",9,newpath$+".Resources",block%,1,index%,256,0 TO ,,,r%,index%
 2920    IF r%=1 THEN
 2930      t$=FNstring(block%)
 2940      IF f$="" THEN f$=t$
 2950      IF f%=TRUE THEN n$=t$
 2960      IF t$=l$ THEN f%=TRUE
 2970    ENDIF
 2980  UNTIL index%=-1 OR n$<>""
 2990  IF n$="" THEN n$=f$
 3000  PROCicon_text(w%,i%,n$)
 3010ENDPROC
 3020
 3030REM ***************  Menus
 3040
 3050DEFPROCtask_poll_menuselect
 3060  CASE menuopen% OF
 3070    WHEN barm%:
 3080      CASE !block% OF
 3090        WHEN 1:quit%=TRUE
 3100      ENDCASE
 3110  ENDCASE
 3120ENDPROC
 3130
 3140REM ***************  Key Presses
 3150
 3160DEFFNtask_poll_keypress(window%,icon%,key%,up%,down%,pup%,pdown%,ent%)
 3170  LOCAL used%:used%=TRUE
 3180  CASE window% OF
 3190  ENDCASE
 3200=used%
 3210
 3220DEFPROCmake_report(A$,F%)
 3230  PROCicon_text(main%,17,A$):PROCicon_hide(main%,19,ABSNOTF%)
 3240  PROCset_slide(3)
 3250ENDPROC
 3260
 3270DEFPROCset_slide(N%)
 3280  !rep%=main%:SYS"Wimp_GetWindowState",,rep%
 3290  rep%!8=rep%!16-368
 3300  rep%!24=N%*-368:SYS"Wimp_OpenWindow",,rep%
 3310ENDPROC
 3320
 3330DEFPROCprogress(N%)
 3340  LOCAL A%
 3350  FOR A%=29 TO 32
 3360    PROCicon_select(main%,A%,-(N%>A%-29))
 3370  NEXT
 3380  PROCpoll(NOT1)
 3390ENDPROC
 3400
 3410DEFPROCrestore
 3420  LOCAL ERROR
 3430  ON ERROR LOCAL RESTORE ERROR:SYS"Hourglass_Off":PROCmake_report(REPORT$,FALSE):ENDPROC
 3440  SYS"Hourglass_On"
 3450  OSCLI"Copy "+backup$+" "+oldpath$+" ~c ~v f r q"
 3460  SYS"Hourglass_Off"
 3470  PROCset_slide(1)
 3480  RESTORE ERROR
 3490ENDPROC
 3500
 3510REM ***************  Initialising
 3520
 3530DEFPROCtask_pre_initialise
 3540  sarea%=FNspritearea(appdir$+".Sprites",0):REM 0=No of extra bytes to reserve
 3550  oldver$="":oldver%=0:newver%=(VALver$)*100:oldpath$="":backup$=""
 3560  newpath$=appdir$+".!Organiser"
 3570ENDPROC
 3580
 3590DEFPROCtask_post_initialise
 3600  PROCicon_text(main%,7,""):PROCicon_text(main%,8,""):PROCicon_shade(main%,10,1)
 3601  PROCicon_text(main%,37,"English")
 3610  PROCset_slide(0)
 3620ENDPROC
 3630
 3640DEFPROCtask_load_windows
 3650  LOCAL P%
 3660  info%=FNwindow_create("Info")
 3670  main%=FNwindow_create("Main")
 3680  SYS"Wimp_LoadTemplate",,0,0,0,0,"Main" TO ,size%
 3690  PROCicon_text(info%,8,ver$)
 3700  PROCwindow_title(main%,P%!72,"Organiser upgrader version "+LEFT$(ver$,4),0)
 3710ENDPROC
 3720
 3730DEFPROCtask_create_menus
 3740 barm%=FNmenu_create("Skeleton"+FNs("Info",info%)+"\Quit")
 3750ENDPROC

ț"Lib:Wimp"
ț "Lib:Icons"
ț "Lib:Menus"
(ț "Lib:Misc"
2ț "Lib:Windows"
<sprite$="!Upgrade"
F=� scol%(4):scol%(1)=11:scol%(2)=10:scol%(3)=15:scol%(4)=9
P8� � �"Error "+�$+" at line "+Þ:ș"Wimp_CloseDown":�
ZO�wimp_initialise("Organiser upgrader","<Upgrade$Dir>","1.20 (26 Oct 97)",�)
d3� Parameters can be found by using FNparameters
n7heap%=�slotsize(1*1024):�heap_init(heap%,slotsize%)
x� � �error
�
ȕ �quit%
�  �poll(1)
��
�	� � �
�ș"Wimp_CloseDown"
��
�
�
��upgrade
�	  � �
�:  � � � � �:�#0:ș"Hourglass_Off":�make_report(�$,�):�
�  ș"Hourglass_On"
�"  �"CDir <Upgrade$Dir>.BackUp"
�  �set_slide(5)
  �progress(0)

0  � Make a back up copy of user's !Organiser
"D  �"Copy "+oldpath$+" <Upgrade$Dir>.Backup.!Organiser ~c ~v f r"
,  �progress(1)
6/  backup$="<Upgrade$Dir>.BackUp.!Organiser"
@
J=  � � � � �:�#0:ș"Hourglass_Off":�make_report(�$+Þ,�):�
T
^J  � Copy new program, templates, resources, etc into user's !Organiser
h1  �"Copy "+newpath$+" "+oldpath$+" ~c ~v f r"
r  �progress(2)
|  �do_upgrade
�  �set_slide(2)
�  ș"Hourglass_Off"
��
�
���do_upgrade
�L  � verion numbers in brackets are versions when new data was introduced
�.  � data in [] takes 5 bytes (used PRINT#)
�  � read%,write%,A%,B%
�e  � ******************************************** Settings ***************************************
�'  read%=�(backup$+".Data.Settings")
�)  write%=�(oldpath$+".Data.Settings")
�R  � oldver%>=110 � second_oldver$=�#read%:� Read in old version (not in <1.10)
�,  �#write%,ver$:� Version stored (v1.10)
  �text:� path
  �text:� owner
S  multiload%=�copy:autoopen%=�copy:baricon%=�copy:hour24%=�copy:autosave%=�copy
&T  nsections%=�copy:section%=�copy:banner%=�copy:animation%=�copy:auto_BST%=�copy
0=  �copy(2+5+5):� usefonts%,nrings%,[ringf%],[wordtimenow]
:  � oldver%<115 �
DD    �#write%,-1,0,0,0,0:� flag+4*default window positions (1.15)
N=    �#write%,-1:� force icon bar icon to far right (1.15)
XL    �#write%,0:�#write%,500,920:� allow main window to be resized (1.15)
b9    �bput("0,15,8,11,4,4,11,"):� clock colours (1.15)
l  �
v!    �#read%,flag%,l%,r%,t%,b%
�D    �#write%,flag%,l%,r%,t%,b%:� flag+4*default window positions
�!    �copy(1):� force icon bar
�?    �copy(1):�#read%,w%,h%:�#write%,w%,h%:� window resizing
�     �copy(7):� clock colours
�  �
�O  � oldver%<120 � �bput("3,7,9,") � �copy(3):� Digital clock colours (1.20)
�  � oldver%<115 �
�    � B%=1 � nsections%
�#      �copy(1):� section number
�Q      �#write%,scol%(B%):�#write%,7:� tab backgound/foreground colours (1.15)
�	    �
�@  � �copy(nsections%*3):� section numbers, back/fore colours
�  �
_  � oldver%<120 � �#write%,"%z12:%mi:%se %am. %dy/%mn/%yr" � �text:� definable clock (1.20)
  �text:� address
&  �text:� important numbers string
 !  �copy(3):� address settings
*  � oldver%<120 �
4H    �#write%,"mailto:":�#write%,"http://":� hotlink prefixes  (1.20)
>J    �bput("4,8,7,7,7,7,7,7,7,7,7,7,7,11,10,"):� address colours (1.20)
H<  � �text:�text:�copy(15):� hotlink prefixes and colours
R  �
\  �text:� Anniversary
f%  �copy(2):� Anniversary settings
p  �text:� Calendar
z"  �copy(4):� Calendar settings
�  �text:� Diary
�  �copy(3):� Diary settings
�  � oldver%<110 �
�H    �fill(2,0):� 2 new Diary settings, auto_open%, auto_del% (v1.10)
�!  � �copy(2):� Diary settings
�  �
�  � oldver%<115 �
�6    �#write%,%110:� default diary dettings (v1.15)
�  � �copy(1)
�  �
�  �#read%:�#write%
�  �progress(3)
�  � oldver%<117 �
^    � In version 1.17, Templates were moved into Resources and Messages were added (v1.17)
(    �"Remove "+oldpath$+".Templates"
  �
$  �progress(4)
.f  � ******************************************** Addresses ***************************************
8  � oldver%<120 �
B1    � In version 1.15, the Web page field was
L0    � added to the address data base, so for
V1    � each address, an extra LF (CHR$10) must
`    � be added to the end.
jK    � In versions before 1.20, addresses were sorted in the wrong place
tK    � Thefore they have to be loaded in, and sorted before being saved.
~=    � Musn't forget to incude extra LF for versions <1.15
�*    read%=�(backup$+".Data.Addresses")
�,    write%=�(oldpath$+".Data.Addresses")
�    �address_load
�    �address_save
�3�      B%=VALGET$#read%:REM Size of old address
�9�      BPUT#write%,STR$(B%+1):REM Size of new address
�D�      SYS"OS_GBPB",4,read%,block%,B%-12:REM read in old address
�C�      SYS"OS_GBPB",2,write%,block%,B%-12:REM write old address
�4�      BPUT#write%,10:REM insert extra Line Feed
�    �#read%:�#write%
�N  � �"Copy "+backup$+".Data.Addresses "+oldpath$+".Data.Addresses ~c ~v f"
�  �
B  �"Copy "+backup$+".Data.Anni "+oldpath$+".Data.Anni ~c ~v f"

D  �"Copy "+backup$+".Data.Diary "+oldpath$+".Data.Diary ~c ~v f"
L  �"Copy "+backup$+".Data.Important "+oldpath$+".Data.Important ~c ~v f"
  �progress(5)
(�
2
<0��fill(N%,C%):�A%:�A%=1�N%:�#write%,�C%;:�:�
F
P��text:�#write%,�#read%:�
Z
d1��copy(N%):� A%:�A%=1�N%:�#write%,�#read%:�:�
n
x,�  �copy:� A%:A%=�#read%:�#write%,A%:=A%
�
���bput(A$)
�  ȕ A$<>""
�    �#write%,�A$
�
    � �A$
�    A$=�A$,�A$,",")+1)
�  �
��
�
���address_load
�;  � size%,add$(),A%,N%,S%,C%,B%:� add$(14):firstadd%=-1
�  ȕ ��#read%
�:    S%=12:size%=��#read%:� oldver%<115 � N%=13 � N%=14
    � A%=0 � N%
)     add$(A%)=�#read%:S%+=�add$(A%)+1
	    �
")    � N%=13 � add$(14)="":N%=14:S%+=1
,9    C%=�heap_block_alloc(heap%,S%,�):C%!8=S%:S%=C%+12
6    � A%=0 � N%
@*      $S%=add$(A%)+�10:S%+=�add$(A%)+1
J	    �
T2    N$=�rest(add$(0)+" "+add$(1)):B%=firstadd%
^    � B%<>-1 �
hI      ȕ �rest(�hline(B%,0)+" "+�hline(B%,1))<N$ � B%!4<>-1:B%=B%!4:�
r6      � �rest(�hline(B%,0)+" "+�hline(B%,1))>=N$ �
|I        !C%=!B%:C%!4=B%:!B%=C%:� !C%<>-1 � !(!C%+4)=C% � firstadd%=C%
�      �
�"        B%!4=C%:!C%=B%:C%!4=-1
�      �
�%    � firstadd%=C%:!C%=-1:C%!4=-1
�	    �
�  �
��
�
���address_save
�  � B%:B%=firstadd%
�  ȕ B%<>-1
�9    �#write%,�B%!8:ș"OS_GBPB",2,write%,B%+12,B%!8-12
�    B%=B%!4
  �
�

&�  �rest(A$)
0$  � B%:A$=�upcase(A$):B%=��A$,1)
:H  ȕ �(B%>47 � B%<58)��(B%>64 � B%<91)�A$<>"":A$=�A$,2):B%=��A$,1):�
D=A$
N
X$ݤline(handle%):�A$:A$=�#handle%
b!� �A$,�0) � A$=�A$,�A$,�0)-1)
l#� �A$,�10) � A$=�A$,�A$,�10)-1)
v#� �A$,�13) � A$=�A$,�A$,�13)-1)
�=A$
�
�ݤhline(B%,L%)
�8  � A$:B%+=12:ȕL%>0:ȕ?B%<>10:B%+=1:�:B%+=1:L%-=1:�
�   ȕ?B%<>10:A$+=�?B%:B%+=1:�
�=A$
�
���task_polldecode
�  Ȏ reason% �
�#�    WHEN  0:PROCtask_poll_null
� �    WHEN  1:PROCpoll_redraw
�B    �  2:block%!8=block%!16-368:ș&400C5,,block%:� Open Window
�=    �  3:�window_close(!block%):� !block%=main% � quit%=�
L    �  6:�task_poll_click(block%!12,block%!16,block%!8,!block%,block%!4)
    �  7:�poll_dragsave
<    �  8:�wimp_poll_keypress(!block%,block%!4,block%!24)
 "    �  9:�wimp_poll_menuselect
*"    � 17,18:�task_poll_message
4  �
>�
H
R��poll_dragsave
\@  � Send Message_DataSave (1) to window at mouse coordinates
f-  � �drag_a_sprite � ș"DragASprite_Stop"
pM  ș"Wimp_GetPointerInfo",,block%:block%!20=block%!12:block%!24=block%!16
zM  block%!28=!block%:block%!32=block%!4:block%!36=0:!block%=64:block%!12=0
�.  block%!40=&200:$(block%+44)="!Organiser"
�D  block%!16=1:ș"Wimp_SendMessage",18,block%,block%!20,block%!24
�0  � (block%!8�1)=0 � ș"Wimp_CreateMenu",,-1
��
�
���task_poll_message
�  Ȏ block%!16 �
�    � 0:quit%=�
�9    � 2:�poll_message_datasaveack(�string(block%+44))
�@    � 3:�poll_message_dataload(block%!40,�string(block%+44))
�!    � 8:�poll_message_prequit
�  �
��
	
	%��poll_message_datasaveack(path$)
	  ș"Hourglass_On"
	$,  �"Copy "+newpath$+" "+path$+" r ~c ~v"
	.+  file%=�(path$+".Resources.!Language")
	8"  �#file%,�icon_text(main%,37)
	B  � #file%
	L(  read%=�(newpath$+".Data.Settings")
	M&  write%=�(path$+".Data.Settings")
	N:  �text:�text:A$=�#file%:�#write%,�icon_text(main%,35)
	O$  ȕ ��#read%:�#write%,�#read%:�
	P  �#write%
	Q
  �#read%
	V  ș"Hourglass_Off"
	`O  Ȕ block%!8,block%!12:block%!16=3:ș"Wimp_SendMessage",18,block%,block%!4
	j�
	t
	~Hݤtask_canweload(type%,path$):� Return TRUE if you can load the file
	�=(type%=&2000)
	�
	�Fݤtask_loadfile(type%,path$):� Load the file and return TRUE if ok
	�
  � file%
	�)  � �getleaf(path$)="!Organiser"+�0 �
	�'    file%=�(path$+".Data.Settings")
	�    oldver$=�#file%
	�    �#file%
	�0    � �oldver$=0 � oldver$="1.00 (8 Aug 97)"
	�-    oldver%=(�oldver$)*100:oldpath$=path$
	�    Ȏ � �
	�      � oldver%<newver%:
L        �icon_text(main%,7,path$):�icon_text(main%,8,"Version "+oldver$)

1        �icon_shade(main%,10,0):�set_slide(1)
�      � oldver%=newver%:�make_report("The version you are trying to upgrade is the latest version known to this upgrading application.",�)
}      � oldver%>newver%:�make_report("The version you are trying to upgrade is newer than this upgrading application.",�)
(	    �
2  �
<=�
F
P� ***************  Clicks
Z
d2��task_poll_click(window%,icon%,button%,x%,y%)
n  Ȏ window% �
xV    � -2:� button%=2 � �menu_open(barm%,!block%-64,-1) � �window_open(main%,-1,-1)
�    � main%:
�      � button%<>2 �
�        Ȏ icon% �
�          � 2:�set_slide(1)
�          � 9:�set_slide(0)
�          � 10:�upgrade
�          � 13,19:�restore
�2          � 14:�"Filer_Run "+appdir$+".Improv"
�           � 15,18,23:quit%=�
�6          � 20:�set_slide(4):�icon_caret(main%,35)
�           � 24:�set_slide(0)
�D          � 26:� (button%�64) � �drag_box(main%,26,"!Organiser")
�*          � 37:�nextlanguage(main%,37)

        �
1      � �menu_open(barm%,!block%-64,block%!4)
      �
"  �
,�
6
@��nextlanguage(w%,i%)
J>  � index%,l$,f%,n$,t$,f$,r%:index%=1:l$=�icon_text(w%,i%)
T  �
^P    ș"OS_GBPB",9,newpath$+".Resources",block%,1,index%,256,0 � ,,,r%,index%
h    � r%=1 �
r      t$=�string(block%)
|      � f$="" � f$=t$
�      � f%=� � n$=t$
�      � t$=l$ � f%=�
�	    �
�  � index%=-1 � n$<>""
�  � n$="" � n$=f$
�  �icon_text(w%,i%,n$)
��
�
�� ***************  Menus
�
���task_poll_menuselect
�  Ȏ menuopen% �
�    � barm%:
      Ȏ !block% �
        � 1:quit%=�
      �
&  �
0�
:
D"� ***************  Key Presses
N
XGݤtask_poll_keypress(window%,icon%,key%,up%,down%,pup%,pdown%,ent%)
b  � used%:used%=�
l  Ȏ window% �
v  �
�
=used%
�
���make_report(A$,F%)
�7  �icon_text(main%,17,A$):�icon_hide(main%,19,��F%)
�  �set_slide(3)
��
�
���set_slide(N%)
�/  !rep%=main%:ș"Wimp_GetWindowState",,rep%
�  rep%!8=rep%!16-368
�/  rep%!24=N%*-368:ș"Wimp_OpenWindow",,rep%
��
�

��progress(N%)


  � A%

  � A%=29 � 32

 *    �icon_select(main%,A%,-(N%>A%-29))

*  �

4  �poll(�1)

>�

H

R
��restore

\	  � �

f6  � � � � �:ș"Hourglass_Off":�make_report(�$,�):�

p  ș"Hourglass_On"

z2  �"Copy "+backup$+" "+oldpath$+" ~c ~v f r q"

�  ș"Hourglass_Off"

�  �set_slide(1)

�	  � �

��

�

�#� ***************  Initialising

�

���task_pre_initialise

�O  sarea%=�spritearea(appdir$+".Sprites",0):� 0=No of extra bytes to reserve

�E  oldver$="":oldver%=0:newver%=(�ver$)*100:oldpath$="":backup$=""

�$  newpath$=appdir$+".!Organiser"

��

�
��task_post_initialise
K  �icon_text(main%,7,""):�icon_text(main%,8,""):�icon_shade(main%,10,1)
$  �icon_text(main%,37,"English")
  �set_slide(0)
$�
.
8��task_load_windows
B
  � P%
L"  info%=�window_create("Info")
V"  main%=�window_create("Main")
`4  ș"Wimp_LoadTemplate",,0,0,0,0,"Main" � ,size%
j  �icon_text(info%,8,ver$)
tI  �window_title(main%,P%!72,"Organiser upgrader version "+�ver$,4),0)
~�
�
���task_create_menus
�< barm%=�menu_create("Skeleton"+�s("Info",info%)+"\Quit")
��
�
00000000  0d 00 0a 10 c8 9b 22 4c  69 62 3a 57 69 6d 70 22  |......"Lib:Wimp"|
00000010  0d 00 14 12 c8 9b 20 22  4c 69 62 3a 49 63 6f 6e  |...... "Lib:Icon|
00000020  73 22 0d 00 1e 12 c8 9b  20 22 4c 69 62 3a 4d 65  |s"...... "Lib:Me|
00000030  6e 75 73 22 0d 00 28 11  c8 9b 20 22 4c 69 62 3a  |nus"..(... "Lib:|
00000040  4d 69 73 63 22 0d 00 32  14 c8 9b 20 22 4c 69 62  |Misc"..2... "Lib|
00000050  3a 57 69 6e 64 6f 77 73  22 0d 00 3c 16 73 70 72  |:Windows"..<.spr|
00000060  69 74 65 24 3d 22 21 55  70 67 72 61 64 65 22 0d  |ite$="!Upgrade".|
00000070  00 46 3d de 20 73 63 6f  6c 25 28 34 29 3a 73 63  |.F=. scol%(4):sc|
00000080  6f 6c 25 28 31 29 3d 31  31 3a 73 63 6f 6c 25 28  |ol%(1)=11:scol%(|
00000090  32 29 3d 31 30 3a 73 63  6f 6c 25 28 33 29 3d 31  |2)=10:scol%(3)=1|
000000a0  35 3a 73 63 6f 6c 25 28  34 29 3d 39 0d 00 50 38  |5:scol%(4)=9..P8|
000000b0  ee 20 85 20 ff 22 45 72  72 6f 72 20 22 2b f6 24  |. . ."Error "+.$|
000000c0  2b 22 20 61 74 20 6c 69  6e 65 20 22 2b c3 9e 3a  |+" at line "+..:|
000000d0  c8 99 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |.."Wimp_CloseDow|
000000e0  6e 22 3a e0 0d 00 5a 4f  f2 77 69 6d 70 5f 69 6e  |n":...ZO.wimp_in|
000000f0  69 74 69 61 6c 69 73 65  28 22 4f 72 67 61 6e 69  |itialise("Organi|
00000100  73 65 72 20 75 70 67 72  61 64 65 72 22 2c 22 3c  |ser upgrader","<|
00000110  55 70 67 72 61 64 65 24  44 69 72 3e 22 2c 22 31  |Upgrade$Dir>","1|
00000120  2e 32 30 20 28 32 36 20  4f 63 74 20 39 37 29 22  |.20 (26 Oct 97)"|
00000130  2c b9 29 0d 00 64 33 f4  20 50 61 72 61 6d 65 74  |,.)..d3. Paramet|
00000140  65 72 73 20 63 61 6e 20  62 65 20 66 6f 75 6e 64  |ers can be found|
00000150  20 62 79 20 75 73 69 6e  67 20 46 4e 70 61 72 61  | by using FNpara|
00000160  6d 65 74 65 72 73 0d 00  6e 37 68 65 61 70 25 3d  |meters..n7heap%=|
00000170  a4 73 6c 6f 74 73 69 7a  65 28 31 2a 31 30 32 34  |.slotsize(1*1024|
00000180  29 3a f2 68 65 61 70 5f  69 6e 69 74 28 68 65 61  |):.heap_init(hea|
00000190  70 25 2c 73 6c 6f 74 73  69 7a 65 25 29 0d 00 78  |p%,slotsize%)..x|
000001a0  0e ee 20 85 20 f2 65 72  72 6f 72 0d 00 82 0d c8  |.. . .error.....|
000001b0  95 20 ac 71 75 69 74 25  0d 00 8c 0e 20 20 f2 70  |. .quit%....  .p|
000001c0  6f 6c 6c 28 31 29 0d 00  96 05 ce 0d 00 a0 09 ee  |oll(1)..........|
000001d0  20 85 20 e0 0d 00 aa 16  c8 99 22 57 69 6d 70 5f  | . ......."Wimp_|
000001e0  43 6c 6f 73 65 44 6f 77  6e 22 0d 00 b4 05 e0 0d  |CloseDown"......|
000001f0  00 be 04 0d 00 c8 0d dd  f2 75 70 67 72 61 64 65  |.........upgrade|
00000200  0d 00 d2 09 20 20 ea 20  85 0d 00 dc 3a 20 20 ee  |....  . ....:  .|
00000210  20 85 20 ea 20 f7 20 85  3a d9 23 30 3a c8 99 22  | . . . .:.#0:.."|
00000220  48 6f 75 72 67 6c 61 73  73 5f 4f 66 66 22 3a f2  |Hourglass_Off":.|
00000230  6d 61 6b 65 5f 72 65 70  6f 72 74 28 f6 24 2c a3  |make_report(.$,.|
00000240  29 3a e1 0d 00 e6 16 20  20 c8 99 22 48 6f 75 72  |):.....  .."Hour|
00000250  67 6c 61 73 73 5f 4f 6e  22 0d 00 f0 22 20 20 ff  |glass_On"..."  .|
00000260  22 43 44 69 72 20 3c 55  70 67 72 61 64 65 24 44  |"CDir <Upgrade$D|
00000270  69 72 3e 2e 42 61 63 6b  55 70 22 0d 00 fa 13 20  |ir>.BackUp".... |
00000280  20 f2 73 65 74 5f 73 6c  69 64 65 28 35 29 0d 01  | .set_slide(5)..|
00000290  04 12 20 20 f2 70 72 6f  67 72 65 73 73 28 30 29  |..  .progress(0)|
000002a0  0d 01 0e 04 0d 01 18 30  20 20 f4 20 4d 61 6b 65  |.......0  . Make|
000002b0  20 61 20 62 61 63 6b 20  75 70 20 63 6f 70 79 20  | a back up copy |
000002c0  6f 66 20 75 73 65 72 27  73 20 21 4f 72 67 61 6e  |of user's !Organ|
000002d0  69 73 65 72 0d 01 22 44  20 20 ff 22 43 6f 70 79  |iser.."D  ."Copy|
000002e0  20 22 2b 6f 6c 64 70 61  74 68 24 2b 22 20 3c 55  | "+oldpath$+" <U|
000002f0  70 67 72 61 64 65 24 44  69 72 3e 2e 42 61 63 6b  |pgrade$Dir>.Back|
00000300  75 70 2e 21 4f 72 67 61  6e 69 73 65 72 20 7e 63  |up.!Organiser ~c|
00000310  20 7e 76 20 66 20 72 22  0d 01 2c 12 20 20 f2 70  | ~v f r"..,.  .p|
00000320  72 6f 67 72 65 73 73 28  31 29 0d 01 36 2f 20 20  |rogress(1)..6/  |
00000330  62 61 63 6b 75 70 24 3d  22 3c 55 70 67 72 61 64  |backup$="<Upgrad|
00000340  65 24 44 69 72 3e 2e 42  61 63 6b 55 70 2e 21 4f  |e$Dir>.BackUp.!O|
00000350  72 67 61 6e 69 73 65 72  22 0d 01 40 04 0d 01 4a  |rganiser"..@...J|
00000360  3d 20 20 ee 20 85 20 ea  20 f7 20 85 3a d9 23 30  |=  . . . . .:.#0|
00000370  3a c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 4f 66  |:.."Hourglass_Of|
00000380  66 22 3a f2 6d 61 6b 65  5f 72 65 70 6f 72 74 28  |f":.make_report(|
00000390  f6 24 2b c3 9e 2c b9 29  3a e1 0d 01 54 04 0d 01  |.$+..,.):...T...|
000003a0  5e 4a 20 20 f4 20 43 6f  70 79 20 6e 65 77 20 70  |^J  . Copy new p|
000003b0  72 6f 67 72 61 6d 2c 20  74 65 6d 70 6c 61 74 65  |rogram, template|
000003c0  73 2c 20 72 65 73 6f 75  72 63 65 73 2c 20 65 74  |s, resources, et|
000003d0  63 20 69 6e 74 6f 20 75  73 65 72 27 73 20 21 4f  |c into user's !O|
000003e0  72 67 61 6e 69 73 65 72  0d 01 68 31 20 20 ff 22  |rganiser..h1  ."|
000003f0  43 6f 70 79 20 22 2b 6e  65 77 70 61 74 68 24 2b  |Copy "+newpath$+|
00000400  22 20 22 2b 6f 6c 64 70  61 74 68 24 2b 22 20 7e  |" "+oldpath$+" ~|
00000410  63 20 7e 76 20 66 20 72  22 0d 01 72 12 20 20 f2  |c ~v f r"..r.  .|
00000420  70 72 6f 67 72 65 73 73  28 32 29 0d 01 7c 11 20  |progress(2)..|. |
00000430  20 f2 64 6f 5f 75 70 67  72 61 64 65 0d 01 86 13  | .do_upgrade....|
00000440  20 20 f2 73 65 74 5f 73  6c 69 64 65 28 32 29 0d  |  .set_slide(2).|
00000450  01 90 17 20 20 c8 99 22  48 6f 75 72 67 6c 61 73  |...  .."Hourglas|
00000460  73 5f 4f 66 66 22 0d 01  9a 05 e1 0d 01 a4 04 0d  |s_Off"..........|
00000470  01 ae 10 dd f2 64 6f 5f  75 70 67 72 61 64 65 0d  |.....do_upgrade.|
00000480  01 b8 4c 20 20 f4 20 76  65 72 69 6f 6e 20 6e 75  |..L  . verion nu|
00000490  6d 62 65 72 73 20 69 6e  20 62 72 61 63 6b 65 74  |mbers in bracket|
000004a0  73 20 61 72 65 20 76 65  72 73 69 6f 6e 73 20 77  |s are versions w|
000004b0  68 65 6e 20 6e 65 77 20  64 61 74 61 20 77 61 73  |hen new data was|
000004c0  20 69 6e 74 72 6f 64 75  63 65 64 0d 01 c2 2e 20  | introduced.... |
000004d0  20 f4 20 64 61 74 61 20  69 6e 20 5b 5d 20 74 61  | . data in [] ta|
000004e0  6b 65 73 20 35 20 62 79  74 65 73 20 28 75 73 65  |kes 5 bytes (use|
000004f0  64 20 50 52 49 4e 54 23  29 0d 01 cc 1a 20 20 ea  |d PRINT#)....  .|
00000500  20 72 65 61 64 25 2c 77  72 69 74 65 25 2c 41 25  | read%,write%,A%|
00000510  2c 42 25 0d 01 d6 65 20  20 f4 20 2a 2a 2a 2a 2a  |,B%...e  . *****|
00000520  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000540  2a 2a 2a 2a 2a 2a 2a 20  53 65 74 74 69 6e 67 73  |******* Settings|
00000550  20 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  | ***************|
00000560  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
00000570  2a 2a 2a 2a 2a 2a 2a 2a  0d 01 e0 27 20 20 72 65  |********...'  re|
00000580  61 64 25 3d 8e 28 62 61  63 6b 75 70 24 2b 22 2e  |ad%=.(backup$+".|
00000590  44 61 74 61 2e 53 65 74  74 69 6e 67 73 22 29 0d  |Data.Settings").|
000005a0  01 ea 29 20 20 77 72 69  74 65 25 3d ae 28 6f 6c  |..)  write%=.(ol|
000005b0  64 70 61 74 68 24 2b 22  2e 44 61 74 61 2e 53 65  |dpath$+".Data.Se|
000005c0  74 74 69 6e 67 73 22 29  0d 01 f4 52 20 20 e7 20  |ttings")...R  . |
000005d0  6f 6c 64 76 65 72 25 3e  3d 31 31 30 20 8c 20 73  |oldver%>=110 . s|
000005e0  65 63 6f 6e 64 5f 6f 6c  64 76 65 72 24 3d be 23  |econd_oldver$=.#|
000005f0  72 65 61 64 25 3a f4 20  52 65 61 64 20 69 6e 20  |read%:. Read in |
00000600  6f 6c 64 20 76 65 72 73  69 6f 6e 20 28 6e 6f 74  |old version (not|
00000610  20 69 6e 20 3c 31 2e 31  30 29 0d 01 fe 2c 20 20  | in <1.10)...,  |
00000620  d5 23 77 72 69 74 65 25  2c 76 65 72 24 3a f4 20  |.#write%,ver$:. |
00000630  56 65 72 73 69 6f 6e 20  73 74 6f 72 65 64 20 28  |Version stored (|
00000640  76 31 2e 31 30 29 0d 02  08 12 20 20 f2 74 65 78  |v1.10)....  .tex|
00000650  74 3a f4 20 70 61 74 68  0d 02 12 13 20 20 f2 74  |t:. path....  .t|
00000660  65 78 74 3a f4 20 6f 77  6e 65 72 0d 02 1c 53 20  |ext:. owner...S |
00000670  20 6d 75 6c 74 69 6c 6f  61 64 25 3d a4 63 6f 70  | multiload%=.cop|
00000680  79 3a 61 75 74 6f 6f 70  65 6e 25 3d a4 63 6f 70  |y:autoopen%=.cop|
00000690  79 3a 62 61 72 69 63 6f  6e 25 3d a4 63 6f 70 79  |y:baricon%=.copy|
000006a0  3a 68 6f 75 72 32 34 25  3d a4 63 6f 70 79 3a 61  |:hour24%=.copy:a|
000006b0  75 74 6f 73 61 76 65 25  3d a4 63 6f 70 79 0d 02  |utosave%=.copy..|
000006c0  26 54 20 20 6e 73 65 63  74 69 6f 6e 73 25 3d a4  |&T  nsections%=.|
000006d0  63 6f 70 79 3a 73 65 63  74 69 6f 6e 25 3d a4 63  |copy:section%=.c|
000006e0  6f 70 79 3a 62 61 6e 6e  65 72 25 3d a4 63 6f 70  |opy:banner%=.cop|
000006f0  79 3a 61 6e 69 6d 61 74  69 6f 6e 25 3d a4 63 6f  |y:animation%=.co|
00000700  70 79 3a 61 75 74 6f 5f  42 53 54 25 3d a4 63 6f  |py:auto_BST%=.co|
00000710  70 79 0d 02 30 3d 20 20  f2 63 6f 70 79 28 32 2b  |py..0=  .copy(2+|
00000720  35 2b 35 29 3a f4 20 75  73 65 66 6f 6e 74 73 25  |5+5):. usefonts%|
00000730  2c 6e 72 69 6e 67 73 25  2c 5b 72 69 6e 67 66 25  |,nrings%,[ringf%|
00000740  5d 2c 5b 77 6f 72 64 74  69 6d 65 6e 6f 77 5d 0d  |],[wordtimenow].|
00000750  02 3a 15 20 20 e7 20 6f  6c 64 76 65 72 25 3c 31  |.:.  . oldver%<1|
00000760  31 35 20 8c 0d 02 44 44  20 20 20 20 f1 23 77 72  |15 ...DD    .#wr|
00000770  69 74 65 25 2c 2d 31 2c  30 2c 30 2c 30 2c 30 3a  |ite%,-1,0,0,0,0:|
00000780  f4 20 66 6c 61 67 2b 34  2a 64 65 66 61 75 6c 74  |. flag+4*default|
00000790  20 77 69 6e 64 6f 77 20  70 6f 73 69 74 69 6f 6e  | window position|
000007a0  73 20 28 31 2e 31 35 29  0d 02 4e 3d 20 20 20 20  |s (1.15)..N=    |
000007b0  d5 23 77 72 69 74 65 25  2c 2d 31 3a f4 20 66 6f  |.#write%,-1:. fo|
000007c0  72 63 65 20 69 63 6f 6e  20 62 61 72 20 69 63 6f  |rce icon bar ico|
000007d0  6e 20 74 6f 20 66 61 72  20 72 69 67 68 74 20 28  |n to far right (|
000007e0  31 2e 31 35 29 0d 02 58  4c 20 20 20 20 d5 23 77  |1.15)..XL    .#w|
000007f0  72 69 74 65 25 2c 30 3a  f1 23 77 72 69 74 65 25  |rite%,0:.#write%|
00000800  2c 35 30 30 2c 39 32 30  3a f4 20 61 6c 6c 6f 77  |,500,920:. allow|
00000810  20 6d 61 69 6e 20 77 69  6e 64 6f 77 20 74 6f 20  | main window to |
00000820  62 65 20 72 65 73 69 7a  65 64 20 28 31 2e 31 35  |be resized (1.15|
00000830  29 0d 02 62 39 20 20 20  20 f2 62 70 75 74 28 22  |)..b9    .bput("|
00000840  30 2c 31 35 2c 38 2c 31  31 2c 34 2c 34 2c 31 31  |0,15,8,11,4,4,11|
00000850  2c 22 29 3a f4 20 63 6c  6f 63 6b 20 63 6f 6c 6f  |,"):. clock colo|
00000860  75 72 73 20 28 31 2e 31  35 29 0d 02 6c 07 20 20  |urs (1.15)..l.  |
00000870  cc 0d 02 76 21 20 20 20  20 e8 23 72 65 61 64 25  |...v!    .#read%|
00000880  2c 66 6c 61 67 25 2c 6c  25 2c 72 25 2c 74 25 2c  |,flag%,l%,r%,t%,|
00000890  62 25 0d 02 80 44 20 20  20 20 f1 23 77 72 69 74  |b%...D    .#writ|
000008a0  65 25 2c 66 6c 61 67 25  2c 6c 25 2c 72 25 2c 74  |e%,flag%,l%,r%,t|
000008b0  25 2c 62 25 3a f4 20 66  6c 61 67 2b 34 2a 64 65  |%,b%:. flag+4*de|
000008c0  66 61 75 6c 74 20 77 69  6e 64 6f 77 20 70 6f 73  |fault window pos|
000008d0  69 74 69 6f 6e 73 0d 02  8a 21 20 20 20 20 f2 63  |itions...!    .c|
000008e0  6f 70 79 28 31 29 3a f4  20 66 6f 72 63 65 20 69  |opy(1):. force i|
000008f0  63 6f 6e 20 62 61 72 0d  02 94 3f 20 20 20 20 f2  |con bar...?    .|
00000900  63 6f 70 79 28 31 29 3a  e8 23 72 65 61 64 25 2c  |copy(1):.#read%,|
00000910  77 25 2c 68 25 3a f1 23  77 72 69 74 65 25 2c 77  |w%,h%:.#write%,w|
00000920  25 2c 68 25 3a f4 20 77  69 6e 64 6f 77 20 72 65  |%,h%:. window re|
00000930  73 69 7a 69 6e 67 0d 02  9e 20 20 20 20 20 f2 63  |sizing...     .c|
00000940  6f 70 79 28 37 29 3a f4  20 63 6c 6f 63 6b 20 63  |opy(7):. clock c|
00000950  6f 6c 6f 75 72 73 0d 02  a8 07 20 20 cd 0d 02 b2  |olours....  ....|
00000960  4f 20 20 e7 20 6f 6c 64  76 65 72 25 3c 31 32 30  |O  . oldver%<120|
00000970  20 8c 20 f2 62 70 75 74  28 22 33 2c 37 2c 39 2c  | . .bput("3,7,9,|
00000980  22 29 20 8b 20 f2 63 6f  70 79 28 33 29 3a f4 20  |") . .copy(3):. |
00000990  44 69 67 69 74 61 6c 20  63 6c 6f 63 6b 20 63 6f  |Digital clock co|
000009a0  6c 6f 75 72 73 20 28 31  2e 32 30 29 0d 02 bc 15  |lours (1.20)....|
000009b0  20 20 e7 20 6f 6c 64 76  65 72 25 3c 31 31 35 20  |  . oldver%<115 |
000009c0  8c 0d 02 c6 1b 20 20 20  20 e3 20 42 25 3d 31 20  |.....    . B%=1 |
000009d0  b8 20 6e 73 65 63 74 69  6f 6e 73 25 0d 02 d0 23  |. nsections%...#|
000009e0  20 20 20 20 20 20 f2 63  6f 70 79 28 31 29 3a f4  |      .copy(1):.|
000009f0  20 73 65 63 74 69 6f 6e  20 6e 75 6d 62 65 72 0d  | section number.|
00000a00  02 da 51 20 20 20 20 20  20 d5 23 77 72 69 74 65  |..Q      .#write|
00000a10  25 2c 73 63 6f 6c 25 28  42 25 29 3a d5 23 77 72  |%,scol%(B%):.#wr|
00000a20  69 74 65 25 2c 37 3a f4  20 74 61 62 20 62 61 63  |ite%,7:. tab bac|
00000a30  6b 67 6f 75 6e 64 2f 66  6f 72 65 67 72 6f 75 6e  |kgound/foregroun|
00000a40  64 20 63 6f 6c 6f 75 72  73 20 28 31 2e 31 35 29  |d colours (1.15)|
00000a50  0d 02 e4 09 20 20 20 20  ed 0d 02 ee 40 20 20 cc  |....    ....@  .|
00000a60  20 f2 63 6f 70 79 28 6e  73 65 63 74 69 6f 6e 73  | .copy(nsections|
00000a70  25 2a 33 29 3a f4 20 73  65 63 74 69 6f 6e 20 6e  |%*3):. section n|
00000a80  75 6d 62 65 72 73 2c 20  62 61 63 6b 2f 66 6f 72  |umbers, back/for|
00000a90  65 20 63 6f 6c 6f 75 72  73 0d 02 f8 07 20 20 cd  |e colours....  .|
00000aa0  0d 03 02 5f 20 20 e7 20  6f 6c 64 76 65 72 25 3c  |..._  . oldver%<|
00000ab0  31 32 30 20 8c 20 d5 23  77 72 69 74 65 25 2c 22  |120 . .#write%,"|
00000ac0  25 7a 31 32 3a 25 6d 69  3a 25 73 65 20 25 61 6d  |%z12:%mi:%se %am|
00000ad0  2e 20 25 64 79 2f 25 6d  6e 2f 25 79 72 22 20 8b  |. %dy/%mn/%yr" .|
00000ae0  20 f2 74 65 78 74 3a f4  20 64 65 66 69 6e 61 62  | .text:. definab|
00000af0  6c 65 20 63 6c 6f 63 6b  20 28 31 2e 32 30 29 0d  |le clock (1.20).|
00000b00  03 0c 15 20 20 f2 74 65  78 74 3a f4 20 61 64 64  |...  .text:. add|
00000b10  72 65 73 73 0d 03 16 26  20 20 f2 74 65 78 74 3a  |ress...&  .text:|
00000b20  f4 20 69 6d 70 6f 72 74  61 6e 74 20 6e 75 6d 62  |. important numb|
00000b30  65 72 73 20 73 74 72 69  6e 67 0d 03 20 21 20 20  |ers string.. !  |
00000b40  f2 63 6f 70 79 28 33 29  3a f4 20 61 64 64 72 65  |.copy(3):. addre|
00000b50  73 73 20 73 65 74 74 69  6e 67 73 0d 03 2a 15 20  |ss settings..*. |
00000b60  20 e7 20 6f 6c 64 76 65  72 25 3c 31 32 30 20 8c  | . oldver%<120 .|
00000b70  0d 03 34 48 20 20 20 20  d5 23 77 72 69 74 65 25  |..4H    .#write%|
00000b80  2c 22 6d 61 69 6c 74 6f  3a 22 3a d5 23 77 72 69  |,"mailto:":.#wri|
00000b90  74 65 25 2c 22 68 74 74  70 3a 2f 2f 22 3a f4 20  |te%,"http://":. |
00000ba0  68 6f 74 6c 69 6e 6b 20  70 72 65 66 69 78 65 73  |hotlink prefixes|
00000bb0  20 20 28 31 2e 32 30 29  0d 03 3e 4a 20 20 20 20  |  (1.20)..>J    |
00000bc0  f2 62 70 75 74 28 22 34  2c 38 2c 37 2c 37 2c 37  |.bput("4,8,7,7,7|
00000bd0  2c 37 2c 37 2c 37 2c 37  2c 37 2c 37 2c 37 2c 37  |,7,7,7,7,7,7,7,7|
00000be0  2c 31 31 2c 31 30 2c 22  29 3a f4 20 61 64 64 72  |,11,10,"):. addr|
00000bf0  65 73 73 20 63 6f 6c 6f  75 72 73 20 28 31 2e 32  |ess colours (1.2|
00000c00  30 29 0d 03 48 3c 20 20  cc 20 f2 74 65 78 74 3a  |0)..H<  . .text:|
00000c10  f2 74 65 78 74 3a f2 63  6f 70 79 28 31 35 29 3a  |.text:.copy(15):|
00000c20  f4 20 68 6f 74 6c 69 6e  6b 20 70 72 65 66 69 78  |. hotlink prefix|
00000c30  65 73 20 61 6e 64 20 63  6f 6c 6f 75 72 73 0d 03  |es and colours..|
00000c40  52 07 20 20 cd 0d 03 5c  19 20 20 f2 74 65 78 74  |R.  ...\.  .text|
00000c50  3a f4 20 41 6e 6e 69 76  65 72 73 61 72 79 0d 03  |:. Anniversary..|
00000c60  66 25 20 20 f2 63 6f 70  79 28 32 29 3a f4 20 41  |f%  .copy(2):. A|
00000c70  6e 6e 69 76 65 72 73 61  72 79 20 73 65 74 74 69  |nniversary setti|
00000c80  6e 67 73 0d 03 70 16 20  20 f2 74 65 78 74 3a f4  |ngs..p.  .text:.|
00000c90  20 43 61 6c 65 6e 64 61  72 0d 03 7a 22 20 20 f2  | Calendar..z"  .|
00000ca0  63 6f 70 79 28 34 29 3a  f4 20 43 61 6c 65 6e 64  |copy(4):. Calend|
00000cb0  61 72 20 73 65 74 74 69  6e 67 73 0d 03 84 13 20  |ar settings.... |
00000cc0  20 f2 74 65 78 74 3a f4  20 44 69 61 72 79 0d 03  | .text:. Diary..|
00000cd0  8e 1f 20 20 f2 63 6f 70  79 28 33 29 3a f4 20 44  |..  .copy(3):. D|
00000ce0  69 61 72 79 20 73 65 74  74 69 6e 67 73 0d 03 98  |iary settings...|
00000cf0  15 20 20 e7 20 6f 6c 64  76 65 72 25 3c 31 31 30  |.  . oldver%<110|
00000d00  20 8c 0d 03 a2 48 20 20  20 20 f2 66 69 6c 6c 28  | ....H    .fill(|
00000d10  32 2c 30 29 3a f4 20 32  20 6e 65 77 20 44 69 61  |2,0):. 2 new Dia|
00000d20  72 79 20 73 65 74 74 69  6e 67 73 2c 20 61 75 74  |ry settings, aut|
00000d30  6f 5f 6f 70 65 6e 25 2c  20 61 75 74 6f 5f 64 65  |o_open%, auto_de|
00000d40  6c 25 20 28 76 31 2e 31  30 29 0d 03 ac 21 20 20  |l% (v1.10)...!  |
00000d50  cc 20 f2 63 6f 70 79 28  32 29 3a f4 20 44 69 61  |. .copy(2):. Dia|
00000d60  72 79 20 73 65 74 74 69  6e 67 73 0d 03 b6 07 20  |ry settings.... |
00000d70  20 cd 0d 03 c0 15 20 20  e7 20 6f 6c 64 76 65 72  | .....  . oldver|
00000d80  25 3c 31 31 35 20 8c 0d  03 ca 36 20 20 20 20 d5  |%<115 ....6    .|
00000d90  23 77 72 69 74 65 25 2c  25 31 31 30 3a f4 20 64  |#write%,%110:. d|
00000da0  65 66 61 75 6c 74 20 64  69 61 72 79 20 64 65 74  |efault diary det|
00000db0  74 69 6e 67 73 20 28 76  31 2e 31 35 29 0d 03 d4  |tings (v1.15)...|
00000dc0  10 20 20 cc 20 f2 63 6f  70 79 28 31 29 0d 03 de  |.  . .copy(1)...|
00000dd0  07 20 20 cd 0d 03 e8 16  20 20 d9 23 72 65 61 64  |.  .....  .#read|
00000de0  25 3a d9 23 77 72 69 74  65 25 0d 03 f2 12 20 20  |%:.#write%....  |
00000df0  f2 70 72 6f 67 72 65 73  73 28 33 29 0d 03 fc 15  |.progress(3)....|
00000e00  20 20 e7 20 6f 6c 64 76  65 72 25 3c 31 31 37 20  |  . oldver%<117 |
00000e10  8c 0d 04 06 5e 20 20 20  20 f4 20 49 6e 20 76 65  |....^    . In ve|
00000e20  72 73 69 6f 6e 20 31 2e  31 37 2c 20 54 65 6d 70  |rsion 1.17, Temp|
00000e30  6c 61 74 65 73 20 77 65  72 65 20 6d 6f 76 65 64  |lates were moved|
00000e40  20 69 6e 74 6f 20 52 65  73 6f 75 72 63 65 73 20  | into Resources |
00000e50  61 6e 64 20 4d 65 73 73  61 67 65 73 20 77 65 72  |and Messages wer|
00000e60  65 20 61 64 64 65 64 20  28 76 31 2e 31 37 29 0d  |e added (v1.17).|
00000e70  04 10 28 20 20 20 20 ff  22 52 65 6d 6f 76 65 20  |..(    ."Remove |
00000e80  22 2b 6f 6c 64 70 61 74  68 24 2b 22 2e 54 65 6d  |"+oldpath$+".Tem|
00000e90  70 6c 61 74 65 73 22 0d  04 1a 07 20 20 cd 0d 04  |plates"....  ...|
00000ea0  24 12 20 20 f2 70 72 6f  67 72 65 73 73 28 34 29  |$.  .progress(4)|
00000eb0  0d 04 2e 66 20 20 f4 20  2a 2a 2a 2a 2a 2a 2a 2a  |...f  . ********|
00000ec0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000ee0  2a 2a 2a 2a 20 41 64 64  72 65 73 73 65 73 20 2a  |**** Addresses *|
00000ef0  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |****************|
*
00000f10  2a 2a 2a 2a 2a 2a 0d 04  38 15 20 20 e7 20 6f 6c  |******..8.  . ol|
00000f20  64 76 65 72 25 3c 31 32  30 20 8c 0d 04 42 31 20  |dver%<120 ...B1 |
00000f30  20 20 20 f4 20 49 6e 20  76 65 72 73 69 6f 6e 20  |   . In version |
00000f40  31 2e 31 35 2c 20 74 68  65 20 57 65 62 20 70 61  |1.15, the Web pa|
00000f50  67 65 20 66 69 65 6c 64  20 77 61 73 0d 04 4c 30  |ge field was..L0|
00000f60  20 20 20 20 f4 20 61 64  64 65 64 20 74 6f 20 74  |    . added to t|
00000f70  68 65 20 61 64 64 72 65  73 73 20 64 61 74 61 20  |he address data |
00000f80  62 61 73 65 2c 20 73 6f  20 66 6f 72 0d 04 56 31  |base, so for..V1|
00000f90  20 20 20 20 f4 20 65 61  63 68 20 61 64 64 72 65  |    . each addre|
00000fa0  73 73 2c 20 61 6e 20 65  78 74 72 61 20 4c 46 20  |ss, an extra LF |
00000fb0  28 43 48 52 24 31 30 29  20 6d 75 73 74 0d 04 60  |(CHR$10) must..`|
00000fc0  1e 20 20 20 20 f4 20 62  65 20 61 64 64 65 64 20  |.    . be added |
00000fd0  74 6f 20 74 68 65 20 65  6e 64 2e 0d 04 6a 4b 20  |to the end...jK |
00000fe0  20 20 20 f4 20 49 6e 20  76 65 72 73 69 6f 6e 73  |   . In versions|
00000ff0  20 62 65 66 6f 72 65 20  31 2e 32 30 2c 20 61 64  | before 1.20, ad|
00001000  64 72 65 73 73 65 73 20  77 65 72 65 20 73 6f 72  |dresses were sor|
00001010  74 65 64 20 69 6e 20 74  68 65 20 77 72 6f 6e 67  |ted in the wrong|
00001020  20 70 6c 61 63 65 0d 04  74 4b 20 20 20 20 f4 20  | place..tK    . |
00001030  54 68 65 66 6f 72 65 20  74 68 65 79 20 68 61 76  |Thefore they hav|
00001040  65 20 74 6f 20 62 65 20  6c 6f 61 64 65 64 20 69  |e to be loaded i|
00001050  6e 2c 20 61 6e 64 20 73  6f 72 74 65 64 20 62 65  |n, and sorted be|
00001060  66 6f 72 65 20 62 65 69  6e 67 20 73 61 76 65 64  |fore being saved|
00001070  2e 0d 04 7e 3d 20 20 20  20 f4 20 4d 75 73 6e 27  |...~=    . Musn'|
00001080  74 20 66 6f 72 67 65 74  20 74 6f 20 69 6e 63 75  |t forget to incu|
00001090  64 65 20 65 78 74 72 61  20 4c 46 20 66 6f 72 20  |de extra LF for |
000010a0  76 65 72 73 69 6f 6e 73  20 3c 31 2e 31 35 0d 04  |versions <1.15..|
000010b0  88 2a 20 20 20 20 72 65  61 64 25 3d 8e 28 62 61  |.*    read%=.(ba|
000010c0  63 6b 75 70 24 2b 22 2e  44 61 74 61 2e 41 64 64  |ckup$+".Data.Add|
000010d0  72 65 73 73 65 73 22 29  0d 04 92 2c 20 20 20 20  |resses")...,    |
000010e0  77 72 69 74 65 25 3d ae  28 6f 6c 64 70 61 74 68  |write%=.(oldpath|
000010f0  24 2b 22 2e 44 61 74 61  2e 41 64 64 72 65 73 73  |$+".Data.Address|
00001100  65 73 22 29 0d 04 9c 15  20 20 20 20 f2 61 64 64  |es")....    .add|
00001110  72 65 73 73 5f 6c 6f 61  64 0d 04 a6 15 20 20 20  |ress_load....   |
00001120  20 f2 61 64 64 72 65 73  73 5f 73 61 76 65 0d 04  | .address_save..|
00001130  b0 33 f4 20 20 20 20 20  20 42 25 3d 56 41 4c 47  |.3.      B%=VALG|
00001140  45 54 24 23 72 65 61 64  25 3a 52 45 4d 20 53 69  |ET$#read%:REM Si|
00001150  7a 65 20 6f 66 20 6f 6c  64 20 61 64 64 72 65 73  |ze of old addres|
00001160  73 0d 04 ba 39 f4 20 20  20 20 20 20 42 50 55 54  |s...9.      BPUT|
00001170  23 77 72 69 74 65 25 2c  53 54 52 24 28 42 25 2b  |#write%,STR$(B%+|
00001180  31 29 3a 52 45 4d 20 53  69 7a 65 20 6f 66 20 6e  |1):REM Size of n|
00001190  65 77 20 61 64 64 72 65  73 73 0d 04 c4 44 f4 20  |ew address...D. |
000011a0  20 20 20 20 20 53 59 53  22 4f 53 5f 47 42 50 42  |     SYS"OS_GBPB|
000011b0  22 2c 34 2c 72 65 61 64  25 2c 62 6c 6f 63 6b 25  |",4,read%,block%|
000011c0  2c 42 25 2d 31 32 3a 52  45 4d 20 72 65 61 64 20  |,B%-12:REM read |
000011d0  69 6e 20 6f 6c 64 20 61  64 64 72 65 73 73 0d 04  |in old address..|
000011e0  ce 43 f4 20 20 20 20 20  20 53 59 53 22 4f 53 5f  |.C.      SYS"OS_|
000011f0  47 42 50 42 22 2c 32 2c  77 72 69 74 65 25 2c 62  |GBPB",2,write%,b|
00001200  6c 6f 63 6b 25 2c 42 25  2d 31 32 3a 52 45 4d 20  |lock%,B%-12:REM |
00001210  77 72 69 74 65 20 6f 6c  64 20 61 64 64 72 65 73  |write old addres|
00001220  73 0d 04 d8 34 f4 20 20  20 20 20 20 42 50 55 54  |s...4.      BPUT|
00001230  23 77 72 69 74 65 25 2c  31 30 3a 52 45 4d 20 69  |#write%,10:REM i|
00001240  6e 73 65 72 74 20 65 78  74 72 61 20 4c 69 6e 65  |nsert extra Line|
00001250  20 46 65 65 64 0d 04 e2  18 20 20 20 20 d9 23 72  | Feed....    .#r|
00001260  65 61 64 25 3a d9 23 77  72 69 74 65 25 0d 04 ec  |ead%:.#write%...|
00001270  4e 20 20 cc 20 ff 22 43  6f 70 79 20 22 2b 62 61  |N  . ."Copy "+ba|
00001280  63 6b 75 70 24 2b 22 2e  44 61 74 61 2e 41 64 64  |ckup$+".Data.Add|
00001290  72 65 73 73 65 73 20 22  2b 6f 6c 64 70 61 74 68  |resses "+oldpath|
000012a0  24 2b 22 2e 44 61 74 61  2e 41 64 64 72 65 73 73  |$+".Data.Address|
000012b0  65 73 20 7e 63 20 7e 76  20 66 22 0d 04 f6 07 20  |es ~c ~v f".... |
000012c0  20 cd 0d 05 00 42 20 20  ff 22 43 6f 70 79 20 22  | ....B  ."Copy "|
000012d0  2b 62 61 63 6b 75 70 24  2b 22 2e 44 61 74 61 2e  |+backup$+".Data.|
000012e0  41 6e 6e 69 20 22 2b 6f  6c 64 70 61 74 68 24 2b  |Anni "+oldpath$+|
000012f0  22 2e 44 61 74 61 2e 41  6e 6e 69 20 7e 63 20 7e  |".Data.Anni ~c ~|
00001300  76 20 66 22 0d 05 0a 44  20 20 ff 22 43 6f 70 79  |v f"...D  ."Copy|
00001310  20 22 2b 62 61 63 6b 75  70 24 2b 22 2e 44 61 74  | "+backup$+".Dat|
00001320  61 2e 44 69 61 72 79 20  22 2b 6f 6c 64 70 61 74  |a.Diary "+oldpat|
00001330  68 24 2b 22 2e 44 61 74  61 2e 44 69 61 72 79 20  |h$+".Data.Diary |
00001340  7e 63 20 7e 76 20 66 22  0d 05 14 4c 20 20 ff 22  |~c ~v f"...L  ."|
00001350  43 6f 70 79 20 22 2b 62  61 63 6b 75 70 24 2b 22  |Copy "+backup$+"|
00001360  2e 44 61 74 61 2e 49 6d  70 6f 72 74 61 6e 74 20  |.Data.Important |
00001370  22 2b 6f 6c 64 70 61 74  68 24 2b 22 2e 44 61 74  |"+oldpath$+".Dat|
00001380  61 2e 49 6d 70 6f 72 74  61 6e 74 20 7e 63 20 7e  |a.Important ~c ~|
00001390  76 20 66 22 0d 05 1e 12  20 20 f2 70 72 6f 67 72  |v f"....  .progr|
000013a0  65 73 73 28 35 29 0d 05  28 05 e1 0d 05 32 04 0d  |ess(5)..(....2..|
000013b0  05 3c 30 dd f2 66 69 6c  6c 28 4e 25 2c 43 25 29  |.<0..fill(N%,C%)|
000013c0  3a ea 41 25 3a e3 41 25  3d 31 b8 4e 25 3a d5 23  |:.A%:.A%=1.N%:.#|
000013d0  77 72 69 74 65 25 2c bd  43 25 3b 3a ed 3a e1 0d  |write%,.C%;:.:..|
000013e0  05 46 04 0d 05 50 1d dd  f2 74 65 78 74 3a d5 23  |.F...P...text:.#|
000013f0  77 72 69 74 65 25 2c be  23 72 65 61 64 25 3a e1  |write%,.#read%:.|
00001400  0d 05 5a 04 0d 05 64 31  dd f2 63 6f 70 79 28 4e  |..Z...d1..copy(N|
00001410  25 29 3a ea 20 41 25 3a  e3 41 25 3d 31 b8 4e 25  |%):. A%:.A%=1.N%|
00001420  3a d5 23 77 72 69 74 65  25 2c 9a 23 72 65 61 64  |:.#write%,.#read|
00001430  25 3a ed 3a e1 0d 05 6e  04 0d 05 78 2c dd 20 20  |%:.:...n...x,.  |
00001440  a4 63 6f 70 79 3a ea 20  41 25 3a 41 25 3d 9a 23  |.copy:. A%:A%=.#|
00001450  72 65 61 64 25 3a d5 23  77 72 69 74 65 25 2c 41  |read%:.#write%,A|
00001460  25 3a 3d 41 25 0d 05 82  04 0d 05 8c 0e dd f2 62  |%:=A%..........b|
00001470  70 75 74 28 41 24 29 0d  05 96 0f 20 20 c8 95 20  |put(A$)....  .. |
00001480  41 24 3c 3e 22 22 0d 05  a0 14 20 20 20 20 d5 23  |A$<>""....    .#|
00001490  77 72 69 74 65 25 2c bb  41 24 0d 05 aa 0d 20 20  |write%,.A$....  |
000014a0  20 20 f1 20 bb 41 24 0d  05 b4 1a 20 20 20 20 41  |  . .A$....    A|
000014b0  24 3d c1 41 24 2c a7 41  24 2c 22 2c 22 29 2b 31  |$=.A$,.A$,",")+1|
000014c0  29 0d 05 be 07 20 20 ce  0d 05 c8 05 e1 0d 05 d2  |)....  .........|
000014d0  04 0d 05 dc 12 dd f2 61  64 64 72 65 73 73 5f 6c  |.......address_l|
000014e0  6f 61 64 0d 05 e6 3b 20  20 ea 20 73 69 7a 65 25  |oad...;  . size%|
000014f0  2c 61 64 64 24 28 29 2c  41 25 2c 4e 25 2c 53 25  |,add$(),A%,N%,S%|
00001500  2c 43 25 2c 42 25 3a de  20 61 64 64 24 28 31 34  |,C%,B%:. add$(14|
00001510  29 3a 66 69 72 73 74 61  64 64 25 3d 2d 31 0d 05  |):firstadd%=-1..|
00001520  f0 11 20 20 c8 95 20 ac  c5 23 72 65 61 64 25 0d  |..  .. ..#read%.|
00001530  05 fa 3a 20 20 20 20 53  25 3d 31 32 3a 73 69 7a  |..:    S%=12:siz|
00001540  65 25 3d bb be 23 72 65  61 64 25 3a e7 20 6f 6c  |e%=..#read%:. ol|
00001550  64 76 65 72 25 3c 31 31  35 20 8c 20 4e 25 3d 31  |dver%<115 . N%=1|
00001560  33 20 8b 20 4e 25 3d 31  34 0d 06 04 13 20 20 20  |3 . N%=14....   |
00001570  20 e3 20 41 25 3d 30 20  b8 20 4e 25 0d 06 0e 29  | . A%=0 . N%...)|
00001580  20 20 20 20 20 61 64 64  24 28 41 25 29 3d be 23  |     add$(A%)=.#|
00001590  72 65 61 64 25 3a 53 25  2b 3d a9 61 64 64 24 28  |read%:S%+=.add$(|
000015a0  41 25 29 2b 31 0d 06 18  09 20 20 20 20 ed 0d 06  |A%)+1....    ...|
000015b0  22 29 20 20 20 20 e7 20  4e 25 3d 31 33 20 8c 20  |")    . N%=13 . |
000015c0  61 64 64 24 28 31 34 29  3d 22 22 3a 4e 25 3d 31  |add$(14)="":N%=1|
000015d0  34 3a 53 25 2b 3d 31 0d  06 2c 39 20 20 20 20 43  |4:S%+=1..,9    C|
000015e0  25 3d a4 68 65 61 70 5f  62 6c 6f 63 6b 5f 61 6c  |%=.heap_block_al|
000015f0  6c 6f 63 28 68 65 61 70  25 2c 53 25 2c b9 29 3a  |loc(heap%,S%,.):|
00001600  43 25 21 38 3d 53 25 3a  53 25 3d 43 25 2b 31 32  |C%!8=S%:S%=C%+12|
00001610  0d 06 36 13 20 20 20 20  e3 20 41 25 3d 30 20 b8  |..6.    . A%=0 .|
00001620  20 4e 25 0d 06 40 2a 20  20 20 20 20 20 24 53 25  | N%..@*      $S%|
00001630  3d 61 64 64 24 28 41 25  29 2b bd 31 30 3a 53 25  |=add$(A%)+.10:S%|
00001640  2b 3d a9 61 64 64 24 28  41 25 29 2b 31 0d 06 4a  |+=.add$(A%)+1..J|
00001650  09 20 20 20 20 ed 0d 06  54 32 20 20 20 20 4e 24  |.    ...T2    N$|
00001660  3d a4 72 65 73 74 28 61  64 64 24 28 30 29 2b 22  |=.rest(add$(0)+"|
00001670  20 22 2b 61 64 64 24 28  31 29 29 3a 42 25 3d 66  | "+add$(1)):B%=f|
00001680  69 72 73 74 61 64 64 25  0d 06 5e 12 20 20 20 20  |irstadd%..^.    |
00001690  e7 20 42 25 3c 3e 2d 31  20 8c 0d 06 68 49 20 20  |. B%<>-1 ...hI  |
000016a0  20 20 20 20 c8 95 20 a4  72 65 73 74 28 a4 68 6c  |    .. .rest(.hl|
000016b0  69 6e 65 28 42 25 2c 30  29 2b 22 20 22 2b a4 68  |ine(B%,0)+" "+.h|
000016c0  6c 69 6e 65 28 42 25 2c  31 29 29 3c 4e 24 20 80  |line(B%,1))<N$ .|
000016d0  20 42 25 21 34 3c 3e 2d  31 3a 42 25 3d 42 25 21  | B%!4<>-1:B%=B%!|
000016e0  34 3a ce 0d 06 72 36 20  20 20 20 20 20 e7 20 a4  |4:...r6      . .|
000016f0  72 65 73 74 28 a4 68 6c  69 6e 65 28 42 25 2c 30  |rest(.hline(B%,0|
00001700  29 2b 22 20 22 2b a4 68  6c 69 6e 65 28 42 25 2c  |)+" "+.hline(B%,|
00001710  31 29 29 3e 3d 4e 24 20  8c 0d 06 7c 49 20 20 20  |1))>=N$ ...|I   |
00001720  20 20 20 20 20 21 43 25  3d 21 42 25 3a 43 25 21  |     !C%=!B%:C%!|
00001730  34 3d 42 25 3a 21 42 25  3d 43 25 3a e7 20 21 43  |4=B%:!B%=C%:. !C|
00001740  25 3c 3e 2d 31 20 8c 20  21 28 21 43 25 2b 34 29  |%<>-1 . !(!C%+4)|
00001750  3d 43 25 20 8b 20 66 69  72 73 74 61 64 64 25 3d  |=C% . firstadd%=|
00001760  43 25 0d 06 86 0b 20 20  20 20 20 20 cc 0d 06 90  |C%....      ....|
00001770  22 20 20 20 20 20 20 20  20 42 25 21 34 3d 43 25  |"        B%!4=C%|
00001780  3a 21 43 25 3d 42 25 3a  43 25 21 34 3d 2d 31 0d  |:!C%=B%:C%!4=-1.|
00001790  06 9a 0b 20 20 20 20 20  20 cd 0d 06 a4 25 20 20  |...      ....%  |
000017a0  20 20 cc 20 66 69 72 73  74 61 64 64 25 3d 43 25  |  . firstadd%=C%|
000017b0  3a 21 43 25 3d 2d 31 3a  43 25 21 34 3d 2d 31 0d  |:!C%=-1:C%!4=-1.|
000017c0  06 ae 09 20 20 20 20 cd  0d 06 b8 07 20 20 ce 0d  |...    .....  ..|
000017d0  06 c2 05 e1 0d 06 cc 04  0d 06 d6 12 dd f2 61 64  |..............ad|
000017e0  64 72 65 73 73 5f 73 61  76 65 0d 06 e0 17 20 20  |dress_save....  |
000017f0  ea 20 42 25 3a 42 25 3d  66 69 72 73 74 61 64 64  |. B%:B%=firstadd|
00001800  25 0d 06 ea 0f 20 20 c8  95 20 42 25 3c 3e 2d 31  |%....  .. B%<>-1|
00001810  0d 06 f4 39 20 20 20 20  d5 23 77 72 69 74 65 25  |...9    .#write%|
00001820  2c c3 42 25 21 38 3a c8  99 22 4f 53 5f 47 42 50  |,.B%!8:.."OS_GBP|
00001830  42 22 2c 32 2c 77 72 69  74 65 25 2c 42 25 2b 31  |B",2,write%,B%+1|
00001840  32 2c 42 25 21 38 2d 31  32 0d 06 fe 0f 20 20 20  |2,B%!8-12....   |
00001850  20 42 25 3d 42 25 21 34  0d 07 08 07 20 20 ce 0d  | B%=B%!4....  ..|
00001860  07 12 05 e1 0d 07 1c 04  0d 07 26 10 dd 20 20 a4  |..........&..  .|
00001870  72 65 73 74 28 41 24 29  0d 07 30 24 20 20 ea 20  |rest(A$)..0$  . |
00001880  42 25 3a 41 24 3d a4 75  70 63 61 73 65 28 41 24  |B%:A$=.upcase(A$|
00001890  29 3a 42 25 3d 97 c0 41  24 2c 31 29 0d 07 3a 48  |):B%=..A$,1)..:H|
000018a0  20 20 c8 95 20 ac 28 42  25 3e 34 37 20 80 20 42  |  .. .(B%>47 . B|
000018b0  25 3c 35 38 29 80 ac 28  42 25 3e 36 34 20 80 20  |%<58)..(B%>64 . |
000018c0  42 25 3c 39 31 29 80 41  24 3c 3e 22 22 3a 41 24  |B%<91).A$<>"":A$|
000018d0  3d c1 41 24 2c 32 29 3a  42 25 3d 97 c0 41 24 2c  |=.A$,2):B%=..A$,|
000018e0  31 29 3a ce 0d 07 44 07  3d 41 24 0d 07 4e 04 0d  |1):...D.=A$..N..|
000018f0  07 58 24 dd a4 6c 69 6e  65 28 68 61 6e 64 6c 65  |.X$..line(handle|
00001900  25 29 3a ea 41 24 3a 41  24 3d be 23 68 61 6e 64  |%):.A$:A$=.#hand|
00001910  6c 65 25 0d 07 62 21 e7  20 a7 41 24 2c bd 30 29  |le%..b!. .A$,.0)|
00001920  20 8c 20 41 24 3d c0 41  24 2c a7 41 24 2c bd 30  | . A$=.A$,.A$,.0|
00001930  29 2d 31 29 0d 07 6c 23  e7 20 a7 41 24 2c bd 31  |)-1)..l#. .A$,.1|
00001940  30 29 20 8c 20 41 24 3d  c0 41 24 2c a7 41 24 2c  |0) . A$=.A$,.A$,|
00001950  bd 31 30 29 2d 31 29 0d  07 76 23 e7 20 a7 41 24  |.10)-1)..v#. .A$|
00001960  2c bd 31 33 29 20 8c 20  41 24 3d c0 41 24 2c a7  |,.13) . A$=.A$,.|
00001970  41 24 2c bd 31 33 29 2d  31 29 0d 07 80 07 3d 41  |A$,.13)-1)....=A|
00001980  24 0d 07 8a 04 0d 07 94  12 dd a4 68 6c 69 6e 65  |$..........hline|
00001990  28 42 25 2c 4c 25 29 0d  07 9e 38 20 20 ea 20 41  |(B%,L%)...8  . A|
000019a0  24 3a 42 25 2b 3d 31 32  3a c8 95 4c 25 3e 30 3a  |$:B%+=12:..L%>0:|
000019b0  c8 95 3f 42 25 3c 3e 31  30 3a 42 25 2b 3d 31 3a  |..?B%<>10:B%+=1:|
000019c0  ce 3a 42 25 2b 3d 31 3a  4c 25 2d 3d 31 3a ce 0d  |.:B%+=1:L%-=1:..|
000019d0  07 a8 20 20 20 c8 95 3f  42 25 3c 3e 31 30 3a 41  |..   ..?B%<>10:A|
000019e0  24 2b 3d bd 3f 42 25 3a  42 25 2b 3d 31 3a ce 0d  |$+=.?B%:B%+=1:..|
000019f0  07 b2 07 3d 41 24 0d 07  bc 04 0d 07 c6 15 dd f2  |...=A$..........|
00001a00  74 61 73 6b 5f 70 6f 6c  6c 64 65 63 6f 64 65 0d  |task_polldecode.|
00001a10  07 d0 12 20 20 c8 8e 20  72 65 61 73 6f 6e 25 20  |...  .. reason% |
00001a20  ca 0d 07 da 23 f4 20 20  20 20 57 48 45 4e 20 20  |....#.    WHEN  |
00001a30  30 3a 50 52 4f 43 74 61  73 6b 5f 70 6f 6c 6c 5f  |0:PROCtask_poll_|
00001a40  6e 75 6c 6c 0d 07 e4 20  f4 20 20 20 20 57 48 45  |null... .    WHE|
00001a50  4e 20 20 31 3a 50 52 4f  43 70 6f 6c 6c 5f 72 65  |N  1:PROCpoll_re|
00001a60  64 72 61 77 0d 07 ee 42  20 20 20 20 c9 20 20 32  |draw...B    .  2|
00001a70  3a 62 6c 6f 63 6b 25 21  38 3d 62 6c 6f 63 6b 25  |:block%!8=block%|
00001a80  21 31 36 2d 33 36 38 3a  c8 99 26 34 30 30 43 35  |!16-368:..&400C5|
00001a90  2c 2c 62 6c 6f 63 6b 25  3a f4 20 4f 70 65 6e 20  |,,block%:. Open |
00001aa0  57 69 6e 64 6f 77 0d 07  f8 3d 20 20 20 20 c9 20  |Window...=    . |
00001ab0  20 33 3a f2 77 69 6e 64  6f 77 5f 63 6c 6f 73 65  | 3:.window_close|
00001ac0  28 21 62 6c 6f 63 6b 25  29 3a e7 20 21 62 6c 6f  |(!block%):. !blo|
00001ad0  63 6b 25 3d 6d 61 69 6e  25 20 8c 20 71 75 69 74  |ck%=main% . quit|
00001ae0  25 3d b9 0d 08 02 4c 20  20 20 20 c9 20 20 36 3a  |%=....L    .  6:|
00001af0  f2 74 61 73 6b 5f 70 6f  6c 6c 5f 63 6c 69 63 6b  |.task_poll_click|
00001b00  28 62 6c 6f 63 6b 25 21  31 32 2c 62 6c 6f 63 6b  |(block%!12,block|
00001b10  25 21 31 36 2c 62 6c 6f  63 6b 25 21 38 2c 21 62  |%!16,block%!8,!b|
00001b20  6c 6f 63 6b 25 2c 62 6c  6f 63 6b 25 21 34 29 0d  |lock%,block%!4).|
00001b30  08 0c 1b 20 20 20 20 c9  20 20 37 3a f2 70 6f 6c  |...    .  7:.pol|
00001b40  6c 5f 64 72 61 67 73 61  76 65 0d 08 16 3c 20 20  |l_dragsave...<  |
00001b50  20 20 c9 20 20 38 3a f2  77 69 6d 70 5f 70 6f 6c  |  .  8:.wimp_pol|
00001b60  6c 5f 6b 65 79 70 72 65  73 73 28 21 62 6c 6f 63  |l_keypress(!bloc|
00001b70  6b 25 2c 62 6c 6f 63 6b  25 21 34 2c 62 6c 6f 63  |k%,block%!4,bloc|
00001b80  6b 25 21 32 34 29 0d 08  20 22 20 20 20 20 c9 20  |k%!24).. "    . |
00001b90  20 39 3a f2 77 69 6d 70  5f 70 6f 6c 6c 5f 6d 65  | 9:.wimp_poll_me|
00001ba0  6e 75 73 65 6c 65 63 74  0d 08 2a 22 20 20 20 20  |nuselect..*"    |
00001bb0  c9 20 31 37 2c 31 38 3a  f2 74 61 73 6b 5f 70 6f  |. 17,18:.task_po|
00001bc0  6c 6c 5f 6d 65 73 73 61  67 65 0d 08 34 07 20 20  |ll_message..4.  |
00001bd0  cb 0d 08 3e 05 e1 0d 08  48 04 0d 08 52 13 dd f2  |...>....H...R...|
00001be0  70 6f 6c 6c 5f 64 72 61  67 73 61 76 65 0d 08 5c  |poll_dragsave..\|
00001bf0  40 20 20 f4 20 53 65 6e  64 20 4d 65 73 73 61 67  |@  . Send Messag|
00001c00  65 5f 44 61 74 61 53 61  76 65 20 28 31 29 20 74  |e_DataSave (1) t|
00001c10  6f 20 77 69 6e 64 6f 77  20 61 74 20 6d 6f 75 73  |o window at mous|
00001c20  65 20 63 6f 6f 72 64 69  6e 61 74 65 73 0d 08 66  |e coordinates..f|
00001c30  2d 20 20 e7 20 a4 64 72  61 67 5f 61 5f 73 70 72  |-  . .drag_a_spr|
00001c40  69 74 65 20 8c 20 c8 99  22 44 72 61 67 41 53 70  |ite . .."DragASp|
00001c50  72 69 74 65 5f 53 74 6f  70 22 0d 08 70 4d 20 20  |rite_Stop"..pM  |
00001c60  c8 99 22 57 69 6d 70 5f  47 65 74 50 6f 69 6e 74  |.."Wimp_GetPoint|
00001c70  65 72 49 6e 66 6f 22 2c  2c 62 6c 6f 63 6b 25 3a  |erInfo",,block%:|
00001c80  62 6c 6f 63 6b 25 21 32  30 3d 62 6c 6f 63 6b 25  |block%!20=block%|
00001c90  21 31 32 3a 62 6c 6f 63  6b 25 21 32 34 3d 62 6c  |!12:block%!24=bl|
00001ca0  6f 63 6b 25 21 31 36 0d  08 7a 4d 20 20 62 6c 6f  |ock%!16..zM  blo|
00001cb0  63 6b 25 21 32 38 3d 21  62 6c 6f 63 6b 25 3a 62  |ck%!28=!block%:b|
00001cc0  6c 6f 63 6b 25 21 33 32  3d 62 6c 6f 63 6b 25 21  |lock%!32=block%!|
00001cd0  34 3a 62 6c 6f 63 6b 25  21 33 36 3d 30 3a 21 62  |4:block%!36=0:!b|
00001ce0  6c 6f 63 6b 25 3d 36 34  3a 62 6c 6f 63 6b 25 21  |lock%=64:block%!|
00001cf0  31 32 3d 30 0d 08 84 2e  20 20 62 6c 6f 63 6b 25  |12=0....  block%|
00001d00  21 34 30 3d 26 32 30 30  3a 24 28 62 6c 6f 63 6b  |!40=&200:$(block|
00001d10  25 2b 34 34 29 3d 22 21  4f 72 67 61 6e 69 73 65  |%+44)="!Organise|
00001d20  72 22 0d 08 8e 44 20 20  62 6c 6f 63 6b 25 21 31  |r"...D  block%!1|
00001d30  36 3d 31 3a c8 99 22 57  69 6d 70 5f 53 65 6e 64  |6=1:.."Wimp_Send|
00001d40  4d 65 73 73 61 67 65 22  2c 31 38 2c 62 6c 6f 63  |Message",18,bloc|
00001d50  6b 25 2c 62 6c 6f 63 6b  25 21 32 30 2c 62 6c 6f  |k%,block%!20,blo|
00001d60  63 6b 25 21 32 34 0d 08  98 30 20 20 e7 20 28 62  |ck%!24...0  . (b|
00001d70  6c 6f 63 6b 25 21 38 80  31 29 3d 30 20 8c 20 c8  |lock%!8.1)=0 . .|
00001d80  99 22 57 69 6d 70 5f 43  72 65 61 74 65 4d 65 6e  |."Wimp_CreateMen|
00001d90  75 22 2c 2c 2d 31 0d 08  a2 05 e1 0d 08 ac 04 0d  |u",,-1..........|
00001da0  08 b6 17 dd f2 74 61 73  6b 5f 70 6f 6c 6c 5f 6d  |.....task_poll_m|
00001db0  65 73 73 61 67 65 0d 08  c0 14 20 20 c8 8e 20 62  |essage....  .. b|
00001dc0  6c 6f 63 6b 25 21 31 36  20 ca 0d 08 ca 13 20 20  |lock%!16 .....  |
00001dd0  20 20 c9 20 30 3a 71 75  69 74 25 3d b9 0d 08 d4  |  . 0:quit%=....|
00001de0  39 20 20 20 20 c9 20 32  3a f2 70 6f 6c 6c 5f 6d  |9    . 2:.poll_m|
00001df0  65 73 73 61 67 65 5f 64  61 74 61 73 61 76 65 61  |essage_datasavea|
00001e00  63 6b 28 a4 73 74 72 69  6e 67 28 62 6c 6f 63 6b  |ck(.string(block|
00001e10  25 2b 34 34 29 29 0d 08  de 40 20 20 20 20 c9 20  |%+44))...@    . |
00001e20  33 3a f2 70 6f 6c 6c 5f  6d 65 73 73 61 67 65 5f  |3:.poll_message_|
00001e30  64 61 74 61 6c 6f 61 64  28 62 6c 6f 63 6b 25 21  |dataload(block%!|
00001e40  34 30 2c a4 73 74 72 69  6e 67 28 62 6c 6f 63 6b  |40,.string(block|
00001e50  25 2b 34 34 29 29 0d 08  e8 21 20 20 20 20 c9 20  |%+44))...!    . |
00001e60  38 3a f2 70 6f 6c 6c 5f  6d 65 73 73 61 67 65 5f  |8:.poll_message_|
00001e70  70 72 65 71 75 69 74 0d  08 f2 07 20 20 cb 0d 08  |prequit....  ...|
00001e80  fc 05 e1 0d 09 06 04 0d  09 10 25 dd f2 70 6f 6c  |..........%..pol|
00001e90  6c 5f 6d 65 73 73 61 67  65 5f 64 61 74 61 73 61  |l_message_datasa|
00001ea0  76 65 61 63 6b 28 70 61  74 68 24 29 0d 09 1a 16  |veack(path$)....|
00001eb0  20 20 c8 99 22 48 6f 75  72 67 6c 61 73 73 5f 4f  |  .."Hourglass_O|
00001ec0  6e 22 0d 09 24 2c 20 20  ff 22 43 6f 70 79 20 22  |n"..$,  ."Copy "|
00001ed0  2b 6e 65 77 70 61 74 68  24 2b 22 20 22 2b 70 61  |+newpath$+" "+pa|
00001ee0  74 68 24 2b 22 20 72 20  7e 63 20 7e 76 22 0d 09  |th$+" r ~c ~v"..|
00001ef0  2e 2b 20 20 66 69 6c 65  25 3d ae 28 70 61 74 68  |.+  file%=.(path|
00001f00  24 2b 22 2e 52 65 73 6f  75 72 63 65 73 2e 21 4c  |$+".Resources.!L|
00001f10  61 6e 67 75 61 67 65 22  29 0d 09 38 22 20 20 d5  |anguage")..8"  .|
00001f20  23 66 69 6c 65 25 2c a4  69 63 6f 6e 5f 74 65 78  |#file%,.icon_tex|
00001f30  74 28 6d 61 69 6e 25 2c  33 37 29 0d 09 42 0e 20  |t(main%,37)..B. |
00001f40  20 d9 20 23 66 69 6c 65  25 0d 09 4c 28 20 20 72  | . #file%..L(  r|
00001f50  65 61 64 25 3d 8e 28 6e  65 77 70 61 74 68 24 2b  |ead%=.(newpath$+|
00001f60  22 2e 44 61 74 61 2e 53  65 74 74 69 6e 67 73 22  |".Data.Settings"|
00001f70  29 0d 09 4d 26 20 20 77  72 69 74 65 25 3d ae 28  |)..M&  write%=.(|
00001f80  70 61 74 68 24 2b 22 2e  44 61 74 61 2e 53 65 74  |path$+".Data.Set|
00001f90  74 69 6e 67 73 22 29 0d  09 4e 3a 20 20 f2 74 65  |tings")..N:  .te|
00001fa0  78 74 3a f2 74 65 78 74  3a 41 24 3d be 23 66 69  |xt:.text:A$=.#fi|
00001fb0  6c 65 25 3a d5 23 77 72  69 74 65 25 2c a4 69 63  |le%:.#write%,.ic|
00001fc0  6f 6e 5f 74 65 78 74 28  6d 61 69 6e 25 2c 33 35  |on_text(main%,35|
00001fd0  29 0d 09 4f 24 20 20 c8  95 20 ac c5 23 72 65 61  |)..O$  .. ..#rea|
00001fe0  64 25 3a d5 23 77 72 69  74 65 25 2c 9a 23 72 65  |d%:.#write%,.#re|
00001ff0  61 64 25 3a ce 0d 09 50  0e 20 20 d9 23 77 72 69  |ad%:...P.  .#wri|
00002000  74 65 25 0d 09 51 0d 20  20 d9 23 72 65 61 64 25  |te%..Q.  .#read%|
00002010  0d 09 56 17 20 20 c8 99  22 48 6f 75 72 67 6c 61  |..V.  .."Hourgla|
00002020  73 73 5f 4f 66 66 22 0d  09 60 4f 20 20 c8 94 20  |ss_Off"..`O  .. |
00002030  62 6c 6f 63 6b 25 21 38  2c 62 6c 6f 63 6b 25 21  |block%!8,block%!|
00002040  31 32 3a 62 6c 6f 63 6b  25 21 31 36 3d 33 3a c8  |12:block%!16=3:.|
00002050  99 22 57 69 6d 70 5f 53  65 6e 64 4d 65 73 73 61  |."Wimp_SendMessa|
00002060  67 65 22 2c 31 38 2c 62  6c 6f 63 6b 25 2c 62 6c  |ge",18,block%,bl|
00002070  6f 63 6b 25 21 34 0d 09  6a 05 e1 0d 09 74 04 0d  |ock%!4..j....t..|
00002080  09 7e 48 dd a4 74 61 73  6b 5f 63 61 6e 77 65 6c  |.~H..task_canwel|
00002090  6f 61 64 28 74 79 70 65  25 2c 70 61 74 68 24 29  |oad(type%,path$)|
000020a0  3a f4 20 52 65 74 75 72  6e 20 54 52 55 45 20 69  |:. Return TRUE i|
000020b0  66 20 79 6f 75 20 63 61  6e 20 6c 6f 61 64 20 74  |f you can load t|
000020c0  68 65 20 66 69 6c 65 0d  09 88 12 3d 28 74 79 70  |he file....=(typ|
000020d0  65 25 3d 26 32 30 30 30  29 0d 09 92 04 0d 09 9c  |e%=&2000).......|
000020e0  46 dd a4 74 61 73 6b 5f  6c 6f 61 64 66 69 6c 65  |F..task_loadfile|
000020f0  28 74 79 70 65 25 2c 70  61 74 68 24 29 3a f4 20  |(type%,path$):. |
00002100  4c 6f 61 64 20 74 68 65  20 66 69 6c 65 20 61 6e  |Load the file an|
00002110  64 20 72 65 74 75 72 6e  20 54 52 55 45 20 69 66  |d return TRUE if|
00002120  20 6f 6b 0d 09 a6 0d 20  20 ea 20 66 69 6c 65 25  | ok....  . file%|
00002130  0d 09 b0 29 20 20 e7 20  a4 67 65 74 6c 65 61 66  |...)  . .getleaf|
00002140  28 70 61 74 68 24 29 3d  22 21 4f 72 67 61 6e 69  |(path$)="!Organi|
00002150  73 65 72 22 2b bd 30 20  8c 0d 09 ba 27 20 20 20  |ser"+.0 ....'   |
00002160  20 66 69 6c 65 25 3d 8e  28 70 61 74 68 24 2b 22  | file%=.(path$+"|
00002170  2e 44 61 74 61 2e 53 65  74 74 69 6e 67 73 22 29  |.Data.Settings")|
00002180  0d 09 c4 17 20 20 20 20  6f 6c 64 76 65 72 24 3d  |....    oldver$=|
00002190  be 23 66 69 6c 65 25 0d  09 ce 0f 20 20 20 20 d9  |.#file%....    .|
000021a0  23 66 69 6c 65 25 0d 09  d8 30 20 20 20 20 e7 20  |#file%...0    . |
000021b0  bb 6f 6c 64 76 65 72 24  3d 30 20 8c 20 6f 6c 64  |.oldver$=0 . old|
000021c0  76 65 72 24 3d 22 31 2e  30 30 20 28 38 20 41 75  |ver$="1.00 (8 Au|
000021d0  67 20 39 37 29 22 0d 09  e2 2d 20 20 20 20 6f 6c  |g 97)"...-    ol|
000021e0  64 76 65 72 25 3d 28 bb  6f 6c 64 76 65 72 24 29  |dver%=(.oldver$)|
000021f0  2a 31 30 30 3a 6f 6c 64  70 61 74 68 24 3d 70 61  |*100:oldpath$=pa|
00002200  74 68 24 0d 09 ec 0e 20  20 20 20 c8 8e 20 b9 20  |th$....    .. . |
00002210  ca 0d 09 f6 1c 20 20 20  20 20 20 c9 20 6f 6c 64  |.....      . old|
00002220  76 65 72 25 3c 6e 65 77  76 65 72 25 3a 0d 0a 00  |ver%<newver%:...|
00002230  4c 20 20 20 20 20 20 20  20 f2 69 63 6f 6e 5f 74  |L        .icon_t|
00002240  65 78 74 28 6d 61 69 6e  25 2c 37 2c 70 61 74 68  |ext(main%,7,path|
00002250  24 29 3a f2 69 63 6f 6e  5f 74 65 78 74 28 6d 61  |$):.icon_text(ma|
00002260  69 6e 25 2c 38 2c 22 56  65 72 73 69 6f 6e 20 22  |in%,8,"Version "|
00002270  2b 6f 6c 64 76 65 72 24  29 0d 0a 0a 31 20 20 20  |+oldver$)...1   |
00002280  20 20 20 20 20 f2 69 63  6f 6e 5f 73 68 61 64 65  |     .icon_shade|
00002290  28 6d 61 69 6e 25 2c 31  30 2c 30 29 3a f2 73 65  |(main%,10,0):.se|
000022a0  74 5f 73 6c 69 64 65 28  31 29 0d 0a 14 8e 20 20  |t_slide(1)....  |
000022b0  20 20 20 20 c9 20 6f 6c  64 76 65 72 25 3d 6e 65  |    . oldver%=ne|
000022c0  77 76 65 72 25 3a f2 6d  61 6b 65 5f 72 65 70 6f  |wver%:.make_repo|
000022d0  72 74 28 22 54 68 65 20  76 65 72 73 69 6f 6e 20  |rt("The version |
000022e0  79 6f 75 20 61 72 65 20  74 72 79 69 6e 67 20 74  |you are trying t|
000022f0  6f 20 75 70 67 72 61 64  65 20 69 73 20 74 68 65  |o upgrade is the|
00002300  20 6c 61 74 65 73 74 20  76 65 72 73 69 6f 6e 20  | latest version |
00002310  6b 6e 6f 77 6e 20 74 6f  20 74 68 69 73 20 75 70  |known to this up|
00002320  67 72 61 64 69 6e 67 20  61 70 70 6c 69 63 61 74  |grading applicat|
00002330  69 6f 6e 2e 22 2c a3 29  0d 0a 1e 7d 20 20 20 20  |ion.",.)...}    |
00002340  20 20 c9 20 6f 6c 64 76  65 72 25 3e 6e 65 77 76  |  . oldver%>newv|
00002350  65 72 25 3a f2 6d 61 6b  65 5f 72 65 70 6f 72 74  |er%:.make_report|
00002360  28 22 54 68 65 20 76 65  72 73 69 6f 6e 20 79 6f  |("The version yo|
00002370  75 20 61 72 65 20 74 72  79 69 6e 67 20 74 6f 20  |u are trying to |
00002380  75 70 67 72 61 64 65 20  69 73 20 6e 65 77 65 72  |upgrade is newer|
00002390  20 74 68 61 6e 20 74 68  69 73 20 75 70 67 72 61  | than this upgra|
000023a0  64 69 6e 67 20 61 70 70  6c 69 63 61 74 69 6f 6e  |ding application|
000023b0  2e 22 2c a3 29 0d 0a 28  09 20 20 20 20 cb 0d 0a  |.",.)..(.    ...|
000023c0  32 07 20 20 cd 0d 0a 3c  06 3d b9 0d 0a 46 04 0d  |2.  ...<.=...F..|
000023d0  0a 50 1d f4 20 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |.P.. ***********|
000023e0  2a 2a 2a 2a 20 20 43 6c  69 63 6b 73 0d 0a 5a 04  |****  Clicks..Z.|
000023f0  0d 0a 64 32 dd f2 74 61  73 6b 5f 70 6f 6c 6c 5f  |..d2..task_poll_|
00002400  63 6c 69 63 6b 28 77 69  6e 64 6f 77 25 2c 69 63  |click(window%,ic|
00002410  6f 6e 25 2c 62 75 74 74  6f 6e 25 2c 78 25 2c 79  |on%,button%,x%,y|
00002420  25 29 0d 0a 6e 12 20 20  c8 8e 20 77 69 6e 64 6f  |%)..n.  .. windo|
00002430  77 25 20 ca 0d 0a 78 56  20 20 20 20 c9 20 2d 32  |w% ...xV    . -2|
00002440  3a e7 20 62 75 74 74 6f  6e 25 3d 32 20 8c 20 f2  |:. button%=2 . .|
00002450  6d 65 6e 75 5f 6f 70 65  6e 28 62 61 72 6d 25 2c  |menu_open(barm%,|
00002460  21 62 6c 6f 63 6b 25 2d  36 34 2c 2d 31 29 20 8b  |!block%-64,-1) .|
00002470  20 f2 77 69 6e 64 6f 77  5f 6f 70 65 6e 28 6d 61  | .window_open(ma|
00002480  69 6e 25 2c 2d 31 2c 2d  31 29 0d 0a 82 10 20 20  |in%,-1,-1)....  |
00002490  20 20 c9 20 6d 61 69 6e  25 3a 0d 0a 8c 18 20 20  |  . main%:....  |
000024a0  20 20 20 20 e7 20 62 75  74 74 6f 6e 25 3c 3e 32  |    . button%<>2|
000024b0  20 8c 0d 0a 96 16 20 20  20 20 20 20 20 20 c8 8e  | .....        ..|
000024c0  20 69 63 6f 6e 25 20 ca  0d 0a a0 1f 20 20 20 20  | icon% .....    |
000024d0  20 20 20 20 20 20 c9 20  32 3a f2 73 65 74 5f 73  |      . 2:.set_s|
000024e0  6c 69 64 65 28 31 29 0d  0a aa 1f 20 20 20 20 20  |lide(1)....     |
000024f0  20 20 20 20 20 c9 20 39  3a f2 73 65 74 5f 73 6c  |     . 9:.set_sl|
00002500  69 64 65 28 30 29 0d 0a  b4 1b 20 20 20 20 20 20  |ide(0)....      |
00002510  20 20 20 20 c9 20 31 30  3a f2 75 70 67 72 61 64  |    . 10:.upgrad|
00002520  65 0d 0a be 1e 20 20 20  20 20 20 20 20 20 20 c9  |e....          .|
00002530  20 31 33 2c 31 39 3a f2  72 65 73 74 6f 72 65 0d  | 13,19:.restore.|
00002540  0a c8 32 20 20 20 20 20  20 20 20 20 20 c9 20 31  |..2          . 1|
00002550  34 3a ff 22 46 69 6c 65  72 5f 52 75 6e 20 22 2b  |4:."Filer_Run "+|
00002560  61 70 70 64 69 72 24 2b  22 2e 49 6d 70 72 6f 76  |appdir$+".Improv|
00002570  22 0d 0a d2 20 20 20 20  20 20 20 20 20 20 20 c9  |"...           .|
00002580  20 31 35 2c 31 38 2c 32  33 3a 71 75 69 74 25 3d  | 15,18,23:quit%=|
00002590  b9 0d 0a dc 36 20 20 20  20 20 20 20 20 20 20 c9  |....6          .|
000025a0  20 32 30 3a f2 73 65 74  5f 73 6c 69 64 65 28 34  | 20:.set_slide(4|
000025b0  29 3a f2 69 63 6f 6e 5f  63 61 72 65 74 28 6d 61  |):.icon_caret(ma|
000025c0  69 6e 25 2c 33 35 29 0d  0a e6 20 20 20 20 20 20  |in%,35)...      |
000025d0  20 20 20 20 20 c9 20 32  34 3a f2 73 65 74 5f 73  |     . 24:.set_s|
000025e0  6c 69 64 65 28 30 29 0d  0a f0 44 20 20 20 20 20  |lide(0)...D     |
000025f0  20 20 20 20 20 c9 20 32  36 3a e7 20 28 62 75 74  |     . 26:. (but|
00002600  74 6f 6e 25 80 36 34 29  20 8c 20 f2 64 72 61 67  |ton%.64) . .drag|
00002610  5f 62 6f 78 28 6d 61 69  6e 25 2c 32 36 2c 22 21  |_box(main%,26,"!|
00002620  4f 72 67 61 6e 69 73 65  72 22 29 0d 0a fa 2a 20  |Organiser")...* |
00002630  20 20 20 20 20 20 20 20  20 c9 20 33 37 3a f2 6e  |         . 37:.n|
00002640  65 78 74 6c 61 6e 67 75  61 67 65 28 6d 61 69 6e  |extlanguage(main|
00002650  25 2c 33 37 29 0d 0b 04  0d 20 20 20 20 20 20 20  |%,37)....       |
00002660  20 cb 0d 0b 0e 31 20 20  20 20 20 20 cc 20 f2 6d  | ....1      . .m|
00002670  65 6e 75 5f 6f 70 65 6e  28 62 61 72 6d 25 2c 21  |enu_open(barm%,!|
00002680  62 6c 6f 63 6b 25 2d 36  34 2c 62 6c 6f 63 6b 25  |block%-64,block%|
00002690  21 34 29 0d 0b 18 0b 20  20 20 20 20 20 cd 0d 0b  |!4)....      ...|
000026a0  22 07 20 20 cb 0d 0b 2c  05 e1 0d 0b 36 04 0d 0b  |".  ...,....6...|
000026b0  40 19 dd f2 6e 65 78 74  6c 61 6e 67 75 61 67 65  |@...nextlanguage|
000026c0  28 77 25 2c 69 25 29 0d  0b 4a 3e 20 20 ea 20 69  |(w%,i%)..J>  . i|
000026d0  6e 64 65 78 25 2c 6c 24  2c 66 25 2c 6e 24 2c 74  |ndex%,l$,f%,n$,t|
000026e0  24 2c 66 24 2c 72 25 3a  69 6e 64 65 78 25 3d 31  |$,f$,r%:index%=1|
000026f0  3a 6c 24 3d a4 69 63 6f  6e 5f 74 65 78 74 28 77  |:l$=.icon_text(w|
00002700  25 2c 69 25 29 0d 0b 54  07 20 20 f5 0d 0b 5e 50  |%,i%)..T.  ...^P|
00002710  20 20 20 20 c8 99 22 4f  53 5f 47 42 50 42 22 2c  |    .."OS_GBPB",|
00002720  39 2c 6e 65 77 70 61 74  68 24 2b 22 2e 52 65 73  |9,newpath$+".Res|
00002730  6f 75 72 63 65 73 22 2c  62 6c 6f 63 6b 25 2c 31  |ources",block%,1|
00002740  2c 69 6e 64 65 78 25 2c  32 35 36 2c 30 20 b8 20  |,index%,256,0 . |
00002750  2c 2c 2c 72 25 2c 69 6e  64 65 78 25 0d 0b 68 10  |,,,r%,index%..h.|
00002760  20 20 20 20 e7 20 72 25  3d 31 20 8c 0d 0b 72 1c  |    . r%=1 ...r.|
00002770  20 20 20 20 20 20 74 24  3d a4 73 74 72 69 6e 67  |      t$=.string|
00002780  28 62 6c 6f 63 6b 25 29  0d 0b 7c 19 20 20 20 20  |(block%)..|.    |
00002790  20 20 e7 20 66 24 3d 22  22 20 8c 20 66 24 3d 74  |  . f$="" . f$=t|
000027a0  24 0d 0b 86 18 20 20 20  20 20 20 e7 20 66 25 3d  |$....      . f%=|
000027b0  b9 20 8c 20 6e 24 3d 74  24 0d 0b 90 18 20 20 20  |. . n$=t$....   |
000027c0  20 20 20 e7 20 74 24 3d  6c 24 20 8c 20 66 25 3d  |   . t$=l$ . f%=|
000027d0  b9 0d 0b 9a 09 20 20 20  20 cd 0d 0b a4 1a 20 20  |.....    .....  |
000027e0  fd 20 69 6e 64 65 78 25  3d 2d 31 20 84 20 6e 24  |. index%=-1 . n$|
000027f0  3c 3e 22 22 0d 0b ae 15  20 20 e7 20 6e 24 3d 22  |<>""....  . n$="|
00002800  22 20 8c 20 6e 24 3d 66  24 0d 0b b8 1a 20 20 f2  |" . n$=f$....  .|
00002810  69 63 6f 6e 5f 74 65 78  74 28 77 25 2c 69 25 2c  |icon_text(w%,i%,|
00002820  6e 24 29 0d 0b c2 05 e1  0d 0b cc 04 0d 0b d6 1c  |n$).............|
00002830  f4 20 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |. **************|
00002840  2a 20 20 4d 65 6e 75 73  0d 0b e0 04 0d 0b ea 1a  |*  Menus........|
00002850  dd f2 74 61 73 6b 5f 70  6f 6c 6c 5f 6d 65 6e 75  |..task_poll_menu|
00002860  73 65 6c 65 63 74 0d 0b  f4 14 20 20 c8 8e 20 6d  |select....  .. m|
00002870  65 6e 75 6f 70 65 6e 25  20 ca 0d 0b fe 10 20 20  |enuopen% .....  |
00002880  20 20 c9 20 62 61 72 6d  25 3a 0d 0c 08 16 20 20  |  . barm%:....  |
00002890  20 20 20 20 c8 8e 20 21  62 6c 6f 63 6b 25 20 ca  |    .. !block% .|
000028a0  0d 0c 12 17 20 20 20 20  20 20 20 20 c9 20 31 3a  |....        . 1:|
000028b0  71 75 69 74 25 3d b9 0d  0c 1c 0b 20 20 20 20 20  |quit%=.....     |
000028c0  20 cb 0d 0c 26 07 20 20  cb 0d 0c 30 05 e1 0d 0c  | ...&.  ...0....|
000028d0  3a 04 0d 0c 44 22 f4 20  2a 2a 2a 2a 2a 2a 2a 2a  |:...D". ********|
000028e0  2a 2a 2a 2a 2a 2a 2a 20  20 4b 65 79 20 50 72 65  |*******  Key Pre|
000028f0  73 73 65 73 0d 0c 4e 04  0d 0c 58 47 dd a4 74 61  |sses..N...XG..ta|
00002900  73 6b 5f 70 6f 6c 6c 5f  6b 65 79 70 72 65 73 73  |sk_poll_keypress|
00002910  28 77 69 6e 64 6f 77 25  2c 69 63 6f 6e 25 2c 6b  |(window%,icon%,k|
00002920  65 79 25 2c 75 70 25 2c  64 6f 77 6e 25 2c 70 75  |ey%,up%,down%,pu|
00002930  70 25 2c 70 64 6f 77 6e  25 2c 65 6e 74 25 29 0d  |p%,pdown%,ent%).|
00002940  0c 62 15 20 20 ea 20 75  73 65 64 25 3a 75 73 65  |.b.  . used%:use|
00002950  64 25 3d b9 0d 0c 6c 12  20 20 c8 8e 20 77 69 6e  |d%=...l.  .. win|
00002960  64 6f 77 25 20 ca 0d 0c  76 07 20 20 cb 0d 0c 80  |dow% ...v.  ....|
00002970  0a 3d 75 73 65 64 25 0d  0c 8a 04 0d 0c 94 18 dd  |.=used%.........|
00002980  f2 6d 61 6b 65 5f 72 65  70 6f 72 74 28 41 24 2c  |.make_report(A$,|
00002990  46 25 29 0d 0c 9e 37 20  20 f2 69 63 6f 6e 5f 74  |F%)...7  .icon_t|
000029a0  65 78 74 28 6d 61 69 6e  25 2c 31 37 2c 41 24 29  |ext(main%,17,A$)|
000029b0  3a f2 69 63 6f 6e 5f 68  69 64 65 28 6d 61 69 6e  |:.icon_hide(main|
000029c0  25 2c 31 39 2c 94 ac 46  25 29 0d 0c a8 13 20 20  |%,19,..F%)....  |
000029d0  f2 73 65 74 5f 73 6c 69  64 65 28 33 29 0d 0c b2  |.set_slide(3)...|
000029e0  05 e1 0d 0c bc 04 0d 0c  c6 13 dd f2 73 65 74 5f  |............set_|
000029f0  73 6c 69 64 65 28 4e 25  29 0d 0c d0 2f 20 20 21  |slide(N%).../  !|
00002a00  72 65 70 25 3d 6d 61 69  6e 25 3a c8 99 22 57 69  |rep%=main%:.."Wi|
00002a10  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
00002a20  65 22 2c 2c 72 65 70 25  0d 0c da 18 20 20 72 65  |e",,rep%....  re|
00002a30  70 25 21 38 3d 72 65 70  25 21 31 36 2d 33 36 38  |p%!8=rep%!16-368|
00002a40  0d 0c e4 2f 20 20 72 65  70 25 21 32 34 3d 4e 25  |.../  rep%!24=N%|
00002a50  2a 2d 33 36 38 3a c8 99  22 57 69 6d 70 5f 4f 70  |*-368:.."Wimp_Op|
00002a60  65 6e 57 69 6e 64 6f 77  22 2c 2c 72 65 70 25 0d  |enWindow",,rep%.|
00002a70  0c ee 05 e1 0d 0c f8 04  0d 0d 02 12 dd f2 70 72  |..............pr|
00002a80  6f 67 72 65 73 73 28 4e  25 29 0d 0d 0c 0a 20 20  |ogress(N%)....  |
00002a90  ea 20 41 25 0d 0d 16 12  20 20 e3 20 41 25 3d 32  |. A%....  . A%=2|
00002aa0  39 20 b8 20 33 32 0d 0d  20 2a 20 20 20 20 f2 69  |9 . 32.. *    .i|
00002ab0  63 6f 6e 5f 73 65 6c 65  63 74 28 6d 61 69 6e 25  |con_select(main%|
00002ac0  2c 41 25 2c 2d 28 4e 25  3e 41 25 2d 32 39 29 29  |,A%,-(N%>A%-29))|
00002ad0  0d 0d 2a 07 20 20 ed 0d  0d 34 0f 20 20 f2 70 6f  |..*.  ...4.  .po|
00002ae0  6c 6c 28 ac 31 29 0d 0d  3e 05 e1 0d 0d 48 04 0d  |ll(.1)..>....H..|
00002af0  0d 52 0d dd f2 72 65 73  74 6f 72 65 0d 0d 5c 09  |.R...restore..\.|
00002b00  20 20 ea 20 85 0d 0d 66  36 20 20 ee 20 85 20 ea  |  . ...f6  . . .|
00002b10  20 f7 20 85 3a c8 99 22  48 6f 75 72 67 6c 61 73  | . .:.."Hourglas|
00002b20  73 5f 4f 66 66 22 3a f2  6d 61 6b 65 5f 72 65 70  |s_Off":.make_rep|
00002b30  6f 72 74 28 f6 24 2c a3  29 3a e1 0d 0d 70 16 20  |ort(.$,.):...p. |
00002b40  20 c8 99 22 48 6f 75 72  67 6c 61 73 73 5f 4f 6e  | .."Hourglass_On|
00002b50  22 0d 0d 7a 32 20 20 ff  22 43 6f 70 79 20 22 2b  |"..z2  ."Copy "+|
00002b60  62 61 63 6b 75 70 24 2b  22 20 22 2b 6f 6c 64 70  |backup$+" "+oldp|
00002b70  61 74 68 24 2b 22 20 7e  63 20 7e 76 20 66 20 72  |ath$+" ~c ~v f r|
00002b80  20 71 22 0d 0d 84 17 20  20 c8 99 22 48 6f 75 72  | q"....  .."Hour|
00002b90  67 6c 61 73 73 5f 4f 66  66 22 0d 0d 8e 13 20 20  |glass_Off"....  |
00002ba0  f2 73 65 74 5f 73 6c 69  64 65 28 31 29 0d 0d 98  |.set_slide(1)...|
00002bb0  09 20 20 f7 20 85 0d 0d  a2 05 e1 0d 0d ac 04 0d  |.  . ...........|
00002bc0  0d b6 23 f4 20 2a 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |..#. ***********|
00002bd0  2a 2a 2a 2a 20 20 49 6e  69 74 69 61 6c 69 73 69  |****  Initialisi|
00002be0  6e 67 0d 0d c0 04 0d 0d  ca 19 dd f2 74 61 73 6b  |ng..........task|
00002bf0  5f 70 72 65 5f 69 6e 69  74 69 61 6c 69 73 65 0d  |_pre_initialise.|
00002c00  0d d4 4f 20 20 73 61 72  65 61 25 3d a4 73 70 72  |..O  sarea%=.spr|
00002c10  69 74 65 61 72 65 61 28  61 70 70 64 69 72 24 2b  |itearea(appdir$+|
00002c20  22 2e 53 70 72 69 74 65  73 22 2c 30 29 3a f4 20  |".Sprites",0):. |
00002c30  30 3d 4e 6f 20 6f 66 20  65 78 74 72 61 20 62 79  |0=No of extra by|
00002c40  74 65 73 20 74 6f 20 72  65 73 65 72 76 65 0d 0d  |tes to reserve..|
00002c50  de 45 20 20 6f 6c 64 76  65 72 24 3d 22 22 3a 6f  |.E  oldver$="":o|
00002c60  6c 64 76 65 72 25 3d 30  3a 6e 65 77 76 65 72 25  |ldver%=0:newver%|
00002c70  3d 28 bb 76 65 72 24 29  2a 31 30 30 3a 6f 6c 64  |=(.ver$)*100:old|
00002c80  70 61 74 68 24 3d 22 22  3a 62 61 63 6b 75 70 24  |path$="":backup$|
00002c90  3d 22 22 0d 0d e8 24 20  20 6e 65 77 70 61 74 68  |=""...$  newpath|
00002ca0  24 3d 61 70 70 64 69 72  24 2b 22 2e 21 4f 72 67  |$=appdir$+".!Org|
00002cb0  61 6e 69 73 65 72 22 0d  0d f2 05 e1 0d 0d fc 04  |aniser".........|
00002cc0  0d 0e 06 1a dd f2 74 61  73 6b 5f 70 6f 73 74 5f  |......task_post_|
00002cd0  69 6e 69 74 69 61 6c 69  73 65 0d 0e 10 4b 20 20  |initialise...K  |
00002ce0  f2 69 63 6f 6e 5f 74 65  78 74 28 6d 61 69 6e 25  |.icon_text(main%|
00002cf0  2c 37 2c 22 22 29 3a f2  69 63 6f 6e 5f 74 65 78  |,7,""):.icon_tex|
00002d00  74 28 6d 61 69 6e 25 2c  38 2c 22 22 29 3a f2 69  |t(main%,8,""):.i|
00002d10  63 6f 6e 5f 73 68 61 64  65 28 6d 61 69 6e 25 2c  |con_shade(main%,|
00002d20  31 30 2c 31 29 0d 0e 11  24 20 20 f2 69 63 6f 6e  |10,1)...$  .icon|
00002d30  5f 74 65 78 74 28 6d 61  69 6e 25 2c 33 37 2c 22  |_text(main%,37,"|
00002d40  45 6e 67 6c 69 73 68 22  29 0d 0e 1a 13 20 20 f2  |English")....  .|
00002d50  73 65 74 5f 73 6c 69 64  65 28 30 29 0d 0e 24 05  |set_slide(0)..$.|
00002d60  e1 0d 0e 2e 04 0d 0e 38  17 dd f2 74 61 73 6b 5f  |.......8...task_|
00002d70  6c 6f 61 64 5f 77 69 6e  64 6f 77 73 0d 0e 42 0a  |load_windows..B.|
00002d80  20 20 ea 20 50 25 0d 0e  4c 22 20 20 69 6e 66 6f  |  . P%..L"  info|
00002d90  25 3d a4 77 69 6e 64 6f  77 5f 63 72 65 61 74 65  |%=.window_create|
00002da0  28 22 49 6e 66 6f 22 29  0d 0e 56 22 20 20 6d 61  |("Info")..V"  ma|
00002db0  69 6e 25 3d a4 77 69 6e  64 6f 77 5f 63 72 65 61  |in%=.window_crea|
00002dc0  74 65 28 22 4d 61 69 6e  22 29 0d 0e 60 34 20 20  |te("Main")..`4  |
00002dd0  c8 99 22 57 69 6d 70 5f  4c 6f 61 64 54 65 6d 70  |.."Wimp_LoadTemp|
00002de0  6c 61 74 65 22 2c 2c 30  2c 30 2c 30 2c 30 2c 22  |late",,0,0,0,0,"|
00002df0  4d 61 69 6e 22 20 b8 20  2c 73 69 7a 65 25 0d 0e  |Main" . ,size%..|
00002e00  6a 1e 20 20 f2 69 63 6f  6e 5f 74 65 78 74 28 69  |j.  .icon_text(i|
00002e10  6e 66 6f 25 2c 38 2c 76  65 72 24 29 0d 0e 74 49  |nfo%,8,ver$)..tI|
00002e20  20 20 f2 77 69 6e 64 6f  77 5f 74 69 74 6c 65 28  |  .window_title(|
00002e30  6d 61 69 6e 25 2c 50 25  21 37 32 2c 22 4f 72 67  |main%,P%!72,"Org|
00002e40  61 6e 69 73 65 72 20 75  70 67 72 61 64 65 72 20  |aniser upgrader |
00002e50  76 65 72 73 69 6f 6e 20  22 2b c0 76 65 72 24 2c  |version "+.ver$,|
00002e60  34 29 2c 30 29 0d 0e 7e  05 e1 0d 0e 88 04 0d 0e  |4),0)..~........|
00002e70  92 17 dd f2 74 61 73 6b  5f 63 72 65 61 74 65 5f  |....task_create_|
00002e80  6d 65 6e 75 73 0d 0e 9c  3c 20 62 61 72 6d 25 3d  |menus...< barm%=|
00002e90  a4 6d 65 6e 75 5f 63 72  65 61 74 65 28 22 53 6b  |.menu_create("Sk|
00002ea0  65 6c 65 74 6f 6e 22 2b  a4 73 28 22 49 6e 66 6f  |eleton"+.s("Info|
00002eb0  22 2c 69 6e 66 6f 25 29  2b 22 5c 51 75 69 74 22  |",info%)+"\Quit"|
00002ec0  29 0d 0e a6 05 e1 0d ff                           |).......|
00002ec8