@LX}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr hH1ͮ0jjjj BDEWK V D()h(`HυώЦхцЭ0ˎ0˭1}͎ͅ1h= BhDhEK 0B@D͝EiHI V `S` BLV``υώЦхцЭ0ˎ0˭1[QRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRE|(%,03#2%%.|ZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRC4h}isscreenwilltoggleonandoffasthe(%,0keyispressedbytheuser4hecon}trolling"!3)#programmaycontinueuninterrupted4hecolorofthisscreenisgovernedbya0/+%tomemorylocatio }n"!3)#cantogglethisscreenby0/+%ingnon zerotoQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRE|!newscreenc }anbeloadedby||defining&.asthefilenameof||the(%,03creenandcallinga|| }|ZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRC```````````````````````````````````````` }!,,+%9"/!2$!.$'2!0()##(!2!#4%23!2%6!,)$35#(!3[}^\]_[ }RRRRRRRR0ressHtoresumeRRRRRRRRU1 DIM FN$(15):FN$="D1:HELP.HLP":X=USR(256):GOSUB 2:POKE 207,148:GOTO 32 CLOSE #3:OPEN #3,4,0,FN$:X=USR(385,ADR(FN$)):RETURN }3 REM ۠Ҡàݛ4 REM ۠͠ӠŠݛ5 REM ۠ŠΤȠРΠݛ6 REM ۠ }ŠĠŠGOSUB 2ݛ7 REM ۠ϠĠנРΠݛ8 REM ۠ݛ9 REM ۠POKE 207,COL }ORݛ10 REM ݛ7 REM ۠ϠĠנРΠݛ8 REM ۠ݛ9 REM ۠POKE 207,COL H  FNCKESCRA&@I-CODE SCREEN LOADERFOR HELP$} SCREEN DEMO'A%@'A2 %;@,%6.D:  FOR HELP SCREEN DEMOK +@$}AA(1AA(K(@ !!(@ 9(@(@9($}@ for HELP routines/(@/(@___________________(@,(@,(@ HAYE$}S LIBRARY/#@@K:/6-A&9 @0-@@K:96-A&G6-@$}(>:A%,(G( INPUT FILE NAME D:.HLP 26-%@)@2"AU@9!@$}6-&@"=(>:,67<,.>:,=67%@<%@,..HLP& @@2'M @p+)A$}A(;AMAA((@->(>:A%,#-@ @#>(Press Ј to$} resume/@-@@(&HELP SCREEN0//(' 2!6$}-A&!-@7-@@F6 A(>:, A,)@6 AZ dF$}:A2,"$eG AAA0*@G@@iAR@( n%%6$}-F:@,%F:@,$AVx-A Y*@F:%, vA@"(>:A%,4-@$}@FAA2XAA2jA@dv(š B-A2AU#@$}- @,|A2'-@ @"D(-ˠŠĭO@o@@K:|)$ }@6:-@ @"0(Press Ј to resume: @P D:ICODE.BASo@@K:|)$X HELP version 4.0 ________________ The ATARI XL/XE machines have a console key marked ("}"HELP". What a great feature! Press this key during a program and get "on-line" help just like those other n(#}ame computers, right? Well not exactly. To date I am only aware of a single software product that makes use($} of this orphan feature (that is the doomed DOS 3.0 that nobody uses and few even acknowledge). So witness the(%} birth of HELP 4.0! HELP 4.0 is a utility for BASIC programmers to add flashy HELP Screens to your programs(&}. At any time during execution of a BASIC program pressing the console key marked HELP will produce a cust('}om screen providing aid or instructions to the user. Pressing the same console key again returns to the BASIC((} program, uninterrupted. As I said the screen displayed is created by the programmer. You are not restricte()}d to only one screen though. It can be changed at anytime from within the BASIC program. The HELP screen (*}can be composed of any ATASCII characters including all graphics characters. This can be used to provide (+}help by showing an example on the screen during an INPUT sequence or by giving instructions at the start or even(,} during a game. The moment the HELP key is pressed again the application program screen is returned. The (-} BASIC program continues to run, uninterrupted. *Several HELP screens can be used throughout a BASIC program (.} and each one can be loaded from disk at M/L speeds. *When used in conjunction with a RAMDISK, the speed is i(/}ncreased and the user sees NO DISK ACCESS *By changing screens, each time the HELP function is used the (0}screen that appears pertains exactly to the specific function of the program in use at the time. *The backg(1}round color of the HELP screen can be set within BASIC and changed as needed. *The BASIC program is not hal(2}ted or interrupted but a flag is provided so the BASIC program can "know" whether or not the user is viewing the (3}HELP screen. Also the HELP screen can be "forced" by BASIC to aid a user who is repeatedly INPUTing bad data.(4} *HELP 4.0 uses an interrupt vector but will not disturb either stage of VBI (so custom Display lists an(5}d sophisticated Graphics are no problem) Do I have you excited? Here's how it all goes together; A (6}seperate Basic Program (ICODE.BAS) is used to create your Graphics 0 HELP screens. All editing keys can be used a(7}nd any graphics characters. When you have created a screen and you are satisfied with it, press HELP and the(8} space-bar and it will be filed to disk in INTERNAL KEY-CODE form (this makes the files cryptic. An applicatio(9}n that comes to mind is on-screen hints in an adventure game). HELP40.LST is the driving program for HELP 4(:}.0. It is LISTed so you can merge it with you BASIC programs to unlock the power of HELP4.0. These three li(;}nes of BASIC code MUST BE THE FIRST 3 LINES OF YOUR PROGRAM! The M/L routine is stored in the file HELP40.OBJ. (<} It can be called from DOS with the (L)oad Binary option, but the best way to install it is to rename it AUTO(=}RUN.SYS. First it loads the M/L routine into the top of the stack.(note that this routine IS NOT relocatab(>}le).Here it is not visible and will not interfere with anything else in memory. This also means HELP 4.0 is (?} RESET-PROOF. Your BASIC program must first define FN$ as the device and filename of a HELP screen you crea(@}ted (this is how the screen can be changed throughout the program) Now just do a GOSUB 2 and presto-chango,(A} your new HELP screen is loaded. A poke at memory location 207 will establish the color of the HELP screen)(B}. Whenever the user toggles the HELP key to view a screen, memory locations 208 and 209 will also be swapped. Th(C}ese locations can be used in a varietly of ways to determine whether or not the user is viewing a HELP scr(D}een at any given moment..(I can't do all the creative work, you come up with the applications. That's the fun (E} part) By POKEing a non-zero value into memory location 732, BASIC can "force" the process to be reversed.((F}no keyboard activity after a certain amount of time might indicate the user needs help.) RAMDISK-- Wi(G}th a batch loader like RAMcopy! (ANALOG July 1986) or a DOS like OSS DOS XL you can copy all *.HLP files to the R(H}AMDISK during boot-up and Load HELP40.OBJ. Calling HELP screens from the RAMDISK is faster and masks the(I} whole process from the user since there is no visible disk access. This utility will make all your BASIC p(J}rograms sizzle!! I have put many hours into this set of routines and offer it into the Public Domain with no (K} expectation of compensation. PLEASE DO NOT SELL THIS OR DISTRIBUTE THIS PROGRAM EXCEPT WITH THE INTENT TO FUR(L}THER THE SINCERE INTEREST IN BETTER PROGRAMMING WITH THE ALMIGHTY ATARI 8-BIT COMPUTERS!!! T(M}HOM PARKIN Northern VirginiA ATARI NOVAtari(NSOLAR BAS IS A DEMO 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u<8<<  B JKIHiDiELV`L8 8 BLV`Lx,P}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`H,Q}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0IC,R}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::i,T}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8,U} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9,V}Ln; ` :Y;Y;L;L;)} Installing Р4.0; 9L; ; -9  ,W} L;D8:; :9 :Y;LZ   HH)H 0^}p h  hyhy D L> L JJ    ! LA*` BF0_}7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L0`}EE !E^ ^ E E7EȩEdE/EȩE  D0a} .L }  ;F d  ;?F7F? ( .   Z D LL d 0b} . D  L    p  E` , d)  D L) 0BM݊L݉0c} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G0d} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G0e} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK0s}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU 0t} L ? .  t`GBJ ~DEHI B V0dV0u}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh0v}DEL8HI4 0 HI,0 0  9 .G VLO0w},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI0x} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI0y} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO 0z}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -0{}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH0|}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu 0} 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG4~}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES4}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N'4}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx 4}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT4} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL4}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD4}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.4}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC4}COPY--FROM, TO?OPTION NOT ALLOWED 517 FREE SECTORS COPYING---D2:PATCH.OBJl# 0|D .L/%#4}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 4}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A4}LLOWED IN DESTINATION 0 <.|K)()(WHATD}SOLAR BAS IS A DEMO 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u@ IS UNIT OF MEASURE (UOM)?H*(*( (For UOM, enter MILES, FEET,R**(" INCHES, MILLIMETERS or any UOM)\ ( f, D}(},(DIAMETERS ARE IN  AND AREpC0@@@C( BASED ON   DIA. FOR SOLz--(%D}--(%A 0+(!( DIAMETERS IN D}+ A @!(!( DIAMETERS IN Q 6-$'.6-P:$B%?P,'B1(Q( MERCURY............. $D}N 6-$'.6-P:$B%?P,'BN( VENUS............... $N 6-$'.6-P:$B%?P,'BD}N( EARTH............... $N 6-$'.6-P:$B%?P,'BN( MARS................ $N 6-$'.D}6-P:$B%?P,'BN( JUPITER............. $N 6-$'.6-P:$B%?P,'BN( SATURN...D}........... $$N 6-$'.6-P:$B%?P,'BN( URANUS.............. $8N 6-$'.6-P:$B%D}?P,'BN( NEPTUNE............. $LN 6-$'.6-P:$B%?P,'BN( PLUTO............... $D}`'A8Au'A9ABj{ 4P+/0@@I0@@c0@@D} @k6.Mn(q({ At A6 ~9@'@@@9A3(3((D}A1'(  PRINT  CONVERT UOM1 A(  PRINTD}..(&  RERUN  GENERATE DISTANCES(  MAIN MENU++(" SELECT '@D}@'@@9 4P A'4PA4DA@ 4R6.S A D}4MA@!6.S! A 4C A4P( A6p2 A<[ +'0@D}@A0@@[0@@@F3 (}3(%P6-@D}6-Z&&(DISTANCES ARE IN  AND AREdC0@@@C( BASED ON   DIA. FOR SOLnD}"*4M(x--(%6-?!A@1('(  D}DISTANT FROM SOL1 AP*( (*(  DISTANT FROM SOLN,6-P:+$'$,$A%?P,'A/(N( MERD}CURY ............. K,6-P:+$'$,$A%?P,'AK( VENUS ............... K,6-P:+$'$,$A%D}?P,'AK( EARTH ............... K,6-P:+$'$,$A%?P,'AK( MARS ................ KD},6-P:+$'$,$@%?P,'@K( JUPITER ............. K,6-P:+$'$,$@%?P,'@K( SATD}URN .............. K,6-P:+$'$,$@%?P,'@K( URANUS .............. K,6-P:+$'$,$@%D}?P,'@K( NEPTUNE ............. K,6-P:+$'$,$@%?P,'@K( PLUTO ............... 'D}A8Au'A9ABq 4P%0@@?0@@Y0@@@D}a6.Md(g(q A A6 "'@'@@@,3(3((D}6A@1'(  PRINT  CONVERT UOM1 A J(  PRINTT(  RERUN^( D} MAIN MENUh++(" SELECT r'@@'@@9| 4P A'D}4PA 4R6.S A4MA@!6.S! A 4C A4P D}A6p AEARTH TABLE GENERATOR. (} (.( ȠĠӠ8( ( ((8($D}((((WHAT IS SCALE EARTH DIAMETER?(( (Enter a number) (  6-@)(D})(WHAT IS UNIT OF MEASURE (UOM)?*(*( (For UOM, enter MILES, FEET,&**(" INCHES, MILLIMETERS or any UOM)0 (D} :H (}#0@@@H( DIAMETERS OF SOLAR SYSTEM BODIESD**(WITH EARTH AT   DIAMETERN--(%D}b( DIAMETERS IN lQ 6-$'.6-P:$A%?P,'A1(Q( SD}OL................ $vN 6-$'.6-P:$A%?P,'AN( MERCURY............ $N 6-$'.6-P:$AD}%?P,'AN( VENUS.............. $N 6-$'.6-P:$A%?P,'AN( EARTH............D}.. $N 6-$'.6-P:$A%?P,'AN( LUNA............... $N 6-$'.6-P:$A%?P,'D}AN( MARS............... $N 6-$'.6-P:$A%?P,'AN( JUPITER............ $N 6-D}$'.6-P:$A%?P,'AN( SATURN............. $N 6-$'.6-P:$A%?P,'AN( URD}ANUS............. $N 6-$'.6-P:$A%?P,'AN( NEPTUNE............ $*N 6-$'.6-P:$AD}%?P,'AN( PLUTO.............. $>'A8Au'A9ABHq 4P%0@@D}?0@@Y0@@@a6.Md(g(q APR A6 \'@'@D}@@f3(3((p(  PRINTz(  RERUN(  MAIN MENUD}++(" SELECT '@@'@@9 4P A' 4R6.D}E A4MA@ A6p AP""SOLAR SYSTEM TABLE GENERATOR/ (} (/( Ҡ͠D}ĠϠ8( ( ((8($/(/($WHAT IS SCALE SOLAR SYSTEM DIAMETER? ((D} (Enter a number) (  6-@6-$ )()(WHAT IS UNIT OF MEASURE (UOM)?. )()( (For UOM enteD}r MILES, FEET,8 **(" INCHES, MILLIMETERS or any UOM)B ( L (}V >0@@@>(SOLAR SYSTEM DIAD}. =  [ A$` %%((Based on Pluto's Mean Orbit)j --(%t D}A$@~ 0&( DISTANCE IN  FROM SOL0 A$P &&( DISTANCE IN  FROM SOL 6-'?P P 6D}-$'.6-P:$A%?P,'A1(P( MERCURY............ $ M 6-$'.6-P:$A%?P,'AM( D} VENUS.............. $ M 6-$'.6-P:$A%?P,'AM( EARTH.............. $ M 6-$'.6-P:$D}A%?P,'AM( MARS............... $ M 6-$'.6-P:$A%?P,'AM( JUPITER...........D}. $ M 6-$'.6-P:$A%?P,'AM( SATURN............. $ M 6-$'.6-P:$A%?P,'AD}M( URANUS............. $ M 6-$'.6-P:$A%?P,'AM( NEPTUNE............ $ M 6-$'D}.6-P:$A%?P,'AM( PLUTO.(Mean Dist).. $ N 6-$'.6-P:$A%?P,'A1(N( ALPHAD} CENTAURI... $ 'A8Au'A9AB x 4P+/0@@I0@@D}c0@@@k6.Mn(x A# A6  '@'@@@( 3(3((D}2 A&0< 1'(  PRINT  CONVERT UOM1 A&@F (  PRINTP D}(  RERUNZ (  MAIN MENUd ++(" SELECT n '@@'@@9x D}  4P A' 4PA#  4R6.SS A 4MA@ "6.SS" AD}  4C A4P A6p A# SCREEN PRINT SUBROUTINE !6-F:A8,!6-F:A9, -A8D}F:B",-A9F:B#, ( ( $ EARTH GLOBE GENERATOR >6-@6-?bp>EARTH IS 12 INCHES; KID}LO=MILEAGE A(0 AR@" / (}/(! , ))(! |ȠȭŠD}|6 ))(! @ W( ( ((W(C  SCALE DISTANCE TO ACTUAL DISTANCE CAD}LCULATIONSJ N(N(C  ACTUAL DISTANCE TO SCALE DISTANCE CALCULATIONST &(&(  RETURN TO MAIN MENE}U^ -@@!( h /-@@(/( ENTER SELECTION r @| 4SDA)p 4ADE}A2 4999A@ A(0 2 (}2($ ŠŠϠ̠ ,,($ ΠȠȭE}Š͠ 3( (3(% ((( If distance is in feet, enter FT 1(1(&If distance E}is in inches, press  AR  4FT A4  0FT A0P '('(Enter the distance E}in inches (   (}( .+(#===================================.( + (SCALE+( DISTANCE IS:  INCHESE} ''( '@ FEET& .(.(#===================================0 6-P:$',6-P:$'',: .((E}ACTUAL.( DISTANCE IS:  MILESD %%(  KILOMETERSN .(.(#===================================X (E} ( ( (Press :b .(.(# >1 Time To Continue ToRoutinel **(" >2 Times To Return ToSubmenu ARE}( 0 (}0(" ̠ŠϠȠΠ **(" ȠȭŠ͠ $( ($(EnteE }r the actual miles AR .(.(# **6-P:+$',$A%?P,'E }A 226-P:+$''@,$A%?P,'A ::6-P:+$''@'AR,$A%?P,'A 0((E }SCALE 0(DISTANCE IS:  INCHES (  FEET !!(  MILES .(.(#E } /( ( (/(To Rerun , Enter:  **("To Return ToSubmenu:  ''(To ReE }turn To Main Menu:  ( *  4AD A24  4999 A@> A(@H *(*(Enter number of feetE} to convertR AR\ 6-$@f A0pp MAIN CONVERSION SUBROUTINEz Q0@@E}70@@Q0@@ @ &(&(  ##( |CONVERSION SUBMENE}U| ##(  ,( (,(SELECT THE DESIRED CONVERSION: ((Current UOM is ) (( E} FEET TO INCHES &(&(  INCHES TO MILLIMETERS ((  MILES TO FEET ((  FEET TO MILES ((E}  INCHES TO FEET ( (  INCHES TO MILES ( (  MILES TO INCHES ( ( ??A5PA5`E}A5pA5A5A5A5 L6-@(}5( ĠϠB6.INCHESL A6 U6-E}@%@(}9( ĠϠK6. MILLIMETERSU A6 J6-AR(}5( ĠϠE}@6.FEETJ A6 T6-@'AR(}>( ĠϠJ6.MILEST A6R6-@'E}@(}=( ĠϠH6.FEETR A6 \6-@'@'AR%(}F( E}ĠϠR6.MILES\ A6 V6-@$AR(}?( ĠϠL6.INCHESV A6$E}DISPLAY INTERUPT SUB$<#(6-F:A`,%F:Aa,$AV<%@"A0.-6-A6-%@#")E}- 8--72,169,142,141,10,212,141,24,208,104,64B9A'A@9BBAL$V4PE}A70`4DA70j4RA70t4MA70~4CA70 A@$ D:SOLAR.BASPD{QRRRRRRRRRRRR(%,03#2%%.RRRRRRRRRRRREZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRC9}4(!.+9/5for0layingthegame9})fyouhaveenjoyedit youarepleasedand9})ampleased9}QRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRREARRRRRRR0resstocontinueRRRRRRRDZRRRRRRRRRRRRRRRRRRRRRRR9 }RRRRRRRRRRRRRC9!}9"}8UhH1ͮ0jjjj BDEWK V D()h(`HυώЦхцЭ0ˎ0˭1U$}͎ͅ1h= BhDhEK 0B@D͝EiHI V `S` BLV``υώЦхцЭ0ˎ0˭1T[* Р٠ 0002* 0002* ͠ 0002* 0002* ɠ 0002* 0002* HELP40 OY&}BJ 0002* HELP40 HLP 0008* HELP40 LST 0004* ICODE BAS 0015* HELP40 DOC 0044* RAMDISK COM 0009* DOS SYS 0037* DY'}UP SYS 0042* SOLAR3 HLP 0008* Ϡ 0000*  0000 SOLAR BAS 0115* SOLAR HLP 0008* SOLAR2 HLP Y(}0008*  0000* AUTORUN SYS 00020398 FREE SECTORS 0000 SOLAR BAS 0115* SOLAR HLP 0008* SOLAR2 HLP X= ________________ HELP version 4.0 ________________ The ATARI XL/XE machines have ]*} a console key marked "HELP". What a great feature! Press this key during a program and get "on-line" help just ]+}like those other name computers, right? Well not exactly. To date I am only aware of a single software prod],}uct that makes use of this orphan feature (that is the doomed DOS 3.0 that nobody uses and few even acknowled]-}ge). So witness the birth of HELP 4.0! HELP 4.0 is a utility for BASIC programmers to add flashy HELP Screen].}s to your programs. At any time during execution of a BASIC program pressing the console key marked HELP will ]/} produce a custom screen providing aid or instructions to the user. Pressing the same console key again returns t]0}o the BASIC program, uninterrupted. As I said the screen displayed is created by the programmer. You are]A}I2}I3}I4}I5}I6}I7}I8}0ressHtobeginHU3/,!23934%-3#!,%22ev+ MMMMMMMMMMMMMMMMMMMM:}7iththisprogramyoucanconstructmathematicallyscaledmodelsofthe3olar3yM;}stem2elativesizesfortheplanetsandthe3unandtM<}heirrespectivedistancesfromoneanotheraregeneratedwhengivenabasemeasurement"aseM=}measurementscanbeassignedtoeitherthe%arth 3un orthe3olar3ystemM>}NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRM?}02%33ـY4/#/.4).5%M@}LU not restricted to only one screen though. It can be changed at anytime from within the BASIC program. The ]B}HELP screen can be composed of any ATASCII characters including all graphics characters. This can be used to]C} provide help by showing an example on the screen during an INPUT sequence or by giving instructions at the start]D} or even during a game. The moment the HELP key is pressed again the application program screen is returned.]E} The BASIC program continues to run, uninterrupted. *Several HELP screens can be used throughout a BASIC pro]F}gram and each one can be loaded from disk at M/L speeds. *When used in conjunction with a RAMDISK, the speed]G} is increased and the user sees NO DISK ACCESS *By changing screens, each time the HELP function is used the]H} screen that appears pertains exactly to the specific function of the program in use at the time. *The b]I}ackground color of the HELP screen can be set within BASIC and changed as needed. *The BASIC program is not ]J}halted or interrupted but a flag is provided so the BASIC program can "know" whether or not the user is viewing t]K}he HELP screen. Also the HELP screen can be "forced" by BASIC to aid a user who is repeatedly INPUTing bad da]L}ta! *HELP 4.0 uses an interrupt vector but will not disturb either stage of VBI (so custom Display lists and]M} sophisticated Graphics are no problem) Do I have you excited? Here's how it all goes together; A seperate]N} Basic Program (ICODE.BAS) is used to create your Graphics 0 HELP screens. All editing keys can be used and a]O}ny graphics characters. When you have created a screen and you are satisfied with it, press HELP and the spa]P}ce-bar and it will be filed to disk in INTERNAL KEY-CODE form (this makes the files cryptic. An application t]Q}hat comes to mind is on-screen hints in an adventure game). HELP40.LST is the driving program for HELP 4.0. It ]R}is LISTed so you can merge it with your BASIC programs to unlock the power of HELP4.0. These three lines of ]S}BASIC code MUST BE THE FIRST 3 LINES OF YOUR PROGRAM! The M/L routine is stored in the file HELP40.OBJ. It ]T}can be called from DOS with the (L)oad Binary option, but the best way to install it is to rename it AUTORUN.]U}SYS. First it loads the M/L routine into the top of the stack.(note that this routine IS NOT relocatable). H]V}ere it is not visible and will not interfere with anything else in memory. This also means HELP 4.0 is RESET-]W}PROOF. Your BASIC program must first define FN$ as the device and filename of a HELP screen you created (thi]X}s is how the screen can be changed throughout the program). Now just do a GOSUB 2 and presto-chango, your new ]Y} HELP screen is loaded. A poke at memory location 207 will establish the color of the HELP screen). Whenever th]Z}e user toggles the HELP key to view a screen, memory locations 208 and 209 will also be swapped. These locati][}ons can be used in a varietly of ways to determine whether or not the user is viewing a HELP screen at any gi]\}ven moment...(I can't do all the creative work, you come up with the applications. That's the fun part). By ]]}POKEing a non-zero value into memory location 732, BASIC can "force" the process to be reversed.(no keyboard acti]^}vity after a certain amount of time might indicate the user needs help.) RAMDISK-- With a batch loader ]_}like RAMcopy! (ANALOG July 1986) or a DOS like OSS DOS XL you can copy all *.HLP files to the RAMDISK during ]`}boot-up and Load HELP40.OBJ. Calling HELP screens from the RAMDISK is faster and masks the whole process fro]a}m the user since there is no visible disk access. This utility will make all your --------------------------]b}----- BASIC programs sizzle!! ----------------------- I have put many hours into this set of routines and of]c}fer it into the Public Domain with no expectation of compensation. PLEASE DO NOT SELL THIS OR DISTRIBUTE THIS]d} PROGRAM EXCEPT WITH THE INTENT TO FURTHER THE SINCERE INTEREST IN BETTER PROGRAMMING WITH THE ALMIGHTY ATARI]e} 8-BIT COMPUTERS!!! THOM PARKIN Northern VirginiA ATARI NOVAtariTHE ALMIGHTY ATARI\gaBР٠BB͠BBɠBBHELP40 OBJBHELP40 HLPBHELP40 LSTBICODE BASB,!HELP40 DOCB ORAMDISK COMB%XDOS SYSB*}DUP SYSBSOLAR3 HLPBNϠBBsSOLAR BASB1SOLAR HLPB9SOLAR2 HLPBB#AUTORUN SYSB%P B-)AWHELP DOC