
************************************************************************
************************************************************************
**                                                                    **
**    Application notes for memory devices larger than 4MBytes.       **
**    This application note explains naming conventions and data file **
**    download issues.                                                **
**                                                                    **
************************************************************************
************************************************************************

************************************************************************
* 8MBytes devices mapped into two User RAM memory partitions
-----------------------------------------------------------

Due to User RAM limitations on the Unisystem programmers a 64Mbit device
must be split into 2 equal 32Mbit Quadrants:

Unisystem RAM mapping:              Device mapping:
 --------------- 0Mbit               ----------------------  0Mbit
| 0 hex         |                   | Quadrant 1           |
|               |- mapped here ---> | 0-1FFFFF hex         |
|               |- Or --            |                      |
|               |       |           |                      |
|               |       |           |                      |
| 200000 hex    |       |           |----------------------| 32Mbit
 --------------- 32Mbit |           |                      |
                        |           |                      |
                        `- here --> | 200000->3FFFFF hex   |
                                    |                      |
                                    |----------------------| 64Mbit

For for a device that requires a two quadrant device menu selection:
  Quadrant 1            =  Device addresses 0      -> 1FFFFF hex
  Quadrant 2            =  Device addresses 200000 -> 3FFFFF hex
                 I/O addr    Memory begin  User data  Device addr
Menu selection:  offset:     address:      size:      range:
Quadrant 1 = L:  0 hex       0 hex         200000 hex 0      -> 1FFFFF hex
Quadrant 2 = U:  400000 hex  0 hex         200000 hex 200000 -> 3FFFFF hex
NOTE: For an 8-Bit device the User Data Sizes and Device Address Ranges would
need to be doubled.

************************************************************************
* 12MBytes devices mapped into two User RAM memory partitions
--------------------------------------------------------------
For a device that requires a three quadrant menu selection:
  suffix A0 = The Quadrant of the 64Mbit device that has
  Device addresses 0 -> 1FFFFF hex
  suffix A1 = The Quadrant of the 64Mbit device that has
  Device addresses 200000 -> 3FFFFF hex
  suffix A2 = The Quadrant of the 32Mbit device that has
  Device addresses 0 -> 1FFFFF hex


************************************************************************
* 16MBytes devices mapped into two User RAM memory partitions
--------------------------------------------------------------
Due to ram limitations on the Unisystem programmers, this device had to be
split into 4 equal 32Mbit quadrants. Make menu selections as:

  suffix A0 to program the first Quadrant
  suffix A1 to program the second Quadrant
  suffix A2 to program the third Quadrant
  suffix A3 to program the fourth Quadrant

To load data from a data file for a particular Quadrant of the device you must
set the download options as shown in the table below.  The memory size of each
Quadrant corresponds to a 128Mbit device.
                I/O addr     Memory begin   User data     Device address
Menu selection: offset:      address:       size:         range:
Quadrant A0:    0 hex        0 hex          200000 hex    0      -> 1FFFFF hex
Quadrant A1:    400000 hex   0 hex          200000 hex    200000 -> 3FFFFF hex
Quadrant A2:    800000 hex   0 hex          200000 hex    400000 -> 5FFFFF hex
Quadrant A3:    C00000 hex   0 hex          200000 hex    600000 -> 7FFFFF hex
NOTE: For an 8-Bit device the User Data Sizes and Device Address Ranges would
need to be doubled.


------------------------------------------------------------------------
------------------------------------------------------------------------
Example of downloading a data files to various partitions:
------------------------------------------------------------------------
------------------------------------------------------------------------
NOTE:
  Quadrant L = The Quadrant of the 64Mbit device that has
  Device addresses 0 -> 1FFFFF hex (0 -> 3FFFFF for 8 bit devices)

  Quadrant A1 = The Quadrant of the 128Mbit device that has
  Device addresses 200000 -> 3FFFFF hex (400000 -> 7FFFFF for 8 bit devices)

The following example would be in regard to loading data into the programmer
memory map from a datafile, and the data is intended to be programmed into
either Quadrant L or Quadrant A1:

I/O Translation Format     99
I/O addr offset            400000
Memory begin address       0
User data size             200000 (400000 for 8 bit devices)

Example of editing device data in the memory editor:
If data editing needs to done in the user RAM memory editor the appropriate
Quadrant Menu Selection (see table above) must first be determined. As an
example if editing data at the device address starting at location 2F8000
hex, that device address location would fall into the Quadrant U or Quadrant
A1. To find where location 2F8000 hex corresponds to location in the Quadrant
U or Quadrant A1 subtract the beginning device address range from the location
you want to edit.

In this case the location of device address location 2F8000 hex is in the
Quadrant U or Quadrant A1 memory address is F8000 hex
(F8000 hex = 2F8000 hex - 200000 hex).


************************************************************************
**************** ADDITIONAL NOTES FOR SPECIFIC DEVICES *****************
************************************************************************


TOS 58FVB641FT :
---------------

Sector ERASE operations may be performed within the selected quadrant and
the desired sectors. However the "Protect/Unprotect all sectors" prior to
the erase operation is performed ONLY within the lower quadrant algorithm.
Due to this, it is necessary to erase/program the lower quadrant first
prior to erasing the upper quadrant. This is ONLY needed when any sector
within the upper quadrant is previously protected.
*------ SecSi Sector Data -----------*
SecSi Sector is not supported currently for these devices.

************************************************************************

