home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / bc_pas_1.zip / INC / PLAY.INC < prev   
Text File  |  1992-06-15  |  5KB  |  188 lines

  1. ;$Author:   BCRANE  $
  2. ;$Date:   15 Jun 1992 10:16:14  $
  3. ;$Header:   W:/sccs/inc/play.inv   1.0   15 Jun 1992 10:16:14   BCRANE  $
  4. ;$Log:   W:/sccs/inc/play.inv  $
  5. ;
  6. ;   Rev 1.0   15 Jun 1992 10:16:14   BCRANE
  7. ;Initial revision.
  8. ;$Logfile:   W:/sccs/inc/play.inv  $
  9. ;$Modtimes$
  10. ;$Revision:   1.0  $
  11. ;$Workfile:   PLAY.INC  $ 
  12.  
  13.  
  14. ;
  15. ;   /*\
  16. ;---|*|----=====< PLAY.INC >====----
  17. ;---|*|
  18. ;---|*|  This module holds the various definitions for the
  19. ;---|*|  ".VOC" file contents.
  20. ;---|*|
  21. ;---|*| Copyright (c) 1991, Media Vision, Inc.    All Rights Reserved.
  22. ;---|*|
  23. ;   \*/
  24.  
  25.  
  26. ;   /*\
  27. ;---|*| Sound Blaster ".VOC" file definition
  28. ;   \*/
  29.  
  30. ;        ----====< Header portion of the .VOC >====----
  31.  
  32. VOCHDR struc
  33.  vhid        db    20 dup(?)    ;  name
  34.  vhvoice_offset dw    ?        ;  offset to data block
  35.  vhversion    dw    ?        ;  version
  36.  vhcheck_code    dw    ?        ;  garbage
  37. VOCHDR ends
  38.  
  39. ;        ----====< types of data blocks >====----
  40.  
  41. TERMINATOR    equ    00        ;  terminator block type
  42. VOICEDATA    equ    01        ;  voice data block
  43. VOICECONTINUE    equ    02        ;  more voice data block
  44. SILENCE     equ    03        ;  silence period
  45. MARKER        equ    04        ;  marker for syncing
  46. ASCIITEXT    equ    05        ;  ascii zstring data
  47. REPEAT        equ    06        ;  repeat next blocks x times
  48. ENDREPEAT    equ    07        ;  end repeat marker
  49.  
  50. ;        ----====< Common Header to each data block >====----
  51.  
  52. bVOCDATAHDR struc
  53.  bxbtype    db    ?        ;  block type
  54.  bxbsize    db    3 dup(?)    ;  24 bits for block size
  55. bVOCDATAHDR ends
  56.  
  57. ;        ----====< voice data block (#1) >====----
  58.  
  59. bVOCDATA struc
  60.  b1btype    db    ?        ;  block type
  61.  b1bsize    db    3 dup(?)    ;  24 bits for block size
  62.  b1sampler    db    ?        ;  sample rate
  63.  b1packtype    db    ?        ;  packing 8/4/2.6/2 bits
  64. bVOCDATA ends
  65.  
  66. ;        ----====< voice continuation (#2) >====----
  67.  
  68. bCONTINUE struc
  69.  b2btype    db    ?        ;  block type
  70.  b2bsize    db    3 dup(?)    ;  24 bits for block size
  71. bCONTINUE ends
  72.  
  73. ;        ----====< Silence (#3) >====----
  74.  
  75. bSILENCE struc
  76.  b3btype    db    ?        ;  block type
  77.  b3bsize    db    3 dup(?)    ;  24 bits for block size
  78.  b3period    dw    ?        ;  period in sample units
  79.  b3sampler    db    ?        ;  sample rate
  80. bSILENCE ends
  81.  
  82. ;        ----====< Marker (#4) >====----
  83.  
  84. bMARKER struc
  85.  b4btype    db    ?        ;  block type
  86.  b4bsize    db    3 dup(?)    ;  24 bits for block size
  87.  b4marker    dw    ?        ;  marker ID
  88. bMARKER ends
  89.  
  90. ;        ----====< ASCII zstring text (#5) >====----
  91.  
  92. bASCII    struc
  93.  b5btype    db    ?        ;  block type
  94.  b5bsize    db    3 dup(?)    ;  24 bits for block size
  95.  b5text     db    ?        ;  ascii zstring text
  96. bASCII    ends
  97.  
  98.  
  99. ;        ----====< Repeat Loop (#6) >====----
  100.  
  101. bREPEAT struc
  102.  b6btype    db    ?        ;  block type
  103.  b6bsize    db    3 dup(?)    ;  24 bits for block size
  104.  b6count    dw    ?        ;  # of times to repeat (-1)
  105. bREPEAT ends
  106.  
  107. ;        ----====< End Repeat Loop (#7) >====----
  108.  
  109. bENDREP struc
  110.  b7btype    db    ?        ;  block type
  111.  b7bsize    db    3 dup(0)    ;  24 bits for block size
  112. bENDREP ends
  113.  
  114.  
  115. ;
  116. ;   /*\
  117. ;---|*|----====< ".WAV" file definition >====----
  118. ;---|*|
  119. ;---|*|     4 bytes 'RIFF'
  120. ;---|*|     4 bytes <length>
  121. ;---|*|     4 bytes 'WAVE'
  122. ;---|*|     4 bytes 'fmt '
  123. ;---|*|     4 bytes  <length>        ; 10h - length of 'data' block
  124. ;---|*|     2 bytes  01         ; format tag
  125. ;---|*|     2 bytes  01         ; channels (1=mono, 2=stereo)
  126. ;---|*|     4 bytes  xxxx        ; samples per second
  127. ;---|*|     4 bytes  xxxx        ; average samples per second
  128. ;---|*|     2 bytes  01         ; block alignment
  129. ;---|*|     2 bytes  08         ; bits per sample
  130. ;---|*|     4 bytes 'data'
  131. ;---|*|     4 bytes <length>
  132. ;---|*|       bytes <sample data>
  133. ;---|*|
  134. ;   \*/
  135. ;
  136.  
  137. ;         ----====< Wave format control block >====----
  138.  
  139. WaveInfo struc
  140.  wiformatTag        dw    ?    ;  format category        */
  141.  winChannels        dw    ?    ;  stereo/mono            */
  142.  winSamplesPerSec    dd    ?    ;  sample rate            */
  143.  winAvgBytesPerSec    dd    ?    ;  stereo * sample rate     */
  144.  winBlockAlign        dw    ?    ;  block alignment (1=byte)    */
  145.  winBitsPerSample    dw    ?    ;  # byte bits per sample    */
  146. WaveInfo ends
  147.  
  148. WaveFormat struc
  149.  wfname     db    4 dup(?)
  150.  wflength    dd    ?
  151.  wfinfo     db    size WaveInfo dup(?)
  152. WaveFormat ends
  153.  
  154. ;      ----====< Data header which follows a WaveFormat Block >====----
  155.  
  156. DataHeader struc;
  157.  dhname     db    4 dup(?)
  158.  dhlength    dd    ?
  159. DataHeader ends
  160.  
  161. ;       ----====< Total Wave Header data in a wave file >====----
  162.  
  163. WaveHeader struc;
  164.  whname     db    4 dup(?)
  165.  whfmt        db    size WaveFormat dup(?)
  166.  whdata     db    size DataHeader dup(?)
  167. WaveHeader ends;
  168.  
  169. ;    ----====< Riff wrapper around the WaveFormat Block (optional) >====----
  170.  
  171. RiffHeader struc
  172.  rhname     db    4 dup(?)
  173.  rhlength    dd    ?
  174. RiffHeader ends
  175.  
  176. ;        ----====< Riff wrapped WaveFormat Block >====----
  177.  
  178. RiffWave struc;
  179.  rwriff     db    size RiffHeader dup(?)
  180.  rwwave     db    size WaveHeader dup(?)
  181. RiffWave ends
  182.  
  183. ;
  184. ;   /*\
  185. ;---|*| end of PLAY.INC
  186. ;   \*/
  187. ;
  188.