⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memmap.h

📁 代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考
💻 H
字号:
#ifndef __MEMMAP_H
#define __MEMMAP_H
#include "global.h"

//See MAP in memory.map

#if   CONFIG==CONFIG_COMBO_SVCD
    #ifdef SUPPORT_CD_MOVE
        #include "m16cmv.h"//SDRAM 16Mb CD_MOVE/Compress
    #else       
        #if defined(SUPPORT_8Mx1_SDRAM)
            #include "m64ncmv.h"//SDRAM 64Mb NO CD_MOVE/Compress Module
        #elif defined(SUPPORT_2Mx2_SDRAM)
            //#include "m32ncmv.h"//SDRAM 32Mb NO CD_MOVE/Compress Module,no used now
        #else   
            #ifdef SUPPORT_DISCMAN
                #include "m16ncmv_br.h"//for 716 16MB use only//SDRAM NO CD_MOVE,B frame right,LOGO use VCD config/Compress Module
            #else   
                #ifdef SUPPORT_B_FRAME_RIGHT
					#include "m16ncmv_br.h"//SDRAM 16Mb NO CD_MOVE/Compress Module//B right                
                #else
                	#include "m16ncmv.h"//SDRAM 16Mb NO CD_MOVE/Compress Module
                #endif
        #endif
    #endif  
        
    #endif  
#else
    #include "m256.h"//EDO 256*16//Compress EDO only
#endif

#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//#if 0//
/*****************************************/
#if   CONFIG==CONFIG_COMBO_SVCD
    #define SDRAM_BASE_CACHED   0x88000000
    #define SDRAM_BASE_UNCACHED 0xa8000000
#elif   CONFIG==CONFIG_COMBO_VCD
    #define SDRAM_BASE_CACHED   0x88000000
    #define SDRAM_BASE_UNCACHED 0xa8000000
#else
    #define SDRAM_BASE_CACHED   0x40000000
    #define SDRAM_BASE_UNCACHED 0xa0000000
#endif
/*****************************************/

#ifdef  TESTCHIP
    #define SDRAM_BASE      SDRAM_BASE_UNCACHED
#else
    #define SDRAM_BASE      SDRAM_BASE_CACHED
#endif

#if CONFIG==CONFIG_COMBO_VCD
    #define CVCD_MP3_OFFSET (20+45)
#endif

/*
**  SYSTEM BUFFER
*/
/***********************************************************/
#if CONFIG==CONFIG_COMBO_SVCD
    #ifdef SUPPORT_CD_MOVE
                //#define SECT_CACHE_START    ((cd_type_loaded==CDROM) ? 1970 : 2030) //JJDing
        #ifdef SUPPORT_STORE_PSD_TBL
            #ifdef SUPPORT_ESP
                #define VCD_CACHE_START    (1704)   //??
            #else
                #define VCD_CACHE_START    (640)
            #endif
        #else
            #define VCD_CACHE_START    (2033)
        #endif

        #define CDROM_CACHE_START  (1955)
    #else
                //#define SECT_CACHE_START    ((cd_type_loaded==CDROM) ? 2012 : 2030) //JJDing
        #define VCD_CACHE_START    (2033)   //jhuang modify 2002/10/19 (2030)
        #define CDROM_CACHE_START  (2012)
    #endif //#ifdef SUPPORT_CD_MOVE

    #define SECT_INFO           (2037)
    #define SECT_ENTRIES        (2039)
    #define DISC_INFO_Y         (2041)
    #define PIC_INFO_Y          (2041)
    #define PIC_INFO_X          (512)
    #define DMARAM_BUF_Y        (2042)
    #define QUANT_BUF_Y         (2043)

    #ifdef SUPPORT_STORE_PSD_TBL
        #ifdef SUPPORT_ESP
            #define PSD_TBL_ADR         1712    //store 4k PSD table
        #else
            #define PSD_TBL_ADR         (VCD_CACHE_START+9) //(VCD_CACHE_START+8) //store 4k PSD table
        #endif
    #endif /*SUPPORT_STORE_PSD_TBL */
#else
    #define SECT_INFO          (2)
    #define SECT_ENTRIES       (4)
    #define QUANT_BUF_Y        (5)
    #define DMARAM_BUF_Y       (5)
    #define VCD_CACHE_START    (8)
    #define CDROM_CACHE_START  (8)
#endif

#define DMARAM_BUF_XS       256
/***********************************************************/

/*
**  CACHE LINE
*/
/******************************************************/
#define MP3SECT_CACHE_LINES 9
#define SECT_CACHE_LINES    1
/******************************************************/

/*
**  BUFFER LINE WIDTH
*/
/*************************************************************/
#define VBV_W       1024                /* VIDEO buf width  */
#define ABV_W       1024                /* AUDIO buf width  */
#define SBV_W       1024                /* SUP buf width    */
#define OBV_W       1024                /* OSD buf width    */
#define CBV_W       1024                /* DISC input buf width */

#define MP3_ABV_W 1024
/*************************************************************/
/*
** anchors
*/
/***********************************************/
#define MEM_EVBYA       (regs0->evbya)
#define MEM_EABYA       (regs0->eabya)
#define MEM_SUPYA       (regs0->supya)
#define MEM_CDYA        (regs0->cdya)
#define MEM_OSDYA       (regs0->osdya)
#define MEM_AUDYA       (regs0->audya)
#define MEM_IOPYA       (regs0->iopya)
#define MEM_REF0_LUMA   (regs0->ref0_luma)
/***********************************************/

/*
**  COMBO VCD FRAME BUFFER COMPRESS
*/
/*********************************/
#define     RF_VC_I_811     (1<<8)
#define     RF_VC_P_811     (1<<7)
#define     RF_VC_B_811     (1<<6)
#define     RF_VC_I_411     (0<<8)
#define     RF_VC_P_411     (0<<7)
#define     RF_VC_B_411     (0<<6)
#define     RF_VC_I_888     (0<<4)
#define     RF_VC_I_766     (1<<4)
#define     RF_VC_I_666     (2<<4)
#define     RF_VC_I_8655    (3<<4)
#define     RF_VC_P_888     (0<<2)
#define     RF_VC_P_766     (1<<2)
#define     RF_VC_P_666     (2<<2)
#define     RF_VC_P_8655    (3<<2)
#define     RF_VC_B_888     (0<<0)
#define     RF_VC_B_766     (1<<0)
#define     RF_VC_B_666     (2<<0)
#define     RF_VC_B_8655    (3<<0)

#define     MEM_411888      0x00
#define     MEM_411766      0x01
#define     MEM_411666      (0x02|1<<9)
#define     MEM_4118655     0x03
#define     MEM_811888      RF_VC_B_811
#define     MEM_811766      0x41
#define     MEM_811666      0x42
#define     MEM_8118655     0x43
/**************************************/

/*
**  VCD/SVCD FRAME BUFFER CONFIG
*/
/********************************************************************/
#if CONFIG==CONFIG_COMBO_SVCD
    #ifdef SUPPORT_CD_MOVE
        #define VIDEO_COMPRESS          0
        /***********CD_MOVE Play SVCD in SDRAM************/
        //JJDing 2002/10/14
        #define MEM_REF0_LUMA_DEF       0
        #define MEM_REF0_CHROMA_DEF     576
        #define MEM_REF1_LUMA_DEF       576+288
        #define MEM_REF1_CHROMA_DEF     576+288+576
        #define MEM_BIDIR_LUMA_DEF      0
        #define MEM_BIDIR_CHROMA_DEF    576+576

        #define MEM_EVBYA_DEF           1728

        #ifdef SUPPORT_AUD_MOVE
            #define MEM_EABYA_DEF           1900
            #define MEM_CDDA_EABYA_DEF      1890
        #else
            #define MEM_EABYA_DEF           1890
        #endif /* SUPPORT_AUD_MOVE */

        #define MEM_SUPYA_DEF           1900
        #define MEM_AUDMOVE_EABYA_DEF   1664    //only needed in AUDMOVE

        #ifdef SUPPORT_ESP
            #define MEM_CDMOVE_CDYA_DEF     150 //only needed in CDMOVE
        #else   /* NOT SUPPORT_ESP */
            #define MEM_CDMOVE_CDYA_DEF     640 //only needed in CDMOVE
        #endif /* SUPPORT_ESP */

        #define MEM_CDYA_DEF            1929    //1932//enhance echo
        #define MEM_OSDYA_DEF           1929    //1932//enhance echo
        #define MEM_AUDYA_DEF           1945    //1948//enhance echo
        #define MEM_RODATA_DEF          1973    //fixed for reference tag
        #define MEM_SERVO_DEF           2015
        #define MEM_IOPYA_DEF           2035    //2032
                /**************************************************/
                /***********CD_MOVE Play VCD in SDRAM**************/
        #define MEM_VCD_REF0_LUMA_DEF       0
        #define MEM_VCD_REF0_CHROMA_DEF     288
        #define MEM_VCD_REF1_LUMA_DEF       288+144
        #define MEM_VCD_REF1_CHROMA_DEF     288+144+288
        #define MEM_VCD_BIDIR_LUMA_DEF      864
        #define MEM_VCD_BIDIR_CHROMA_DEF    864+288
        #define MEM_VCD_EVBYA_DEF           1856
        #define MEM_VCD_EABYA_DEF           1902
        #define MEM_VCD_SUPYA_DEF           1912
        #define MEM_VCD_FUDU_DEF            1922    //1923//enhance echo

        #ifdef SUPPORT_ESP                          //kevinlu 2002.08.14 for esp
            #define MEM_CDMOVE_VCD_CDYA_DEF     1704    //only needed in CDMOVE
        #else
            #define MEM_CDMOVE_VCD_CDYA_DEF     640 //only needed in CDMOVE
        #endif

        #define MEM_VCD_CDYA_DEF            1929    //1932//enhance echo
        #define MEM_VCD_OSDYA_DEF           1929    //1932//enhance echo
        #define MEM_VCD_AUDYA_DEF           1945    //1948//enhance echo
        #define MEM_VCD_RODATA_DEF          1973    //fixed for reference tag
        #define MEM_VCD_SERVO_DEF           2015    //fixed for reference tag
        #define MEM_VCD_IOPYA_DEF           2035
                /****************************************************/
    #else   //#ifdef SUPPORT_CD_MOVE
        #define VIDEO_COMPRESS          0
                /***********NO NO NO CD_MOVE Play SVCD in SDRAM************/
        #define MEM_REF0_LUMA_DEF       0
        #define MEM_REF0_CHROMA_DEF     576
        #define MEM_REF1_LUMA_DEF       576+288
        #define MEM_REF1_CHROMA_DEF     576+288+576


        #define MEM_BIDIR_LUMA_DEF      0
        #define MEM_BIDIR_CHROMA_DEF    576+576

        #define MEM_EVBYA_DEF           1728    //extend video buffer to show hires
        #define MEM_EABYA_DEF           1900
        #define MEM_SUPYA_DEF           1910
        #define MEM_AUDMOVE_EABYA_DEF   1664    //only needed in AUDMOVE
        #define MEM_CDMOVE_CDYA_DEF     640
        #define MEM_CDYA_DEF            1956
        #define MEM_OSDYA_DEF           1986
        #define MEM_AUDYA_DEF           2003
        #define MEM_IOPYA_DEF           (2035)  //jhuang modify 2002/10/19 2032
                /*********************************************************/
                /***********NO NO NO CD_MOVE Play VCD in SDRAM************/
        #define MEM_VCD_REF0_LUMA_DEF       0
        #define MEM_VCD_REF0_CHROMA_DEF     288
        #define MEM_VCD_REF1_LUMA_DEF       288+144
        #define MEM_VCD_REF1_CHROMA_DEF     288+144+288
        #define MEM_VCD_BIDIR_LUMA_DEF      864
        #define MEM_VCD_BIDIR_CHROMA_DEF    864+288
        #define MEM_VCD_EVBYA_DEF           1856
        #define MEM_VCD_EABYA_DEF           1902
        #define MEM_VCD_SUPYA_DEF           1912
        #define MEM_CDMOVE_VCD_CDYA_DEF      640    //only needed in CDMOVE
        #define MEM_VCD_CDYA_DEF            1946
        #define MEM_VCD_OSDYA_DEF           1986
        #define MEM_VCD_AUDYA_DEF           2003
        #define MEM_VCD_IOPYA_DEF           (2035)  //jhuang modify 2002/10/19 2032//2032
                /*******************************************************/
                //JJDing
                //#define MEM_EVBYA_DEF           1728//extend video buffer to show hires
                //#define MEM_EABYA_DEF           1900
                //#define MEM_SUPYA_DEF           1910
                //#define MEM_CDMOVE_CDYA_DEF     400 //only needed in CDMOVE
                //#define MEM_CDYA_DEF            1956
                //#define MEM_OSDYA_DEF           1986
                //#define MEM_AUDYA_DEF           2003//jhuang//2002
                //#define MEM_IOPYA_DEF           2032//jhuang//2030
    #endif //#ifdef SUPPORT_CD_MOVE
#else   /* VCD */
    #define VIDEO_COMPRESS  MEM_411666
    #define MEM_IOPYA_DEF       (VCD_CACHE_START-2)
    #define MEM_AUDYA_DEF       10
    #define MEM_OSDYA_DEF       35  //37       rbhung 2002.09.27 For "

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -