home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Set of Apple II Hard Drive Images
/
eric.hdv
/
TEST
/
MFF0PLAY.BAS
< prev
next >
Wrap
BASIC Source File
|
2020-08-13
|
3KB
|
54 lines
0 IF PEEK(104) < >20 THEN POKE 104,20: POKE 5120,0: PRINT CHR$(4)"-/RAMAEPC/MFF0PLAY.BAS": END
1 REM MFF0PLAY.BAS
10 PRINT CHR$(4)"PR#3"
20 PRINT CHR$(4)"OPEN/RAMAEPC/R": PRINT CHR$(4)"READ/RAMAEPC/R": INPUT L1$: REM THIS TEXT WILL BE CORRUPTED BY A STORAGE VIOLATION
21 INPUT L2$: PRINT CHR$(4)"CLOSE/RAMAEPC/R"
25 TEXT : HOME
30 PRINT "APPLE //e MIDI FILE FORMAT 0 PLAYER - WITH MIDI KARAOKE ": PRINT : PRINT "(c) 1995 - Eric Rangell"
40 PRINT : PRINT "You are about to be entertained with: ";L1$;L2$
42 PRINT : PRINT
45 PRINT : PRINT "Current speed="; PEEK(255)
47 PRINT : PRINT : PRINT "OPTIONS: L=Lyrics off S=Speed display on"
48 PRINT " I=Inverse Piano O=Piano Off P=Piano Keys inverse"
49 PRINT " K=Karaoke Look Ahead": PRINT
70 INPUT "Enter options, then press RETURN to start the music:";R$
80 PRINT CHR$(4)"BLOAD /RAMAEPC/MFF0DRVR.OBJ"
90 PRINT CHR$(4)"BLOAD /RAMAEPC/MFF0PLAY.OBJ"
91 IP = 0:PO = 0:PI = 0:KO = 0
92 FOR I = 1 TO LEN(R$)
93 IF MID$ (R$,I,1) = "L" THEN POKE 8 *256 +2 *16,0
94 IF MID$ (R$,I,1) = "S" THEN POKE 8 *256 +2 *16 +1,1
95 IF MID$ (R$,I,1) = "D" THEN POKE 7 *4096 +10 *256 +2,1
96 IF MID$ (R$,I,1) = "I" THEN IP = 1
97 IF MID$ (R$,I,1) = "O" THEN PO = 1
98 IF MID$ (R$,I,1) = "P" THEN PI = 1
99 IF MID$ (R$,I,1) = "K" THEN KO = 1
100 NEXT I
150 PRINT CHR$(4)"BLOAD /RAMAEPC/TK0,A$827,B8,L2": REM GET RESOLUTION
200 IF PO = 1 THEN POKE 8 *256 +2 *16 +2,0
300 IF IP = 1 OR PI = 1 THEN POKE 8 *256 +2 *16 +5,1
400 IF KO = 1 THEN POKE 8 *256 +2 *16 +6,1
500 IF PO < >1 THEN HOME
505 IF IP < >1 THEN 550
510 PI$ = "<CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N>"
520 P2$ = "<CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N>"
530 FOR I = 1 TO 16
540 FOR J = 1 TO 6: PRINT PI$;: NEXT : PRINT P2$;: NEXT
550 VTAB 17: PRINT "----";L2$;: FOR DH = 1 TO 28 - LEN(L2$): PRINT "-";: NEXT : PRINT "Karaoke Window--------------------Key:(---)-----";
552 VTAB 24: REM IF KO = 1 THEN VTAB 23
553 PRINT "=========== <--:Faster -->:Slower ESC:Pause SPACE:Stop F:Sharp/Flat D:Drums";
555 IF PO < >1 THEN FOR I = 1 TO 16: VTAB I: HTAB 79: PRINT MID$ (" 1 2 3 4 5 6 7 8 910111213141516",(I -1) *2 +1,2);: NEXT
560 POKE 34,17: REM top window
570 POKE 35,23: REM IF KO = 1 THEN POKE 35,22
580 HOME
900 CALL 7 *4096 +6 *256 -3
910 MI = 12 *4096 +10 *16 +9
920 FOR CH = 0 TO 15
930 POKE MI,11 *16 +CH: POKE MI,7 *16 +8: POKE MI,0
940 POKE MI,11 *16 +CH: POKE MI,7 *16 +9: POKE MI,0
950 POKE MI,11 *16 +CH: POKE MI,7 *16 +11: POKE MI,0
960 NEXT CH
970 TEXT
980 PRINT : INPUT "Play Again? (Y/N):";Y$: IF Y$ = "Y" OR Y$ = "y" THEN 25
990 PRINT CHR$(4)"-/RAMAEPC/KILLSONG": END
999 REM IGNORE ANY GARBAGE BELOW