Listing of file='INSTRU.BAS;02' on disk='vmedia/chip_78-sector.ccvf'
0 GOTO 1000 100 REM 110 REM 120 REM SUPERPATCH PROGRAM 130 REM 140 REM PROGRAM STARTS AT 1000 150 REM COMMONLY USED SUBROUTINES ARE PLACED HERE FOR SPEED 160 REM 170 REM USE THIS AREA FOR YOUR COMMENTS 180 REM 190 REM 400 REM SOUND PATCH 410 POKE LO+ 4,NS 420 POKE LO+ 5,S1 430 POKE LO+ 6,S2 440 Z1= INT (P/ 256):Z2= P- Z1* 256:POKE LO,Z2:POKE LO+ 1,Z1 450 Z1= INT (D/ 256):Z2= D- Z1* 256:POKE LO+ 2,Z2:POKE LO+ 3,Z3 460 RETURN 500 REM SCROLL PATCH 510 Z= 28672+ X+ X:IF D< > 2THEN Z= Z+ 128* Y:IF D= 3THEN Z= Z+ W+ W- (2- C) 520 IF D= 2THEN Z= Z+ 128* (Y+ H- 1) 530 AD= SM+ 2:ZZ= INT (Z/ 256):POKE AD,Z- 256* ZZ:POKE AD+ 1,ZZ 540 POKE SM+ 5,H+ (D< 3):POKE SM+ 7,W* (C+ 1)+ (D> 2)* (1+ C) 550 POKE SM+ 9,128+ 126* (D= 4)- 126* (D= 3):POKE SM+ 10,- 255* (D= 2OR D= 3):POKE SM+ 14,128+ 126* (D= 3)- 126* (D= 4) 560 POKE SM+ 15,- 255* (D= 1OR D= 4):POKE SM+ 19,- (2- C)* (D< > 3)- (254+ C)* (D= 3):POKE SM+ 20,- 255* (D= 3) 570 IF D= 1OR D= 4THEN Z= 130+ (2* (D= 1))- W- W:GOTO 590 580 Z= 128+ 2* (D= 3)+ W+ W:IF D= 2THEN Z= 256- Z 590 POKE SM+ 27,Z:POKE SM+ 28,- 255* (D= 2):RETURN 1000 PLOT 12,3,64,0:PLOT 27,4:PRINT "RUN X.PRG":PLOT 27,27 1010 CLEAR 100 1020 POKE 33283,0:POKE 33284,240 1030 X= CALL (0) 1040 TM= PEEK (32941)* 256+ PEEK (32940) 1050 SM= TM+ 182:LO= TM+ 1 2000 PLOT 27,24,6,2,12,15,29,3,15,3:PRINT "HOW TO USE THE SUPERPATCH OPTIONS" 2010 PLOT 15,3,15,4:PRINT "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" 2020 PLOT 3,0,8:PRINT "SUPERPATCH HAS 8 OPTIONS. WHICH WOULD YOU LIKE TO KNOW ABOUT?" 2030 PLOT 3,13,11:PRINT "X=CALL(0) SOUND" 2040 PLOT 3,13,12:PRINT "X=CALL(1) 4-D SCROLLING" 2050 PLOT 3,13,13:PRINT "X=CALL(2) GET KEY" 2060 PLOT 3,13,14:PRINT "X=CALL(3) GET KEY - NO ECHO" 2070 PLOT 3,13,15:PRINT "X=CALL(4) EXCHANGE SCREENS" 2080 PLOT 3,13,16:PRINT "X=CALL(5) COPY SCREEN TO MEMORY" 2090 PLOT 3,13,17:PRINT "X=CALL(6) GET A VALUE FROM JOYSTICK #1" 2100 PLOT 3,13,18:PRINT "X=CALL(7) GET A VALUE FROM JOYSTICK #2" 2110 PLOT 3,16,20:PRINT "OR" 2120 PLOT 3,13,23:PRINT "PRESS 'A' TO SEE ALL INSTRUCTIONS SEQUENTIALLY" 2130 PLOT 3,64,0:X= CALL (3) 2140 IF X= 65GOTO 3000 2150 IF X< 48OR X> 55GOTO 2130 2160 ON X- 47GOTO 3000,4000,5000,6000,7000,8000,9000,9000 3000 PLOT 6,2,12,15,29,3,23,1:PRINT "SOUND PATCH" 3010 PLOT 15,3,23,2:PRINT "eeeeeeeeeee" 3020 PLOT 3,2,4:PRINT "THE SOUND PATCH IN SUPERPATCH USES THE SAME STRUCTURE AS" 3030 PLOT 3,0,6:PRINT "THE EARLY SOUNDWARE PATCH. A SUBROUTINE IS USED TO POKE THE" 3040 PLOT 3,0,8:PRINT "APPROPRIATE VALUES INTO MEMORY. THOSE VALUES ARE:" 3050 PLOT 3,35,10:PRINT "P = PITCH" 3060 PLOT 3,3,12:PRINT "FOR INFORMATION ON ACCEPTABLE D = DURATION" 3070 PLOT 3,0,14:PRINT "RANGES FOR THESE VALUES, CONSULT NS = NUMBER OF STEPS" 3080 PLOT 3,0,16:PRINT "YOUR SOUNDWARE DEMO DISC.";SPC( 10);"S1 = STEPSIZE ONE" 3090 PLOT 3,35,18:PRINT "S2 = STEPSIZE TWO" 3100 PLOT 3,3,21:PRINT "THE PATCH TO POKE SOUND PARAMETERS IS AT LINE 400. IF YOU" 3110 PLOT 3,0,23:PRINT "ARE MAKING SOUNDS WITH STEADY PITCHES (ONLY P & D VARY) THEN" 3120 PLOT 3,0,25:PRINT "YOU MAY POKE THE SOUND PARAMETERS AT THE SUBROUTINE AT LINE" 3130 PLOT 3,0,27:PRINT "440." 3140 PLOT 3,6,29:PRINT "WOULD YOU LIKE TO QUIT OR LEARN ABOUT THE NEXT CALL?" 3150 PLOT 20,2,0,86,242,66,86,66,50,0,50,120,50,255 3160 PLOT 17,2,0,14,242,120,14,255 3170 PLOT 3,64,0:X= CALL (3) 3180 IF X= 81GOTO 40000 3190 IF X< > 78GOTO 3170 4000 PLOT 6,2,12,15,29,3,22,1:PRINT "4-D SCROLLING" 4010 PLOT 15,3,22,2:PRINT "eeeeeeeeeeeee" 4020 PLOT 3,3,4:PRINT "THE QUAD DIRECTIONAL SCROLLING IS THE FROM THE PATCH LISTED" 4030 PLOT 3,0,6:PRINT "IN DAVID SUIT'S BOOK COLOR GRAPHICS FOR INTECOLOR 3651 AND CCII" 4040 PLOT 3,0,8:PRINT "COMPUTERS. WITH THIS PATCH YOU WILL SPECIFY THE FOLLOWING:" 4050 PLOT 3,35,10:PRINT "X = X COORDINATE" 4060 PLOT 3,3,12:PRINT "X AND Y ARE THE COORDINATES Y = Y COORDINATE" 4070 PLOT 3,0,14:PRINT "OF THE UPPER RIGHT HAND CORNER W = WIDTH" 4080 PLOT 3,0,16:PRINT "OF THE AREA TO BE SCROLLED. THE H = HEIGTH" 4090 PLOT 3,0,18:PRINT "DIRECTIONS ARE: 1 = UP";SPC( 12);"C = COLOR (1=YES, 0=NO)" 4100 PLOT 3,17,19:PRINT "2 = DOWN" 4110 PLOT 3,17,20:PRINT "3 = RIGHT";SPC( 9);"D = DIRECTION" 4120 PLOT 3,17,21:PRINT "4 = LEFT" 4130 PLOT 3,14,24:PRINT "<------- W=25 -------->" 4140 PLOT 3,14,25:PRINT "_________________________";SPC( 9);"PRESS" 4150 PLOT 3,2,26:PRINT "X=14 ---->bxxxxxxxxxxxxxxxxxxxxxxxx a" 4160 PLOT 3,2,27:PRINT "Y=26 bxxxxxxxxxxxxxxxxxxxxxxxx a";SPC( 8);"RETURN TO" 4170 PLOT 3,13,28:PRINT "bxxxxxxxxC=1xxxxxD=4xxxxx aH=4" 4180 PLOT 3,13,29:PRINT "bxxxxxxxxxxxxxxxxxxxxxxxx a";SPC( 8);"TEST SCROLL." 4190 PLOT 3,14,30:PRINT "eeeeeeeeeeeeeeeeeeeeeeeee" 4200 PLOT 20,2,0,86,242,64,86,64,38,0,38,126,38,255,3,64,0 4210 X= 14:Y= 26:W= 25:H= 4:C= 1:D= 4:GOSUB 500 4220 X= CALL (3):FOR Z= 1TO 25:X= CALL (1):NEXT Z 4230 PLOT 3,2,27:PRINT "Y=26 b PRESS RETURN... a" 4240 PLOT 3,64,0:X= CALL (3) 4250 PLOT 15,29,3,3,24:PRINT "TO SET UP THE SCROLL PATCH, ASSIGN VALUES TO THE VARIABLES " 4260 PLOT 3,14,25:PRINT " ";SPC( 49);"" 4270 PLOT 3,0,26:PRINT "LISTED ABOVE AND EXECUTE A GOSUB 500. THIS WILL DEFINE THE " 4280 PLOT 3,2,27:PRINT " ";SPC( 61);"" 4290 PLOT 3,0,28:PRINT "SCROLL AREA IN MEMORY BUT WILL NOT CAUSE ANY SCROLLING TO TAKE" 4300 PLOT 3,13,29:PRINT " ";SPC( 50);"" 4310 PLOT 3,14,30:PRINT " ";SPC( 49);"" 4320 PLOT 3,62,31:PRINT " " 4330 PLOT 3,0,30:PRINT "PLACE. PRESS RETURN TO CONTINUE...." 4340 PLOT 3,64,0:X= CALL (3) 4350 PLOT 15,29,3,3,24:PRINT "ONCE THE SCROLL PARAMETERS ARE SET UP A SCROLL CAN BE EXCUTED" 4360 PLOT 3,0,26:PRINT "BY THE STATEMENT X=CALL(1). SINCE THE PARAMETERS ARE POKED INTO" 4370 PLOT 3,0,28:PRINT "MEMORY, THE VARIABLES CAN BE REUSED WITHIN THE PROGRAM. " 4380 PLOT 3,0,30:PRINT " " 4390 PLOT 3,0,30:PRINT " ";SPC( 11);"WOULD YOU LIKE TO QUIT OR LEARN MORE?" 4400 PLOT 3,61,31:PRINT " " 4410 PLOT 3,64,0:X= CALL (3) 4420 IF X= 81GOTO 40000 4430 IF X< > 76GOTO 4410 5000 PLOT 6,2,12,15,29,3,25,1:PRINT "GET KEY" 5010 PLOT 15,3,25,2:PRINT "eeeeeee" 5020 PLOT 3,3,5:PRINT "THE GET KEY COMMAND CAUSES A TEMPORARY HALT IN THE PROGRAM" 5030 PLOT 3,0,7:PRINT "UNTIL A KEY IS DEPRESSED AND THEN THE ASCII VALUE OF THE KEY IS" 5040 PLOT 3,0,9:PRINT "RETURNED THROUGH THE CALL STATEMENT. THE KEY ENTRY WILL BE" 5050 PLOT 3,0,11:PRINT "ECHOED TO THE SCREEN AT THE CURSOR LOCATION." 5060 PLOT 3,10,15:PRINT "THIS COMMAND TAKES THE FORM: X=CALL(2)" 5070 PLOT 3,13,17:PRINT "THE VALUE WILL BE RETURNED IN X." 5080 PLOT 3,11,24:PRINT "WOULD YOU LIKE TO QUIT OR LEARN MORE?" 5090 PLOT 3,64,0:X= CALL (3) 5100 IF X= 81GOTO 40000 5110 IF X< > 76GOTO 5090 6000 PLOT 6,2,12,15,29,3,25,1:PRINT "NO ECHO" 6010 PLOT 15,3,25,2:PRINT "eeeeeee" 6020 PLOT 3,3,5:PRINT "THE NO ECH0 COMMAND CAUSES A TEMPORARY HALT IN THE PROGRAM" 6030 PLOT 3,0,7:PRINT "UNTIL A KEY IS DEPRESSED AND THEN THE ASCII VALUE OF THE KEY IS" 6040 PLOT 3,0,9:PRINT "RETURNED THROUGH THE CALL STATEMENT. THE KEY ENTRY WILL NOT" 6050 PLOT 3,0,11:PRINT "BE ECHOED TO THE SCREEN." 6060 PLOT 3,10,15:PRINT "THIS COMMAND TAKES THE FORM: X=CALL(3)" 6070 PLOT 3,13,17:PRINT "THE VALUE WILL BE RETURNED IN X." 6080 PLOT 3,11,24:PRINT "WOULD YOU LIKE TO QUIT OR LEARN MORE?" 6090 PLOT 3,64,0:X= CALL (3) 6100 IF X= 81GOTO 40000 6110 IF X< > 76GOTO 6090 7000 PLOT 6,2,12,15,29,3,22,1:PRINT "SCREEN EXCHANGER" 7010 PLOT 15,3,22,2:PRINT "eeeeeeeeeeeeeeee" 7020 PLOT 3,3,4:PRINT "THE SCREEN EXCHANGE COMMAND CAUSES THE ACTIVE SCREEN TO BE" 7030 PLOT 3,0,6:PRINT "EXCHANGED WITH ANOTHER SCREEN RESIDING IN MEMORY. BOTH SCREENS" 7040 PLOT 3,0,8:PRINT "ARE PRESERVED. A COMMAND OF X=CALL(4) WILL CAUSE THE SCREENS" 7050 PLOT 3,0,10:PRINT "TO BE EXCHANGED." 7060 PLOT 3,3,14:PRINT "THE SCREEN RESIDING IN MEMORY IS STORED AT MEMORY LOCATION" 7070 PLOT 3,0,16:PRINT "F000-FFFF. AN EXISTING SCREEN MAY BE LOADED AT THAT LOCATION" 7080 PLOT 3,0,18:PRINT "FROM FCS OR FROM BASIC WITH THE FOLLOWING COMMAND:" 7090 PLOT 3,4,21:PRINT "PLOT 27,4:PRINT 'LOAD SCREEN.DSP;01 F000':PLOT 27,27" 7100 PLOT 3,10,27:PRINT "WOULD YOU LIKE TO QUIT OR LEARN MORE?" 7110 PLOT 20,2,0,78,242,124,78,255 7120 PLOT 20,2,0,30,242,124,30,255 7130 PLOT 3,64,0:X= CALL (3) 7140 IF X= 81GOTO 40000 7150 IF X< > 76GOTO 7130 8000 PLOT 6,2,12,15,29,3,23,1:PRINT "COPY SCREEN" 8010 PLOT 15,3,23,2:PRINT "eeeeeeeeeee" 8020 PLOT 3,3,4:PRINT "THE COPY SCREEN COMMAND CAUSES THE ACTIVE SCREEN TO BE" 8030 PLOT 3,0,6:PRINT "COPIED TO MEMORY. THE ACTIVE SCREEN WILL REMAIN ON THE VIDIO" 8040 PLOT 3,0,8:PRINT "DISPLAY. A COMMAND OF X=CALL(5) WILL CAUSE THE SCREEN TO" 8050 PLOT 3,0,10:PRINT "BE COPIED." 8060 PLOT 3,3,14:PRINT "THE SCREEN RESIDING IN MEMORY IS STORED AT MEMORY LOCATION" 8070 PLOT 3,0,16:PRINT "F000-FFFF. A SCREEN ON DISC MAY ALSO BE LOADED IN MEMORY" 8080 PLOT 3,0,18:PRINT "FROM FCS OR FROM BASIC WITH THE FOLLOWING COMMAND:" 8090 PLOT 3,4,21:PRINT "PLOT 27,4:PRINT 'LOAD SCREEN.DSP;01 F000':PLOT 27,27" 8100 PLOT 3,10,27:PRINT "WOULD YOU LIKE TO QUIT OR LEARN MORE?" 8110 PLOT 20,2,0,78,242,120,78,255 8120 PLOT 20,2,0,30,242,120,30,255 8130 PLOT 3,64,0:X= CALL (3) 8140 IF X= 81GOTO 40000 8150 IF X< > 76GOTO 8130 9000 PLOT 6,2,12,15,29,3,25,1:PRINT "JOYSTICK" 9010 PLOT 15,3,25,2:PRINT "eeeeeeee" 9020 PLOT 3,3,4:PRINT "THE JOYSTICK ROUTINE INTERROGATES THE APPROPRIATE JOYSTICK" 9030 PLOT 3,0,6:PRINT "AND RETURNS THE STATUS OF THE JOYSTICK AT THAT TIME. THE VALUES" 9040 PLOT 3,0,8:PRINT "RETURNED ARE 1 THRU 9 AS ON THE NUMBER KEYPAD AND THE VALUES ARE" 9050 PLOT 3,0,10:PRINT "INCREMENTED BY 10 IF THE FIRE BUTTON IS CLOSED. IN THIS MANNER," 9060 PLOT 3,0,12:PRINT "MOVEMENT NEED NOT BE INTERRUPTED TO FIRE (AN IMPORTANT OPTION" 9070 PLOT 3,0,14:PRINT "WHEN YOU ARE BEING CHASED BY A PACK OF DEADLY KLINGON WARSHIPS)." 9080 PLOT 3,22,17:PRINT "_ ^ _" 9090 PLOT 3,21,18:PRINT "b| n ~a" 9100 PLOT 3,0,19:PRINT "IF THE JOYSTICK IS JOYSTICK #1 X=CALL(6)" 9110 PLOT 3,23,20:PRINT " 7 8 9 " 9120 PLOT 3,0,21:PRINT "CENTERED (INACTIVE) ";SPC( 13);"#2 X=CALL(7)" 9130 PLOT 3,0,23:PRINT "THE VALUE WILL BE " 9140 PLOT 3,19,24:PRINT "<- 4 6 ->" 9150 PLOT 3,0,25:PRINT "ZERO. IF THE FIRE " 9160 PLOT 3,43,26:PRINT "DO YOU WANT TO RETURN" 9170 PLOT 3,0,27:PRINT "BUTTON IS CLOSED THE " 9180 PLOT 3,23,28:PRINT " 1 2 3 ";SPC( 8);"TO THE START OR END?" 9190 PLOT 3,0,29:PRINT "VALUE WILL BE INCRE- " 9200 PLOT 3,21,30:PRINT "b~ n |a" 9210 PLOT 3,0,31:PRINT "MENTED BY TEN.";SPC( 8);"e V e" 9220 PLOT 20,2,0,62,242,126,62,255 9230 PLOT 20,2,126,62,242,126,30,80,30,80,6,126,6,255 9250 PLOT 3,64,0:X= CALL (3) 9260 IF X= 69GOTO 40000 9270 IF X< > 83GOTO 9250 9280 GOTO 2000 40000 PLOT 12:LOAD "PMENU":RUN