dvdL.ldp
上传用户:caisangzi8
上传日期:2013-10-25
资源大小:15756k
文件大小:22k
源码类别:

DVD

开发平台:

C/C++

  1. /*
  2. *  History
  3. *  Terry,2004/2/6 05:38PM
  4. */
  5. #include "set.h"
  6. #include "user_init.h"
  7. #include "load.h"
  8. #include "memmap0.h"
  9. /*
  10. ** FILE
  11. ** dvdL.ld
  12. ** DESCRIPTION
  13. ** linker script for dvd system (in little-endian mode)
  14. **
  15. ** ****************
  16. ** EMU-type0
  17. **
  18. ** ROM      88000000
  19. **          00400000
  20. ** SDRAM    80000000
  21. **
  22. ** ****************
  23. ** EMU-type1 & ASIC-type0
  24. **
  25. ** ROM      88000000 (granuate A)
  26. **          80000000 (granuate ABC)
  27. ** SDRAM    80000000
  28. */
  29. /*
  30. ** this file is VERY IMPORTANT for all systems. please keep
  31. ** every thing simple here for cleaness.
  32. */
  33. #include "input_lib.h"
  34. #define TO080(y)    (0x080000000+1024*(y))
  35. #define TO180(y) (0x180000000+1024*(y))
  36. #define K(y)        (1024*(y))
  37. //data ram,terry,2004/7/26 02:51PM
  38. #define TO_DR(x,y)  (0x0bfff0000+1024*(y)+x)  
  39. //stack pointer
  40. #include "stack.ldp"
  41. SECTIONS
  42. {
  43. /*===========================================================================
  44. * SDRAM 1 ,code ,rom data
  45. *=============================================================================*/
  46.     /*
  47.     * iop driver
  48.     */
  49.     .drv_iop :
  50.     {
  51.         _text_drv_iop = .;
  52.         .       = ALIGN(16);
  53.         *iop.o    (.rodata)
  54.     } > sdram_drv_iop
  55.     /*
  56.     * iop standby driver
  57.     */
  58.     .drv_iop_rst :
  59.     {
  60.         .       = ALIGN(16);
  61.         *ioprom.o    (.rodata)
  62.     } > sdram_iop_rst
  63.     /*
  64.     * mpeg driver
  65.     */
  66.     .ramdrv1 :
  67.     {
  68.         _text_drv = .;
  69.         .       = ALIGN(16);
  70.         *rwdk.o     (.text*)
  71. #ifndef UNLOAD_ROMCODE
  72. #ifdef LOAD_MPEG
  73.         *mpegsys*.o (.text*)
  74.         *supdrv*.o  (.text*)        //terry,2004/2/4 04:22PM
  75.         
  76. #if !defined(BBK_DVD)&&!defined(NINTAUS_DVD) ||defined(NIN_612_4M) //terry,2003/12/17 06:18PM
  77.         *setup_ui1.o (.text*)
  78. #endif
  79. #endif
  80. #endif
  81.     } > sdram_drv1
  82.     /*
  83.     * jpeg driver
  84.     */
  85.     .ramdrv2 :
  86.     {
  87.         .       = ALIGN(16);
  88. #ifndef UNLOAD_ROMCODE
  89. #ifdef LOAD_JPEG
  90.         *jpegtest.o (.rodata)
  91.         *jpegtest.o (.text*)
  92. #endif
  93. #endif
  94.     } > sdram_drv2
  95.     /*
  96.     *  navigation
  97.     */
  98.     .drv_dvd :
  99.     {
  100.         _text_drv_dvd = .;
  101. #if !defined(UNLOAD_ROMCODE)
  102. #ifdef LOAD_NAV
  103.         *nav.o      (.text*)
  104.         *pgc.o      (.text*)
  105.         *user_if.o  (.text*)
  106.         *ncmd.o     (.text*)
  107.         *ncmd_exe.o (.text*)
  108.         *vts.o      (.text*)
  109.         *vmg.o      (.text*)
  110.         *preview.o  (.rodata)
  111.         *preview.o  (.text*)
  112.         *psd.o      (.rodata)
  113.         *psd.o      (.text*)
  114.         *v11.o      (.rodata)
  115.         *v11.o      (.text*)
  116.         *svcd.o     (.rodata)
  117.         *svcd.o     (.text*)
  118.         *cdg.o      (.rodata)
  119.         *cdg.o      (.text*)
  120.         *gf2m_c.o   (.text*)
  121.         *rs2420.o   (.text*)
  122.         *rs42.o     (.rodata)
  123.         *rs42.o     (.text*)
  124.         *navif.o    (.text*)
  125.         *book.o     (.text*)
  126.         *srv0.o     (.text*)
  127.         *srv1.o     (.text*)
  128. #if !defined(NINTAUS_DVD)&& !defined(HUAJIA_DVD)&& !defined(GBM_DVD)&& !defined(MINTON_DVD)||defined(NIN_612_4M) 
  129.         *prvdrv.o   (.text*)
  130.         *int_decerr.o (.text*)
  131.         *supdec*.o   (.text*)
  132.         *slowback.o (.text*)
  133. //        *cd.o       (.text*)    
  134.         *cdfunc.o   (.text*)
  135.     #if  !defined(PMP_DVD)       
  136.         *mainproc.o (.text*)
  137.         *sysmain2.o (.text*)
  138.     #endif //#if !defined(PMP_DVD)    
  139.         *dvdpe.o    (.text*)
  140. //        *audhw.o    (.text*)//nono 2004-6-22 18:40 for WHEN JPEG PLAYING, setting SPDIF item will reset.
  141. //        *cderr.o    (.text*)        
  142.         *repeat.o   (.text*)
  143.                 
  144.         //cannot reduce rom code,        
  145.         *css-des.o  (.text*)   
  146.         *css-auth.o (.rodata)
  147.         *css-auth.o (.text*)
  148.         *dvdauth.o  (.text*)
  149.         *dvdioctl.o (.text*)
  150. #endif//!defined(NINTAUS_DVD)
  151. #ifdef DVDRELEASE   
  152.         *viddec.o   (.rodata)
  153.         *int_fld.o  (.text*)
  154.         *int_pend.o (.text*)
  155.         *genint.o   (.text*)
  156. #endif
  157. #endif
  158. #endif
  159.         .       = ALIGN(16);
  160.     } > sdram_dvd
  161.     /*
  162.     * boot-strap
  163.     */
  164.     .boot_flash :
  165.     {
  166.         *boot_flashs.o (.text*)
  167.         *boot_flashs.o (.rodata)
  168.         *boot_flash.o  (.text*)
  169.         *boot_flash.o  (.rodata)
  170.         *boot_emuio.o  (.text*)
  171.         *boot_emuio.o  (.rodata)
  172.         *boot_uart.o   (.text*)
  173.         *boot_uart.o   (.rodata)
  174.         *boot_sio.o    (.text*)
  175.         *boot_sio.o    (.rodata)
  176.         .       = ALIGN(16);
  177. _text_rombin_start = .;
  178.     } > sdram_flash
  179.     .drv_cdrom :
  180.     {
  181.         _text_drv_cdrom = .;
  182. #ifndef UNLOAD_ROMCODE
  183.         *flash.o       (.text*)
  184.         *flash.o       (.rodata)
  185. #ifdef LOAD_CDROM
  186.         *ThumbNav.o    (.rodata)
  187.         *ThumbNav.o    (.text*)
  188.         *fsNAV.o       (.rodata)
  189.     #ifndef PMP_DVD
  190.         *fsGUI.o       (.text*)
  191.         *fsGUI.o       (.rodata)
  192.     #endif
  193.     #ifndef SUPPORT_MP4_SUBTITLE
  194.         *fsNAV.o       (.text*)
  195.         *fs_nav_upgrade.o      (.text*)
  196.         *fs_nav_upgrade.o      (.rodata)        
  197.     #endif        
  198.         *udf.o         (.text*)
  199.         *udf.o         (.rodata)
  200.         *fs9660.o      (.text*)
  201.         *fs9660.o      (.rodata)
  202.         *fsCDDA.o   (.rodata)//nono 4-9-1 12:01 move from sdram_drv1
  203.         *fsCDDA.o   (.text*)
  204.         *NESInit.o     (.text*)
  205. //        *nesif.o       (.text*)
  206. //        *nesif.o       (.rodata)
  207.         *fsFile.o      (.rodata)
  208.         *fsFile.o      (.text*)
  209.         *fsGUIX.o      (.text*)
  210. #endif
  211. #ifdef LOAD_AP
  212. //nono 2004-10-10 13:20 move here from "drv_ap1".
  213. #if !defined(BBK_DVD)&&!defined(NINTAUS_DVD)||defined(NIN_612_4M)  //terry,2003/12/17 06:18PM      
  214.        *graph.o        (.rodata)
  215.        *graph.o        (.text*)
  216.        *atapi_if.o     (.text*)
  217. #endif
  218. #endif//#ifdef LOAD_AP
  219. #if defined(LOAD_AP_OTHER)&&!defined(DVD_AUDIO)&&!defined(DVD_ESP_2S)//nono 2004-10-16 16:23
  220.         *cderr.o    (.text*)        
  221. #endif//LOAD_AP_OTHER
  222. #endif
  223.         .       = ALIGN(16);
  224.     } > sdram_cdrom
  225.     .drv_ap1 :
  226.     {
  227.        _text_drv_ap = .;
  228. #ifndef UNLOAD_ROMCODE
  229.     #ifdef LOAD_AP
  230.         
  231.        *ircmd.o        (.rodata)
  232.        *ircmd.o        (.text*)
  233.        *ir_parser.o    (.rodata)
  234.        *ir_parser.o    (.text*)
  235.        *ir_drv.o       (.text*)
  236.        *disp.o         (.rodata)
  237.        *disp.o         (.text*)
  238.        *polling.o      (.text*)
  239.        *sound_if.o     (.text*)
  240.         #ifndef SUPPORT_MP4_SUBTITLE       
  241.        *audif.o        (.text*)
  242.        *audif.o        (.rodata)
  243.         #endif
  244.        
  245.         #ifndef SUPPORT_MIDI
  246.        *osd1.o         (.text*)
  247.         #endif
  248.         #if !defined( ENLARGE_SDRAM_CS_AND_OSD_SIZE )
  249.        *vfd.o          (.rodata)
  250.        *vfd.o          (.text*)
  251.             #if !defined(NINTAUS_DVD)||defined(NIN_612_4M) 
  252.        *setup.o        (.rodata)
  253.             #endif//#if !defined(NINTAUS_DVD)
  254.         
  255.             #if defined(SUPPORT_MP4)||defined(SUPPORT_ID3)||defined(SUPPORT_OSDID3) //linrc 2004-11-08 10:57
  256.        *fs_message_show.o   (.rodata)
  257.        *fs_message_show.o   (.text)
  258.             #endif
  259.             #if !defined(BBK_DVD)&&!defined(NINTAUS_DVD)||defined(NIN_612_4M)  //terry,2003/12/17 06:18PM      
  260.        *safe.o         (.rodata)
  261.        *safe.o         (.text*)
  262.        *prog.o         (.rodata)       
  263.             #endif
  264.             
  265.         #endif
  266.     #endif
  267.     
  268.     #ifdef LOAD_SERVO
  269.        *Servo.o        (.text*)
  270.        *Servo.o        (.rodata)
  271.        *DecUtil.o      (.text*)
  272.        *DecUtil.o      (.rodata)
  273.        *IdeMain.o      (.text*)
  274.        *IdeMain.o      (.rodata)
  275.        *DecInit.o      (.text*)
  276.        *DecISR.o       (.text*)
  277.        *DecISR.o       (.rodata*)
  278.        *Atapicmd.o     (.text*)
  279.        *Atapicmd.o     (.rodata)
  280.        *DecUpdt.o      (.text*)
  281.        *DecUpdt.o      (.rodata)
  282.        *DSPCode.o      (.text*)
  283.        *SUtil.o        (.text*)
  284.        *Servoset.o     (.text*)
  285.        *TimerISR.o     (.text*)
  286.        *DecExUtil.o    (.text*)
  287.        *DecExUtil.o    (.rodata)
  288.        *ServoSet.o     (.text*)
  289.        *ServoSet.o     (.rodata*)
  290.        *SrvCom.o       (.text*)
  291.     #endif
  292.     #ifdef LOAD_AP_OTHER //terry,2004/4/13 09:36PM
  293.        *avd.o          (.text*)
  294.        *timer.o        (.text*)
  295.        *ircode.o       (.rodata)
  296.        *osdutil.o      (.rodata)
  297.        *font_offset.o  (.rodata)
  298.        *sound.o        (.rodata)
  299.        *sysmain2.o     (.rodata)       
  300.        *estd.o         (.text) 
  301.        *supset.o       (.text) 
  302.        *cvdogt.o       (.text) 
  303.        *sup.o          (.text) 
  304.      
  305.        *memcfg.o       (.text) 
  306.        *util.o         (.text) 
  307.        *nav_util.o     (.text)
  308.        *read.o         (.text)
  309.        *score.o        (.text)
  310.        *kernel.o       (.text)
  311.        *ninf.o         (.text)
  312.        *_Xdivdi3.o     (.text)
  313.        *setvideo.o     (.text)
  314. //       *hwif.o         (.text)//cause 8200 standby fail.2004-4-30 11:32
  315.        *cd.o       (.text*)
  316.     #endif
  317.        
  318. #endif
  319.        .        = ALIGN(16);
  320.     } > sdram_ap1
  321.     .drv_ap2 :
  322.     {
  323.         _text_drv_ap2 = .;
  324. #ifndef UNLOAD_ROMCODE
  325. #ifdef LOAD_AP
  326.        *setup.o        (.text*)
  327.        *intdrv.o        (.text*)      
  328.        *prog.o          (.text*) 
  329. #endif
  330. #endif
  331.        .        = ALIGN(16);
  332.     } > sdram_ap2
  333.     .drv_ap3 :
  334.     {
  335.         .       = ALIGN(16);
  336. #ifndef UNLOAD_ROMCODE
  337. #ifdef LOAD_AP
  338. /*       *prog.o         (.text*)*/
  339. /*       *sound.o        (.text*)*/
  340. #endif
  341. #endif
  342.     } > sdram_ap3
  343.     .drv_srvdp :
  344.     {
  345.         _text_drv_srvdp = .;
  346. #ifndef UNLOAD_ROMCODE
  347.        *DSPCode.o      (.rodata)
  348. #endif
  349.     } > sdram_srvdp
  350.     .drv_free :
  351.     {
  352.         _text_drv_free = .;
  353. #ifndef UNLOAD_ROMCODE
  354.     #ifdef LOAD_AP
  355.         #ifndef SUPPORT_JPEG_MIC //terry,2004/1/7 07:12PM
  356.             #if  !defined(PMP_DVD)&&!defined(BBK_DVD)&&!defined(NINTAUS_DVD)&&!defined(GBM_CARD_READER)||defined(NIN_612_4M)  //nono 4-2-2 15:15 
  357.        *osd1.o         (.rodata)
  358.             #endif       
  359.        *search.o       (.text*)
  360.        *search.o       (.rodata)
  361.        *macro.o        (.text*)
  362.        *macro.o        (.rodata)
  363.        *image.o        (.text*)
  364.        *iop.o          (.text*)
  365.        *cderr.o        (.text*)
  366.        *cderr.o        (.rodata)
  367.        *hostx.o        (.text*)
  368.        *hostx.o        (.rodata)
  369.        *dsp3_if.o      (.text*)
  370.        *dsp3_if.o      (.rodata)
  371.        *fs9660_util.o  (.text*)
  372.        *fsNav_util.o   (.text*)
  373.        *fsGUI_util.o   (.text*)
  374.        *fsGUIShowFont.c (.text*)    // 2004/02/01 yltseng
  375.        *framebuf*.o     (.text*)
  376.        *sound.o        (.text*)
  377.        *fs.o           (.text*)
  378.        *fs.o           (.rodata)
  379.        *vpp_728.o      (.text*)
  380.             #ifdef DVDRELEASE
  381.        *jpegeffect.o   (.rodata)
  382.        *jpegeffect.o   (.text*)
  383.        //*jpegeffect_help.o   (.rodata)
  384.        //*jpegeffect_help.o   (.text*)
  385.        *lbaif.o        (.rodata)
  386.        *lbaif.o        (.text*)
  387.        *supintr.o      (.text*)
  388.        *viddec.o       (.text*)      
  389.                 #ifdef LOAD_MP4     // 2004/12/16 yltseng
  390.         *viddec_mp4.o   (.text*)
  391.                 #endif
  392.                 
  393.        *time.o         (.text*)
  394.        *time.o         (.rodata)
  395.        *vpp_728.o      (.rodata)
  396.        *sp8200tv.o     (.text*)
  397.        *sp8200tv.o     (.rodata)
  398.                 #ifdef SUPPORT_MJPEG
  399.         *mjpeg.o (.rodata)
  400.         *mjpeg.o (.text*)
  401.                 #endif
  402.             #endif
  403.         #endif
  404.     #endif
  405.     
  406. #endif
  407.     } > sdram_free
  408.     .drv_mp4 :
  409.     {
  410.         _text_drv_mp4 = .;
  411. #ifndef UNLOAD_ROMCODE
  412.     #ifdef LOAD_MP4
  413.         *mp4vid.o       (.text*)
  414.         *mp4vid.o       (.rodata)
  415.         *mp4vid.o       (.bss)
  416.         *mp4vid.o       (COMMON)
  417.         *mp4vid.o       (.sbss)
  418.         *mp4vid.o       (.scommon)       
  419.         *avi_if.o       (.text*)
  420.         *avi_if.o       (.rodata)
  421.     #endif
  422. #endif
  423.     } > sdram_mp4
  424.     .drv_wma :
  425.     {
  426.         _text_drv_wma = .;
  427. #ifndef UNLOAD_ROMCODE
  428. #ifdef LOAD_WMA
  429.        *asfheader.o    (.text*)
  430.        *asfheader.o    (.rodata)
  431.        *asfdata.o      (.text*)
  432.        *asfdata.o      (.rodata)
  433.        *asfheader.o    (COMMON)
  434.        *asfdata.o      (.scommon)
  435. #endif
  436. #endif
  437.     } > sdram_wma
  438. /*===========================================================================
  439. // ROM 1
  440. //===========================================================================*/
  441.     /*
  442.     ** .rom1: text image
  443.     **
  444.     ** this section keeps all the text-section rom image.
  445.     ** the order of first few files is to ensure there will
  446.     ** not be any cache trashing.  don't modify it unless
  447.     ** you know what you are doing.
  448.     **
  449.     */
  450.     .rom1 :
  451.     {
  452. #ifndef  LOAD_OTHER
  453.         /* normal */
  454.         MIPS/init0.o    (.text*)         /* boot code */
  455. #ifndef DVDRELEASE
  456.         *viddec.o   (.text*)
  457.         *viddec.o   (.rodata)
  458.         *intdrv.o   (.text*)        
  459.         *int_fld.o      (.text*)
  460.         *int_pend.o     (.text*)
  461.         *genint.o       (.text*)
  462. #endif
  463.         
  464.         
  465. /*        *srv*.o         (.text*)*/
  466.         *               (.text*)
  467.         MIPS/crt0.o     (.text*)         /* c runtime code */
  468. #else
  469.         /* download all code to SDRAM */
  470.         MIPS/init0.o    (.text*)         /* boot code            */
  471.         MIPS/rominit.o  (.text*)         /* data/bss init code   */
  472.         MIPS/crt0.o     (.text*)         /* c runtime code       */
  473.         *reset.o        (.text*)         /* reset routine        */
  474.         *sysmain.o      (.text*)         /* c main-routine       */
  475.         *lexra.o        (.text*)        
  476.         *dsp3_config.o  (.text*)
  477.         *bitop.o        (.text*)
  478.         *dtsrom.o       (.rodata)
  479.         *intdrv.o       (.text*)      
  480.         
  481.         *emuio.o        (.text*)
  482.         
  483.         *uart0fifo.o    (.text*)        
  484.         *other.o        (.text*)
  485.         *sdram.o        (.text*)
  486.         *sio.o          (.text*)
  487.         *sio.o          (.rodata*)
  488.         *uart1null.o     (.text*)
  489.         
  490.         *hwcpu*.o       (.text*)
  491.         *crt0.o         (.rodata*)
  492.         *init0.o        (.rodata*)        
  493. #endif
  494.         . = ALIGN(16);
  495.     } > rom
  496. /*===========================================================================
  497.  SDRAM 2, global var.
  498. ===========================================================================*/
  499.     /*
  500.     ** .ram1: DATA section
  501.     **
  502.     ** this section is the virtual mapping of data-sections.
  503.     ** data section is for initialized read/write variables.
  504.     ** we have to store the initial value of these variables
  505.     ** somewhere(.rom1_2).  during building the binary image
  506.     ** we will dumping .ram1 content to .rom1_2
  507.     **
  508.     */
  509.     .ram1 :
  510.     {
  511.         _data           = .;        /* beginning of data segment */
  512.         *              (.data)
  513.         _gp             = .;        /* $gp global pointer, _gp for crt0.S to load */
  514.         *              (.sdata)
  515.         *              (.lit8)
  516.         *              (.lit4)
  517.         *              (.lita)
  518.         _edata      = .;            /* end of data area (to be copied from ROM) */
  519.         .       = ALIGN(16);
  520.     } > sdram_cs
  521. /*===========================================================================
  522.  ROM 2
  523. ===========================================================================*/
  524.     /*
  525.     ** .rom1_2: padding section for DATA initialization
  526.     */
  527.     .rom1_2 :
  528.     {
  529.         _data_ps = .;
  530.         .       += SIZEOF(.ram1);
  531.         _data_pe  = .;
  532.         .       = ALIGN(16);
  533.     } > rom
  534.     /*
  535.     ** .rom2: constant data
  536.     */
  537.     .rom2 :
  538.     {
  539.         /* CONSTANT DATA (read-only) */
  540. #ifndef  LOAD_OTHER
  541.         *               (.rdata)
  542.         *               (.rodata)
  543. #else
  544.         /* only load these essential data to ROM */
  545.         MIPS/rominit.o  (.rodata)
  546.         MIPS/crt0.o     (.rodata)
  547.         *reset.o        (.rodata)
  548.         *sysmain.o      (.rodata)
  549.         *lexra.o        (.rodata)
  550.         //*memcfg.o       (.rodata)
  551.         *dsp3_config.o  (.rodata)
  552.         *bitop.o        (.rodata)
  553. /*        MIPS/title.o    (.rodata)*/
  554. #endif
  555.         .               = ALIGN(16);
  556.     } > rom
  557. .rom3 :
  558.     {
  559.         MIPS/title.o    (.rodata)
  560.         .               = ALIGN(16);
  561.     } > rom_title
  562. /*===========================================================================
  563. // SDRAM 3
  564. //===========================================================================*/
  565.     .ram_jpeg :
  566.     {
  567.         *jpegtest.o (.bss)
  568.         *jpegtest.o (COMMON)
  569. *mjpeg.o (.bss)
  570. *mjpeg.o (COMMON)
  571. //*mjpeg.o (.sbss)
  572. //*mjpeg.o (.scommon)
  573. /*
  574.         // These datas are moved to sdram_mp4 section
  575.         *mp4vid.o (.bss)
  576.         *mp4vid.o (COMMON)
  577.         *mp4vid.o (.sbss)
  578.         *mp4vid.o (.scommon)
  579. */
  580.         //*asfheader.o  (COMMON)
  581.         //*asfheader.o (.scommon)
  582.         //*asfdata.o    (.scommon)
  583.         .       = ALIGN(16);
  584.     } > sdram_jpeg
  585.     .drv_other :
  586.     {
  587.         _text_other = .;
  588. #ifdef  LOAD_OTHER
  589.         *       (.text*)
  590.         *       (.rodata)
  591. #endif
  592.         .       = ALIGN(16);
  593.     } > sdram_other
  594.     /*
  595.     ** .ramf
  596.     ** fast un-initialized variable storage.
  597.     **
  598.     */
  599.     .ramF :
  600.     {
  601.         MIPS/databuf.o  (.bss)
  602.         MIPS/databuf.o  (COMMON)
  603.         .       = ALIGN(16);
  604.     } > sdram_cs
  605.     /*
  606.     ** .ram2: un-initialized data
  607.     */
  608.     .ram2 :
  609.     {
  610.         _bstart     = .;
  611.         *       (.sbss)
  612.         *       (.scommon)
  613.         *       (.bss)
  614.         *       (COMMON)
  615.         .       = ALIGN(16);
  616.         _bend       = .;
  617.     } > sdram_cs
  618.     .rel :
  619.     {
  620.         *       (.rel.dyn)
  621.     } > garbage
  622.     _etext = ADDR(.rom1) + SIZEOF(.rom1) + SIZEOF(.rom2);  /* end of ROM image */
  623.     _stextf = _etext + SIZEOF(.ram1);
  624.     _tt_gb_size = SIZEOF(.ram1) + SIZEOF(.ram2) + SIZEOF(.ramF);
  625.     .udf_buf :
  626.     {
  627.         _udf_work_buf = .;
  628.         . += K(UDF_WORK_BUF_SIZE);
  629.         _udf_work_buf_end = .;
  630.     } > sdram_udfbuf
  631. #if !defined( SDRAM_16Mb_Mode ) || !defined( SUPPORT_FILE_SYSTEM_MODE ) // 2004/06/12 yltseng
  632.     #if !defined(FAT_FILE_MODE)&&!defined(FILE_MODE_WRITE)//liweihua 2004-10-20 17:25//sunzhh 2004-12-30
  633.     _fs9660_buf     = TO080(FS9660YA);
  634. #endif
  635. #endif
  636. #ifdef USE_NAV_BUF
  637.     wb_buf          = TO080(N_NAVYA);
  638. #endif
  639. #ifndef SDRAM_16Mb_Mode
  640.     decomp_fnTable  = TO080(COMP_OSD_FONT);
  641.     osd_temp_buf    = TO080(OSD0_TEMP_YA);
  642. #endif
  643. /*===========================================================================
  644. // STACK
  645. //===========================================================================*/
  646.     /*
  647.     ** STACK location , 1.7K ,terry,2004/7/26 02:51PM
  648.     */    
  649.     _stkptr         = STK_PTR;
  650.     _stkptr_dbg     = STK_DBG_PTR;
  651.     _stkbtm         = STK_BTM_PTR;
  652.     _stkbtm_dbg     = STK_DBG_BTM_PTR;
  653. }
  654. MEMORY
  655. {
  656.     garbage   : org = 0x00000000, l = 1m
  657.     bootrom   : org = 0xbfc00000, l = 512k    /* Un-cached ROM boot       */
  658.     rom       : org = 0x88000000, l = 1024k   /* cached ROM image in ROM  */
  659. rom_title : org = 0x88000000+987*1024, l = 37k
  660.     /*
  661.     * reference memmap0b.txt
  662.     */
  663. #ifdef USE_C_IOP
  664.     sdram_drv_iop : org = 0x080400000, l = 64k                               /* 0000 */
  665.     sdram_iop_rst : org = 0x180400000, l = 64k                               /* 0000 */
  666. #else
  667.     sdram_drv_iop : org = 0x080000000, l = 2k                               /* 0000 */
  668.     sdram_iop_rst : org = 0x180000000, l = 2k                               /* 0000 */
  669. #endif
  670.     sdram_cs      : org = TO080(SDRAM_CS_ST), l = K(SDRAM_CS_SZ)    /* 0007 */
  671. //#ifdef SDRAM_16Mb_Mode
  672. //  #ifdef MEMCFG_MOVE_OSDSUP
  673. //     sdram_jpeg    : org = 0x080000000 + 87*1024,l =  8k /* AUDYA=85, 36-34=2, 85+2=87 */
  674. //  #else
  675. //    sdram_jpeg    : org = 0x080000000 +  102*1024,l =  8k
  676. //  #endif
  677. //#else
  678.     sdram_jpeg    : org = TO080(JPEG_CODE_YA), l = K(JPEG_CODE_SIZE)      /* 3422 */
  679. //#endif
  680.     sdram_flash   : org = TO180(100), l = 10k                    /* 0100 */
  681. //#ifdef SDRAM_16Mb_Mode
  682.     sdram_drv1    : org = TO080(DRV1N2_ST), l = K(DRV1_2_CODESIZE) /* PCM_YA=51 */
  683.     sdram_drv2    : org = TO180(DRV1N2_ST), l = K(DRV1_2_CODESIZE) /* PCM_YA=51 */
  684. //#else
  685. //    sdram_drv1    : org = 0x080000000+1024*DRV1N2_ST, l = 1024*DRV1_2_CODESIZE   /* 2530 */
  686. //    sdram_drv2    : org = 0x180000000+1024*DRV1N2_ST, l = 1024*DRV1_2_CODESIZE   /* 2530 */
  687. //#endif
  688.     sdram_ap2     : org = TO080(AP2N3_ST), l = K(AP2_CODESIZE)      /* 2566 */
  689.     sdram_ap3     : org = TO180(AP2N3_ST), l = K(AP3_CODESIZE)      /* 2566 */
  690.     sdram_ap1     : org = TO080(AP1_ST), l = K(AP_CODESIZE)         /* 2598 */
  691.     sdram_udfbuf  : org = TO080(A_UDF_WORK_BUF), l = K(UDF_WORK_BUF_SIZE)       /* 2744 */
  692. //#ifdef SDRAM_16Mb_Mode
  693.     sdram_srvdp   : org = TO080(A_SERVO_YA), l = K(SERVO_SIZE)      /* 2028 */
  694.     sdram_cdrom   : org = TO080(CDROM_CODE_YA), l = K(CDROM_CODE_SIZE)      /* 1968 */
  695.     sdram_dvd     : org = TO080(DVD_NAV_CODE), l =K(DVD_CODE_SIZE) /* 3770 */
  696. //#else
  697. //    sdram_srvdp   : org = TO080(A_SERVO_YA), l = K(SERVO_SIZE)                      /* 2744 */
  698. //    sdram_cdrom   : org = TO080(CDROM_CODE_YA), l = K(CDROM_CODE_SIZE)      /* 3430 */
  699. //    sdram_dvd     : org = TO080(DVD_NAV_CODE), l = K(DVD_CODE_SIZE)         /* 3770 */
  700. //#endif
  701.     sdram_mp4     : org = TO080(A_MP4_CODE_YA), l = K(MP4_CODE_SIZE)
  702.     sdram_wma     : org = TO080(A_WMA_CODE_YA), l = K(WMA_CODE_SIZE)
  703. #ifdef DVDRELEASE
  704.     #ifdef SDRAM_16Mb_Mode
  705.     sdram_free    : org = TO080(FREE_CODE_YA), l = K(FREE_CODESIZE+1)       /* 4022 */
  706.     #else
  707.     sdram_free    : org = TO080(FREE_CODE_YA), l = K(FREE_CODESIZE+2)       /* 4022 */
  708.     #endif
  709. #else
  710.     sdram_free    : org = TO080(FREE_CODE_YA), l = K(FREE_CODESIZE)       /* 4022 */
  711. #endif
  712.     sdram_other   : org = 0x180700000, l = 1024k                            /* 7168 */
  713. }
  714. ENTRY(__romstart)