;/*****************************************************************************
;*  Copyright Statement:
;*  --------------------
;*  This software is protected by Copyright and the information contained
;*  herein is confidential. The software may not be copied and the information
;*  contained herein may not be used or disclosed except with the written
;*  permission of MediaTek Inc. (C) 2005
;*
;*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
;*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
;*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
;*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
;*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
;*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
;*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
;*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
;*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
;*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
;*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
;*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
;*
;*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
;*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
;*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
;*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
;*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
;*
;*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
;*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
;*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
;*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
;*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
;*
;*****************************************************************************/
;
;/*******************************************************************************
; *
; * Filename:
; * ---------
; *	scat.txt
; *
; * Project:
; * --------
; *   Maui_Software
; *
; * Description:
; * ------------
; *   This Module defines the memory map for the validation board
; *
; * Author:
; * -------
; *	Shalyn Chua
; *
; * Last modified Date:
; * -------
; *   2004/10/21
; *
; *******************************************************************************/

; currently we have swappable external 16MB flash memory and 8MB SRAM
; and internal SRAM of 256KB starting at 0x40000000
; internal SRAM is partitioned as 128KB for code and 128KB for data
; (THIS CAN BE CHANGED BASED ON REQUIREMENT!!)
; for this file, we define external memory allocation as
; 1. program memory starting at 0x08000000
; 2. data memory starting at 0x00000140
; 3. FAT reserve 2M flash memory from 0x00e00000

ROM 0x08000000 0xe00000
{
    ROM 0x08000000 0x400000
    {
         bootarm.obj (C$$code,+First)
         *wap.lib (+RO-CODE)
         *plutommi.lib (+RO-CODE)
         *l4_classb.lib (+RO-CODE)
         *mtkapp.lib (+RO-CODE)
         *l1_classb.lib (+RO-CODE)
         *j2me.lib (+RO-CODE)
         *wapadp.lib (+RO-CODE)
         *jam.lib (+RO-CODE)
         *email.lib (+RO-CODE)
         *l4misc.lib (+RO-CODE)
    }
    ROM2 +0x0 0x400000
    {
         .ANY (+RO-CODE)
    }
    ROM3 +0x0
    {
         .ANY (+RO-DATA)
    }
    EXTSRAM 0x00000140 0x003FFEC0
    {
         * (+RW, +ZI)
    }
    INTSRAM_CODE 0x40000000 0x00014000
    {         
         isrentry.obj (INTERNCODE)
         data_buff_pool.obj (INTERNCODE)         
         ctrl_buff_pool.obj (INTERNCODE)
         stack_buff_pool.obj (INTERNCODE)
         stack_ltlcom.obj (INTERNCODE)
         kal_nucleus_buff_mgr.obj (INTERNCODE)
         kal_nucleus_evshed_buff_mgr.obj (INTERNCODE)
         kal_nucleus_itc.obj (INTERNCODE)
         kal_nucleus_timer.obj (INTERNCODE)
         lcd_dll.obj (INTERNCODE)
         event_shed.obj (INTERNCODE)
         stack_timer.obj (INTERNCODE)
         memset.o (+RO)
         rt_memclr.o (+RO)
         callvia.o (+RO)
         _sprintf.o (+RO)
         rt_memcpy.o (+RO)
         lludiv10.o (+RO)
         rt_udiv.o (+RO)
         tct.obj (+RO)
         tcc.obj (INTERNCODE)
         csc.obj (INTERNCODE)
         tmt.obj (+RO)
         tms.obj (+RO)
         smc.obj (+RO)
         evc.obj (+RO)
         pmc.obj (+RO)
         quc.obj (+RO)
         mpal_gprs_common_func.obj (INTERNCODE)
         mpal_gprs_dl_msg_hdlr.obj (INTERNCODE)
         m11194.obj (INTERNCODE)
         m11191.obj (INTERNCODE)
         l1d_data.obj (INTERNCODE)
         m12110.obj (INTERNCODE)
         m12120.obj (INTERNCODE)
         m12160.obj (INTERNCODE)
         m12170.obj (INTERNCODE)
         m12168.obj (INTERNCODE)
         m12180.obj (INTERNCODE)                  
         m11303.obj (INTERNCODE)
         m11305.obj (INTERNCODE)         
         m12194.obj (INTERNCODE)                  
         midisyn.obj (INTERNCODE)
         ait102n.obj (INTERNCODE)
         wav.obj (INTERNCODE)
         wav_codec.obj (INTERNCODE)
         divider.obj (+RO)			
         L1Trc.obj (INTERNCODE)
         uart.obj (INTERNCODE)
         gdi_image_gif.obj (INTERNCODE)
         gdi_bytestream.obj (INTERNCODE)	
         gdi_image_direct_gif.obj (INTERNCODE)
         gdi_mutex.obj (INTERNCODE)
         cor_h.obj (INTERNCODE)
         convolve.obj (INTERNCODE)
         calc_cor.obj (INTERNCODE)
         pitch_fr.obj (INTERNCODE)
         syn_filt.obj (INTERNCODE)
         c2_9pf.obj (INTERNCODE)
         pred_lt.obj (INTERNCODE)
         q_plsf.obj (INTERNCODE)
         residu.obj (INTERNCODE)
         lpc.obj (INTERNCODE)
         pre_proc.obj (INTERNCODE)
         oper_32b.obj (INTERNCODE)
         qua_gain.obj (INTERNCODE)
         copy.obj (INTERNCODE)
         az_lsp.obj (INTERNCODE)
         weight_a.obj (INTERNCODE)
         pitch_ol.obj (INTERNCODE)
         calc_en.obj (INTERNCODE)
         spstproc.obj (INTERNCODE)
         lsp_az.obj (INTERNCODE)
         cl_ltp.obj (INTERNCODE)
         bytecodesasm.obj (INTERNCODE)	
         j2me_custom_lcd.obj(INTERNCODE)
    }
    INTSRAM_DATA 0x40014000 0x0000c000
    {
         init_memory_stack.obj (INTERNCONST, INTERNRW, INTERNZI)
         isrentry.obj (INTERNCONST, INTERNRW, INTERNZI)
         stack_init.obj (INTERNCONST, INTERNRW, INTERNZI)
         ctrl_buff_pool.obj (INTERNCONST, INTERNRW, INTERNZI)
         stack_ltlcom.obj (INTERNCONST, INTERNRW, INTERNZI)
         tst*.obj (INTERNCONST, INTERNRW, INTERNZI)         
         tct.obj (+RW, +ZI)   
         tcd.obj (INTERNCONST, INTERNRW, INTERNZI)
         tmd.obj (+RW, +ZI)
         evd.obj (+RW, +ZI)
         pmd.obj (+RW, +ZI)
         qud.obj (+RW, +ZI)
         smd.obj (+RW, +ZI)
         mpal_gprs_common_func.obj (INTERNCONST, INTERNRW, INTERNZI)
         mpal_gprs_dl_msg_hdlr.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11194.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11191.obj (INTERNCONST, INTERNRW, INTERNZI)
         l1d_data.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12110.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12120.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12160.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12170.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12168.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12180.obj (INTERNCONST, INTERNRW, INTERNZI)                  
         m11303.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11305.obj (INTERNCONST, INTERNRW, INTERNZI)         
         m12194.obj (INTERNCONST, INTERNRW, INTERNZI)                  
         midisyn.obj (INTERNCONST, INTERNRW, INTERNZI)
         L1Trc.obj (INTERNCONST, INTERNRW, INTERNZI)
         gdi_image.obj (INTERNCONST, INTERNRW, INTERNZI)
         gdi_bytestream.obj (INTERNCONST, INTERNRW, INTERNZI)	
         gdi.obj (INTERNZI)
         wav.obj (INTERNCONST, INTERNRW, INTERNZI)
         wav_codec.obj (INTERNCONST, INTERNRW, INTERNZI)
         cod_amr.obj (INTERNCONST, INTERNRW, INTERNZI)
         pred_lt.obj (INTERNCONST, INTERNRW, INTERNZI)
         syn_filt.obj (INTERNCONST, INTERNRW, INTERNZI)
         q_plsf.obj (INTERNCONST, INTERNRW, INTERNZI)
         lpc.obj (INTERNCONST, INTERNRW, INTERNZI)
         pre_proc.obj (INTERNCONST, INTERNRW, INTERNZI)
         spstproc.obj (INTERNCONST, INTERNRW, INTERNZI)
         interpret.obj(INTERNZI)
    }   
    INTSRAM 0x40020000 0x00060000
    {
         med_main.obj (INTERNRW1, INTERNZI1) 
         gdi_layer.obj (INTERNRW1, INTERNZI1) 
         gdi_image_gif.obj (INTERNZI)
    }
}


LANG_PACK_ROM +0x00
{
   LANG_PACK_ROM +0x00
   {
      resource_lang_pack_jtbl.obj (RESOURCE_JUMP_TBL, +First)
      resource_lang_pack_jtbl.obj (+RW)
      CustStrRes.obj (+RW)
      CustStrMap.obj (+RW)
      FontRes.obj (+RW)
      IMERes.obj (+RW)
   }
   LANG_PACK_ROM_CONTENT +0x00
   {
      CustStrRes.obj (+RO)
      CustStrMap.obj (+RO)
      FontRes.obj (+RO)
      IMERes.obj (+RO)
   }
}

CUSTPACK_ROM +0x00
{
  CUSTPACK_ROM +0x00
   {
      resource_custpack_jtbl.obj (RESOURCE_JUMP_TBL, +First)   		
      resource_custpack_jtbl.obj (+RW)
      nvram_cust_pack.obj (+RW)		
   }
   CUSTPACK_ROM_CONTENT +0x00
   {
      nvram_cust_pack.obj (+RO)      
      CustImgResExt.obj (+RO)
      custpack_audio.obj (+RO)
      custom_wap_cust_pack.obj (+RO)
   }
}

JUMP_TABLE 0x08dFFE00 0x200
{
   JUMP_TABLE +0x00
   {
      custom_jump_tbl.obj (+RO, +RW, +ZI)
   }
}
