1000 ' Start of menu program 1001 REM PATRICK LEABO--TUSCON 1002 REM 3-14-82 1003 DEFINT A-Z:COMMON MENU 1004 KEY OFF:DIM TI$(20),FINAME$(20),GRA(20):TI$(1)="Switch Displays":GRA(1)=1:TI$(2)="Next Menu":GRA(2)=0:TI$(14)="Quit":GRA(14)=0 1005 DEF SEG:SCREEN 0,1:NOMENU = 2:POKE 106,0 1006 COLOR 7,0:IF MENU=0 THEN MENU=1 1010 CLS:DEF SEG=0:IF (PEEK(&H410) AND &H30) = &H30 THEN DSPMODE = 1 ELSE DSPMODE = 2 1015 DEF SEG = &H40:POKE &H17,64:DEF SEG 1020 DEF SEG :POKE 106,0:IF DSPMODE = 1 THEN WIDTH 80 ELSE WIDTH 40 1022 COLOR 7,0:LOCATE ,,0 1025 ON MENU GOSUB 2000,3000 1030 LOCATE 1,1:PRINT"?";STRING$(37,"?");"?"; 1040 FOR N = 2 TO 22:LOCATE N,39:PRINT"?";:NEXT N 1045 FOR N = 2 TO 22:LOCATE N,1:PRINT"?";:NEXT N 1050 LOCATE 23,1:PRINT"?";STRING$(37,"?");"?"; 1060 LOCATE 2,5:PRINT"Patrick Leabo's fun DISK #1" 1070 LOCATE 3,10:PRINT TI$(0) 1075 L = 5:IF DSPMODE = 1 THEN GOSUB 9000 1080 FOR N=1 TO 14: 1090 LOCATE N +4,L:IF GRA(N)=0 THEN PRINT" "; ELSE IF GRA(N)=1 THEN PRINT"* "; ELSE PRINT "? "; 1095 PRINT CHR$(N+64);". ";TI$(N) 1100 NEXT 1105 LOCATE 22,4:PRINT"* color required ? 80 character"; 1110 LOCATE 20,26:PRINT" ":LOCATE 20,6:PRINT "Press Your Choice ";:COLOR 26,0:PRINT"?";:COLOR 7,0:WHILE INKEY$<>"":WEND 1115 CH$=INKEY$:IF CH$="" THEN 1115 ELSE PRINT CH$:CH=ASC(CH$):IF CH >78 THEN CH= CH-32 1120 IF CH<64 OR CH>78 THEN LOCATE 22,4:PRINT"SORRY-INVALID CHOICE !!!!!! ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105 1125 IF CH<>65 AND GRA(CH-64)=1 AND DSPMODE=1 THEN LOCATE 22,4:PRINT"WHOOPS-WRONG DISPLAY !!!!!!! ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105 1130 ON CH-64 GOTO 1140,1150 1132 IF CH=78 THEN LOCATE 22,4:PRINT"Bye. See you later !!!!!!!! ";:BEEP:END 1133 IF FINAME$(CH-64)="" THEN LOCATE 22,4:PRINT"NO PROGRAM YET !!!!!!!!!!!!! ":BEEP:FOR N=1 TO 2000:NEXT:GOTO 1105 1139 CHAIN FINAME$(CH-64),1000 1140 GOSUB 60000:CLS:GOTO 1010 1150 MENU = MENU + 1:IF MENU > NOMENU THEN MENU = 1 1160 GOTO 1010 2000 ' Menu # 1 Entries 2020 TI$(0)="Menu # 1" 2030 TI$(3)="Blackjack":FINAME$(3)="BLACKJCK":GRA(3)=2 2040 TI$(4)="Circles":FINAME$(4)="CIRCLES":GRA(4)=1 2050 TI$(5)="Donkey":FINAME$(5)="DONKEY":GRA(5)=1 2060 TI$(6)="Character Patterns":FINAME$(6)="DOTS":GRA(6)=0 2070 TI$(7)="Music":FINAME$(7)="MUSIC":GRA(7)=0 2080 TI$(8)="Space":FINAME$(8)="SPACE":GRA(8)=1 2090 TI$(9)="Othello":FINAME$(9)="OTHELLO":GRA(9)=2 2100 TI$(10)="Maxit":FINAME$(10)="MAXIT":GRA(10)=0 2110 TI$(11)="Hat Dance":FINAME$(11)="HATDANCE":GRA(11)=0 2120 TI$(12)="Kaleidascope":FINAME$(12)="KALEID":GRA(12)=0 2130 TI$(13)="Mortgage":FINAME$(13)="MORTGAGE":GRA(13)=0 2150 RETURN 3000 ' Menu # 2 Entries 3020 TI$(0)="Menu # 2" 3030 TI$(3)="Art":FINAME$(3)="ART":GRA(3)=1 3040 TI$(4)="Piechart":FINAME$(4)="PIECHART":GRA(4)=1 3050 TI$(5)="Ball":FINAME$(5)="BALL":GRA(5)=1 3060 TI$(6)="Color Bars":FINAME$(6)="COLORBAR":GRA(6)=1 3070 TI$(7)="Circles":FINAME$(7)="CIRCLE":GRA(7)=1 3080 TI$(8)="Strings":FINAME$(8)="STRINGS":GRA(8)=1 3090 TI$(9)="Wombat Math game":FINAME$(9)="WOMBAT":GRA(9)=2 3100 TI$(10)="Yahtzee":FINAME$(10)="YAHTZEE":GRA(10)=2 3110 TI$(11)="Pong-Pong":FINAME$(11)="PONGPONG":GRA(11)=2 3120 TI$(12)="Patterns":FINAME$(12)="PATTERNS":GRA(12)=1 3130 TI$(13)="Cribbage":FINAME$(13)="":GRA(13)=2 3150 RETURN 9000 REM 80 COLUMN FILLER 9005 YY=6:XX=44:M=1 9010 LOCATE YY+1,XX+M:PRINT"?????? ????????? ????? ?????" 9020 LOCATE YY+2,XX+M:PRINT"?????? ???????????? ????? ?????" 9030 LOCATE YY+3,XX+M:PRINT" ?? ??? ??? ???? ???? " 9040 LOCATE YY+4,XX+M:PRINT" ?? ???????? ????? ????? " 9050 LOCATE YY+5,XX+M:PRINT" ?? ???????? ??????????? " 9060 LOCATE YY+6,XX+M:PRINT" ?? ??? ??? ??? ??? ??? " 9070 LOCATE YY+7,XX+M:PRINT"?????? ???????????? ????? ? ?????" 9080 LOCATE YY+8,XX+M:PRINT"?????? ?????????? ????? ?????" 9090 LOCATE YY+11,53:PRINT"PERSONAL COMPUTER" 9100 RETURN 59999 GOTO 59999 60000 ' PROGRAM TO SWITCH BETWEEN MONO AND COLOR DISPLAY 60005 DEF SEG=0:IF (PEEK(&H410) AND &H30) = &H30 THEN DSPMODE = 1 ELSE DSPMODE = 2 60010 ADAPTER = 0:DEF SEG = &HB000:POKE 0,63:IF PEEK(0) = 63 THEN ADAPTER = ADAPTER OR 1 60015 DEF SEG = &HB800:POKE 0,63:IF PEEK(0) = 63 THEN ADAPTER = ADAPTER OR 2 60020 DEF SEG 60025 IF ADAPTER <>3 THEN BEEP:PRINT"Sorry--other display isn't installed!!":GOSUB 60080:RETURN 60030 ON DSPMODE GOSUB 60035,60060:RETURN 60035 REM switch to color/graphics adapter 60040 KEY OFF:CLS:LOCATE 10,15:PRINT"using other screen--PRESS the A key to get back here!":LOCATE ,,0 60045 DEF SEG = 0:POKE &H410,(PEEK (&H410) AND &HCF) OR &H10:DEF SEG 60050 SCREEN 1,0:SCREEN 0,1:COLOR 1,0:WIDTH 40:COLOR 7,0 60055 LOCATE ,,1,6,7:RETURN 60060 REM switch to monochrome adapter 60065 KEY OFF:CLS:LOCATE 9,5:PRINT"Using other screen.":LOCATE 10,5:PRINT"PRESS the A key to get back here!":LOCATE ,,0 60070 DEF SEG = 0:POKE &H410,(PEEK(&H410) OR &H30):DEF SEG 60075 SCREEN 0:WIDTH 80:LOCATE ,,1,12,13:RETURN 60080 FOR N = 1 TO 3000:NEXT:RETURN:'DELAY