Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199206b.adf » June92 » !AWJune92/Goodies/MoneyHelp/!MoneyHelp/!RunImage

!AWJune92/Goodies/MoneyHelp/!MoneyHelp/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199206b.adf » June92
Filename: !AWJune92/Goodies/MoneyHelp/!MoneyHelp/!RunImage
Read OK:
File size: 10C0 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >!RunImage
   20REM Program   Money Helper
   30REM Author    Peter Arnold
   40REM LEN Archimedes World June '92
   50REM           THIS PROGRAM IS NOT IN THE PUBLIC DOMAIN.
   60REM           IT IS ILLEGAL TO COPY IT. (So don't do it).
   70REM
   80Version$="1.00 (24th Mar 1992)"
   90:
  100ON ERROR PROCFatalError(ERR,REPORT$+" at line "+STR$(ERL)):END
  110PROCInit
  120ON ERROR PROCFatalError(ERR,REPORT$+" at line "+STR$(ERL))
  130REPEAT
  140SYS "Wimp_Poll",pollmask%,event% TO action%
  150PROCHandlePoll
  160UNTIL FALSE
  170:
  180DEF PROCHandlePoll
  190CASE action% OF
  200WHEN 2:SYS "Wimp_OpenWindow",,event%
  210WHEN 3:SYS "Wimp_CloseWindow",,event%:PROCAllOver
  220WHEN 6:PROCmouse(!event%,event%!4,event%!8,event%!12,event%!16,event%!20)
  230WHEN 8:IF event%!24=13 THEN PROCWorkOut ELSE SYS "Wimp_ProcessKey",event%!24
  240WHEN 9:IF !event%=1 THEN PROCAllOver
  250WHEN 17,18:PROCReceive
  260ENDCASE
  270ENDPROC
  280:
  290DEF PROCFatalError(err%, report$)
  300IF (ERL = 1290) AND (ERR = 20) THEN PROCError("That sum is too big - it must be less that �86000."):ENDPROC
  310Size%=LEN(report$)+4
  320DIM Block% Size%
  330!Block% = err%
  340PROCZeroTerminate(report$,Block%+4)
  350SYS "Wimp_ReportError", Block%, 1, "MoneyHelper"
  360PROCAllOver
  370ENDPROC
  380:
  390DEF PROCError(report$)
  400Size%=LEN(report$)+4
  410DIM Block% Size%
  420!Block% = 0
  430PROCZeroTerminate(report$,Block%+4)
  440SYS "Wimp_ReportError", Block%, 1, "MoneyHelper"
  450ENDPROC
  460:
  470DEF PROCInit
  480pollmask%=1
  490maxbuf%=1458
  500DIM q% &1000, curbuf% maxbuf%,event% &100, iconbuf% 40,menu% 80
  510endbuf%=curbuf%+maxbuf%
  520MainAddress%=curbuf%
  530$curbuf%="TASK"
  540SYS "Wimp_Initialise",200,!curbuf%,"MoneyHelper"
  550SYS "Wimp_OpenTemplate",,"<MoneyHelp$dir>.Templates"
  560main% = FNWindow("main","")
  570!q%=main%
  580SYS "Wimp_GetWindowState",,q%:q%!28=-1
  590SYS "Wimp_OpenWindow",,q%
  600SYS "Wimp_SetCaretPosition",main%,11,0,0,-1,-1
  610ProgInfo% = FNWindow("ProgInfo",Version$)
  620SYS "Wimp_CloseTemplate"
  630ENDPROC
  640:
  650DEF PROCmouse(mousex%,mousey%,buttons%,handle%,iconbuf%,oldbuttons%)
  660IF buttons% = 2 THEN PROCMenu
  670VDU 11
  680ENDPROC
  690:
  700DEF PROCReceive
  710IF event%!16=0 THEN PROCAllOver
  720ENDPROC
  730:
  740DEF PROCSetIconState(iconbuf%, eor%, mask%)
  750!iconbuf%=main%
  760iconbuf%!4=iconbuf%
  770iconbuf%!8=eor%
  780iconbuf%!12=mask%
  790SYS "Wimp_SetIconState",,iconbuf%
  800ENDPROC
  810:
  820DEF PROCAllOver
  830SYS "Wimp_CloseDown"
  840END
  850ENDPROC
  860:
  870DEF FNWindow(a$,m$)
  880LOCAL c%,temp%
  890temp%=curbuf%
  900SYS "Wimp_LoadTemplate",,q%,curbuf%,endbuf%,-1,a$,0 TO ,,curbuf%,,,,c%
  910
  920IF m$<>"" THEN PROCZeroTerminate(m$,temp%+91)
  930SYS "Wimp_CreateWindow",,q% TO c%
  940=c%
  950:
  960DEF PROCZeroTerminate(S$,S%)
  970$S%=S$
  980S%?LEN$S%=0
  990ENDPROC
 1000:
 1010DEF PROCMenu
 1020LOCAL x%,y%,z%
 1030PROCZeroTerminate("Money Help",menu%)
 1040menu%?12=7
 1050menu%?13=2
 1060menu%?14=7
 1070menu%?15=0
 1080menu%!16=120
 1090menu%!20=40
 1100menu%!24=10
 1110menu%!28=0
 1120menu%!32=ProgInfo%
 1130menu%!36=&7000229
 1140PROCZeroTerminate("Info",menu%+40)
 1150menu%!52=2^7
 1160menu%!56=-1
 1170menu%!60=&7000229
 1180PROCZeroTerminate("Quit",menu%+64)
 1190MOUSE x%,y%,z%
 1200SYS "Wimp_CreateMenu",,menu%,x%,y%
 1210ENDPROC
 1220:
 1230DEF PROCWorkOut
 1240LOCAL Text$,Pence%,Sum%
 1250Sum%=13:Text$=""
 1260REPEAT
 1270Text$=Text$+CHR$(MainAddress%?Sum%)
 1280Sum%+=1
 1290UNTIL (MainAddress%?Sum%) < 32
 1300Text$=Text$ + "0"
 1310Sum% = INSTR(Text$,".")
 1320IF Sum% = 0 THEN Text$=Text$+".00": Sum%=LEN(Text$)-3
 1330Pence%= VAL(LEFT$(Text$,Sum%-1))*100 + VAL(MID$(Text$,Sum%+1,2))
 1340IF Pence% > 8600112 THEN PROCError("That sum is too big - it must be less than �86000."): ENDPROC
 1350Text$= STR$(Pence% DIV 100) + "."
 1360IF LEN(STR$(Pence% MOD 100)) = 1 THEN
 1370  IF (Pence% MOD 100) > 9 THEN
 1380    Text$=Text$ + STR$(Pence% MOD 100) + "0"
 1390  ELSE
 1400    Text$=Text$ + "0" + STR$(Pence% MOD 100)
 1410  ENDIF
 1420ELSE
 1430  Text$=Text$ + STR$(Pence% MOD 100)
 1440ENDIF
 1450PROCZeroTerminate(Text$,MainAddress%+13)
 1460PROCDivide(5000,MainAddress%+28)
 1470PROCDivide(2000,MainAddress%+32)
 1480PROCDivide(1000,MainAddress%+36)
 1490PROCDivide(500,MainAddress%+40)
 1500PROCDivide(100,MainAddress%+44)
 1510PROCDivide(50,MainAddress%+48)
 1520PROCDivide(20,MainAddress%+51)
 1530PROCDivide(10,MainAddress%+54)
 1540PROCDivide(5,MainAddress%+57)
 1550PROCDivide(2,MainAddress%+60)
 1560PROCDivide(1,MainAddress%+63)
 1570PROCUpDateWindow
 1580ENDPROC
 1590:
 1600DEF PROCUpDateWindow
 1610!iconbuf%=main%
 1620SYS "Wimp_GetWindowOutline",,iconbuf%
 1630SYS "Wimp_ForceRedraw",-1,iconbuf%!4,iconbuf%!8,iconbuf%!12,iconbuf%!16
 1640SYS "Wimp_SetCaretPosition",main%,11,0,0,-1,-1
 1650ENDPROC
 1660:
 1670DEF PROCDivide(By%,Address%)
 1680LOCAL Max%
 1690IF By%>99 THEN Max%=999 ELSE Max%=99
 1700Sum%=Pence% DIV By%
 1710IF Sum% > Max% THEN Sum% = Max%
 1720Pence% =Pence% - (Sum% * By%)
 1730Text$ = STR$(Sum%)
 1740IF Text$="0" THEN Text$=""
 1750PROCZeroTerminate(Text$,Address%)
 1760ENDPROC

� >!RunImage
� Program   Money Helper
� Author    Peter Arnold
(!� � Archimedes World June '92
29�           THIS PROGRAM IS NOT IN THE PUBLIC DOMAIN.
<;�           IT IS ILLEGAL TO COPY IT. (So don't do it).
F�
P#Version$="1.00 (24th Mar 1992)"
Z:
d,� � �FatalError(�,�$+" at line "+�(�)):�
n	�Init
x*� � �FatalError(�,�$+" at line "+�(�))
��
�-ș "Wimp_Poll",pollmask%,event% � action%
��HandlePoll
�� �
�:
�� �HandlePoll
�Ȏ action% �
�$� 2:ș "Wimp_OpenWindow",,event%
�.� 3:ș "Wimp_CloseWindow",,event%:�AllOver
�G� 6:�mouse(!event%,event%!4,event%!8,event%!12,event%!16,event%!20)
�B� 8:� event%!24=13 � �WorkOut � ș "Wimp_ProcessKey",event%!24
�� 9:� !event%=1 � �AllOver
�� 17,18:�Receive
�
�
:
" � �FatalError(err%, report$)
,\� (� = 1290) � (� = 20) � �Error("That sum is too big - it must be less that �86000."):�
6Size%=�(report$)+4
@� Block% Size%
J!Block% = err%
T$�ZeroTerminate(report$,Block%+4)
^3ș "Wimp_ReportError", Block%, 1, "MoneyHelper"
h�AllOver
r�
|:
�� �Error(report$)
�Size%=�(report$)+4
�� Block% Size%
�!Block% = 0
�$�ZeroTerminate(report$,Block%+4)
�3ș "Wimp_ReportError", Block%, 1, "MoneyHelper"
��
�:
�� �Init
�pollmask%=1
�maxbuf%=1458
�A� q% &1000, curbuf% maxbuf%,event% &100, iconbuf% 40,menu% 80
�endbuf%=curbuf%+maxbuf%
MainAddress%=curbuf%
$curbuf%="TASK"
3ș "Wimp_Initialise",200,!curbuf%,"MoneyHelper"
&7ș "Wimp_OpenTemplate",,"<MoneyHelp$dir>.Templates"
0main% = �Window("main","")
:
!q%=main%
D)ș "Wimp_GetWindowState",,q%:q%!28=-1
Nș "Wimp_OpenWindow",,q%
X1ș "Wimp_SetCaretPosition",main%,11,0,0,-1,-1
b,ProgInfo% = �Window("ProgInfo",Version$)
lș "Wimp_CloseTemplate"
v�
�:
�C� �mouse(mousex%,mousey%,buttons%,handle%,iconbuf%,oldbuttons%)
�� buttons% = 2 � �Menu
�� 11
��
�:
�� �Receive
�� event%!16=0 � �AllOver
��
�:
�*� �SetIconState(iconbuf%, eor%, mask%)
�!iconbuf%=main%
�iconbuf%!4=iconbuf%
iconbuf%!8=eor%
iconbuf%!12=mask%
$ș "Wimp_SetIconState",,iconbuf%
 �
*:
4� �AllOver
>ș "Wimp_CloseDown"
H�
R�
\:
f� �Window(a$,m$)
p� c%,temp%
ztemp%=curbuf%
�Hș "Wimp_LoadTemplate",,q%,curbuf%,endbuf%,-1,a$,0 � ,,curbuf%,,,,c%
�
�*� m$<>"" � �ZeroTerminate(m$,temp%+91)
�#ș "Wimp_CreateWindow",,q% � c%
�=c%
�:
�� �ZeroTerminate(S$,S%)
�
$S%=S$
�
S%?�$S%=0
��
�:
�� �Menu
�� x%,y%,z%
&�ZeroTerminate("Money Help",menu%)
menu%?12=7
menu%?13=2
$menu%?14=7
.menu%?15=0
8menu%!16=120
Bmenu%!20=40
Lmenu%!24=10
Vmenu%!28=0
`menu%!32=ProgInfo%
jmenu%!36=&7000229
t#�ZeroTerminate("Info",menu%+40)
~menu%!52=2^7
�menu%!56=-1
�menu%!60=&7000229
�#�ZeroTerminate("Quit",menu%+64)
�ȗ x%,y%,z%
�%ș "Wimp_CreateMenu",,menu%,x%,y%
��
�:
�� �WorkOut
�� Text$,Pence%,Sum%
�Sum%=13:Text$=""
��
�$Text$=Text$+�(MainAddress%?Sum%)
Sum%+=1

� (MainAddress%?Sum%) < 32
Text$=Text$ + "0"
Sum% = �Text$,".")
(3� Sum% = 0 � Text$=Text$+".00": Sum%=�(Text$)-3
27Pence%= �(�Text$,Sum%-1))*100 + �(�Text$,Sum%+1,2))
<X� Pence% > 8600112 � �Error("That sum is too big - it must be less than �86000."): �
F Text$= �(Pence% � 100) + "."
P� �(�(Pence% � 100)) = 1 �
Z  � (Pence% � 100) > 9 �
d+    Text$=Text$ + �(Pence% � 100) + "0"
n  �
x+    Text$=Text$ + "0" + �(Pence% � 100)
�  �
��
�#  Text$=Text$ + �(Pence% � 100)
��
�)�ZeroTerminate(Text$,MainAddress%+13)
�!�Divide(5000,MainAddress%+28)
�!�Divide(2000,MainAddress%+32)
�!�Divide(1000,MainAddress%+36)
� �Divide(500,MainAddress%+40)
� �Divide(100,MainAddress%+44)
��Divide(50,MainAddress%+48)
��Divide(20,MainAddress%+51)
��Divide(10,MainAddress%+54)
�Divide(5,MainAddress%+57)
�Divide(2,MainAddress%+60)
�Divide(1,MainAddress%+63)
"�UpDateWindow
,�
6:
@� �UpDateWindow
J!iconbuf%=main%
T(ș "Wimp_GetWindowOutline",,iconbuf%
^Jș "Wimp_ForceRedraw",-1,iconbuf%!4,iconbuf%!8,iconbuf%!12,iconbuf%!16
h1ș "Wimp_SetCaretPosition",main%,11,0,0,-1,-1
r�
|:
�� �Divide(By%,Address%)
�
� Max%
�!� By%>99 � Max%=999 � Max%=99
�Sum%=Pence% � By%
�� Sum% > Max% � Sum% = Max%
�!Pence% =Pence% - (Sum% * By%)
�Text$ = �(Sum%)
�� Text$="0" � Text$=""
�"�ZeroTerminate(Text$,Address%)
��
�
00000000  0d 00 0a 10 f4 20 3e 21  52 75 6e 49 6d 61 67 65  |..... >!RunImage|
00000010  0d 00 14 1c f4 20 50 72  6f 67 72 61 6d 20 20 20  |..... Program   |
00000020  4d 6f 6e 65 79 20 48 65  6c 70 65 72 0d 00 1e 1c  |Money Helper....|
00000030  f4 20 41 75 74 68 6f 72  20 20 20 20 50 65 74 65  |. Author    Pete|
00000040  72 20 41 72 6e 6f 6c 64  0d 00 28 21 f4 20 a9 20  |r Arnold..(!. . |
00000050  41 72 63 68 69 6d 65 64  65 73 20 57 6f 72 6c 64  |Archimedes World|
00000060  20 4a 75 6e 65 20 27 39  32 0d 00 32 39 f4 20 20  | June '92..29.  |
00000070  20 20 20 20 20 20 20 20  20 54 48 49 53 20 50 52  |         THIS PR|
00000080  4f 47 52 41 4d 20 49 53  20 4e 4f 54 20 49 4e 20  |OGRAM IS NOT IN |
00000090  54 48 45 20 50 55 42 4c  49 43 20 44 4f 4d 41 49  |THE PUBLIC DOMAI|
000000a0  4e 2e 0d 00 3c 3b f4 20  20 20 20 20 20 20 20 20  |N...<;.         |
000000b0  20 20 49 54 20 49 53 20  49 4c 4c 45 47 41 4c 20  |  IT IS ILLEGAL |
000000c0  54 4f 20 43 4f 50 59 20  49 54 2e 20 28 53 6f 20  |TO COPY IT. (So |
000000d0  64 6f 6e 27 74 20 64 6f  20 69 74 29 2e 0d 00 46  |don't do it)...F|
000000e0  05 f4 0d 00 50 23 56 65  72 73 69 6f 6e 24 3d 22  |....P#Version$="|
000000f0  31 2e 30 30 20 28 32 34  74 68 20 4d 61 72 20 31  |1.00 (24th Mar 1|
00000100  39 39 32 29 22 0d 00 5a  05 3a 0d 00 64 2c ee 20  |992)"..Z.:..d,. |
00000110  85 20 f2 46 61 74 61 6c  45 72 72 6f 72 28 9f 2c  |. .FatalError(.,|
00000120  f6 24 2b 22 20 61 74 20  6c 69 6e 65 20 22 2b c3  |.$+" at line "+.|
00000130  28 9e 29 29 3a e0 0d 00  6e 09 f2 49 6e 69 74 0d  |(.)):...n..Init.|
00000140  00 78 2a ee 20 85 20 f2  46 61 74 61 6c 45 72 72  |.x*. . .FatalErr|
00000150  6f 72 28 9f 2c f6 24 2b  22 20 61 74 20 6c 69 6e  |or(.,.$+" at lin|
00000160  65 20 22 2b c3 28 9e 29  29 0d 00 82 05 f5 0d 00  |e "+.(.)).......|
00000170  8c 2d c8 99 20 22 57 69  6d 70 5f 50 6f 6c 6c 22  |.-.. "Wimp_Poll"|
00000180  2c 70 6f 6c 6c 6d 61 73  6b 25 2c 65 76 65 6e 74  |,pollmask%,event|
00000190  25 20 b8 20 61 63 74 69  6f 6e 25 0d 00 96 0f f2  |% . action%.....|
000001a0  48 61 6e 64 6c 65 50 6f  6c 6c 0d 00 a0 07 fd 20  |HandlePoll..... |
000001b0  a3 0d 00 aa 05 3a 0d 00  b4 11 dd 20 f2 48 61 6e  |.....:..... .Han|
000001c0  64 6c 65 50 6f 6c 6c 0d  00 be 10 c8 8e 20 61 63  |dlePoll...... ac|
000001d0  74 69 6f 6e 25 20 ca 0d  00 c8 24 c9 20 32 3a c8  |tion% ....$. 2:.|
000001e0  99 20 22 57 69 6d 70 5f  4f 70 65 6e 57 69 6e 64  |. "Wimp_OpenWind|
000001f0  6f 77 22 2c 2c 65 76 65  6e 74 25 0d 00 d2 2e c9  |ow",,event%.....|
00000200  20 33 3a c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  | 3:.. "Wimp_Clos|
00000210  65 57 69 6e 64 6f 77 22  2c 2c 65 76 65 6e 74 25  |eWindow",,event%|
00000220  3a f2 41 6c 6c 4f 76 65  72 0d 00 dc 47 c9 20 36  |:.AllOver...G. 6|
00000230  3a f2 6d 6f 75 73 65 28  21 65 76 65 6e 74 25 2c  |:.mouse(!event%,|
00000240  65 76 65 6e 74 25 21 34  2c 65 76 65 6e 74 25 21  |event%!4,event%!|
00000250  38 2c 65 76 65 6e 74 25  21 31 32 2c 65 76 65 6e  |8,event%!12,even|
00000260  74 25 21 31 36 2c 65 76  65 6e 74 25 21 32 30 29  |t%!16,event%!20)|
00000270  0d 00 e6 42 c9 20 38 3a  e7 20 65 76 65 6e 74 25  |...B. 8:. event%|
00000280  21 32 34 3d 31 33 20 8c  20 f2 57 6f 72 6b 4f 75  |!24=13 . .WorkOu|
00000290  74 20 8b 20 c8 99 20 22  57 69 6d 70 5f 50 72 6f  |t . .. "Wimp_Pro|
000002a0  63 65 73 73 4b 65 79 22  2c 65 76 65 6e 74 25 21  |cessKey",event%!|
000002b0  32 34 0d 00 f0 1e c9 20  39 3a e7 20 21 65 76 65  |24..... 9:. !eve|
000002c0  6e 74 25 3d 31 20 8c 20  f2 41 6c 6c 4f 76 65 72  |nt%=1 . .AllOver|
000002d0  0d 00 fa 14 c9 20 31 37  2c 31 38 3a f2 52 65 63  |..... 17,18:.Rec|
000002e0  65 69 76 65 0d 01 04 05  cb 0d 01 0e 05 e1 0d 01  |eive............|
000002f0  18 05 3a 0d 01 22 20 dd  20 f2 46 61 74 61 6c 45  |..:.." . .FatalE|
00000300  72 72 6f 72 28 65 72 72  25 2c 20 72 65 70 6f 72  |rror(err%, repor|
00000310  74 24 29 0d 01 2c 5c e7  20 28 9e 20 3d 20 31 32  |t$)..,\. (. = 12|
00000320  39 30 29 20 80 20 28 9f  20 3d 20 32 30 29 20 8c  |90) . (. = 20) .|
00000330  20 f2 45 72 72 6f 72 28  22 54 68 61 74 20 73 75  | .Error("That su|
00000340  6d 20 69 73 20 74 6f 6f  20 62 69 67 20 2d 20 69  |m is too big - i|
00000350  74 20 6d 75 73 74 20 62  65 20 6c 65 73 73 20 74  |t must be less t|
00000360  68 61 74 20 a3 38 36 30  30 30 2e 22 29 3a e1 0d  |hat .86000."):..|
00000370  01 36 16 53 69 7a 65 25  3d a9 28 72 65 70 6f 72  |.6.Size%=.(repor|
00000380  74 24 29 2b 34 0d 01 40  12 de 20 42 6c 6f 63 6b  |t$)+4..@.. Block|
00000390  25 20 53 69 7a 65 25 0d  01 4a 12 21 42 6c 6f 63  |% Size%..J.!Bloc|
000003a0  6b 25 20 3d 20 65 72 72  25 0d 01 54 24 f2 5a 65  |k% = err%..T$.Ze|
000003b0  72 6f 54 65 72 6d 69 6e  61 74 65 28 72 65 70 6f  |roTerminate(repo|
000003c0  72 74 24 2c 42 6c 6f 63  6b 25 2b 34 29 0d 01 5e  |rt$,Block%+4)..^|
000003d0  33 c8 99 20 22 57 69 6d  70 5f 52 65 70 6f 72 74  |3.. "Wimp_Report|
000003e0  45 72 72 6f 72 22 2c 20  42 6c 6f 63 6b 25 2c 20  |Error", Block%, |
000003f0  31 2c 20 22 4d 6f 6e 65  79 48 65 6c 70 65 72 22  |1, "MoneyHelper"|
00000400  0d 01 68 0c f2 41 6c 6c  4f 76 65 72 0d 01 72 05  |..h..AllOver..r.|
00000410  e1 0d 01 7c 05 3a 0d 01  86 15 dd 20 f2 45 72 72  |...|.:..... .Err|
00000420  6f 72 28 72 65 70 6f 72  74 24 29 0d 01 90 16 53  |or(report$)....S|
00000430  69 7a 65 25 3d a9 28 72  65 70 6f 72 74 24 29 2b  |ize%=.(report$)+|
00000440  34 0d 01 9a 12 de 20 42  6c 6f 63 6b 25 20 53 69  |4..... Block% Si|
00000450  7a 65 25 0d 01 a4 0f 21  42 6c 6f 63 6b 25 20 3d  |ze%....!Block% =|
00000460  20 30 0d 01 ae 24 f2 5a  65 72 6f 54 65 72 6d 69  | 0...$.ZeroTermi|
00000470  6e 61 74 65 28 72 65 70  6f 72 74 24 2c 42 6c 6f  |nate(report$,Blo|
00000480  63 6b 25 2b 34 29 0d 01  b8 33 c8 99 20 22 57 69  |ck%+4)...3.. "Wi|
00000490  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 2c  |mp_ReportError",|
000004a0  20 42 6c 6f 63 6b 25 2c  20 31 2c 20 22 4d 6f 6e  | Block%, 1, "Mon|
000004b0  65 79 48 65 6c 70 65 72  22 0d 01 c2 05 e1 0d 01  |eyHelper".......|
000004c0  cc 05 3a 0d 01 d6 0b dd  20 f2 49 6e 69 74 0d 01  |..:..... .Init..|
000004d0  e0 0f 70 6f 6c 6c 6d 61  73 6b 25 3d 31 0d 01 ea  |..pollmask%=1...|
000004e0  10 6d 61 78 62 75 66 25  3d 31 34 35 38 0d 01 f4  |.maxbuf%=1458...|
000004f0  41 de 20 71 25 20 26 31  30 30 30 2c 20 63 75 72  |A. q% &1000, cur|
00000500  62 75 66 25 20 6d 61 78  62 75 66 25 2c 65 76 65  |buf% maxbuf%,eve|
00000510  6e 74 25 20 26 31 30 30  2c 20 69 63 6f 6e 62 75  |nt% &100, iconbu|
00000520  66 25 20 34 30 2c 6d 65  6e 75 25 20 38 30 0d 01  |f% 40,menu% 80..|
00000530  fe 1b 65 6e 64 62 75 66  25 3d 63 75 72 62 75 66  |..endbuf%=curbuf|
00000540  25 2b 6d 61 78 62 75 66  25 0d 02 08 18 4d 61 69  |%+maxbuf%....Mai|
00000550  6e 41 64 64 72 65 73 73  25 3d 63 75 72 62 75 66  |nAddress%=curbuf|
00000560  25 0d 02 12 13 24 63 75  72 62 75 66 25 3d 22 54  |%....$curbuf%="T|
00000570  41 53 4b 22 0d 02 1c 33  c8 99 20 22 57 69 6d 70  |ASK"...3.. "Wimp|
00000580  5f 49 6e 69 74 69 61 6c  69 73 65 22 2c 32 30 30  |_Initialise",200|
00000590  2c 21 63 75 72 62 75 66  25 2c 22 4d 6f 6e 65 79  |,!curbuf%,"Money|
000005a0  48 65 6c 70 65 72 22 0d  02 26 37 c8 99 20 22 57  |Helper"..&7.. "W|
000005b0  69 6d 70 5f 4f 70 65 6e  54 65 6d 70 6c 61 74 65  |imp_OpenTemplate|
000005c0  22 2c 2c 22 3c 4d 6f 6e  65 79 48 65 6c 70 24 64  |",,"<MoneyHelp$d|
000005d0  69 72 3e 2e 54 65 6d 70  6c 61 74 65 73 22 0d 02  |ir>.Templates"..|
000005e0  30 1e 6d 61 69 6e 25 20  3d 20 a4 57 69 6e 64 6f  |0.main% = .Windo|
000005f0  77 28 22 6d 61 69 6e 22  2c 22 22 29 0d 02 3a 0d  |w("main","")..:.|
00000600  21 71 25 3d 6d 61 69 6e  25 0d 02 44 29 c8 99 20  |!q%=main%..D).. |
00000610  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 53  |"Wimp_GetWindowS|
00000620  74 61 74 65 22 2c 2c 71  25 3a 71 25 21 32 38 3d  |tate",,q%:q%!28=|
00000630  2d 31 0d 02 4e 1c c8 99  20 22 57 69 6d 70 5f 4f  |-1..N... "Wimp_O|
00000640  70 65 6e 57 69 6e 64 6f  77 22 2c 2c 71 25 0d 02  |penWindow",,q%..|
00000650  58 31 c8 99 20 22 57 69  6d 70 5f 53 65 74 43 61  |X1.. "Wimp_SetCa|
00000660  72 65 74 50 6f 73 69 74  69 6f 6e 22 2c 6d 61 69  |retPosition",mai|
00000670  6e 25 2c 31 31 2c 30 2c  30 2c 2d 31 2c 2d 31 0d  |n%,11,0,0,-1,-1.|
00000680  02 62 2c 50 72 6f 67 49  6e 66 6f 25 20 3d 20 a4  |.b,ProgInfo% = .|
00000690  57 69 6e 64 6f 77 28 22  50 72 6f 67 49 6e 66 6f  |Window("ProgInfo|
000006a0  22 2c 56 65 72 73 69 6f  6e 24 29 0d 02 6c 1b c8  |",Version$)..l..|
000006b0  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 54 65 6d  |. "Wimp_CloseTem|
000006c0  70 6c 61 74 65 22 0d 02  76 05 e1 0d 02 80 05 3a  |plate"..v......:|
000006d0  0d 02 8a 43 dd 20 f2 6d  6f 75 73 65 28 6d 6f 75  |...C. .mouse(mou|
000006e0  73 65 78 25 2c 6d 6f 75  73 65 79 25 2c 62 75 74  |sex%,mousey%,but|
000006f0  74 6f 6e 73 25 2c 68 61  6e 64 6c 65 25 2c 69 63  |tons%,handle%,ic|
00000700  6f 6e 62 75 66 25 2c 6f  6c 64 62 75 74 74 6f 6e  |onbuf%,oldbutton|
00000710  73 25 29 0d 02 94 1a e7  20 62 75 74 74 6f 6e 73  |s%)..... buttons|
00000720  25 20 3d 20 32 20 8c 20  f2 4d 65 6e 75 0d 02 9e  |% = 2 . .Menu...|
00000730  08 ef 20 31 31 0d 02 a8  05 e1 0d 02 b2 05 3a 0d  |.. 11.........:.|
00000740  02 bc 0e dd 20 f2 52 65  63 65 69 76 65 0d 02 c6  |.... .Receive...|
00000750  1c e7 20 65 76 65 6e 74  25 21 31 36 3d 30 20 8c  |.. event%!16=0 .|
00000760  20 f2 41 6c 6c 4f 76 65  72 0d 02 d0 05 e1 0d 02  | .AllOver.......|
00000770  da 05 3a 0d 02 e4 2a dd  20 f2 53 65 74 49 63 6f  |..:...*. .SetIco|
00000780  6e 53 74 61 74 65 28 69  63 6f 6e 62 75 66 25 2c  |nState(iconbuf%,|
00000790  20 65 6f 72 25 2c 20 6d  61 73 6b 25 29 0d 02 ee  | eor%, mask%)...|
000007a0  13 21 69 63 6f 6e 62 75  66 25 3d 6d 61 69 6e 25  |.!iconbuf%=main%|
000007b0  0d 02 f8 17 69 63 6f 6e  62 75 66 25 21 34 3d 69  |....iconbuf%!4=i|
000007c0  63 6f 6e 62 75 66 25 0d  03 02 13 69 63 6f 6e 62  |conbuf%....iconb|
000007d0  75 66 25 21 38 3d 65 6f  72 25 0d 03 0c 15 69 63  |uf%!8=eor%....ic|
000007e0  6f 6e 62 75 66 25 21 31  32 3d 6d 61 73 6b 25 0d  |onbuf%!12=mask%.|
000007f0  03 16 24 c8 99 20 22 57  69 6d 70 5f 53 65 74 49  |..$.. "Wimp_SetI|
00000800  63 6f 6e 53 74 61 74 65  22 2c 2c 69 63 6f 6e 62  |conState",,iconb|
00000810  75 66 25 0d 03 20 05 e1  0d 03 2a 05 3a 0d 03 34  |uf%.. ....*.:..4|
00000820  0e dd 20 f2 41 6c 6c 4f  76 65 72 0d 03 3e 17 c8  |.. .AllOver..>..|
00000830  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |. "Wimp_CloseDow|
00000840  6e 22 0d 03 48 05 e0 0d  03 52 05 e1 0d 03 5c 05  |n"..H....R....\.|
00000850  3a 0d 03 66 14 dd 20 a4  57 69 6e 64 6f 77 28 61  |:..f.. .Window(a|
00000860  24 2c 6d 24 29 0d 03 70  0e ea 20 63 25 2c 74 65  |$,m$)..p.. c%,te|
00000870  6d 70 25 0d 03 7a 11 74  65 6d 70 25 3d 63 75 72  |mp%..z.temp%=cur|
00000880  62 75 66 25 0d 03 84 48  c8 99 20 22 57 69 6d 70  |buf%...H.. "Wimp|
00000890  5f 4c 6f 61 64 54 65 6d  70 6c 61 74 65 22 2c 2c  |_LoadTemplate",,|
000008a0  71 25 2c 63 75 72 62 75  66 25 2c 65 6e 64 62 75  |q%,curbuf%,endbu|
000008b0  66 25 2c 2d 31 2c 61 24  2c 30 20 b8 20 2c 2c 63  |f%,-1,a$,0 . ,,c|
000008c0  75 72 62 75 66 25 2c 2c  2c 2c 63 25 0d 03 8e 04  |urbuf%,,,,c%....|
000008d0  0d 03 98 2a e7 20 6d 24  3c 3e 22 22 20 8c 20 f2  |...*. m$<>"" . .|
000008e0  5a 65 72 6f 54 65 72 6d  69 6e 61 74 65 28 6d 24  |ZeroTerminate(m$|
000008f0  2c 74 65 6d 70 25 2b 39  31 29 0d 03 a2 23 c8 99  |,temp%+91)...#..|
00000900  20 22 57 69 6d 70 5f 43  72 65 61 74 65 57 69 6e  | "Wimp_CreateWin|
00000910  64 6f 77 22 2c 2c 71 25  20 b8 20 63 25 0d 03 ac  |dow",,q% . c%...|
00000920  07 3d 63 25 0d 03 b6 05  3a 0d 03 c0 1b dd 20 f2  |.=c%....:..... .|
00000930  5a 65 72 6f 54 65 72 6d  69 6e 61 74 65 28 53 24  |ZeroTerminate(S$|
00000940  2c 53 25 29 0d 03 ca 0a  24 53 25 3d 53 24 0d 03  |,S%)....$S%=S$..|
00000950  d4 0d 53 25 3f a9 24 53  25 3d 30 0d 03 de 05 e1  |..S%?.$S%=0.....|
00000960  0d 03 e8 05 3a 0d 03 f2  0b dd 20 f2 4d 65 6e 75  |....:..... .Menu|
00000970  0d 03 fc 0e ea 20 78 25  2c 79 25 2c 7a 25 0d 04  |..... x%,y%,z%..|
00000980  06 26 f2 5a 65 72 6f 54  65 72 6d 69 6e 61 74 65  |.&.ZeroTerminate|
00000990  28 22 4d 6f 6e 65 79 20  48 65 6c 70 22 2c 6d 65  |("Money Help",me|
000009a0  6e 75 25 29 0d 04 10 0e  6d 65 6e 75 25 3f 31 32  |nu%)....menu%?12|
000009b0  3d 37 0d 04 1a 0e 6d 65  6e 75 25 3f 31 33 3d 32  |=7....menu%?13=2|
000009c0  0d 04 24 0e 6d 65 6e 75  25 3f 31 34 3d 37 0d 04  |..$.menu%?14=7..|
000009d0  2e 0e 6d 65 6e 75 25 3f  31 35 3d 30 0d 04 38 10  |..menu%?15=0..8.|
000009e0  6d 65 6e 75 25 21 31 36  3d 31 32 30 0d 04 42 0f  |menu%!16=120..B.|
000009f0  6d 65 6e 75 25 21 32 30  3d 34 30 0d 04 4c 0f 6d  |menu%!20=40..L.m|
00000a00  65 6e 75 25 21 32 34 3d  31 30 0d 04 56 0e 6d 65  |enu%!24=10..V.me|
00000a10  6e 75 25 21 32 38 3d 30  0d 04 60 16 6d 65 6e 75  |nu%!28=0..`.menu|
00000a20  25 21 33 32 3d 50 72 6f  67 49 6e 66 6f 25 0d 04  |%!32=ProgInfo%..|
00000a30  6a 15 6d 65 6e 75 25 21  33 36 3d 26 37 30 30 30  |j.menu%!36=&7000|
00000a40  32 32 39 0d 04 74 23 f2  5a 65 72 6f 54 65 72 6d  |229..t#.ZeroTerm|
00000a50  69 6e 61 74 65 28 22 49  6e 66 6f 22 2c 6d 65 6e  |inate("Info",men|
00000a60  75 25 2b 34 30 29 0d 04  7e 10 6d 65 6e 75 25 21  |u%+40)..~.menu%!|
00000a70  35 32 3d 32 5e 37 0d 04  88 0f 6d 65 6e 75 25 21  |52=2^7....menu%!|
00000a80  35 36 3d 2d 31 0d 04 92  15 6d 65 6e 75 25 21 36  |56=-1....menu%!6|
00000a90  30 3d 26 37 30 30 30 32  32 39 0d 04 9c 23 f2 5a  |0=&7000229...#.Z|
00000aa0  65 72 6f 54 65 72 6d 69  6e 61 74 65 28 22 51 75  |eroTerminate("Qu|
00000ab0  69 74 22 2c 6d 65 6e 75  25 2b 36 34 29 0d 04 a6  |it",menu%+64)...|
00000ac0  0f c8 97 20 78 25 2c 79  25 2c 7a 25 0d 04 b0 25  |... x%,y%,z%...%|
00000ad0  c8 99 20 22 57 69 6d 70  5f 43 72 65 61 74 65 4d  |.. "Wimp_CreateM|
00000ae0  65 6e 75 22 2c 2c 6d 65  6e 75 25 2c 78 25 2c 79  |enu",,menu%,x%,y|
00000af0  25 0d 04 ba 05 e1 0d 04  c4 05 3a 0d 04 ce 0e dd  |%.........:.....|
00000b00  20 f2 57 6f 72 6b 4f 75  74 0d 04 d8 17 ea 20 54  | .WorkOut..... T|
00000b10  65 78 74 24 2c 50 65 6e  63 65 25 2c 53 75 6d 25  |ext$,Pence%,Sum%|
00000b20  0d 04 e2 14 53 75 6d 25  3d 31 33 3a 54 65 78 74  |....Sum%=13:Text|
00000b30  24 3d 22 22 0d 04 ec 05  f5 0d 04 f6 24 54 65 78  |$=""........$Tex|
00000b40  74 24 3d 54 65 78 74 24  2b bd 28 4d 61 69 6e 41  |t$=Text$+.(MainA|
00000b50  64 64 72 65 73 73 25 3f  53 75 6d 25 29 0d 05 00  |ddress%?Sum%)...|
00000b60  0b 53 75 6d 25 2b 3d 31  0d 05 0a 1e fd 20 28 4d  |.Sum%+=1..... (M|
00000b70  61 69 6e 41 64 64 72 65  73 73 25 3f 53 75 6d 25  |ainAddress%?Sum%|
00000b80  29 20 3c 20 33 32 0d 05  14 15 54 65 78 74 24 3d  |) < 32....Text$=|
00000b90  54 65 78 74 24 20 2b 20  22 30 22 0d 05 1e 16 53  |Text$ + "0"....S|
00000ba0  75 6d 25 20 3d 20 a7 54  65 78 74 24 2c 22 2e 22  |um% = .Text$,"."|
00000bb0  29 0d 05 28 33 e7 20 53  75 6d 25 20 3d 20 30 20  |)..(3. Sum% = 0 |
00000bc0  8c 20 54 65 78 74 24 3d  54 65 78 74 24 2b 22 2e  |. Text$=Text$+".|
00000bd0  30 30 22 3a 20 53 75 6d  25 3d a9 28 54 65 78 74  |00": Sum%=.(Text|
00000be0  24 29 2d 33 0d 05 32 37  50 65 6e 63 65 25 3d 20  |$)-3..27Pence%= |
00000bf0  bb 28 c0 54 65 78 74 24  2c 53 75 6d 25 2d 31 29  |.(.Text$,Sum%-1)|
00000c00  29 2a 31 30 30 20 2b 20  bb 28 c1 54 65 78 74 24  |)*100 + .(.Text$|
00000c10  2c 53 75 6d 25 2b 31 2c  32 29 29 0d 05 3c 58 e7  |,Sum%+1,2))..<X.|
00000c20  20 50 65 6e 63 65 25 20  3e 20 38 36 30 30 31 31  | Pence% > 860011|
00000c30  32 20 8c 20 f2 45 72 72  6f 72 28 22 54 68 61 74  |2 . .Error("That|
00000c40  20 73 75 6d 20 69 73 20  74 6f 6f 20 62 69 67 20  | sum is too big |
00000c50  2d 20 69 74 20 6d 75 73  74 20 62 65 20 6c 65 73  |- it must be les|
00000c60  73 20 74 68 61 6e 20 a3  38 36 30 30 30 2e 22 29  |s than .86000.")|
00000c70  3a 20 e1 0d 05 46 20 54  65 78 74 24 3d 20 c3 28  |: ...F Text$= .(|
00000c80  50 65 6e 63 65 25 20 81  20 31 30 30 29 20 2b 20  |Pence% . 100) + |
00000c90  22 2e 22 0d 05 50 1e e7  20 a9 28 c3 28 50 65 6e  |"."..P.. .(.(Pen|
00000ca0  63 65 25 20 83 20 31 30  30 29 29 20 3d 20 31 20  |ce% . 100)) = 1 |
00000cb0  8c 0d 05 5a 1c 20 20 e7  20 28 50 65 6e 63 65 25  |...Z.  . (Pence%|
00000cc0  20 83 20 31 30 30 29 20  3e 20 39 20 8c 0d 05 64  | . 100) > 9 ...d|
00000cd0  2b 20 20 20 20 54 65 78  74 24 3d 54 65 78 74 24  |+    Text$=Text$|
00000ce0  20 2b 20 c3 28 50 65 6e  63 65 25 20 83 20 31 30  | + .(Pence% . 10|
00000cf0  30 29 20 2b 20 22 30 22  0d 05 6e 07 20 20 cc 0d  |0) + "0"..n.  ..|
00000d00  05 78 2b 20 20 20 20 54  65 78 74 24 3d 54 65 78  |.x+    Text$=Tex|
00000d10  74 24 20 2b 20 22 30 22  20 2b 20 c3 28 50 65 6e  |t$ + "0" + .(Pen|
00000d20  63 65 25 20 83 20 31 30  30 29 0d 05 82 07 20 20  |ce% . 100)....  |
00000d30  cd 0d 05 8c 05 cc 0d 05  96 23 20 20 54 65 78 74  |.........#  Text|
00000d40  24 3d 54 65 78 74 24 20  2b 20 c3 28 50 65 6e 63  |$=Text$ + .(Penc|
00000d50  65 25 20 83 20 31 30 30  29 0d 05 a0 05 cd 0d 05  |e% . 100).......|
00000d60  aa 29 f2 5a 65 72 6f 54  65 72 6d 69 6e 61 74 65  |.).ZeroTerminate|
00000d70  28 54 65 78 74 24 2c 4d  61 69 6e 41 64 64 72 65  |(Text$,MainAddre|
00000d80  73 73 25 2b 31 33 29 0d  05 b4 21 f2 44 69 76 69  |ss%+13)...!.Divi|
00000d90  64 65 28 35 30 30 30 2c  4d 61 69 6e 41 64 64 72  |de(5000,MainAddr|
00000da0  65 73 73 25 2b 32 38 29  0d 05 be 21 f2 44 69 76  |ess%+28)...!.Div|
00000db0  69 64 65 28 32 30 30 30  2c 4d 61 69 6e 41 64 64  |ide(2000,MainAdd|
00000dc0  72 65 73 73 25 2b 33 32  29 0d 05 c8 21 f2 44 69  |ress%+32)...!.Di|
00000dd0  76 69 64 65 28 31 30 30  30 2c 4d 61 69 6e 41 64  |vide(1000,MainAd|
00000de0  64 72 65 73 73 25 2b 33  36 29 0d 05 d2 20 f2 44  |dress%+36)... .D|
00000df0  69 76 69 64 65 28 35 30  30 2c 4d 61 69 6e 41 64  |ivide(500,MainAd|
00000e00  64 72 65 73 73 25 2b 34  30 29 0d 05 dc 20 f2 44  |dress%+40)... .D|
00000e10  69 76 69 64 65 28 31 30  30 2c 4d 61 69 6e 41 64  |ivide(100,MainAd|
00000e20  64 72 65 73 73 25 2b 34  34 29 0d 05 e6 1f f2 44  |dress%+44).....D|
00000e30  69 76 69 64 65 28 35 30  2c 4d 61 69 6e 41 64 64  |ivide(50,MainAdd|
00000e40  72 65 73 73 25 2b 34 38  29 0d 05 f0 1f f2 44 69  |ress%+48).....Di|
00000e50  76 69 64 65 28 32 30 2c  4d 61 69 6e 41 64 64 72  |vide(20,MainAddr|
00000e60  65 73 73 25 2b 35 31 29  0d 05 fa 1f f2 44 69 76  |ess%+51).....Div|
00000e70  69 64 65 28 31 30 2c 4d  61 69 6e 41 64 64 72 65  |ide(10,MainAddre|
00000e80  73 73 25 2b 35 34 29 0d  06 04 1e f2 44 69 76 69  |ss%+54).....Divi|
00000e90  64 65 28 35 2c 4d 61 69  6e 41 64 64 72 65 73 73  |de(5,MainAddress|
00000ea0  25 2b 35 37 29 0d 06 0e  1e f2 44 69 76 69 64 65  |%+57).....Divide|
00000eb0  28 32 2c 4d 61 69 6e 41  64 64 72 65 73 73 25 2b  |(2,MainAddress%+|
00000ec0  36 30 29 0d 06 18 1e f2  44 69 76 69 64 65 28 31  |60).....Divide(1|
00000ed0  2c 4d 61 69 6e 41 64 64  72 65 73 73 25 2b 36 33  |,MainAddress%+63|
00000ee0  29 0d 06 22 11 f2 55 70  44 61 74 65 57 69 6e 64  |).."..UpDateWind|
00000ef0  6f 77 0d 06 2c 05 e1 0d  06 36 05 3a 0d 06 40 13  |ow..,....6.:..@.|
00000f00  dd 20 f2 55 70 44 61 74  65 57 69 6e 64 6f 77 0d  |. .UpDateWindow.|
00000f10  06 4a 13 21 69 63 6f 6e  62 75 66 25 3d 6d 61 69  |.J.!iconbuf%=mai|
00000f20  6e 25 0d 06 54 28 c8 99  20 22 57 69 6d 70 5f 47  |n%..T(.. "Wimp_G|
00000f30  65 74 57 69 6e 64 6f 77  4f 75 74 6c 69 6e 65 22  |etWindowOutline"|
00000f40  2c 2c 69 63 6f 6e 62 75  66 25 0d 06 5e 4a c8 99  |,,iconbuf%..^J..|
00000f50  20 22 57 69 6d 70 5f 46  6f 72 63 65 52 65 64 72  | "Wimp_ForceRedr|
00000f60  61 77 22 2c 2d 31 2c 69  63 6f 6e 62 75 66 25 21  |aw",-1,iconbuf%!|
00000f70  34 2c 69 63 6f 6e 62 75  66 25 21 38 2c 69 63 6f  |4,iconbuf%!8,ico|
00000f80  6e 62 75 66 25 21 31 32  2c 69 63 6f 6e 62 75 66  |nbuf%!12,iconbuf|
00000f90  25 21 31 36 0d 06 68 31  c8 99 20 22 57 69 6d 70  |%!16..h1.. "Wimp|
00000fa0  5f 53 65 74 43 61 72 65  74 50 6f 73 69 74 69 6f  |_SetCaretPositio|
00000fb0  6e 22 2c 6d 61 69 6e 25  2c 31 31 2c 30 2c 30 2c  |n",main%,11,0,0,|
00000fc0  2d 31 2c 2d 31 0d 06 72  05 e1 0d 06 7c 05 3a 0d  |-1,-1..r....|.:.|
00000fd0  06 86 1b dd 20 f2 44 69  76 69 64 65 28 42 79 25  |.... .Divide(By%|
00000fe0  2c 41 64 64 72 65 73 73  25 29 0d 06 90 0a ea 20  |,Address%)..... |
00000ff0  4d 61 78 25 0d 06 9a 21  e7 20 42 79 25 3e 39 39  |Max%...!. By%>99|
00001000  20 8c 20 4d 61 78 25 3d  39 39 39 20 8b 20 4d 61  | . Max%=999 . Ma|
00001010  78 25 3d 39 39 0d 06 a4  15 53 75 6d 25 3d 50 65  |x%=99....Sum%=Pe|
00001020  6e 63 65 25 20 81 20 42  79 25 0d 06 ae 1f e7 20  |nce% . By%..... |
00001030  53 75 6d 25 20 3e 20 4d  61 78 25 20 8c 20 53 75  |Sum% > Max% . Su|
00001040  6d 25 20 3d 20 4d 61 78  25 0d 06 b8 21 50 65 6e  |m% = Max%...!Pen|
00001050  63 65 25 20 3d 50 65 6e  63 65 25 20 2d 20 28 53  |ce% =Pence% - (S|
00001060  75 6d 25 20 2a 20 42 79  25 29 0d 06 c2 13 54 65  |um% * By%)....Te|
00001070  78 74 24 20 3d 20 c3 28  53 75 6d 25 29 0d 06 cc  |xt$ = .(Sum%)...|
00001080  1a e7 20 54 65 78 74 24  3d 22 30 22 20 8c 20 54  |.. Text$="0" . T|
00001090  65 78 74 24 3d 22 22 0d  06 d6 22 f2 5a 65 72 6f  |ext$=""...".Zero|
000010a0  54 65 72 6d 69 6e 61 74  65 28 54 65 78 74 24 2c  |Terminate(Text$,|
000010b0  41 64 64 72 65 73 73 25  29 0d 06 e0 05 e1 0d ff  |Address%).......|
000010c0