home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-2.iso / Developer / hardware / dsp / drbub / dr.bub.hier < prev    next >
Encoding:
Text File  |  1991-09-07  |  42.6 KB  |  863 lines

  1. This was taken off of Motorola's Dr. BuB DSP support BBS.
  2. Details about how to log on are located in file 'dr.bub'.
  3.  
  4. 1) Free DSP Software
  5.    1) DSP56000/1 - General Purpose DSP
  6.       1) Introduction to the DSP56000 library (READ FIRST)
  7.  
  8.          LIBRARY ORGANIZATION:
  9.          The software libraries are grouped into menus by topic.  For example
  10.      all FFT routines are grouped with their support routines into one
  11.      menu.  Dr. Bub will be adding programs to existing menus as well as
  12.      adding more menu topics as application programs are tested and
  13.      documented.
  14.  
  15.          FILE ORGANIZATION:
  16.          In each topic menu application programs are grouped together with
  17.      their help files and test files.  The file naming convention is:
  18.  
  19.          xxxxxxx.asm       The application program or assembler MACRO.
  20.                            The file name xxxxxxx indicates the type of
  21.                            program such as fftr2e.asm for a radix 2 fft
  22.                            application.
  23.  
  24.          xxxxxxx.hlp       A text help file for the application program.
  25.                            The .hlp files explain the application, give
  26.                            performance numbers, application notes, tips on
  27.                            usage, limitations, etc.
  28.          Press RETURN to continue or q RETURN to exit to menu:
  29.  
  30.          xxxxxxxt.asm      Most of the application programs include a test
  31.                            program that demonstrates the usage of the
  32.                application program.  Test programs have the same
  33.                name as the application with a 't' appended.
  34.  
  35.          xxxxxxxt.hlp      Some test programs also have help files
  36.  
  37.  
  38.          USAGE NOTES:
  39.          1.  The DSP56000 software can be downloaded using: KERMIT, XMODEM,
  40.      YMODEM, or ASCII.  Dr. Bub allows the use of a "*" wildcard when
  41.      downloading.
  42.  
  43.          2.  Periodically check the version numbers.  Bug fixes and
  44.      improvements are noted by a new version number and last update.  If
  45.      you find a problem, please leave us a message on Dr. BuB.
  46.  
  47.      3.  The test programs use a set of standard equates which are
  48.      contained in the ioequ.asm file provided in the STANDARD I/O EQUATE
  49.      FILES menu.  Press RETURN to continue or q RETURN to exit to menu:
  50.      4.  Many test programs use INCLUDE assembler directives which assume
  51.      that the application program and the ioequ.asm file are in a "dsplib"
  52.      subdirectory on your system.
  53.  
  54.      5.  The INCLUDE assembler directives used in many test program files
  55.      may need to be modified to reference the desired files and to match
  56.      your computer's file path naming convention.
  57.  
  58.       2) Standard I/O Equate Files
  59.       3) FFTs
  60.       4) FIR/IIR Filters
  61.          --- FIR and IIR FILTERS ---
  62.      The following files contain FIR and IIR filter programs, macros, help
  63.      files, and test routines for the DSP56000/1.
  64.  
  65.      +-------------------------------------------------------------------+
  66.      | You will need to remember the document id for further reference.  |
  67.      +-------------------------------------------------------------------+
  68.  
  69.       DOCUMENT
  70.              ID     VERSION       SYNOPSIS                       SIZE  UPDATED
  71.      ---------- -------       --------                       ----  -------
  72.      fir.asm      1.0  Direct Form FIR Filter                 545  7/15/87
  73.      fir.hlp           Help for fir.asm                      2161  7/15/87
  74.      firt.asm     1.0  Test program for fir.asm              1164  7/16/87
  75.      iir1.asm     1.0  Direct Form Second Order All Pole      656  7/15/87
  76.                        IIR Filter
  77.           iir1.hlp          Help for iir1.asm                     1786  7/15/87
  78.      iir1t.asm    1.0  Test program for iir1.asm             1157  7/16/87
  79.      iir2.asm     1.0  Direct Form Second Order All Pole      801  7/15/87
  80.                        IIR Filter with Scaling
  81.           iir2.hlp          Help for iir2.asm                     2286  7/15/87
  82.      iir2t.asm    1.0  Test program for iir2.asm             1311  7/16/87
  83.      iir3.asm     1.0  Direct Form arbitrary Order All        776  7/15/87
  84.                        Pole IIR Filter
  85.      iir3.hlp          Help for iir3.asm                     2605  7/15/87
  86.      iir3t.asm    1.0  Test program for iir3.asm             1309  7/16/87
  87.      iir4.asm     1.0  Second Order Direct Canonic IIR Filter 713  7/15/87
  88.                        (Biquad IIR Filter)
  89.      iir4.hlp          Help for iir4.asm                     2255  7/15/87
  90.      iir4t.asm    1.0  Test program for iir4.asm             1202  7/16/87
  91.      iir5.asm     1.0  Second Order Direct Canonic IIR Filter 842  7/15/87
  92.                        with Scaling (Biquad IIR Filter)
  93.      iir5.hlp          Help for iir5.asm                     2803  7/15/87
  94.      iir5t.asm    1.0  Test program for iir5.asm             1289  7/16/87
  95.      iir6.asm     1.0  Arbitrary Order Direct Canonic IIR     923  7/15/87
  96.                        Filter
  97.      iir6.hlp          Help for iir6.asm                     3020  7/15/87
  98.      iir6t.asm    1.0  Test program for iir6.asm             1377  7/16/87
  99.      iir7.asm     1.0  Cascaded Biquad IIR Filters            900  7/15/87
  100.      iir7.hlp          Help for iir7.asm                     3947  7/15/87
  101.      iir7t.asm    1.0  Test program for iir7.asm             1432  7/16/87
  102.      lms.hlp      1.0  LMS Adaptive Filter Algorithm         5818  4/08/88
  103.      transiir.asm 1.0  Implements the transposed IIR filter  1981  8/19/88
  104.      transiir.hlp 1.0  Help file for transiir.asm             974  8/19/88
  105.  
  106.      FIR & IIR filters:
  107.      fir.asm         fir.hlp         firt.asm        iir1.asm
  108.      iir1.hlp        iir1t.asm       iir2.asm        iir2.hlp
  109.      iir2t.asm       iir3.asm        iir3.hlp        iir3t.asm
  110.      iir4.asm        iir4.hlp        iir4t.asm       iir5.asm
  111.      iir5.hlp        iir5t.asm       iir6.asm        iir6.hlp
  112.      iir6t.asm       iir7.asm        iir7.hlp        iir7t.asm
  113.      lms.hlp         transiir.asm    transiir.hlp
  114.  
  115.       5) Lattice Filters
  116.       6) Matrix Operations
  117.       7) Functions
  118.       8) Companding Routines
  119.           --- Companded CODEC to Linear PCM Data Conversion ---
  120.           The following files contain function routines and macros for the
  121.       DSP56000/1 to perform conversions between companded CODEC and Linear
  122.       PCM data.
  123.          +----------------------------------------------------------------+
  124.          |You will need to remember the document id for further reference.|
  125.          +----------------------------------------------------------------+
  126.  
  127.      DOCUMENT
  128.           ID       VERSION       SYNOPSIS                      SIZE  UPDATED
  129.      ----------   -------       --------                     ----  -------
  130.      loglin.asm  1.0  Companded CODEC to linear PCM data     4572  4/20/87
  131.                       conversion
  132.      loglin.hlp       Help for loglin.asm                    1479  4/20/87
  133.      loglint.asm 1.0  Test program for loglin.asm            2184  4/20/87
  134.      loglint.hlp      Help for loglint.asm                   1993  4/20/87
  135.      linlog.asm  1.1  Linear PCM to companded CODEC data     4847  8/17/88
  136.                           conversion
  137.      linlog.hlp       Help for linlog.asm                    1714  4/20/87
  138.  
  139.      CODEC:
  140.      linlog.asm    linlog.hlp    loglin.asm    loglin.hlp    loglint.asm
  141.      loglint.hlp
  142.  
  143.       9) Speech
  144.                           --- Speech ---
  145.          The following files contain function routines and macros for the
  146.      DSP56000/1 to perform speech processing and analysis.
  147.  
  148.      +-------------------------------------------------------------------+
  149.      | You will need to remember the document id for further reference.  |
  150.      +-------------------------------------------------------------------+
  151.  
  152.       DOCUMENT
  153.            ID     VERSION       SYNOPSIS                       SIZE  UPDATED
  154.      ---------- -------       --------                       ----  -------
  155.      lgsol1.asm  2.0   Leroux-Gueguen solution for PARCOR    4861  6/02/87
  156.                        (LPC) coefficients
  157.      lgsol1.hlp        Help for lgsol1.asm                   3971  6/02/87
  158.      ----------
  159.      durbin1.asm 1.2   Durbin Solution for PARCOR            6360  6/05/87
  160.                        (LPC) coefficients
  161.      durbin1.hlp       Help for durbin1.asm                  3616  6/05/87
  162.  
  163.      Speech:
  164.      durbin1.asm     durbin1.hlp     lgsol1.asm      lgsol1.hlp
  165.  
  166.       a) Sorting & Searching
  167.       b) Floating Point Library
  168.       c) Error Coding Routines
  169.    2) DSP56200   - Digital Adaptive Filter
  170.    3) Software Tools and Utilities
  171.       --- Tools and Utilities ---
  172.  
  173.       +---------------------------------------------------------------------+
  174.       |NOTE:You will need to remember the document id for further reference.|
  175.       +---------------------------------------------------------------------+
  176.  
  177.        DOCUMENT
  178.           ID     VERSION       SYNOPSIS                         SIZE   UPDATED
  179.       ---------  -------       --------                         ----   -------
  180.       srec.c      1.7  Utility to convert DSP56000 OMF format   37038  7/07/88
  181.                        to SREC.
  182.       srec.h      1.0  Include file for srec.c                   3599  4/18/88
  183.       srec.exe    1.7  Srec executable for IBM PC               19547  7/07/88
  184.       sloader.asm 1.1  Serial loader from the SCI port for the   3986  5/24/88
  185.                        DSP56001
  186.       sloader.hlp 1.1  Help for sloader.asm                      2598  5/24/88
  187.       sloader.p   1.1  Serial loader s-record file for download   736  5/24/88
  188.                        to EPROM
  189.       parity.asm  1.0  Parity calculation of a 24-bit number in  1641  5/24/88
  190.                        accumulator A
  191.       parity.hlp  1.0  Help for parity.asm                        936  5/24/88
  192.       parityt.asm 1.0  Test program for parity.asm                685  5/24/88
  193.       parityt.hlp 1.0  Help for parityt.asm                       259  5/24/88
  194.       dspbug           Ordering information for free debug        799  5/26/88
  195.                        monitor for DSP56000/1
  196.  
  197.       parity.asm     parity.hlp     parityt.asm    parityt.hlp    sloader.asm
  198.       sloader.hlp    sloader.p      srec.c         srec.h         srec.exe
  199.       dspbug
  200.  
  201. 2) Motorola DSP Documentation
  202. 3) Answers to Frequently Asked Questions
  203.      ANSWER
  204.        ID       VERSION       SYNOPSIS                          SIZE   UPDATED
  205.    ----------   -------       --------                          ----   -------
  206.    a1            1.1   Parallel Data Moves                       3898  5/22/87
  207.    a2            1.0   Operating Temperature                      450  4/09/86
  208.    a3            1.0   Data Shifting                             8662  5/17/86
  209.    a4            1.0   Stop/Wait Mode                             478  8/19/86
  210.    a5            1.1   Samples                                    773 11/03/87
  211.    a6            1.0   Bootstrap Program                          732  2/23/87
  212.    a7            1.1   DSP56000 Programs                          878  5/18/87
  213.    a8            1.0   P,X,Y Address Spaces                      2339  1/07/87
  214.    a9            1.0   DSP56000 Simulator                        1253  1/07/87
  215.    a10           1.1   DSP56001 ROM Contents                     1445  5/18/87
  216.    a11           1.0   VAX, SUN Assembler/Simulator              1183  1/07/87
  217.    a12           1.0   DSP56000 C Compiler                        562  1/07/87
  218.    a13           1.1   1024-point FFT                            7743  5/18/87
  219.    a14           1.1   DSP56001 Development System                977  5/18/87
  220.    a15           1.0   What is Convergent Rounding?              2414  3/24/87
  221.    a16           1.0   Rev. 1.1 Simulator/Assembler Updates?      830  2/24/87
  222.    a17           1.0   DSP56000 Assembler Rev.1.1 Release Notes  2177  3/06/87
  223.    a18           1.0   DSP56000 Host Port Register Use in DMA     975  3/04/87
  224.                        Mode
  225.    a19           1.0   "Free" FIR Output w/DSP56200 Adaptive     3571  3/05/87
  226.                        Mode
  227.    a20           1.0   Using Decimal-Fractional #s With DSP5620  5851  3/05/87
  228.    a21           1.0   DSP56000 Simulator Timing Questions       4558  3/10/87
  229.    a22           1.2   Common Benchmarks for the DSP56000/1      2677  6/02/87
  230.    a23           1.0   Multi-Channel Adaptive Filter w/DSP56200  7406  4/16/87
  231.    a24           1.0   XMODEM File Transfer Problems w/Dr. BuB?   591  4/16/87
  232.    a25           1.0   DSP56000/1 compatible CODECs               985  5/29/87
  233.    a26           1.0   DSP56000 Simulator Session Example        9645  6/02/87
  234.    a27           1.0   DSP56000 Assembler Rev.2.0 Release Notes  1641 11/02/87
  235.    a28           1.0   Radix 4 and Radix 8 complex FFT software   538 11/05/87
  236.    a29           1.0   Complex FFT with Real Data                 918 11/05/87
  237.    a30           1.0   Connecting SCSI to the DSP56000/1         3481  3/03/88
  238.    a31           1.0   Other Motorola Bulletin Boards             811  3/22/88
  239.    a32           1.0   Interrupt processing and the instruction  3569  3/22/88
  240.                        pipeline
  241.    a33           1.0   Sockets available for DSP56000/1          1820  4/07/88
  242.    a34           1.0   Separate RD and WR signals on DSP56000/1  2451 10/06/88
  243.    a35           1.0   Information about military products        593 12/21/88
  244.    a36           1.0   How Dr. BuB answers questions             1264  1/05/89
  245.  
  246.  
  247.    Enter answer id: a26
  248.    +-------------------------------------------------------------------------+
  249.    |                                                                         |
  250.    | Can you give me an example of how to use the DSP56000/1 Simulator ?     |
  251.    |                                                                         |
  252.    +-------------------------------------------------------------------------+
  253.      Example DSP56000/1 Simulator Session using Input and Output Data Files
  254.  
  255.      The example DSP56000/1 Simulator session described below was developed for
  256.    an IBM PC environment. The example session assumes the following file
  257.    directory structure:
  258.                                  +----------+
  259.                                  | DSP56001 |
  260.                                  +----------+
  261.                                        |
  262.                                        |
  263.                            -------------------------
  264.                            |                       |
  265.                            |                       |
  266.                         +-----+                 +-----+
  267.                         | ASM |                 | SIM |
  268.                         +-----+                 +-----+
  269.  
  270.    Files:            asm56000.exe            sim56000.exe
  271.                      lgsol1.asm              lgin.io
  272.                    < lgsol1.lod > -------- < lgsol1.lod >
  273.                    < lgsol1.lst >          < lgout.io >
  274.  
  275.    Note: Files that are created by the DSP56000/1 Assembler or Simulator are
  276.          shown above in < brackets >. The user does not need to create these
  277.          files prior to working through the session described below. All other
  278.          files should exist in their respective directories as shown above.
  279.          The prompt from the ASM directory will be shown as "DSP56001\ASM>",
  280.          the prompt from the SIM directory will be shown as "DSP56001\SIM>" and
  281.          the prompt from within the DSP56000/1 Simulator will be shown as ">".
  282.  
  283.    Steps: 1) Obtain DSP56000/1 assembly language source file.
  284.  
  285.              The assembly language program to be simulated can be created
  286.              using an editor or downloaded from Dr. BuB. For this example,
  287.              the assembly language source file "lgsol1.asm" should be
  288.              downloaded from Dr. BuB. Remember to copy the downloaded file
  289.              "lgsol1.asm" into the ASM directory as shown above.
  290.  
  291.           2) Assemble the assembly language source file "lgsol1.asm" using the
  292.              DSP56000/1 Assembler.
  293.  
  294.                   DSP56001\ASM>asm56000 -b -l lgsol1.asm
  295.  
  296.              This command assembles the DSP56000/1 assembly language source
  297.              file "lgsol1.asm" which was downloaded from Dr. BuB. The
  298.          assembler output listing is placed in the file "lgsol1.lst" and
  299.          the assembler output load file is placed in the file "lgsol1.lod".
  300.  
  301.           3) Create the input data file to be used by the DSP56000/1 Simulator.
  302.  
  303.                   DSP560001\ASM>cd ..\SIM
  304.                   DSP560001\SIM>  (Use the editor program of your choice
  305.                                   to create the input data file "lgin.io".)
  306.                   DSP560001\SIM>type lgin.io
  307.  
  308.              The first command changes the current directory to the SIM
  309.              directory. The second command will vary depending upon the
  310.              editor used to create the simulator's input data file "lgin.io".
  311.              Note that this file should be located in the SIM directory as
  312.              shown above. The third command is used to verify that the
  313.              contents of the newly created input data file are correct.
  314.  
  315.              Note: The contents of the DSP56000/1 Simulator input file
  316.                  "lgin.io" are shown later in this file for reference.
  317.  
  318.           4) Simulate the assembly language program using the DSP56000/1
  319.          Simulator.
  320.  
  321.                   DSP56001\SIM>copy ..\ASM\lgsol1.lod
  322.                   DSP56001\SIM>sim56000
  323.  
  324.              The first command copies the assembler output load file
  325.              "lgsol1.lod" from the ASM directory to the SIM directory.
  326.              The second command invokes the DSP56000/1 Simulator.
  327.  
  328.              Once the DSP56000/1 Simulator has been invoked, the simulator's
  329.              prompt ">" should appear as shown below. The following simulator
  330.              commands should then be entered, one at a time, as shown.
  331.  
  332.                   >reset s
  333.  
  334.                        This command sets the simulator to the reset state.
  335.  
  336.                   >change bcr 0
  337.  
  338.                        This command changes the Port A Bus Control Register
  339.                        (bcr) contents to 0. This means that all external
  340.                        memory and external I/O accesses will require zero
  341.                        wait states for purposes of simulation.
  342.  
  343.                   >display on x:0..$a x:$20..$29
  344.  
  345.                       This command enables the display of two banks of
  346.                        X memory in the DSP56000/1.
  347.  
  348.                   >load lgsol1
  349.  
  350.                        This command loads the file "lgsol1.lod" into the
  351.                        simulator. The simulator should initialize the contents
  352.                        of the Program Counter (pc) register to the top of the
  353.                        lgsol1 program at p:$100.
  354.  
  355.                   >input y:$ffff lgin.io
  356.  
  357.                        This command defines the file "lgin.io" as an input file
  358.                        to the DSP56000/1 Simulator. Thus, all read operations
  359.                        from the DSP56000/1 external I/O memory location y:$ffff
  360.                        will get their data value from the file "lgin.io".
  361.  
  362.                   >output y:$fffe lgout.io
  363.  
  364.                        This command defines the file "lgout.io" as an output
  365.                        file to the DSP56000/1 Simulator. Thus, all write
  366.                        operations to the DSP56000/1 external I/O memory
  367.                        location y:$fffe will put their data value into the
  368.                        file "lgout.io".
  369.  
  370.                   >break pc>$139
  371.  
  372.                        This command defines a breakpoint for any program memory
  373.                        location greater than p:$139. If the Program Counter
  374.                        (pc) register should ever exceed p:$139, program
  375.                        simulation will halt and display the currently enabled
  376.                        registers and memory locations.
  377.  
  378.                   >display
  379.  
  380.                        This command displays all of the currently enabled
  381.                        registers and memory locations. This command is used
  382.                        here to verify that all changes have been made and that
  383.                        everything is in order prior to actual simulation.
  384.  
  385.                   >go
  386.  
  387.                        This command enables program simulation beginning at
  388.                        the current value of the Program Counter (pc). Program
  389.                        simulation will continue until a previously defined
  390.                        breakpoint is encountered.
  391.  
  392.                   >quit
  393.  
  394.                        This command exits the DSP56000/1 Simulator and returns
  395.                        the "DSP56001\SIM>" prompt. Note that the DSP56000/1
  396.                        Simulator output file "lgout.io" will not be available
  397.                        for inspection until the simulator has been terminated
  398.                        using the "quit" command.
  399.  
  400.           5) Verify that the contents of the DSP56000/1 Simulator output file
  401.              "lgout.io" are correct.
  402.  
  403.                   DSP560001\SIM>type lgout.io
  404.  
  405.              Note: The contents of the DSP56000/1 Simulator output file
  406.                    "lgout.io" are shown later in this file for reference.
  407.  
  408.           DSP56000/1 Simulator Input Data File: "lgin.io"
  409.  
  410.           +------------------------------------------------------------+
  411.           | 1                                                          |
  412.           | 400000 200000 200000 200000 200000 200000                  |
  413.           | 200000 200000 200000 200000 200000                         |
  414.           +------------------------------------------------------------+
  415.  
  416.           The first value in the input data file represents the number of
  417.           speech data frames to be processed by the "lgsol1" program. This
  418.           program performs Linear Predictive Coding (LPC) analysis on speech
  419.           data using the Leroux - Gueguen (LG) algorithm. The following eleven
  420.           (11) values in the input data file represent the normalized
  421.           autocorrelation coefficients required to perform a tenth order LPC
  422.           analysis.
  423.  
  424.           Note: All DSP56000/1 input data files must be composed of standard
  425.                 ASCII characters.
  426.  
  427.           DSP56000/1 Simulator Output Data File: "lgout.io"
  428.  
  429.           +------------------------------------------------------------+
  430.           | C00000                                                     |
  431.           | D55556                                                     |
  432.           | E00000                                                     |
  433.           | E66667                                                     |
  434.           | EAAAAC                                                     |
  435.           | EDB6DD                                                     |
  436.           | F00001                                                     |
  437.           | F1C71D                                                     |
  438.           | F33333                                                     |
  439.           | F45D18                                                     |
  440.           +------------------------------------------------------------+
  441.  
  442.           The ten values in the output data file shown above are the output
  443.           of the LG LPC algorithm. These ten (10) values represent the desired
  444.           reflection coefficents (K's) produced by the tenth order LPC
  445.           analysis.
  446.  
  447.           Note: All DSP56000/1 output data files are composed of standard
  448.                 ASCII characters.
  449. 4) Pose a Question or Make a Comment
  450.    1) Read editor documentation
  451.       To use the Motorola DSP bulletin board note editor
  452.       you only need to know the following:
  453.  
  454.         0. Backspace is <ctrl-h>.
  455.  
  456.         1. There are two main modes to this editor, INSERT and
  457.            COMMAND.
  458.  
  459.         2. When you enter the editor, you're in INSERT mode.
  460.  
  461.         3. To exit INSERT mode and enter COMMAND mode, you need
  462.            to enter a blank line. Doing this will bring up a list
  463.            of valid editor commands.
  464.  
  465.         4. To exit COMMAND mode and return to INSERT mode (typing
  466.            at the end of the note) use the Continue command.
  467.  
  468.  
  469.         BELOW is a description of the editor commands with examples.
  470.  
  471.  
  472.       Abort    - Stop note from being posted.
  473.  
  474.       Continue - Continue typing a note. Begins on the next
  475.                  line number.
  476.  
  477.       Delete   - Remove a single line from a note.
  478.  
  479.       Edit     - Edit  any  portion  of a line.  To do this you will
  480.                  need  to "mark" off the  ends of the portion of the
  481.                  line in  question with "^".  THE CHANGE will be put
  482.                  AFTER the first ^ and BEFORE the last ^.
  483.  
  484.                  To insert in a line, put the ^'s next to each other.
  485.  
  486.                  To delete or replace in a line separate the ^'s
  487.                  by any number of spaces. EVERYTHING between the ^'s
  488.                  will be lost. If you enter a new line, when prompted,
  489.                  everything between the ^'s will be replaced with the
  490.                  new string, otherwise the area between the ^'s is deleted.
  491.  
  492.                  EXAMPLES:
  493.  
  494.                         INSERT
  495.                  this is a test
  496.                      ^^
  497.                  Enter new string: NEW STRING
  498.                  New string is --->
  499.                     this NEW STRING is a test
  500.  
  501.                         REPLACE
  502.                  this is a test
  503.                      ^  ^
  504.                  Enter new string: WAS
  505.                  New string is --->
  506.                     this WAS a test
  507.  
  508.  
  509.                         DELETE
  510.                  this is a test
  511.                      ^    ^
  512.                  Enter new string:
  513.                  New string is --->
  514.                     this test
  515.  
  516.       Insert   - Insert one or more lines of text before an
  517.                  identified line.
  518.  
  519.       List     - Show the current state of the note
  520.  
  521.       Save     - Send the message.
  522.  
  523.        ?       - This message
  524.  
  525.    2) Enter question or comment
  526. 5) Motorola Training Courses Information
  527. 6) Third Party Information
  528. 7) Available Products and Printed Documentation
  529.                   >>>> SUPPORT PRODUCTS <<<<
  530.  
  531.    DSP56000 C-Cross Compiler
  532.    DSP56KCC
  533.         This package contains a Kernighan and Ritchie C compiler, C
  534.     preprocessor.  Ask for brochure BR541/D or look on Dr. BuB in "Motorola
  535.     DSP documentation" item d9.
  536.  
  537.  
  538.    32010 to DSP56001 Translator Software Package
  539.    DSP320to56001
  540.         The DSP320to56001 translator software will convert any 32010 code
  541.         into code for Motorola's powerful signal processor chip, the
  542.         DSP56001.  The primary features of DSP320to56001 are:
  543.           *  Translation of any 32010 applications software into
  544.              DSP56001 source code.
  545.           *  Two modes of operation  1) translates to 56001 source code
  546.              for potential optimization and assembly with the
  547.              DSP56000SASMA  2) translates and runs 32010 code "as is"
  548.              directly on the DSP56000ADS.
  549.           *  Runs on IBM-PC, XT or AT* under MS-DOS**.
  550.           *  C source code of DSP320to56001 program is provided.
  551.         Ask for brochure BR522/D for more information.
  552.                           -----
  553.    DSP56000 Development Software Package
  554.    DSP56000CLASA
  555.         This package contains a macro cross-assembler, linker/librarian,
  556.         multi-DSP simulator, disassembler, and user interface for
  557.         developing DSP56000 and DSP56001 software and applications.
  558.         Over 800 pages of documentation is provided including
  559.         user's manuals for the macro cross-assembler and simulator,
  560.         the technical summary and user's manual for the DSP56000,
  561.         and the license agreement and software warranty.
  562.         DSP56000CLASA runs on the IBM-PC, XT, or  AT* under
  563.         MS-DOS** and the price is $495.  You may purchase this
  564.         software package via your local Motorola Semiconductor
  565.         sales office or Motorola distributor.
  566.                            -----
  567.    Application Development System for DSP56000 Family Products
  568.    DSP56000ADS
  569.         The DSP56001-based Application Development System (ADS) is a
  570.         three-component development tool for designing, debugging,
  571.         and evaluating DSP56000 and DSP56001 target system equipment.
  572.         The ADS simplifies evaluation of the user's prototype
  573.         hardware/software product by making all of the essential
  574.         DSP56000 timing and I/O circuitry easily accessible.
  575.         This product is described in more detail in brochure BR517.
  576.                            -----
  577.         * IBM-PC, XT, AT are trademarks of Intl. Business Machines
  578.         ** MS-DOS is a trademark of Microsoft Corp.
  579.  
  580.                    >>>>  DOCUMENTATION  <<<<
  581.  
  582.            1) BR282 -- DSP56000 Technical Summary
  583.            2) BR283 -- DSP56200 Technical Summary
  584.            3) BR526 -- DSP56000CLASx Software Summary
  585.            4) BR297 -- Dr.BuB Electronic Bulletin Board
  586.            5) DSP56001/D -- DSP56001 Technical Summary
  587.            6) DSP56000 UM/AD -- DSP56000 User's Manual
  588.            7) DSP56200/D -- DSP56200 Advance Information
  589.            8) BR517 -- DSP56000ADS Applications Development System
  590.            9) BR522/D  -- DSP320to56001 Translator Software Summary
  591.           10) BR541/D -- DSP56000/1 Family C Language Compiler
  592.  
  593.                       Software Summary
  594.  
  595.           11) APR1 -- Digital Sine-Wave Synthesis Using the DSP56001
  596.           12) APR2/D -- Digital Stereo 10-Band Graphic Equalizer
  597.                         Using the DSP56001
  598.           13) DSP56ADC16/D -- DSP56ADC16 16-bit Sigma-Delta Analog-to-Digital
  599.                          Converter, Advance Information
  600.  
  601.            >>>> Literature Distribution Centers <<<<
  602.  
  603.    USA          -- Motorola Literature Distribution
  604.                    P.O. Box 20912
  605.                    Phoenix, Az 85036
  606.  
  607.    EUROPE       -- Motorola Ltd; European Literature Center
  608.                    88 Tanners Drive
  609.                    Blakelands Milton Keynes
  610.                    MK145BP, England
  611.  
  612.    Asia/Pacific -- Motorola Semiconductors H.K. Ltd.
  613.                    P.O. Box 80300
  614.                    Cheung Sha Wan Post Office
  615.                    Kowloon Hong Kong
  616.  
  617. 8) Motorola Sales Offices
  618. 9) Product Updates
  619.    +------------------------------------------------------------------------+
  620.       FILE
  621.        ID       VERSION       SYNOPSIS                          SIZE   UPDATED
  622.    ----------   -------       --------                          ----   -------
  623.    u1            1.0   DSP56000 Assembler Rev 1.1 Release Notes  2177  6/02/88
  624.    u2            1.0   DSP56000 Assembler Rev 2.0 Release Notes  6952  6/02/88
  625.    u3            1.0   XSP56001 2B38E/4B38E Silicon Design Memo  3498  2/19/88
  626.    ------
  627.    u1 - Release Notes -- Motorola DSP56000 Macro Cross Assembler Version 1.10
  628.  
  629.    1)  There is a bug in versions 1.00 and 1.10 of the assembler that causes a
  630.        divide-by-zero error when an integer is used as the divisor in a
  631.        floating point divide operation (e.g. 3.456/2).  The workaround is to
  632.        write the divisor in floating point format (3.456/2.0).
  633.  
  634.    2)  The assembler reference manual contains an error in the description of
  635.        the logical negate operator on page 3-5.  The last sentence of the
  636.        paragraph reads "If BUF had a value of 1000, !BUF would have a value of
  637.        1."  Logically negating BUF (!BUF) would actually yield a zero value
  638.        here.
  639.  
  640.    3)  Another error in the manual appears on page 5-4, in the N_R_MUL macro
  641.        coding example at the top of the page.  The operands of the DO
  642.        instruction are transposed;  the instruction should read "DO #N,_END."
  643.  
  644.    4)  In the SWAP_REG and SWAP_SYM macros shown on pages 5-6 and 5-7,
  645.        respectively, the last move instruction in the macros reads "MOVE
  646.        X0,R\REG1."  This instruction should be "MOVE X0,R\REG2."
  647.  
  648.    5)  In Appendix C, "Instruction Set Summary," section C.6, "Program Control
  649.        Instructions," the RTI and RTS instructions DO NOT ALLOW parallel data
  650.        moves.  Therefore none of the program control instructions allow
  651.        parallel data moves.
  652.  
  653.    6)  If an address register is written in an instruction and subsequently
  654.        used as a pointer in the following instruction, the assembler correctly
  655.        generates an error flag.  This is because due to pipelining the new
  656.        contents of the register are not available until the next following
  657.        instruction.  However, there is a bug in the assembler such that if a
  658.        transfer conditional (Tcc) instruction writes to an address register and
  659.        the following instruction uses that register as a pointer, the assembler
  660.        does not generate the expected error flag.  Here is an example:
  661.  
  662.                 TGE    X0,A    R0,R1    ; Write to register R1
  663.                 MOVE   X:(R1),X1        ; R1 used as pointer here;
  664.                                         ; Assembler should generate error,
  665.                                         ; but does not
  666.  
  667.    ------
  668.    u2 - Release Notes -- Motorola DSP56000 Macro Cross Assembler  Version 2.00
  669.                          Motorola DSP56000 Cross Linker/Librarian Version 1.00
  670.  
  671.  
  672.    1)  There is a bug in version 2.00 of the assembler which relates to the
  673.        use of counter modifiers in the ORG directive.  When in the assembler
  674.        relative mode using the ORG directive with either the L or H counter
  675.        modifiers (e.g. ORG XL:, ORG YH:, etc.) it is possible that the counter
  676.        information will not make it to the link file, causing incorrect code
  677.        generation in some cases.  The only workaround is to use sections
  678.        instead of the L and H modifiers whenever a new set of counters is
  679.        required; the default counters are not affected.  This bug affects all
  680.        implementations and is corrected in 2.01 and subsequent versions of the
  681.        assembler.
  682.  
  683.    2)  In versions 2.00 and 2.01 of the assembler the EQU directive will not
  684.        correctly handle relative arguments.  If the EQU directive is given a
  685.        relocatable operand (such as '*', the current program counter value) it
  686.        will not reflect in the link file that this is a relocatable value.
  687.        This problem frequently crops up when the following programming idiom is
  688.        used to establish a label value:
  689.  
  690.            FOO    EQU     *
  691.  
  692.        In this particular case, the EQU is used simply to assign the current
  693.        value of the program counter to the symbol FOO, which can also be done
  694.        by coding FOO on a line by itself.  In other instances, however, there
  695.        is no simple workaround, short of editing the link file directly.  This
  696.        problem is fixed in version 2.02 and subsequent releases of the
  697.        assembler.
  698.  
  699.    3)  Two local label bugs have been found, one affecting all implementations,
  700.        the other apparently only a problem on PCs.  In the first case the
  701.        assembler was not switching local label lists during macro expansion
  702.        on the second pass.  The second bug is very sporadic and occurs as a
  703.        result of improper use of freed dynamic memory space.  In both cases the
  704.        assembler will complain that the local label in question is undefined
  705.        on pass 2.
  706.  
  707.    4)  The description of the assembler message "Phasing error" in the manual
  708.        is too stringent.  Phasing errors IN ISOLATION constitute an internal
  709.        assembler error.  However, cascading phasing errors can result from a
  710.        number of other error conditions which cause the value of labels and
  711.        the program counter to get out of synch.  If there are other explicable
  712.        errors in the assembly in conjunction with phasing errors, it is
  713.        recommended that these errors be investigated and corrected first.
  714.        The phasing errors might possibly disappear as a result.
  715.  
  716.    5)  Under the description of the -B and -L command line options in chapter
  717.        1, the assembler manual states that if a pathname (e.g. a directory
  718.        path) is not supplied along with the filename, the file will be created
  719.        in the current directory.  In version 2.00 this is true only if an
  720.        explicit filename is supplied.  If the filename is omitted, "the
  721.        assembler will use the basename (filename without extension) of the
  722.        first filename encountered in the source input file list and append the
  723.        appropriate file type...to the basename."  This means that if the first
  724.        filename encountered in the source input file list includes a directory
  725.        path, the object/listing file will be written to that directory.  In
  726.        subsequent releases (2.01 and later) this behavior has been changed such
  727.        that unless an explicit directory path is specified, the output files
  728.        will go to the current directory as documented.
  729.  
  730.    6)  In chapter 3 of the assembler manual the descriptions of the shift
  731.        operators in expressions are backwards.  The shift right operator
  732.        causes the left operand to be shifted to the right by the number
  733.        of bits specified by the right operand, and the sign bit is extended.
  734.        The shift left operator causes the left operand to be shifted to the
  735.        left (and zero-filled) by the number of bits specified by the right
  736.        operand.
  737.  
  738.    7)  In relocatable mode the argument to the END directive is not passed
  739.        correctly as a relative value to the link file, and subsequently to
  740.        the load file.  This can cause loading software to incorrectly set
  741.        the starting address for program execution.
  742.  
  743.    8)  The assembler does not correctly flag a force of I/O short addressing
  744.        to or from P memory.  For example, given the following instruction:
  745.  
  746.             MOVEP Y:(R7),P:<<$FFEE
  747.  
  748.        The assembler should issue an error, but instead generates an
  749.        improperly encoded instruction.
  750.  
  751.    9)  The assembler may not be able to find macros invoked with the same
  752.        name from different sections if the macros are defined via the MACLIB
  753.        directive.  A bug in the MACLIB check code causes a macro looked up
  754.        through MACLIB to be passed over ??lls.
  755.  
  756.    10) If the assembler S or CRE options are used and the same set of symbols
  757.        are defined both inside and outside of a section a segmentation
  758.        violation can result on Sun and VAX machines.  This is because the count
  759.        of symbols is not accurate when symbols by the same name are defined
  760.        privately inside a section and then again in the global name space.
  761.  
  762.    11) The librarian will only accept lowercase command line options.  Also,
  763.        a library name specified in uppercase but without extension will not
  764.        have the .LIB extension appended correctly.
  765.  
  766.    12) If the assembler PAGE directive is used without arguments inside a
  767.        macro, when the macro is expanded the PAGE directive will case a page
  768.        eject (form feed) even if the NOMEX option is given.
  769.  
  770.    13) The assembler will generate an inappropriate error message when two
  771.        relative terms are subtracted.  The subtraction will not be done.
  772.  
  773.    14) It is possible for the assembler to get out of phase if local labels
  774.        are used in conjunction with structured control statements.  The
  775.        assembler will complain about undefined symbols on pass 2, citing a
  776.        local label that has been placed between a structured control statement
  777.        initializer (.FOR, .WHILE, .REPEAT) and its ending statement (.ENDF,
  778.        .ENDW, .UNTIL).
  779.  
  780.    15) The standalone version of the assembler for the Macintosh (ASM56000SA)
  781.        does not handle negative fractional values properly.  If the assembler
  782.        sees DC -0.5 it should produce a hex value of C00000, but instead
  783.        saturates with a positive signed value (7FFFFF).  This is not a problem
  784.        in any of the other assembler implementations, including the MPW version
  785.        for the Macintosh.
  786.  
  787.    16) The linker will not properly resolve external references to symbols
  788.        in library modules which contain sections with more than one memory
  789.        space.  When scanning the library for eligible symbols, the linker
  790.        does not recognize SYMBOL records beyond the first one.  If the module
  791.        is removed from the library it will be linked correctly.
  792.  
  793.    ------
  794.    u3 - Digital Signal Processor Operation
  795.         (512)440-2030
  796.  
  797.    SUPERSEDES ANY PREVIOUS ERRATA
  798.    February 19, 1988
  799.  
  800.    XSP56001 2B38E/4B38E Silicon Design Memo
  801.  
  802.    This memo lists and explains the only known discrepancies in the
  803.    B38E mask set of the XSP56001.  These discrepancies will be
  804.    corrected in future DSP56001 mask sets.
  805.  
  806.    1.    If one uses the 8 bit synchronous data format (WDS2, WDS1,
  807.    WSD0 = 000) of the Serial Communications Interface (SCI) with an
  808.    external transmitter clock (TCM = 1), the transmitter will transmit
  809.    two bits when the external clock begins, even when the transmitter
  810.    is disabled (TE = 0).  After transmitting these two bits the device will
  811.    continue to drive the Transmit Data line (TXD) with the value of the
  812.    last bit transmitted.  The user can avoid this situation by writing all
  813.    ones ($FF) to the Transmit Data Register (STX) when the SCI is
  814.    initialized.  This will cause the first two transmitted bits to be ones;
  815.    since there is no start bit in the synchronous mode, the TXD line will
  816.    remain at a one, i.e., it's idle condition.
  817.  
  818.    2.      If one is doing hardware development support for the
  819.    DSP56000, the following comments will be of interest.  If a
  820.    peripheral interrupt is pending, enabled, and ready to be serviced
  821.    when the TRACE INTERRUPT is generated, that peripheral interrupt
  822.    will only be partially serviced by the DSP56001.  This condition will
  823.    not arise if one disables all peripheral interrupts prior to tracing.  We
  824.    have implemented the following solution in the DSP56001ADS
  825.    Application Development System monitor program software.  First,
  826.    save the Interrupt Priority Register (IPR) value (located at X:$FFFF),
  827.    then clear the IPR.  Set the Trace bit on the stack, then execute the
  828.    RTI to trace one instruction.  After tracing is complete, the IPR
  829.    register is read.  The previously saved value is restored only if the
  830.    IPR is equal to zero.  Also, refer to Page 8-7 in the DSP56000 User's
  831.    Manual.
  832.  
  833.    Note:   Tracing a MOVE #0,X:$FFFF instruction is not detectable and
  834.    will cause the IPR value prior to the trace to be moved into the IPR
  835.    register after the trace mode interrupt.
  836.  
  837.    3.      When Bus Request is asserted, Bus Grant will be negated for
  838.    one instruction cycle after a read-modify-write instruction, e.g., BSET,
  839.    is executed from internal program memory on internal X and Y
  840.    memory locations.
  841.  
  842.    4.      Fast interrupt service routines consisting of a single two-word
  843.    instruction that return to a conditional JSR (condition true) cause
  844.    both the loop and the trace flags to be cleared and corrupt the
  845.    interrupt mask bits (I1,I0) in the Status Register (SR) that is stacked.
  846.    This condition may have a low probability of occurrence in the user's
  847.    program, but for complete software reliability it is strongly
  848.    recommended that the user restrict fast interrupt routines to only
  849.    two single word instructions.
  850.  
  851.    5.      When operating in the Host DMA transfer mode (read or write),
  852.    the user must not switch bit transfer modes prior to completing the
  853.    current byte/word. A change in the data bit transfer rate prior to
  854.    completion of the current data bit/word will result in subsequent
  855.    data being corrupted.  The user must therefore complete all byte
  856.    transfers for the programmed word size.  For example, if doing a 24-
  857.    bit DMA transfer HACK must be asserted three times to transfer all
  858.    three bytes before the Interrupt Control Register (ICR) bits HM0 and
  859.    HM1 can be changed successfully.
  860.  
  861.    6.      HR/W must be held high during DMA transfers through the
  862.    Host Port.
  863.