<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Community: Message List</title>
    <link>http://line6.com/support/index.jspa?view=discussions</link>
    <description>Most recent forum messages</description>
    <language>en</language>
    <pubDate>Fri, 06 Jul 2012 02:10:55 GMT</pubDate>
    <generator>Jive SBS 4.5.7.0 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2012-07-06T02:10:55Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>Re: Delay effect</title>
      <link>http://line6.com/support/message/382272?tstart=0#382272</link>
      <description>&lt;!-- [DocumentBodyStart:1e7f438a-3993-4bff-a4f0-ff89b6728ed3] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; page&amp;#160;&amp;#160;&amp;#160; 132,60&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; include "..\Ioequ.inc"&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; include "..\vectors4.inc"&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; list&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;;---------------------------------------------------------------------------------------------------&lt;br/&gt;;This is a modification of Luke Durback's Flange 0.95 to extend the parameter "minimum delay",&lt;br/&gt;;set by knob 4 in order to achieve a standard guitar delay effect (A flanger is also a delay &lt;br/&gt;;but with a very short (order of ms) modulating delay time creating a comb filter as a result.&lt;br/&gt;;To make the normal delay, I extend this minimum delay time into the order of seconds.&lt;br/&gt;;The problem was that simply increasing the size of constant "MinDelayLimit" beyond a certain &lt;br/&gt;;point does not work as modulo buffer addressing can have a max value of 32768, limiting delay &lt;br/&gt;;time to about 0.8 s. The solution in this code is circular buffer management that is implemented manually as overhead code.&lt;br/&gt;;Nested three times (read after main delay, read after flange delay, write) between the lines &lt;br/&gt;;"mk buffer management" and "mk end buffer management" is this code. The constants section has also changed to reflect&lt;br/&gt;;the longer delay times and additional buffer allocation.&lt;br/&gt;;The multiple voice loop has been disabled. What occurs is the minimum delay (first read) offers &lt;br/&gt;;the perceptible digital delay, followed by the second short flange delay applied to the repeat &lt;br/&gt;;of the main delay. The flange delay depth is set by knob 5, and its oscillation frequency by knob 1. &lt;br/&gt;;You'll hear what I mean.&lt;br/&gt;;&lt;br/&gt;;Start of Luke's code:&lt;br/&gt;;&lt;br/&gt;;&amp;#160;&amp;#160; Flanger 0.95&lt;br/&gt;;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; This file is setup to work with the Line 6 / Freescale Tone Core Developer s Kit.&lt;br/&gt;;&amp;#160; This effect is a simple multi-voice flange/chorus.&amp;#160; The code is based on Line 6 s 2 Band Stereo EQ.&lt;br/&gt;; &lt;br/&gt;;&lt;br/&gt;; Knobs&lt;br/&gt;; *1st knob sets the lfo frequency&lt;br/&gt;; *2nd knob sets the depth (how much of the delayed sample is added to the current sample)&lt;br/&gt;; *3rd knob sets the feedback (how much of the processed sample is added into the delay buffer)&lt;br/&gt;; *4th knob sets the minimum delay&lt;br/&gt;; *5th knob sets the delay width&lt;br/&gt;; *6th knob sets the separation between voices&lt;br/&gt;;&lt;br/&gt;; Switch 1 the number of voices: 1, 2, or 3&lt;br/&gt;; &lt;br/&gt;; Switch 2 sets the lfo shape&lt;br/&gt;; *position 0 - sine&lt;br/&gt;; *position 1 - exponential&lt;br/&gt;; *position 2 - linear&lt;br/&gt;;&lt;br/&gt;; Flange 0.95:&lt;br/&gt;; Luke Durback,&amp;#160; March 14, 2009&lt;br/&gt;;&amp;#160; &lt;br/&gt;;&lt;br/&gt;; 2 Band Stereo EQ:&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;;&amp;#160;&amp;#160; Line 6,&amp;#160; November 30, 2007&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;;&amp;#160; Copyright (c) 2008 Line 6 Inc&lt;br/&gt;;&amp;#160; Line 6 Confidential Information&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;; Constants&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;&lt;p&gt;BufferSize&amp;#160;&amp;#160;&amp;#160; equ 35000&amp;#160; ; the buffer size, originally 4096&lt;br/&gt;DelayLimit&amp;#160;&amp;#160;&amp;#160; equ 300&amp;#160;&amp;#160; ; the limit on the delay length, originally 300&lt;br/&gt;MinDelayLimit&amp;#160;&amp;#160; equ 30000&amp;#160;&amp;#160; ; the limit on the delay offst, originally 600&lt;br/&gt;SeperationLimit&amp;#160;&amp;#160; equ 600&amp;#160;&amp;#160; ; the limit on the seperation between voices, originally 600&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; make sure that&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; BufferSize &amp;gt; DelayLimit + MinDelayLimit + 2*SeperationLimit, and then some (increase till it works)&lt;br/&gt;LFOIncMin&amp;#160;&amp;#160;&amp;#160; equ $0&amp;#160;&amp;#160; ;originally $40&lt;br/&gt;LFOIncLimit&amp;#160;&amp;#160;&amp;#160; equ $2000&amp;#160; ;originally $2000&lt;/p&gt;&lt;p&gt;&lt;br/&gt;AccessSRAMWord0&amp;#160;&amp;#160; equ $982245 ; 1 0 011 00 0 00100 0 100100 01 01&lt;br/&gt;; DMA Control Register for channel 0&lt;br/&gt;; bit(s)value description&lt;br/&gt;; [23] = DE = 1 DMA Operation disabled (Trigger DMA transfer)&lt;br/&gt;; [22] = DIE = 0 DMA Interrupt disabled&lt;br/&gt;; [21:19] = DTM[2:0] = 011 triggered by DE, DE=0 after done&lt;br/&gt;; [18:17] = DPR[1:0] = 00 priority level 0&lt;br/&gt;; [16] = DCON = 0 Continuous mode disabled&lt;br/&gt;; [15:11] = DRS[4:0] = 00100 Transfer done from channel 0&lt;br/&gt;; [10] = D3D = 0 non 3-d mode&lt;br/&gt;; [9:4] = DAM[5:0] = 100100 no update s/d&lt;br/&gt;; [3:2] = DDS[1:0] = 01 Y memory destination&lt;br/&gt;; [1:0] = DSS[1:0] = 01 Y memory source&lt;/p&gt;&lt;p&gt;AccessSRAMWord1&amp;#160;&amp;#160; equ $982A45 ; 1 0 011 00 0 00101 0 100100 01 01&lt;br/&gt;; DMA Control Register for channel 0&lt;br/&gt;; bit(s)value description&lt;br/&gt;; [23] = DE = 1 DMA Operation disabled (Trigger DMA transfer)&lt;br/&gt;; [22] = DIE = 0 DMA Interrupt disabled&lt;br/&gt;; [21:19] = DTM[2:0] = 011 triggered by DE, DE=0 after done&lt;br/&gt;; [18:17] = DPR[1:0] = 00 priority level 0&lt;br/&gt;; [16] = DCON = 0 Continuous mode disabled&lt;br/&gt;; [15:11] = DRS[4:0] = 00101 Transfer done from channel 1&lt;br/&gt;; [10] = D3D = 0 non 3-d mode&lt;br/&gt;; [9:4] = DAM[5:0] = 100100 no update s/d&lt;br/&gt;; [3:2] = DDS[1:0] = 01 Y memory destination&lt;br/&gt;; [1:0] = DSS[1:0] = 01 Y memory source&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;;**************************************************************************&lt;/p&gt;&lt;p&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;; Variables&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; org&amp;#160;&amp;#160;&amp;#160;&amp;#160; x:$000&lt;br/&gt;;...Knob registers expect a value of 0x000000 thru 0x7FFFFF from the microcontroller&lt;br/&gt;Knob_1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 00h&lt;br/&gt;Knob_2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 01h&lt;br/&gt;Knob_3&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 02h&lt;br/&gt;Knob_4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 03h&lt;br/&gt;Knob_5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 04h&lt;br/&gt;Knob_6&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 05h&lt;/p&gt;&lt;p&gt;;...Switch registers expect a value of 0,1, or 2 from the microcontroller&lt;br/&gt;Switch_1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 06h&lt;br/&gt;Switch_2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 07h&lt;/p&gt;&lt;p&gt;;...FootSwitch registers expect a value of 0x000000 or 0x000001 from the microcontroller&lt;br/&gt;FootSwitch_TopLayer&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 08h&lt;br/&gt;FootSwitch_BottomLayer&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 09h&lt;/p&gt;&lt;p&gt;;...LED registers are read by the micro and should be set to 0x000000 or 0x000001&amp;#160; (off and on)&lt;br/&gt;LED_Red&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0ah&lt;br/&gt;LED_Green&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0bh&lt;/p&gt;&lt;p&gt;;...RX and TX registers&lt;br/&gt;LeftRx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0ch&amp;#160;&amp;#160; Left received sample&lt;br/&gt;RightRx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0dh&amp;#160;&amp;#160; Right received sample&lt;br/&gt;LeftTx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0eh&amp;#160;&amp;#160; Left sample to transmit&lt;br/&gt;RightTx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 0fh&amp;#160;&amp;#160; Right sample to transmit&lt;br/&gt;SHI_StateMachine&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 10h&amp;#160;&amp;#160; current state of the serial host interface&lt;br/&gt;HostCommand&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 11h&amp;#160;&amp;#160; current SHI command&lt;/p&gt;&lt;p&gt;;...Debug registers&lt;br/&gt;Debug_Write_to_DSP_1&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 12h&amp;#160;&amp;#160; recieves data from the ToneCoreGUI application&lt;br/&gt;Debug_Write_to_DSP_2&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 13h&amp;#160;&amp;#160; recieves data from the ToneCoreGUI application&lt;br/&gt;Debug_Write_to_DSP_3&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 14h&amp;#160;&amp;#160; recieves data from the ToneCoreGUI application&lt;br/&gt;Debug_Write_to_DSP_4&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 15h&amp;#160;&amp;#160; recieves data from the ToneCoreGUI application&lt;br/&gt;Debug_Read_from_DSP_1&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 16h&amp;#160;&amp;#160; send data to the ToneCoreGUI application&lt;br/&gt;Debug_Read_from_DSP_2&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 17h&amp;#160;&amp;#160; send data to the ToneCoreGUI application&lt;br/&gt;Debug_Read_from_DSP_3&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 18h&amp;#160;&amp;#160; send data to the ToneCoreGUI application&lt;br/&gt;Debug_Read_from_DSP_4&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 19h&amp;#160;&amp;#160; send data to the ToneCoreGUI application&lt;/p&gt;&lt;p&gt;;...FootLatch says whether the simulated latch is up or down&lt;br/&gt;;...FootLatchMem is compared to the current state of FootSwitch_BottomLayer to decide&lt;br/&gt;; whether the simulated latch is up or down&lt;br/&gt;FootLatch&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 1Ah&lt;br/&gt;FootLatchMem&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 1Bh&lt;/p&gt;&lt;p&gt;LeftInput&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; 00h&lt;br/&gt;LeftOutput&amp;#160;&amp;#160;&amp;#160; ds 1&lt;/p&gt;&lt;p&gt;Depth&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;LFOPhase&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;LFOInc&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds&amp;#160; 1&lt;br/&gt;Delay&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;MinDelay&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;Feedback&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;MaxDelayLength&amp;#160;&amp;#160; ds 1&lt;/p&gt;&lt;p&gt;Voices&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 1&lt;br/&gt;VoiceSeperation&amp;#160;&amp;#160; ds 1&lt;/p&gt;&lt;p&gt;Temp&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 16&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; org&amp;#160;&amp;#160;&amp;#160;&amp;#160; y:$000&lt;br/&gt;;...Chan0 is for reading from SRAM&lt;br/&gt;Chan0IO&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 16&amp;#160; ; 04h&lt;br/&gt;;...Chan1 is for writing to SRAM&lt;br/&gt;Chan1IO&amp;#160;&amp;#160;&amp;#160;&amp;#160; ds 16&amp;#160; ; 14h&lt;/p&gt;&lt;p&gt;&amp;#160; org&amp;#160; y:$200000&lt;br/&gt;Buffer&amp;#160;&amp;#160;&amp;#160;&amp;#160; dsm (BufferSize)&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;; Macros&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;&lt;p&gt;HandleFootSwitch MACRO&lt;br/&gt;;Handles the foot switch, turns on/off bypass if need be&lt;br/&gt;;Use Bottom layer of FootSwitch to turn on/off analog bypass&lt;br/&gt;;&lt;br/&gt;; Uses b, x0, and x1&lt;br/&gt;;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160; take the momentary footswitch signal (pulse) and generate a latched (step) control signal&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:FootSwitch_BottomLayer,b&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; load unmodified footswitch input&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:FootSwitch_BottomLayer,x1&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; load unmodified footswitch input &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; not&amp;#160;&amp;#160;&amp;#160;&amp;#160; b&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; x:FootLatchMem,x0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; not a&amp;#160; (also, load the previous momentary signal into x0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and&amp;#160;&amp;#160;&amp;#160;&amp;#160; x0,b&amp;#160;&amp;#160;&amp;#160; x1,x:FootLatchMem&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; x0 &amp;amp; a (also, store current momentary signal for next iteration)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:FootLatch,x0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; load previous latched value&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; eor&amp;#160;&amp;#160;&amp;#160;&amp;#160; x0,b&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; generate current latched (step) control signal&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; b1,x:FootLatch&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; store latched footswitch signal created from momentary footswitch&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:FootLatch,b&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; load latching footswitch signal&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #0,b,_ANALOG_BYPASS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit clear = bypass&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000008,x:M_PDRB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 3 on&amp;#160; = FX_ON&amp;#160; Also Pre-Emph, Post-DeEmph Off, Direct Off&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bset&amp;#160;&amp;#160;&amp;#160; #0,x:LED_Green&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; turn led on to indicate effect on&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jmp&amp;#160;&amp;#160;&amp;#160;&amp;#160; _END_ANALOG_BYPASS&lt;br/&gt;_ANALOG_BYPASS:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000004,x:M_PDRB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 2 on&amp;#160; = DIRECT_ON, All else off&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bclr&amp;#160;&amp;#160;&amp;#160; #0,x:LED_Green&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; turn led off to indicate effect off&lt;br/&gt;_END_ANALOG_BYPASS:&lt;br/&gt;&amp;#160; ENDM&lt;/p&gt;&lt;p&gt;TransferYData0 MACRO SRC,DEST&lt;br/&gt;; Transfer data y:(SRC) into y:(DEST) using Chan0&lt;br/&gt;;;;Primarily used for reading from SRAM&lt;br/&gt;&amp;#160; move SRC,x:M_DSR0&amp;#160;&amp;#160;&amp;#160; ; Set chan1 source&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move DEST,x:M_DDR0&amp;#160;&amp;#160;&amp;#160; ; Set chan1 dest&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr #0,x:M_DSTR,*&amp;#160;&amp;#160;&amp;#160; ; Wait until previous transfers are finished&lt;br/&gt;&amp;#160; movep #AccessSRAMWord0,x:M_DCR0 ; Initiate transfer for next sample&lt;br/&gt;&amp;#160; ENDM&lt;/p&gt;&lt;p&gt;WriteToSRAM&amp;#160; MACRO DATA,DEST&lt;br/&gt;; Store data in SRAM at y:(DEST) using Chan1&lt;br/&gt;; DATA - register where sample is stored (a,b,x,y,a1,a0,b1,b0,x1,x0,y1,y0)&lt;br/&gt;; DEST - r[0-5] where to store sample&lt;br/&gt;;----------------&lt;br/&gt;;-Uses first word of Chan1IO&lt;br/&gt;;----------------&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move DATA,y:Chan1IO&amp;#160;&amp;#160;&amp;#160; ; Put data in Chan0IO&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep DEST,x:M_DDR1&amp;#160;&amp;#160;&amp;#160; ; Set chan0 dest&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160; #1,x:M_DSTR,*&amp;#160;&amp;#160;&amp;#160; ; Wait until previous writes are finished&lt;br/&gt;&amp;#160; movep #AccessSRAMWord1,x:M_DCR1 ; Initiate write&lt;br/&gt;&amp;#160; ENDM&lt;br/&gt;&amp;#160; &lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;; Code Start&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; org&amp;#160;&amp;#160;&amp;#160;&amp;#160; p:$4E&lt;br/&gt;START&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ori&amp;#160;&amp;#160;&amp;#160;&amp;#160; #$03,mr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; mask interrupts&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$2D0063,X:M_PCTL&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Set PLL Control Register&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Fosc = 100 MHz = (100)(3 MHz)/3&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bset&amp;#160;&amp;#160;&amp;#160; #14,omr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; allow address attributes line to function independently&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000040,x:M_SAICR&amp;#160;&amp;#160;&amp;#160; ; 4x4 Synchronous mode (use TX frame and bit clks)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$FCC304,x:M_TCCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;THCKD -1- HCKT is an output&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 23)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TFSD&amp;#160; -1- FST is output&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 22)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TCKD&amp;#160; -1- internal clock source drives SCKT&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 21)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;THCKP -1- Transmitter High Freq Clock Polarity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 20)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TFSP&amp;#160; -1- negative FST polarity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 19)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TCKP&amp;#160; -1- data &amp;amp; FST clocked out on falling edge&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 18)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TFP&amp;#160;&amp;#160; -3- TFP3..0 = Divide by 4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bits 17:14)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TDC&amp;#160;&amp;#160; -1- 2 words per frame&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bits 13:9)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TPSR&amp;#160; -1- Bypass Fixed /8 Prescaler&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 8)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TPM&amp;#160;&amp;#160; -4- TPM7-0 = Divide by 5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bits 7:0)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160; #$FCC304,x:M_RCCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RHCKD -1- HCKR is an output&amp;#160; Flag 2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 23)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RFSD&amp;#160; -1- FSR is output&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flag 1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 22)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RCKD&amp;#160; -1- SCKR is output&amp;#160;&amp;#160;&amp;#160;&amp;#160; Flag 0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 21)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RHCKP -1- Pos. High Freq Clock Polarity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 20)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RFSP&amp;#160; -1- negative FSR polarity&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 19)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RCKP&amp;#160; -1- data &amp;amp; FSR clocked in on falling edge&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 18)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RFP&amp;#160;&amp;#160; -3- RFP3..0 = Divide by 4&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bits 17:14)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RDC&amp;#160;&amp;#160; -1- 2 words per frame&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 13:9)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RPSR&amp;#160; -1- Bypass Fixed /8 Prescaler&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit&amp;#160; 8)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RPM&amp;#160;&amp;#160; -4- RPM7-0 = Divide by 5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bits 7:0)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$707d00,x:M_RCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RE&amp;#160;&amp;#160;&amp;#160; --- RX0, RX1, RX2, RX3 disabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit3:0=0000)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RSHFD -0- MSB shifted first&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit6=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RWA&amp;#160;&amp;#160; -0- word left-aligned&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit7=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RMOD&amp;#160; -1- network mode&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit9:8=01)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RSWS&amp;#160; 1F- 32-bit slot length, 24-bit word length&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit14:10=11111)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RFSL&amp;#160; -0- word-length frame sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit15=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RFSR&amp;#160; -0- frame sync occurs 1 clock cycle earlier&amp;#160;&amp;#160;&amp;#160; (bit16=1)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; reserved&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit18:17=00)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RPR&amp;#160;&amp;#160; ?-0- transmit normally, not personal reset&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit19=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; RIE, REDIE, REIE enabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit23:20=0111)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RLIE&amp;#160; --- bit23 RLIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;RIE&amp;#160;&amp;#160; --- bit22 RIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;REDIE --- bit21 REDIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;REIE&amp;#160; --- bit20 REIE&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$027D80,x:M_TCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TE&amp;#160;&amp;#160;&amp;#160; --- Start w/ TX0-TX5 disabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit5:0=000000)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TSHFD -0- MSB shifted first&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit6=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TWA&amp;#160;&amp;#160; -1- word left-aligned&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit7=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TMOD&amp;#160; -1- network mode&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit9:8=01)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TSWS&amp;#160; 1F- 32-bit slot length, 24-bit word length&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit14:10=11111)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TFSL&amp;#160; -0- word length frame sync&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit15=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TFSR&amp;#160; -0- frame sync occurs 1 clock cycle earlier&amp;#160;&amp;#160;&amp;#160; (bit16=1)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;PADC&amp;#160; -1- zero padding enabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit17=1)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; reserved&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit18)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TRP&amp;#160;&amp;#160; ?-0- transmit normally, not personal reset&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit19=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TLIE, TIE, TEIE disabled&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit23:20=0000)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TLIE&amp;#160; --- bit23 TLIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TIE&amp;#160;&amp;#160; --- bit22 TIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TEDIE --- bit21 TEDIE&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;TEIE&amp;#160; --- bit20 TEIE&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000000,x:M_PDRC&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Clear Port C data&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000BF8,x:M_PCRC&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Set appropriate Port C GPIO pins for ESAI .&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000C7E,x:M_PRRC&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Set pin direction of PORT C&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;sdo0&amp;#160;&amp;#160;&amp;#160;&amp;#160; sdo1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sdo2&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sdo3&amp;#160;&amp;#160;&amp;#160; sdo4&amp;#160;&amp;#160;&amp;#160; sdo5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; hckt&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fst&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sckt&amp;#160;&amp;#160;&amp;#160; hckr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; fsr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sckr&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;ESAI&amp;#160;&amp;#160;&amp;#160;&amp;#160; GPO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GPI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GPI&amp;#160;&amp;#160;&amp;#160;&amp;#160; GPI&amp;#160;&amp;#160;&amp;#160;&amp;#160; ESAI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ESAI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ESAI&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ESAI&amp;#160;&amp;#160;&amp;#160; GPO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GPO&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NC&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;DAC Data Inhibit IRQA Stereo/Mono&amp;#160; A_In&amp;#160;&amp;#160;&amp;#160; B_In&amp;#160;&amp;#160;&amp;#160; ADC_Data&amp;#160;&amp;#160;&amp;#160; 256FS_CLK0&amp;#160; FS_CLK&amp;#160; 64FS_CLK&amp;#160;&amp;#160;&amp;#160; Gain Switching&amp;#160; Codec_Reset SS_Module&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000000,x:M_PCRB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Set up Port B for output&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$00000F,x:M_PRRB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Set up Port B for output&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000008,x:M_PDRB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 0 = In_EMPH &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 1 = OUT_DE_EMPH&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 2 = DIRECT_ON&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; bit 3 = FX_ON&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000003,x:M_RSMA&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Enable first 2 time slots for receive.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000000,x:M_RSMB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000003,x:M_TSMA&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Enable first 2 time slots for transmit.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000000,x:M_TSMB&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000000,x:M_TX0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; zero out transmitter 0&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;ENABLE ESAI&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bset&amp;#160;&amp;#160;&amp;#160; #0,x:M_RCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; now enable RX0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bset&amp;#160;&amp;#160;&amp;#160; #0,x:M_TCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; now enable TX0&lt;/p&gt;&lt;p&gt;;...Setup Expansion Port A for SRAM...&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$2406B5,x:M_AAR0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [23:12] = 0x240 Address used to assert chip select&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [11:8]&amp;#160; = 0110&amp;#160; Number of address bits to compare = 6 &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [7]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; Bit Packing Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [6]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address Mux Disabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [5]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; Y Space Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [4]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; X Space Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [3]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; P Space Disabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [2]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; Active High for Address Line&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [1:0]&amp;#160;&amp;#160; = 01&amp;#160;&amp;#160;&amp;#160; SRAM Mode&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$2003B1,x:M_AAR1&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [23:12] = 0x200 Address used to assert chip select&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [11:8]&amp;#160; = 0011&amp;#160; Number of address bits to compare = 3 &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [7]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; Bit Packing Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [6]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; Address Mux Disabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [5]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; Y Space Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [4]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 1&amp;#160;&amp;#160;&amp;#160;&amp;#160; X Space Enabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [3]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; P Space Disabled&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [2]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 0&amp;#160;&amp;#160;&amp;#160;&amp;#160; Active Low for Chip Select&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; [1:0]&amp;#160;&amp;#160; = 01&amp;#160;&amp;#160;&amp;#160; SRAM Mode&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;...Bus Control Register for SRAM...&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$0124A5,x:M_BCR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0001 0010 0100 0110 0011&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;bus request hold off&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit23=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;bus lock hold off&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit22=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;bus state&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit21=0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;default area wait states&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit20:16=00001)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;area 3 wait states&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit15:13=001)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;area 2 wait states&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit12:10=001)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;area 1 wait states&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit9:5=00011)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;area 0 wait states&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (bit4:0=00011)&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;...Set up SHI (Serial Host Interface to the MCU)...&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$003001,x:M_HCKR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Turn Data/Clk Line Filter to max, wide spike tolerance (100ns glitch)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; CPHA=1, CPOL=0 : =&amp;gt; same as reset/power-on.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$001189,x:M_HCSR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&lt;/p&gt;&lt;p&gt;;...Initialize registers&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; #&amp;gt;$000000,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,r0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rep&amp;#160;&amp;#160;&amp;#160;&amp;#160; #26 &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:(r0)+&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; clear start of x:mem&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; #&amp;gt;$400000,x0&amp;#160;&amp;#160; ; Intialize the knob registers&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_1&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_2&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_3&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_4&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_5&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:Knob_6&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;; Setup&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;Setup:&lt;br/&gt;; Initialize the DMA counter register, only needs to be done once&lt;br/&gt;&amp;#160; move #&amp;gt;$000000,x0&lt;br/&gt;&amp;#160; nop&lt;br/&gt;&amp;#160; movep x0,x:M_DCO0 ; set the number of transfers to 1 for a single word read/write&lt;br/&gt;&amp;#160; movep x0,x:M_DCO1&lt;/p&gt;&lt;p&gt;; Dedicate Chan0 to read from buffer &amp;amp; write to y:Chan0IO&lt;br/&gt;&amp;#160; movep #Chan0IO,x:M_DDR0&lt;br/&gt;; Dedicate Chan1 to read from y:Chan1IO &amp;amp; write to buffer&lt;br/&gt;&amp;#160; movep #Chan1IO,x:M_DSR1&lt;/p&gt;&lt;p&gt;&amp;#160; move #0,x0&lt;br/&gt;&amp;#160; move x0,x:LFOPhase&lt;br/&gt;&amp;#160; move x0,x:LFOInc&lt;br/&gt;&amp;#160; move x0,x:Delay&lt;br/&gt;&amp;#160; move x0,x:MinDelay&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #&amp;gt;DelayLimit,y0&lt;br/&gt;&amp;#160; move y0,x:MaxDelayLength&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #$000001,y0&lt;br/&gt;&amp;#160; move y0,x:Voices&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #$000010,y0&lt;br/&gt;&amp;#160; move y0,x:VoiceSeperation&lt;/p&gt;&lt;p&gt;&amp;#160; move #&amp;gt;Buffer,r0&lt;br/&gt;&amp;#160; move #&amp;gt;Buffer,r1&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move #&amp;gt;$0001ff,m3&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; ;mkout move #&amp;gt;(3*BufferSize-1),m0&lt;br/&gt;&amp;#160; move #$FFFFFF,m0&lt;br/&gt;&amp;#160; ;mkout move #&amp;gt;(3*BufferSize-1),m1&lt;br/&gt;&amp;#160; move #$FFFFFF,m1&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #&amp;gt;$00ffff,m2&lt;br/&gt;&amp;#160; move #&amp;gt;(3*BufferSize),y0&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #&amp;gt;3,n0&lt;br/&gt;&amp;#160; move #&amp;gt;Chan0IO,r6&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; #&amp;gt;$000000,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; #$00ffff,m5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Use r5 for the MCU parameter updates.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x0,x:M_HTX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Assert HREQ* pin for the MCU.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;...Initialize Peripheral Interrupt Priority Register for Audio Interrupts and SHI.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #$000007,x:M_IPRP&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; ESAI int enabled and top Priority&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; SHI int enabled and lowest Priority.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; andi&amp;#160;&amp;#160;&amp;#160; #$FC,mr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;enable all interrupt levels&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;clear scaling bits&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;$000002,x:M_PDRC&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Take CODEC out of power down mode.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;------------------------------------------------------------&lt;br/&gt;; Main loop&lt;br/&gt;;------------------------------------------------------------&lt;br/&gt;&amp;#160; nop&lt;br/&gt;&amp;#160; nop&lt;br/&gt;&amp;#160; dor forever,LOOP&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; wait&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nop&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nop&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; nop&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;LOOP&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;&amp;#160;&amp;#160; 4x4 Interrupt Service Routines&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br/&gt;;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;;-----------------------------&lt;br/&gt;; Host Interrupt&lt;br/&gt;;-----------------------------&lt;/p&gt;&lt;p&gt;shi_receive&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,x:HostCommand ; Get word from 8031.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #000000,x:M_HTX&amp;#160;&amp;#160; ; Assert HREQ* pin for 8031.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; btst&amp;#160;&amp;#160;&amp;#160; #0,x:HostCommand&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; $000001 = Write 1 DSP word to X:mem.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bcs&amp;#160;&amp;#160;&amp;#160;&amp;#160; DoWriteCommand&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; btst&amp;#160;&amp;#160;&amp;#160; #3,x:HostCommand&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; $000008 = Send word to the 8031.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bcs&amp;#160;&amp;#160;&amp;#160;&amp;#160; DoReadCommand&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&lt;/p&gt;&lt;p&gt;DoWriteCommand&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #M_HRNE,x:M_HCSR,*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Wait for address.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,r5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Store address to write to.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;000000,x:M_HTX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Assert HREQ* pin for 8031.&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #M_HRNE,x:M_HCSR,*&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Wait for data &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,x:(r5)&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Write data.&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #000000,x:M_HTX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Assert HREQ* pin for 8031.&lt;br/&gt;&amp;#160; rti&lt;/p&gt;&lt;p&gt;DoReadCommand&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #M_HRNE,x:M_HCSR,*&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,r5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Store Address to read from&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;000000,x:M_HTX&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #M_HRNE,x:M_HCSR,*&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,n5&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:(r5),x:&amp;lt;&amp;lt;M_HTX&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Send Data at specified address to the 8031&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; jclr&amp;#160;&amp;#160;&amp;#160; #M_HRNE,x:M_HCSR,*&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_HRX,n5&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; #&amp;gt;000000,x:&amp;lt;&amp;lt;M_HTX&lt;br/&gt;&amp;#160; rti&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;-----------------------------&lt;br/&gt;; Receive Exception Interrupt&lt;br/&gt;;-----------------------------&lt;br/&gt;esai_rxe_isr&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; ESAI RECEIVE ISR&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bclr&amp;#160;&amp;#160;&amp;#160; #7,x:M_SAISR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Read SAISR to clear receive&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; overrun error flag&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bclr&amp;#160;&amp;#160;&amp;#160; #14,x:M_SAISR&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Read SAISR to clear transmit&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; underrun error flag&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_RX0,x:RightRx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:RightTx,x:M_TX0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rti&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;;-----------------------------&lt;br/&gt;; Receive Interrupt&lt;br/&gt;;-----------------------------&lt;br/&gt;esai_rx_isr&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_RX0,x:RightRx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:RightTx,x:M_TX0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rti&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;-----------------------------&lt;br/&gt;; Receive Even Slot Interrupt&lt;br/&gt;;-----------------------------&lt;/p&gt;&lt;p&gt;esai_rxeven_isr&lt;br/&gt;; Mono effect, so no right line&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:M_RX0,x:LeftRx&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:LeftOutput,x0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x0,x:LeftTx&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Transmit the output from the last sample period.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; movep&amp;#160;&amp;#160; x:LeftTx,x:M_TX0&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; x:LeftRx,a&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; receive left&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move&amp;#160;&amp;#160;&amp;#160; a,x:LeftInput&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; Save Current LeftInput sample&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; ;Note: r5 and n5 are currently reserved for Host Interrupts&lt;/p&gt;&lt;p&gt; ;Get some values from the knobs&lt;br/&gt; &lt;br/&gt;&amp;#160; ;LFOInc = (Knob_1)^2 * (LFOIncLimit-LFOIncMin) + LFOIncMin&lt;br/&gt;&amp;#160; move x:Knob_1,x0&lt;br/&gt;&amp;#160; move x0,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160; move a,x0&lt;br/&gt;&amp;#160; move #&amp;gt;(LFOIncLimit-LFOIncMin),y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160; move #&amp;gt;LFOIncMin,x0&lt;br/&gt;&amp;#160; add&amp;#160; x0,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move a,x:LFOInc&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;Depth = Knob_2&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Knob_2,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x0,x:Depth&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;Feedback = Knob_3&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Knob_3,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x0,x:Feedback&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;MinDelay = Knob_4*MinDelayLimit + 1&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Knob_4,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move #&amp;gt;MinDelayLimit,y0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; add&amp;#160; #&amp;gt;$000001,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move a,x:MinDelay&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;MaxDelay = Knob_5 * DelayLimit&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Knob_5,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move #&amp;gt;DelayLimit,y0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move a,x:MaxDelayLength&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;VoiceSeperation = Knob_6 * SeperationLimit&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Knob_6,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move #&amp;gt;SeperationLimit,y0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move a,x:VoiceSeperation&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;Voices = Switch_1 + 1&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move x:Switch_1,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move #&amp;gt;$0000001,x0&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; add&amp;#160; x0,a&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; move a,x:Voices&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160; move x:LeftInput,a ; a = x[n] = newest input sample&lt;br/&gt;&amp;#160; jsr&amp;#160; ProcessSample&lt;br/&gt;&amp;#160; move a,x0 ;double output amplitude&lt;br/&gt;&amp;#160; add&amp;#160; x0,a&amp;#160; &lt;br/&gt;&amp;#160; move a,x:LeftOutput ; write the output, note by choosing a here it will round as appropriate&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt; ;increase lfo&lt;br/&gt;&amp;#160; move x:LFOInc,n2&lt;br/&gt;&amp;#160; move x:LFOPhase,r2&lt;br/&gt;&amp;#160; lua&amp;#160; (r2)+n2,r2&lt;br/&gt;&amp;#160; move r2,x:LFOPhase&lt;/p&gt;&lt;p&gt;;update delay&lt;br/&gt;&amp;#160; jsr&amp;#160; CalculateDelay&lt;br/&gt;&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HandleFootSwitch&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; rti&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;ProcessSample:&lt;br/&gt;; sample in a&lt;br/&gt;;&lt;br/&gt;;&lt;br/&gt;;READ FIRST VOICE&lt;br/&gt;&amp;#160; move a,y:(r0) ; overwrite sample at y:(r0) with current input (only matters when delay = 0)&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; which may not ever happen&lt;br/&gt;&amp;#160; move a,x1&amp;#160; ; put copy of sample into x1 so I can later add it back for feedback &lt;br/&gt;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; move&amp;#160; r0,r1&amp;#160; ; r0 &amp;amp; r1 now hold the buffer index&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; move x:Delay,x0 ; load delay amount in samples&amp;#160; &lt;br/&gt;&amp;#160; move x0,b&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,n1&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; lua&amp;#160; (r1)-n1,r1 ; load delayed sample into y0&lt;br/&gt;&amp;#160; ;mk buffer management&lt;br/&gt;&amp;#160; move #&amp;gt;Buffer,b&lt;br/&gt;&amp;#160; move r1,x0 ;get current delay address pointer to see if at modulo end of buffer&lt;br/&gt;&amp;#160; cmp&amp;#160; x0,b ;see if pointer has reached buffer end address&lt;br/&gt;&amp;#160; jle&amp;#160; noreset1 ;if not, do not reset pointer - check result is less than&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;if not, do not reset point by jumping over next address&lt;br/&gt;&amp;#160; move #&amp;gt;(3*BufferSize),b&lt;br/&gt;&amp;#160; move r1,x0&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,r1&lt;br/&gt;&amp;#160; &lt;br/&gt;noreset1&lt;/p&gt;&lt;p&gt;&amp;#160; ;move r1,x:Debug_Read_from_DSP_3&lt;br/&gt;&amp;#160; ;move n1,x:Debug_Read_from_DSP_4&lt;br/&gt;&amp;#160; ;mk end buffer management&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;; this line is new&lt;br/&gt;;READ NEXT VOICE(S)&lt;br/&gt;&amp;#160; move x:VoiceSeperation,x0&lt;br/&gt;&amp;#160; move x0,b&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,n1&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; move x:Depth,x0 ; x0 = Depth&lt;br/&gt;&amp;#160; ;replace sample with (1-depth)*sample&lt;br/&gt;&amp;#160; move #&amp;gt;$7fffff,b&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; sub&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,x0&lt;br/&gt;&amp;#160; move x0,x:Debug_Read_from_DSP_2&lt;br/&gt;&amp;#160; move a,y0&lt;/p&gt;&lt;p&gt;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160; &lt;br/&gt;;;;;;;;;;;;;;;;;;;;&lt;br/&gt;;&amp;#160; move y:(r1),y0&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; ;new code for multiple voices&lt;br/&gt;&amp;#160; ;move x:Voices,y1&lt;br/&gt;&amp;#160; ;dor&amp;#160; y1,_ProcessVoice&lt;br/&gt;&amp;#160; TransferYData0 r1,r6&lt;br/&gt;&amp;#160; jclr #0,x:M_DSTR,*&amp;#160;&amp;#160;&amp;#160; ; Wait until previous transfers are finished&lt;br/&gt;&amp;#160; move y:Chan0IO,y0&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; lua&amp;#160; (r1)-n1,r1 ; load delayed sample into y0&lt;br/&gt;&amp;#160; ;mk buffer management&lt;br/&gt;&amp;#160; move #&amp;gt;Buffer,b&lt;br/&gt;&amp;#160; move r1,x0 ;get current delay address pointer to see if at modulo end of buffer&lt;br/&gt;&amp;#160; cmp&amp;#160; x0,b ;see if pointer has reached buffer end address&lt;br/&gt;&amp;#160; jle&amp;#160; noreset2 ;if not, do not reset pointer - check result is less than&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;if not, do not reset point by jumping over next address&lt;br/&gt;&amp;#160; move #&amp;gt;(3*BufferSize),b&lt;br/&gt;&amp;#160; move r1,x0&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,r1&lt;/p&gt;&lt;p&gt;noreset2&lt;/p&gt;&lt;p&gt;&amp;#160; ;mk end buffer management&lt;br/&gt;&amp;#160; ; put depth back into x0 (since it had 1-depth a second ago)&lt;/p&gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;;_ProcessVoice&lt;br/&gt;;WRITE TO BUFFER&amp;#160; &lt;/p&gt;&lt;p&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; add&amp;#160; y0,a&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move x:Feedback,x0 ; put feedback multiplier into x0&lt;br/&gt;&amp;#160; move x0,x:Debug_Read_from_DSP_4&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move x:Depth,x0&lt;br/&gt;&amp;#160; move x0,x:Debug_Read_from_DSP_3&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; mac&amp;#160; x0,x1,b&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; WriteToSRAM b,r0&amp;#160; ; put b into delay buffer&lt;br/&gt;&amp;#160; ;WriteToSRAM a,r0&lt;br/&gt;&amp;#160; ;lua&amp;#160; (r0)+n0,r0&amp;#160; ; update delay buffer address&lt;br/&gt;&amp;#160; lua&amp;#160; (r0)+n0,r0 ; load delayed sample into y0&lt;br/&gt;&amp;#160; ;mk buffer management&lt;br/&gt;&amp;#160; move #&amp;gt;Buffer,x0&lt;br/&gt;&amp;#160; move #&amp;gt;(3*BufferSize),b ;move buffer length into b&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,x0&lt;br/&gt;&amp;#160; move r0,b ;get current delay address pointer to see if at modulo end of buffer&lt;br/&gt;&amp;#160; cmp&amp;#160; x0,b ;see if pointer has reached buffer end address&lt;br/&gt;&amp;#160; jlt&amp;#160; noreset3 ;if not, do not reset pointer - check result is less than&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ;if not, do not reset point by jumping over next address&lt;br/&gt;&amp;#160; sub&amp;#160; x0,b ;determine difference outstanding to add to bottom of buffer&lt;br/&gt;&amp;#160; move #&amp;gt;Buffer,x0 ;if so, reset the pointer to Buffer start location&lt;br/&gt;&amp;#160; add&amp;#160; x0,b&lt;br/&gt;&amp;#160; move b,r0&lt;/p&gt;&lt;p&gt;noreset3&lt;/p&gt;&lt;p&gt;&amp;#160; ;mk end buffer management&lt;br/&gt;&amp;#160; ;move n0,x:Debug_Read_from_DSP_2&lt;br/&gt;&amp;#160; ;move r0,x:Debug_Read_from_DSP_1&lt;br/&gt;&amp;#160; rts&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;CalculateDelay:&lt;br/&gt;; use LFOPhase to calculate the current Delay&lt;br/&gt;; no register inputs, modifies x:Delay&lt;br/&gt;; using x:LFOPhase&lt;br/&gt;; Switch_2 selects which function to use for the lfo&lt;/p&gt;&lt;p&gt;&amp;#160; move x:LFOPhase,a ; put LFOPhase into a, will be passed&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ; to another function &lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; move x:Switch_2,b&lt;br/&gt;&amp;#160; cmp&amp;#160; #1,b&lt;br/&gt;&amp;#160; jlt&amp;#160; _Sine&lt;br/&gt;&amp;#160; jeq&amp;#160; _Exp&lt;br/&gt;&amp;#160; jgt&amp;#160; _LinearTriangle&lt;br/&gt;_Sine&lt;br/&gt;&amp;#160; jsr&amp;#160; SineVal&lt;br/&gt;&amp;#160; jmp&amp;#160; _DoneCalculating&amp;#160; &lt;br/&gt;_Exp&lt;br/&gt;&amp;#160; jsr&amp;#160; ExpVal&lt;br/&gt;&amp;#160; jmp&amp;#160; _DoneCalculating&lt;br/&gt;_LinearTriangle:&lt;br/&gt;&amp;#160; jsr&amp;#160; AbsVal&lt;br/&gt;&amp;#160; jmp&amp;#160; _DoneCalculating&lt;br/&gt;_DoneCalculating:&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; ; output of the previous function is a number between 0 and 1&lt;br/&gt;&amp;#160; ; multiply this by x:MaxDelay and then add MinDelay to get the current&lt;br/&gt;&amp;#160; ; delay amount&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move x:MaxDelayLength,x0&lt;br/&gt;&amp;#160; move a,y0&lt;br/&gt;&amp;#160; move x:MinDelay,a&lt;br/&gt;&amp;#160; mac&amp;#160; x0,y0,a&lt;br/&gt;&amp;#160; move a,x:Delay&lt;br/&gt;&amp;#160; rts&lt;br/&gt; &lt;br/&gt;SineVal:&lt;br/&gt;; returns a Bezier approximation of 1/2(Sin(a*PI)+1)&lt;br/&gt;; 2(x(1-|x|)+1/2)&lt;br/&gt;; let us call the input x&lt;br/&gt;&amp;#160; move a,y0&amp;#160;&amp;#160; ; y0 = x&lt;br/&gt;&amp;#160; abs&amp;#160; a&amp;#160;&amp;#160;&amp;#160; ; a = |x|&lt;br/&gt;&amp;#160; move a,x0&amp;#160;&amp;#160; ; x0 = |x|&lt;br/&gt;&amp;#160; move #&amp;gt;$7fffff,a&amp;#160; ; a = 1&lt;br/&gt;&amp;#160; sub&amp;#160; x0,a&amp;#160;&amp;#160; ; a = 1-|x|&lt;br/&gt;&amp;#160; move a,x0&amp;#160;&amp;#160; ; x0 = 1-|x|&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,a&amp;#160;&amp;#160; ; a = x*(1-|x|)&lt;br/&gt;&amp;#160; add&amp;#160; #&amp;gt;$200000,a&amp;#160; ; a = x*(1-|x|)+1/2&lt;br/&gt;&amp;#160; move a,x0&amp;#160;&amp;#160; ; x0 = x*(1-|x|)+1/2&lt;br/&gt;&amp;#160; add&amp;#160; x0,a&amp;#160;&amp;#160; ; a = a+x0 = 2(x(1-|x|)+1/2) and we are done&lt;/p&gt;&lt;p&gt;&amp;#160; rts &lt;/p&gt;&lt;p&gt;ExpVal:&lt;br/&gt;; calculates a 3rd order taylor approximation of (e^x-1)/(e-1)&lt;br/&gt;&amp;#160; ; 9/15 = 0x4ccccc.ccccc&lt;br/&gt;&amp;#160; ; 1/6 = 0x155555.55555&lt;br/&gt;&amp;#160; ; formula = 9/15*(x+x^2/2+x^3/6)&lt;br/&gt;&amp;#160; abs&amp;#160; a&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move #$4ccccd,x0&lt;br/&gt;&amp;#160; move a,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move b,x:Temp&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; mpy&amp;#160; y0,y0,b&lt;br/&gt;&amp;#160; move b,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&amp;#160; ; b = x^2&lt;br/&gt;&amp;#160; asr&amp;#160; #1,b,b&amp;#160; ; b = x^2/2&lt;br/&gt;&amp;#160; move #$4ccccd,x0&lt;br/&gt;&amp;#160; move b,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&amp;#160; ; b = 9/15*x^2/2&lt;br/&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br/&gt;&amp;#160; move b,x:(Temp+1)&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move a,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; y0,y0,b&lt;br/&gt;&amp;#160; move b,x0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&amp;#160; ; b = x^3&lt;br/&gt;&amp;#160; move b,y0&lt;br/&gt;&amp;#160; move #$155555,x0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,b&amp;#160; ; b = x^3/6&lt;br/&gt;&amp;#160; move #$4ccccd,x0&lt;br/&gt;&amp;#160; move b,y0&lt;br/&gt;&amp;#160; mpy&amp;#160; x0,y0,a&amp;#160; ; a = 9/15*x^3/6&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; move x:Temp,x0 ; add up previous numbers&lt;br/&gt;&amp;#160; move x:Temp,y0&lt;br/&gt;&amp;#160; add&amp;#160; x0,a&lt;br/&gt;&amp;#160; add&amp;#160; y0,a&lt;br/&gt;&amp;#160; &lt;br/&gt;&amp;#160; rts&lt;/p&gt;&lt;p&gt;AbsVal:&lt;br/&gt;&amp;#160; abs&amp;#160; a&lt;br/&gt;&amp;#160; rts&lt;/p&gt;&lt;p&gt;&lt;br/&gt;;SquareVal:&lt;br/&gt;; calculate 2^a/2^0x7fffff&lt;br/&gt;;&amp;#160; move a,x0&lt;br/&gt;;&amp;#160; move a,y0&lt;br/&gt;;&amp;#160; mpy&amp;#160; x0,y0,a&lt;br/&gt;;&amp;#160; rts &lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1e7f438a-3993-4bff-a4f0-ff89b6728ed3] --&gt;</description>
      <pubDate>Fri, 06 Jul 2012 02:10:55 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/382272?tstart=0#382272</guid>
      <dc:date>2012-07-06T02:10:55Z</dc:date>
      <clearspace:dateToText>10 months, 2 weeks ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Re: Delay effect</title>
      <link>http://line6.com/support/message/375966?tstart=0#375966</link>
      <description>&lt;!-- [DocumentBodyStart:ba79d278-97ab-4c0a-a353-e1cb6de070c2] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi Christian,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I just got around to trying this today and this approach works great, thanks. I took Flange 0.95 from Luke Durback as the base code and implemented the manual buffer pointer management. This resulted in a flanger with a really long predelay - long enough to make it distinct like in a delay pedal. The flange effect with the very short oscillating delay is still applied to the repeats. I'll have to post some code once it's cleaned up.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Cheers,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Mike&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:ba79d278-97ab-4c0a-a353-e1cb6de070c2] --&gt;</description>
      <pubDate>Sat, 19 May 2012 23:29:01 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/375966?tstart=0#375966</guid>
      <dc:date>2012-05-19T23:29:01Z</dc:date>
      <clearspace:dateToText>12 months, 4 days ago</clearspace:dateToText>
      <clearspace:replyCount>1</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Delay effect</title>
      <link>http://line6.com/support/message/371689?tstart=0#371689</link>
      <description>&lt;!-- [DocumentBodyStart:9c75d27e-0317-41be-8878-bb9f3cefb096] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Hi,&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I'm trying to make a clean digital delay as a starting point for some other effects. To do this, I am trying to set up a circular buffer using modulo addressing. However, in the modulus (ie: m0, m1... m7) can have a max value of 32768, meaning I am limited to about 0.8 s of delay.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Does anyone know how to use the Address Generation Unit (AGU) with a larger modulo or perhaps stacking several modulo buffers or if there is another approach altogether? Any example code too would be great.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Mike&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In the 56300 family manual, section 4 is about the Address Generation Unit (AGU) and 4.5.3 explains modulo addressing.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9c75d27e-0317-41be-8878-bb9f3cefb096] --&gt;</description>
      <pubDate>Sat, 21 Apr 2012 14:03:35 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/371689?tstart=0#371689</guid>
      <dc:date>2012-04-21T14:03:35Z</dc:date>
      <clearspace:dateToText>1 year, 3 weeks ago</clearspace:dateToText>
      <clearspace:replyCount>4</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Re: Brand new devkit - knob failure?</title>
      <link>http://line6.com/support/message/330036?tstart=0#330036</link>
      <description>&lt;!-- [DocumentBodyStart:9fb65875-d207-4aa0-9a75-e738c5bec3bf] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Interestingly I've had the exact same problem; two knobs unresponsive and slighty vibrating, one turning the other in sympathy, despite relfashes of the MCU. A second module has been working fine however.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:9fb65875-d207-4aa0-9a75-e738c5bec3bf] --&gt;</description>
      <pubDate>Mon, 21 Nov 2011 02:08:56 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/330036?tstart=0#330036</guid>
      <dc:date>2011-11-21T02:08:56Z</dc:date>
      <clearspace:dateToText>1 year, 6 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Re: Some of the 6 knobs aren't being read correctly</title>
      <link>http://line6.com/support/message/222716?tstart=0#222716</link>
      <description>&lt;!-- [DocumentBodyStart:30cb1efe-a398-4699-b52e-8aa85869a072] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Thanks. I did reflash the MCU with the "MCU_sample_code.abs.s19" file, but did not modify any MCU code. I'm assuming that this template code is fully working and that it is the same one that the device ships with?&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:30cb1efe-a398-4699-b52e-8aa85869a072] --&gt;</description>
      <pubDate>Wed, 05 Jan 2011 22:13:25 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/222716?tstart=0#222716</guid>
      <dc:date>2011-01-05T22:13:25Z</dc:date>
      <clearspace:dateToText>2 years, 4 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
    <item>
      <title>Some of the 6 knobs aren't being read correctly</title>
      <link>http://line6.com/support/message/222274?tstart=0#222274</link>
      <description>&lt;!-- [DocumentBodyStart:b12d9105-4f18-4d46-8e9f-2fb776afa0df] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Hi,&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;I have the TCDDK code upload program running in&lt;span style="mso-spacerun: yes;"&gt;&amp;#160; &lt;/span&gt;a Virtual PC, Windows XP Mode, on a Windows 7 64-bit physical PC.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Some of the knobs are not appearing correctly on the graphic of the pedal on the right. This is also confirmed by sending the knob values to the debug values. Here is what happens:&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Knobs 1 and 2 values always fluctuate around 67% +/- a few %, and do not respond when I physically turn them.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Knobs 3, 4 work ok.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Knob 5 adjusts its own value ok, and also causes Knob 6 value to track it within about 10%.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Knob 6 has no effect.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;The example TwoBandStereoEQ program and my own programs are bound to the limited values of the knobs here.&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Any ideas as to what could be wrong? Something with the MCU or my dev environment?&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Thanks,&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt; &lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: &amp;amp;quot;Arial&amp;amp;quot;, &amp;amp;quot;sans-serif&amp;amp;quot;; color: #333333; font-size: 10pt;"&gt;Mike&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b12d9105-4f18-4d46-8e9f-2fb776afa0df] --&gt;</description>
      <pubDate>Wed, 05 Jan 2011 05:25:54 GMT</pubDate>
      <author>support@line6.com</author>
      <guid>http://line6.com/support/message/222274?tstart=0#222274</guid>
      <dc:date>2011-01-05T05:25:54Z</dc:date>
      <clearspace:dateToText>2 years, 4 months ago</clearspace:dateToText>
      <clearspace:replyCount>3</clearspace:replyCount>
      <clearspace:objectType>0</clearspace:objectType>
    </item>
  </channel>
</rss>

