8-Bit Software Online Conversion
Sunrise/Sunset - Listing
10REM BY MATTHEW SMITH
20REM FOR 8-BIT SOFTWARE 1991
30REM THANKS TO....
40REM MARTIN WHIPP FOR HELP WITH SOME
50REM OF THE DATA
60REM & ABIGAIL McLOUGHLIN FOR GIVING
70REM ME THE IDEA FOR THE PROGRAM
80:
90MODE7
100CLS
110@%=&20207
120VDU23;8202;8202
130:
140PROCREADDATA
150PROCSETUP
160PROCGRID
170PROCSETWORDS
180PROCCHOOSEOPTIONS
190:
200GOTO 170
210:
220DEFPROCSETUP
230MONTH$="JANUARY"
240MONTH%=1
250LATITUDE$="50 N"
260LATITUDE%=1
270ENDPROC
280:
290DEFPROCGRID
300CLS
310YCORD=4
320FOR LOOP=1 TO 9
330PRINTTAB(24,YCORD)"
340YCORD=YCORD+1
350NEXT LOOP
360YCORD=4
370FORPOOL=1 TO 19
380PRINTTAB(0,YCORD)"
390YCORD=YCORD+1
400NEXT POOL
410YCORD=4
420FOROOPL=1 TO 19
430PRINTTAB(37,YCORD)"
440YCORD=YCORD+1
450NEXTOOPL
460YCORD=13
470FORLPOO=1 TO 10
480PRINTTAB(22,YCORD)"
490YCORD=YCORD+1
500NEXTLPOO
510YCORD=13
520FORLOPL=1 TO 10
530PRINTTAB(6,YCORD)"
540YCORD=YCORD+1
550NEXTLOPL
560PRINTTAB(0,0)
570VDU141:PRINT" Sunrise/set Finder :
British Isles"
580VDU141:PRINT" Sunrise/set Finder :
British Isles"
590PRINTTAB(0,13)"
,,,<,-,,,,,,,,,,,,n"
600PRINTTAB(0,23)"
,,,-,,,,,,,,,,,,,,."
610PRINTTAB(0,3)"
,,,,<,,,,,,,,,,,,l"
620ENDPROC
630:
640DEFPROCSETWORDS
650PRINTTAB(2,5)" Options "
660PRINTTAB(26,5)" Date"
670PRINTTAB(26,9)" Latitude"
680PRINTTAB(2,7)" 1 : Change Month
"
690PRINTTAB(2,9)" 2 : Change Latitude"
700PRINTTAB(2,11)" 3 : Printout Data"
710PRINTTAB(26,7)" "
720PRINTTAB(26,7)" "MONTH$
730PRINTTAB(26,11)" "LATITUDE$
740PRINTTAB(2,14)" Day"
750PRINTTAB(8,14)" Sunrise Times"
760PRINTTAB(8,15)" (GMT)"
770PRINTTAB(24,14)" Sunset Times"
780PRINTTAB(24,15)" (GMT)"
790PRINTTAB(2,16)" 01"
800PRINTTAB(2,17)" 06"
810PRINTTAB(2,18)" 11"
820PRINTTAB(2,19)" 16"
830PRINTTAB(2,20)" 21"
840PRINTTAB(2,21)" 26"
850PRINTTAB(2,22)" 31"
860PRINTTAB(12,16)" "RISE$(LATITUDE%,M
ONTH%,1)
870PRINTTAB(27,16)" "SET$(LATITUDE%,MO
NTH%,1)
880PRINTTAB(12,17)" "RISE$(LATITUDE%,M
ONTH%,2)
890PRINTTAB(27,17)" "SET$(LATITUDE%,MO
NTH%,2)
900PRINTTAB(12,18)" "RISE$(LATITUDE%,M
ONTH%,3)
910PRINTTAB(27,18)" "SET$(LATITUDE%,MO
NTH%,3)
920PRINTTAB(12,19)" "RISE$(LATITUDE%,M
ONTH%,4)
930PRINTTAB(27,19)" "SET$(LATITUDE%,MO
NTH%,4)
940PRINTTAB(12,20)" "RISE$(LATITUDE%,M
ONTH%,5)
950PRINTTAB(27,20)" "SET$(LATITUDE%,MO
NTH%,5)
960PRINTTAB(12,21)" "RISE$(LATITUDE%,M
ONTH%,6)
970PRINTTAB(27,21)" "SET$(LATITUDE%,MO
NTH%,6)
980PRINTTAB(12,22)" "RISE$(LATITUDE%,M
ONTH%,7)
990PRINTTAB(27,22)" "SET$(LATITUDE%,MO
NTH%,7)
1000ENDPROC
1010:
1020DEFPROCREADDATA
1030DIM RISE$(3,12,7)
1040X=1:Y=1:Z=1
1050:
1060PRINTTAB(16,15)CHR$(141)((33+(1/3))
/2)*Z"%"
1070PRINTTAB(6,12)CHR$(141)" READING DA
TA PLEASE WAIT"
1080PRINTTAB(6,11)CHR$(141)" READING DA
TA PLEASE WAIT"
1090PRINTTAB(16,16)CHR$(141)((33+(1/3))
/2)*Z"%"
1100READ RISE$(Z,Y,X)
1110X=X+1
1120IF X=8 LET Y=Y+1
1130IF X=8 LET X=1
1140IF Y=13 LET Z=Z+1
1150IF Z=4 GOTO 1180
1160IF Y=13 LET Y=1
1170GOTO 1050
1180DIM SET$(3,12,7)
1190X=1:Y=1:Z=1
1200PRINTTAB(16,15)CHR$(141)((33+(1/3))
/2)*Z+50"%"
1210PRINTTAB(6,12)CHR$(141)" READING DA
TA PLEASE WAIT"
1220PRINTTAB(6,11)CHR$(141)" READING DA
TA PLEASE WAIT"
1230PRINTTAB(16,16)CHR$(141)((33+(1/3))
/2)*Z+50
1240READ SET$(Z,Y,X)
1250X=X+1
1260IF X=8 LET Y=Y+1
1270IF X=8 LET X=1
1280IF Y=13 LET Z=Z+1
1290 IF Z=4 ENDPROC
1300IF Y=13 LET Y=1
1310GOTO 1200
1320:
1330DEFPROCCHOOSEOPTIONS
1340Q$=GET$
1350IF Q$="1" THEN 1390
1360IF Q$="2" THEN 1730
1370IF Q$="3" PROCPRINT
1380ENDPROC
1390:
1400PRINTTAB(2,5)" Change Month"
1410PRINTTAB(2,7)" "
1420PRINTTAB(2,9)"
"
1430PRINTTAB(2,11)" "
1440PRINTTAB(2,11)" ";:INPUT B$
1450X=LEN(B$)
1460IF X>9 PROCGRID
1470IFB$="JANUARY" LET MONTH%=1
1480 IFB$="JANUARY"MONTH$=B$
1490 IFB$="FEBRUARY"MONTH%=2
1500 IFB$="FEBRUARY"MONTH$=B$
1510 IFB$="MARCH"MONTH%=3
1520 IFB$="MARCH"MONTH$=B$
1530 IFB$="APRIL"MONTH%=4
1540 IFB$="APRIL"MONTH$=B$
1550 IFB$="MAY"MONTH%=5
1560 IFB$="MAY"MONTH$=B$
1570 IFB$="JUNE"MONTH%=6
1580IFB$="JUNE"MONTH$=B$
1590IFB$="JULY"MONTH%=7
1600IFB$="JULY"MONTH$=B$
1610IFB$="AUGUST"MONTH%=8
1620IFB$="AUGUST"MONTH$=B$
1630IFB$="SEPTEMBER"MONTH%=9
1640IFB$="SEPTEMBER"MONTH$=B$
1650IFB$="OCTOBER"MONTH%=10
1660IFB$="OCTOBER"MONTH$=B$
1670IFB$="NOVEMBER"MONTH%=11
1680IFB$="NOVEMBER"MONTH$=B$
1690IFB$="DECEMBER"MONTH%=12
1700IFB$="DECEMBER"MONTH$=B$
1710ENDPROC
1720:
1730PRINTTAB(2,5)" Change Latitude
"
1740PRINTTAB(2,7)" Select Latitude "
1750PRINTTAB(2,9)" 50 N, 55 N, 60 N
"
1760PRINTTAB(2,11)" "
1770PRINTTAB(2,11)" ";:INPUT C$
1780X=LEN(C$)
1790IF X>5 PROCGRID
1800IF C$="50 N" LATITUDE%=1
1810IF C$="50 N" LATITUDE$=C$
1820IF C$="55 N" LATITUDE%=2
1830IF C$="55 N" LATITUDE$=C$
1840IF C$="60 N" LATITUDE%=3
1850IF C$="60 N" LATITUDE$=C$
1860ENDPROC
1870REM DATA
1880REM 50 N RISE
1890DATA 8.0, 8.0, 7.9, 7.9, 7.8, 7.7,
7.6
1900DATA 7.6, 7.4, 7.3, 7.2, 7.0, 6.8,
***
1910DATA 6.7, 6.6, 6.4, 6.2, 6.0, 5.8,
5.7
1920DATA 5.6, 5.4, 5.3, 5.1, 4.9, 4.8,
***
1930DATA 4.6, 4.5, 4.3, 4.2, 4.1, 4.0,
3.9
1940DATA 3.9, 3.9, 3.8, 3.8, 3.8, 3.9,
***
1950DATA 3.9, 4.0, 4.0, 4.1, 4.2, 4.3,
4.5
1960DATA 4.5, 4.6, 4.7, 4.8, 5.0, 5.1,
5.2
1970DATA 5.2, 5.4, 5.5, 5.6, 5.7, 5.9,
***
1980DATA 6.0, 6.1, 6.3, 6.4, 6.5, 6.7,
6.8
1990DATA 6.8, 7.0, 7.1, 7.2, 7.4, 7.5,
***
2000DATA 7.6, 7.7, 7.8, 7.9, 7.9, 8.0,
8.0
2010REM 55 N RISE
2020DATA 8.4, 8.4, 8.3, 8.2, 8.1, 8.0,
7.9
2030DATA 7.9, 7.7, 7.5, 7.3, 7.2, 7.0,
***
2040DATA 6.8, 6.6, 6.4, 6.2, 6.0, 5.8,
5.6
2050DATA 5.5, 5.3, 5.1, 4.9, 4.7, 4.5,
***
2060DATA 4.3, 4.2, 4.0, 3.9, 3.7, 3.6,
3.5
2070DATA 3.5, 3.4, 3.4, 3.3, 3.3, 3.4,
***
2080DATA 3.4, 3.5, 3.6, 3.7, 3.8, 4.0,
4.1
2090DATA 4.1, 4.3, 4.4, 4.6, 4.8, 4.9,
5.1
2100DATA 5.1, 5.3, 5.4, 5.6, 5.7, 5.9,
***
2110DATA 6.0, 6.2, 6.4, 6.5, 6.7, 6.9,
7.0
2120DATA 7.1, 7.2, 7.4, 7.6, 7.7, 7.9,
***
2130DATA 8.0, 8.1, 8.2, 8.3, 8.4, 8.4,
8.4
2140REM 60 N RISE
2150DATA 9.0, 9.0, 8.9, 8.8, 8.6, 8.5,
8.3
2160DATA 8.2, 8.0, 7.8, 7.6, 7.4, 7.1,
***
2170DATA 7.0, 6.7, 6.5, 6.2, 6.0, 5.7,
5.5
2180DATA 5.4, 5.2, 4.9, 4.7, 4.4, 4.2,
***
2190DATA 4.0, 3.8, 3.5, 3.3, 3.2, 3.0,
2.9
2200DATA 2.8, 2.7, 2.6, 2.6, 2.6, 2.6,
***
2210DATA 2.7, 2.8, 2.9, 3.1, 3.3, 3.4,
3.6
2220DATA 3.7, 3.9, 4.1, 4.3, 4.5, 4.7,
4.9
2230DATA 4.9, 5.1, 5.3, 5.5, 5.7, 5.9,
***
2240DATA 6.1, 6.3, 6.5, 6.7, 6.9, 7.1,
7.3
2250DATA 7.4, 7.6, 7.8, 8.0, 8.2, 8.4,
***
2260DATA 8.6, 8.7, 8.9, 9.0, 9.0, 9.1,
9.0
2270REM 50 N SET
2280DATA 16.1, 16.2, 16.3, 16.5, 16.6,
16.7, 16.9
2290DATA 16.9, 17.0, 17.2, 17.3, 17.5,
17.6, ****
2300DATA 17.7, 17.8, 18.0, 18.1, 18.2,
18.4, 18.5
2310DATA 18.5, 18.7, 18.8, 18.9, 19.0,
19.2, ****
2320DATA 19.3, 19.4, 19.6, 19.7, 19.8,
19.9, 20.0
2330DATA 20.0, 20.1, 20.1, 20.2, 20.2,
20.2, ****
2340DATA 20.2, 20.2, 20.1, 20.1, 20.0,
19.9, 19.7
2350DATA 19.7, 19.6, 19.4, 19.3, 19.1,
19.0, 18.8
2360DATA 18.7, 18.6, 18.4, 18.2, 18.0,
17.8, ****
2370DATA 17.6, 17.5, 17.3, 17.1, 17.0,
16.8, 16.6
2380 DATA 16.6, 16.5, 16.4, 16.2, 16.2,
16.1, ****
2390DATA 16.0, 16.0, 16.0, 16.0, 16.0,
16.1, 16.1
2400REM 55 N SET
2410DATA 15.7, 15.8, 15.9, 16.1, 16.2,
16.4, 16.6
2420DATA 16.6, 16.8, 17.0, 17.1, 17.3,
17.5, ****
2430DATA 17.6, 17.8, 17.9, 18.1, 18.3,
18.4, 18.6
2440DATA 18.6, 18.8, 18.9, 19.1, 19.3,
19.4, ****
2450DATA 19.6, 19.7, 19.9, 20.0, 20.2,
20.3, 20.4
2460DATA 20.5, 20.6, 20.6, 20.7, 20.7,
20.7, ****
2470DATA 20.7, 20.6, 20.6, 20.5, 20.4,
20.2, 20.1
2480DATA 20.1, 19.9, 19.7, 19.5, 19.3,
19.1, 18.9
2490DATA 18.9, 18.7, 18.5, 18.2, 18.0,
17.8, ****
2500DATA 17.6, 17.4, 17.2, 17.0, 16.8,
16.6, 16.4
2510DATA 16.4, 16.2, 16.1, 15.9, 15.8,
15.7,****
2520DATA 15.6, 15.6, 15.5, 15.5, 15.6,
15.6, 15.7
2530REM 60 N SET
2540DATA 15.1, 15.2, 15.4, 15.6, 15.8,
16.0, 16.2
2550DATA 16.2, 16.4, 16.7, 16.9, 17.1,
17.3, ****
2560DATA 17.4, 17.7, 17.9, 18.1, 18.3,
18.5, 18.7
2570DATA 18.7, 18.9, 19.1, 19.3, 19.5,
19.7, ****
2580DATA 20.0, 20.2, 20.4, 20.6, 20.8,
20.9, 21.1
2590DATA 21.1, 21.3, 21.4, 21.4, 21.5,
21.5, ****
2600DATA 21.4, 21.3, 21.2, 21.1, 20.9,
20.8, 20.6
2610DATA 20.5, 20.3, 20.1, 19.8, 19.6,
19.4, 19.1
2620DATA 19.1, 18.8, 18.6, 18.3, 18.1,
17.8, ****
2630DATA 17.6, 17.3, 17.1, 16.8, 16.6,
16.3, 16.1
2640DATA 16.1, 15.9, 15.7, 15.5, 15.3,
15.2, ****
2650DATA 15.0, 15.0, 14.9, 14.9, 14.9,
15.0, 15.1
2660REM END!
2670DEFPROCPRINT
2680CLS
2690VDU2
2700PRINT'''"LATITUDE "LATITUDE$
2710PRINT"MONTH "MONTH$
2720PRINT'" RISE SET"
2730PRINT
2740 PRINT"01 ";:PRINTRISE$(LATITUDE%,M
ONTH%,1);
2750 PRINT" ";:PRINTSET$(LAT
ITUDE%,MONTH%,1)
2760PRINT"06 ";:PRINTRISE$(LATITUDE%,MO
NTH%,2);
2770PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,2)
2780PRINT"11 ";:PRINTRISE$(LATITUDE%,MO
NTH%,3);
2790PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,3)
2800PRINT"16 ";:PRINTRISE$(LATITUDE%,MO
NTH%,4);
2810PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,4)
2820PRINT"21 ";:PRINTRISE$(LATITUDE%,MO
NTH%,5);
2830PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,5)
2840PRINT"26 ";:PRINTRISE$(LATITUDE%,MO
NTH%,6);
2850PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,6)
2860PRINT"31 ";:PRINTRISE$(LATITUDE%,MO
NTH%,7);
2870PRINT" ";:PRINTSET$(LATI
TUDE%,MONTH%,7)
2880VDU3
2890CLS
2900PROCGRID
2910ENDPROC