@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u1490 DATA 12A9008583E684A584C906D006A9008584E686A057A206B5801869D09158C8CAD0F54C5FE4001A1B1C00000000,7111500 DATA 454600000T}00000000000000000000000294000000000000000002223240000001D1E1F202100004748494A2940,6101510 DATA D4D500000000D4D50000414243440U}04546000000002526270000000000000000002940000041424344D7000000,5651520 DATA 0000D70000000000004748494A3233343536000000004B4C4V}D0000414243440000000000000000000000000028,8641530 DATA 292A2B000000003738393A3B3C3D0000004E4F5045460000002223240000000000000W}00000002C2D2E2F303100,1561540 DATA 001A1B1C000000000029400000004748494A000025262700000000000000000000004B4C4D0000001D1E1F202X}1,1291550 DATA 0000004142430000451C000045460000002940D4D500000000D4D500004E4F5000000000000000001A1B1C0000,8361560 DATA 0000Y}4748C94A4748494A00C1C24344D70000000000D7A9C0000022232400454600001D1E1F202100000000A8A9,5931570 DATA AAAB00002223240000000000Z}0000000041424344002526004748494A294000000000000000ACADAE2F30310025,4751580 DATA 26270000000000000000222300002940000000000000[}4142434400222324000000000000000000000000000000,971590 DATA 0000C5C60025262741424344003233343536000000002526270000222380D1D20\}0000000D1D20022234748494A,6401600 DATA 292A2B000000003738393A3B3C3D0045460000294000252600D60000000000D60000252627002C2D2E2F3]}03100,3121610 DATA 1B4600000028292A2B4748494A4142430000000000000000000000001A1B1C00002829400000004748494A002C,6231620 DATA ^}2D2E2F3031004B2300000000001B46000000000000001D1E1F202100414243440028292A2B0000001B46000000,7491630 DATA 00252627222300474849_}4A222324000000000000000000004B4C4D2C2D2E2F3031004748494A28292A2B000025,3271640 DATA 2600000000002526294000D1D200000000D1D24E`}4F5000451C00001A1B1C00002C2D2E2F3031000000004B4C4D,3051650 DATA 0000414243C4D60000000000D6294000004748494A1D1E1F202100000000a}004B4C4D0000004E4F502223240045,3161660 DATA 46000000000000414243440000000000004546000028292A2B004E4F500000000000002526274748b}494A000000,5981670 DATA 0000000000000028292A2B4748494A2C2D2E2F30310000002940004B230000004B4C4D00454600000000000000,9151680 c}DATA 002C2D2E2F303100001A1B1C0000001B46004142430025262700004E4F004748494A000000D1D200000080D1D2,971690 DATA 0000001D1E1F2021d}004748494A000000000000A8A9AAAB000045460000000000D60000000000D6004546000000,9261700 DATA 22232400294000001B46000000AC2D2E2F30e}314748494A001A1B1C000000000000004748492940002526274142,5771710 DATA 43444748494A0000454600002940000000001D1E1F20210000000000f}0000004142434428292A2B00001A1B4600,9561720 DATA 00004748494A41424344003233343536000000000000000000000000002C2D2E2F3031004748g}4900000000001B,2941730 DATA 1C000000003738393A3B3C3D2940222300D1D200000080D1D200000000292A2B00004B4C001D1E1F202100A8A9,6371h}740 DATA AAAB80000000414243252600D60000000000D62223242C2D2E2F3031004E4F00001B460000ACAD2E2F3031004B,551750 DATA 4C4D00294000i}00000000000000002526271A1B1C000022232400004748494A28292A2B000000004E4F50414243,5041760 DATA 44454600000000000000001D1E1F2021j}0025262700000000002C2D2E2F303100454600004B4C4D004748494A29,9571770 DATA 4000000000000000C5C600002940000000002940002940000000k}4748494A004E4F502940000041424300000000,5611780 DATA 0000C748494A41424344000041424341424344001A1B1C0000222324414243441A1B1C00l}D4D500000080D4D500,2201790 DATA 4B4C4D22232400000029400000001D1E1F2021002526270000001D1E1F202100D70000000000D7004E4F502526,8m}241800 DATA 27000041424344222324000045460000000029400000000000000000000000000000001A1B1C00000000000000,5591810 DATA 0000252n}627004748494A000041424344000000000000000000000000001D1E1F20210000000000000000000000,38400000000000000,5591810 DATA 0000252Y\MDDELACLEA ""BANK SWITCHING p} DEMONSTRATIONFOR ATARI 130XE""BY ALLAN MOOSE/MARIAN LORENZ((C) 1985 ANALOG COMPUTING2((READ IN MEMORY CLEA q}RING SUBROUTINE<--@")A6%- FGG104,169,0,162,20,160,0,145,203,200,208,251,230,204,202,208, r}246,96P'A'A@dZ))GIVE ANTIC AND CPU ACCESS TO BANK 1dB@An##PREPARE OS A s}ND ANTIC FOR DEMOx) +@@)A@'@'@@d;%6-F:A`,%AV$F t}:Aa,;LOCATE DISPLAY LIST@%@+%@@d@SET SCREEN ADDRESS (} DIRTY MEMORY!! u}-A  CLEARING OUT MEMORY!%6-?:A6,%CLEAR OUT BANK 1( (}( DRAWING A FLOWER IN B v}ANK 1DRAW FLOWER ROUTINE-A`@86-@ $G:@$,*6-P:$E:,,86-P:$G:,, w}%"%,@%@@&/@%@@& -A ) (})  NOW A PAUSE... x}WHILE I"$$  DRAW A SPIRAL IN BANK 2,))GIVE CPU AND ANTIC ACCESS TO BANK 26B@A@/A@d y}/RESET FOR CLEAR ROUTINEJ%6-?:A6,%CLEAR OUT BANK 2TDRAW SPIRAL ROUTINE^-A@h5 z}6-@$'@`'6-P:$E:,,56-P:$G:,,r%"%,@%@@&|/@%@@& 22GIVE {}ANTIC ACCESS TO BANK 2, CPU MAIN MEMORYB@A% (}%  HERE IS THE SPIRAL-A  |}% (}%  AND NOW THE FLOWER22GIVE ANTIC ACCESS TO BANK 1, CPU MAIN MEMORYB@A -A }}  A D:BANKSW.BASIVE ANTIC ACCESS TO BANK 1, CPU MAIN MEMORYB@A -A +0100 .OPT NOLIST0110 COLOR4 = $02C80120 ICCMD = $03420130 ICSTA = $03430140 ICBAL = $03440150 ICBAH = $03450160 ICBLL }= $03480170 ICBLH = $03490180 ICAX1 = $034A0190 ICAX2 = $034B0200 CIOV = $E4560210 ;0220 ;SET STARTING ADDRESS0230 ;0}240 *= $60000250 ;0260 ;NOW OPEN KEYBOARD FOR INPUT0270 ;0280 CLD ;BINARY MODE!0290 LDX #$10 ;IOCB #}10300 LDA #$03 ;SET FOR...0310 STA ICCMD,X ;OPEN COMMAND0320 LDA #KEYBD/256 ;POINT TO...0330 STA ICBAH,X };K: TEXT...0340 LDA #KEYBD&255 ;FOR OPEN...0350 STA ICBAL,X ;OPERATION0360 LDA #$04 ;SET FILE...0370 STA ICA}X1,X ;FOR INPUT0380 LDA #$00 ;AND CLEAR...0390 STA ICAX2,X ;ICAX2!0400 JSR CIOV ;OPEN THE KEYBD!0410} BMI OPNERR ;BRANCH IF ERR!0420 ;0430 ;KEYBOARD'S OPEN, PRINT PROMPT!0440 ;0450 LDX #$00 ;IOCB #0 (SCREEN)04}60 LDA #$09 ;SET COMMAND...0470 STA ICCMD,X ;FOR PUT RECORD0480 LDA #PROMPT/256 ;POINT TO...0490 STA ICBAH,X } ;STARTING...0500 LDA #PROMPT&255 ;PROMPT...0510 STA ICBAL,X ;MESSAGE0520 LDA #$FF ;SET FOR...0530 STA I}CBLL,X ;MAXIMUM TEXT...0540 STA ICBLH,X ;LENGTH0550 JSR CIOV ;PRINT IT!0560 BMI PRTERR ;BRANCH IF ERROR}0570 ;0580 ;NOW ACCEPT A STRING FROM KEYBD0590 ;0600 GETTXT LDX #$10 ;IOCB #1 (KEYBD)0610 LDA #$05 ;SET UP...062}0 STA ICCMD,X ;GET RECORD CMD0630 LDA #INBUF/256 ;POINT TO...0640 STA ICBAH,X ;THE TEXT...0650 LDA #INBUF&255 ;I}NPUT...0660 STA ICBAL,X ;BUFFER0670 LDA #40 ;ALLOW MAXIMUM...0680 STA ICBLL,X ;OF 40 BYTES...0690 LDA #0} ;ON THE...0700 STA ICBLH,X ;INPUT OPERATION0710 JSR CIOV ;GET TEXT!0720 BMI GETERR ;OOPS!0730 ;}0740 ;NOW REPEAT IT BACK TO USER!0750 ;0760 LDX #$00 ;IOCB #0 (SCREEN)0770 LDA #$09 ;SET UP FOR...0780 STA} ICCMD,X ;PUT RECORD0790 LDA #INBUF/256 ;POINT TO THE...0800 STA ICBAH,X ;TEXT THE...0810 LDA #INBUF&255 ;USER JU}ST...0820 STA ICBAL,X ;TYPED IN0830 LDA #40 ;WE KNOW THERE...0840 STA ICBLL,X ;WON'T BE MORE...0850 LDA }#0 ;THAN 40 BYTES!0860 STA ICBLH,X0870 JSR CIOV ;REPEAT TEXT!0880 BMI PRTERR ;ERROR!0890 JMP GETTXT} ;LOOP FOR MORE0900 ;0910 ;HERE ARE THE ERROR HANDLERS0920 ;---------------------------0930 ;0940 ;KEYBOARD OPEN ERR}OR0950 ;0960 OPNERR LDX #$00 ;IOCB #0 (SCREEN)0970 LDA #$09 ;SET FOR...0980 STA ICCMD,X ;PUT RECORD0990 LDA }#OEMSG/256 ;POINT TO...1000 STA ICBAH,X ;KEYBOARD OPEN...1010 LDA #OEMSG&255 ;ERROR MESSAGE1020 STA ICBAL,X1030 LD}A #$FF ;SET LENGTH...1040 STA ICBLL,X ;TO MAXIMUM1050 STA ICBLH,X1060 JSR CIOV ;PRINT MESSAGE!1070 BMI} PRTERR ;BRANCH IF ERROR1080 BRK ;AND EXIT!1090 ;1100 ;TEXT PRINT ERROR1110 ;1120 PRTERR LDA #$34 ;PUT R}ED...1130 STA COLOR4 ;IN BACKGND COLOR1140 JMP FINISH ;AND EXIT!1150 ;1160 ;INPUT ERROR1170 ;1180 GETERR CPY }#136 ;ERROR #136?1190 BNE NOTEOF ;NO, NOT EOF.1200 FINISH LDX #$10 ;GOT EOF...1210 LDA #$0C ;CLOSE THE...1220} STA ICCMD,X ;KEYBOARD...1230 JSR CIOV1240 BRK ;AND EXIT!1250 NOTEOF CPY #128 ;ERROR #128?1260 BNE NOTB}RK ;NO, NOT BREAK1270 LDX #$00 ;IOCB #0 (SCREEN)1280 LDA #$09 ;PUT RECORD1290 STA ICCMD,X1300 LDA #BR}KMSG/256 ;POINT TO...1310 STA ICBAH,X ;BREAK KEY...1320 LDA #BRKMSG&255 ;ERROR MESSAGE1330 STA ICBAL,X1340 LDA #$}FF ;SET FOR...1350 STA ICBLL,X ;MAXIMUM...1360 STA ICBLH,X ;TEXT LENGTH1370 JSR CIOV ;PRINT IT,1380 } JMP GETTXT ;GO GET TEXT.1390 NOTBRK CPY #137 ;TRUNCATED?1400 BNE NOTTRN ;NO, NOT BREAK1410 LDX #$00 ;IOCB} #0 (SCREEN)1420 LDA #$09 ;PUT RECORD1430 STA ICCMD,X1440 LDA #TRNMSG/256 ;POINT TO...1450 STA ICBAH,X ;TRU}NCATION...1460 LDA #TRNMSG&255 ;ERROR MESSAGE1470 STA ICBAL,X1480 LDA #$FF ;SET FOR...1490 STA ICBLL,X ;MAXI}MUM...1500 STA ICBLH,X ;TEXT LENGTH1510 JSR CIOV ;PRINT IT,1520 JMP GETTXT ;GO GET TEXT.1530 NOTTRN LDX #}$00 ;IT'S ANOTHER...1540 LDA #$09 ;ERROR, SO...1550 STA ICCMD,X ;LET'S PRINT...1560 LDA #OTHER/256 ;A MESSAGE.}..1570 STA ICBAH,X ;INFORMING...1580 LDA #OTHER&255 ;THE USER.1590 STA ICBAL,X1600 LDA #$FF1610 STA ICBLL,X1620} STA ICBLH,X1630 JSR CIOV ;PRINT MESSAGE1640 JMP GETTXT ;GET MORE TEXT!1650 ;1660 ;HERE ARE THE TEXT MESSAGE}S1670 ;1680 PROMPT .BYTE "ENTER TEXT, CTRL-3 TO EXIT",$9B1690 OEMSG .BYTE "*** KEYBOARD OPEN ERROR ***",$9B1700 BRKMSG .B}YTE "*** DON'T PRESS THE BREAK KEY! ***",$9B1710 TRNMSG .BYTE "*** TEXT TOO LONG! ***",$9B1720 OTHER .BYTE "*** UNKNOWN ERR}OR!!! ***",$9B1730 ;1740 ;MISCELLANEOUS DATA1750 ;1760 KEYBD .BYTE "K:",$9B1770 INBUF *=*+401780 .ENDUNKNOWN ERRr/A ;@,+**(" Ҡˠ٠}Ҡr(r(gWARNING: THE MASTER DISK DIRECTORY MUST BE NAMED Үұ FOR THE FILE TO LOAD AUTOMATICALLY.(V(V}(K THIS PROGRAM WILL CREATE AN AUTORUN.SYS FILE TO LOAD Үұ---(%2}M(I(= INSERT DISK WITH Үұ AND PRESS ΠM7#(#( ŠԠ<C A}@C@@ D:AUTORUN.SYSF,-@@"(*@, P@Z*('( } ĠϠΠŠ*d*(*( Ҡ F:A,n3(0(% ԠŠ͠ŭΠ3'QQ}255,255,0,6,69,6,165,88,133,203,165,89,24,105,1,133,204,162,0,160,0,173,198'**2,141,197,2,185,53,6,129,203,230,203$'RR1}65,203,201,0,240,8,200,192,16,208,238,76,47,6,230,204,76,34,6,169,13,141,74.'**3,96,50,53,46,2,36,26,45,33,51,52,378'&&50},14,36,50,17,0,224,2,225,2,0,6D8:CREATOR.DIR,76,34,6,169,13,141,74.'**3,96,50,53,46,2,36,26,45,33,51,52,378'&&50522KKRDATRTITLEKSETOFFCURSEOFCUDDUMMPPD18PERPERILASCNODPERIOSEMAXIECCEINCLDY}VFFPRTRUUQQQQQELMYBHIJNDDRKHMMDAHMIAMIILALTSCCSJTTUERERRCHSE}@@A @@E A & E WKK B2uB3B3$}Bh} !"#$%&'(BV)*+,-.}/0123456789:;<=>}?@ABCDEFGHIJKLMN}OPQ@hRSTUVWXYZ[\]}^_`abcdB ****************** HALLEY HUNTER ** BY *}(* HARRY HAMMOND *)******************+**********************,* COPYRIGHT (c) 1985 */* ANALOG C}OMPUTING *2**********************<Fh6-@6-@=;,;@,9,;@,T6.٠}Ҡ^ A1h+@P_-@6(AAD%;-O:&@,_-P:H:,$@,P:H:,$@#,%Z$(}@.  6-##$ d?A@S#-@)-?(@7<,nK2@@'-}@@+ / 92G-AK xg-@!.(@analog computing<-AQA F:B7p,}U gA @}-@@*(@LOADING<-@@ W(@ CHARACTER SETi-@@}(@ _&;@1,;@,;@u,4-@18"D67,.>:,H Q6-C:,_-@K}"67,.>:,  6-C:,.-@u2">67,.>:,B K6-C:,OAA4++AY=A }A7OAAD6-F:@,!A',6-&A(8@DB7tr%6-F:A`,%AV$F:A}a,@%@F:%@,%X-%@%@(d@h r A203@K:,F:Ad,AU}3)(>:A%,HALLEY EPHEMERIS6-@6-'A6-A6-Ap6-@XS}6-@v6-@5"6-?rg,6-Ab#6( HALLEY HUNTER(@$$( an atari owner's guideJ&&(} to the 1985-86 apparitionT%"( of HALLEY'S COMET%(h( byr( HARRY HAMMOND((6-?:<}, A  A0A(>:A%,(>(&crunching numbers for r;a; and dec;;;;A( 6-6-A%A}6-A A6-AA6- A6- A@ 6-6-+A`',}$+'Ae%, 6- Ap 6-$ 6-& 6-06-&$G:,&:O:,=AD6-'+&$E:},,N 6-&X A`b&&6-M:+%,'+&,,$+G:','E:',,l6-$D:,v6-$A' 6-%6-$+&$,}'+%$E:,, 6-& 6- 6-$ 6-$6-G:,$G:,6-D:'M:6$%,,6-D:+G:,'E:,,$E:,,6}-$A'%'@*Ap'6-%A  6-%A` 6-$6-$E:, 6-Au }6-Ar   6-Av* 6-4  6-> A@H%%6-+A`'Ae%,$+'@@,R 6-\} Apf 6-p 6-$z6-?g $$6-%+A`',$$G:&?C,6-%@SC!A`6-&A`}  6-%A`6-+&AQ@,$6-+&$,'+%$E:,,6-+&,$6-+&,$ A@}6-$G:,6-'+&$E:,, 6-D:,6-$A'% A6-$G:,6-'+&+$E:,,,$ 6-D:,.}6-$A'%%A8!A`6-&A`B  6-%A`L 6-$V6-$+G:,'E:,,$G:&,`6}-'+$G:,,j 6-D:,t6-?@0d~6-G:,$E:,6-%E:,$G:,$G:,6-D:'M:6$%,,6-$A'}6-+G:,'E:,,$E:,!!6-&++G:,'E:,,$G:,,'E:, 6-D:,6-$A'6-P:'@,6-P:'@,}%&"@)&"%6-%A`%&")&"@%6-%A &"6@ 6-%A` &"66-&A} 6-'@6-$%$6-&$$$E:,( 6-M:,26-'E:,< 6-F A`P 6-6-Z}6-'@d A`n6-$@x6-@6-@!  6-@!6-@D6-%@$?CC}$K:, 6-%$@P$?CC$K:,6-P:@$,'@9-@9(%o;k;;;now for altitude and azimuth;;;} A$0SCREEN OUTPUT(>:A%,6-?:,,)(!HALLEY'S COMET for date indicated,(88(date: /}/  hrs;  min;--(%days before(-) or after(+) perihelion+(((closest approach to sun): P:,+(--(}%coordinates**************************DD(right ascension: P:A$%?P,'A hours"FF(declinatio}n: P:$A%?P,'A degrees,JJ(: P:@$+',%?P,'@ degree}s6MJ(: P:@$+',%?P,'@ degreesM(J--(%distances****************************T}++(comet to sun:  a;u;^( (approx; P:@$,h( million mi;)r,,(comet to earth: }  a;u;|( (approx; P:@$,( million mi;)(##(predicted magnitude**** --(%^^^^^^^^^^^^^^^}^^^^^^^^^^^^^^^^^^^^^^MB(:PRESS 'CTL-P' FOR PRINTOUT, ANY OTHER KEY FOR ANOTHER DATEM6-?:<,* )"@ }A3* A A6-+&,'@6-P:%,6-Ae$+&%,%P:,A!+"* @)},)"!6-&!A0 6-&6-@1$ AP& 6-%06-P:@0`$,&@c:6-%}%&Ae$D$N AX!A`A b6-%A`l  $v A6-&A`}A`$ A 6-$A6-P:%?P,6-'A$VALID DATE SUBROUTINE,( ( (,(} enter a valid date:$-@@$( (mo/dy/yr)6-@6-@ A!INPUT DATE -}@@( $*ENTER VALID DATE4 ->(xx-xx-xxH - >:AS,R A#0MONTH\ 6}-A:,f )!@A!p67<,.67@,./z(>:@1, A#0DAY 6-A:, A!}"*!@)A!AA+"@)"@)"@ )"@,*!@0A!!@1A! 6}-+67@<@,.+67@,./ >:@1, A#0YR 6-A:, )!@A!}67@<@,. AdAU$ INPUT TWO DIGITS -$  )68,-. BACKSPACE MEANS RESTAR}T8 "A&' A!B IGNORE NONDIGIT ENTRIESL !! @H)!@WA#@V  (>:,ECHO INPUT`  j }6.>:8,,67,.>:8,,t $~ ALTITUDE AND AZIMUTH 6-@e6-'A  A&6-$@$ 6-} 6-$@$ 6- 6-$ 6($(input latitude, longitude*06-66-  6-$6-$  6-&%}LHA 6-G:,$G:, 6-%E:,$E:,$E:, 6-&$  !6-M:, A% 6-D:', A& }6-N:,$'( 6-E:,$G:,2 6-&G:,$E:,$E:,< 6-6E:,$G:,F  "6-N:,$'P "A&pZ 6-D:',d}   6-%n   6-%%x $ ""GREENWICH MEAN SIDEREAL TIME FROM JULIAN DATE A( 6-&CEE} 6-'Be%6-P:, 6-$Be%%CEE 6-+&%?P,'Be% 6-BAT%A(f$ 6-%Cd$} 6-%? 1$$ 6-&= $$$ 6-'Bd6-&P:, ''6-@$$+%+&?P,$@'7,   6-}%@$ !@$6-&@$ $"  6-P:,6-@`$+&,,  6-P:,6-@`$+&,6 H=HRS, M=MIN., }S=SEC. GMST@ GREGORIAN INPUT FOR HALLEYJ  6-P:,6-&&?PT 666-6P:@$+P:+%@ ,'@,%,'@,}^ %6-N:&@ ,%6-O:&@ ,h 6-P:%$P:'@,,r $$6-6P:+P:'A,%,$?u,| ""6-%P:Au$'@ },%% 6-%Cr)%Ag$ A)  6-%6-& 44J IS INT(JULIAN DAY NO.), F IS FRACTIONAL PART} $ FIND UT Y-@!-(time to observe (hr,min)3C!@$) O-@!Y A0 C(>:A%,}(<(#is that daylight savings time (y/n)C) 1-@.(what time zone are you in?1( !!( (1) eastern (2) c}entral ""( (3) mountain (4) pacific ( (5) other 8((select:)8 @I)!@SA00} -@(  '6-&@D"@ ' A1P "@6-&& - 6-%@$%6-&@$}-6-%0   6-@$%6-&: 6-%'@$%'A@D $N j( (j(\what is the hour difference between } your time zome and greenwich (west is +, east is -)X b $l ERROR HANDLERv R6-F:A,46-F:A,%A}V$F:A,R"@)"@A2  V++(UH-OH! ERROR # HAPPENED...I(CHECK IT OUT AND RERUN...NS}V (>:AS, A1  LOAD CHARACTER SET $$6-+F:A,&@,$AV %-@I"%6-%}$@ ;-@"%)!@;%&A% "  AV'AV"$ OUTPUT TO PRINTER} !@P:(!( ))( DATA FOR HALLEY'S COMET 50(%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^5(} (Latitude & Longitude: +(O:, !( S + A3p ( N * ((O:, ( W( }A34 ( E> @(@(Date: //  hrs.  min.H 00(%Days before(-) or after(+) per}ihelionR 0+((closest approach to sun): P:,0(f 00(%Coordinates--------------------------p GG(Right ascen}sion: P:A$%?P,'A hoursz II(Declination: P:$A%?P,'A degrees }MM(ALTITUDE: P:@$+',%?P,'@ degrees RM(AZIMUTH: P:@$+',%}?P,'@ degreesR( 00(%DISTANCES---------------------------- ..(Comet to sun:  a.u.} 33( (approx. P:@$, million miles) //(Comet to earth:  a.u. 83( (approx. P:@}$, million miles)8( ;$(Predicted magnitude----)(.(3(8;$mm104,169,0,141,7,212,169,4,141,1}11,2,104,170,104,168,169,7,32,92,228,169,58,141,47,2,169,2,141,29,208,96BB104,169,0,141,2,208,141,240,2,169,7,160,98,162,}228,76,92,228WW216,169,1,141,240,2,169,58,141,47,2,169,0,170,157,0,6,202,208,250,165,85,10,10,24XX105,48,141,2,208,16}5,84,10,10,10,24,105,1,105,31,168,162,8,169,240,153,0,6,200,202SS208,247,230,0,165,0,74,74,74,41,1,208,4,165,1,208,2,165,}2,141,194,2,76,98,228X0,0,0,0,0,0,0,0,07,16,16,0,0,0,0,0,08,16,64,64,64,64,64,64,169,64,16,16,16,16,16 },16,6410,0,85,85,0,85,85,0,011,0,32,32,32,168,32,32,012,0,0,0,0,0,32,32,12813,0,0,0,168,0,0,0,0 }14,0,0,0,0,0,32,32,015,0,4,4,16,16,64,64,0,16!!0,168,136,136,136,136,168,0 17,0,160,32,32,32,32,168,0!!18, }0,168,8,40,160,128,168,0 19,0,168,8,168,8,8,168,0 20,0,8,40,136,168,8,8,0,21 0,168,128,168,8,136,168,0*""22 },0,168,128,168,136,136,1684""0,23,0,168,8,32,32,128,128,0>""24,0,168,136,168,136,136,168H 0,25,0,168,136,168,8,8,8, }0R26,0,0,16,0,0,16,0,0\27,0,0,0,0,0,16,16,031,0,84,68,4,20,0,16,097,0,16,84,68,68,84,68,0"98,0,80,}68,80,68,68,80,0,99,0,16,68,64,64,68,16,06100,0,80,68,68,68,68,80,0@101,0,84,64,84,64,64,84,0J102,0,84,64},84,64,64,64,0T103,0,20,64,64,68,68,84,0^104,0,68,68,84,68,68,68,0h105,0,84,16,16,16,16,84,0r106,0,4,4,4,}4,68,20,0|107,0,68,68,68,80,68,68,0108,0,64,64,64,64,64,84,0109,0,68,84,84,68,68,68,0110,0,68,68,84,84},68,68,0111,0,16,68,68,68,68,16,0112,0,80,68,68,80,64,64,0113,0,16,68,68,68,68,16,4114,0,80,68,84,80,}68,68,0115,0,84,64,84,4,4,84,0116,0,84,16,16,16,16,16,0117,0,68,68,68,68,68,84,0118,0,68,68,68,68,84,}16,0119,0,68,68,68,84,84,68,0120,0,68,68,16,16,68,68,0 121,0,68,68,84,16,16,16,0 122,0,84,4,16,16,64,84},0 D:HAL2.BAS,68,84,84,68,0120,0,68,68,16,16,68,68,0 121,0,68,68,84,16,16,16,0 122,0,84,4,16,16,64,84jkKKKADISKBMEMDSKINVDSKNDSKQUITTRASHINVTRASHLENGTSTARTRASKXYZZZOZORARAMSU} }} !"96-@6-@'6-@9AB@ss;@ ,;A `,;@ ,;@},;@,;@,;@,;@,;@,;@,d Bi 6.n6-B:,'@& "} % B >-@(>:@,.-@@>( Πՠ(-@(( >:@ ,%}-@!( %  3( >:@!,/-@@3( A9=-@0@ ( DI}R2-@0@=( NEW@-@@"( TRASH4-@@@( QUIT% "-@!@%(} 6-R:," A)T:,"A0"@A PC#"@)"@)"@+6-&7 }@C6-@C#"@)"@ )"@+6-%7!@"C6-@"?!@* @'6-%@}3!@6?6-@6?!@* @'6-&@3 @?6-@"*"A ? 11% }-'(>:,>:,-6-36-96-?6-+ -!(>:@,>:@,+ A T . "-@!@%(!}+6-.$^ ( 6--@!@%(TRASH($ J1+!@* @,)+!@* @,C-@0@G(J%"} "@AA !!!@* @"A2 // @*!*!@* @A5 !!"@#)"@%#}A7 a"@)"@'-@#--Z(( ^ a !!"@ )"$}@A8 K-@ -2A@@1 ;2A6-K Al I-@0@(%6-@2%}16-@296-%?6-I A "@!A3  6-& 6- A  6-%!&6-&&} A ::6.7+&@%,$@%<+&@%,$@&, < --@"-B:,8(>:@:7,,%A(,'}<  -@(  0-@7<,0 ,67<,.7,0  6. qB7+&@%,$@%@ <+(}&@%,$@,0DRRT-@%@g(̠Šq A6 "A8P D-@0@(,67B:,)}%,..DRR56.D:D67@,. < A60@ D:OPTION.DIR7(< % D:MASTER.DR2/-@%*}@/( ҠF:A,Z-@6@,-@0@0(: A@L-@0@P(Z A@+}'2AP@ '2$p-@0@/(>:@0,>:@,=-AA S-@%@f,}( p Atd-@ -@#J(( N R+dAA-}yAV~$$(} ŠנŠ3( (3(%Please do not use extenders or spaces)(%(ENTER 8 LE.}TTER FILENAME->) 4 %GB:,!@(3( FILENAME TOO LONG= A@G A7Z-B:,&7</},4.)7<,4 )(F( ILLEGAL FILENAMEP A@Z A7 d-B:,6-@:7,,0 @H)!@0}3(P(USE ONLY CAPITAL LETTERSZ A@d A7 (( Š ,(( ARE YOU SURE)7<1},0Y,%. 6.D:67,.(67B:,%,..DRR.6-V A7#@(+(G(ŠҠĠ2}KS0YV%; A6(2( WRITING NEW FILE TO DISK8;%-@@(6- A . 63}.D:67@,..67B:,%,..DRR( A6%@3(%< A -FE-@@%>4}(7+%,$@%<+%%,$@&,B E$-@ $I-@6?@02@@4 B-5}AF I$1-@ @1(1-@ @1( Copyright 1985 1-@ 6}@1( ANALOG Computing "1-@ @1( By Jason Leigh ,1-@ @1( Version7} 1.0 61-@ @ 1( 14th May 1985 @1-@ @1(JT:,"AA8}p^B-@ @6&-@ B(hi-@ %-( 1 C-@ 9}@_( i A'%+AA%AR'(%( Ҡˠ٠:}(('))(! COPYRIGHT 1985 ANALOG COMPUTING'(BY JASON LEIGH('( ŠԠ'(6-F:A,&@(6-;}$AV$'6-%@6-%F:," 6"A BP.'VAA%#B9-A6A="C<}G V6-?:A6,8'3 #B-Ag"/%AR%3 B' (}AVL'= #B-@!"=}-67,.>:,967,.>:,= Q'G-@"!67,.>:,% 3-@7"C67,.>:,G T'G-@"!>}67,.>:,% 3-@7"C67,.>:,G V'?6-@46-@ '6-@236-@296-?6-`'-@0?}@(e' Bj', 6.&@D:*.*,6-t'8  67<%@,.7,.6-%@8 B@}~'$'F:A,"A6$'L-A67<,. " B67@<@ ,.NO FILESL A N%%255,128,186A},163,186,162,186,128*N255,1,89,85,213,85,89,14N%%128,136,144,191,144,136,128,255>N1,5,29,249,29,5,1,255HN127,63B},36,45,45,45,45,45RN%%255,254,146,182,182,182,182,182\N45,45,45,45,45,45,36,63aN%%182,182,182,182,182,182,146,254fN%C}%255,128,188,188,128,131,132,132pN255,1,1,1,1,193,33,33zN%%132,132,131,128,129,129,128,255N33,33,193,1,129,129,1,D}255N!!33,33,193,14,144,144,32,224N127,128,124,16,14,4,3,0N224,24,7,7,5,31,224,0N%%255,231,195,129,231,231,231E},255N%%255,231,231,231,129,195,231,255N%%192,192,192,192,192,192,192,192N1,2,4,8,16,32,64,128N 131,71,46,28,56F},116,98,129N128,64,32,16,8,4,2,1R3313,141,14,142,29,29,30,30,30,30,15,143,16,144R23,24,29,30,30,25,23R5,6,2G}9,30,30,7,8&R9,10,29,30,30,11,120R137,138,29,30,30,139,1400uKK104,216,173,254,6,133,203,173,255,6,133,204,169,224,1H}33,206,169,0,133:u++205,162,0,161,205,129,203,230,203,230DuNN205,165,205,201,0,208,242,230,204,230,206,165,206,201,228,20I}8,232,248,96}O --!(7<@,% O(7@, Ҡˠ٠ }=-@:(&______________J}________________________=$ D:MASTER.DR1O(7@, Ҡˠ٠ }=-@:(&______________0bc[W k PAUSBEESCREEKEAFILEBDZKDLISLHXCDISKERLINKKKKKKK1DOT!L} !M}i6-@6-@'6!N}-@36-@?6-@K6-@W6-@iAB@6-A6-A'6-A36-A!O}f;@0,;@ ,;@0,;@0,;,r6-@2x6-6-@2.6.>:@ ,+"A.A !P} 6 A0* D:OPTION.DIR16U (}-@%( ENTER FILE$1-@:(G.16@-RA!Q}B@U&1 #A-@"-A6%1 fAB@+ 6.'6..6.60HA!R}A`TAR`Af(}<%6-F:A`,%F:Aa,$AV4%F:%,%<%#!6-F:A`,!6-!S}F:Aa,(4 -4(& master filer ____________________2>AR->($ Ԡ٠Š!T}<I-@%(FILES IN MEMORY=/#B3"7(IAdA$A4I:, A$-@@4( Ҡ!U}F0%@#-@0(K#-@#( FOLDER NAME->PT:,"@T:,"A !V}* 6-R:,*@*@A9"@6-%#!@8/6-@89 A -"@6-& !W}#6-- A  1& - (-(>:, 6-&6- A ! 6-!!* @A0!!!@!X}* @%A`!!!@(* @7A  A   -(|Escape|  -(|Update|  -!Y}(|Insert|  -(|Delete|  -( 6-R:, T:,A2 #"@6-& #6- !Z}#"@6-%!#6-  -%"(  "(  "(&  "(+ ![}"@A0@0 A0 + +@ AEAPA@ @ 4 (} DELETE FILE&6-!\}0#B4"$(( Disk name 4$  A"A@ 6.>67,.+ #B6-A`!]}+Aa/ A@U"'7<,4>)7<,4/6-%7!b}67,.+ AEE#B%"+4AEP6-%@e AE0 6(( INSERT DISK2( & PR!c}ESS RETURN6< AEp#D:*.*1-@e8< 4F:A,A60(ҭF:A,4 !d}16-B%#B"'6-&1 APw##(} INSERT NEW DISK FILE3I:, A-@/( !e}Ҡ3 8((Name of new disk * A8"AP 6.>67,. 4  AP@#B!f}'" 4#(Name already used'  AP0>(( INSERT DISK(:( PRESS TO START>< AP`!g}#D:*.*1-@e8< AF:A,A6$A =( ҭF:A,A ' #B!q}AB%DOS SYSB*)DUP SYSBSALTSCRN ENTBoBANKSW BASB'~BOOTPROGASMB CREATOR DIRBgHALLEY BASB6MASTER DR1BAKMASTER DR2BPSPEEDSKIBASBSPEEDSKIM65"'6-B%$@eG APw)-BB'g@e-#1"74=6-G APw A`A!r}aT (}-"( 10000 DATA%.-@9(G.5080?-QAB@T&AB@(}# !s}AP`#D:*.* (}-(DATA5-@ (G.5150 -2AB@5&AB@!t}(I-@d(}! AQu(.-=(%DATAI-@*(G.5180 AQp-( -(%-!u}@((G.51802 -AB@&7' 6.'F:A,A6AP`8 AQe<%AB@!A!v}% P (} p-@( |Escape |z-@( |Catalog|-@( |DiskDir|-@!w}( |Search |-@(  6-R:,T:,Ab#"@6-& #6-#"@!x}6-%!#6-#-@%"#( "( "( "(!y}"@A`@ A`8+ +@ ApAuAeB @ d(} SEARCH(!z}(Filename #B "7<,4>6.7<,4*6.7,54767,.v#B%7 At!~}"7+6-%@e5 Ap0(  App  #B*  "4!}Ar47<,4>(>(  Ar06-F:A,"&6-%@e0 Ap0 L$!(} DISK !}DIRECTORY$(V# Au0#D:*.*`2-@e( &*(. 2 j3F:A,A6(!}3(ҭF:A,t @-@)(|Escape|J-@)(|Print |T-@)(| Quit |^-@)!}(h 6-R:,rT:,A|#"@6-& #6-#"@6-%!#6-"-@!}0%""( "( "("@A@ A # #@ A!}A4!(} QUIT>!0((Save changes (Y) 00YA@H!J(#( PUT DISK WITH FILE !}F( IN DRIVE 1 & PRESS JR!"("( ŠW!! AP!BB'f\!" AP+"%!} D:MASTER.DR1f!(ҭF:A, " 46-$"M-B:,7<,4,(D(! DO NOT USE COMMAS !}IN NAMEJ6-M$" "=B:,!@ (4( NAME TOO LONG:6-=$" 6- $(#%%(} PRINT DISK !}CATALOGS2#1(-(!Print ntire or eparate catalogs1<#0E*0S F#4SAP#8(*(PREPARE PRINTER &!} PRESS RETURN.8 APU#K@P:<(ENTIRE DIRECTORY LISTINGA(K AZ#(ҭF:A!}, x# #B#  "4A#7<,4>(# ( A#"((Disk name to print"#!} 4 $ 6.>67,.$.(*(PREPARE PRINTER & PRESS RETURN.$& AP&@P:"$ 6-!},$3 A#B%"37)7<,4A`h$ ( A$F:A,"Ap$ %T:,"A%$%22!}A!-@ % /22$H&+A0$&KAB@+A 30!}?A`KAa&&(&( Ġ&))(! PRESS TO RETURN TO MENU&T:,A& !} @ &HAB@+%A1-@H(ҭF:A,&B('( ǠϠΠ1 A!}0B% D:MASTER.DR1 '$$112,112,112,66,11,6,2,2,65,0,6 'QQ0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,44,37,33,51,37,0,55,33,41,52,0,!}0,0,0,0,0,0,0 ',,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36'QQ47,0,46,47,52,0,48,50,37,51,51,0,34,50,37,33,43,0,0,0,0,0,0,0,!}0,0,0,0,0,0,0'0 D:MASTER.DR2'QQ47,0,46,47,52,0,48,50,37,51,51,0,34,50,37,33,43,0,0,0,0,0,0,0, 912''DSDATHEXLINDATLIDDBYTPASCHKSUTOTAIN@%} *** SPEEDSKI ***I @ 1(MAKE CASSETTE (0), OR DISK (1)5%}I!@@ C BC0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15(r;@,9@",/-%}@"3"<68,-@ L6-A V#A` A r( CHECKING DATA286-%@(LINE:!"8B:,@%}A <F%6-F:A,%F:A,$AV+C(LINE  MISSING!FFe-@@@36-@:7,,&@H%}O6-@:7%@,,&@He6-8,$@%8,P."@*@ $". @PZ% 6-%!A %6%}-&Ad  ""@Pn A x F:A,@A "Ap(A`%}*@A$)*@@<*@A%O*@@b*@Au*@@6@%}<-@A**@. 9@<(Ag+("INSERT DISK WITH DOS, PRESS RETURN8;%}@,<g@@ D:AUTORUN.SYS*@AU)*@AU<*@O*@%}@2b*@Au*@@F A{((READY CASSETTE AND PRESS RETURNH@@A(%}C:R#A0f-@@@j"w*@{ M(( WRITING FILE#6-@/6-A 9#AC A M %}@P(BAD DATA: LINE ``0,30,216,31,255,31,169,0,141,47,2,169,60,141,2,211,169,0,141,231,2,133,14,169,56,141%},232,2//133,15,169,202,133,10,169,36,133,11,24,96dd0000000000000000808080AA82AA00AA00000008080A00AA0000002020A020A015%}101015101015004111115010,958dd104000501050004040400040404040404040004040404040404000005441415544414100100011111111110000,%}900dd00511151115100010151010101510000005110111111000018180018180000000000001818007E67676767677F,404cc3F1C3C7C1C1C1C7F%}7F7E67077F7073737F7E67073F07677F3F060F1B337F7F070F7E607E6707677F3F7E67607E,25dd67677F3F7E67070E1C1C1C1C7E67677F67677F3F7E%}67677F07677F3F0000000000000001010105151555555500,702dd40405040505454000000010501000005151555555500005555555555553F3F55555%}55555550000000040505455,990$dd000000000F3C00FC0F00C0C0C0FCCCCFC0CF0000000000C000C000000F3C30000000FCCFC3C0C0C0C0C00000C0,2%}83.dd00000000000000000000000002000002020A2AAAAA20A8A8AAAAAAAAAA000000000080A0A00000000000020000,3498dd020A0A2AAAAA0000A%}AAAAAAAAAAA0303AAAAAAAAAAAAFCFCA8AAAAAAAAAA0000000080A0A8AA00000000000000,947Bdd000105000001051555555514555555555555550000%}505455555555000000000050545500000105000000001555,715Ldd555500000000555555550000000055555555FFFFFFFF55555555C0C0C0C05555555%}50000000040505455000000,346Vdd000000004000000000020A0A0A2A2A2A2A0080A0A0A0A8A8A80002020200000000AAAAAAAAAA030303A8AAAAAA,2%}65`ddAAC0C0C00000000080000000010505051515151500405050505454540001010100000000555555555503030354,316jdd55555555C0C0C0000%}0000040000000000000FC0F003F0030303C3CFF3FFC3F000000F000FC00F0F03C0F000000,522tdd00003C3CFF3C3F3C3C3C0CC0C00000000000000000%}00C0F0FFFF00000000000000C00000000000000000000000,730~dd000000000300000000030FFFFFC0C0C0C0C0C0C0C003030303030303032A2526262%}626252AAA55AA0000AA55AA,981ddA060A00000A060600000000000AA959A0000000000A858980000000000AA959A00000000008A89890000000000,5%}15ddA858A800000000002A252A0202020202AA55AA60606060606060A0989A959A989898A8989858A800000000989A,426cc969A989A95AA09090%}9090989898A80A060A080A858A80000000000AA959A000000000080A0682A252626262625,41dd2AAA55AA0000AA55AAA060A00000A26262000000000%}0A262620000000000A262620000000000AA569A9A989898,443dd9A9A95AA989898989868A08000000000002A252A0202020202AA55AA626262626262%}62A269665A66696A62A2A0,656dd800080A06262A298989898989A56AA000000114101010100101051111110510000005400540454000000544444,40%}5dd4454000000405444444400000000000000000000000000000000000000000000000058595A5B5C5D5E5F68696A,956dd6B6C6D6E6F60616263%}64656667707172737475767701020300040506070800090A0C0D0B78797A7B7C70704400,214dd0004000465004025252525252525252525054134240%}C00180018183C007C003088384424024800482200440088,911dd00000C00180018183C0018243C423C0024002400002400243000180018183C003E00%}0C111C2224401200124400,982dd22001104001902191CFE00B90078803880280040144C224100000010001800806058183A042D021C001A002200,86%}0cc428100420004B8B414340EA200BDC2289D00309DA035BDA22A9DE0319D8037BD822C9DC0339D6039E8D0E2BDC2,20dd299D00319DA036BDA22%}B9DE0329D8038BD822D9DC0349D603AE8E0E0D0E0A900AA9D403BE8D0FAA5588D3724A5,951 dd598D3824A900A07891588810FBA204BDC5249DC402CA%}10F7A9348D3002A9248D3102A01BA20FBD0024915888CA,735dd10F7A043A21FBD0024915888CAE00FD0F5A9208DF402A9008D08D2A9038D0FD2A9028%}D1DD0A9048D07D4208E26,854ddA9288D6F02A9988DC002A9768DC102A92E8D2F02A06EA213BD2024915888CA10F7A9008D3D24A9308D3E24A900,575%}(dd8587858F858E8588A9018589A900A2069580CA10FB86828EFC02CA8685A978858AA924858BAD1FD06A9005AD84,3242dd02D0F520F027A9068D3%}B24854D209B26A58A8D00D08D01D0208E26A965858CA924858D20AA26E68BA58BC948F0,598<dd15A58B4A4A4A8D00D28D01D2A20AA0002087264CE525%}8D1ED0AD7802C905F00AC906F004C907D005C6894CBE26,368FddC909F00AC90AF004C90BD005C6894CCF26C90DD005E6894CEC26C90ED007C68920002%}7C6894CEC26A58A8D00D0,681Pdd8D01D0ADFC02C9FFF003201027AD1FD0C906D0034C9425AD04D0F003209227A20CA000208726A588F0034C2227,412%}Zcc20FC274C102688D0FDCAD0FA60A900AA9D00069D8006CAD0F760A228A00CD004A2E4A05FA9064C5CE4A68BA017,54dddB18C9D800688B18C9D00%}06CA8810F160200027E68AA97D858CA924858DA906D00F200027C68AA94D858CA92485,116ncc8DA9048D00D2A90C8D01D220AA264C4F26200027A9658%}58CA924858DA9028D00D2A908D0E3A589C941D003C689,88xdd60A589D002E6896020A126A9FF8DFC02AD1FD0C903D0F94C9B2620A126A9798D00D2A9A%}68D01D2A200A0002087,599cc26A9608D00D2A9798D02D2A9AA8D01D28D03D2A280208726A9518D00D2A9608D02D2A9AC8D01D28D03D2A2C020,88%}dd8726A93C8D00D2A9518D02D2A9AE8D01D28D03D2208726208726A9008D01D28D03D2AD1FD06A9005AD8402D0F5,205dd4C9425A9018588A90F8590%}A9FF8D00D2E5908D02D2A5908D01D269C08D03D2C690A214208726A590D0E1A99585,101dd8CA924858D20AA26A21E208726A9AD858CA924858D20AA2%}6208726208726208726A9008588A965858CA924858D,766ddA90185894CAA26A900A078915888C04FD0F960A58AC92FD003E68A60C9C4D002C68A60A5%}88D06EA5894A4A4A4A,614ddD004A201D001AAE687A5878D05D4C910F005CAD0F2F051A9008D05D48587AD3D241869288D3D249003EE3E24A5,946%}dd8FD026AD3E24C935D031AD3D24C9A0D02AA9308D3E24A9008D3D24E68EA58EC90AD018A901858FD012AD3E24C9,127dd3AD00BAD3D24C950D004A9%}018588E680A580C906D02AA9008580E681A581C90AD01EA9008581E683A583C90AD0,753dd12A9008583E684A584C906D006A9008584E686A057A206B%}5801869D09158C8CAD0F54C5FE40032333435360000,890cc00A9C000000000D1D200000000D1D2001B4600000000454600000000000000003738393A%}3B3C3D004142434422,31dd2300D60000000000D61D1E1F202100004748494A00000000000000004546000028292A2B000000252627000000,358d%}d0000000000000028292A2B00000000294000000000004748494A2C2D2E2F303100000000000000000000000000,198dd002C2D2E2F3031000041424%}344000000004B4C4D00294000000000000029400000000000000000000000000022,215dd232400451C000000000000004E4F50414243440045460041%}42430000D4D580000000D4D5000000252627474849,531dd4A000000000000001A1B1C0000004748494A451C00002940D70000000000D700000028292%}A2B00001A1B1C0000,855dd00001D1E1F202100222324004748494A4142434400000000000000002C2D2E2F30311D1E1F2021000000000000,105"d%}d00000025262728292A2B000000000000000000000000000000000000294000002223240000001B1C0000454600,789,dd2C2D2E2F303100000000000%}00000000000001B460000414243440025262700004748494A4748494A00000000D1,3346ddD200000080D1D200000000004748494A0000000022232400%}0000004B4C4D003233343536000000D60000000000,188@ddD6000045460000294000001A1B1C00252627004546004E4F503738393A3B3C3D000000000%}00000000000474849,839Jdd4A414243441D1E1F20210000004748490000001A1B1C000000000029400000000000000000000000294000004B,916Td%}d4C4D00000028292A2B000000001D1E1F20210000004142434400000000000000000041424344004E4F5000002C,203^dd2D2E2F30310000003233343%}53600000000000045460080D1D200008080D1D2001B460000000022232400002940,366hdd00003738393A3B3C3D222324004748494A00D60000000000%}D61D1E1F2021000000252627004142434400000000,130rdd00222300252628292A2B0000000000000000000000000000451C00001B460000000000000%}00000000025262700,748|dd2C2D2E2F30310000000000000000000000004748494A4748494A001B460000000029400000001B460000000000,906d%}d1A1B1C00000000000000000000000000294000001D1E1F20210000414243441D1E1F20210000001D1E1F20214B,898dd4C4DD4D500000080D4D5414%}24344004546000000000000001B46000000000028292A2B000000004E4F5000D700,149cc00000000D7000000004748494A000000001D1E1F20210000%}002C2D2E2F30310000000000000000000000000000,88dd0000294000001A1B1C00000000000000004B4C4D0000000000004B4C4D0000000000000000%}0000000041424344,996dd1D1E1F2021000000294000004E4F500045460000004E4F5000000000000000000000222324000029400000451C,176dd%}000041424344001B46004748494A2223240000D4D500000000D4D5000025262700414243444748494A00000000,454dd004748494A00000000252627%}000000D70000000000D700000000004546000000000000000000A8A9AAAB000000,105dd1A1B1C000000000000000000000000000028292A2B4748494%}A004B4C4D000000ACAD2E2F3031001D1E1F202100,560cc00294000000000000000002C2D2E2F3031002940004E4F5000000000000000C5C600000080%}0000004142434400,75dd00000000000000000000000041424344001A1B1C00000000004748494A002940000000000000D1D280008080D1,829dd%}D2000032333435360000001D1E1F20210000000000000000414243440000000000D60000000000D60000373839,316dd3A3B3C3D00001B46000000000%}0001B460000222324000028292A2B00000000000000004546000029400000001D,292dd1E1F2021000000004748494A00252627002C2D2E2F30310000%}000000004748494A4142434400292A2B00002223,852dd000000294000000000004B4C4D0000000000000000000000000000294000002C2D2E2F30310%}025260000414243,842dd4400000000004F5000000000000000000000000000414243440000000000000000000000000000000000000000,335%}* 3690 BYTESD:SS.BAS000000004F5000000000000000000000000000414243440000000000000000000000000000000000000000,335$RdX**************************nX* *xX* SPEEDSKI *X* *)}X* By Bill Richardson *X* *X* Copyright (c) 1985 *X* ANALOG Computing *X* )} *X**************************X;X;OS EQUATESX;----------X;HPOSP0;;Plr0 horiz pos)}HPOSP1;;Plr1 horiz posP0PF;;Plr0 collisionGRACTL;;Graphics ctrlHITCLR;;Collision reg"CONSOL)};;Consol keys,AUDF1;;Audio Freq 16AUDC1;;Audio Ctrl 1@AUDF2;;Audio Freq 2JAUDC2;;Audio Ctrl 2)}TAUDCTL;;Main audio ctrl^SKCTL;;Serial ctrlhVSCROL;;Vert Scroll regrPMBASE;;P/M base addr|SETV)}BV\;;Set VBLANKSYSVBV_;;Exit VBLANKX;X;PAGE ZEROX;---------X;X;CLOCK;;Special clock!)}SCROLLED;;# lines scrolled!SCROLFLG;;Scroll done flagSPEED;;Scrolling speedXPOS;;Skier's horz posY)}POS;;Skier's vert posIMAGEPTR;;Image pntrTIMES;;Course scrl cntTIMESFLG;;End course flg&VOLUME;)};Volume of sounds0X;:X;SHADOW REGISTERS, ETC.DX;----------------------NX;XATRACTM;;Attract mode flgbSAVMSCX)};;Scrn memory pntrlSDMCTL/;;DMA enablevSDLSTL0;;Disp List pntrGPRIORo;;Priority regSTICK0x;;Joystic)}k 0STRIG0;;Stick trigger 0PCOLR0;;Player 0 colorPCOLR1;;Player 1 colorCOLOR0;;Playfld Color 0)}CHBAS;;CH Base addrCH;;Last Key pressedX;0X;SCRN1;;1st screenSCRN2;;2nd screen)}SCRN3;;3rd screen SCRN4;;4th screenSCRN5;;5th screen SCRN6;;6th screen*SCRLFIN;;End scrl adr4)}X;>HX;RPMSTART;;P/M area\PLR0;;Player0fPLR1;;Player1pX;zX;CHARACTER SETX;-------------)}X; X;'CHSET ========= ===== ===== == === = == )}= ======= A===P===@= P==P==@=@=@= @=@=@=@=@=@=@= @=@=@=)}@=@=@=@= =T=A=A=U=D=A=A ======= ===Q==Q==Q$ ===Q====Q. )}===Q====8! =========B ======~=gL g=g=g=g==?V =<=|===)}=` =~=g===pj s=s==~=g=t ?==g==?===~ 3=====~=` ~=g==g==? ~=)}g=`=~=g=g =?=~=g=== ===~=g=g =g=g==?=~ g=g===g= ?=======)}= =====U=U=U =@=@=P=@=P=T=T ======= ===U=U=U== U=U=U)}=U=U=U=?=? U=U=U=U=U=U==  ==@=P=T=U== ===<==== =====( =)}=======2 ====<=0===< =====F ========P' ======)}=====Z = =*=== =d =====n =======x$ ========= = )} *====== ====== ===== ===== =======$ =)}========= =====U=U=U =U=U=U=U=U=U=U ==P=T=U=U=U=U ====*}=P=T=U ======= =U=U=U=====U U=U=U=====U=U U=U==== U*}=U=U=U=== =U=U=U=U====" @=P=T=U====,! ===@====== 6  = =*=*=*}*=*==@ =====J! =========T ======^ =====h ====*}====r =======| =@=P=P=P=T=T=T! ========U=U U=U=U====T*}=U=U U=U=== ====@=== ======?==0 0=<=<==?==? =====*}== =<=======< <==<=?=<=<=<  ======= ======= ==*}===== =======$ ========== ====== =====*}&! ========*=%0 &=&=&=&=%=*=: U=====U=D =`=====`N `=====*}==X =======Xb =======l =======v =======X ==* }====*=%=* ======U==` `=`=`=`=`=`= ===== ====X= =* }====== ==== = = =   ===== `====X= ======= ==* }=====h *=%=&=&=&=&=%=* =U=====U ==`====  b=b=======b * }b=======b=b  ======V=* =====4 =====> =h======H* } =*=%=*=====R =U==b=b=b=b\ b=b=b==i=f=Zf f=i=j=b==p ====b=b=z *}===== V======A== ====Q=== Q====T==T==T ===T=D=D=*}D=T ===@=T=D=D=D ======= ======= =======X; X;ME*}SSAGES X;--------X;$GAMELOGO X=Y=Z=[=\=]=^=_  h=i=j=k=l=m  n=o=`=a=b=c=d  e=f=g=p=q=*}r$  s=t=u=v=w. +MYNAME ========== 8   = = = =x=y=zB {=|L X;V X;DISPLAY LIST` X;---*}---------j X;t DLIST p=p=D~    ===e  @  %=%=%=%  %=%=%=%  %=%==A DLIST X; X;*}P/M SHAPES X;---------- X; IM1  =====  <==|==0=  8=D=$==H=  H="==D== IM2*} == ===  ==<===$(  <=B=<==$=2  $===$==$< IM3 0=====F  <==>== =*}P  ="=$=@==Z  =D=="==d IM4 =====n  ====x=x  8==(==@=  L="=A=*}== IM5 =====`  X==:==-=  ===="=  B===B== X; X;Initial screen color*}s X;--------------------- X; COLTBL ===4= X; X;Copy screens X;------------ X; PRGSTART$> COPY*}1QSCRNBASE9" PSCRN19, PSCRN496 QSCRNBASE9@ PSCRN29J PSCRN59T QSCRNBASE9^ PSCRN39h PSCRN69r 2| HCO*}PY1 COPY2QSCRNBASE9 PSCRN19 PSCRN49 QSCRNBASE9 PSCRN29 PSCRN59 QSCRNBASE9 *}PSCRN39 PSCRN69 2 (> HCOPY2 Q> > "CLEAR1PSCRN69;;Clr bottom 2;;of scrolling& HCLEAR1;;*}screen memory0 QSAVMSC: PDLIST;;Set DLISTD QSAVMSC;;pointer toN PDLIST;;screen memoryX Q>;;Clearb %>x;;*}topl CLEARSCRP@SAVMSC7;;ofv 1;;screen ICLEARSCR $> COLORSCRQCOLTBL9;;color tbl PCOLOR09 0 ICOLORSCR *}Q>4DLIST;;Tell ANTIC PSDLSTL;;where to Q>5DLIST;;find custom PSDLSTL;;Display List %>;;This routine $>;;*}puts the top 16 I1QGAMELOGO9;;characters of P@SAVMSC7;;"SPEEDSKI" 1;;logo on the 0;;screen II1* %>C;;Puts4 $*}>;;the last> I2QGAMELOGO9H P@SAVMSC7;;16 charactersR 1;;of logo on\ 0;;the screenf (>p HI2z Q>5CHSET;;Give co* }mputer PCHBAS;;adr of new CHSET Q>;;Initialize PAUDCTL;;POKEY Q>;;sound PSKCTL;;chip Q>;;Enable PGRAC*!}TL;;P/M graphics Q>5PMSTART;;Tell where PM PPMBASE;;graphics are  ERASE;;Clear P/M memory Q>(;;Multi-color plrs *"}PGPRIOR;;Set P/M priority Q>;;light blue PPCOLR0 Q>v;;blue PPCOLR1$Q>.;;Double line.PSDMCTL;;resolution *#}plrs8%>nB$>;;This routineLI3QMYNAME9;;puts theVP@SAVMSC7;;author's name`1;;on the 3rd linej0;;of the screen*$}tII3~X;X;EVERY TIME INITIALIZATIONX;-------------------------X;INITQ>4SCRN1;;Point DLISTPDLIST ;;to *%}scrollingQ>5SCRN1;;screen PDLIST Q>;;Reset # scanPSCROLLED;;lines scrolledPTIMESFLG;;and TIMESFLGPT*&}IMES;;+ course scrollPSCROLFLG;;Do scrollingQ>;;Set scroll speed PSPEED;;to slow Q>;;Set$>;;clock(I4P*'}CLOCK9;;to2 0;;0:00.00<II4F&CLOCK;;"." characterP&CH;;Reset last keyZ0d&CLOCK;;":" characternQ>x;;Se*(}t horizontalxPXPOS;;pos of skierQ>$;;Set verticalPYPOS;;pos of skierX;X;BEGIN GAMEX;----------X;WA*)}ITLOOPQCONSOLW?;;START Pressed?DLETSGO;;Yes! start gameQSTRIG0;;Trigger pressed?HWAITLOOP;;No, wait"LETSGO**} CLEAR3RD;;Clr 3rd lineQ>;;Chg ANTIC 4 linePDLIST;;to GR.1 linePATRACT;;Reset Attract SCROLLIT;;Start VB*+}LANK"X;,X;INTRODUCTION6X;------------@X;JQXPOS;;Position theTPHPOSP0;;skier^PHPOSP1;;horizontallyhINTRO *,}ERASE;;Erase skierrQ>4IM2;;Tell IMAGEPTR|PIMAGEPTR;;which imageQ>5IM2;;toPIMAGEPTR;;draw DRAW;;Go draw s*-}kiers#YPOS;;Move down screenQYPOS;;See if skier hasR>H;;reached middleFMAINLOOP;;of screen? Yes.QYPOS;;Ve*.}rt position V?;;/2 V?;;/4 V?;;/8PAUDF1;;Set frequency,PAUDC1;;vol, distortion$> ;;HI byte and LO%>;;by*/}te of delay DELAY;;Slow down action&!INTRO;;Do it again0X;:X;THE MAIN LOOPDX;-------------NX;X#MAINLOOPPHIT*0}CLR;;Clr CollisionbQSTICK0;;Read joysticklR>;;Down and right?vFMP2A;;Go draw skierR>;;Up and right?FMP2*1}R>HMP3MP2"SPEEDMP2A!RIGHTX;MP3R> ;;Down and left? FMP5AR> ;;Up and left?FMP5R> ;;Left?*2}HMP6MP5"SPEED MP5A!LEFTX; MP6R> ;;Down?*HMP74 #SPEED> !STRAIGHTHX;RMP7R>;;Up?\HMP8f "S*3}PEEDp TESTSPDz "SPEEDMP8!STRAIGHTX;"CONTINUEQXPOS;;Horizontal posPHPOSP0;;Position Plr0PHPOSP1;;Posi*4}tion Plr1QCH;;Last key pressedR>FMP9;;No key pressed PAUSE;;Activate pauseMP9QCONSOLR>;;START pres*5}sed?HMP10;;No.!INIT;;Start overX;MP10QP0PF;;Check collisionFMP11;;Nobody crashed$ CRASH;;Crash occured*6}. MP11$> 8%>B DELAY;;Slow the actionLQSCROLFLG;;scrolling?VFMP12;;Yes. continue` !ENDGAMEjX;t MP12 TES*7}TX;;Skier's X coord~!MAINLOOP;;Loop backX;X;Delay subroutineX;----------------X; DELAY1 HDELAY0 HD*8}ELAY:X;X;Erase players 0 & 1X;-------------------X;  ERASEQ>>MP13PPLR09;;Erase Plr0(PPLR19;;Era*9}se Plr120< HMP13F:PX;ZX;Start scrolling & clockdX;-----------------------nX;xSCROLLIT$>5VBI %>4VBI HH*:}ALT2X;X;Disable VBLANKX;--------------X;HALT$>5SYSVBV %>4SYSVBV HALT2Q> !SETVBVX;X;Subrouti*;}ne to draw playersX;--------------------------X;DRAW$YPOS;;Get vert pos%>;;# bytes to draw"$DRAWLOOPQ@IMAG*<}EPTR7;;Get number,PPLR19;;Put it in Plr161@Q@IMAGEPTR7;;Get anotherJPPLR09;;Put it in Plr0T0^1hIDRAWLOOP;;D*=}o until Y=255r:|X;X;Set skier to rightX;------------------X;RIGHT TESTSPD #XPOSQ>4IM3;;Point toP*>}IMAGEPTR;;rightQ>5IM3;;skierPIMAGEPTRQ> HLEFT1X;X;Set skier to leftX;-----------------X;LE*?}FT TESTSPD& "XPOS0Q>4IM1;;Point to:PIMAGEPTR;;leftDQ>5IM1;;skierNPIMAGEPTRXQ>bLEFT1PAUDF1lQ> v*@}LEFT2PAUDC1 DRAW !CONTINUEX;X;Set skier to straightX;---------------------X;STRAIGHT TESTSPDQ>4*A}IM2;;Point toPIMAGEPTR;;straightQ>5IM2;;skierPIMAGEPTRQ> PAUDF1Q>  HLEFT2X; X;Test scrolli*B}ng speed*X;--------------------4X;>TESTSPDQSPEEDHR>A;;Is it > maximum?R HMP14;;No\"SPEED;;Make maximumf:p!*C}MP14QSPEED;;Speed < minimum?zHMP15;;No.#SPEED;;Make minimum MP15:X;X;Pause subroutineX;----------------*D}X;PAUSE HALT;;Stop scrollingQ>;;Reset lastPCH;;key pressed!MP16QCONSOL;;Wait for OPTIONR>;;to beH*E}MP16;;pressed !SCROLLITX; X;Gameover X;--------$X;.!ENDGAME HALT;;Stop scrolling8Q>y;;note CB PAUDF1LQ*F}>;;with pure toneVPAUDC1;;and some volume`$>;;hold the tonej%>;;for a whilet DELAY~Q>`;;note E PAUDF1*G}Q>y;;note C PAUDF2Q>;;with pure tonePAUDC1;;and more volume PAUDC2$>;;Hold tone half DELAY;;as long*H}Q>Q;;note G PAUDF1Q>`;;note E PAUDF2Q>;;more volume  PAUDC1 PAUDC2$>;;Hold tone( DELAY2Q><*I};;note C< PAUDF1FQ>Q;;note GP PAUDF2ZQ>;;more volumed PAUDC1n PAUDC2x DELAY;;Hold note twice DELAY;;as *J}long as 1stQ>PAUDC1;;Turn offPAUDC2;;soundMP17QCONSOL;;See if STARTW?;;pressed DMP18QSTRIG0;;If t*K}rig pressedHMP17;;start game overMP18!INITX; X;Crash! X;------X;CRASHQ>;;StopPSCROLFLG;;scrollin*L}g"Q>;;Set volume,PVOLUME;;to loud6 MP19Q>@ PAUDF1JSVOLUME;;255-VOLUMETPAUDF2;;for Freq 2^QVOLUME;;dist *M}0+VOLUMEhPAUDC1;;for Ctrl 1rO>;;Dist 12+VOLUME|PAUDC2;;for Ctrl 2"VOLUME;;Reduce volumn$> DELAYQVO*N}LUME;;See if VOLUME=0 HMP19Q>4IM4;;Point toPIMAGEPTR;;1st crashingQ>5IM4;;skierPIMAGEPTR;;image DRA*O}W$> DELAYQ>4IM5;;Point toPIMAGEPTR;;2nd crashingQ>5IM5;;skierPIMAGEPTR;;image& DRAW0 DELAY:*P} DELAYD DELAYNQ>;;EnableXPSCROLFLG;;scroll againbQ>4IM2;;StandlPIMAGEPTR;;skiervQ>5IM2;;upPIMAGEPTR*Q};;againQ>;;Reset speedPSPEED;;to slow !DRAWX;X;Clear screen's 3rd lineX;-----------------------X;*R}CLEAR3RDQ>%>xMP20P@SAVMSC71)>O HMP20 :X; X;Test skier's X position*X;-----------------------*S}4X;>TESTXQXPOSHR>/R HMP21\ #XPOSf:pX;z MP21R>Ą HMP22 "XPOS MP22:X;X;VERTICAL BLANK INTERRU*T}PTX;------------------------X;VBIQSCROLFLG;;If not 0 doHVBICLOCK;;not scrollX;X;Calculate scroll speed*U}X;----------------------X;QSPEED;;Current speed V?;;/2 V?;;/4$ V?;;/8.V?;;/16 If not zero8HVB1;;do fine scr*V}ollB$>;;If 0 make it 1L HSCROLLONVX;`VB1>jX;tX;Perform fine scroll~X;-------------------X;&SCROLLON#S*W}CROLLED;;lines scrolled QSCROLLEDPVSCROL;;put in vscrolR>;;reached limit?FCOARSE;;coarse scroll0;;No. Scro*X}ll untilHSCROLLON;;X=0FVBICLOCK;;Handle clockX;X;Do a coarse scrollX;------------------X; COARSEQ>;;*Y}Reset the finePVSCROL;;scroll reg and #PSCROLLED;;lines scrolled(QDLIST ;;DLIST's LO byte2,<O>(;;Add 40 (1 *Z}line)FPDLIST ;;New LO bytePDCOMPEND;;Over 256? No.Z#DLIST ;;Inc HI bytedX;nX;Check on scrolling limitxX;--*[}----------------------X;COMPENDQTIMESFLGHCOMPDONE;;check scrollingQDLIST ;;DLIST HI byteR>5SCRN4;;Reach*\}ed end?HVBICLOCK;;No, skip thisQDLIST ;;Examine LO byteR>4SCRN4;;LO byte limit?HVBICLOCK;;No, Go onQ>5S*]}CRN1;;Yes!PDLIST ;;Flip back toQ>4SCRN1;;beginning ofPDLIST ;;course#TIMES;;Inc # of timesQTIMES;;cou*^}rse scrolledR> ;;10 times?"HVBICLOCK;;No,Q>6PTIMESFLG;;Set times flag@ HVBICLOCKJX;T$X;See if end of scrol*_}ling reached^$X;-------------------------------hX;r%COMPDONEQDLIST ;;DLIST HI byte|R>5SCRLFIN;;Reached?HVBICLO*`}CK;;NoQDLIST ;;DLIST LO byteR>4SCRLFIN;;Reached?HVBICLOCK;;NoQ>;;Set scroll flag PSCROLFLGX;X;Clo*a}ck routineX;-------------X;"VBICLOCK#CLOCK;;Inc the 60ths QCLOCKR>;;6/60ths yet? HPRTCLOCK;;No Q> *b}PCLOCK;;Reset to zero& #CLOCK;;Inc 10ths cntr0 QCLOCK: R> ;;10/10ths yet?D HPRTCLOCK;;Clock on scrnN Q>;;Ye*c}s!X PCLOCK;;Reset to zerob #CLOCK;;Inc seconds cntrl QCLOCKv R> ;;10 secs. yet? HPRTCLOCK;;No, branch Q*d}>;;Yes! PCLOCK;;Reset to zero #CLOCK;;Inc 10s of secs QCLOCK R>;;60 seconds yet? HPRTCLOCK;;No, br*e}anch Q>;;Yes! PCLOCK;;Reset to zero #CLOCK;;Inc minutes cntr X; X;Print clock on screen X;-------------*f}--------!X; !PRTCLOCK%>W!$> ! VB2QCLOCK9;;Get a character*!,4!O>;;Make screen val>!P@SAVMSC7;;Put on scrnH!*g}3R!0\!HVB2f! !SYSVBVp!X;z!X;SCROLLING SCRN DATA!X;---------------------!X;!'SCRNBASE =2=3=4=5=6===!*h} =======Ҭ! ========F!$ ====E=F=====! ===7=8=9=:=;=&$ ==*}=======(=)H& *=+=G=H=I=J==KR& L=M======.\& /=0=1===== f&! !===)=@=*}====p& ===,=-=.=/=0=1z& =)=@==N=O=P==&! =========& ====A=*}B=C=D=&' ===========& A=B=C=D====&! =====G=H=I=J=& )=@==*}=====& =====& ===2=3=4=5=6& ====== =!=&! =======A=B=*}C&! D=========& =====7=8=9=:& ;=<======F=='! =====F==="=*}#' $===(=)=*=+=='! ======E=F==$' )=@======= .' !=====G=H=I=J*}8' =%=&='==,=-=.B'! /=0=1=======GL' H=I=J=A=B=C=D=V' )=*=+==="=#==`'! =*})=@======K=Lj'! M=========t'! =====)=@===,~' -=.=/=0=1==%=&'! =*}=A=B=C=D===='$ =O=P========'! =====A=B=C=D='$ ========*}=='X;''X;' PRGSTART'======='! =====A=B=C=D='$ ========((