home *** CD-ROM | disk | FTP | other *** search
/ Audio 4.94 - Over 11,000 Files / audio-11000.iso / msdos / midi / mpusr2 / mpuregs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-21  |  3.1 KB  |  125 lines

  1. /*
  2.  
  3.     Hardware Defines for Roland MPU-401 Midi Processing Unit
  4.  
  5. */
  6. #ifndef MPUREGS_H
  7. #define MPUREGS_H
  8.  
  9.  
  10.  
  11. #define MPU_NOT_READY_TO_SEND    0x40 // DRR
  12. #define MPU_NOT_READY_TO_RECEIVE 0x80 // DSR
  13.  
  14. // Messages
  15.  
  16. #define IsMpuMessageNumber(data) ((data) >= 0xF0)
  17.  
  18. #define TRACK_DATA_REQUEST_MSG 0xF0
  19. #define TIMING_OVERFLOW_MSG 0xF8
  20. #define CONDUCTOR_DATA_REQUEST_MSG 0xF9
  21. #define ALL_END_MSG 0xFC
  22. #define CLOCK_TO_HOST_MSG 0xFd
  23. #define ACK_MSG 0xFE
  24. #define SYSTEM_MESSAGE_MSG 0xFF
  25.  
  26. // Start/Stop Commands
  27.  
  28. #define MIDI_STOP 0x01
  29. #define MIDI_START 0x02
  30. #define MIDI_CONTINUE 0x03
  31.  
  32. #define PLAY_STOP 0x04
  33. #define PLAY_START 0x08
  34. #define PLAY_CONTINUE 0x0C
  35.  
  36. #define RECORD_STOP 0x10
  37. #define RECORD_START 0x20
  38.  
  39.  
  40. // Commands
  41. #define DISABLE_ALL_NOTES_OFF_CMD 0x30
  42. #define DISABLE_REAL_TIME_OUT_CMD 0x32
  43. #define TIMING_BYTE_ALWAYS_CMD 0x34
  44. #define MODE_MESS_ON_CMD 0x35
  45. #define EXCLUSIVE_THRU_ON_CMD 0x37
  46. #define COMMON_TO_HOST_ON_CMD 0x38
  47. #define REAL_TIME_TO_HOST_ON_CMD 0x39
  48. #define UART_MODE_CMD 0x3F        // don't use this!
  49.  
  50.  
  51. #define INT_CLOCK_CMD 0x80
  52. #define FSK_CLOCK_CMD 0x81
  53. #define MIDI_CLOCK_CMD 0x82
  54. #define METRONOME_ON_CMD 0x83
  55. #define METRONOME_OFF_CMD 0x84
  56. #define METRONOME_W_ACCENTS_CMD 0x85
  57. #define BENDER_OFF_CMD 0x86
  58. #define BENDER_ON_CMD 0x87
  59. #define MIDI_THRU_OFF_CMD 0x88
  60. #define MIDI_THRU_ON_CMD 0x89
  61. #define DATA_IN_STOP_MODE_OFF_CMD 0x8A
  62. #define DATA_IN_STOP_MODE_ON_CMD 0x8B
  63. #define SEND_MEASURE_END_OFF_CMD 0x8C
  64. #define SEND_MEASURE_END_ON_CMD 0x8D
  65. #define CONDUCTOR_OFF_CMD 0x8E
  66. #define CONDUCTOR_ON_CMD 0x8F
  67. #define REAL_TIME_AFFECTION_OFF_CMD 0x90
  68. #define REAL_TIME_AFFECTION_ON_CMD 0x91
  69. #define FSK_TO_INTERNAL_CMD 0x92
  70. #define FSK_TO_MIDI_CMD 0x93
  71. #define CLOCK_TO_HOST_OFF_CMD 0x94
  72. #define CLOCK_TO_HOST_ON_CMD 0x95
  73. #define EXCLUSIVE_TO_HOST_OFF_CMD 0x96
  74. #define EXCLUSIVE_TO_HOST_ON_CMD 0x97
  75.  
  76. #define RESET_RELATIVE_TEMPO_CMD 0xB1
  77. #define CLEAR_PLAY_COUNTERS_CMD 0xB8
  78. #define CLEAR_PLAY_MAP_CMD 0xB9
  79. #define CLEAR_RECORD_COUNTER_CMD 0xBA
  80. #define TIMEBASE_48_CMD 0xC2
  81. #define TIMEBASE_72_CMD 0xC3
  82. #define TIMEBASE_96_CMD 0xC4
  83. #define TIMEBASE_120_CMD 0xC5
  84. #define TIMEBASE_144_CMD 0xC6
  85. #define TIMEBASE_168_CMD 0xC7
  86. #define TIMEBASE_192_CMD 0xC8
  87.  
  88. #define REQUEST_TO_SEND_DATA_CMD 0xD0 /* + track #! */
  89. #define REQUEST_TO_SEND_SYSTEM_MSG_CMD 0xDF
  90.  
  91. #define SET_TEMPO_CMD 0xE0
  92. #define RELATIVE_TEMPO_CMD 0xE1
  93. #define RELATIVE_TEMPO_GRADUATION_CMD 0xE2
  94. #define MIDI_METRONOME_CMD 0xE4
  95. #define MEASURE_LENGTH 0xE6
  96. #define INTERNAL_CLOCK_LENGTH_TO_HOST_CMD
  97. #define ACTIVE_TRACK_MASK_CMD 0xEC
  98. #define SEND_PLAY_COUNTER_MASK_CMD 0xED
  99. #define MIDI_CHANNEL_MASK_LO_CMD 0xEE
  100. #define MIDI_CHANNEL_MASK_HI_CMD 0xEF
  101. #define EOX_CMD 0xF7
  102. #define RESET_CMD 0xFF
  103.  
  104.  
  105. // Commands that send data
  106. #define REQUEST_PLAY_COUNTER_CMD 0xA0
  107. #define REQUEST_AND_CLEAR_PLAY_COUNTER_CMD 0xAB
  108. #define REQUEST_VERSION_CMD 0xAC
  109. #define REQUEST_REVISION_CMD 0xAD
  110. #define REQUEST_TEMPO_CMD 0xAF
  111.  
  112.  
  113.  
  114.  
  115.  
  116. #define TIMING_OVERFLOW_CMD 0xF8
  117. #define MPU_MARK_CMD 0xFC
  118. #define MPU_RESET_CMD 0xFF
  119.  
  120.  
  121.  
  122.  
  123.  
  124. #endif // !defined MPUREGS_H
  125.