📄 memmap0b.h
字号:
//====================================================================================
// 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 + -