memmap.h
来自「ESS3890+SL原代码(1*16内存)」· C头文件 代码 · 共 970 行 · 第 1/3 页
H
970 行
/* Copyright 1998, ESS Technology, Inc. *//* SCCSID @(#)memmap.h 4.29.1.3 02/23/05 *//* * $Log$ *//* adapted from max2,max3 in common.h */#define RNDUP4(x) ((((x) + 3) / 4) * 4)#define bigger(a,b) ((a)>(b)?(a):(b))#define biggest(a,b,c,d,e,f) bigger(bigger(bigger(a,b),bigger(c,d)), \ bigger(e,f))/* the start */#define OSD_start RNDUP4((VCD20STACK / 4))#define NPOSD_DRAM_START RNDUP4(OSD_start+OSD_AREA1_SIZE)#define INFO_VCD_start RNDUP4(OSD_end)#define VCD_ABV_start RNDUP4(INFO_VCD_end)#define VC_VBV_start RNDUP4(VCD_ABV_end)#define GAMMA_start RNDUP4(VC_VBV_end)#define KARASC_start RNDUP4(GAMMA_end) /* KARASC */#define DIGEST_OSD_start KARASC_start /* shared w/KARASC */#define KFREF_start KARASC_start #define KTMP_start RNDUP4(KFREF_end)#define KCOEF_start RNDUP4(KTMP_end)#define KHIST_start RNDUP4(KCOEF_end)#define KFCOEF_start RNDUP4(KHIST_end)#define KFHIST_start RNDUP4(KFCOEF_end)#define KBUF_start RNDUP4(KFHIST_end)#define DISP_start RNDUP4(KARASC_end)#define IS_start MP3_DRAM_start /* can be variable!! */#define QUA_start RNDUP4(IS_end)#define TAN1_start RNDUP4(QUA_end)#define TAN2_start RNDUP4(TAN1_end)#define CA_start RNDUP4(TAN2_end)#define CS_start RNDUP4(CA_end)#define FWIN_start RNDUP4(CS_end)#define FWIN1_start RNDUP4(FWIN_end)#define FWIN2_start RNDUP4(FWIN1_end)#define FWIN3_start RNDUP4(FWIN2_end)#define COS6_start RNDUP4(FWIN3_end)#define COS9_start RNDUP4(COS6_end)#define COS12_start RNDUP4(COS9_end)#define COS36_start RNDUP4(COS12_end)#define MAPBUF0_start RNDUP4(COS36_end)#define MAPBUF1_start RNDUP4(MAPBUF0_end)#define MAPBUF2_start RNDUP4(MAPBUF1_end)#define ISLEN_start RNDUP4(MAPBUF2_end)#define NSLEN_start RNDUP4(ISLEN_end)#define POW1_start RNDUP4(NSLEN_end)#define POW2_start RNDUP4(POW1_end)#define HUFFTAB_start RNDUP4(POW2_end)#define HUFFSUBLEN_start RNDUP4(HUFFTAB_end)#define MULT32_start RNDUP4(HUFFSUBLEN_end)#define SUBAND_start RNDUP4(MULT32_end)#define SAMPLE_start RNDUP4(SUBAND_end)#define SBUF_start RNDUP4(SAMPLE_end)#define PREVBLCK_start RNDUP4(SBUF_end)#define IS_POS_start RNDUP4(PREVBLCK_end)#define SIDE_INFO_start RNDUP4(IS_POS_end)#define SCALEFACS_start RNDUP4(SIDE_INFO_end)#define INDEX_start RNDUP4(SCALEFACS_end)#define SYNC_start RNDUP4(INDEX_end)#define HUFFCODETAB_start RNDUP4(SYNC_end)#define MP3_UCODE_start RNDUP4(HUFFCODETAB_end)#define MP3_globals_start RNDUP4(MP3_UCODE_end)#define MP3_CODE_start RNDUP4(MP3_globals_end)#define MP3_ABV_start RNDUP4(MP3_CODE_end)#define SHARE_start RNDUP4(DISP_end) /* SHARE */#ifdef VCDLC#define APP_SHARE_start RNDUP4(DISP_start + 38016)#else#define APP_SHARE_start SHARE_start#endif /* VCDLC */#define MIT_start APP_SHARE_start /* MIC_RECORD */#define REC_start MIT_end#define JPEG_code_start RNDUP4(JPEG_disp_end) /* JPEG */#define JPEG_data_start RNDUP4(JPEG_code_end)#define JPEG_globals_start RNDUP4(JPEG_data_end)#define WAV_start RNDUP4(JPEG_globals_end) /* AVI */#define AVI_ABV_start RNDUP4(WAV_end)#define GMBY_globals_start APP_SHARE_start /* GAME */#define GMBY_ROM_start RNDUP4(GMBY_globals_end)#ifdef VCDLC#define GMBY_RAM_start RNDUP4(GMBY_ROM_start + 32768 + 4)#else#define GMBY_RAM_start RNDUP4(GMBY_ROM_end)#endif /* VCDLC */#define GMBY_RGB_start RNDUP4(GMBY_RAM_end)#define GMBY_SGB_start RNDUP4(GMBY_RGB_end)#define GMBY_STACK_start RNDUP4(GMBY_SGB_end)#define GMBY_SNDDP_start RNDUP4(GMBY_STACK_end)#define GMBY_SNDSTK_start RNDUP4(GMBY_SNDDP_end)#define GMBY_Cycles_start RNDUP4(GMBY_SNDSTK_end)#define GMBY_CyclesCB_start RNDUP4(GMBY_Cycles_end)#define GMBY_GBtoZ80_start RNDUP4(GMBY_CyclesCB_end)#define GMBY_Z80toGB_start RNDUP4(GMBY_GBtoZ80_end)#define GMBY_HFlip_start RNDUP4(GMBY_Z80toGB_end)#define GMBY_DAATable_start RNDUP4(GMBY_HFlip_end)#define GMBY_IO_start RNDUP4(GMBY_DAATable_end)#define GMBY_RGBPAL_start RNDUP4(GMBY_IO_end)#define GMBY_YUVPAL_start RNDUP4(GMBY_RGBPAL_end)#define GMBY_GBL_start RNDUP4(GMBY_YUVPAL_end)#define GMBY_CODE_start RNDUP4(GMBY_GBL_end)#define INES_ROM_start GMBY_ROM_start#define INES_RAM_start GMBY_RAM_start#define INES_STACK_start GMBY_STACK_start#define INES_RConv_start GMBY_Cycles_start#define INES_ZNTable_start GMBY_CyclesCB_start#define INES_Conv_start GMBY_GBtoZ80_start#define INES_SRAM_start GMBY_Z80toGB_start#define INES_Sprites_start GMBY_HFlip_start#define INES_SNDLength_start GMBY_IO_start#define INES_Palette_start GMBY_DAATable_start#if defined(VGB) || defined(VGB_CD)#define VGB_ROM_start GMBY_ROM_start#define VGB_RAM_start GMBY_RAM_start#define VGB_RGB_start GMBY_RGB_start#define VGB_SGB_start GMBY_SGB_start#define VGB_STACK_start GMBY_STACK_start#define VGB_Cycles_start GMBY_Cycles_start#define VGB_CyclesCB_start GMBY_CyclesCB_start#define VGB_GBtoZ80_start GMBY_GBtoZ80_start#define VGB_Z80toGB_start GMBY_Z80toGB_start#define VGB_HFlip_start GMBY_HFlip_start#define VGB_DAATable_start GMBY_CODE_end#define VGB_IO_start GMBY_IO_start#define VGB_SNDSTK_start GMBY_SNDSTK_start#endif#define CDT_MEM_start APP_SHARE_start /* CDTEXT*/#define CDT_STACK_start RNDUP4(CDT_MEM_start)#define CDT_STRMEM_start RNDUP4(CDT_STACK_end)#define CDT_DISPMEM_start RNDUP4(CDT_STRMEM_end)#define CDT_RAWDATA_start RNDUP4(CDT_MEM_end)#define CDT_IRQBUF_start RNDUP4(CDT_RAWDATA_end) #ifdef VCDLC#define DEMUX_ROM_start RNDUP4(DISP_start)#define CDG_MEM_start RNDUP4(DEMUX_ROM_end)#else#define CDG_MEM_start (ISO_end - CDG_share_size)#define MP3CDG_ABV_start SHARE_start#define MP3CDG_VBV_start RNDUP4(MP3CDG_ABV_end + 200)#define MP3CDG_MEM_start RNDUP4(SHARE_end - CDG_share_size)#define MP3CDG_DISPMEM_start RNDUP4(MP3CDG_MEM_start) /* CDG */#define MP3CDG_STACK_start RNDUP4(MP3CDG_DISPMEM_end)#define MP3CDG_YUV_start RNDUP4(MP3CDG_STACK_end)#define MP3CDG_BLK_start RNDUP4(MP3CDG_YUV_end)#endif#define CDG_DISPMEM_start RNDUP4(CDG_MEM_start) /* CDG */#define CDG_STACK_start RNDUP4(CDG_DISPMEM_end)#define CDG_YUV_start RNDUP4(CDG_STACK_end)#define CDG_BLK_start RNDUP4(CDG_YUV_end)#define WMA_DATA_start (DISP_start + 38016) /* WMA after I-frame */#define WMA_globals_start RNDUP4(WMA_DATA_end)#define WMA_TBL_start RNDUP4(WMA_globals_end)#define WMA_CODE_start RNDUP4(WMA_TBL_end)#define WMA_HEAP_start RNDUP4(WMA_CODE_end)#define WMA_ABV_start RNDUP4(WMA_HEAP_end)#define AS_ABV_start APP_SHARE_start /* ANTI_SHOCK */#define PCM_volume_start AS_ABV_end#define VC_ISO_start RNDUP4(SHARE_end)#define AUDIO_start RNDUP4(VC_ISO_end)#define EMPH_SAVE_start RNDUP4(AUDIO_start)#define EMPH_BP_start RNDUP4(EMPH_SAVE_end)#ifdef MP3#define Wj_start RNDUP4(AUDIO_start)#define csf0_start RNDUP4(Wj_end)#define csf1_start RNDUP4(csf0_end)#define Ueven_start RNDUP4(csf1_end)#define Uodd_start RNDUP4(Ueven_end)#define v48_start RNDUP4(Uodd_end)#else#define Wj_start AUDIO_start#define csf0_start Wj_start + 256#define csf1_start csf0_start + 192#define Ueven_start csf1_start + 64#define Uodd_start Ueven_start + 256#define v48_start Uodd_start + 224#define audio_end v48_start + 36#endif#define LC_VBV_start RNDUP4(AUDIO_end)#if 1#define LC_ISO_start RNDUP4(GMBY_CODE_end) /* shared w/VBV */#else#define LC_ISO_start RNDUP4(LC_VBV_start+2048) /* shared w/VBV */#endif#define UCODE_start RNDUP4(LC_VBV_end)#define UCODE0_start UCODE_start#define UCODE1_start RNDUP4(UCODE0_end)#define ECHO_SAVE_start RNDUP4(UCODE_end)#define MIC_start RNDUP4(ECHO_SAVE_end)#define MIX_start RNDUP4(MIC_end)#define RBUF_start RNDUP4(MIX_end)#define RPRA_start RNDUP4(RBUF_END)#define RHIS_start RNDUP4(RPRA_end)#define DAE_start RNDUP4(RHIS_end)#define DIFF_start RNDUP4(DAE_end)#define BP_start RNDUP4(DIFF_end)#define ECOEF_A_start RNDUP4(BP_end)#define ECOEF_BC_start RNDUP4(ECOEF_A_end)#define EGAIN_start RNDUP4(ECOEF_BC_end)#define E20LOG_start RNDUP4(EGAIN_end)#define EHIST_start RNDUP4(E20LOG_end)#define EMAXVOL_start RNDUP4(EHIST_end)#define QUANT_start RNDUP4(EMAXVOL_end)#define PCM_start RNDUP4(QUANT_end)#define BANK5_start RNDUP4(PCM_end)#define CHROMA_start RNDUP4(BANK5_end)#define PCM_zero_start RNDUP4(CHROMA_end)#define CODE_start RNDUP4(PCM_zero_end)#ifdef SCR_SAVER#ifdef C256#define SCRSAVER_size 16384 /* (256*256)/4 == 16384 */#else#define SCRSAVER_size 8192 /* (256*256)/8 == 8192 */#endif#else#define SCRSAVER_size 0#endif#define SCRSAVER_start SHARE_start#define SCRSAVER_end (SCRSAVER_start + SCRSAVER_size)/* the size */#ifdef TWO_FIELDS_OSD#define OP_OSD_LENGTH (27440)#define OP_OSD_START OSD_start#define OP_OSD_END (OP_OSD_START + OP_OSD_LENGTH)#define CHARFONT_start RNDUP4(OP_OSD_END)#define CHARFONT_size 1152#define OSD_size (OP_OSD_LENGTH + CHARFONT_size) #else#define OSD_size 1920 /* 4 lines */#endif /* TWO_FIELDS_OSD */#ifdef VCDLC#define INFO_VCD_size 656#else/* Increase INFO_VCD_size by 52 DW to record mux_rate for all tracks */#define INFO_VCD_size (656 + 52)#endif #ifdef MPEG1#define ADAM 128#ifdef VCDLC/* For LC code, Display,Audio and VBV memory needs to be grouped together * for Game memory reconfiguration..keep "VCD_VBV_.." for high level code. */#define VC_VBV_size 0#define LC_VBV_size (47 * 8 * ADAM / 4)#define VCD_VBV_size LC_VBV_size#define VCD_VBV_start LC_VBV_start#define VCD_VBV_end LC_VBV_end#define VCD_ABV_size (11 * ADAM)#else/* For full-feature code, VBV needs to be after ABV, since ANTI_SHOCK * needs to use VBV for extra ABV space. */#define VC_VBV_size (85 * 8 * ADAM / 4)#define LC_VBV_size 0#define VCD_VBV_size VC_VBV_size #define VCD_VBV_start VC_VBV_start#define VCD_VBV_end VC_VBV_end#define VCD_ABV_size (20 * ADAM)#endif /* VCDLC */#ifdef ABNORMAL_VCD#define ABNORMAL_ABV_size 8064#define ABNORMAL_VBV 69120#else#define ABNORMAL_ABV_size 0#define ABNORMAL_VBV 0#endif /* ABNORMAL_VCD */#ifdef ANTI_SHOCK#define AS_VCD_ABV_size 43008 /* (336*128) */#define AS_VCD_VBV_size 215552 /* (842*256) */#endif /* ANTI_SHOCK */#endif /* MPEG1 */#ifdef LESS_DISP_MEM#define DISP_size (104544 - 198 - 594)#else#define DISP_size (104544 - 198)#endif /* LESS_DISP_MEM */#ifdef FLESHTONE#define GAMMA_size 128#else#define GAMMA_size 0#endif#ifdef VCDLC#define SHARE_size 0 /* No SHARE for LC */#else/* worst case determines the SHARE size */#define SHARE_size biggest(JPEG_share_size,GMBY_share_size,\
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?