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

📄 memmap0b.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 2 页
字号:
//====================================================================================
// memmap0b.h
// 8200 (before) 32M memory mapping
// Creator  : Potatooo
// Maintain : Jeff (720) / Terry (8200)
// -----------------------------------------------------------------------------------
// Revision History   
//          2003.02.12   re-order all memory addr. for 
//                       a.easy to chk in stack overflow
//                       b.let a little difference between 16MBits and 32MBits 
//          2003.02.17   correct nes game/cd+g/servo buffer
//          2003.03.05   a.add de-interlace and slow backward
//                       b.move memory map to memmap0b.txt
//====================================================================================

#include "user_init.h"

#ifdef SPHE1000
#include "memmap_1000.h"
#else

#ifdef SUPPORT_MIDI     // 2005/01/04 yltseng
#include "memmap_dsp3.h"
#endif
/*====================================================================================
** Decode mode memory config
**====================================================================================*/
#define P_VIDEO_COMPRESS        (RF_COMPRESS_888 \
                                |RF_COMPRESS_DITHER_OFF \
                                |RF_COMPRESS_CHROMA_FULL)
#define	GN_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)
#define	GP_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)
#define	GS_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)

/*====================================================================================
** task stack Allocation 
**====================================================================================*/
#define MAIN_TASK_SIZE          1           // about 1.7k,terry,2004/7/26 02:52PM
#define A_MAIN_TASK_TOP         1           // from 1.3k
#define A_MAIN_TASK_BOM         3           // to end of 2k
#define DBG_STACK_SIZE          2

#if defined(SDRAM_64Mb_Mode) || defined(SUPPORT_MIDI2)  // 2004/12/22 yltseng
#define A_DBG_TASK_BOM          8192            // end of 8192k (8M)
#else
#define A_DBG_TASK_BOM          4096            // end of 4096k (4M)
#endif
#define A_DBG_TASK_TOP          (A_DBG_TASK_BOM-DBG_STACK_SIZE)

/*====================================================================================
** Memory Allocation Start
**====================================================================================*/
#define MEM_START		0

#ifdef SUPPORT_MIDI
#define MIDI_ST         4096
#endif

#ifdef SUPPORT_PLAY_SWD 
#define SWD_YA          4096
#define SWD_SIZE        4094
#endif

//----------------------
//first segment
//----------------------
// 2004/12/16 yltseng
#ifdef ENLARGE_SDRAM_CS_AND_OSD_SIZE
    #define SDRAM_CS_SZ         (29+10)
    #define OSDSIZE         (131+10)
#else
    #define SDRAM_CS_SZ         29
    #define OSDSIZE         131
#endif

#define CDSIZE                  4
#define SSAVER_PIC_SIZE         31

#ifdef  USE_C_IOP//terry,2003/12/30 03:03PM
    #define IOP_SIZE            64
    #define A_IOPYA             (MEM_START + 1024*4)
    #define A_CDYA              (MEM_START + 3)   // 3
#else
    #define IOP_SIZE            2
    #define A_IOPYA             (MEM_START + 0)
    #define A_CDYA              (A_IOPYA + IOP_SIZE + MAIN_TASK_SIZE)   // 3
#endif

#define SDRAM_CS_ST		        (A_CDYA+CDSIZE)
#define A_OSDYA                 (SDRAM_CS_ST + SDRAM_CS_SZ)
#define SSAVER_YA               (A_OSDYA + OSDSIZE - SSAVER_PIC_SIZE - 1)
#define TEMPYA                  (SSAVER_YA)

#ifdef OSD_BMP_DISPLAY
    #define OSD0_TEMP_YA        (A_OSDYA + OSDSIZE - 12)
#else
    #define OSD0_TEMP_YA        (A_OSDYA + OSDSIZE - 9)
#endif

#define SEG1_END                (A_OSDYA + OSDSIZE)                     // A_OSDYA+OSDSIZE
#define VFBMA			        SEG1_END

//--------------------------
//second segment (DVD/VCD/CD)
//--------------------------
#define N_LUMA_SIZE             338             // NTSC D1 luma size 
#define N_CHROMA_SIZE           169             // NTSC D1 chroma size 
#define B_LUMA_SIZE             248             // PAL D1 B666 luma size 22MB 
#define B_CHROMA_SIZE           203             // PAL D1 B666 chroma size full-map 
#define M_LUMA_SIZE             270             // PAL 2/3D1 luma size 
#define M_CHROMA_SIZE           135             // PAL 2/3D1 chroma size 
#define D_LUMA_SIZE             99              // MIDI (352x288) luma size
#define D_CHROMA_SIZE           50              // MIDI (352x288) chroma size

#define LUMA_SIZE               405             // PAL D1 luma size 
#define CHROMA_SIZE             203             // PAL D1 chroma size 

// PAL D1 (576l)
#define	P_REF0_LUMA             (VFBMA + 0)					
#define	P_REF0_LUMA_END         (P_REF0_LUMA + LUMA_SIZE - 1)

#define	P_REF0_CHROMA           (P_REF0_LUMA_END + 1)
#define	P_REF0_CHROMA_END       (P_REF0_CHROMA + CHROMA_SIZE - 1)
#define	P_REF1_LUMA             (P_REF0_CHROMA_END + 1)
#define	P_REF1_LUMA_END         (P_REF1_LUMA + LUMA_SIZE - 1)
#define P_REF1_CHROMA           (P_REF1_LUMA_END + 1)
#define	P_REF1_CHROMA_END       (P_REF1_CHROMA + CHROMA_SIZE - 1)

#define P_BIDIR_LUMA            (P_REF1_CHROMA_END + 1)
#define P_BIDIR_LUMA_END        (P_BIDIR_LUMA + LUMA_SIZE - 1)
#define P_BIDIR_CHROMA          (P_BIDIR_LUMA_END + 1)
#define P_BIDIR_CHROMA_END      (P_BIDIR_CHROMA + CHROMA_SIZE - 1)
#define P_EVBYA                 (P_BIDIR_CHROMA_END + 1)
#define P_EVBSZ                 (235+6)//NONO 4-4-5 22:48 ADD 6K

#define SEG2_END	        (P_EVBYA + P_EVBSZ)

#define ASVU_BUF1               (P_REF1_LUMA)
#define ASVU_BUF1_SIZE          (1216)
#define ASVU_BUF1_END           (ASVU_BUF1 + ASVU_BUF1_SIZE - 1)


// MIDI (352x288)
#define	D_REF0_LUMA             (VFBMA + 0)					
#define	D_REF0_LUMA_END         (D_REF0_LUMA + D_LUMA_SIZE - 1)

#define	D_REF0_CHROMA           (D_REF0_LUMA_END + 1)
#define	D_REF0_CHROMA_END       (D_REF0_CHROMA + D_CHROMA_SIZE - 1)
#define	D_REF1_LUMA             (D_REF0_CHROMA_END + 1)
#define	D_REF1_LUMA_END         (D_REF1_LUMA + D_LUMA_SIZE - 1)
#define D_REF1_CHROMA           (D_REF1_LUMA_END + 1)
#define	D_REF1_CHROMA_END       (D_REF1_CHROMA + D_CHROMA_SIZE - 1)

#define D_BIDIR_LUMA            (D_REF1_CHROMA_END + 1)
#define D_BIDIR_LUMA_END        (D_BIDIR_LUMA + D_LUMA_SIZE - 1)
#define D_BIDIR_CHROMA          (D_BIDIR_LUMA_END + 1)
#define D_BIDIR_CHROMA_END      (D_BIDIR_CHROMA + D_CHROMA_SIZE - 1)
#define D_EVBYA                 (D_BIDIR_CHROMA_END + 1)
#define D_EVBSZ                 (235 + 300*3 +6)//NONO 4-4-5 22:48 ADD 6K


// NTSC D1 (no preview mode)
#define	N_REF0_LUMA             (VFBMA + 0)					
#define	N_REF0_LUMA_END         (N_REF0_LUMA + N_LUMA_SIZE - 1)
#define	N_REF0_CHROMA           (N_REF0_LUMA_END + 1)
#define	N_REF0_CHROMA_END       (N_REF0_CHROMA + N_CHROMA_SIZE - 1)
#define	N_REF1_LUMA             (N_REF0_CHROMA_END + 1)
#define	N_REF1_LUMA_END         (N_REF1_LUMA + N_LUMA_SIZE - 1)
#define N_REF1_CHROMA           (N_REF1_LUMA_END + 1)
#define	N_REF1_CHROMA_END       (N_REF1_CHROMA + N_CHROMA_SIZE - 1)
#define N_BIDIR_LUMA            (N_REF1_CHROMA_END + 1)
#define N_BIDIR_LUMA_END        (N_BIDIR_LUMA + N_LUMA_SIZE - 1)
#define N_BIDIR_CHROMA          (N_BIDIR_LUMA_END + 1)
#define N_BIDIR_CHROMA_END      (N_BIDIR_CHROMA + N_CHROMA_SIZE - 1)

#define N_EVBYA                 (N_BIDIR_CHROMA_END + 1)
#define N_EVBSZ                 (235 + 6)///NONO 4-4-5 22:48 ADD 6K



// PAL 2/3 D1 (with preview mode)
#define	M_REF0_LUMA             (VFBMA + 0)					
#define	M_REF0_LUMA_END         (M_REF0_LUMA + M_LUMA_SIZE - 1)
#define	M_REF0_CHROMA           (M_REF0_LUMA_END + 1)
#define	M_REF0_CHROMA_END       (M_REF0_CHROMA + M_CHROMA_SIZE - 1)
#define	M_REF1_LUMA             (M_REF0_CHROMA_END + 1)
#define	M_REF1_LUMA_END         (M_REF1_LUMA + M_LUMA_SIZE - 1)
#define M_REF1_CHROMA           (M_REF1_LUMA_END + 1)
#define	M_REF1_CHROMA_END       (M_REF1_CHROMA + M_CHROMA_SIZE - 1)
#define M_BIDIR_LUMA            (M_REF1_CHROMA_END + 1)
#define M_BIDIR_LUMA_END        (M_BIDIR_LUMA + LUMA_SIZE - 1)
#define M_BIDIR_CHROMA          (M_BIDIR_LUMA_END + 1)
#define M_BIDIR_CHROMA_END      (M_BIDIR_CHROMA + CHROMA_SIZE - 1)

#define M_EVBYA                 (M_BIDIR_CHROMA_END + 1)
#define M_EVBSZ                 (235 + 6)//NONO 4-4-5 22:48 ADD 6K


//second segment (JPEG)
//using pal: 720x576 ,block mode
#define GP_LUMA_SIZE            414
#define GP_CHROMA_SIZE          207

#define	GP_REF0_LUMA            (VFBMA + 0)
#define	GP_REF0_CHROMA          (GP_REF0_LUMA + GP_LUMA_SIZE) 

//#define	GP_REF1_LUMA	        (GP_REF0_CHROMA + GP_CHROMA_SIZE)   
//#define	GP_REF1_CHROMA          (GP_REF1_LUMA + GP_LUMA_SIZE) 
//#define	GP_END		        (GP_REF1_CHROMA + GP_CHROMA_SIZE)


#define	GN_REF0_LUMA            GP_REF0_LUMA
//#define	GN_REF1_LUMA	        GP_REF1_LUMA
#define	GN_REF0_CHROMA	        GP_REF0_CHROMA
//#define	GN_REF1_CHROMA          GP_REF1_CHROMA
//#define	GN_END		        GP_END


// 3rd segment (MP3 GUI)
//small: 352x288,block mode
#define GS_LUMA_SIZE            99
#define GS_CHROMA_SIZE          50
#define	GS_REF0_LUMA            (VFBMA + 0)
#define	GS_REF1_LUMA            (GS_REF0_LUMA)
#define	GS_REF0_CHROMA	        (GS_REF0_LUMA + GS_LUMA_SIZE)
#define	GS_REF1_CHROMA          (GS_REF1_LUMA + GS_LUMA_SIZE)
#define	GS_END		        (GS_REF1_CHROMA + GS_CHROMA_SIZE)
#define A_UDF_WORK_BUF          (GS_END)
#define UDF_WORK_BUF_SIZE       (40)


// 3rd segment (Game , RGB color index)
//small: 256*240 ,linear mode
#define GG_REF0_FRAME           (VFBMA + 0)
#define GG_REF1_FRAME           (VFBMA + 70)
#define GG_REF1_FRAME_END       (GG_REF1_FRAME + 70)
#define GAME_OSD_FRAME_START    (GG_REF0_FRAME)
#define GAME_PARAMETER_START    (GG_REF1_FRAME_END)

//#define GG_REF0_FRAME         (1600)
//#define GG_REF1_FRAME         (1600+70)
//#define GG_REF1_FRAME_END     (1600+70*2)
//#define GAME_OSD_FRAME_START  GG_REF0_FRAME
//#define GAME_PARAMETER_START  (VFBMA+70*2)

#define GAME_PARAMETER_SIZE     (1)

#define MAX_GAME_BUF            (100)         //driver size
#define GAMEYA                  (GAME_PARAMETER_START + GAME_PARAMETER_SIZE + 100)	//100K for work space
#define GAME_STACK              (GAME_PARAMETER_START + GAME_PARAMETER_SIZE + 200)	//100K for driver
#define GAME_STACK_SIZE         (9)

#define GAME_FILE_START         (GAME_STACK + GAME_STACK_SIZE)     //NES game file buffer
#define MAX_GAME_FILE_SIZE      (1024)  //max NES game file content size(1M Bytes)

#define GAME_CALL_ENTRY         (SDRAM_BASE + GAMEYA * 1024)

//ycwen 2005/1/21
#if defined(MP3_JPEG_COWORK)&& defined(SDRAM_32Mb_Mode)
#define MP3_BUFFER_START                    (P_BIDIR_LUMA+100)   
#define MP3_BUFFER_SIZE                     730
#define POINTER_OFFSET                      200
#endif

//-------------------------------------
//4th segment
//-------------------------------------
// 2004/11/18 yltseng

#define DSP_START               SEG2_END                            // 2226+6=2232//NONO 4-4-5 22:48 ADD 6K
#define A_DSP24YA               (DSP_START + 0)                     // 2226+6=2232//NONO 4-4-5 22:48 ADD 6K
#define P_JPEG_PS               (GP_REF0_CHROMA + GP_CHROMA_SIZE) 

#ifdef SUPPORT_MIDI                                                 // 2005/01/04 yltseng

#define DSP_SIZE                DSP3_MIDI_IM
#define PCMSIZE                 DSP3_MIDI_DM                        //4429KBs = 141KBs(47K words) + 4288KBs wavetable
#define AUDSIZE                 DSP3_MIDI_PM
#define PCMOFFSET               (50-16)

⌨️ 快捷键说明

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