home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / sound / dosound / effdocs.lst < prev    next >
File List  |  1992-03-26  |  12KB  |  238 lines

  1. DoEffect
  2.  
  3.   The DoEffect program is a utility designed to create sound effects for 
  4. the Atari Sound Chip.  Up to 10 sound effects can be created and saved as 
  5. one file.  Each sound effect may have up to four frames of information.  
  6. Each frame may have up to three special looping messages.  Each frame may 
  7. be repeated up to three times, and each effect may be repeated up to nine 
  8. times.
  9.  
  10. Frames:
  11.  
  12.   One frame of information is defined as one set of values for all thirteen
  13. of the sound chip registers.  The idea is that with each sound effect, you 
  14. can change any or all of the sound chip registers up to four times.
  15.  
  16. Loops:
  17.  
  18.   Within each frame you can specify up to three special looping messages.  
  19. A looping message allows you to cycle through a series of values for one of
  20. the thirteen sound chip registers.  These loops require the following 
  21. information:
  22.  
  23.   The register to loop at (0-13).
  24.   The initial value for the register (0-255).
  25.   The direction of the loop (positive or negative).
  26.   The value to increment with (0-127).
  27.   The final value for the register that should end the loop (0-255)
  28.  
  29.   Any of the Sound Chip registers may be specified as the register to loop 
  30. at.  In order for the loop to be activated, the button in the top left of 
  31. the dialog box must be selected.  This allows you to turn loops on and off 
  32. for testing.  When a frame is played back, each of the three loops that are
  33. active will be played successively.  That is to say that after loop one is 
  34. completed, loop two will begin, and after loop two is done, loop three will
  35. begin.
  36.  
  37.   The possibilities for these loops are almost endless.  An example for 
  38. their use is to create a siren.  This would be done by specifying register 
  39. 0 (for example) with an initial value of 0, a positive increment of 1, and 
  40. a final value of 255.  When played back, the tone for channel A will cycle 
  41. from a tone of 0 to 255 in increments of 1.  Each 'step' in the loop process
  42. last for 1/50 of a second, so in this example, the loop will last for about
  43. 5 seconds.  It is worth noting that if a bad combination of initial value, 
  44. increment, and final value is specified, the final value may never be 
  45. reached, creating an endless loop.  However, this may be used creatively 
  46. for special purposes.
  47.  
  48.   It is also important to note that when you are looping at a register 
  49. which is complemented with another register to achieve some result (such 
  50. as register 0, which is only the low byte of the tone period for channel A),
  51. the complementary register must be considered to understand the resulting 
  52. effect.  For example, let us consider the looping message described above 
  53. for register 0.  If the tone period for channel A was specified as say 479 
  54. within the frame,  the loop in register 0 will actually cause the channel 
  55. A tone to cycle through the values of 256 to 511.  This is because register
  56. 1 will be loaded with the high nibble of 479 which is 256.  Register 0 will
  57. cycle through the values of 0 to 255, but they will be added to the value 
  58. of register 1 to create the tone for channel A.  If the desired effect is 
  59. to actually cause the tone for channel A to cycle from 0 to 255, then a 
  60. tone period of less than 256 must be specified so that register 1 is loaded
  61. with the value of 0.
  62.  
  63.   One last note on loops.  When the loop is completed, the initial value 
  64. specified for that register before the loop began is placed back into that 
  65. register.
  66.  
  67. Play:
  68.  
  69.   When a frame is played back, all of the values specified for the thirteen
  70. registers are played first (with the durations specified).  Then the loop 
  71. message for that frame are played.  Then the entire frame is repeated by 
  72. the number of times specified (if greater than one).  For each effect, this
  73. process is then repeated for each frame.  Then if the entire effect is to 
  74. be repeated more than once, the whole process is repeated the number of 
  75. times specified.  The following diagram shows this process.
  76.  
  77.    Do Effect-Repeat times.
  78.       Do Frame-1-Repeat times.
  79.          Play initial registers.
  80.          Play Loop 1.
  81.          Play Loop 2.
  82.          Play Loop 3.
  83.       End Do.
  84.       Do Frame-2-Repeat times.
  85.          Play initial registers.
  86.          Play Loop 1.
  87.          Play Loop 2.
  88.          Play Loop 3.
  89.       End Do.
  90.       Do Frame-3-Repeat times.
  91.          Play initial registers.
  92.          Play Loop 1.
  93.          Play Loop 2.
  94.          Play Loop 3.
  95.       End Do.
  96.       Do Frame-4-Repeat times.
  97.          Play initial registers.
  98.          Play Loop 1.
  99.          Play Loop 2.
  100.          Play Loop 3.
  101.       End Do.
  102.    End Do.
  103.  
  104. If the Effect is inactive, nothing will happen.  If a frame is inactive, 
  105. it will be skipped.  If a loop is inactive for a frame, it will be skipped.
  106. To play an effect, either click on the play button with the left mouse key 
  107. or hit the enter key on the keyboard.
  108.  
  109. Active:
  110.  
  111.   Any or all of the frames within an effect may be activated or inactivated
  112. with the active button.  If a frame of information is inactive, it will not
  113. be played.  Some effects may not need four frames of data.  Therefore the 
  114. un-needed frames should be deactivated.  The active state of a frame is 
  115. also useful for testing and pinpointing undesirable results.  An active 
  116. frame is indicated by black text, while an inactive frame is indicated by 
  117. light text.  The active frame is indicated by a solid button.  To switch 
  118. frames, simply click on another frame button with the left mouse key.
  119.  
  120. Edit Effect:
  121.  
  122.   Any or all of the effects may be activated or deactivated with the Edit 
  123. Effect button.  An inactive frame cannot be played.  The Edit Effect button
  124. also permits you to assign a name to an effect as well as see how many
  125. bytes are needed to play the effect.  An active effect is indicated by 
  126. black text, while an inactive frame is indicated by light text.  The active
  127. effect is indicated by a solid button.  To switch effects, simply click on 
  128. another effect button with the left mouse key.
  129.  
  130. Copy:
  131.  
  132.   Frames of information may be copied from one frame to another, or from 
  133. one frame to the clipboard.  All of the information pertaining to that 
  134. frame is copied including the loop messages.  If you wish to copy a frame 
  135. from one effect to a frame in another effect, use the clipboard.  To do 
  136. this, select the desired effect which contains the frame to be copied.  
  137. Click on the Copy button and select the frame number to be copied as the 
  138. source and select the clipboard as the destination.  Now switch to the 
  139. effect that you want to copy this information to.  Select the Copy button 
  140. again and select the clipboard as the source and the frame number you wish 
  141. to copy to as the destination.
  142.  
  143. Setting the Registers:
  144.  
  145.   Setting the various Sound Chip registers is quick and easy.  All of the 
  146. buttons are provided on one screen.  There are four sections of the screen 
  147. (shaded differently) for each logical group of information.  There is one 
  148. section for each of the three tone channels.  Within each of these sections,
  149. you specify the tone, volume, and duration of that channel.  The current 
  150. values are displayed next to the text for each item.  These values are 
  151. changed by clicking on the arrow buttons next to each value.  Each click 
  152. of the mouse key changes the value by one in the direction of the arrow 
  153. clicked on.  A double click of the left mouse key on these arrows will 
  154. change the value for that item to its maximum or minimum value depending 
  155. on which arrow is double clicked on.  Holding down either of the two shift 
  156. keys while clicking on the arrows which control the tone and duration has 
  157. a special meaning.  If the left shift key is held down, the values will be 
  158. incremented by ten.  If the right shift key is held down, the values will 
  159. be incremented by five.
  160.  
  161.   For tone, the range of values are from 0 to 4096.  For volume, the range 
  162. of values are from 0 to 16.  A volume of 0 to 15 indicates a solid tone, 
  163. while a volume of 16 indicates to use the wave envelope and envelope period 
  164. to control the volume.  For duration, the range of values are from 0 to 255
  165. (the duration is measured in 1/50's of a second).  A duration of zero means 
  166. to ignore that channel completely.
  167.  
  168.   For each tone channel, there are also two buttons used to control the 
  169. enabling for that channel.  To enable a channel for tone, the Enable Tone 
  170. button must be a solid color.  To enable a channel for noise, the Enable 
  171. Noise button must be a solid color.  These buttons are turned on and off 
  172. by clicking on them with the left mouse key.  
  173.  
  174.   The fourth box of information controls the wave parameters and noise 
  175. period value.  There are eight wave forms available, displayed graphically. 
  176. The active wave envelope is inverted in color.  To change wave envelopes, 
  177. simply click on the desired pattern with the left mouse key.  The current 
  178. envelope period is displayed below the wave envelope buttons.  This is an 
  179. editable text field where you can type in any number (values greater than 
  180. 65535 will be considered as 65535).  Below the envelope period is the noise
  181. period.  The range of values for the noise period are from 0 to 31 and are 
  182. changed by clicking on the arrow buttons next to the current noise period 
  183. value.  
  184.  
  185. Musical / Period:
  186.  
  187.   The Musical and Period buttons control the way the tone periods for the 
  188. three tone channels are displayed.  In the Musical state, the tones are 
  189. displayed as in musical notation, such as C#3.  The first character 
  190. indicates the note, followed by the accidental, followed by the octave.  
  191. If no accidental is displayed, it is a natural note.  In the Musical state,
  192. the lowest note is C0 and the highest is C7 (although the note can be 0 
  193. which means no tone).  In the Period state, the entire range of tones that 
  194. the Sound Chip can play are accessible.  If you switch from the Period 
  195. state to the Musical state, the tone will be changed to the closest Musical
  196. note (the period value will be changed accordingly).  If you are in the 
  197. Period state, the arrow buttons used to control the tone may at first seem 
  198. backwards.  Since a lower tone period means a higher pitch, the down arrow 
  199. button increases the tone period, while the up arrow button decreases the 
  200. tone period.
  201.  
  202. Load:
  203.  
  204.   Loads a previously saved file of ten effects from a disk file.
  205.  
  206. Save:
  207.  
  208.   Saves the current ten effects to a disk file.  There are two types of 
  209. files created.  One file with the extension .EFC is the file that DoEffect 
  210. can re-load later so that you may continue to work on it.  This file 
  211. contains all of the information for every effect, frame and loop, whether 
  212. it is active or inactive.  The second file created has the extension .INL.  
  213. This particular file has a header containing the number of effects and 
  214. their offsets, followed by the binary code necessary to replay them.  
  215. Thus the binary code will not contain any information for effects, frames 
  216. and loops which were not active when saved.  This file can be used to 
  217. merge the sound effects you have created into your own programs.  The 
  218. EFFECTS.LST file included with this package shows you how to read the .INL 
  219. file into your programs.
  220.  
  221. Print:
  222.  
  223.   Prints the data for the active effect to the printer.  The values 
  224. printed are the actual bytes of code needed by the operating system 
  225. to play that effect.  The code is in XBIOS(32) interrupt format.  
  226.  
  227. Show:
  228.  
  229.   Similar to Print except that the data is displayed on the screen.
  230.  
  231. New:
  232.  
  233.   Erases from memory all of the information for the current 10 effects.
  234.  
  235. Quit:
  236.  
  237.   Quits the DoEffect program.
  238.