Chapter 8 – Starcharts (Starmaps)

Starmaps, display a simple starmap
Constellation Plot, entering star patterns with CHR$ CODEs
Stellar Magnitudes, plotting differing star brightnesses
Star Graphics, constructing complex shapes
Flashing Stars, two ways to make stars flash
Startrax, watch the changing shapes of the constellations over hundreds of thousands of years
Stellar Magnitude, magnitude ranges of stars.

Starcharts

Starcharts are the stock-in-trade of the practical astronomer and, for sheer volume of numbers of stars recorded, the Spectrum (or the sane user of any micro) could not hope to compete. For example the Tirion Star Atlas 2000.0 (referred to as simply Tirion throughout this book) plots over 45,000 stars and deep-sky objects. This almost exceeds the pixel content of the Spectrum screen. Bearing in mind that a starchart is 99% empty space, the task for a Spectrum user is considerable as all the stars in Tirion can be seen with only 10 x 50 binoculars. A small telescope can reveal millions!

The user of starcharts in microcomputer work should concentrate on techniques of handling data or rapid paging of results for display rather than precise accuracy of plotting of huge numbers of stars. The programs that follow are aimed in this direction.

Starmaps (48K Spectrum only)

Drawing starmaps is in itself not the most fruitful occupation for your Spectrum. You would be better off consulting a good book, like Norton or Tirion. Furthermore, atlases like these have much higher positional accuracy and graduation of dot size against stellar magnitude than is possible on any micro or even minicomputer. This disregards all the other DATA of star names or codes, variable stars and deep-sky objects from the Messier and New General Catalogues which would clutter up the screen display and make it incomprehensible.

Nevertheless, the instant display of a selected, if simple, starmap can prove satisfying: as an astronomer, I feel that there is a need to challenge the abysmal quality of some published efforts in this area.

Perhaps more importantly, this program demonstrates a technique for handling and using DATA stored in CHR$ arrays for starplotting.

In its final form, you can select by number (as indicated in Figure 8.1) from one of three options to display any one of 30 named constellations as star patterns, all correctly orientated (north at the top, east on the left) on a large scale. The sky coordinates in RA and Dec for the centre of the screen are displayed together with a scale in degrees.

Figure 8.1
Starmap options selected by number.

Starmaps

Alternatively, you can display a starmap to a reduced scale of all the constellations visible during any one of the four seasons, with each constellation named as it is PLOTted.

The final option is a complete starmap of all 30 constellations containing all 310 stars in one panoramic strip of sky. The reduced scale of the latter highlights the limited screen resolution mentioned in the introduction to this chapter, but the results are still pleasing.

COPYing the screen
The starmaps are shown in inverse video by use of a black sky (PAPER 0) with white stars (INK 9, contrasting with the PAPER tone). An option to COPY the screen to the ZX printer is also included but of course the starmaps appear as negatives — black stars on a white ground. It is best to accept a COPY in this form because quite frankly the ZX printer cannot handle a true INVERSE presentation, which in the case of a starmap would be 99.9% solid black! With the ZX printer in mind the starmaps have been outlined and both the monochrome and colour presentation to the screen have been fully considered. Sample COPYs of the starmaps are shown adjacent, in Figures 8.2, 8.3, 8.4 and 8.5.

Figure 8.2
Aquila, the first of 30 constellations, shown full size. The ZX printer normally gives a
negative image of the screen display.

Starmaps_Aquila

Figure 8.3
A complete starmap of 30 constellations and 310 stars. Ursa Major (the Plough) is top centre and Square of Pegasus extreme left.

Starmaps_Annual_Starmap

Figure 8.4
Starmap for winter with Orion lower centre and Leo (the lion) extreme left.

Starmaps_Winter

Figure 8.5
Starmap for summer with Aquila centre left and Square of Pegasus extreme left.

Starmaps_Summer

Constellation recognition
No attempt has been made to distinguish between stellar magnitudes with different dot sizes but a method of so doing is explained later in this chapter. The limiting stellar magnitude for these starmaps is about magnitude 3½ to 4½. To go any fainter would vastly increase the DATA and clutter the screen. The order in which each star is PLOTted is intended to aid recognition of that particular constellation. But because the Spectrum only takes about one second to PLOT a typical constellation, this may be too quick for some eyes! To help you, a `slow’ button can be pressed to
slow the action down.

Starmap projection
Some slight distortion is inevitable in converting the spherical sky into a cylindrical projection for these starmaps, but it is only evident if constellations close to the north or south celestial poles are included (I have deliberately excluded these). The constellations included tend to favour visibility from the latitudes of Europe and North America and extend from Ursa Major (the Plough), Draco and Cassiopeia all centred about +60° declination north to Scorpius about —35° declination south. About half of all the constellations between these two extremes are used in the program. There are 88 recognised constellations in the sky — about two-thirds of these visible from Britain.

Preparing the program
Because the amount of DATA to be used by the full starmaps program is extensive, it has been split into two parts. The first part is called Star Loader, and handles the entry of the x and y coordinate positions of 310 stars, the constellation names and the central coordinates of each starmap so that they can be jigsawed together in the composite starmaps. The second part of the program is called Starmaps and RUNs on the DATA entered in the first part of the program.

Before proceeding with the programs themselves, some explanation of how the DATA is prepared may be enlightening. This will enable you to make modifications to the program if you wish, perhaps adding even more constellations. It involves sketching, in the simplest terms, the constellations to be portrayed. The Spectrum plays no part in this aspect of the work, but a star atlas will be necessary.

Sketching the constellations
The method of preparing the DATA for each constellation is as follows:

  1. Mark on a sheet of graph paper a grid measuring 0 to 63 horizontally (x coordinate) and 0 to 43 vertically (y coordinate).
  2. Mark the centre of the rectangle with a ‘+’ and note on the sheet the name and coordinates of the selected constellation.
  3. Trace from a star atlas the selected constellation and transfer it to the graph paper by filling the complete square nearest to each star. Check that the grid lines on the star atlas tally with the graph paper without excessive rotation of either.
  4. Number each star and list the x and y coordinates from the graph paper as a four figure number, eg 4327.
  5. Enter on to the sheet a single letter to CODE the total number of stars used in each constellation — A = 1, B = 2, to Z = 26.

Star DATA
Be sure to note that the x (horizontal) coordinate comes first in item 4. Do not transpose the two halves of this number otherwise that star will be wrongly located on the starmaps. With so many stars to be PLOTted, an incorrectly located star may be difficult to find, especially if the user is unfamiliar with the star patterns of the sky. Even for the experienced astronomer caution is the byword in this initial preparation. Figure 8.6 shows a typical sketch used in this program and executed in the manner described above.

Figure 8.6

Star_Data_Sketch

Note that the coordinate position taken from the star atlas for the centre of the screen and for each chart prepared is a five figure number, including the decimal point, for the RA (horizontal axis) and a three figure number, including a ‘+’ or ‘-‘ prefix, for the Dec (vertical axis). The degree sign is not included in the latter. In the example shown for the constellation of Aquila (the Eagle) the RA of 19.50 indicates 19h 50m and the program in Line 1090 converts this to hours plus decimal hours and finally, in Line 1140, to degrees by multiplication by 15. Thus 19h 50m = 19.8333h = 297.5°.The RA cannot exceed 24.00 because 24.00*15 = 360°, a complete circle.

The Spectrum is of course capable of a screen resolution of 256*176 pixel points whereas the charts have only been prepared to a 64*44 resolution. I have found this to be fully adequate.

The RA are stored in the a$ array and the Dec in the b$ array for use without further computer manipulation in the titles for each large starmap. Also it is more economical on the computer memory to store DATA this way and avoids complex formatting to convert the alternative numeric array into CHR$ for display. In the initial testing of this program both numeric and CHRS arrays were tried for DATA storage and I noticed that the program ran 10% slower using the CHRS storage. This means that a complete skymap of 310 stars took about 44 seconds to PLOT rather than about 40 seconds, which I consider acceptable, bearing in mind the advantages.

Starmaps 1: Star Loader
Key in the Star Loader program and check that it matches the listing precisely. Before entering all the DATA on the 30 constellations and 310 stars, a few test RUNs are advised to be sure all is well. It should not be necessary to test all 30 constellations, so amend the variable z in Line 2020 to read LET z = 2 and RUN the program. This will allow the first two constellations (Aquila and Capricornus) to be entered from the DATA in Figure 8.7.

The program is well error-trapped and also BEEPs when the keyboard is touched or DATA is entered so that you can concentrate on the task at hand without constant reference to the screen display. A couple of test RUNs, perhaps including few fictitious numbers, should show if all is well. You should note that the program incorporates a SAVE and VERIFY routine for those perhaps new to the Spectrum. This will ensure that all your efforts are not lost by inadvertently pressing the wrong key.

2000 REM Star Loader Program
2010 LET z$=””: POKE 23609,100
2020 LET z=30
2030 DIM n$(z,11): DIM a$(z,5): DIM b$(z,3): DIM c$(z,17,4)
2040 FOR n=1 TO z
2050 CLS : INPUT “Name of constellation no. “;(n),t$: IF LEN t$>11 THEN GO SUB 2230: GO TO 2050
2060 LET n$(n)=t$: PRINT t$
2070 INPUT “RA=?”; LINE t$: LET e=VAL t$: IF e=25 THEN GO SUB 2230: GO TO 2070
2080 LET a$(n)=t$: PRINT “RA “;t$
2090 INPUT “Dc=?”; LINE t$: LET e=VAL t$: IF ABS e>=90 THEN GO SUB 2230: GO TO 2090
2100 LET b$(n)=t$: PRINT “Dc “;t$
2110 INPUT “co=?”; LINE h$: IF CODE h$-64>17 THEN GO SUB 2230: GO TO 2110
2120 LET z$=z$+h$: PRINT “co “;h$
2130 FOR f=1 TO CODE h$-64
2140 INPUT (f);”=?”; LINE t$
2142 LET e1=VAL t$( TO 2)
2145 LET e2=VAL t$(3 TO )
2150 IF e1<0 OR e263 OR e2>43 THEN GO SUB 2230: GO TO 2140
2160 LET c$(n,f)=t$: PRINT (” ” AND f<10);f;”=”;t$: BEEP .1,-10
2170 NEXT f: BEEP 1,1
2180 INPUT “Data OK (y/n or (s)top & save)?”‘q$
2190 IF q$=”n” THEN GO TO 2050
2195 IF q$=”s” THEN GO TO 9990
2200 NEXT n: PRINT #0; FLASH 1;”List complete”: GO TO 9990
2230 PRINT #0; FLASH 1;”Error”: BEEP .5,30: PAUSE 100: RETURN
9990 SAVE “starmaps” LINE 2050

Entering the DATA
Firstly amend the variable z in Line 2020 to read LET z = 30 — this is vital — and RUN the program. Work progressively through the DATA in Figure 8.7. All 30 constellations do not have to be entered in one session but can be spread over two or three sessions at the computer if so desired.

The option to SAVE the program, with the DATA just entered, occurs on Line 2195 when key’s’ is pressed. Following a successful SAVE, the program then invites you to rewind and play the tape to VERIFY. A BEEP occurs on successful SAVE and VERIFY. If it does not, then enter as a direct command GOTO 9990 and repeat the SAVE and VERIFY routines until the ‘OK’ message appears on the screen. To LOAD the program from tape for the next session of DATA input, enter as a direct command LOAD “starmaps” and play the tape. On successful LOADing, the program automatically goes to Line 2050 ready for the next constellation to be entered.

If for any reason the program crashes, enter as a direct command GOTO 2050. On no account should you press the RUN key or give a GOTO command to a line number less than Line 2050. If this is disregarded, all the DATA not SAVEd on tape will be lost or overwritten. When all the DATA has been entered and finally SAVEd and VERIFYed, the next part of the program can be dealt with.

Starmaps 2
Key in the second part of the program — called Starmaps — and amend Line 9990 to read:

9990 SAVE “starmaps” LINE 1

This will ensure that, when the program is SAVEd and subsequently LOADed, it automatically starts by going to Line 1. The new portion of the program handles the display, selection and PLOTting of the starmaps. When you’ve checked that the listing is satisfactory, enter as a direct command GOTO 1 to start the program. On no account must the RUN key be pressed to labour the point.

The program
The REM statements show the general structure of the program. The actual PLOTting of the starmaps is split into two parts:

  1. The selected constellations to a large scale.
  2. The seasonal and annual starmaps.

————–
1 Aquila
RA19.50
Dc+02
Co = J
1 = 2315
2 = 2925
3 = 3128
4 = 3331
5 = 4636
6 = 4837
7 = 3018
8 = 4.020
g = 4510
10 = 4808
————–
2 Capricornus
RA21.12
Dc-18
Co = L
1 = 5128
2 = 5228
3 = 5025
4 = 4210
s = 4008
6 = 3510
7 = 2614
8 = 2715
9 = 2418
10 = 2321
11 = 2022
12 = 3521
————–
3 Lyra
RA19.12
Dc+36
Co = F
1 = 4126
2 = 3924
3 = 3927
4 = 3523
5 = 3417
6 = 3718
————–
4 Scorpius
RA17.10
Dc-34
Co = Q
1 = 5039
2 = 5137
3 = 5238
4 = 5434
5 = 5429
6 = 5425
7 = 4730
8 = 4429
9 = 4227
10 = 3719
11 = 3605
12 = 3106
13 = 2405
14 = 2110
15 = 2015
16 = 2415
17 = 2515
————–
5 Delphinus
RA20.54
Dc+13
Co = F
1 = 3524
2 = 3724
3 = 3622
4 = 3922
5 = 4017
5 = 3716
————–
6 Cygnus
RA20.46
Dc+35
Co = I
1 = 3433
2 = 2312
3 = 3117
4 = 3926
5 = 4933
6 = 4719
7 = 5610
8 = 4135
9 = 4036
————–
7 Sagitta
RA20.12
Dc+19
Co = D
1 = 3623
2 = 4022
3 = 4220
4 = 4321
————–
8 Hercules
RA17.30
DC +28
Co = N
1 = 3601
2 = 3617
3 = 4126
4 = 4726
5 = 3833
6 = 4736
7 = 5041
8 = 5112
9 = 5409
10 = 3534
11 = 2621
12 = 2324
13 = 2326
14 = 2023
————–
9 Sagittarius
RR18.50
Dc-26
Co = M
1 = 2233
2 = 2629
3 = 2720
4 = 3029
5 = 3122
6 = 2816
7 = 3420
8 = 4023
9 = 4529
10 = 4615
11 = 4116
12 = 4010
13 = 4106
————–
10 Perseus
RA03.S5
DC+40
Co = H
1 = 3108
2 = 3013
3 = 3119
4 = 3522
5 = 3629
6 = 4032
7 = 4432
8 = 4537
9 = 4740
10 = 4425
11 = 4519
12 = 4616
13 = 2930
————–
11 Pegasus
RA23.05
Dc+15
Co = J
1 = 0819
2 = 1038
3 = 3237
4 = 3216
5 = 4112
6 = 5206
7 = 6112
8 = 3840
g = 3830
10 = 3532
————–
12 Auriga
RA05.55
Dc+40
CD = I
1 = 4004
2 = 3016
3 = 3227
4 = 3541
5 = 4329
6 = 4726
7 = 4722
8 = 4623
9 = 4912
————–
13 Bootes
RA15.05
Dc+29
Co = J
1 = 5704
2 = 5405
3 = 4707
4 = 3819
5 = 2828
6 = 2634
7 = 3338
8 = 4135
9 = 4122
10 = 4223
————–
14 Taurus
RR04.45
Dc+15
Co = D
1 = 1429
2 = 1940
3 = 3421
4 = 3720
5 = 4020
6 = 3923
7 = 3824
6 = 3726
9 = 5032
10 = 5055
11 = 5133
12 = 4716
13 = 5913
14 = 6012
15 = 4607
————–
15 Corona Bor
RA16.15
Dc+28
Co = G
1 = 4526
2 = 4723
3 = 4520
4 = 4219
5 = 4019
6 = 3720
7 = 3624
————–
16 Draco
RA18.30
Dc+60
Co = N
1 = 3607
2 = 3715
3 = 4113
4 = 4209
5 = 2620
6 = 2430
7 = 2532
8 = 3435
9 = 3437
10 = 3835
11 = 4328
12 = 5225
13 = 5723
14 = 5227
————–
17 Orion
RA05.55
RA+01
Co = Q
1 = 3229
2 = 3832
3 = 3933
4 = 4327
5 = 3715
6 = 3916
7 = 4117
8 = 4315
9 = 4706
10 = 3504
11 = 5221
12 = 5322
13 = 5429
14 = 3910
15 = 5527
16 = 5432
17 = 5337
————–
18 Cassiopeia
RA01.20
Dc+59
Co = G
1 = 2729
2 = 3123
3 = 3724
4 = 3819
5 = 4018
6 = 4114
7 = 4622
————–
14 Leo
RR11.00
Dc+15
Co = M
1 = 5534
2 = 5237
3 = 4532
4 = 4427
5 = 4923
5 = 4916
7 = 5913
8 = 4112
9 = 2628
10 = 2621
11 = 2314
12 = 2407
13 = 1420
————–
20 Canis Major
RA07.10
Dc-24
Co = H
1 = 2512
2 = 3116
3 = 3412
4 = 4610
S = 4727
6 = 3929
7 = 3619
8 = 3320
————–
21 Ursa Major
RR11.50
DC+54
Co = N
1 = 2727
2 = 0419
3 = 3122
4 = 3934
5 = 1826
6 = 4127
7 = 1226
8 = 5335
9 = 5628
10 = 6227
11 = 5710
12 = 5609
13 = 4310
14 = 3314
————–
22 Corvus
RAl2.40
Dc-17
Co = F
1 = 3422
2 = 3521
3 = 3412
4 = 4213
5 = 4310
6 = 4020
————–
23 Gemini
RA07.40
Dc+22
Co = L
1 = 3029
2 = 3334
3 = 3029
4 = 3820
5 = 3913
6 = 4318
7 = 5212
8 = 5007
9 = 5721
10 = 6021
11 = 5024
12 = 4431
————–
24 Hydra
RR09.55
Dc-10
Co = M
1 = 6040
2 = 6036
3 = 5837
4 = 5640
5 = 5741
6 = 5440
7 = 4736
8 = 4122
9 = 3313
10 = 2816
11 = 2617
12 = 2110
13 = 1310
————–
25 Virgo
RA12.52
Dc+00
Co = H
1 = 1721
2 = 2106
3 = 2614
4 = 2937
5 = 3127
6 = 3620
7 = 4521
8 = 5524
————–
26 Andromeda
RA01.25
Dc+38
Co = K
1 = 5509
2 = 4512
3 = 3618
5 = 2228
6 = 4614
7 = 4021
8 = 4225
9 = 4425
10 = 3036
11 = 3039
————–
27 Cancer
RA08.50
DC+17
Co = E
1 = 3437
2 = 3527
3 = 3422
4 = 2913
5 = 4410
————–
28 Libra
RA15.32
Dc-19
Co = G
1 = 3921
2 = 4726
3 = 3635
4 = 3228
5 = 4213
6 = 3110
7 = 3008
————–
29 Serpens
RA16.00
Dc+07
Co = H
1 = 3836
2 = 3636
3 = 3333
4 = 3732
5 = 4126
6 = 3820
7 = 3517
8 = 3607
————–
30 Cetus
RA01.42
Dc-04
Co = L
1 = 0331
2 = 0338
3 = 0840
4 = 1031
5 = 1227
6 = 2022
7 = 3011
8 = 3303
9 = 4015
10 = 4512
11 = 5401
12 = 6213

In selecting a constellation (INPUT 1 to 30 inclusive) the variable in Line 170 (LET sc = 4) effectively enlarges the scale by a factor of 4 so that the constellation fills the screen. Options with an INPUT of 31 to 34 inclusive have an additional variable called x1 which has different values via the conditional GOTO in Line 120. Variable x1 selects one quarter of the complete skymap of 30 constellations for presentation. The skymap — INPUT option 35 — has a complete wrap-around effect horizontally through 360°. The variable sc is set to 1 for the seasonal starmaps and 0.52 for the annual skymap. Watch in Line 90 that you enter correctly ‘m>1’ and ‘m<l’ — the second is lower case ‘L’.


10 REM Starmaps
20 BORDER 0: PAPER 0: INK 9: CLS : DIM e$(32): LET g=100/60
30 PRINT PAPER 5;” Constellations & Starmaps ”
40 LET t$=” starmap”
50 LET j=15: LET l=35
70 FOR n=1 TO z: PRINT AT n-(j AND n>j),0+(j AND n>j);(” ” AND n<10);n;” “;n$(n): NEXT n
80 PRINT PAPER 1;AT 16,j;”31 spring”;t$;AT 17,j;”32 summer”;t$;AT 18,j;”33 autumn”;t$;AT 19,j;”34 winter”;t$;AT 20,j; PAPER 4;”35 skymap”
90 INPUT INK 6;”Select by no. “;m: IF ml THEN GO TO 90
100 PRINT #0; INK 5;”Plot fast or slow (f/s)?”: PAUSE 0: CLS : LET pa=1: IF INKEY$=”s” THEN LET pa=50
120 IF m>30 THEN GO TO m*10
140 PRINT ” “;n$(m);” +=RA”;a$(m);” Dc”;b$(m);CHR$ 130;AT 11,15; INK 4;”+”
150 PRINT INK 3;AT 1,13;”north”;AT 11,1;”east”;AT 11,27;”west”;AT 20,13;”south”: GO SUB 1210
160 PRINT INK 4;AT 20,1;””
170 LET sc=4
175 FOR n=1 TO CODE z$(m)-64
180 LET dx=VAL c$(m,n, TO 2)
185 LET dy=VAL c$(m,n,3 TO )
190 PLOT dx*sc,dy*sc
195 DRAW BRIGHT 1;1,1: DRAW 1,-1: DRAW -1,-1
200 PAUSE pa: NEXT n
220 PRINT #0; PAPER 5; INK 9;”Press c to COPY, m for Menu ”
225 BEEP .6,40: BEEP .1,30
230 PAUSE 0: IF INKEY$=”c” THEN COPY : INPUT “”: GO TO 220
240 GO TO 20
310 PRINT ” spring”;t$,: LET x1=-3: GO TO 1000
320 PRINT ” summer”;t$,: LET x1=5: GO TO 1000
330 PRINT ” autumn”;t$,: LET x1=13: GO TO 1000
340 PRINT ” winter”;t$,: LET x1=-11: GO TO 1000
350 PRINT ” Annual skymap:due south at 9pm”: LET hi=150: LET sc=.52: LET x1=5: GO TO 1030
1010 LET sc=1: LET hi=50
1020 PRINT “”; PAPER 4;AT 21,0;” east horizon south horizon west”: GO TO 1060
1030 FOR n=17 TO 21: PRINT PAPER n-16;AT n,0;e$: NEXT n
1040 PRINT AT 16,0;” autumn summer spring winter ”
1050 FOR n=1 TO 3: PLOT n*64,40: DRAW 0,10: NEXT n
1060 GO SUB 1210: FOR f=1 TO z
1070 PRINT #0;n$(f)
1080 LET zx=VAL a$(f)
1090 LET x=zx+(zx-INT zx)/g
1100 LET y=VAL b$(f)
1110 FOR n=1 TO CODE z$(f)-64
1120 LET dx=VAL c$(f,n, TO 2)
1130 LET dy=VAL c$(f,n,3 TO )
1140 LET xx=(x1*15-x*20+380+dx)*sc
1150 IF x1=13 AND xx>480 THEN LET xx=xx-480
1160 LET yy=(y*1.5+hi+dy)*sc
1170 IF xx255 OR yy175 THEN GO TO 1190
1180 PLOT xx,yy
1190 NEXT n: PAUSE pa: INPUT “”: NEXT f: GO TO 220
1210 PLOT 0,0: DRAW 0,175: DRAW 255,0: DRAW 0,-175: DRAW -255,0: RETURN
2000 REM Star Loader Program
2010 LET z$=””: POKE 23609,100
2020 LET z=30
2030 DIM n$(z,11): DIM a$(z,5): DIM b$(z,3): DIM c$(z,17,4)
2040 FOR n=1 TO z
2050 CLS : INPUT “Name of constellation no. “;(n),t$: IF LEN t$>11 THEN GO SUB 2230: GO TO 2050
2060 LET n$(n)=t$: PRINT t$
2070 INPUT “RA=?”; LINE t$: LET e=VAL t$: IF e=25 THEN GO SUB 2230: GO TO 2070
2080 LET a$(n)=t$: PRINT “RA “;t$
2090 INPUT “Dc=?”; LINE t$: LET e=VAL t$: IF ABS e>=90 THEN GO SUB 2230: GO TO 2090
2100 LET b$(n)=t$: PRINT “Dc “;t$
2110 INPUT “co=?”; LINE h$: IF CODE h$-64>17 THEN GO SUB 2230: GO TO 2110
2120 LET z$=z$+h$: PRINT “co “;h$
2130 FOR f=1 TO CODE h$-64
2140 INPUT (f);”=?”; LINE t$
2142 LET e1=VAL t$( TO 2)
2145 LET e2=VAL t$(3 TO )
2150 IF e1<0 OR e2<0 OR e1>63 OR e2>43 THEN GO SUB 2230: GO TO 2140
2160 LET c$(n,f)=t$: PRINT (” ” AND f<10);f;”=”;t$: BEEP .1,-10
2170 NEXT f: BEEP 1,1
2180 INPUT “Data OK (y/n or (s)top & save)?”‘q$
2190 IF q$=”n” THEN GO TO 2050
2195 IF q$=”s” THEN GO TO 9990
2200 NEXT n: PRINT #0; FLASH 1;”List complete”: GO TO 9990
2230 PRINT #0; FLASH 1;”Error”: BEEP .5,30: PAUSE 100: RETURN
9990 SAVE “starmaps” LINE 1



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s