home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 58
/
058side3.d64
/
lunar.bas
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-29
|
15KB
|
384 lines
10 rem @ s 1024
20 dimy%(12,31,2),p$(11),mo$(12),m$(12),mo%(12),dy$(7),w%(7,1)
30 sx=29.530588:rem@ e 3800
40 poke53248+21,0:z%=1
50 rem lunar phase calendar norm 56576 195,196
60 poke56576,195:poke648,4:poke53272,21
70 rem for 1525/801/803 and epson fx-80 printers and compatibles
80 vic=53248:poke2040,15:printchr$(142)"[147]":gosub1930:gosub2500:poke2041,14
90 poke53287,3:pokevi+29,3:poke53275,255:fori=960to983:pokei,255:next
100 fori=984to1022:pokei,0:next:x$=chr$(13)
110 fori=896to919:pokei,255:next:fori=920to959:pokei,0:next:poke53288,1
120 poke214,16:print:printtab(7)"please select type of output:"
130 printtab(7)"1. 1525 or compatible"
140 printtab(7)"2. epson fx-80 or compatible"
150 printtab(7)"3. screen":printtab(7)"q. quit"
160 geta$:gosub2570:if(a$<"1"ora$>"3")anda$<>"q"then160
170 ifa$="q"thenpoke646,0:gosub2580:gosub2540:gosub3160:gosub2540:goto120
180 poke646,0:gosub2580:gosub2540:poke214,18:print:print,"[152] setting up...
190 pr[178][197](a$)
200 [145]pr[137]210,230
210 [129]i[178]0[164]11:p$(i)[178][199](8):[129]j[178]1[164]6:[135]p:p$(i)[178]p$(i)[170][199](p):[130]j:p$(i)[178]p$(i)[170][199](15):[130]
220 [137]250
230 [129]i[178]0[164]11:p$(i)[178][199](27)[170]"k"[170][199](6)[170][199](0)
240 [129]j[178]1[164]6:[135]p:p$(i)[178]p$(i)[170][199](p[171]128):[130]:[130]
250 [129]i[178]1[164]12:[135]mo$(i):[130]:[141]3200
260 [129]i[178]1[164]12:[135] mo%(i):[130]
270 [129]i[178]1[164]7:[135] dy$(i):[130]
280 [141]1380:[143] redefine characters
290 [131]128,128,128,128,128,128,128,128,128,194,194,188,128,128,128,194,254,188
300 [131]128,128,128,254,254,188,128,128,188,254,254,188,128,188,254,254,254,188
310 [131]188,254,254,254,254,188,188,254,254,254,188,128,188,254,254,188,128,128
320 [131]188,254,254,128,128,128,188,254,194,128,128,128,188,194,194,128,128,128
330 [131]"january ","february ","march ","april ","may "
340 [131]"june ","july ","august ","september","october "
350 [131]"november ","december "
360 [131]31,28,31,30,31,30,31,31,30,31,30,31
370 [131]s,m,t,w,t,f,s
380 [143] ifxp$="3"thengosub2340:goto1990
390 ly%[178]0:[141]2540:[151]214,16:[153]:[153]"print#input year (after 1583)"
400 [141]1290:y[178]v:[139]y[179]1583[167]390
410 [141]2540:[151]214,16:[153]:[153][163]10)"calculating phases..."
420 [139]y[173]4[178][181](y[173]4)[167]ly%[178]1:[139](y[173]100[178][181](y[173]100))[175](y[173]400[179][177][181](y[173]400))[167]ly%[178]0
430 mo%(2)[178]28:[139]ly%[178]1[167]mo%(2)[178]29
440 [129]m[178]1[164]12
450 [139]m[177]1[167][151]214,19:[153]:[153][163]20[171][195](m$(m[171]1))[173]2)"print# "
460 [151]214,19:[153]:[153][163]20[171][195](m$(m))[173]2)"print#"m$(m):[139]m[178]2[167]490
470 [129]d[178]1[164]mo%(m):[141]1150:y%(m,d,z%)[178]ph:[141]1030:y%(m,d,2)[178]dy%:[130]:[130]
480 [137]500:[143] printout
490 [129]d[178]1[164]28[170]ly%:[141]1150:y%(m,d,z%)[178]ph:[141]1030:y%(m,d,2)[178]dy%:[130]:[130]
500 [139]pr[178]3[167]1630
510 [160]4:[141]2540:[151]214,18:[153]:[153][163]9)"print#set up printer/ return"
520 [161]a$:[139]a$[179][177][199](13)[167]520
530 ln$[178]"----------------------------------------"
540 ln$[178]ln$[170]"---------------------------------------"
550 [145]pr[137]560,580
560 [159]4,4:[152]4,ln$:[152]4:[152]4,[166]26);[199](14)"lunar calendar"[199](15)
570 [137]590
580 [159]4,4,5:[152]4,ln$:[152]4:[152]4,[166]26);[199](14)"lunar calendar"
590 [152]4,[199](10);[166]34);[199](14);y;[199](10)
600 [139]pr[178]1[167][152]4,[199](15);
610 [152]4,[166]29);:[129]i[178]1[164]11:[152]4,p$(i);" ";:[130]:[152]4
620 [152]4:[152]4,ln$:[141]630:[137]670
630 [152]4," 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 ";
640 [152]4,"2 2 3 3"
650 [152]4," 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 ";
660 [152]4,"8 9 0 1":[142]
670 ml$(1)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
680 ml$(2)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
690 ms$(1)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
700 ms$(2)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
710 fl$(1)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
720 fl$(2)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
730 fs$(1)[178]"+z+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
740 fs$(2)[178]"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
750 [129]m[178]1[164]12:[139]m[178]2[167]890
760 [145]mo%(m)[171]29[137]770,830
770 [152]4," ";ms$(1)
780 [152]4," ";mo$(m);" !";
790 [129]d[178]1[164]30:[152]4,dy$(y%(m,d,2));"!";:[130]:[152]4:[152]4," !";
800 [129]d[178]1[164]30:[152]4,p$(y%(m,d,z%));"!";:[130]:[152]4
810 [152]4," ";ms$(2)
820 [137]880
830 [152]4," ";ml$(1)
840 [152]4," ";mo$(m);" !";
850 [129]d[178]1[164]31:[152]4,dy$(y%(m,d,2));"!";:[130]:[152]4:[152]4," !";
860 [129]d[178]1[164]31:[152]4,p$(y%(m,d,z%));"!";:[130]:[152]4
870 [152]4," ";ml$(2)
880 [130]:[141]630:[152]4,ln$:[160]4:[151]631,32:[151]198,1:[138]
890 [145]ly%[170]1[137]900,960
900 [152]4," ";fs$(1)
910 [152]4," ";mo$(m);" !";
920 [129]d[178]1[164]28:[152]4,dy$(y%(m,d,2));"!";:[130]:[152]4:[152]4," !";
930 [129]d[178]1[164]28:[152]4,p$(y%(m,d,z%));"!";:[130]:[152]4
940 [152]4," ";fs$(2)
950 [137]880
960 [152]4," ";fl$(1)
970 [152]4," ";mo$(m);" !";
980 [129]d[178]1[164]29:[152]4,dy$(y%(m,d,2));"!";:[130]:[152]4:[152]4," !";
990 [129]d[178]1[164]29:[152]4,p$(y%(m,d,z%));"!";:[130]:[152]4
1000 [152]4," ";fl$(2)
1010 [137]880
1020 [137]1630
1030 md[178]m:yy[178]y:[139]md[178]1[167]md[178]13:yy[178]yy[171]1:[137]1050
1040 [139]md[178]2[167]md[178]14:yy[178]yy[171]1
1050 m0[178]md[171]2:dy%[178](2.6[172]m0[171].2)[170]d[170]yy[171]1900[170][181]((yy[171]1900)[173]4):dy%[178]dy%[170][181](19[173]4)[171]2[172]1
1060 dy%[178]dy%[171][181](dy%[173]7)[172]7[170]1
1070 [139]md[178]4[176]md[178]9[167]dy%[178]dy%[170]1
1080 [139]md[178]13[167]md[178]1:yy[178]yy[170]1:[137]1110
1090 [139]md[178]14[167]md[178]2:yy[178]yy[170]1:dy%[178]dy%[170]1
1100 [139]dy%[178]8[167]dy%[178]1
1110 [139](yy[178]2100[175]md[177][178]3)[176](yy[177]2100)[167]dy%[178]dy%[171]1:[139]dy%[178]0[167]dy%[178]7
1120 [139](yy[178]2200[175]md[177][178]3)[176](yy[177]2200)[167]dy%[178]dy%[171]1:[139]dy%[178]0[167]dy%[178]7
1130 [139](yy[178]2300[175]md[177][178]3)[176](yy[177]2300)[167]dy%[178]dy%[171]1:[139]dy%[178]0[167]dy%[178]7
1140 [142]
1150 q[178]y[170](m[179]3)
1160 j[178][181](275[172]m[173]9)[171][181]((7[172]q[170]7)[173]4)[170]367[172]y[170]d[171][181](([181](q[173]100)[170]1)[172]3[173]4)
1170 p[178]j[173]sx[170].2
1180 ph[178]p[171][181](p):ph[178][181]((ph[172]12)[170].5):[139]ph[177]11[167]ph[178]0
1190 [142]
1200 [141]1150
1210 [139]ph[178]0[167]ph$[178]"new moon":[142]
1220 [139]ph[179]3[167]ph$[178]"waxing crescent":[142]
1230 [139]ph[178]3[167]ph$[178]"first quarter":[142]
1240 [139]ph[179]6[167]ph$[178]"waxing gibbous":[142]
1250 [139]ph[178]6[167]ph$[178]"full moon":[142]
1260 [139]ph[179]9[167]ph$[178]"waning gibbous":[142]
1270 [139]ph[178]9[167]ph$[178]"last quarter":[142]
1280 ph$[178]"waning crescent":[142]
1290 xx$[178]"cmd cmd< cmdcmd":b$[178]"":fg[178]0:[153]"print#>cmd";
1300 [161]a$:[139]a$[178]""[167]1300
1310 [139]a$[178][199](13)[167][153]" cmd";a$;:[137]1370
1320 [139]a$[178][199](20)[175]b$[179][177]""[167]b$[178][200](b$,[195](b$)[171]1):[153]xx$;:fg[178]0:[137]1300
1330 [139]fg[178]1[167]1300
1340 [139]a$[179]"0"[176]a$[177]"9"[167]1300:[143] limit to numerics
1350 [153]a$">cmd";:b$[178]b$[170]a$:[139][195](b$)[178]4[167]fg[178]1
1360 [137] 1300
1370 v[178][197](b$):l[178][195](b$):[142]
1380 [129]i[178]828[164]878:[135]a:[151]i,a:[130]i
1390 [151]56334,[194](56334)[175]254
1400 [151]1,[194](1)[175]251
1410 [151]249,0:[151]250,208:[151]251,0:[151]252,192:[151]253,0:[151]254,8:[158]828
1420 [151]1,[194](1)[176]4:[151]56334,[194](56334)[176]1
1430 [135]a:[139]a[178][171]1[167][142]
1440 k[178]49152[170](8[172]a):[129]i[178]0[164]7:[135]b:[151]k[170]i,b:[151]k[170]1024[170]i,255[171]b:[130]i:[137]1430
1450 [151]56576,4:[