home *** CD-ROM | disk | FTP | other *** search
/ HomeWare 14 / HOMEWARE14.bin / music / vaisdk.arj / MIDI.INC < prev    next >
Text File  |  1994-04-10  |  3KB  |  83 lines

  1.  
  2. ;   /*\
  3. ;---|*|-----------------====< VBE/AI MIDI INCLUDE >====----------------------
  4. ;---|*|
  5. ;---|*| Copyright (c) 1993,1994  V.E.S.A, Inc. All Rights Reserved.
  6. ;---|*|
  7. ;---|*| VBE/AI 1.0 Specification
  8. ;---|*|    February 2, 1994. 1.00 release
  9. ;---|*|
  10. ;   \*/
  11.  
  12. ;   /*\
  13. ;---|*|---====< OPL2 Patch Structure >====----
  14. ;   \*/
  15.  
  16. opl2opr   struc
  17.  opl2ksl        db      ?       ; ksl
  18.  opl2freqMult   db      ?       ; freqMult
  19.  opl2feedBack   db      ?       ; feedBack      // used by operator 0 only
  20.  opl2attack     db      ?       ; attack
  21.  opl2sustLevel  db      ?       ; sustLevel
  22.  opl2sustain    db      ?       ; sustain
  23.  opl2decay      db      ?       ; decay
  24.  opl2release    db      ?       ; release
  25.  opl2output     db      ?       ; output
  26.  opl2am         db      ?       ; am
  27.  opl2vib        db      ?       ; vib
  28.  opl2ksr        db      ?       ; ksr
  29.  opl2fm         db      ?       ; fm            // used by operator 0 only
  30. opl2opr   ends
  31.  
  32. opl2native struc
  33.  opl2type       dw      ?                   ; patch type
  34.  opl2mode       db      ?                   ; mode;      0 = melodic, 1 = percussive
  35.  opl2percVoice  db      ?                   ; percVoice; if mode == 1, voice number to be used
  36.  opl2op0        db (size opl2opr) dup (?)   ; op0;
  37.  opl2op1        db (size opl2opr) dup (?)   ; op1;
  38.  opl2wave0      db      ?                   ; wave0;    waveform for operator 0
  39.  opl2wave1      db      ?                   ; wave1;    waveform for operator 1
  40. opl2native ends
  41.  
  42. ;   /*\
  43. ;---|*|---====< OPL3 Patch Structure >====----
  44. ;   \*/
  45.  
  46. opl3opr    struc
  47.  opl3type       dw      ?               ;   patch type
  48.  opl3reg20      db      4 dup(?)        ;  register 20 four operator data
  49.  opl3reg40      db      4 dup(?)        ;  register 40 four operator data
  50.  opl3reg60      db      4 dup(?)        ;  register 60 four operator data
  51.  opl3reg80      db      4 dup(?)        ;  register 80 four operator data
  52.  opl3regC0      db      2 dup(?)        ;  register C0 two voice     data
  53.  opl3regE0      db      2 dup(?)        ;  register E0 two voice     data
  54. opl3opr    ends
  55.  
  56. ;
  57. ; The following structure represents the format of whole patch passed in
  58. ; from the application. This whole structure makes up a single patch in
  59. ; our library. It includes the VESA patch header wrapper.
  60. ;
  61.  
  62. vbepatch struc
  63.  vbehdr          db  size VAIDhdr   dup(0)  ; the header
  64.  native          db  0                      ; native patch data
  65. vbepatch ends
  66.  
  67. ;
  68. ; data on the stack when calling API.ASM
  69. ;
  70.  
  71. parmw1          equ   [bp+2+@farret+0]  ; 1st parameter word on the stack
  72. parmw2          equ   [bp+2+@farret+2]  ; 2nd parameter word on the stack
  73. parmw3          equ   [bp+2+@farret+4]  ; 3rd parameter word on the stack
  74. parmw4          equ   [bp+2+@farret+6]  ; 4th parameter word on the stack
  75. parmw5          equ   [bp+2+@farret+8]  ; 5th parameter word on the stack
  76. parmw6          equ   [bp+2+@farret+10] ; 6th parameter word on the stack
  77.  
  78. ;   /*\
  79. ;---|*| end of MIDI.INC
  80. ;   \*/
  81.  
  82.  
  83.