home *** CD-ROM | disk | FTP | other *** search
- ;;
-
- ;; +++++++++++++++++++++++++++++++++
-
- ;; + S5INTER.ASM : 31-July-87 +
-
- ;; +++++++++++++++++++++++++++++++++
-
- ;;
-
- ;; PAR Sophus Software
-
- ;;
-
- ;; Used for interfacing to s5.library - defines offsets for the purpose.
-
- ;;
-
- ;; This file is available to users - in source form if necessary
-
- ;;
-
- ;;
-
- ;; Interface for calling library routines from C.
-
- ;;
-
- SECTION SECTION
-
- XREF _S5Base ; base of library pointer
-
-
-
- ; Set up these offsets automatically !
-
-
-
- S5COUNT SET 5
-
-
-
- ; define _xxxxx and _LVOxxxxx
-
-
-
- MAKE MACRO
-
- XDEF _\1
-
- _LVO\1 EQU S5COUNT*(-6)
-
- _EP SET S5COUNT
-
- S5COUNT SET S5COUNT+1
-
- ENDM
-
-
-
- ;
-
- ; Define all library offsets
-
- ;
-
-
-
- MAKE S5StartWave
-
- MAKE S5StopWave
-
- MAKE S5StereoStart
-
- MAKE S5StereoStop
-
- MAKE S5CheckPlaying
-
- MAKE S5WaitForEnd
-
- MAKE S5SoundStartUp
-
- MAKE S5AllocateSampleBuffer
-
- MAKE S5SoundShutDown
-
- MAKE S5ConfigureHardware
-
- MAKE S5DeconfigureHardware
-
- MAKE S5RecordSamples
-
- MAKE S5ADC
-
- MAKE S5Read1LR
-
- MAKE S5ClearTracks
-
- MAKE S5ValidRange
-
- MAKE S5BuildEnvelopeTable
-
- MAKE S5FreqToPlayRate
-
- MAKE S5FreqToSamRateStereo
-
- MAKE S5FreqToSamRateMono
-
- MAKE S5SetTiming
-
- MAKE S5GetTiming
-
- MAKE S5LoadIFF
-
- MAKE S5SaveIFF
-
- MAKE S5LoadSOP2
-
- MAKE S5SaveSOP2
-
- MAKE S5LoadSOP3
-
- MAKE S5SaveSOP3
-
- MAKE S5AllocateFrag
-
- MAKE S5DeallocateFrag
-
- MAKE S5LoadEnvelope
-
- MAKE S5SaveEnvelope
-
- MAKE S5KillEnvelope
-
- MAKE S5FastMemRecord
-
- MAKE S5FastMemPlay
-
- MAKE S5Seize
-
- MAKE S5Release
-
- MAKE S5SetPlay
-
- MAKE S5SetRecord
-
- MAKE S5FragSize
-
- MAKE S5STEREOSAMPLE
-
- MAKE S5LEFTSAMPLE
-
- MAKE S5RIGHTSAMPLE
-
- MAKE S5DUMMYREAD
-
- MAKE S5FILL
-
- MAKE S5MOVE
-
- MAKE S5GetStatus
-
- MAKE S5Player
-
- MAKE S5LatticeIO
-
- ;;
-
- ;; Handy little things , macros, ar'n't they ?
-
- ;;
-
- PUSH MACRO
-
- MOVE.L \1,-(SP)
-
- ENDM
-
-
-
- POP MACRO
-
- MOVE.L (SP)+,\1
-
- ENDM
-
-
-
- ZOK MACRO
-
- MOVE.L _S5Base,A6
-
- JSR _LVOS5\1(A6)
-
- POP A6
-
- RTS
-
- ENDM
-
-
-
- PARAM1 EQU 8
-
- PARAM2 EQU 12
-
- PARAM3 EQU 16
-
- PARAM4 EQU 20
-
-
-
- ;
-
- ; PARx builds stack frames
-
- ;
-
-
-
- PAR0 MACRO
-
- PUSH A6
-
- ENDM
-
-
-
- PAR1 MACRO
-
- PUSH A6
-
- MOVE.L 8(SP),A0
-
- ENDM
-
-
-
- PAR2 MACRO
-
- PUSH A6
-
- MOVE.L 8(SP),A0
-
- MOVE.L 12(SP),A1
-
- ENDM
-
-
-
- PAR3 MACRO
-
- PUSH A6
-
- MOVE.L 8(SP),A0
-
- MOVE.L 12(SP),A1
-
- MOVE.L 16(SP),D0
-
- ENDM
-
-
-
- PAR4 MACRO
-
- PUSH A6
-
- MOVE.L 8(SP),A0
-
- MOVE.L 12(SP),A1
-
- MOVE.L 16(SP),D0
-
- MOVE.L 20(SP),D1
-
- ENDM
-
-
-
-
-
-
-
- ;
-
- ;----------------------------------------------------------------------
-
- ;
-
- _S5StartWave: ;; Succ = S5StartWave(freq,type)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK StartWave
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5StopWave: ;; Succ = S5StopWave()
-
- ;; D0
-
- PAR0
-
- ZOK StopWave
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5StereoStart: ;; Succ = S5StereoStart(left,right,deviate)
-
- ;; D0 A0 A1 D0
-
- PAR3
-
- ZOK StereoStart
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5StereoStop: ;; Succ = S5StereoStop(left,right)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK StereoStop
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5CheckPlaying: ;; Boolean = S5CheckPlaying(Select)
-
- ;; D0 A0
-
- PAR1
-
- ZOK CheckPlaying
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5WaitForEnd: ;; S5WaitForEnd(Select)
-
- ;; A0
-
- PAR1
-
- ZOK WaitForEnd
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SoundStartUp: ;; Succ = S5SoundStartUp(size,left,right)
-
- ;; D0 A0 A1 D0
-
- PAR3
-
- ZOK SoundStartUp
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5AllocateSampleBuffer: ;; Succ = S5AllocateSampleBuffer(size,frag)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK AllocateSampleBuffer
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SoundShutDown: ;; S5SoundShutDown(left,right)
-
- ;; A0 A1
-
- PAR2
-
- ZOK SoundShutDown
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5ConfigureHardware: ;; Succ = S5ConfigureHardware()
-
- ;; D0
-
- PAR0
-
- ZOK ConfigureHardware
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5DeconfigureHardware: ;; Succ = S5DeconfigureHardware()
-
- ;; D0
-
- PAR0
-
- ZOK DeconfigureHardware
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5RecordSamples: ;; Succ = RecordSamples(left,right)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK RecordSamples
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5ADC: ;; Int = S5ADC(Select)
-
- ;; D0 A0
-
- PAR1
-
- ZOK ADC
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5Read1LR: ;; S5Read1LR(left,right)
-
- ;; A0 A1
-
- PAR2
-
- ZOK Read1LR
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5ClearTracks: ;; S5ClearTracks(left,right)
-
- ;; A0 A1
-
- PAR2
-
- ZOK ClearTracks
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5ValidRange: ;; Boolean = S5ValidRange(frag)
-
- ;; D0 A0
-
- PAR1
-
- ZOK ValidRange
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5BuildEnvelopeTable: ;; Boolean = S5BuildEnvelopeTable(frag,select)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK BuildEnvelopeTable
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FreqToPlayRate: ;; Integer = S5FreqToPlayRate(freq)
-
- ;; D0 A0
-
- PAR1
-
- ZOK FreqToPlayRate
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FreqToSamRateStereo: ;; Integer = S5FreqToSamRateStereo(freq)
-
- ;; D0 A0
-
- PAR1
-
- ZOK FreqToSamRateStereo
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FreqToSamRateMono: ;; Integer = S5FreqToSamRateMono(freq)
-
- ;; D0 A0
-
- PAR1
-
- ZOK FreqToSamRateMono
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SetTiming: ;; S5SetTiming(con1,con2,pclk)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK SetTiming
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5GetTiming: ;; S5GetTiming(con1,con2,pclk)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK GetTiming
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LoadIFF: ;; Succ = S5LoadIFF(frag,filename,opt)
-
- ;; D0 A0 A1 D0
-
- PAR3
-
- ZOK LoadIFF
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SaveIFF: ;; Succ = S5SaveIFF(frag,filename,opt1,opt2)
-
- ;; D0 A0 A1 D0 D1
-
- PAR4
-
- ZOK SaveIFF
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LoadSOP2: ;; Succ = S5LoadSOP2(LFrag,RFrag,filename,opt)
-
- ;; D0 A0 A1 D0 D1
-
- PAR4
-
- ZOK LoadSOP2
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SaveSOP2: ;; Succ = S5SaveSOP2(LFrag,RFrag,filename,opt)
-
- ;; D0 A0 A1 D0 D1
-
- PAR4
-
- ZOK SaveSOP2
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LoadSOP3: ;; Succ = S5LoadSOP3(frag,filename,option)
-
- ;; D0 A0 A1 D0
-
- PAR3
-
- ZOK LoadSOP3
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SaveSOP3: ;; Succ = S5SaveSOP3(frag,filename,option)
-
- ;; D0 A0 A1 D0
-
- PAR3
-
- ZOK SaveSOP3
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5AllocateFrag: ;; FragPtr = S5AllocateFrag(size,type)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK AllocateFrag
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5DeallocateFrag: ;; S5DeallocateFrag(frag)
-
- ;; A0
-
- PAR1
-
- ZOK DeallocateFrag
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LoadEnvelope: ;; Succ = S5LoadEnvelope(env,filename)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK LoadEnvelope
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SaveEnvelope: ;; Succ = S5SaveEnvelope(env,filename)
-
- ;; D0 A0 A1
-
- PAR2
-
- ZOK SaveEnvelope
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5KillEnvelope: ;; S5KillEnvelope(env)
-
- ;; A0
-
- PAR1
-
- ZOK KillEnvelope
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FastMemRecord: ;; Succ = S5FastMemRecord(frag)
-
- ;; D0 A0
-
- PAR1
-
- ZOK FastMemRecord
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FastMemPlay: ;; Succ = S5FastMemPlay(frag)
-
- ;; D0 A0
-
- PAR1
-
- ZOK FastMemPlay
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5Seize: ;; Succ = S5Seize()
-
- ;; D0
-
- PAR0
-
- ZOK Seize
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5Release: ;; Succ = S5Release()
-
- ;; D0
-
- PAR0
-
- ZOK Release
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SetPlay: ;; S5SetPlay(frag,item,value)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK SetPlay
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5SetRecord: ;; S5SetRecord(frag,samrate)
-
- ;; A0 A1
-
- PAR2
-
- ZOK SetRecord
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FragSize: ;; Integer = S5FragSize()
-
- ;; D0
-
- PAR0
-
- ZOK FragSize
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5STEREOSAMPLE: ;; S5STEREOSAMPLE(left,right,loops,delay)
-
- ;; A0 A1 D0 D1
-
- PAR4
-
- ZOK STEREOSAMPLE
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LEFTSAMPLE: ;; S5LEFTSAMPLE(buffer,loops,delay)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK LEFTSAMPLE
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5RIGHTSAMPLE: ;; S5RIGHTSAMPLE(buffer,loops,delay)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK RIGHTSAMPLE
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5DUMMYREAD: ;; S5DUMMYREAD(loops)
-
- ;; A0
-
- PAR1
-
- ZOK DUMMYREAD
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5FILL: ;; S5FILL(buffer,length,bytedata)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK FILL
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5MOVE: ;; S5MOVE(src,dest,length)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK MOVE
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5GetStatus: ;; S5GetStatus(ShortVar)
-
- ;; A0
-
- PAR1
-
- ZOK GetStatus
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5Player: ;; Succ = S5Player(filename)
-
- ;; D0 A0
-
- PAR1
-
- ZOK Player
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- _S5LatticeIO: ;; S5LatticeIO(in,out,err)
-
- ;; A0 A1 D0
-
- PAR3
-
- ZOK LatticeIO
-
- ;
-
- ;-----------------------------------------------------------------------
-
- ;
-
- END
-
- ;-----------------------------------------------------------------------
-
-
-
-