5 DIM EX%(18),EY%(18),CX%(18),CY%(18),DT$(18) 10 REM EARTH X,Y 11 DATA177,84,172,79,166,73,161,70,153,69,146,68,138,70,130,74,125,78,120,85 12 DATA117,92,116,101,117,110,122,118,128,125,138,130,149,133,159,130 15 D=400 20 REM COMET X,Y 21 DATA 78,31,90,35,106,40,121,46,127,50,136,55,143,60,148,64,154,71,166 23 DATA 85,166,105,162,115,153,124,144,132,134,136,125,141,111,145,96,148 24 DATA "SEPTEMBER 10, 1985","SEPTEMBER 24, 1985","OCTOBER 10, 1985" 25 DATA "OCTOBER 24, 1985","NOVEMBER 10, 1985","NOVEMBER 24, 1985" 26 DATA "DECEMBER 10, 1985","DECEMBER 24, 1985" 27 DATA "JANUARY 10, 1986","JANUARY 24, 1986","FEBRUARY 10, 1986" 28 DATA "FEBRUARY 24, 1986","MARCH 10, 1986","MARCH 24, 1986","APRIL 10, 1986" 29 DATA "APRIL 24, 1986","MAY 10, 1986","MAY 24, 1986" 30 RESTORE:FORI=1TO18:READEX%(I),EY%(I):NEXT 32 FORI=1TO18:READCX%(I),CY%(I):NEXT 40 FORI=1TO18:READDT$(I):NEXT 50 SYS828,16384,"SOJOURNSHPS.TBL" 53 SYS828,8192,"LINEPLOT.O" 54 GOSUB60:POKE255,4:POKE253,0:POKE254,0:SYS51462:GOTO80 55 : 60 POKE249,224:POKE250,204 62 POKE251,0:POKE252,64:RETURN 64 :REM POKE253,0:POKE254,0 65 : 80 GOTO60000 100 REM ORBITS MODULE 101 C=1:PRINT"[147]" 102 SYS8198," ",0,190 103 SYS8198," F1-F7 TO CHANGE DATE SCAPE ",0,190 108 POKE255,2:GOSUB60:POKE253,0: POKE254,3:SYS51462 110 A$=" " 115 SYS8198,A$,0,170:SYS8198,DT$(C),90,170 116 GOSUB54000:GOSUB200:GETA$ 117 IFA$="E"THEN60000 118 IFA$="[133]"THEN120 119 IFA$="[136]"THENC=C-1:GOTO125 120 C=C+1:IFC=19THENC=18 125 IFC<1THENC=1 130 GOTO110 140 : 200 REM FLASH CURRENT ORBIT LOC 210 X=EX%(C):Y=EY%(C):GOSUB 1000 220 X=CX%(C):Y=CY%(C):GOSUB 2000 225 IFPEEK(198)>0THEN30000 230 GOSUB30000 260 GOTO200 999 : 1000 REM PLOT EARTH 1010 SYS8201,X-5,Y-4,X-5,Y+4:SYS8201,X-5,Y+4,X+5,Y+4:SYS8201,X+5,Y+4,X+5,Y-4 1015 SYS8201,X+5,Y-4,X-5,Y-4:RETURN 1020 : 2000 REM PLOT COMET 2100 SYS8201,X,Y-4,X-8,Y+4:SYS8201,X-8,Y+4,X+8,Y+4: 2102 SYS8201,X+8,Y+4,X,Y-4: RETURN 20000 REM PLOT OPTS PIC 20010 POKE255,0 25000 REM PLOT PIC 25010 POKE253,0:POKE254,0:GOSUB60: SYS51462:RETURN 30000 REM PLOT PARTIAL ORBIT PIC 30010 GOSUB60:POKE255,3:POKE253,7: POKE254,3:SYS51462:RETURN 54000 REM FIND OUT WHAT IS HAPPENING 54002 A$=" " 54005 IFC=7THEN:A$="HALLEY'S FIRST CLOSE PASS":GOTO55000 54010 IFC=11THENA$="HALLEY IS AT PERIHELION":GOTO55000 54020 IFC=15THENA$="HALLEY'S CLOSEST PASS":GOTO55000 54025 IFC=18THENA$="SEE YA AGAIN IN 2061!" 55000 SYS8198," ",60,180 55001 SYS8198,A$,60,180 55002 RETURN 60000 REM MAIN LOOP 60005 GOSUB60:POKE255,4:POKE253,0:POKE254,0:SYS51462 60010 GOSUB 20000 60020 POKE198,0:WAIT198,1:GETA$ 60040 IFA$="A"THEN62000 60050 IFA$="C"THEN100 60055 Z$="" 60060 IFA$="Q"THEN63000 60070 IFA$="B"THENSYS51459:PRINT"[147]LOAD"CHR$(34)"SOJOURN.START"CHR$(34)",8" 60072 IFA$="B"THENPRINT"RUN":POKE631,13:POKE632,13:POKE198,2:END 60080 GOTO 60000 62000 REM SOLARSYS 62010 POKE255,1:POKE253,0:POKE254,0:SYS51462 62018 SYS8198," ",0,190 62020 SYS8198," PRESS 'E' TO ESCAPE ",0,190 62050 POKE198,0:WAIT198,1:GET A$:IFA$="E"THEN60000 62060 GOTO 62050 62200 REM RETURN TO LS 62210 LOAD"HELLO CONNECT",8 62250 END 63000 REM QUIT? 63001 SYS51459 63002 PRINT"[147]QUIT FOR SURE?": POKE198,0:WAIT198,1 63003 GETA$:IFA$<>"Y"THENSYS51459: GOTO60000 63004 GOTO62200