Compucolor.org – Virtual Media

Listing of file='PATCH.BAS;01' on disk='vmedia/intro_to_soundware-sector.ccvf'

100 REM  ** MACHINE LANGUAGE ROUTINE - JULY 19,79 **
110 REM
120 REM  THIS ROUTINE LOADS A MACHINE LANGUAGE PROGRAM INTO
130 REM  HIGH MEMORY. IT FIRST CHECKS TO SEE IF THE PROGRAM
140 REM  HAS ALREADY BEEN LOADED. IF NOT THEN IT BACKS UP THE
150 REM  POINTER TO THE END OF BASIC AND LOADS THE PROGRAM.
160 REM  THREE PROGRAMS ARE ACTUALLY LOADED AND CAN BE USED
170 REM  FROM BASIC VIA THE CALL STATEMENT.
180 REM
190 REM        CALL(0) - ACTIVATES SOUNDWARE DEVICE
200 REM        CALL(1) - SCROLLING PATCH
210 REM        CALL(2) - GETS A CHARACTER FROM THE KEYBOARD
220 REM
60000 TM= PEEK (32940)+ PEEK (32941)* 256
60010 IF TM> 65500THEN 60060
60020 POKE TM+ 1,50:POKE TM+ 3,15
60030 REM   60027 CHECKS IF MACHINE LANGUAGE ALREADY LOADED
60040 A= 0:FOR N= TM+ 176TO TM+ 182:A= A+ PEEK (N):NEXT
60050 IF A= 1445THEN 60150
60060 AD= 32940:TM= TM- 200:DA= TM:GOSUB 60160:CLEAR 100
60070 TM= PEEK (32940)+ PEEK (32941)* 256
60080 PRINT "WORKING"
60090 RESTORE 60190
60100 REM   60050 LOADS MACHINE LANGUAGE
60110 FOR N= 1TO 200:READ A:IF A> 255THEN N= 220:GOTO 60140
60120 IF A< 0THEN DA= TM- A:AD= TM+ N:GOSUB 60160:GOTO 60140
60130 POKE TM+ N,A
60140 NEXT
60150 AD= 33283:DA= TM+ 8:GOSUB 60160:LOAD "MENU":RUN
60160 Z1= INT (DA/ 256):Z2= DA- Z1* 256
60170 POKE AD,Z2:N= N+ 1:POKE AD+ 1,Z1:RETURN
60180 REM        MACHINE LANGUAGE DATA
60190 DATA 50,0,15,0,0,0,0,123,254,0,194,-121,30,8,243
60200 DATA 58,-6,87,58,-7,254,0,194,-33,122,50,-7,42,-1
60210 DATA 34,-49,42,-3,34,-46,33,-22,1,50,0,11,120,177
60220 DATA 194,-51,123,238,2,211,4,95,43,124,181,194
60230 DATA -48,58,-5,254,0,202,-100,61,50,-5,58,-49,130
60240 DATA 50,-49,58,-7,103,122,50,-7,84,195,-45,50,-7
60250 DATA 50,-4,50,-2,62,15,50,-3,62,50,50,-1,251,201
60260 DATA 254,1,194,-158,33,0,0,6,4,14,17,17,128,0,25
60270 DATA 126,17,128,255,25,119,35,0,13,194,-133,17,8
60280 DATA 0,25,5,194,-131,201
60290 DATA 254,2,194,-182,245,229,197,205,36,0,194,-166
60300 DATA 95,175,87,50,255,129,193,225,241,201,201
60310 DATA 300