memmap0b.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:23k
源码类别:

DVD

开发平台:

C/C++

  1. //====================================================================================
  2. // memmap0b.h
  3. // 8200 (before) 32M memory mapping
  4. // Creator  : Potatooo
  5. // Maintain : Jeff (720) / Terry (8200)
  6. // -----------------------------------------------------------------------------------
  7. // Revision History   
  8. //          2003.02.12   re-order all memory addr. for 
  9. //                       a.easy to chk in stack overflow
  10. //                       b.let a little difference between 16MBits and 32MBits 
  11. //          2003.02.17   correct nes game/cd+g/servo buffer
  12. //          2003.03.05   a.add de-interlace and slow backward
  13. //                       b.move memory map to memmap0b.txt
  14. //====================================================================================
  15. #include "user_init.h"
  16. #ifdef SPHE1000
  17. #include "memmap_1000.h"
  18. #else
  19. #ifdef SUPPORT_MIDI     // 2005/01/04 yltseng
  20. #include "memmap_dsp3.h"
  21. #endif
  22. /*====================================================================================
  23. ** Decode mode memory config
  24. **====================================================================================*/
  25. #define P_VIDEO_COMPRESS        (RF_COMPRESS_888 
  26.                                 |RF_COMPRESS_DITHER_OFF 
  27.                                 |RF_COMPRESS_CHROMA_FULL)
  28. #define GN_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)
  29. #define GP_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)
  30. #define GS_VIDEO_COMPRESS       (P_VIDEO_COMPRESS)
  31. /*====================================================================================
  32. ** task stack Allocation 
  33. **====================================================================================*/
  34. #define MAIN_TASK_SIZE          1           // about 1.7k,terry,2004/7/26 02:52PM
  35. #define A_MAIN_TASK_TOP         1           // from 1.3k
  36. #define A_MAIN_TASK_BOM         3           // to end of 2k
  37. #define DBG_STACK_SIZE          2
  38. #if defined(SDRAM_64Mb_Mode) || defined(SUPPORT_MIDI2)  // 2004/12/22 yltseng
  39. #define A_DBG_TASK_BOM          8192            // end of 8192k (8M)
  40. #else
  41. #define A_DBG_TASK_BOM          4096            // end of 4096k (4M)
  42. #endif
  43. #define A_DBG_TASK_TOP          (A_DBG_TASK_BOM-DBG_STACK_SIZE)
  44. /*====================================================================================
  45. ** Memory Allocation Start
  46. **====================================================================================*/
  47. #define MEM_START 0
  48. #ifdef SUPPORT_MIDI
  49. #define MIDI_ST         4096
  50. #endif
  51. #ifdef SUPPORT_PLAY_SWD 
  52. #define SWD_YA          4096
  53. #define SWD_SIZE        4094
  54. #endif
  55. //----------------------
  56. //first segment
  57. //----------------------
  58. // 2004/12/16 yltseng
  59. #ifdef ENLARGE_SDRAM_CS_AND_OSD_SIZE
  60.     #define SDRAM_CS_SZ         (29+10)
  61.     #define OSDSIZE         (131+10)
  62. #else
  63.     #define SDRAM_CS_SZ         29
  64.     #define OSDSIZE         131
  65. #endif
  66. #define CDSIZE                  4
  67. #define SSAVER_PIC_SIZE         31
  68. #ifdef  USE_C_IOP//terry,2003/12/30 03:03PM
  69.     #define IOP_SIZE            64
  70.     #define A_IOPYA             (MEM_START + 1024*4)
  71.     #define A_CDYA              (MEM_START + 3)   // 3
  72. #else
  73.     #define IOP_SIZE            2
  74.     #define A_IOPYA             (MEM_START + 0)
  75.     #define A_CDYA              (A_IOPYA + IOP_SIZE + MAIN_TASK_SIZE)   // 3
  76. #endif
  77. #define SDRAM_CS_ST         (A_CDYA+CDSIZE)
  78. #define A_OSDYA                 (SDRAM_CS_ST + SDRAM_CS_SZ)
  79. #define SSAVER_YA               (A_OSDYA + OSDSIZE - SSAVER_PIC_SIZE - 1)
  80. #define TEMPYA                  (SSAVER_YA)
  81. #ifdef OSD_BMP_DISPLAY
  82.     #define OSD0_TEMP_YA        (A_OSDYA + OSDSIZE - 12)
  83. #else
  84.     #define OSD0_TEMP_YA        (A_OSDYA + OSDSIZE - 9)
  85. #endif
  86. #define SEG1_END                (A_OSDYA + OSDSIZE)                     // A_OSDYA+OSDSIZE
  87. #define VFBMA         SEG1_END
  88. //--------------------------
  89. //second segment (DVD/VCD/CD)
  90. //--------------------------
  91. #define N_LUMA_SIZE             338             // NTSC D1 luma size 
  92. #define N_CHROMA_SIZE           169             // NTSC D1 chroma size 
  93. #define B_LUMA_SIZE             248             // PAL D1 B666 luma size 22MB 
  94. #define B_CHROMA_SIZE           203             // PAL D1 B666 chroma size full-map 
  95. #define M_LUMA_SIZE             270             // PAL 2/3D1 luma size 
  96. #define M_CHROMA_SIZE           135             // PAL 2/3D1 chroma size 
  97. #define D_LUMA_SIZE             99              // MIDI (352x288) luma size
  98. #define D_CHROMA_SIZE           50              // MIDI (352x288) chroma size
  99. #define LUMA_SIZE               405             // PAL D1 luma size 
  100. #define CHROMA_SIZE             203             // PAL D1 chroma size 
  101. // PAL D1 (576l)
  102. #define P_REF0_LUMA             (VFBMA + 0)
  103. #define P_REF0_LUMA_END         (P_REF0_LUMA + LUMA_SIZE - 1)
  104. #define P_REF0_CHROMA           (P_REF0_LUMA_END + 1)
  105. #define P_REF0_CHROMA_END       (P_REF0_CHROMA + CHROMA_SIZE - 1)
  106. #define P_REF1_LUMA             (P_REF0_CHROMA_END + 1)
  107. #define P_REF1_LUMA_END         (P_REF1_LUMA + LUMA_SIZE - 1)
  108. #define P_REF1_CHROMA           (P_REF1_LUMA_END + 1)
  109. #define P_REF1_CHROMA_END       (P_REF1_CHROMA + CHROMA_SIZE - 1)
  110. #define P_BIDIR_LUMA            (P_REF1_CHROMA_END + 1)
  111. #define P_BIDIR_LUMA_END        (P_BIDIR_LUMA + LUMA_SIZE - 1)
  112. #define P_BIDIR_CHROMA          (P_BIDIR_LUMA_END + 1)
  113. #define P_BIDIR_CHROMA_END      (P_BIDIR_CHROMA + CHROMA_SIZE - 1)
  114. #define P_EVBYA                 (P_BIDIR_CHROMA_END + 1)
  115. #define P_EVBSZ                 (235+6)//NONO 4-4-5 22:48 ADD 6K
  116. #define SEG2_END         (P_EVBYA + P_EVBSZ)
  117. #define ASVU_BUF1               (P_REF1_LUMA)
  118. #define ASVU_BUF1_SIZE          (1216)
  119. #define ASVU_BUF1_END           (ASVU_BUF1 + ASVU_BUF1_SIZE - 1)
  120. // MIDI (352x288)
  121. #define D_REF0_LUMA             (VFBMA + 0)
  122. #define D_REF0_LUMA_END         (D_REF0_LUMA + D_LUMA_SIZE - 1)
  123. #define D_REF0_CHROMA           (D_REF0_LUMA_END + 1)
  124. #define D_REF0_CHROMA_END       (D_REF0_CHROMA + D_CHROMA_SIZE - 1)
  125. #define D_REF1_LUMA             (D_REF0_CHROMA_END + 1)
  126. #define D_REF1_LUMA_END         (D_REF1_LUMA + D_LUMA_SIZE - 1)
  127. #define D_REF1_CHROMA           (D_REF1_LUMA_END + 1)
  128. #define D_REF1_CHROMA_END       (D_REF1_CHROMA + D_CHROMA_SIZE - 1)
  129. #define D_BIDIR_LUMA            (D_REF1_CHROMA_END + 1)
  130. #define D_BIDIR_LUMA_END        (D_BIDIR_LUMA + D_LUMA_SIZE - 1)
  131. #define D_BIDIR_CHROMA          (D_BIDIR_LUMA_END + 1)
  132. #define D_BIDIR_CHROMA_END      (D_BIDIR_CHROMA + D_CHROMA_SIZE - 1)
  133. #define D_EVBYA                 (D_BIDIR_CHROMA_END + 1)
  134. #define D_EVBSZ                 (235 + 300*3 +6)//NONO 4-4-5 22:48 ADD 6K
  135. // NTSC D1 (no preview mode)
  136. #define N_REF0_LUMA             (VFBMA + 0)
  137. #define N_REF0_LUMA_END         (N_REF0_LUMA + N_LUMA_SIZE - 1)
  138. #define N_REF0_CHROMA           (N_REF0_LUMA_END + 1)
  139. #define N_REF0_CHROMA_END       (N_REF0_CHROMA + N_CHROMA_SIZE - 1)
  140. #define N_REF1_LUMA             (N_REF0_CHROMA_END + 1)
  141. #define N_REF1_LUMA_END         (N_REF1_LUMA + N_LUMA_SIZE - 1)
  142. #define N_REF1_CHROMA           (N_REF1_LUMA_END + 1)
  143. #define N_REF1_CHROMA_END       (N_REF1_CHROMA + N_CHROMA_SIZE - 1)
  144. #define N_BIDIR_LUMA            (N_REF1_CHROMA_END + 1)
  145. #define N_BIDIR_LUMA_END        (N_BIDIR_LUMA + N_LUMA_SIZE - 1)
  146. #define N_BIDIR_CHROMA          (N_BIDIR_LUMA_END + 1)
  147. #define N_BIDIR_CHROMA_END      (N_BIDIR_CHROMA + N_CHROMA_SIZE - 1)
  148. #define N_EVBYA                 (N_BIDIR_CHROMA_END + 1)
  149. #define N_EVBSZ                 (235 + 6)///NONO 4-4-5 22:48 ADD 6K
  150. // PAL 2/3 D1 (with preview mode)
  151. #define M_REF0_LUMA             (VFBMA + 0)
  152. #define M_REF0_LUMA_END         (M_REF0_LUMA + M_LUMA_SIZE - 1)
  153. #define M_REF0_CHROMA           (M_REF0_LUMA_END + 1)
  154. #define M_REF0_CHROMA_END       (M_REF0_CHROMA + M_CHROMA_SIZE - 1)
  155. #define M_REF1_LUMA             (M_REF0_CHROMA_END + 1)
  156. #define M_REF1_LUMA_END         (M_REF1_LUMA + M_LUMA_SIZE - 1)
  157. #define M_REF1_CHROMA           (M_REF1_LUMA_END + 1)
  158. #define M_REF1_CHROMA_END       (M_REF1_CHROMA + M_CHROMA_SIZE - 1)
  159. #define M_BIDIR_LUMA            (M_REF1_CHROMA_END + 1)
  160. #define M_BIDIR_LUMA_END        (M_BIDIR_LUMA + LUMA_SIZE - 1)
  161. #define M_BIDIR_CHROMA          (M_BIDIR_LUMA_END + 1)
  162. #define M_BIDIR_CHROMA_END      (M_BIDIR_CHROMA + CHROMA_SIZE - 1)
  163. #define M_EVBYA                 (M_BIDIR_CHROMA_END + 1)
  164. #define M_EVBSZ                 (235 + 6)//NONO 4-4-5 22:48 ADD 6K
  165. //second segment (JPEG)
  166. //using pal: 720x576 ,block mode
  167. #define GP_LUMA_SIZE            414
  168. #define GP_CHROMA_SIZE          207
  169. #define GP_REF0_LUMA            (VFBMA + 0)
  170. #define GP_REF0_CHROMA          (GP_REF0_LUMA + GP_LUMA_SIZE) 
  171. //#define GP_REF1_LUMA         (GP_REF0_CHROMA + GP_CHROMA_SIZE)   
  172. //#define GP_REF1_CHROMA          (GP_REF1_LUMA + GP_LUMA_SIZE) 
  173. //#define GP_END         (GP_REF1_CHROMA + GP_CHROMA_SIZE)
  174. #define GN_REF0_LUMA            GP_REF0_LUMA
  175. //#define GN_REF1_LUMA         GP_REF1_LUMA
  176. #define GN_REF0_CHROMA         GP_REF0_CHROMA
  177. //#define GN_REF1_CHROMA          GP_REF1_CHROMA
  178. //#define GN_END         GP_END
  179. // 3rd segment (MP3 GUI)
  180. //small: 352x288,block mode
  181. #define GS_LUMA_SIZE            99
  182. #define GS_CHROMA_SIZE          50
  183. #define GS_REF0_LUMA            (VFBMA + 0)
  184. #define GS_REF1_LUMA            (GS_REF0_LUMA)
  185. #define GS_REF0_CHROMA         (GS_REF0_LUMA + GS_LUMA_SIZE)
  186. #define GS_REF1_CHROMA          (GS_REF1_LUMA + GS_LUMA_SIZE)
  187. #define GS_END         (GS_REF1_CHROMA + GS_CHROMA_SIZE)
  188. #define A_UDF_WORK_BUF          (GS_END)
  189. #define UDF_WORK_BUF_SIZE       (40)
  190. // 3rd segment (Game , RGB color index)
  191. //small: 256*240 ,linear mode
  192. #define GG_REF0_FRAME           (VFBMA + 0)
  193. #define GG_REF1_FRAME           (VFBMA + 70)
  194. #define GG_REF1_FRAME_END       (GG_REF1_FRAME + 70)
  195. #define GAME_OSD_FRAME_START    (GG_REF0_FRAME)
  196. #define GAME_PARAMETER_START    (GG_REF1_FRAME_END)
  197. //#define GG_REF0_FRAME         (1600)
  198. //#define GG_REF1_FRAME         (1600+70)
  199. //#define GG_REF1_FRAME_END     (1600+70*2)
  200. //#define GAME_OSD_FRAME_START  GG_REF0_FRAME
  201. //#define GAME_PARAMETER_START  (VFBMA+70*2)
  202. #define GAME_PARAMETER_SIZE     (1)
  203. #define MAX_GAME_BUF            (100)         //driver size
  204. #define GAMEYA                  (GAME_PARAMETER_START + GAME_PARAMETER_SIZE + 100) //100K for work space
  205. #define GAME_STACK              (GAME_PARAMETER_START + GAME_PARAMETER_SIZE + 200) //100K for driver
  206. #define GAME_STACK_SIZE         (9)
  207. #define GAME_FILE_START         (GAME_STACK + GAME_STACK_SIZE)     //NES game file buffer
  208. #define MAX_GAME_FILE_SIZE      (1024)  //max NES game file content size(1M Bytes)
  209. #define GAME_CALL_ENTRY         (SDRAM_BASE + GAMEYA * 1024)
  210. //ycwen 2005/1/21
  211. #if defined(MP3_JPEG_COWORK)&& defined(SDRAM_32Mb_Mode)
  212. #define MP3_BUFFER_START                    (P_BIDIR_LUMA+100)   
  213. #define MP3_BUFFER_SIZE                     730
  214. #define POINTER_OFFSET                      200
  215. #endif
  216. //-------------------------------------
  217. //4th segment
  218. //-------------------------------------
  219. // 2004/11/18 yltseng
  220. #define DSP_START               SEG2_END                            // 2226+6=2232//NONO 4-4-5 22:48 ADD 6K
  221. #define A_DSP24YA               (DSP_START + 0)                     // 2226+6=2232//NONO 4-4-5 22:48 ADD 6K
  222. #define P_JPEG_PS               (GP_REF0_CHROMA + GP_CHROMA_SIZE) 
  223. #ifdef SUPPORT_MIDI                                                 // 2005/01/04 yltseng
  224. #define DSP_SIZE                DSP3_MIDI_IM
  225. #define PCMSIZE                 DSP3_MIDI_DM                        //4429KBs = 141KBs(47K words) + 4288KBs wavetable
  226. #define AUDSIZE                 DSP3_MIDI_PM
  227. #define PCMOFFSET               (50-16)
  228. #define PCM_ST                  (A_DSP24YA+DSP_SIZE)                // 2274+6=2280//NONO 4-4-5 22:48 ADD 6K
  229. #define A_PCMYA                 (MIDI_ST + 0)
  230. #define A_AUDYA                 (PCM_ST + 0)
  231. #define JPEG_PS_SIZE            (A_AUDYA + AUDSIZE - P_JPEG_PS)
  232. #define DRV1N2_ST               (PCM_ST + PCMOFFSET + AUDSIZE)
  233. #elif defined(SUPPORT_REP_READ)                                     //terry,2004/2/16 09:29AM
  234. #define DSP_SIZE                48                                  // dsp code-size
  235. #define PCMOFFSET               (200-16)
  236. #define PCMSIZE                 4096
  237. #define AUDSIZE                 50
  238. #define A_PCMYA                 (4096)
  239. #define PCM_ST                  (A_DSP24YA+DSP_SIZE)                // 2274+6=2280//NONO 4-4-5 22:48 ADD 6K
  240. #define A_AUDYA                 (PCM_ST + PCMOFFSET)
  241. #define JPEG_PS_SIZE            (A_AUDYA + AUDSIZE - P_JPEG_PS)     //(414+207+814+250+42)
  242. #define DRV1N2_ST               (PCM_ST+PCMOFFSET+AUDSIZE)
  243. #else
  244. #define DSP_SIZE                282                                 // In fact, DSP_SIZE now only needs 281K bytes                                 // dsp code-size
  245.     #ifdef MP3_JPEG_COWORK                                          //ycwen 2005/1/21
  246.         #ifdef SDRAM_32Mb_Mode 
  247.             #define JPEG_PS_SIZE            (MP3_BUFFER_START - P_JPEG_PS )    
  248.         #elif defined SDRAM_64Mb_Mode
  249.             #define JPEG_PS_SIZE            (A_DSP24YA - P_JPEG_PS)
  250.         #endif
  251.     #else                                                           //(not define MP3_JPEG_COWORK)
  252. #define JPEG_PS_SIZE            (A_DSP24YA + DSP_SIZE - P_JPEG_PS)  //(414+207+814+250+42)//parson 
  253.     #endif                                                          //(MP3_JPEG_COWORK)
  254. #define DRV1N2_ST               (A_DSP24YA+DSP_SIZE)                //2530//NONO 2004-4-10 23:19
  255. #endif
  256. #define DRV1_2_CODESIZE         36
  257. #define AP2_CODESIZE            32
  258. #define AP3_CODESIZE            32
  259. #ifdef ENLARGE_SDRAM_CS_AND_OSD_SIZE                                // 2004/01/28 yltseng
  260.     #define AP_CODESIZE         (152 + 18 + 16 - 20)
  261. #else
  262.     #define AP_CODESIZE         (152 + 18 + 16)
  263. #endif
  264. #define AP2N3_ST                (DRV1N2_ST+DRV1_2_CODESIZE)         //2566//NONO 2004-4-10 23:22
  265. #define AP1_ST                  (AP2N3_ST+AP2_CODESIZE)             //2598//NONO 2004-4-10 23:22
  266. #define SEG4_END                (AP1_ST + AP_CODESIZE)
  267. #ifdef FILE_MODE_WRITE                                              //sunzhh add for file mode usb&card write 2004-12-23 16:53
  268. #define FS_STRUCTURE_YA      AP1_ST
  269. #define FS_STRUCTURE_SIZE    (114) 
  270. #define FAT_TABLE_YA         (FS_STRUCTURE_YA+114) 
  271. #define FAT_TABLE_SIZE       (50)
  272. #define FSJPEGDATA_DES_YA    (FAT_TABLE_YA+FAT_TABLE_SIZE)
  273. #define FSJPEGDATA_DES_BUFFER_SIZE  (3)
  274. #define INDEX_BUF_SRC_YA     (FSJPEGDATA_DES_YA+3)
  275. #define INDEX_BUF_SRC_SIZE   (1)
  276. #define INDEX_BUF_DES_YA     (INDEX_BUF_SRC_YA+1)
  277. #define INDEX_BUF_DES_SIZE   (1)
  278. #endif
  279. //-------------------------------------
  280. //5th segment for servo buffer
  281. //-------------------------------------
  282. /*
  283. #define JPEG_YA                 (OSD0_TEMP_YA+DISP_WORK_BUF_SIZE)
  284. #define JPEG_CDBUF_SIZE         (358)
  285. #define DVD_NAV_CODE            (JPEG_YA) //dvd/vcd nav. code
  286. #define DVD_CODE_SIZE           (70)
  287. #define N_NAVYA                 (DVD_NAV_CODE+DVD_CODE_SIZE) //nav. buffer
  288. #define MAX_BUF_SIZE            (70)     // size for NAV buffer
  289. #define A_DVD_SERVO_YA          (N_NAVYA+MAX_BUF_SIZE)     //DVDV-A/VCD/CD servo work buffer start address
  290. #define A_JPEG_SERVO_YA         (JPEG_YA+JPEG_CDBUF_SIZE)  //MP3/JPEG servo work buffer start address
  291. #define DVDA_SERVO_SIZE         (218)
  292. #define DVDV_SERVO_SIZE         (1076)
  293. #define JPEG_SERVO_SIZE         (858)
  294. #define ASVU_BUF2               (JPEG_YA+JPEG_CDBUF_SIZE)
  295. #define ASVU_BUF2_SIZE          (858)
  296. #define FS9660YA                (A_DVD_SERVO_YA+DVDV_SERVO_SIZE)
  297. #define FS9660_SIZE             (114)
  298. #define COMP_OSD_FONT           (FS9660YA+FS9660_SIZE)
  299. #define OSD_FONT_SIZE           (42)
  300. */
  301. //-------------------------------------
  302. //5th segment for De-Interlace buffer
  303. //-------------------------------------
  304. #define SUPSIZE                 52
  305. #ifdef  TWO_SUBTITLE
  306. #define SUPSIZE2                SUPSIZE
  307. #else
  308. #define SUPSIZE2                0
  309. #endif
  310. #define SERVO_SIZE              (20)
  311. #if defined(HOST_UHCI)||defined(SPHE8202_CARD_STORAGE) 
  312.   #define USB_BUFFER_SIZE          7 //10 
  313.   #define CARD_BUFFER_SIZE         3
  314.   #ifdef  SUPPORT_MIDI2
  315.    #define USB_YA                  SEG6_END        //DVDV-A/VCD/CD servo work buffer start address
  316.    #define CARD_YA                (USB_YA + USB_BUFFER_SIZE)
  317.   #else
  318.    #define USB_YA                  SEG4_END        //DVDV-A/VCD/CD servo work buffer start address
  319.    #define CARD_YA                (USB_YA + USB_BUFFER_SIZE)
  320.   #endif
  321.   #define A_SERVO_YA               (USB_YA+USB_BUFFER_SIZE+CARD_BUFFER_SIZE)
  322. #else
  323.   #ifdef  SUPPORT_MIDI2
  324.    #define A_SERVO_YA              SEG6_END        //DVDV-A/VCD/CD servo work buffer start address
  325.   #else
  326.    #define A_SERVO_YA              SEG4_END        //DVDV-A/VCD/CD servo work buffer start address
  327.   #endif
  328. #endif
  329. // SERVO-SUP2-DEINT-NAVC-NAVD-SUP
  330. /*
  331. *NONO 4-4-5 22:48 USE 25K TO add AP_CODESIZE(152->152+19)[AP code and Part of Servo Code] 
  332. *                               & M_EVBSZ(235->235+6)[video bit-stream]
  333. */
  334. #if defined(HOST_UHCI)||defined(SPHE8202_CARD_STORAGE) 
  335. #define DVDV_SERVO_SIZE         (389 - SUPSIZE2-24)                        // DVDV=399-10-25=365 or 399-52k -10-25K//2769
  336. #define DVDA_SERVO_SIZE         (158 - 24 )                                     // DVDA=168k-10-25=133
  337. #define JPEG_SERVO_SIZE         (197 - 24) //678                                     // JPEG=678k//197-25=172K
  338. #else
  339. #ifdef DVD_ESP_2S
  340. #define DVDV_SERVO_SIZE         (399 - SUPSIZE2+627/*DEINTLACE_BUF_SIZE*/-24)                        // DVDV=399 or 399-52k
  341. #else//#ifdef DVD_ESP_2S
  342. #define DVDV_SERVO_SIZE         (399 - SUPSIZE2-24)                        // DVDV=399 or 399-52k
  343. #endif//#ifdef DVD_ESP_2S
  344. #define DVDA_SERVO_SIZE         (168-24)                                     // DVDA=168k
  345. #define JPEG_SERVO_SIZE         (207-24) //678                                     // JPEG=678k
  346. #endif
  347. // DVDV mode
  348. #ifdef DVD_ESP_2S
  349. #define DEINTLACE_BUF_SIZE      0//627                                 // size for de-interlacing buffer
  350. #else
  351. #define DEINTLACE_BUF_SIZE      (627)                                  // size for de-interlacing buffer
  352. #endif
  353. #define DVD_CODE_SIZE           70                                      // size for DVD NAV code
  354. #define MAX_BUF_SIZE            50//60//70                                      // size for DVD NAV buffer
  355. #define A_DVD_SERVO_YA          A_SERVO_YA
  356. #define A_SUPYA2                (A_DVD_SERVO_YA + DVDV_SERVO_SIZE)
  357. #define A_DEINTLACE_YA          (A_SUPYA2 + SUPSIZE2)
  358. //#define DVD_NAV_CODE            (A_DEINTLACE_YA + DEINTLACE_BUF_SIZE)   //dvd/vcd nav. code
  359. //#define N_NAVYA                 (DVD_NAV_CODE + DVD_CODE_SIZE)          //nav. buffer
  360. //#define A_SUPYA                 (N_NAVYA + MAX_BUF_SIZE)
  361. //2004.7.22 joshua modified for conflict of JPEG and LOAD_NAV, only change the location of N_NAVYA DVD_NAV_CODE
  362. #define N_NAVYA                 (A_DEINTLACE_YA + DEINTLACE_BUF_SIZE)   //nav. buffer
  363. #define DVD_NAV_CODE            (N_NAVYA + MAX_BUF_SIZE)          //dvd/vcd nav. code
  364. #define A_SUPYA                 (DVD_NAV_CODE + DVD_CODE_SIZE)
  365. #define SEG5_END                (A_SUPYA+SUPSIZE)
  366. // DVDA mode
  367. #define ASVU_BUF2_SIZE          858                                     //
  368. #define ASVU_BUF2               (A_DVD_SERVO_YA + DVDA_SERVO_SIZE)
  369. #define ASVB_BUF_OFFSET         (ASVU_BUF2 - ASVU_BUF1_END - 1)
  370. // JPEG/CDROM mode
  371. #define JPEG_CODE_SIZE          8
  372. #define CDROM_CODE_SIZE         60
  373. #ifdef FONT_COMPRESSED          // 2004/09/19 yltseng
  374.     #define FS9660_SIZE         104
  375. #else
  376.     #define FS9660_SIZE         114
  377. #endif
  378. #ifdef SUPPORT_JPEG_MIC          //terry,2003/12/30 11:21AM
  379.  #define JPEG_CDBUF_SIZE         (80-52)//190//200  //358,terry,2003/7/26 05:28PM
  380.  #define A_MIC_DSP24YA           (4094-250)
  381.  #define A_MIC_PCM_YA            (A_MIC_DSP24YA+DSP_SIZE)                  
  382. #else
  383. #define JPEG_CDBUF_SIZE         (16+50)//(180-52)//190//200  //358,terry,2003/7/26 05:28PM //joshua,04/7/22
  384. #endif                                     //208=>200,jpeg decoder bug.
  385. /*#define A_JPEG_SERVO_YA         A_SERVO_YA                              // MP3/JPEG servo work buffer start address
  386. #define JPEG_CODE_YA            (A_JPEG_SERVO_YA+JPEG_SERVO_SIZE)       // 3422
  387. #define CDROM_CODE_YA           (JPEG_CODE_YA+JPEG_CODE_SIZE)           // 3430
  388. #define FS9660YA                (CDROM_CODE_YA+CDROM_CODE_SIZE)         // 3490
  389. #define JPEG_YA                 (FS9660YA + FS9660_SIZE) */
  390. #define A_JPEG_SERVO_YA         A_SERVO_YA                              // MP3/JPEG servo work buffer start address
  391. #define GP_REF1_LUMA         (A_JPEG_SERVO_YA+JPEG_SERVO_SIZE)   
  392. #define GP_REF1_CHROMA          (GP_REF1_LUMA + GP_LUMA_SIZE) 
  393. #define JPEG_CODE_YA            (GP_REF1_CHROMA+GP_CHROMA_SIZE)       // 3422
  394. #define CDROM_CODE_YA           (JPEG_CODE_YA+JPEG_CODE_SIZE)           // 3430
  395. #define FS9660YA                (CDROM_CODE_YA+CDROM_CODE_SIZE)         // 3490
  396. #ifdef FONT_COMPRESSED              // 2004/11/21 yltseng
  397.     #define FONT_DECOMPRESS_SIZE    (10)
  398. #else
  399.     #define FONT_DECOMPRESS_SIZE    (0)
  400. #endif
  401. #define FONT_DECOMPRESS_YA      (FS9660YA + FS9660_SIZE)
  402. #define JPEG_YA                 (FONT_DECOMPRESS_YA + FONT_DECOMPRESS_SIZE)
  403. #define GP_END         (GP_REF1_CHROMA + GP_CHROMA_SIZE)
  404. #define GN_REF1_LUMA         GP_REF1_LUMA
  405. #define GN_REF1_CHROMA          GP_REF1_CHROMA
  406. #define GN_END         GP_END 
  407. #define A_WMA_CODE_YA       (GP_REF1_LUMA)
  408. #define WMA_CODE_SIZE       (10)
  409. #define A_MP4_CODE_YA       (A_WMA_CODE_YA + WMA_CODE_SIZE)
  410. #define MP4_CODE_SIZE       (40)
  411. //----
  412. // 6th
  413. //----
  414. #ifdef  SUPPORT_MIDI2
  415. #define COMP_OSD_FONT           SEG4_END
  416. #else
  417. #define COMP_OSD_FONT           SEG5_END
  418. #endif
  419. #define OSD_FONT_SIZE           60
  420. #define SEG6_END                (COMP_OSD_FONT+OSD_FONT_SIZE)
  421. //free code size
  422. #define FREE_CODE_YA SEG6_END
  423. #define FREE_CODESIZE 92//82//72
  424. //ycwen 2005/1/27 : MP3_JPEG_COWORK in 64MB
  425. #if defined(MP3_JPEG_COWORK)&&defined(SDRAM_64Mb_Mode)
  426. #define MP3_BUFFER_START                    (FREE_CODE_YA+FREE_CODESIZE)
  427. #define MP3_BUFFER_SIZE                     (3000)//0x2E9000  //3000-40
  428. #define POINTER_OFFSET                      500//500             //500
  429. #endif
  430. #endif // !SPHE1000
  431. #ifdef SUPPORT_CD_TEXT
  432.     #define CD_TEXT_YA          P_BIDIR_CHROMA
  433.     #define CD_TEXT_SIZE        CHROMA_SIZE
  434. #endif
  435. //-------------------------------------
  436. //avi segment
  437. //-------------------------------------
  438. // 2004/08/26 yltseng
  439. // MP4 video buffer size
  440. #define A_AVIEVBSZ              (235)
  441. // MVC buffer
  442. #define MVC_BUF_YA              (A_MP4_CODE_YA+MP4_CODE_SIZE)
  443. #define MVC_BUF_SIZE            (30)
  444. #define A_FILE_BUF_YA            (MVC_BUF_YA+MVC_BUF_SIZE)
  445. #define A_FILE_BUF_SIZE          (GP_END-A_FILE_BUF_YA)
  446. //--------------------------------------
  447. // for fat file system write 
  448. //--------------------------------------
  449. #ifndef PMP_DVD//liweihua add 2004-12-10 
  450. #define FAT_WRITE_TEMP_YA     (P_BIDIR_LUMA)
  451. #define FAT_WRITE_TEMP_SIZE     (1)
  452. #define FAT_COPY_YA             (FAT_WRITE_TEMP_YA+FAT_WRITE_TEMP_SIZE) 
  453. #define FAT_COPY_SIZE           (384)
  454. #endif