; Various tests for output filter and DAC. I used a Nippon Precision Circuits ; SM5813AP dual-channel 8-times oversampling digital filter into a Burr Brown ; PCM1700P dual-channel 18-bit DAC. The code is very specific to my hardware. ; ; available signals: ; impulse ; square ; triangle ; sine (uses twin-integrator harmonic oscillator) ; ; This code is not interrupt driven but simple spins waiting for transmitter ; ready on each sample. ; ; ; written by Quinn Jensen ; include "ioequ.inc" P:0000 org p:$0000 P:0000 0C0040 jmp -.5,a P:004F C00000 P:0050 im1 P:0050 069081 do #400,im0 P:0051 000052 P:0052 0D0057 jsr -.1,a P:005F F33333 P:0060 sq1 P:0060 06C880 do #200,sq0 P:0061 000067 P:0062 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0063 000062 P:0064 08CE2F movep a,x:m_tx P:0065 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0066 000065 P:0067 08CE2F movep a,x:m_tx P:0068 sq0 P:0068 200036 neg a P:0069 0C0060 jmp .010,x0 P:006B 0147AE P:006C 56F400 move #>-.9,a P:006D 8CCCCD P:006E l0 P:006E 06B480 do #90*2,l1 P:006F 000076 P:0070 200040 add x0,a P:0071 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0072 000071 P:0073 08CE2F movep a,x:m_tx P:0074 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0075 000074 P:0076 08CE2F movep a,x:m_tx P:0077 l1 P:0077 208F00 move x0,b P:0078 20003E neg b P:0079 21E400 move b,x0 P:007A 0C006E jmp .050,x0 ;oscillator freq P:007C 066666 P:007D 56F400 move #>-.209,a ;initial conditions P:007E E53F7D P:007F 57F400 move #>.2090,b ; P:0080 1AC083 P:0081 loop P:0081 2000D2 mac x0,y0,a P:0082 21C600 move a,y0 P:0083 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0084 000083 P:0085 08CE2F movep a,x:m_tx P:0086 2000DE mac -x0,y0,b P:0087 21E600 move b,y0 P:0088 0AAE86 jclr #6,x:m_sr,* ;wait for transmitter ready P:0089 000088 P:008A 08CF2F movep b,x:m_tx P:008B 0C0081 jmp