home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / ANNMIDI / MFF0PLAY.BAS < prev    next >
BASIC Source File  |  2020-08-13  |  3KB  |  58 lines

  1. 0  IF  PEEK(104) < >21  THEN  POKE 104,21: POKE 21 *256,0: PRINT  CHR$(4)"-MFF0PLAY.BAS": END 
  2. 1  REM  MFF0PLAY.BAS
  3. 2  PRINT  CHR$(4)"BLOAD MIDIDRVR.OBJ,D1"
  4. 3  PRINT  CHR$(4)"BLOAD MFF0DRVR.OBJ,D1"
  5. 4  PRINT  CHR$(4)"BLOAD MFF0PLAY.OBJ,D1"
  6. 10  PRINT  CHR$(4)"PR#3"
  7. 25  TEXT : HOME 
  8. 30  PRINT "APPLE //e MIDI FILE FORMAT 0 PLAYER - WITH MIDI KARAOKE ": PRINT : PRINT "(c) 1995 - Eric Rangell"
  9. 35  PRINT : PRINT "(Press RETURN to see catalog of /MIDI volume.)"
  10. 40  PRINT : PRINT : INPUT "MFF0 FILE TO PLAY:";FI$
  11. 41  IF FI$ = ""  THEN  PRINT  CHR$(4)"CAT/MIDI": GOTO 40
  12. 45  IF  LEFT$(FI$,1) < >"/"  THEN FI$ = "/MIDI/" +FI$
  13. 47  PRINT : PRINT : PRINT "OPTIONS: L=Lyrics off  S=Speed display on"
  14. 48  PRINT "         I=Inverse Piano  O=Piano Off  P=Piano Keys inverse"
  15. 49  PRINT "         K=Karaoke Look Ahead  M=Set init speed": PRINT 
  16. 70  INPUT "Enter options, then press RETURN to start the music:";R$
  17. 75  REM  POKE VARIABLES TO ALLOW RESTART OF SONG
  18. 80  POKE 2048 +19,0: POKE 2048 +20,0: REM  PHASE, ENDOFTRK
  19. 85  POKE 2048 +32 +9,0: REM  SPEEDINC  
  20. 87  POKE 7 *4096 +10 *256,0: POKE 7 *4096 +10 *256 +1,0: REM   EOFFLAG,USERSTOP
  21. 90  POKE 8 *256 +2 *16,1: POKE 8 *256 +2 *16 +1,0: POKE 8 *256 +2 *16 +2,1: POKE 8 *256 +2 *16 +6,0: REM  DEFAULT PARMS
  22. 91 IP = 0:PO = 0:PI = 0:KO = 0
  23. 92  FOR I = 1 TO  LEN(R$)
  24. 93  IF  MID$ (R$,I,1) = "L"  THEN  POKE 8 *256 +2 *16,0
  25. 94  IF  MID$ (R$,I,1) = "S"  THEN  POKE 8 *256 +2 *16 +1,1
  26. 95  IF  MID$ (R$,I,1) = "D"  THEN  POKE 7 *4096 +10 *256 +2,1
  27. 96  IF  MID$ (R$,I,1) = "I"  THEN IP = 1
  28. 97  IF  MID$ (R$,I,1) = "O"  THEN PO = 1
  29. 98  IF  MID$ (R$,I,1) = "P"  THEN PI = 1
  30. 99  IF  MID$ (R$,I,1) = "K"  THEN KO = 1
  31. 100 SI = 0: IF  MID$ (R$,I,1) = "M"  THEN ME = 1: INPUT "Speed Increment :";SI: IF SI <0  THEN SI = 256 +SI
  32. 101  NEXT I
  33. 150  PRINT  CHR$(4)"BLOAD "FI$",A$827,B12,L2,T$D7": REM   GET RESOLUTION  
  34. 160  FOR I = 1 TO  LEN(FI$): POKE 7 *4096 +10 *256 +3 +I, ASC( MID$ (FI$,I,1)): NEXT I: POKE 7 *4096 +10 *256 +3 + LEN(FI$) +1,0
  35. 170  POKE 7 *4096 +10 *256 +3, LEN(FI$)
  36. 200  IF PO = 1  THEN  POKE 8 *256 +2 *16 +2,0
  37. 300  IF IP = 1  OR PI = 1  THEN  POKE 8 *256 +2 *16 +5,1
  38. 400  IF KO = 1  THEN  POKE 8 *256 +2 *16 +6,1
  39. 450  IF ME = 1  THEN  POKE 8 *256 +2 *16 +9,SI
  40. 500  IF PO < >1  THEN  HOME 
  41. 505  IF IP < >1  THEN 550
  42. 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>"
  43. 520 P2$ = "<CTRL-O> <CTRL-N> <CTRL-O> <CTRL-N> <CTRL-O>  <CTRL-N> <CTRL-O> <CTRL-N>"
  44. 530  FOR I = 1 TO 16
  45. 540  FOR J = 1 TO 6: PRINT PI$;: NEXT : PRINT P2$;: NEXT 
  46. 550  VTAB 17: PRINT "----";L2$;: FOR DH = 1 TO 28 - LEN(L2$): PRINT "-";: NEXT : PRINT "Karaoke Window--------------------Key:(---)-----";
  47. 552  VTAB 24: REM   IF KO = 1 THEN  VTAB 23  
  48. 553  PRINT "=========== <--:Faster -->:Slower  ESC:Pause  SPACE:Stop  F:Sharp/Flat  D:Drums";
  49. 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 
  50. 560  POKE 34,17: REM  top window
  51. 570  POKE 35,23: REM IF KO = 1 THEN  POKE 35,22     
  52. 580  HOME 
  53. 900  CALL 7 *4096 +6 *256 -3
  54. 950  CALL 9 *4096 +11: REM  ALL SOUNDS OFF
  55. 970  TEXT 
  56. 980  PRINT : INPUT "Play Again? (Y/N):";Y$: IF Y$ = "Y"  OR Y$ = "y"  THEN 25
  57. 990  END 
  58. 999  REM   IGNORE ANY GARBAGE BELOW