5LOMEM :27649
10 c=4: b=1: d=7
20 b=b*16
30REM                   c = border color
40REM                   b = character color
50REM                   d = background color
60POKE 16953, 14
70POKE 17115, b+d:TEXT
80DIM f$(100), e$(100), m$(100), n$(100), p$(100)
90REM               ********************    
100REM               * ADAM Menu Master *      
110REM               *  By Scott Earley *   
120REM               *    & THE WIZARD  *    
130REM               *      5/25/85     *   
140REM               ********************  
150? CHR$(4); "mon c"
160POKE 17059, c:TEXT:HOME
170 d$=CHR$(4): beep$=CHR$(7)+CHR$(7)
180 w=1
190READ o$, x
200FOR j=1 TO x
210READ e$(j)
220REM                 
230READ y:LET a=a+y
240FOR k=w TO y+w-1
250READ n$(k), m$(k)
260 f$(k)=e$(j)
270NEXT k
280IF j=x AND k=y+w-1 GOTO 300
290 w=INT((k+4)/5)*5+1
300NEXT j
310 w=w-5
320HOME
330REM                *****************
340REM                *     MENU      *
350REM                *****************
360REM                         
370HTAB 2:VTAB 6:? " KEY "; :HTAB 12:? " PROGRAM "
380HTAB 3:VTAB 8:? "  I"
390HTAB 3:VTAB 10:? " II"
400HTAB 3:VTAB 12:? "III"
410HTAB 3:VTAB 14:? " IV"
420HTAB 3:VTAB 16:? "  V"
430HTAB 3:VTAB 18:? " VI  MORE"
440IF key%=999 GOTO 460
450FOR i=1 TO w STEP 5
460VTAB 1:HTAB 1:?
470 p$(i)=o$+"'s "+f$(i): t=17-INT(LEN(p$(i)))/2
480HTAB t:VTAB 1:? p$(i)
490 key%=0
500HTAB 11:VTAB 3:? "Page "; INT((i+4)/5); " Of "; INT((w+4)/5)
510HTAB 8:VTAB 8:? n$(i+0)
520HTAB 8:VTAB 10:? n$(i+1)
530HTAB 8:VTAB 12:? n$(i+2)
540HTAB 8:VTAB 14:? n$(i+3)
550HTAB 8:VTAB 16:? n$(i+4)
560HTAB 2:VTAB 21:INVERSE:? " Press Desired Function Key "; 
570HTAB 3:VTAB 23:NORMAL:? "('H' = Help  'ESC' = Exit)"
580HTAB 1:VTAB 21:GET key$
590NORMAL:? beep$
600HTAB 2:VTAB 21:INVERSE:? " Press Desired Function Key "; :NORMAL
610IF key$="h" OR key$="H" THEN GOSUB 1380
620IF key%=999 GOTO 360
630 key%=ASC(key$)
640IF key%=149 GOTO 1120:REM                  PRINT key
650IF key%=3 GOTO 1080:REM                 CONT C key
660IF key%=49 OR key%=50 OR key%=53 OR key%=54 THEN GOSUB 1230:REM                 1,2,5 or 6
670IF key%<>999 GOTO 700
680POKE 17059, c
690POKE 16953, 14:POKE 17115, b+d:TEXT:HOME:GOTO 360
700IF key%=144 OR key%=146 OR key%=147 THEN GOSUB 1600
710IF key%=152 OR key%=154 OR key%=155 THEN GOSUB 1600
720IF key%=999 THEN GOTO 680
730REM                  
740IF key%=27 GOTO 1080:REM                 ESCAPE key
750IF key%=128 GOTO 770:REM                 HOME key
760IF key%<160 OR key%>163 GOTO 830:REM                  ARROW keys
770IF key%=162 OR key%=163 THEN  i=i-10
780IF i<-4 GOTO 810
790IF key%=128 THEN  i=-4
800GOTO 1050
810 i=w-5
820GOTO 1050
830IF key%<129 OR key%>134 GOTO 580
840POKE 16953, 14
850IF key%-128=6 GOTO 1020
860IF m$(i+(key%-129))="" GOTO 580
870 j=(key%-128)*2+6
880 q$=n$(i+(key%-129))+"                    ": q$=MID$(q$, 1, 21)
890VTAB j:HTAB 7:INVERSE:? " "; q$:NORMAL
900VTAB j:HTAB 30
910FOR z=1 TO 500:NEXT z
920POKE 16953, 31
930VTAB 21:HTAB 2:? " Insert "; f$(i)
940VTAB 23:?:VTAB 23:HTAB 8:? "Then Select Drive!"
950REM                       VTAB 23: PRINT: VTAB 
960GET u$
970IF u$="1" OR u$="2" OR u$="5" OR u$="6" GOTO 990
980 key%=999:GOTO 360
990VTAB 23:?:VTAB 23
1000 m$=m$(i+(key%-129))
1010? d$; "run "; m$; ", D"; u$
1020HTAB 7:VTAB 18:INVERSE:? " MORE "; 
1030FOR z=1 TO 300:NEXT z
1040HTAB 7:VTAB 18:NORMAL:? " MORE "; 
1050POKE 16953, 14
1060NEXT i
1070IF i-5=w OR i-5<w GOTO 450
1080TEXT:HTAB 1:? d$; "nomon c"
1090HTAB 1:? d$; "catalog"
1100CLEAR
1110END
1120REM                      Catalog Printout 
1130VTAB 23:?
1140VTAB 21:? " Please Select Drive #":GET w$
1150IF w$="1" OR w$="2" OR w$="5" OR w$="6" GOTO 1170
1160 key%=999:? d$; "pr#0":VTAB 22:?:GOTO 360
1170VTAB 21:? d$; "pr#1"
1180HOME
1190? d$; "catalog d"; w$
1200? d$; "pr#0"
1210HOME
1220 key%=999:GOTO 360
1230IF key%=49 THEN  g$="d1"
1240IF key%=50 THEN  g$="d2"
1250IF key%=53 THEN  g$="d5"
1260IF key%=54 THEN  g$="d6"
1270 g$="catalog "+g$
1280HOME
1290? d$; g$
1300? "PRESS any key"; 
1310GET z$
1320? beep$
1330 key%=999
1340 z%=ASC(z$)
1350IF z%<>145 GOTO 1370
1360END
1370RETURN
1380HOME
1390REM               *** HELP MENU ***
1400HTAB 11:? " HELP MENU ":?
1410?:? " CATALOG "
1420?
1430? "Select Drive        #(1,2,5,6)"
1440? "Print                  <Print>"
1450? "Exit                    <Undo>"
1460?:? " SCREEN COLORS "
1470?
1480? "Characters         <Move/Copy>"
1490? "Background         <Store/Get>"
1500? "Borders            <Wild Card>"
1510? "                (Shift = Back)"
1520?:? " PAGING "
1530?
1540? "Forward       <Up or Rt Arrow>"
1550? "Backward    <Down or Lt Arrow>"
1560? "Page 1                  <Home>"
1570INVERSE:?:? "Press any Key!"; :NORMAL
1580 key%=999
1590GET t$:HOME:RETURN
1600IF key%=146 THEN  b=b+16
1610IF key%=147 THEN  d=d+1
1620IF key%=144 THEN  c=c+1
1630IF key%=152 THEN  c=c-1
1640IF key%=154 THEN  b=b-16
1650IF key%=155 THEN  d=d-1
1660IF c>15 THEN  c=0
1670IF c<0 THEN  c=15
1680IF b>240 THEN  b=0
1690IF b<0 THEN  b=240
1700IF d>15 THEN  d=0
1710IF d<0 THEN  d=15
1720POKE 17115, d+b:POKE 17059, c:TEXT
1730 key%=999
1740RETURN
1750 d=d+1
1760REM                Replace DATA as Follows:
1770REM                # OF DISCS
1780REM                NAME of first disc
1790REM                # of PROGRAMS on that Disc
1800REM                DISCRIPTION of Program
1810REM                EXACT NAME of Program
1820REM                 REPEAT for as many discs specified
1830REM                ETC..... ETC.....
1840REM              *** Your first name, # of Discs 
1850DATA                 John,2
1860REM                 Name of First disc, # of programs on that disc
1870DATA               Program Aids,19
1880REM                 Discription, Program name
1890DATA             Slick Copy,SlickCopy
1900DATA             Copy Segments,ManualCopy
1910DATA               Copy Basic (Boot D5),BasicCopy  
1920DATA             Copy Cartridges,cartcopy
1930DATA             Edit Any Block,tapeedit
1940DATA             Key Information,keyinfo
1950DATA             Quick Conversions,HexyDexy
1960DATA             Numeric Conversions,numbers
1970DATA             Dump Memory,memorydump
1980DATA             Adam System Tests,TEST
1990DATA             Print Small Labels,labelSml
2000DATA             Print Big Labels,labelBig
2010DATA             Create a Shape Table,shapetable
2020DATA             Renumber Lines,utility
2030DATA             Rescue Tapes,rescue
2040DATA              Specific Memory Dump,SpecDump
2042DATA              Set Screen Size,ScrnSize
2050DATA             Read Tutorials,mastertext
2060DATA             Run Hello,HELLO
2070DATA       General Programs
2080DATA           16
2090DATA       Gingerbread Caper,CAPER
2100DATA       Startrek,FIGHTER  
2110DATA        Three Adventures,easy
2120DATA        Hidden Tomb,TOMB 
2130DATA        The Calendar,Calendar
2140DATA        Dial A Word,DialAWord
2150DATA        Play A Song,Music
2160DATA        Create Your Biorythyn,Biorythym
2170DATA        Have Fun Drawing,PencilFun
2180DATA        Watch a Square,SquareDraw
2190DATA        Cosmic Rays,CosmicRays
2200DATA        The Night Sky,Stars
2210DATA        The Cosmic Clock,TIMEDRAW
2220DATA        Question,third
2230DATA        Going to the Dogs?,Dogs
2240DATA         Reset Start,Start
65535END
