home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / FAQSYS18.ZIP / FAQS.DAT / BNK_FORM.TXT < prev    next >
Internet Message Format  |  1995-10-13  |  3KB

  1. From: dada@CAM.ORG (Stephane Lajoie)
  2. Newsgroups: rec.games.programmer
  3. Subject: Re: *.INS, *.BNK file formats
  4. Date: 25 Jul 1994 15:32:48 -0400
  5. Organization: Communications Accessibles Montreal, Quebec Canada
  6.  
  7. -=> Ghost@wam.umd.edu wrote:
  8. Gh> ...so far I have found the *.ROL format; now, all I need are the
  9. Gh> formats for *.INS format (BADLY!) and the *.BNK format. 
  10.  
  11. I really don't know the format of *.INS files, but the folks at AdLib wrote
  12. something to put those in a .BNK file. So you no longer need the INS file
  13. format as long as you can find someone who has an AdLib with the utilities.
  14. Well, I happen to have all this, so you can zip your .INS and send them to
  15. me (uuencoded). I'll return you a BNK file.
  16.  
  17. As for the BNK format, here it is:
  18.  
  19.   File header:
  20.  
  21.       1       byte            Version, major
  22.       1       byte            Version, minor
  23.       6       bytes           Signature, "ADLIB-"
  24.       1       word            Number of records (total)
  25.       1       word            Number of records (used)
  26.       1       dword           File offset of beginning of name section
  27.       1       dword           File offset of beginning of data section
  28.       8       bytes           Zero
  29.  
  30.   Name section record:
  31.  
  32.       1       word            Index into data section
  33.       1       byte            0 if record used, 1 otherwise
  34.       9       bytes           Zero-terminated instrument name
  35.  
  36.   Data section record:
  37.  
  38.       1       byte            0=melodic instrument  1=percussive instrument
  39.       1       byte            Voice number (for percussive instruments)
  40.       13      bytes           Operator 0 parameters (see below)
  41.       13      bytes           Operator 1 parameters
  42.       1       byte            Operator 0 wave form
  43.       1       byte            Operator 1 wave form
  44.  
  45.     Operator parameters:
  46.  
  47.       1       byte    Key scale level
  48.       1       byte    Frequency multiplier
  49.       1       byte    Feed back
  50.       1       byte    Attack rate
  51.       1       byte    Sustain level
  52.       1       byte    Sustaining sound
  53.       1       byte    Decay rate
  54.       1       byte    Release rate
  55.       1       byte    Output level
  56.       1       byte    Amplitude vibrato
  57.       1       byte    Frequency vibrato
  58.       1       byte    Envelope scaling
  59.       1       byte    0=FM sound  1=Additive sound
  60.                       (last field for operator 0 only, unused for operator 1)
  61.  
  62. Total size: sizeof(Header) + Header.RecTotal * (sizeof(name) + sizeof(data))
  63.  
  64. Name section is sorted alphabetically, with unused records at the end.
  65. Practical order is: Header, Name section, Data section.
  66.  
  67. That's all I can think of... You can send questions and/or INS files to
  68. Dada@cam.org. Hope you don't have a million INS... :)
  69.  
  70. -- 
  71. .-------------------------.
  72. | Stephane Lajoie (Dada)  |
  73. | Internet: dada@cam.org  |
  74. `-------------------------'
  75.  
  76.