Listing of file='MENU.BAS;0F' on disk='vmedia/multi_peripheral_interface_demo-sector.ccvf'
10 REM *** MENU FOR MULTI-PERIPHERAL INTERFACE *** 20 REM 30 REM COPYRIGHT (C) 1982 BY MICROCOMPUTER TECHNOLOGY 40 REM 50 OUT 8,255:PLOT 12,6,3,3,64,0:GOSUB 40000 60 GOTO 60000:REM COMES BACK TO LINE 100 70 REM 80 REM 90 GOSUB 40000 100 REM *** START OF PROGRAM PROPER *** 110 REM 120 PLOT 3,0,8,6,2,14 130 PRINT " MULTI-PERIPHERAL INTERFACE DEMONSTRATION DISK" 140 PRINT :PLOT 15 150 PRINT TAB( 15);"SELECT ONE OF THE FOLLOWING:" 160 PRINT 170 PRINT TAB( 15);"D = DIAGNOSTIC/TEST PROGRAMS" 180 PRINT TAB( 15);"G = GAMES" 185 PRINT TAB( 15);"S = SOUND/SCROLL/NOECHO MENU" 190 PLOT 3,25,20,11 200 PRINT "OPTION: ";:CH= CALL (2):A$= CHR$ (CH) 205 PRINT A$:X= CALL (0) 210 IF A$= "D"THEN GOTO 1000 220 IF A$= "G"THEN GOTO 2000 225 IF A$= "S"THEN LOAD "SWDEMO":RUN 230 GOTO 190 1000 REM *** DIAGNOSTIC/TEST PROGRAM MENU *** 1010 REM 1020 PLOT 12 1030 PRINT TAB( 10);"DIAGNOSTIC/TEST PROGRAM MENU":PRINT 1040 PLOT 15 1050 PRINT TAB( 15);"J = JOYSTICK TEST" 1060 PRINT TAB( 15);"S = SOUND TEST" 1070 PRINT TAB( 15);"L = LIGHT-PEN TEST (IF INSTALLED)" 1080 PLOT 3,0,20,11 1090 PRINT "OPTION: ";:CH= CALL (2):A$= CHR$ (CH) 1095 PRINT A$:X= CALL (0) 1100 IF A$= "J"THEN GOTO 1200 1110 IF A$= "S"THEN GOTO 1500 1115 IF A$= "L"THEN GOTO 1800 1120 GOTO 1080 1200 REM *** JOYSTICK ROUTINES *** 1210 PLOT 6,2,12 1220 PRINT TAB( 10);"PLUG IN THE JOYSTICKS AND MAKE SURE THE" 1230 PRINT TAB( 10);"INTERFACE IS TURNED ON.":PRINT 1240 PRINT TAB( 15);"N = NUMERICAL TEST" 1250 PRINT TAB( 15);"P = PLOTTING TEST" 1260 PRINT "OPTION: ";:CH= CALL (2):A$= CHR$ (CH) 1265 PRINT A$:X= CALL (0) 1270 IF A$= "N"THEN GOTO 1300 1280 IF A$= "P"THEN GOTO 1350 1290 GOTO 1260 1300 LOAD "JOYTST":RUN 1310 GOTO 90 1350 LOAD "JOYPLT":RUN 1360 GOTO 90 1500 REM *** SOUND ROUTINES *** 1510 PLOT 6,2,12 1520 PRINT TAB( 10);"MAKE SURE THE INTERFACE IS TURNED ON" 1530 PRINT TAB( 10);"AND THE VOLUME IS TURNED UP.":PRINT 1540 PRINT TAB( 15);"S = SINGLE FREQUENCY GENERATOR" 1550 PRINT TAB( 15);"M = MULTIPLE FREQUENCY GENERATOR" 1560 PRINT TAB( 15);"C = COMPLEX SOUND GENERATOR":PRINT 1570 PRINT "OPTION: ";:CH= CALL (2):A$= CHR$ (CH) 1575 PRINT A$:X= CALL (0) 1580 IF A$= "S"THEN GOTO 1650 1590 IF A$= "M"THEN GOTO 1700 1600 IF A$= "C"THEN GOTO 1750 1610 GOTO 1570 1650 LOAD "FREQ":RUN 1660 GOTO 90 1700 LOAD "FREQ3":RUN 1710 GOTO 90 1750 LOAD "SNDGEN":RUN 1760 GOTO 90 1800 REM *** LIGHT-PEN ROUTINES *** 1810 PLOT 6,2,12 1820 PRINT TAB( 10);"PLUG IN THE LIGHT-PEN, MAKE SURE THE INTERFACE" 1830 PRINT TAB( 10);"IS TURNED ON AND TURN SENSITIVITY UP FULL.":PRINT 1840 PRINT TAB( 15);"S = SENSITIVITY ADJUSTMENT/TEST" 1850 PRINT TAB( 15);"D = DEMONSTRATION MENU" 1860 PRINT "OPTION: ";:CH= CALL (2):A$= CHR$ (CH) 1865 PRINT A$:X= CALL (0) 1870 IF A$= "S"THEN GOTO 1900 1880 IF A$= "D"THEN GOTO 1920 1890 GOTO 1860 1900 PLOT 27,4:PRINT "RUN LPDRAW":PLOT 27,27 1910 GOTO 90 1920 LOAD "MNUTST":RUN 1930 GOTO 90 2000 REM *** GAMES MENU *** 2010 REM 2020 PLOT 12,6,3 2030 PRINT TAB( 20);"GAME PROGRAM MENU":PRINT 2040 PLOT 6,2,15 2050 PRINT TAB( 10);"1 = TABLE TENNIS (ONE OR TWO PLAYERS)" 2060 PRINT TAB( 10);"2 = LASER (REAL-TIME SPACE WAR)" 2070 PRINT TAB( 10);"3 = DEATH RAY (VARIATION ON LASER)" 2075 PRINT TAB( 10);"4 = DOG FIGHT (SHOOT THE RED BARON - HARD)" 2080 PLOT 3,0,20,11 2090 PRINT "OPTION: ";:CH= CALL (2):N= CH- 48 2095 PRINT N:X= CALL (0) 2100 IF N> 4OR N< 1THEN GOTO 2080 2110 ON NGOTO 2200,2300,2400,2500 2120 REM 2200 PLOT 27,4:PRINT "RUN TTTWO":PLOT 27,27 2210 GOTO 90 2300 PLOT 27,4:PRINT "RUN LASER":PLOT 27,27 2310 GOTO 90 2400 PLOT 27,4:PRINT "RUN DTHRAY":PLOT 27,27 2410 GOTO 90 2500 PLOT 27,4:PRINT "RUN DOGFGT":PLOT 27,27 2510 GOTO 90 40000 REM *** WRITE "MICRO TECH" *** 40010 REM 40020 RESTORE 40000 40030 DATA 10,16,10,17,10,18,11,19,12,20,13,20,14,19,14,18 40040 DATA 15,17,15,16,15,15,15,14,15,13,14,12,14,11,14,10 40050 DATA 14,9,14,8,13,7,13,6,13,5,13,4,13,3,12,2,12,1 40060 DATA 16,17,17,18,18,19,19,20,20,20,21,19,21,18,21,17 40070 DATA 21,16,21,15,21,14,21,13,20,12,20,11,20,10,20,9 40080 DATA 20,8,19,7,19,6,19,5,19,4,19,3,18,2,18,1,22,17 40090 DATA 23,18,24,19,25,20,26,20,27,19,27,18,27,17,27,16 40100 DATA 27,15,27,14,27,13,26,12,26,11,26,10,26,9,26,8 40110 DATA 25,7,25,6,25,5,25,4,25,3,26,2,27,1,28,1,29,1,30,1 40120 DATA 31,2,32,3,32,4,33,5,33,6,33,7,34,8,34,9,34,10,33,4 40130 DATA 33,3,33,2,34,1,35,1,36,2,37,3,37,4,37,5,37,6,38,7 40140 DATA 38,8,39,9,40,10,41,10,42,10,43,9,38,2,39,1,40,1 40150 DATA 41,1,42,1,43,1,44,2,45,3,46,4,47,5,48,6,48,7,48,8 40160 DATA 48,9,48,10,48,11,48,12,47,12,46,12,46,11,46,10 40170 DATA 47,10,49,10,50,10,51,10,52,10,53,10,54,10,53,9 40180 DATA 53,8,53,7,52,6,52,5,52,4,52,3,53,2,54,1,55,1,56,2 40190 DATA 57,3,57,4,57,5,58,6,58,7,58,8,59,9,60,10,61,10 40200 DATA 62,10,63,10,64,9,65,8,65,7,65,6,64,5,64,4,64,3 40210 DATA 63,2,62,1,61,1,60,1,59,1,58,2,35,15,35,14 40220 REM 40230 DATA 73,19,74,20,75,20,76,20,77,19,78,19,79,19,80,19 40240 DATA 81,19,82,20,83,20,83,19,82,18,82,17,82,16,81,15 40250 DATA 81,14,81,13,81,12,81,11,80,10,80,9,80,8,80,7,80,6 40260 DATA 80,5,79,4,79,3,78,2,77,1,76,1,75,1,74,1,73,2,72,3 40270 DATA 72,4,72,5 40280 DATA 82,1,83,2,84,3,85,4,86,5,87,6,88,7,89,8,89,9,88,10 40290 DATA 87,10,86,10,85,9,84,8,84,7,84,6,84,5,84,4,85,2 40300 DATA 86,1,87,1,88,1,89,1 40310 DATA 90,2,91,3,92,4,92,5,92,6,93,7,93,8,94,9,95,10,96,10 40320 DATA 97,10,98,9,92,3,93,2,94,1,95,1,96,1,97,1,98,1 40330 DATA 99,2,100,3,101,4,101,5,102,6,103,7,103,8,103,9 40340 DATA 103,10,104,11,104,12,104,13,104,14,104,15,105,16 40350 DATA 105,17,105,18,105,19,105,20,102,5,102,4,102,3,101,2 40360 DATA 101,1,104,9,105,10,106,10,107,10,108,9,109,8,109,7 40370 DATA 108,6,108,5,108,4,108,3,108,2,109,1,110,1,255,255 40380 REM 40390 PLOT 2,253 40400 READ QX,QY 40410 IF QX> 127OR QY> 127THEN GOTO 40440 40420 PLOT QX,QY+ 100 40430 GOTO 40400 40440 PLOT 255 40450 RETURN 60000 REM *** MODIFIED SOUND/SCROLL/NOECHO PATCH LOADER *** 60010 REM 60020 TM= PEEK (32941)* 256+ PEEK (32940) 60030 SA= 48640 60040 IF TM> 49151THEN SA= 65024 60050 AD= 32940:DA= SA- 1:GOSUB 60160 60060 CLEAR 200 60070 SA= PEEK (32941)* 256+ PEEK (32940)+ 1 60080 S$= "16" 60090 IF SA> 49151THEN S$= "32" 60100 PLOT 27,4:PRINT "LOAD PAT";S$;".PRG":PLOT 27,27 60110 POKE 33282,195:AD= 33283:DA= SA+ 6:GOSUB 60160 60120 POKE SA,50:POKE SA+ 1,0 60130 POKE SA+ 2,15:POKE SA+ 3,0 60140 POKE SA+ 4,0:POKE SA+ 5,0:POKE SA+ 6,0 60150 GOTO 100 60160 REM *** STORE AN ADDRESS IN MEMORY *** 60170 REM 60180 POKE AD+ 1,INT (DA/ 256) 60190 ZZ= INT (DA- INT (DA/ 256)* 256) 60200 POKE AD,ZZ 60210 RETURN