From: DSP Hotline

Subject: 320C40 Simulator Bug List

-------------------------------------------------------------------------------
* RELEASE 1.30 BUGLIST                                                        *
* Update - 11/18/94                                                           *
*                                                                             *
* This file contains a list of bugs in the release 1.30 of the 320C40         *
* Simulator                                                                   *
*                                                                             *
* All bugs will be fixed in the next production release unless othwerwise     *
* indicated. There will sometimes be references to internal versions in       *
* this list. For that reason you must always refer to the release status      *
* information (published every two weeks) to verify the availability of a     *
* specific revision.                                                          *
*                                                                             *
-------------------------------------------------------------------------------


				Part 1

5552     V1.30  will fix in V1.31
  The simulator fails to properly execute DMA autoinitialization when:

  1. the first transfer in an autoinit sequence is complete
  2. the control word pointed to by the link pointer
     has transfer mode set to 11 (DMA stops after transfer
     is complete and does not perform next autoinit until
     CPU restarts by writing ones into START bits of DMA
     control register).


The simulator fails to complete the autoinit sequence of the
data headed by the control word with transfer mode of 11.


5673     V1.30  will fix next release
  With DMA operating in split mode with only the primary 
channael having a file connected to the output FIFO,
the auxiliary channel does not autoinit and the primary 
channel does not proceed with its data transfer (possibly
because the two are suppose to alternate back-and-forth
and since the one is non-existant the other cannot 
continue).

; This take file shows problem that Primary channel transfer halts
; after Aux channel autoinit takes place.
; Problem goes away if input file is also connect to comm port
; i.e. mc 0x100071,"in",read
ba 0x2ff81c
mc 0x100072,"out",write
mix
mem 0x1000d0
run


5674     V1.30  will fix next release
  With DMA operating in split mode, both channels autoinitializing
the functionality is okay, but the iteming is not.  Primary
autoinitializing goes ahead of auxiliary channel. Is should be
a one-one situation.  This may affect the code strongly, in
the case of aux/prim working on the same set of data.

***This is how the simulator is implemented.  The implementation
   may need to be reviewed.  This report will be marked as a BUG
   so it will not be fogotten.


5677     V1.30  will fix next release
  IN SIM4X REV1.3 THE TOIEEE DID NOT CONVERT 0 RIGHT.
IT WILL CONVERT TO 3F800000 WHICH IS 1.0 IN IEEE


5683     V1.30  will fix next release
  With DMA in split mode, if no file is connect to the
output channel the FIFO should at least take the
first 8 inputs before erroring because no file is
connected.

***This is how the simulator is implemented.  The 
   implementation may need to be reviewed.  Will
   mark this as a BUG so that it will not be 
   forgotten.


5684     V1.30  will fix next release
  The primary comm port should continue even after the
auxilary comm port has stopped with its process.


5732     V1.31  will fix next release
  It would appear that RORC does not function for the registers bk,ir0,????
IT does not set the carry flag!!!!?????          */

/* This set of programs was developed using 3L's version 1.1 parallel C     */
/* This still invokes version 4.5 of the TI compiler                        */


***There were two problems 1) the customer was not setting the ST register's
   16 bit to 1 - this enables using registers other than R0 - R11.
   2) Simulator does not simulate the ST registers's 16 bit [BUG].


5740     V1.31  will fix next release
  Using versiob 4.5 of Assembler and the following instruction                   
produces the error: address required.

   LHU0  80h, R0

Why?


WORK AROUND/SOLUTION:
=====================
Immediate mode, in some C4x instructions, has been incorporated into the
C4x UG 1993.  These instructions need to be supported by our assembler and
processed correctly by the simulator and emulator.

The instructions affected are: LBb/LbUb/LHw/LHUw/LWLct/LWRct
                               MBct/MHct/RCPF/RSQRF/TOIEEE

***The the immeditate value can be placed into a memory location, or
   register, and then accessed directly or indirectly.


5799     V2.30  will fix next release
  Using C4x Simulator Version 1.10 made with Core 3.33, Debugger Version 2.30, 
and dated February 3.  When executed with the following command line:
   sim4x -tcrash.tak 
where crash.tak contains the sole command "map off", all is well.  Now execute
the command line:
   sim4x -tworks.tak 
where works.tak is crash.tak preceeded by a single ma command, error occurs.


-------------------------------------------------------------------------------

4930     V(current)  will fix next release
  Note:  The maximum number of files that can be connected to an I/O
port in the simulator via "mc" commands is 14.  This is a simulator
feature resulting from a limitation on the number of files that
are allocated to any one program under DOS.


-------------------------------------------------------------------------------
