home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / comdemos / progs / perform / !Perform / TechSpec < prev    next >
Encoding:
Text File  |  1991-04-03  |  2.8 KB  |  126 lines

  1.  
  2.  
  3.                            Performer data structure
  4.                            ========================
  5.  
  6.      Filetype - &CB9
  7.  
  8.      A Performer file is similar to a Rhapsody file in that it consists of a 
  9. series of slots, each of which has the following structure:
  10.  
  11.      number
  12.       of
  13.      bytes
  14.  
  15.      [1]  &FF
  16.      [1]  slot-length    (0-255)
  17.      [1]  code
  18.      [n]  <data>         (n = slot-length-3)
  19.  
  20.      There is no header slot.
  21.  
  22.      The last slot has the following form:
  23.  
  24.      [1]  &FF
  25.      [1]  0
  26.  
  27.   
  28.    The following slot codes are currently defined. Other slot codes may be 
  29. defined in later versions and are ignored by Performer V 1.00.
  30.  
  31.  
  32.      Code 0 - Text
  33.  
  34.      [1]  &FF
  35.      [1]  slot-length
  36.      [1]  0
  37.      [n]  <text>              (n = slot-length-4)
  38.      [1]  &0D
  39.  
  40.      This code is ignored by Performer V 1.00
  41.  
  42.  
  43.      Code 1 - Set options
  44.  
  45.      [1]  &FF
  46.      [1]  slot-length
  47.      [1]  1
  48.      [4]  <option data>       (see note 1)
  49.  
  50.  
  51.      Code 2 - Play File
  52.  
  53.      [1]  &FF
  54.      [1]  slot-length
  55.      [1]  2
  56.      [4]  flags               (see note 2)
  57.      [n]  <full filename>     (n = slot_length-5. see note 3)
  58.      [1]  &0D
  59.  
  60.  
  61.      Code 3 - Play MIDI data
  62.  
  63.      [1]  &FF
  64.      [1]  slot-length
  65.      [1]  3
  66.      [n]  <MIDI data>         (n = slot-length-3. see note 4)
  67.  
  68.  
  69.      Code 4 - Send system reset
  70.  
  71.      [1]  &FF
  72.      [1]  3
  73.      [1]  4
  74.  
  75.      This code is not used by Performer V 1.00
  76.           
  77.  
  78.      Notes
  79.      -----
  80.  
  81.      1.   Option data         (4 bytes, LSB first)
  82.  
  83.      bits                     if set...
  84.  
  85.      0      MIDI flag           play MIDI
  86.      1      speaker flag        play speaker
  87.      2      continuous flag     play programme continuously
  88.      3      not used
  89.      4      repeat flag         play all repeats
  90.      5-7    speed               2=very slow....6=very fast
  91.      8-31   not used
  92.  
  93.  
  94.      2.   Play flags          (4 bytes, LSB first)
  95.  
  96.     bits                      if set...
  97.  
  98.      0      play flag           play this piece
  99.      1-23   not used
  100.      24-31  filetype            eg C00
  101.       
  102.  
  103.      3.   Play files
  104.  
  105.      4 types of file are recognised by Performer V 1.00
  106.  
  107.      1)     Rhapsody files     (filetype &C00, formats 0 or 1)
  108.      2)     MIDI files         (filetype &FD4, formats 0 or 1)
  109.      3)     Sample files       (filetype &D3C, signed linear)
  110.      4)     Programme files    (filetype &CB9)
  111.  
  112.      All other filetypes are sent to the CLI. This makes it possible to load
  113. voices, execute obey files and utilities etc. etc.
  114.    
  115.  
  116.      4.   MIDI data
  117.  
  118.      n bytes of MIDI data. The first byte must be a status byte (ie it must 
  119. have bit 7 set). Running status may be used within the data stream. Since
  120. the  stream terminates with &FF (the marker for the next slot), this code
  121. (system  reset) may not be used.
  122.  
  123.  
  124.                                              (c) J.O.Linton January 1991
  125.  
  126.