home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / utilities / utilst / waveedit / !WaveEdit / Dox / SampleMod next >
Text File  |  1992-04-17  |  3KB  |  76 lines

  1.                               SampleMod 1.02 docs.
  2.                               ====================
  3.  
  4.   SampleMod is used to control the sampler built in 'Egebladet' issue 19. It
  5. is not suitable for working with other hardware.
  6.  
  7.  
  8.  
  9.                              Short SWI list
  10.                              ==============
  11.  
  12.  &C0CC0 ADC_Bypass          Bypass the ADC input to the sound output
  13.  &C0CC1 ADC_Sample          Sample from the ADC into memory
  14.  &C0CC2 ADC_DoConversion    Get a value from the ADC with initial delay
  15.  &C0CC3 ADC_NextConversion  Get a value from the ADC
  16.  
  17.  
  18.  
  19.                                SWIs in detail
  20.                                ==============
  21.  
  22. General note: When few or no errors are listed under 'Possible errors', care
  23. should be taken about the parametres passed to the routine. There are no
  24. bounds checking in these routines.
  25.  
  26.  
  27.   &C0CC0 'ADC_Bypass' Bypass the ADC input to the sound output
  28.   ------------------------------------------------------------
  29.   On entry: R0 = Sample period in 0.5 µs units
  30.  
  31.   This call will enter a loop, where the ADC is read continiously, and the
  32. values are sent directly to the VIDC sound output. Nearly everything else
  33. going on will be stopped (Screen DMA, IRQ's, FIQ's, etc.), so the maximum
  34. quality is output. The bypassing is stopped when an interrupt arrives from
  35. the keyboard, which is when a key is pressed or the mouse is moved.
  36.  
  37.  
  38.   &C0CC1 'ADC_Sample' Sample from the ADC into memory
  39.   ---------------------------------------------------
  40.   On entry: R0 = Pointer to start of buffer for data
  41.             R1 = Length of buffer
  42.             R2 = Sample period in 0.5 µs units
  43.             R3 = Trigger level (12-bit unsigned linear value)
  44.  
  45.   The SWI will enter a loop where it's reading from the ADC at the given
  46. sample rate, waiting for the value to exceed the given trigger level. When
  47. this happens, the buffer is filled with the values from the ADC, still
  48. reading at the sample rate. When the buffer is full, the SWI returns.
  49.   While waiting for the trigger level, the border is coloured using the
  50. current value from the ADC, so when the colour remains constant, the
  51. sampling has started. The 12-bit values read from the ADC are converted to
  52. 8-bit logarithmic values before they're stored in the buffer. The trigger
  53. level is a 12-bit ADC-style level, i.e. 0 to &1000 with &800 meaning zero
  54. input voltage.
  55.  
  56. Possible errors:
  57.  'No writable memory at this address'
  58.  
  59.  
  60.   &C0CC2 'ADC_DoConversion' Get a value from the ADC with initial delay
  61.   ---------------------------------------------------------------------
  62.   On exit:  R0 = 12-bit unsigned value from the ADC
  63.   
  64.   This SWI will start a conversion, wait for approx. 13 µs, and read the
  65. value from the ADC. After reading the value, the ADC is started converting
  66. again.
  67.  
  68.  
  69.   &C0CC3 'ADC_NextConversion' Get a value from the ADC
  70.   ----------------------------------------------------
  71.   On exit:  R0 = 12-bit unsigned value from the ADC
  72.  
  73.   This SWI will read the ADC without the initial delay, and start a new
  74. conversion afterwards. Typically called repeatedly after calling
  75. 'ADC_DoConversion' the first time.
  76.