Home » Archimedes archive » Micro User » MU 1990-08.adf » July\BBC/CALE-BA

July\BBC/CALE-BA

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

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

Tape/disk: Home » Archimedes archive » Micro User » MU 1990-08.adf
Filename: July\BBC/CALE-BA
Read OK:
File size: 0C61 bytes
Load address: FFFFFB43
Exec address: 6D393D2E
Duplicates

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

File contents
   10 REM   Listing V
   20 REM   By Glenn Marshall
   30 REM   (C) The Micro User
   40 :
   50 IF PAGE<>&2100 THEN END
   60 :
   70 *FX3
   80 PROCmachine_variables
   90 PROCglobal_variables
  100 PROCenter_date
  110 PROCset_up_days
  120 PROCset_up_months
  130 PROCcalender_box
  140 :
  150 ?icon%=0
  160 REPEAT
  170   IF ?icon%<>255 THEN PROCdisplay(FNdays_gone_by)
  180   CALL calender_icon_positions
  190   CALL pointer
  200   IF ?icon%=1 THEN PROCadd_month
  210   IF ?icon%=2 THEN PROCsub_month
  220   IF ?icon%=3 THEN PROCadd_year
  230   IF ?icon%=4 THEN PROCsub_year
  240   IF ?icon%<5 THEN PROCcheck:*SAVE calend 4000 8000
  250 UNTIL ?icon%=5
  260 :
  270 CALL erase_calender
  280 *FX210,1
  290 *FX3,6
  300 *FX210,0
  310 :
  320 CHAIN "DESKTOP"
  330 :
  340 END
  350 :
  360 DEFPROCadd_month
  370 month%=month%+1
  380 ENDPROC
  390 :
  400 DEFPROCadd_year
  410 year%=year%+1
  420 ENDPROC
  430 :
  440 DEFPROCsub_year
  450 year%=year%-1
  460 ENDPROC
  470 :
  480 DEFPROCsub_month
  490 month%=month%-1
  500 ENDPROC
  510 :
  520 DEFPROCcheck
  530 IF month%>12 THEN month%=1:year%=year%+1
  540 IF month%<1 THEN month%=12:year%=year%-1
  550 IF year%=1752 THEN year%=1753
  560 IF year%=10000 THEN year%=9999
  570 ENDPROC
  580 :
  590 DEFPROCenter_date
  600 LOCAL enter$,key1$,key2$,key3$,key4$
  610 CALL input_box
  620 COLOUR 1:COLOUR 128
  630 REPEAT
  640   PRINT TAB(34,13);"Year =     "
  650   VDU 31,41,13
  660   key1$=GET$:PRINT key1$;
  670   key2$=GET$:PRINT key2$;
  680   key3$=GET$:PRINT key3$;
  690   key4$=GET$:PRINT key4$;
  700   year%=(VAL(key1$+key2$+key3$+key4$))
  710 UNTIL (year%<10000) AND (year%>1752)
  720 :
  730 REPEAT
  740   PRINT TAB(34,13);"Month =    "
  750   VDU 31,42,13
  760   key1$=GET$:PRINT key1$;
  770   key2$=GET$:PRINT key2$;
  780   month%=VAL(key1$+key2$)
  790 UNTIL (month%>0) AND (month%<13)
  800 CALL erase_input_box
  810 ENDPROC
  820 :
  830 DEFPROCset_up_days
  840 LOCAL L%
  850 RESTORE 900
  860 FOR L%=1 TO 12
  870   READ total%(0,L%)
  880   total%(1,L%)=total%(1,L%-1)+total%(0,L%)
  890 NEXT
  900 DATA 31,28,31,30,31,30,31,31,30,31,30,31
  910 ENDPROC
  920 :
  930 DEFPROCset_up_months
  940 LOCAL L%
  950 RESTORE 990
  960 FOR L%=1 TO 12
  970   READ month$(L%)
  980 NEXT
  990 DATA January,February,March,April,May,June,July,August,September,October,November,December
 1000 ENDPROC
 1010 :
 1020 DEF FNdays_gone_by
 1030 LOCAL start%,base%,gone_year%,gone_month%,gone%,leap%
 1040 Badleap%=FALSE
 1050 start%=1756
 1060 base%=1753
 1070 gone_year%=(year%-base%)*365
 1080 gone_month%=total%(1,month%-1)
 1090 leap%=0
 1100 IF year%<=start% GOTO 1180
 1110 FOR loop%=start% TO year% STEP 4
 1120   Badleap%=FALSE
 1130   leap%=leap%+1
 1140   IF (loop% MOD 100=0) AND ((loop% DIV 100)MOD 4<>0) THEN leap%=leap%-1:Badleap%=TRUE
 1150 NEXT
 1160 IF (month%<3) AND (year% MOD 4=0) AND (year% MOD 100<>0) THEN leap%=leap%-1
 1170 IF (month%<3) AND (year% MOD 100=0) AND (Badleap%=FALSE) THEN leap%=leap%-1
 1180 gone%=gone_year%+gone_month%+leap%+1
 1190 =gone% MOD 7
 1200 :
 1210 DEFPROCdisplay(start%)
 1220 LOCAL X%,Y%,L%,E%
 1230 Y%=13
 1240 X%=(start%*5)+24
 1250 E%=total%(0,month%)
 1260 IF (month%=2) AND (Badleap%=FALSE) AND (year% MOD 4=0) THEN E%=E%+1
 1270 CALL white_box
 1280 PRINT TAB(23,8);"         "
 1290 PRINT TAB(23,8);month$(month%)
 1300 PRINT TAB(52,8);year%
 1310 FOR L%=1 TO E%
 1320   IF L%<10 THEN PRINT TAB(X%,Y%);" ";L%; ELSE PRINT TAB(X%,Y%);L%;
 1330 X%=X%+5
 1340 IF X%>55 THEN Y%=Y%+1:X%=24
 1350 NEXT
 1360 ENDPROC
 1370 :
 1380 DEFPROCcalender_box
 1390 CALL calender
 1400 ENDPROC
 1410 :
 1420 DEFPROCglobal_variables
 1430 year%=0
 1440 month%=0
 1450 BadLeap%=FALSE
 1460 ?icon%=0
 1470 DIM total%(1,12)
 1480 DIM month$(12)
 1490 ENDPROC
 1500 :
 1510 DEFPROCmachine_variables
 1520 icon%=&63
 1530 input_box=&1EE5
 1540 erase_input_box=&1F1C
 1550 calender=&1ED8
 1560 erase_calender=&1F88
 1570 calender_icon_positions=&1F8C
 1580 pointer=&1900
 1590 white_box=&1F99
 1600 ENDPROC

 �   Listing V
 �   By Glenn Marshall
 �   (C) The Micro User
( :
2 � �<>&2100 � �
< :
F	 *FX3
P �machine_variables
Z �global_variables
d �enter_date
n �set_up_days
x �set_up_months
� �calender_box
� :
�
 ?icon%=0
� �
�.   � ?icon%<>255 � �display(�days_gone_by)
�    � calender_icon_positions
�   � pointer
�   � ?icon%=1 � �add_month
�   � ?icon%=2 � �sub_month
�   � ?icon%=3 � �add_year
�   � ?icon%=4 � �sub_year
�1   � ?icon%<5 � �check:*SAVE calend 4000 8000
� � ?icon%=5
 :
 � erase_calender

 *FX210,1
" *FX3,6
,
 *FX210,0
6 :
@ � "DESKTOP"
J :
T �
^ :
h ��add_month
r month%=month%+1
| �
� :
� ��add_year
� year%=year%+1
� �
� :
� ��sub_year
� year%=year%-1
� �
� :
� ��sub_month
� month%=month%-1
� �
� :
 ��check
) � month%>12 � month%=1:year%=year%+1
) � month%<1 � month%=12:year%=year%-1
& � year%=1752 � year%=1753
0 � year%=10000 � year%=9999
: �
D :
N ��enter_date
X% � enter$,key1$,key2$,key3$,key4$
b � input_box
l � 1:� 128
v �
�   � �34,13);"Year =     "
�   � 31,41,13
�   key1$=�:� key1$;
�   key2$=�:� key2$;
�   key3$=�:� key3$;
�   key4$=�:� key4$;
�)   year%=(�(key1$+key2$+key3$+key4$))
�# � (year%<10000) � (year%>1752)
� :
� �
�   � �34,13);"Month =    "
�   � 31,42,13
�   key1$=�:� key1$;
   key2$=�:� key2$;
   month%=�(key1$+key2$)
 � (month%>0) � (month%<13)
  � erase_input_box
* �
4 :
> ��set_up_days
H	 � L%
R � �tDC
\ � L%=1 � 12
f   � total%(0,L%)
p/   total%(1,L%)=total%(1,L%-1)+total%(0,L%)
z �
�* � 31,28,31,30,31,30,31,31,30,31,30,31
� �
� :
� ��set_up_months
�	 � L%
� � �d^C
� � L%=1 � 12
�   � month$(L%)
� �
�\ � January,February,March,April,May,June,July,August,September,October,November,December
� �
� :
� � �days_gone_by
6 � start%,base%,gone_year%,gone_month%,gone%,leap%
 Badleap%=�
 start%=1756
$ base%=1753
.! gone_year%=(year%-base%)*365
8# gone_month%=total%(1,month%-1)
B leap%=0
L � year%<=start% � �t\D
V � loop%=start% � year% � 4
`   Badleap%=�
j   leap%=leap%+1
tK   � (loop% � 100=0) � ((loop% � 100)� 4<>0) � leap%=leap%-1:Badleap%=�
~ �
�D � (month%<3) � (year% � 4=0) � (year% � 100<>0) � leap%=leap%-1
�B � (month%<3) � (year% � 100=0) � (Badleap%=�) � leap%=leap%-1
�) gone%=gone_year%+gone_month%+leap%+1
� =gone% � 7
� :
� ��display(start%)
� � X%,Y%,L%,E%
�
 Y%=13
� X%=(start%*5)+24
� E%=total%(0,month%)
�: � (month%=2) � (Badleap%=�) � (year% � 4=0) � E%=E%+1
� � white_box
 � �23,8);"         "

 � �23,8);month$(month%)
 � �52,8);year%
 � L%=1 � E%
(2   � L%<10 � � �X%,Y%);" ";L%; � � �X%,Y%);L%;
2 X%=X%+5
< � X%>55 � Y%=Y%+1:X%=24
F �
P �
Z :
d ��calender_box
n � calender
x �
� :
� ��global_variables
� year%=0
�
 month%=0
� BadLeap%=�
�
 ?icon%=0
� � total%(1,12)
� � month$(12)
� �
� :
� ��machine_variables
� icon%=&63
� input_box=&1EE5
 erase_input_box=&1F1C
 calender=&1ED8
 erase_calender=&1F88
"" calender_icon_positions=&1F8C
, pointer=&1900
6 white_box=&1F99
@ �
�
00000000  0d 00 0a 12 20 f4 20 20  20 4c 69 73 74 69 6e 67  |.... .   Listing|
00000010  20 56 0d 00 14 1a 20 f4  20 20 20 42 79 20 47 6c  | V.... .   By Gl|
00000020  65 6e 6e 20 4d 61 72 73  68 61 6c 6c 0d 00 1e 1b  |enn Marshall....|
00000030  20 f4 20 20 20 28 43 29  20 54 68 65 20 4d 69 63  | .   (C) The Mic|
00000040  72 6f 20 55 73 65 72 0d  00 28 06 20 3a 0d 00 32  |ro User..(. :..2|
00000050  13 20 e7 20 90 3c 3e 26  32 31 30 30 20 8c 20 e0  |. . .<>&2100 . .|
00000060  0d 00 3c 06 20 3a 0d 00  46 09 20 2a 46 58 33 0d  |..<. :..F. *FX3.|
00000070  00 50 17 20 f2 6d 61 63  68 69 6e 65 5f 76 61 72  |.P. .machine_var|
00000080  69 61 62 6c 65 73 0d 00  5a 16 20 f2 67 6c 6f 62  |iables..Z. .glob|
00000090  61 6c 5f 76 61 72 69 61  62 6c 65 73 0d 00 64 10  |al_variables..d.|
000000a0  20 f2 65 6e 74 65 72 5f  64 61 74 65 0d 00 6e 11  | .enter_date..n.|
000000b0  20 f2 73 65 74 5f 75 70  5f 64 61 79 73 0d 00 78  | .set_up_days..x|
000000c0  13 20 f2 73 65 74 5f 75  70 5f 6d 6f 6e 74 68 73  |. .set_up_months|
000000d0  0d 00 82 12 20 f2 63 61  6c 65 6e 64 65 72 5f 62  |.... .calender_b|
000000e0  6f 78 0d 00 8c 06 20 3a  0d 00 96 0d 20 3f 69 63  |ox.... :.... ?ic|
000000f0  6f 6e 25 3d 30 0d 00 a0  06 20 f5 0d 00 aa 2e 20  |on%=0.... ..... |
00000100  20 20 e7 20 3f 69 63 6f  6e 25 3c 3e 32 35 35 20  |  . ?icon%<>255 |
00000110  8c 20 f2 64 69 73 70 6c  61 79 28 a4 64 61 79 73  |. .display(.days|
00000120  5f 67 6f 6e 65 5f 62 79  29 0d 00 b4 20 20 20 20  |_gone_by)...    |
00000130  d6 20 63 61 6c 65 6e 64  65 72 5f 69 63 6f 6e 5f  |. calender_icon_|
00000140  70 6f 73 69 74 69 6f 6e  73 0d 00 be 10 20 20 20  |positions....   |
00000150  d6 20 70 6f 69 6e 74 65  72 0d 00 c8 1e 20 20 20  |. pointer....   |
00000160  e7 20 3f 69 63 6f 6e 25  3d 31 20 8c 20 f2 61 64  |. ?icon%=1 . .ad|
00000170  64 5f 6d 6f 6e 74 68 0d  00 d2 1e 20 20 20 e7 20  |d_month....   . |
00000180  3f 69 63 6f 6e 25 3d 32  20 8c 20 f2 73 75 62 5f  |?icon%=2 . .sub_|
00000190  6d 6f 6e 74 68 0d 00 dc  1d 20 20 20 e7 20 3f 69  |month....   . ?i|
000001a0  63 6f 6e 25 3d 33 20 8c  20 f2 61 64 64 5f 79 65  |con%=3 . .add_ye|
000001b0  61 72 0d 00 e6 1d 20 20  20 e7 20 3f 69 63 6f 6e  |ar....   . ?icon|
000001c0  25 3d 34 20 8c 20 f2 73  75 62 5f 79 65 61 72 0d  |%=4 . .sub_year.|
000001d0  00 f0 31 20 20 20 e7 20  3f 69 63 6f 6e 25 3c 35  |..1   . ?icon%<5|
000001e0  20 8c 20 f2 63 68 65 63  6b 3a 2a 53 41 56 45 20  | . .check:*SAVE |
000001f0  63 61 6c 65 6e 64 20 34  30 30 30 20 38 30 30 30  |calend 4000 8000|
00000200  0d 00 fa 0f 20 fd 20 3f  69 63 6f 6e 25 3d 35 0d  |.... . ?icon%=5.|
00000210  01 04 06 20 3a 0d 01 0e  15 20 d6 20 65 72 61 73  |... :.... . eras|
00000220  65 5f 63 61 6c 65 6e 64  65 72 0d 01 18 0d 20 2a  |e_calender.... *|
00000230  46 58 32 31 30 2c 31 0d  01 22 0b 20 2a 46 58 33  |FX210,1..". *FX3|
00000240  2c 36 0d 01 2c 0d 20 2a  46 58 32 31 30 2c 30 0d  |,6..,. *FX210,0.|
00000250  01 36 06 20 3a 0d 01 40  10 20 d7 20 22 44 45 53  |.6. :..@. . "DES|
00000260  4b 54 4f 50 22 0d 01 4a  06 20 3a 0d 01 54 06 20  |KTOP"..J. :..T. |
00000270  e0 0d 01 5e 06 20 3a 0d  01 68 10 20 dd f2 61 64  |...^. :..h. ..ad|
00000280  64 5f 6d 6f 6e 74 68 0d  01 72 14 20 6d 6f 6e 74  |d_month..r. mont|
00000290  68 25 3d 6d 6f 6e 74 68  25 2b 31 0d 01 7c 06 20  |h%=month%+1..|. |
000002a0  e1 0d 01 86 06 20 3a 0d  01 90 0f 20 dd f2 61 64  |..... :.... ..ad|
000002b0  64 5f 79 65 61 72 0d 01  9a 12 20 79 65 61 72 25  |d_year.... year%|
000002c0  3d 79 65 61 72 25 2b 31  0d 01 a4 06 20 e1 0d 01  |=year%+1.... ...|
000002d0  ae 06 20 3a 0d 01 b8 0f  20 dd f2 73 75 62 5f 79  |.. :.... ..sub_y|
000002e0  65 61 72 0d 01 c2 12 20  79 65 61 72 25 3d 79 65  |ear.... year%=ye|
000002f0  61 72 25 2d 31 0d 01 cc  06 20 e1 0d 01 d6 06 20  |ar%-1.... ..... |
00000300  3a 0d 01 e0 10 20 dd f2  73 75 62 5f 6d 6f 6e 74  |:.... ..sub_mont|
00000310  68 0d 01 ea 14 20 6d 6f  6e 74 68 25 3d 6d 6f 6e  |h.... month%=mon|
00000320  74 68 25 2d 31 0d 01 f4  06 20 e1 0d 01 fe 06 20  |th%-1.... ..... |
00000330  3a 0d 02 08 0c 20 dd f2  63 68 65 63 6b 0d 02 12  |:.... ..check...|
00000340  29 20 e7 20 6d 6f 6e 74  68 25 3e 31 32 20 8c 20  |) . month%>12 . |
00000350  6d 6f 6e 74 68 25 3d 31  3a 79 65 61 72 25 3d 79  |month%=1:year%=y|
00000360  65 61 72 25 2b 31 0d 02  1c 29 20 e7 20 6d 6f 6e  |ear%+1...) . mon|
00000370  74 68 25 3c 31 20 8c 20  6d 6f 6e 74 68 25 3d 31  |th%<1 . month%=1|
00000380  32 3a 79 65 61 72 25 3d  79 65 61 72 25 2d 31 0d  |2:year%=year%-1.|
00000390  02 26 1e 20 e7 20 79 65  61 72 25 3d 31 37 35 32  |.&. . year%=1752|
000003a0  20 8c 20 79 65 61 72 25  3d 31 37 35 33 0d 02 30  | . year%=1753..0|
000003b0  1f 20 e7 20 79 65 61 72  25 3d 31 30 30 30 30 20  |. . year%=10000 |
000003c0  8c 20 79 65 61 72 25 3d  39 39 39 39 0d 02 3a 06  |. year%=9999..:.|
000003d0  20 e1 0d 02 44 06 20 3a  0d 02 4e 11 20 dd f2 65  | ...D. :..N. ..e|
000003e0  6e 74 65 72 5f 64 61 74  65 0d 02 58 25 20 ea 20  |nter_date..X% . |
000003f0  65 6e 74 65 72 24 2c 6b  65 79 31 24 2c 6b 65 79  |enter$,key1$,key|
00000400  32 24 2c 6b 65 79 33 24  2c 6b 65 79 34 24 0d 02  |2$,key3$,key4$..|
00000410  62 10 20 d6 20 69 6e 70  75 74 5f 62 6f 78 0d 02  |b. . input_box..|
00000420  6c 0e 20 fb 20 31 3a fb  20 31 32 38 0d 02 76 06  |l. . 1:. 128..v.|
00000430  20 f5 0d 02 80 1e 20 20  20 f1 20 8a 33 34 2c 31  | .....   . .34,1|
00000440  33 29 3b 22 59 65 61 72  20 3d 20 20 20 20 20 22  |3);"Year =     "|
00000450  0d 02 8a 11 20 20 20 ef  20 33 31 2c 34 31 2c 31  |....   . 31,41,1|
00000460  33 0d 02 94 17 20 20 20  6b 65 79 31 24 3d be 3a  |3....   key1$=.:|
00000470  f1 20 6b 65 79 31 24 3b  0d 02 9e 17 20 20 20 6b  |. key1$;....   k|
00000480  65 79 32 24 3d be 3a f1  20 6b 65 79 32 24 3b 0d  |ey2$=.:. key2$;.|
00000490  02 a8 17 20 20 20 6b 65  79 33 24 3d be 3a f1 20  |...   key3$=.:. |
000004a0  6b 65 79 33 24 3b 0d 02  b2 17 20 20 20 6b 65 79  |key3$;....   key|
000004b0  34 24 3d be 3a f1 20 6b  65 79 34 24 3b 0d 02 bc  |4$=.:. key4$;...|
000004c0  29 20 20 20 79 65 61 72  25 3d 28 bb 28 6b 65 79  |)   year%=(.(key|
000004d0  31 24 2b 6b 65 79 32 24  2b 6b 65 79 33 24 2b 6b  |1$+key2$+key3$+k|
000004e0  65 79 34 24 29 29 0d 02  c6 23 20 fd 20 28 79 65  |ey4$))...# . (ye|
000004f0  61 72 25 3c 31 30 30 30  30 29 20 80 20 28 79 65  |ar%<10000) . (ye|
00000500  61 72 25 3e 31 37 35 32  29 0d 02 d0 06 20 3a 0d  |ar%>1752).... :.|
00000510  02 da 06 20 f5 0d 02 e4  1e 20 20 20 f1 20 8a 33  |... .....   . .3|
00000520  34 2c 31 33 29 3b 22 4d  6f 6e 74 68 20 3d 20 20  |4,13);"Month =  |
00000530  20 20 22 0d 02 ee 11 20  20 20 ef 20 33 31 2c 34  |  "....   . 31,4|
00000540  32 2c 31 33 0d 02 f8 17  20 20 20 6b 65 79 31 24  |2,13....   key1$|
00000550  3d be 3a f1 20 6b 65 79  31 24 3b 0d 03 02 17 20  |=.:. key1$;.... |
00000560  20 20 6b 65 79 32 24 3d  be 3a f1 20 6b 65 79 32  |  key2$=.:. key2|
00000570  24 3b 0d 03 0c 1c 20 20  20 6d 6f 6e 74 68 25 3d  |$;....   month%=|
00000580  bb 28 6b 65 79 31 24 2b  6b 65 79 32 24 29 0d 03  |.(key1$+key2$)..|
00000590  16 1f 20 fd 20 28 6d 6f  6e 74 68 25 3e 30 29 20  |.. . (month%>0) |
000005a0  80 20 28 6d 6f 6e 74 68  25 3c 31 33 29 0d 03 20  |. (month%<13).. |
000005b0  16 20 d6 20 65 72 61 73  65 5f 69 6e 70 75 74 5f  |. . erase_input_|
000005c0  62 6f 78 0d 03 2a 06 20  e1 0d 03 34 06 20 3a 0d  |box..*. ...4. :.|
000005d0  03 3e 12 20 dd f2 73 65  74 5f 75 70 5f 64 61 79  |.>. ..set_up_day|
000005e0  73 0d 03 48 09 20 ea 20  4c 25 0d 03 52 0b 20 f7  |s..H. . L%..R. .|
000005f0  20 8d 74 44 43 0d 03 5c  10 20 e3 20 4c 25 3d 31  | .tDC..\. . L%=1|
00000600  20 b8 20 31 32 0d 03 66  15 20 20 20 f3 20 74 6f  | . 12..f.   . to|
00000610  74 61 6c 25 28 30 2c 4c  25 29 0d 03 70 2f 20 20  |tal%(0,L%)..p/  |
00000620  20 74 6f 74 61 6c 25 28  31 2c 4c 25 29 3d 74 6f  | total%(1,L%)=to|
00000630  74 61 6c 25 28 31 2c 4c  25 2d 31 29 2b 74 6f 74  |tal%(1,L%-1)+tot|
00000640  61 6c 25 28 30 2c 4c 25  29 0d 03 7a 06 20 ed 0d  |al%(0,L%)..z. ..|
00000650  03 84 2a 20 dc 20 33 31  2c 32 38 2c 33 31 2c 33  |..* . 31,28,31,3|
00000660  30 2c 33 31 2c 33 30 2c  33 31 2c 33 31 2c 33 30  |0,31,30,31,31,30|
00000670  2c 33 31 2c 33 30 2c 33  31 0d 03 8e 06 20 e1 0d  |,31,30,31.... ..|
00000680  03 98 06 20 3a 0d 03 a2  14 20 dd f2 73 65 74 5f  |... :.... ..set_|
00000690  75 70 5f 6d 6f 6e 74 68  73 0d 03 ac 09 20 ea 20  |up_months.... . |
000006a0  4c 25 0d 03 b6 0b 20 f7  20 8d 64 5e 43 0d 03 c0  |L%.... . .d^C...|
000006b0  10 20 e3 20 4c 25 3d 31  20 b8 20 31 32 0d 03 ca  |. . L%=1 . 12...|
000006c0  13 20 20 20 f3 20 6d 6f  6e 74 68 24 28 4c 25 29  |.   . month$(L%)|
000006d0  0d 03 d4 06 20 ed 0d 03  de 5c 20 dc 20 4a 61 6e  |.... ....\ . Jan|
000006e0  75 61 72 79 2c 46 65 62  72 75 61 72 79 2c 4d 61  |uary,February,Ma|
000006f0  72 63 68 2c 41 70 72 69  6c 2c 4d 61 79 2c 4a 75  |rch,April,May,Ju|
00000700  6e 65 2c 4a 75 6c 79 2c  41 75 67 75 73 74 2c 53  |ne,July,August,S|
00000710  65 70 74 65 6d 62 65 72  2c 4f 63 74 6f 62 65 72  |eptember,October|
00000720  2c 4e 6f 76 65 6d 62 65  72 2c 44 65 63 65 6d 62  |,November,Decemb|
00000730  65 72 0d 03 e8 06 20 e1  0d 03 f2 06 20 3a 0d 03  |er.... ..... :..|
00000740  fc 14 20 dd 20 a4 64 61  79 73 5f 67 6f 6e 65 5f  |.. . .days_gone_|
00000750  62 79 0d 04 06 36 20 ea  20 73 74 61 72 74 25 2c  |by...6 . start%,|
00000760  62 61 73 65 25 2c 67 6f  6e 65 5f 79 65 61 72 25  |base%,gone_year%|
00000770  2c 67 6f 6e 65 5f 6d 6f  6e 74 68 25 2c 67 6f 6e  |,gone_month%,gon|
00000780  65 25 2c 6c 65 61 70 25  0d 04 10 0f 20 42 61 64  |e%,leap%.... Bad|
00000790  6c 65 61 70 25 3d a3 0d  04 1a 10 20 73 74 61 72  |leap%=..... star|
000007a0  74 25 3d 31 37 35 36 0d  04 24 0f 20 62 61 73 65  |t%=1756..$. base|
000007b0  25 3d 31 37 35 33 0d 04  2e 21 20 67 6f 6e 65 5f  |%=1753...! gone_|
000007c0  79 65 61 72 25 3d 28 79  65 61 72 25 2d 62 61 73  |year%=(year%-bas|
000007d0  65 25 29 2a 33 36 35 0d  04 38 23 20 67 6f 6e 65  |e%)*365..8# gone|
000007e0  5f 6d 6f 6e 74 68 25 3d  74 6f 74 61 6c 25 28 31  |_month%=total%(1|
000007f0  2c 6d 6f 6e 74 68 25 2d  31 29 0d 04 42 0c 20 6c  |,month%-1)..B. l|
00000800  65 61 70 25 3d 30 0d 04  4c 1b 20 e7 20 79 65 61  |eap%=0..L. . yea|
00000810  72 25 3c 3d 73 74 61 72  74 25 20 e5 20 8d 74 5c  |r%<=start% . .t\|
00000820  44 0d 04 56 1f 20 e3 20  6c 6f 6f 70 25 3d 73 74  |D..V. . loop%=st|
00000830  61 72 74 25 20 b8 20 79  65 61 72 25 20 88 20 34  |art% . year% . 4|
00000840  0d 04 60 11 20 20 20 42  61 64 6c 65 61 70 25 3d  |..`.   Badleap%=|
00000850  a3 0d 04 6a 14 20 20 20  6c 65 61 70 25 3d 6c 65  |...j.   leap%=le|
00000860  61 70 25 2b 31 0d 04 74  4b 20 20 20 e7 20 28 6c  |ap%+1..tK   . (l|
00000870  6f 6f 70 25 20 83 20 31  30 30 3d 30 29 20 80 20  |oop% . 100=0) . |
00000880  28 28 6c 6f 6f 70 25 20  81 20 31 30 30 29 83 20  |((loop% . 100). |
00000890  34 3c 3e 30 29 20 8c 20  6c 65 61 70 25 3d 6c 65  |4<>0) . leap%=le|
000008a0  61 70 25 2d 31 3a 42 61  64 6c 65 61 70 25 3d b9  |ap%-1:Badleap%=.|
000008b0  0d 04 7e 06 20 ed 0d 04  88 44 20 e7 20 28 6d 6f  |..~. ....D . (mo|
000008c0  6e 74 68 25 3c 33 29 20  80 20 28 79 65 61 72 25  |nth%<3) . (year%|
000008d0  20 83 20 34 3d 30 29 20  80 20 28 79 65 61 72 25  | . 4=0) . (year%|
000008e0  20 83 20 31 30 30 3c 3e  30 29 20 8c 20 6c 65 61  | . 100<>0) . lea|
000008f0  70 25 3d 6c 65 61 70 25  2d 31 0d 04 92 42 20 e7  |p%=leap%-1...B .|
00000900  20 28 6d 6f 6e 74 68 25  3c 33 29 20 80 20 28 79  | (month%<3) . (y|
00000910  65 61 72 25 20 83 20 31  30 30 3d 30 29 20 80 20  |ear% . 100=0) . |
00000920  28 42 61 64 6c 65 61 70  25 3d a3 29 20 8c 20 6c  |(Badleap%=.) . l|
00000930  65 61 70 25 3d 6c 65 61  70 25 2d 31 0d 04 9c 29  |eap%=leap%-1...)|
00000940  20 67 6f 6e 65 25 3d 67  6f 6e 65 5f 79 65 61 72  | gone%=gone_year|
00000950  25 2b 67 6f 6e 65 5f 6d  6f 6e 74 68 25 2b 6c 65  |%+gone_month%+le|
00000960  61 70 25 2b 31 0d 04 a6  0f 20 3d 67 6f 6e 65 25  |ap%+1.... =gone%|
00000970  20 83 20 37 0d 04 b0 06  20 3a 0d 04 ba 16 20 dd  | . 7.... :.... .|
00000980  f2 64 69 73 70 6c 61 79  28 73 74 61 72 74 25 29  |.display(start%)|
00000990  0d 04 c4 12 20 ea 20 58  25 2c 59 25 2c 4c 25 2c  |.... . X%,Y%,L%,|
000009a0  45 25 0d 04 ce 0a 20 59  25 3d 31 33 0d 04 d8 15  |E%.... Y%=13....|
000009b0  20 58 25 3d 28 73 74 61  72 74 25 2a 35 29 2b 32  | X%=(start%*5)+2|
000009c0  34 0d 04 e2 18 20 45 25  3d 74 6f 74 61 6c 25 28  |4.... E%=total%(|
000009d0  30 2c 6d 6f 6e 74 68 25  29 0d 04 ec 3a 20 e7 20  |0,month%)...: . |
000009e0  28 6d 6f 6e 74 68 25 3d  32 29 20 80 20 28 42 61  |(month%=2) . (Ba|
000009f0  64 6c 65 61 70 25 3d a3  29 20 80 20 28 79 65 61  |dleap%=.) . (yea|
00000a00  72 25 20 83 20 34 3d 30  29 20 8c 20 45 25 3d 45  |r% . 4=0) . E%=E|
00000a10  25 2b 31 0d 04 f6 10 20  d6 20 77 68 69 74 65 5f  |%+1.... . white_|
00000a20  62 6f 78 0d 05 00 19 20  f1 20 8a 32 33 2c 38 29  |box.... . .23,8)|
00000a30  3b 22 20 20 20 20 20 20  20 20 20 22 0d 05 0a 1c  |;"         "....|
00000a40  20 f1 20 8a 32 33 2c 38  29 3b 6d 6f 6e 74 68 24  | . .23,8);month$|
00000a50  28 6d 6f 6e 74 68 25 29  0d 05 14 13 20 f1 20 8a  |(month%).... . .|
00000a60  35 32 2c 38 29 3b 79 65  61 72 25 0d 05 1e 10 20  |52,8);year%.... |
00000a70  e3 20 4c 25 3d 31 20 b8  20 45 25 0d 05 28 32 20  |. L%=1 . E%..(2 |
00000a80  20 20 e7 20 4c 25 3c 31  30 20 8c 20 f1 20 8a 58  |  . L%<10 . . .X|
00000a90  25 2c 59 25 29 3b 22 20  22 3b 4c 25 3b 20 8b 20  |%,Y%);" ";L%; . |
00000aa0  f1 20 8a 58 25 2c 59 25  29 3b 4c 25 3b 0d 05 32  |. .X%,Y%);L%;..2|
00000ab0  0c 20 58 25 3d 58 25 2b  35 0d 05 3c 1c 20 e7 20  |. X%=X%+5..<. . |
00000ac0  58 25 3e 35 35 20 8c 20  59 25 3d 59 25 2b 31 3a  |X%>55 . Y%=Y%+1:|
00000ad0  58 25 3d 32 34 0d 05 46  06 20 ed 0d 05 50 06 20  |X%=24..F. ...P. |
00000ae0  e1 0d 05 5a 06 20 3a 0d  05 64 13 20 dd f2 63 61  |...Z. :..d. ..ca|
00000af0  6c 65 6e 64 65 72 5f 62  6f 78 0d 05 6e 0f 20 d6  |lender_box..n. .|
00000b00  20 63 61 6c 65 6e 64 65  72 0d 05 78 06 20 e1 0d  | calender..x. ..|
00000b10  05 82 06 20 3a 0d 05 8c  17 20 dd f2 67 6c 6f 62  |... :.... ..glob|
00000b20  61 6c 5f 76 61 72 69 61  62 6c 65 73 0d 05 96 0c  |al_variables....|
00000b30  20 79 65 61 72 25 3d 30  0d 05 a0 0d 20 6d 6f 6e  | year%=0.... mon|
00000b40  74 68 25 3d 30 0d 05 aa  0f 20 42 61 64 4c 65 61  |th%=0.... BadLea|
00000b50  70 25 3d a3 0d 05 b4 0d  20 3f 69 63 6f 6e 25 3d  |p%=..... ?icon%=|
00000b60  30 0d 05 be 13 20 de 20  74 6f 74 61 6c 25 28 31  |0.... . total%(1|
00000b70  2c 31 32 29 0d 05 c8 11  20 de 20 6d 6f 6e 74 68  |,12).... . month|
00000b80  24 28 31 32 29 0d 05 d2  06 20 e1 0d 05 dc 06 20  |$(12).... ..... |
00000b90  3a 0d 05 e6 18 20 dd f2  6d 61 63 68 69 6e 65 5f  |:.... ..machine_|
00000ba0  76 61 72 69 61 62 6c 65  73 0d 05 f0 0e 20 69 63  |variables.... ic|
00000bb0  6f 6e 25 3d 26 36 33 0d  05 fa 14 20 69 6e 70 75  |on%=&63.... inpu|
00000bc0  74 5f 62 6f 78 3d 26 31  45 45 35 0d 06 04 1a 20  |t_box=&1EE5.... |
00000bd0  65 72 61 73 65 5f 69 6e  70 75 74 5f 62 6f 78 3d  |erase_input_box=|
00000be0  26 31 46 31 43 0d 06 0e  13 20 63 61 6c 65 6e 64  |&1F1C.... calend|
00000bf0  65 72 3d 26 31 45 44 38  0d 06 18 19 20 65 72 61  |er=&1ED8.... era|
00000c00  73 65 5f 63 61 6c 65 6e  64 65 72 3d 26 31 46 38  |se_calender=&1F8|
00000c10  38 0d 06 22 22 20 63 61  6c 65 6e 64 65 72 5f 69  |8.."" calender_i|
00000c20  63 6f 6e 5f 70 6f 73 69  74 69 6f 6e 73 3d 26 31  |con_positions=&1|
00000c30  46 38 43 0d 06 2c 12 20  70 6f 69 6e 74 65 72 3d  |F8C..,. pointer=|
00000c40  26 31 39 30 30 0d 06 36  14 20 77 68 69 74 65 5f  |&1900..6. white_|
00000c50  62 6f 78 3d 26 31 46 39  39 0d 06 40 06 20 e1 0d  |box=&1F99..@. ..|
00000c60  ff                                                |.|
00000c61