home *** CD-ROM | disk | FTP | other *** search
Applesoft BASIC Source Code | 1991-08-07 | 1.0 KB | 40 lines | [FC] Applesoft BASIC Program (0x0801) |
- 1 PRINT "WAIT..."
- 2 FOR I = 24576 +4 *256 TO 24576 +9 *256: POKE I,0: NEXT
- 3 HOME : HGR : VTAB 24
- 5 INPUT "file to load:";F$
- 10 PRINT CHR$(4)"bload "F$",a$6000"
- 12 DIM NO(32),TI(128)
- 13 NP = 0: REM ptr into note-off stack
- 20 BAS = 8192
- 25 S1 = 24576:S2 = S1 +4 *256 +8 *16
- 40 DEF FN B7(X) = X >127: DEF FN B6(X) = X - FN B7(X) *128 >63
- 45 DEF FN DU(X) = (X - FN B7(X) *128 - FN B6(X) *64) *30
- 50 DEF FN NN(X) = 97 - INT(X/2) -35 *((97 - INT(X/2) = 35))
- 55 DEF FN DH(X) = 128 + INT(X/128): DEF FN DL(X) = X - INT(X/128) *128
- 60 SQ = BAS:S = S1
- 65 GOSUB 100
- 70 PRINT CHR$(4)"bsave"F$".0,A"BAS",E"SQ
- 80 SQ = BAS:S = S2
- 85 GOSUB 100
- 90 PRINT CHR$(4)"bsave"F$".1,A"BAS",E"SQ
- 95 RUN
- 99 END
- 100 POKE SQ,0: POKE SQ +1,144: POKE SQ +2,0: POKE SQ +3,0:SQ = SQ +4
- 101 POKE SQ,128: POKE SQ +1,0:SQ = SQ +2: REM start with delay
- 105 N = PEEK(S):D = PEEK(S +1):S = S +2
- 110 IF N = 0 AND D = 0 THEN POKE SQ,255: POKE SQ +1,47:SQ = SQ +2: RETURN
- 120 IF TI( FN NN(N)) THEN 150
- 130 POKE SQ, FN NN(N): POKE SQ +1,64 *( PEEK(SQ) < >0)
- 135 SQ = SQ +2
- 140 IF FN B7(D) = 0 THEN POKE SQ, FN DH( FN DU(D)): POKE SQ +1, FN DL( FN DU(D))
- 142 IF FN B7(D) < >0 THEN POKE SQ,128: POKE SQ +1,0
- 145 SQ = SQ +2
- 147 IF FN B6(D) = 0 THEN NP = NP +1:NO(NP) = FN NN(N)
- 150 IF FN B6(D) = 1 THEN TI( FN NN(N)) = 1
- 160 IF FN B7(D) < >0 THEN 200
- 165 IF NP = 0 THEN 200
- 170 FOR NK = NP TO 1 STEP -1
- 180 POKE SQ,NO(NK): POKE SQ +1,0: POKE SQ +2,128: POKE SQ +3,0:SQ = SQ +4
- 190 NEXT
- 195 NP = 0
- 200 GOTO 105