home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 18 / CD_ASCQ_18_111294_W.iso / dos / prg / bas / ruckus / ruckdac.bi < prev    next >
Text File  |  1994-10-20  |  9KB  |  212 lines

  1. 'RUCKDAC.BI 1.0
  2.  
  3. DECLARE FUNCTION RUCKDAC% (SEG packinfo AS ANY)
  4.  
  5. CONST SysInfoDac = 0, InitDac = 1, ExitDac = 2, AtExitDac = 3
  6. CONST LoadDac = 4, PlayDac = 5, RecordDac = 6
  7. CONST StoreDac = 7, EndDac = 8, PauseDac = 9
  8. CONST DeallocDac = 10
  9.  
  10. CONST SetAllDac = 20, SetVolumeDac = 21, SetIntRateDac = 22, SetPriorityDac = 23
  11. CONST GetBufferDataDac = 28, GetBytePosDac = 29
  12.  
  13. CONST SetAllSBP = 30, SetVolMainSBP = 31, SetVolVocSBP = 32
  14. CONST SetLevelMicSBP = 33, SetLevelCDSBP = 34, SetLevelLineSBP = 35
  15. CONST SetFilterOutSBP = 36, SetFilterInSBP = 37
  16. CONST SetSourceSBP = 38, SetStereoSBP = 39
  17.  
  18. CONST SetSpeakerSB = 40
  19. CONST GetMixerRegSBP = 48, GetDacSB = 49
  20.  
  21. CONST ExitMod = 50, AtExitMod = 51
  22. CONST LoadMod = 52, PlayMod = 53
  23. CONST EndMod = 54, PauseMod = 55
  24. CONST SetIntRateMod = 56, SetSpeedMod = 57
  25. CONST SetVolumeMod = 58, SetPositionMod = 59
  26. CONST SetStereoMod = 60, SetFastMod = 61
  27.  
  28. TYPE DeallocPackTYPE            'DP
  29.  Func       AS INTEGER
  30.  stat       AS INTEGER
  31.  HandSeg    AS INTEGER          'RUCKUS allocates either XMM handle or DOS para
  32.  TypeFlag   AS INTEGER          '0=DOS para, 1=XMS handle
  33. END TYPE '8
  34.  
  35. TYPE GetDataPackTYPE            'GDP
  36.  Func       AS INTEGER
  37.  stat       AS INTEGER
  38.  BytePos    AS LONG             'current byte relative base ptr (27)
  39.  BufferPtrOff AS INTEGER        'far pointer to buffer to fill with data,offset
  40.  BufferPtrSeg AS INTEGER        'segment
  41.  StartPos   AS LONG             'start get at this offset relative BufferPtr
  42.  BufferCnt  AS INTEGER          'bytes to fill (2-65520)
  43.  MixerReg   AS INTEGER          'SBPro mixer register to get
  44. END TYPE '20
  45.  
  46. TYPE InitPackTYPE               'IP
  47.  Func       AS INTEGER
  48.  stat       AS INTEGER
  49.  DeviceID   AS INTEGER          '0=SPKR,1=LPTDAC,2=DSS,4=SB,5=SBPro
  50.  IOport     AS INTEGER
  51.  IRQline    AS INTEGER
  52.  DMAch      AS INTEGER
  53.  Flags      AS INTEGER          '(see source)
  54.  InfoPtrOff AS INTEGER          'ret:far ptr to dac info
  55.  InfoPtrSeg AS INTEGER
  56.  DacExitPtrOff AS INTEGER       'ret:far ptr to dac's ExitXB routine
  57.  DacExitPtrSeg AS INTEGER
  58.  ModExitPtrOff AS INTEGER       'ret:far ptr to mod's ExitXB routine
  59.  ModExitPtrSeg AS INTEGER
  60. END TYPE '24
  61.  
  62. TYPE LoadPackTYPE               'LP
  63.  Func       AS INTEGER
  64.  stat       AS INTEGER
  65.  FilenamePtrOff AS INTEGER      'far ptr to filenameZ to load
  66.  FilenamePtrSeg AS INTEGER
  67.  StartPos   AS LONG             'offset into file to start load at
  68.  LoadSize   AS LONG             'number of bytes to load (or 0 for autosize)
  69.  XMMflag    AS INTEGER          'if <> 0 use XMS for load
  70.  XMMhandle  AS INTEGER          'ret:XMS handle, or
  71.  LoadPtrOff AS INTEGER          'ret:DOS seg:offset (offset always 0)
  72.  LoadPtrSeg AS INTEGER
  73. END TYPE '20
  74.  
  75. TYPE PlaybackPackTYPE           'PBP
  76.  Func       AS INTEGER
  77.  stat       AS INTEGER
  78.  Mode       AS INTEGER          'playback mode (0=interrupt FG,1=BG,2=DMA,3=DMA+BG for mod)
  79.  XMMhandle  AS INTEGER          'if <> 0 this XMM handle used regardless
  80.  LoadPtrOff AS INTEGER          'seg:off to start of data to play
  81.  LoadPtrSeg AS INTEGER
  82.  BufferSize AS INTEGER          'size of DMA buffer for mod playback
  83. END TYPE '14
  84.  
  85. TYPE PausePackTYPE              'PP
  86.  Func       AS INTEGER
  87.  stat       AS INTEGER
  88.  Pause      AS INTEGER          '0=unpause else pause
  89. END TYPE '6
  90.  
  91. TYPE RecordPackTYPE             'RP
  92.  Func         AS INTEGER
  93.  stat         AS INTEGER
  94.  SampleRate   AS INTEGER
  95.  XMMhandle    AS INTEGER        '-1 auto XMS (ret in dx) else use this handle
  96.  RecordPtrOff AS INTEGER        'seg:off of buffer to store (0 for auto-store)
  97.  RecordPtrSeg AS INTEGER
  98.  RecordBytes  AS LONG           'bytes to record
  99.  StereoFlag   AS INTEGER        'stereo flag
  100. END TYPE '18
  101.  
  102. TYPE SaveDataPackTYPE           'SDP
  103.  Func       AS INTEGER
  104.  stat       AS INTEGER
  105.  FilenamePtrOff AS INTEGER      'far ptr to filenameZ to save
  106.  FilenamePtrSeg AS INTEGER
  107.  DataPtrOff AS INTEGER          'pointer to start of data to save, offset
  108.  DataPtrSeg AS INTEGER          'segment (or 0 if XMS)
  109.  FileType   AS INTEGER          '1=VOC,2=WAV
  110.  XMMhandle  AS INTEGER          'XMS handle of data to save (0 if DOS data)
  111. END TYPE '16
  112.  
  113. TYPE SetPackTYPE                'SP
  114.  Func       AS INTEGER
  115.  stat       AS INTEGER          ' (if volume=0 SB speaker off'ed else on'ed)
  116.  Volume     AS INTEGER          'volume (left ch=MSB,right=LSB) (0-127,0-127)
  117.  IntRate    AS INTEGER          'playback interrupt rate (5000-23000)
  118.  Priority   AS INTEGER          'priority level (0-2, default=1)
  119. END TYPE '18
  120.  
  121. TYPE SetModPackTYPE             'SMP                    'stereo modes
  122.  Func       AS INTEGER                                  'A=ch1+ch3 & ch2+ch4
  123.  stat       AS INTEGER                                  'B=?
  124.  VolCh1     AS INTEGER          'channel volume (0-255) 'C=?
  125.  VolCh2     AS INTEGER          'channel volumes adjustments made only
  126.  VolCh3     AS INTEGER          ' if FastMode=0
  127.  VolCh4     AS INTEGER
  128.  Stereo     AS INTEGER          'playback mode (0=mono,stereo 1=A,2=B,3=C)
  129.  FastMode   AS INTEGER          'fast playback (0=normal,1 fast,no ch volumes)
  130.  IntRate    AS INTEGER          'playback interrupt rate (5000-45500)
  131.  Position   AS INTEGER          'pattern list position (0-patterns to play)
  132.  Speed      AS INTEGER          'overall playback speed (1-15,default=6,15=slow)
  133.  SliceAdj   AS INTEGER          'slice adjust (1-64,default=1)
  134. END TYPE '24
  135.  
  136. TYPE SetProPackTYPE             'SPP
  137.  Func       AS INTEGER
  138.  stat       AS INTEGER
  139.  Volume     AS INTEGER          'volume (low=right;0-15, high byte=left;0-15)
  140.  VolVoc     AS INTEGER          '
  141.  VolMic     AS INTEGER          '(mono only, 0-7) input level
  142.  VolCD      AS INTEGER          'input level (0-15,0-15)
  143.  VolLI      AS INTEGER          'input level (0-15,0-15)
  144.  FilterOut  AS INTEGER          '0=filter off, 1=filter on
  145.  FilterIn   AS INTEGER          '0=filter off, 1=3.2kHz, 2=8.8kHz
  146.  SourceIn   AS INTEGER          '0=mic,1=CD,2=line
  147.  StereoIn   AS INTEGER          '0=mono,1=stereo record
  148. END TYPE '22
  149.  
  150. TYPE XitPackTYPE                'XP
  151.  Func       AS INTEGER
  152.  stat       AS INTEGER
  153. END TYPE '4
  154.  
  155. TYPE SysInfoPackTYPE            'SIP
  156.  Func       AS INTEGER          '
  157.  stat       AS INTEGER
  158.  CPU        AS INTEGER          'CPU class (88,286,386,486)
  159.  CPUmode    AS INTEGER          '0=real mode,1=PM,2=PM w/paging
  160.  MHz        AS INTEGER          'approx speed (5,20,33)
  161.  Device0    AS INTEGER          '=1 speaker available
  162.  D0port     AS INTEGER          '42h
  163.  D0IRQ      AS INTEGER          'n/a
  164.  D0DMA      AS INTEGER          'n/a
  165.  D0flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  166.  Device1    AS INTEGER          '=1 LPT-DAC available on LPT1
  167.  D1port     AS INTEGER          'port of _first_ LPT found in BIOS data area
  168.  D1IRQ      AS INTEGER          'n/a
  169.  D1DMA      AS INTEGER          'n/a
  170.  D1flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  171.  Device2    AS INTEGER          '=1 Disney Sound Source available
  172.  D2port     AS INTEGER          'port of DSS
  173.  D2IRQ      AS INTEGER          'n/a
  174.  D2DMA      AS INTEGER          'n/a
  175.  D2flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  176.  Device3    AS INTEGER          '=1 AdLib available
  177.  D3port     AS INTEGER          '388h
  178.  D3IRQ      AS INTEGER          'n/a
  179.  D3DMA      AS INTEGER          'n/a
  180.  D3flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  181.  Device4    AS INTEGER          '=1 SB available
  182.  D4port     AS INTEGER          'port of SB
  183.  D4IRQ      AS INTEGER          'IRQ
  184.  D4DMA      AS INTEGER          'DMA
  185.  D4flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  186.  Device5    AS INTEGER          '=1 SBPro available
  187.  D5port     AS INTEGER          'port of SBPro
  188.  D5IRQ      AS INTEGER          'IRQ
  189.  D5DMA      AS INTEGER          'DMA
  190.  D5flags    AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  191. END TYPE '70
  192.  
  193. TYPE SysDevTYPE                 'SD (used by BASIC 7.1 compiler)
  194.  device     AS INTEGER          '=1 device available
  195.  port       AS INTEGER
  196.  IRQ        AS INTEGER
  197.  DMA        AS INTEGER
  198.  Flags      AS INTEGER          'bit4=MIDI/3=XMS/2=DMA/1=REC/0=PLAY
  199. END TYPE '10
  200.  
  201. TYPE SysInfoPackTYPE7           'SIP   BASIC 7.1: SIP.SD(0).device = ...
  202.  Func       AS INTEGER
  203.  stat       AS INTEGER
  204.  CPU        AS INTEGER          'CPU class (88,286,386,486)
  205.  CPUmode    AS INTEGER          '0=real mode,1=PM,2=PM w/paging
  206.  MHz        AS INTEGER          'approx speed (5,20,33)
  207.  ''SD(0 TO 5) AS SysDevTYPE       'QB45 won't accept arrays in TYPEs
  208. END TYPE '70
  209.  
  210. 'END RUCKDAC.BI -----------------------
  211.  
  212.