Const.h
上传用户:hjhsjcl
上传日期:2020-09-25
资源大小:11378k
文件大小:96k
源码类别:

压缩解压

开发平台:

C++ Builder

  1. /*==========================================================================
  2. Copyright (c) 2003 Acer Labs, Inc. All Rights Reserved
  3. File: Const.h
  4. content:
  5. History: Created by David Chiu 2003/11/26
  6. ==========================================================================*/
  7. //050830
  8. //Kernal Version for ALi SDK usage
  9. #if(NEW_FLASH)
  10. #define KERNALVER_1 0x03
  11. #else
  12. #define KERNALVER_1 0x02
  13. #endif
  14. #define KERNALVER_2 0x10
  15. #define KERNALVER_3 0x00
  16. #define KERNALDATE_YY 0x07
  17. #define KERNALDATE_MM 0x02
  18. #define KERNALDATE_DD 0x06
  19. //Walace060616#1 Vender ID start
  20. //Please use follwoing const to define Customer FW Version.
  21. #if(NEW_FLASH)
  22. #define VENDER_1 0x03
  23. #else
  24. #define VENDER_1 0x02
  25. #endif
  26. #define VENDER_2 0x10
  27. #define VENDER_3 0x00
  28. #define VENDERDATE_YY 0x07
  29. #define VENDERDATE_MM 0x02
  30. #define VENDERDATE_DD 0x06
  31. //Walace060616#1 Vender ID end
  32. #define IN
  33. #define OUT
  34. #define API
  35. #define TRUE  1
  36. #define FALSE  0
  37. #define NULL 0
  38. #define SECTOR_SIZE 512
  39. #define ON 1
  40. #define OFF 0
  41. #define NORMAL_CODE 0
  42. #define EXT_CODE_ONLY 1
  43. #define BASIC_CODE_ONLY  2  //vicky050520#1
  44. //Timer interval
  45. //#define TIME_SLICE_H  0x3c // counter for 0.02 second//MCU 30MHz
  46. //#define TIME_SLICE_L     0xb0
  47. #define TIME_SLICE_H  0x9e // counter for 0.02 second//MCU 15MHz
  48. #define TIME_SLICE_L     0x58
  49. //Key interval
  50. #define KEY_DETECT_INTERVAL 0x02
  51. #define KEY_REPT_COUNT 0x0B //0x10
  52. //Power on/off display interval
  53. #define PW_ON_DISP_INTERVAL 42 //about 2.52 sec with MCU 15MHz
  54. //modify by tne 2004/11/18 #1
  55. #define PW_ON_SER_DISP_INTERVAL 20000 //12 //tne 2006/05/10 #2
  56. #define PW_ON_KEY_HOLD_DISPLAY_INTERVAL 10 //Walace060216#1
  57. #define PW_OFF_DISP_INTERVAL 10
  58. #define PW_ON_EXT_DELAY 15 //David041117#4
  59. //Power Switch Command
  60. #define PW_USB_ON 0x01
  61. #define PW_USB_OFF 0x02
  62. #define PW_DCV_ON_147M 0x03
  63. #define PW_DCV_OFF 0x04
  64. #define PW_MCU_DCV_30M 0x10
  65. #define PW_MCU_USB_30M 0x11
  66. #define PW_RA_DCV_30M 0x20
  67. #define PW_RA_USB_30M 0x21
  68. #define PW_SM_DCV_DCV_48M 0x30
  69. #define PW_SM_USB_30M 0x31
  70. //Dsp Address
  71. #define DSP_MUTE_OUT                         0x1FBE    // Jeff_060331 //Add for audio mute while volume 0
  72. #define DSP_SWAP_OUT                         0x1FBF
  73. #define DSP_LAST8BYTE_END_ADDR 0x1FCC //Vicky060314#1
  74. #define DSP_VAD_OFF_DELAY_ADDR 0x1FDA //Vicky060214#1 VAD Off Delay Time
  75. //vicky061025#1
  76. #define DSP_MP3_SYNC_FIRSTRUN_ADDR 0x1FB0
  77. #define DSP_MP3_SYNC_SAMPLERATE_ADDR 0x1FB1
  78. #define DSP_MP3_SYNC_CHANNEL_ADDR 0x1FB2
  79. #define DSP_MP3_SYNC_EMPHASIS_ADDR 0x1FB3
  80. #define DSP_MP3_SYNC_BITRATE_ADDR 0x1FB4
  81. #define DSP_MP3_SKIP_SYNC_BITRATE_ADDR 0x1FB5
  82. #define DSP_SWAP 0x1FBF //tne 2007/02/08 #1
  83.  //Walace060727#1 start
  84. #if(AGC_USE_DSP_GAIN)
  85. #define DSP_AGC_EN_ADDR 0x1FBA                
  86. #define DSP_AGC_HI_BOUND_ADDR 0x1FBB   
  87. #define DSP_AGC_LO_BOUND_ADDR 0x1FBC   
  88. #else
  89. #define DSP_AGC_EN_ADDR 0x1FDB //tne 2006/01/16
  90. #define DSP_AGC_HI_BOUND_ADDR 0x1FDC //tne 2006/01/16
  91. #define DSP_AGC_LO_BOUND_ADDR 0x1FDD //tne 2006/01/16
  92. #endif
  93.  //Walace060727#1 end
  94. #define   DSP_MUTE_PA_ADDR 0x1FDE //Vicky060127#1
  95. #define DSP_FADE_ADDR 0x1FE4 //David051130#4
  96. #define DSP_LAST8BYTE_REQ_ADDR 0x1FE2
  97. //tne 2005/11/24 Syncword
  98. #define DSP_MP3_SYNCWORD_ADDR 0x1FE5
  99. #define DSP_LAST8BYTE_W_ADDR 0x1FE5
  100. #define DSP_LAST8BYTE_R_ADDR 0x1FE6
  101. #define DSP_FRAME_ADDR   0x1FE8
  102. #define DSP_3D_ADDR 0x1FF2
  103. #define DSP_BIT_RATE_ADDR 0x1FF3
  104. #define DSP_DSP_SEC_ADDR 0x1FF4
  105. #define DSP_DSP_10MS_H_ADDR 0x1FF5
  106. #define DSP_DSP_10MS_L_ADDR 0x1FF6
  107. #define DSP_GAIN_ADDR 0x1FF0
  108. #define DSP_REC_VAD_ADDR 0x1FE1   //add by tne 2005/01/27 #1
  109. #define DSP_REC_VADON_H_ADDR 0x1FE4 //vicky051212#2
  110. #define DSP_REC_VADON_L_ADDR 0x1FE5 //vicky051212#2
  111. #define DSP_CDC_REQ_ADDR 0x1FED
  112. #define DSP_CDC_REG_ADDR 0x1FEE
  113. #define DSP_CDC_VAL_ADDR 0x1FEF
  114. #define DSP_FF_EN_ADDR 0x1FEA
  115. #define DSP_FF_PLAY_NUM_ADDR 0x1FEB
  116. #define DSP_FF_SKIP_NUM_ADDR 0x1FEC
  117. #define DSP_REW_OFFSET_ADDR 0x1FE9
  118. #define DSP_REW_EN_ADDR 0x1FE7
  119. #define DSP_WMA_PACKET_ADDR 0x1C95 //Vicky061003#4 write Packet Counter for Total time display
  120. #define DSP_DEC_ERR_FLG 0x1FE1 //vicky050601#4 Debug DEC //Vicky051209#1  (bit3=DSP Report "Need Flush")
  121. #define DSP_ENC_ERR_FLG 0x1FF6 //vicky050601#3 Debug ENC
  122. #define DSP_REQ_ADDR 0x1FF7
  123. #define DSP_EQ_ADDR 0x1FF1
  124. #define DSP_IN_W_IDX_ADDR 0x1FF8
  125. #define DSP_IN_R_IDX_ADDR 0x1FF9
  126. #define DSP_IN_BUF_EMPTY 0x1FFA
  127. #define DSP_OUT_W_IDX_ADDR 0x1FFB
  128. #define DSP_OUT_R_IDX_ADDR 0x1FFC
  129. #define DSP_OUT_BUF_EMPTY 0x1FFD
  130. #define DSP_LEFT_VOLUME_ADDR 0x1FFE
  131. #define DSP_RIGHT_VOLUME_ADDR 0x1FFF
  132. //----- DSP_MP3_IN_BUF_SIZE ----- //Renshuo050121#C
  133. //  1024:  DSP 1k word 
  134. // 2048:  DSP 2k word 
  135. #define DSP_MP3_IN_BUF_SIZE 1024  
  136. #define DSP_WAV_IN_BUF_SIZE 4096 //Vicky061028#2
  137. //add by tne 2004/10/27
  138. #define DSP_USER_EQ_LV1_ADDR 0x1FD0
  139. #define DSP_USER_EQ_LV2_ADDR 0x1FD1
  140. #define DSP_USER_EQ_LV3_ADDR 0x1FD2
  141. #define DSP_USER_EQ_LV4_ADDR 0x1FD3
  142. #define DSP_USER_EQ_LV5_ADDR 0x1FD4
  143. #define DSP_USER_EQ_LV6_ADDR 0x1FD5
  144. #define DSP_USER_EQ_LV7_ADDR 0x1FD6
  145. #define DSP_USER_EQ_LV8_ADDR 0x1FD7
  146. #define DSP_USER_EQ_LV9_ADDR 0x1FD8
  147. #define DSP_USER_EQ_LVA_ADDR 0x1FD9
  148. #define DSP_ENC_MODE 0x1ff5
  149. #define DSP_CK_ADDR 0x1000 //0x00A8 //old sub key dsp code use 0x00A8
  150. #define DSP_CK_BUSY_ADDR 0x0000
  151. #define DSP_SUB_KEY_R_ADDR 0x0100
  152. #define DSP_SUB_KEY_W_ADDR 0x1E82
  153. #define DSP_DECAY_MODE_ADDR                  0x1FDF      //  Jeff_051116
  154.  //Nick0060627 start
  155. #define DSP_REQ_FLUSH_ADDR                  0x1E17
  156. #define DSP_FLUSH_SECL_ADDR                  0x1E1A
  157. #define DSP_FLUSH_SECM_ADDR                  0x1E1B
  158. #define DSP_FLUSH_SECH_ADDR                  0x1E1C
  159.  //Nick0060627 end
  160. //WAVE Header
  161. #define WAV_HEADER_SIZE 58
  162. #define IMA_HEADER_SIZE 60//0x3c
  163. #define IMA_BLOCK_SIZE 512 //Vicky060811#3
  164. //Error Code
  165. #define ERR_NO_ERROR 0x00
  166. #define ERR_INIT_FLASH_ERR 0x01
  167. #define ERR_INIT_FONT_ERR 0x02
  168. #define ERR_INIT_FS_ERR 0x03
  169. #define ERR_INIT_REC_ERR 0x04
  170. #define ERR_INIT_REC_DIR_ERR 0x05 //add by tne 2005/01/17 #1
  171. #define ERR_INIT_NO_SPACE_ERR 0x06
  172. #define ERR_FS_NO_FILE_FOUND 0x12
  173. #define ERR_FS_EOF 0x13
  174. #define ERR_FS_DEVICE_IO_ERROR 0x14
  175. #define ERR_FS_INIT_ERROR 0x15
  176. #define ERR_FS_NO_SPACE 0x16
  177. #define ERR_FS_READ_ONLY 0x17 //tne 2006/06/06
  178. #define ERR_PE_DSP_CODE_ERROR 0x21
  179. //#define ERR_PE_MUSIC_ANALYZE_ERROR 0x22
  180. #define ERR_PE_FILE_ERROR 0x22
  181. #define ERR_PE_UNSUPPORT_FORMAT 0x23
  182. #define ERR_PE_NO_AUTHORITY 0x24
  183. #define ERR_RE_DSP_CODE_ERROR 0x31
  184. #define ERR_RE_INIT_ERROR 0x32
  185. //#define ERR_RE_FILE_ERROR 0x33
  186. //#define ERR_RE_COMMAND_ERROR 0x34
  187. #define ERR_RE_FILENUM_OUT_RANGE 0x33 //vicky050118
  188. #define ERR_NAND_TIME_OUT_READY 0x41
  189. #define ERR_NAND_TIME_OUT_SM_INT 0x42
  190. #define ERR_NAND_TIME_OUT_ECC_FINISH 0x43
  191. #define ERR_NAND_TIME_OUT_RA_INT 0x44
  192. #define ERR_NAND_ECC_ERROR 0x45
  193. #define ERR_NAND_TIME_OUT_RA_BANK_EMPTY 0x46
  194. #define ERR_NAND_TIME_OUT_IDMA_FINISH 0x47
  195. #define ERR_FM_INIT_ERROR 0x51
  196. #define ERR_FM_SEARCH_ERROR 0x52
  197. #define ERR_FM_NO_PRESET 0x53
  198. #define ERR_CARD_REMOVED 0x61
  199. //add by tne
  200. #define ERR_HOST_USER_CANCEL 0x71
  201. #define ERR_HOST_SEL_BUF_FULL 0x72
  202. #define ERR_HOST_WRITE_PROTECT 0x73
  203. #define ERR_HOST_DIR_TOO_DEEP 0x74
  204. #define ERR_HOST_NOT_SELECT 0x75
  205. #define ERR_HOST_NO_DEVICE 0x76
  206. #define ERR_HOST_DEVICE_NOT_READY 0x77 //050810
  207. #define ERR_HOST_TIMEOUT 0x78 //050816
  208. #define ERR_HOST_CHIPVERSION 0x79 //050922
  209. //tne CDB
  210. #define ERR_CDB_INIT_ERR 0x81
  211. #define ERR_CDB_USER_CANCEL 0x82
  212. #define ERR_CDB_END_OF_DB 0x83
  213. #define ERR_CDB_OVER_MAX 0x84
  214. #define ERR_IC_NOT_SUPPORT_FUN 0xA0 //Walace070504#1
  215. //Walace070507#1 start
  216. //#define VIDEO_ERR_NO_ERROR 0x00
  217. #define ERR_VIDEO_UNKNOW_FORMAT 0xB0
  218. #define ERR_VIDEO_OVER_SCREEN 0xB1
  219. #define ERR_VIDEO_NOT_SUPPORT_FORMAT 0xB2 
  220. #define ERR_VIDEO_NOT_SUPPORT_OLD_FORMAT 0xB3 
  221. //Walace070507#1 end
  222. //backup sram address map(48 Bytes)
  223. //Save Setting Address (Not support Non-Flash)
  224. #define SRAM_LAST_MODE 0x00
  225. //#define SRAM_FILE_NUMBER_H 0x01
  226. //#define SRAM_FILE_NUMBER_L 0x02
  227. #define SRAM_LAST_PLAY_TIME 0x01
  228. #define SRAM_LANGUAGE_TYPE 0x03
  229. #define SRAM_VOLUME 0x04
  230. #define SRAM_EQ 0x05
  231. #define SRAM_REPT_MODE 0x06
  232. #define SRAM_CONTRAST 0x07
  233. #define SRAM_BACK_LIGHT 0x08
  234. #define SRAM_STORAGE 0x09
  235. //tne 2006/01/16
  236. #define SRAM_DVR_EQ 0x0A
  237. #define SRAM_DVR_3D 0x0B
  238. //#define SRAM_TOTAL_FILE_H 0x0A
  239. //#define SRAM_TOTAL_FILE_L 0x0B
  240. //#define SRAM_SAMPLE_NUM_H 0x0C
  241. //#define SRAM_SAMPLE_NUM_MH 0x0D
  242. //#define SRAM_SAMPLE_NUM_ML 0x0e
  243. //#define SRAM_SAMPLE_NUM_L 0x0f
  244. //add by tne for s-clock //Tne050325
  245. #define SRAM_CLOCK_OFFSET1 0x0C
  246. #define SRAM_CLOCK_OFFSET2 0x0D
  247. #define SRAM_CLOCK_OFFSET3 0x0E
  248. #define SRAM_CLOCK_OFFSET4 0x0F
  249. #define SRAM_DVR_REPEAT_MODE 0x10
  250. //UI for class
  251. #define SRAM_PLAY_CLASS_MODE 0x11
  252. #define SRAM_MSC_MODIFY_FLAG 0x12
  253. #if(_PEDOMETER_Mode_)
  254. #define SRAM_CUSTOMERAGE 0x13
  255. #define SRAM_CUSTOMERSTATURE 0x14
  256. #define SRAM_CUSTOMERWEIGHT 0x15
  257. #define SRAM_CUSTOMERSTRIDE 0x16
  258. #define SRAM_CUSTOMERSEX 0x17
  259. #endif
  260. //#define SRAM_TIME_ZONE 0x1a
  261. #define SRAM_DRM_OPTION_MODE 0x1b
  262. #define SRAM_VAD_MODE 0x1c
  263. // bit 7 6 5 4 3 2 1 0 //tne 2006/01/16
  264. //     | | | | | | |(x) VAD OFF/ON
  265. //     | | | | | |(x)   AGC OFF/ON
  266. //modify bytne 2004/11/12
  267. #define SRAM_BYT_LOW_FLAG 0x1d
  268. //#define SRAM_FM_PRESET_14 0x1d
  269. // modify by tne 2004/10/27
  270. #define SRAM_USER_EQ_LV1 0x1e
  271. #define SRAM_USER_EQ_LV2 0x1f
  272. #define SRAM_USER_EQ_LV3 0x20
  273. #define SRAM_USER_EQ_LV4 0x21
  274. #define SRAM_USER_EQ_LV5 0x22
  275. #define SRAM_USER_EQ_ALL 0x23
  276. #define SRAM_LAST_DVR_TIME 0x24
  277. #define SRAM_SPECTRUM_MODE 0x27 //tne 2005/07/24 //Lcd Spectrum
  278. #define SRAM_FM_PRESET_NUM 0x29
  279. #define SRAM_AUTO_OFF_H 0x2a //bit: 7 6 5 4 3 2 1 0  7 6 5 4 3 2 1 0
  280. #define SRAM_AUTO_OFF_L 0x2b //    | | | | | | | |  | | | | | | | |
  281. //    | |(x x x x x x  x x x x x x x x) Auto off Value(Minute)
  282. //    | Playback don't auto off
  283. //   Auto Off Option
  284. //FW Charger stop SADC //Chris070523#1  // Chris070521#1
  285. #define SRAM_CHARGER_STOP_SADC 0x2B
  286. #define SRAM_REC_S_Q 0x2c //bit: 7 6 5 4 3 2 1 0
  287. //    | | | | | | | |
  288. //    | | | |(x x x x) Rec Quality
  289. //    (x x x x) Rec Source
  290. //MTP Send Finish //Chris070111#4 //for record cancel
  291. #define SRAM_MTP_SEND_FINISH 0x2D
  292. #define SRAM_3D 0x2d
  293. #define SRAM_RECORD_ID1 0x2E  // Validation of setting area
  294. #define SRAM_RECORD_ID2 0x2F  // 
  295. #define SRAM_TIME_ZONE 0x30 //Tne050325
  296. //Add by Tne 2005/05/17
  297. #define SRAM_LAST_RTC_TIME 0x31
  298. #define SRAM_LAST_ALARM_TIME 0x35
  299. #define SRAM_LAST_CK_OFFSET 0x39
  300. #define SRAM_LAST_DRM_OPTION 0x3D
  301. /////
  302. //Renshuo050603#A  for playing resume
  303. #define SRAM_PLAY_LAST_FILESECTOR 0x3E
  304. #define SRAM_PLAY_LAST_FILESIZE 0x42
  305. #define SRAM_PLAY_LAST_FRAMENUM 0x46
  306. //Walace060931#1 start
  307. #define SRAM_DVR_LAST_FILESECTOR 0x4A
  308. #define SRAM_DVR_LAST_FILESIZE 0x4E
  309. #define SRAM_DVR_LAST_FRAMENUM 0x52 // 4 byte
  310. #define SRAM_VIDEO_LAST_FILESECTOR 0x56 // 4 byte
  311. #define SRAM_VIDEO_LAST_PLAY_TIME 0x5A //0x5A~0x5B
  312.       // intro mode 
  313. #define SRAM_INTRO 0x5C
  314. //UI for class
  315. #define SRAM_CLASS_ADDR_POINT 0x5D // 4 bytes
  316. #define SRAM_FILE_NUM_IN_ALL_CLASS 0x61 // 2 bytes
  317. #define SRAM_TOTAL_NUM_IN_ALL_CLASS 0x63 // 2 bytes
  318. #define SRMA_TOTAL_NUM_IN_CLASS 0x65 // 2 bytes
  319. #define SRAM_SLIDE_SHOW_DATA               0x67  // 1 bytes
  320. #define SRAM_VIDEO_REPEAT_MODE           0x68  // 1 bytes
  321. //tne 2006/01/16
  322. #define SRAM_DVR_USER_EQ_LV1 0x69// 1 bytes
  323. #define SRAM_DVR_USER_EQ_LV2 0x6A // 1 bytes
  324. #define SRAM_DVR_USER_EQ_LV3 0x6B // 1 bytes
  325. #define SRAM_DVR_USER_EQ_LV4 0x6C // 1 bytes
  326. #define SRAM_DVR_USER_EQ_LV5 0x6D // 1 bytes
  327. #define SRAM_DVR_USER_EQ_ALL 0x6E // 1 bytes
  328. //Walace060930#1 start
  329. #define SRAM_SD_MODIFY_FLAG 0x6F // 1 bytes
  330. #define SRAM_RECING_FILE_SEC 0x70 // 4 bytes
  331. #define SRAM_RECING_ENTRY_OFF 0x74 // 2 bytes
  332. #define SRAM_RECING_ENTRY_SEC 0x76 // 4 bytes
  333. #define SRAM_RECING_FLAG 0x7A // 1 bytes
  334. #define SRAM_FM_STATE  0x80  //Walace060217#1 //Walace060419#1  end
  335. #define SRAM_FM_FREQ 0x81 // 2bytes 0x81~0x82
  336. #define SRAM_LAST_PLAY_FILE 0x83 // 11 bytes 0x83~0x8D
  337. #define SRAM_LAST_DVR_FILE 0x8E // 11 bytes 0x8E~0x98
  338. #define SRAM_LAST_VIDEO_FILE 0x99 // 11 bytes 0x99~0xA3
  339. #define SRAM_PLAY_PATH_DEPTH 0xA4  // 0xA6~ current playing file path depth
  340. #define SRAM_VIDEO_PATH_DEPTH 0xA5  // current playing file path depth
  341. #define SRAM_NORMAL_SETTING_END   0xA5 // 167
  342. #define SRAM_GAME_LEVEL_RUSSIAN  0x162   //TONY060515
  343. #define SRAM_GAME_LEVEL_SNAKE  0x163
  344. #define SRAM_GAME_LEVEL_BOXMAN  0x164
  345. #define SRAM_GAME_LEVEL_TANK            0x165
  346. #define SRAM_GAME_LEVEL_GOB             0x166
  347. #define SRAM_LAST_EBOOK_FILE 0xB7 //0xB7~0xC1 //Walace070509#1
  348. #define SRAM_EBOOK_PAGE 0xC2 //0xC2  //Walace070509#1
  349. #define SRAM_SETTING_END_ADRESS 0x200
  350. #define SRAM_FM_PRESET_LENGTH ((FM_MAX_PRESET+1)<<1) // 10*2 = 20 //Walace061206#2
  351. #define SRAM_FM_PRESET_START SRAM_SETTING_END_ADRESS-SRAM_FM_PRESET_LENGTH
  352. // 512-20 = 492
  353. #define SRAM_PLAY_PATH_LENGTH       (MAX_PATH_DEPTH*11)
  354. #define SRAM_PLAY_PATH_START (SRAM_FM_PRESET_START-SRAM_PLAY_PATH_LENGTH) 
  355. // 492-55 = 437 if(MAX_PATH_DEPTH = 5)
  356. // 492-110 = 382  if(MAX_PATH_DEPTH = 10)
  357. #define SRAM_VIDEO_PATH_LENGTH     (MAX_PATH_DEPTH*11)
  358. #define SRAM_VIDEO_PATH_START (SRAM_PLAY_PATH_START-SRAM_VIDEO_PATH_LENGTH)
  359.                                                                // 437-55 = 382   if(MAX_PATH_DEPTH = 5)
  360. // 382-110 = 272  if(MAX_PATH_DEPTH = 10)
  361. // Walace061028#1
  362. //The max file depth for current SDK
  363. // Total setting size - normal used setting size - fm setting size = unuesd size  (except file depth)
  364. // 512 - 167 - 20 =  325 , 
  365. // Max depth could be determined as follows caculation.
  366. // 325 / (11*2(Play+Video)) = 14.7 
  367. //Walace060931#1 end
  368. //Scott061114 Start
  369. #define SRAM_RESTORE_FLAG 0x90
  370. #define SRAM_RESTORE_ORG_BFFLAG 0x92
  371. #define SRAM_RESTORE_ORG_LOGBLK 0x94
  372. #define SRAM_RESTORE_ORG_PHYBLK 0x96
  373. #define SRAM_RESTORE_NEW_PHYBLK 0x98
  374. //Scott061114 End
  375. //Location (byte offset) of Program Module Index 
  376. #define PM_INIT 4 //PM0
  377. //#define PM_PLAY_FAT12_SMALL 8 //PM1
  378. //#define PM_PLAY_FAT16_SMALL 12 //PM2
  379. #define PM_DIR_DEL 16 //PM3 //tne dir del
  380. #define PM_INIT_CHK 20 //PM4
  381. //#define PM_PLAY_FAT16_LARGE 24 //PM5
  382. #define PM_PLAY_FAT_LARGE 24 //PM5
  383. //#define PM_PLAY_FAT32_LARGE 28 //PM6
  384. //#define PM_REC_FAT12_SMALL 32 //PM7
  385. //#define PM_REC_FAT16_SMALL 36 //PM8
  386. //#define PM_REC_FAT32_SMALL 40 //PM9
  387. //#define PM_REC_FAT12_LARGE 44 //PM10
  388. #define PM_PLAY_DEL 28 //PM6
  389. #define PM_PLAY_FILE_LIST 32          //PM7
  390. #define PM_DVR_FILE_LIST 36 //PM8
  391. #define PM_PLAY_MENU 40 //PM9
  392. #define PM_DVR_MENU 44 //PM10
  393. //#define PM_REC_FAT16_LARGE 48 //PM11
  394. #define PM_REC_FAT_LARGE 48 //PM11
  395. //#define PM_REC_FAT32_LARGE 52 //PM12
  396. #define PM_DVR_REC_MENU 52 //PM12
  397. #define PM_FM 56 //PM13
  398. #define PM_SYSTEM 60 //PM14
  399. #define PM_PLAY_DVR 64 //PM15
  400. #define PM_SAVE_SETTING 68 //PM16
  401. #define PM_PHOTO_VIEW                       72         //PM17
  402. #define PM_SLIDE_SHOW                       76         //PM18
  403. #define PM_USB 84 //PM20
  404. #define PM_MTP 88 //PM21
  405. #define PM_HOST 92 //PM22
  406. #define PM_HOST_COPY 96  //Tne050412#1 //PM23
  407. #define PM_MTP_INIT 100 //PM24 //tne 2005/05/06
  408. //tne CDB
  409. #define PM_CLASS_LIST 104 //PM25
  410. //Walace060130 #VideoFileList
  411. #define PM_VIDEO                                  108         //PM26   //Walace051106#Video
  412. #define PM_VIDEO_FLIST                       112         //PM27   //Walace051106#Video
  413. #define PM_VIDEO_MENU                       116         //PM28   //Walace051106#Video
  414. //
  415. #define PM_PLAY_PRC                            120          //PM29  //Walace061011 PlayProcess
  416. #define PM_DVR_PRC                            124           //PM30   //Walace061011 PlayProcess
  417. #define PM_PLAY_DATA_RTN_RESTORE 128 //PM31 //Nick061120 //NandRestore
  418. #define PM_EBOOK                                  152         //PM37 //Tony 070109
  419. //Vicky060301 for Further Amuse
  420. #define PM_AMUSE 156  //PM38
  421. //End
  422. //#if(UI_CUSTOM_EQ_LOAD_FROM_NAND) //Walace060209#1
  423. #define PM_FONT_COFIG_DATA 160 //PM39
  424. //#endif
  425. #define PM_WMA_ENC_PM 164 //PM40
  426. #define PM_WMA_ENC_DMX 168 //PM41
  427. #define PM_WMA_ENC_DMY1 172 //PM42
  428. #define PM_WMA_ENC_DMY2 176 //PM43
  429. #define PM_MTP_CONST 184 //PM45 //David 050504
  430. #define PM_GENRE_TABLE 188 //PM46
  431. #define PM_FAT32_PBR 196 //PM48 //tne 2005/05/10
  432. #define PM_FAT16_PBR 200 //PM49 //tne 2005/04/28
  433. #define PM_TABLE_BIG5_UNI 204 //PM50
  434. //#define PM_TABLE_UNI_BIG5 208 //PM51
  435. #define PM_TABLE_GB_UNI 212 //PM52
  436. #define PM_TABLE_KSC_UNI 216 //PM53
  437. //#define PM_TABLE_RS_UNI 220 //PM54
  438. #define PM_TABLE_CP_UNI 220 //PM54
  439. #define PM_TABLE_JIS_UNI 224 //PM55
  440. #define PM_DSP_MP3_DMY2 228 //PM56 //David050816
  441. #define PM_DSP_MP3_ENC_PM 232 //PM57
  442. #define PM_DSP_MP3_ENC_DMX 236 //PM58
  443. #define PM_DSP_MP3_ENC_DMY 240 //PM59
  444. #define PM_DSP_MP3_PM 244 //PM60
  445. #define PM_DSP_MP3_DMX 248 //PM61
  446. #define PM_DSP_MP3_DMY 252 //PM62
  447. #define PM_DSP_WMA_PM 256
  448. #define PM_DSP_WMA_DMX 260
  449. #define PM_DSP_WMA_DMY1 264
  450. #define PM_DSP_WMA_DMY2 280
  451. #define PM_DSP_WMA_H_PM 256 //PM63
  452. #define PM_DSP_WMA_H_DMX 260 //PM64
  453. #define PM_DSP_WMA_H_DMY 264 //PM65
  454. #define PM_DSP_VER 268 //PM66
  455. #define PM_DSP_WMA_L_PM 272 //PM67
  456. #define PM_DSP_WMA_L_DMX 276 //PM68
  457. #define PM_DSP_WMA_L_DMY 280 //PM69
  458. #define PM_DSP_WMA_16O_DMY 284 //PM70
  459. #define PM_DSP_WMA_44Q_DMY 288 //PM71
  460. #define PM_DSP_WMA_44O_DMY 292 //PM72
  461. #define PM_DSP_MP2_PM 296 //PM73
  462. #define PM_DSP_MP2_DMX 300 //PM74
  463. #define PM_DSP_MP2_DMY 304 //PM75
  464. //Vicky051028#1 START
  465. #define PM_DSP_MP1_PM PM_DSP_MP2_PM
  466. #define PM_DSP_MP1_DMX PM_DSP_MP2_DMX
  467. #define PM_DSP_MP1_DMY PM_DSP_MP2_DMY
  468. //Vicky051028#1 End
  469. #define PM_DSP_OGG_PM 308 //PM76
  470. #define PM_DSP_OGG_DMX 312 //PM77
  471. #define PM_DSP_OGG_DMY1 316 //PM78
  472. #define PM_DSP_OGG_DMY2 320 //PM79
  473. #define PM_DSP_ADPCM_PM 324 //PM80
  474. #define PM_DSP_ADPCM_DMX 328 //PM81
  475. #define PM_DSP_ADPCM_DMY 332 //PM82
  476. #define PM_DSP_ECC_PM 336 //PM83
  477. #define PM_DSP_ECC_DMX 340 //PM84
  478. #define PM_DSP_DES_PM 344 //PM85
  479. #define PM_DSP_DES_DMY 348 //PM86
  480. #define PM_DSP_ADPCM_ENC_PM 352 //PM87
  481. #define PM_DSP_ADPCM_ENC_DMX 356 //PM88
  482. #define PM_DSP_ADPCM_ENC_DMY 360 //PM89
  483. #define PM_FONT_UNI_00 364 //PM90
  484. #define PM_FONT_UNI_01 368 //PM91
  485. #define PM_FONT_UNI_02 372 //PM92
  486. #define PM_FONT_UNI_03 376 //PM93
  487. #define PM_FONT_UNI_04 380 //PM94
  488. #define PM_FONT_UNI_05 384 //PM95
  489. #define PM_FONT_UNI_06 388 //PM96
  490. #define PM_FONT_UNI_07 392 //PM97
  491. #define PM_FONT_UNI_08 396 //PM98
  492. #if(!_C_MODE_)   // Jeff070125#1 start
  493. #define PM_FONT_SYS 400 //PM99
  494. #endif
  495. #define PM_FONT_EN 404 //PM100
  496. #if(_C_MODE_)
  497. // WHH #3 301_061225(start)
  498. #define PM_FONT_SYS_1 408 //PM101
  499. #define PM_FONT_SYS_2 412 //PM102
  500. #define PM_FONT_MENU_1 416 //PM103
  501. #define PM_FONT_MENU_2 420 //PM104
  502. #define PM_FONT_MENU_3 424 //PM105
  503. #define PM_FONT_GAME 428 //PM106
  504. // WHH #3 301_061225(end)
  505. #endif
  506. //#define PM_FONT_TW 408 //PM101
  507. //#define PM_FONT_CN 412 //PM102
  508. #define PM_FONT_ANIMATION 432 //PM107
  509. #if(_C_MODE_)
  510. #define PM_FONT_CLOSE_ANI 436 //PM108 //tne 2007/01/04 #1
  511. #else
  512. #define PM_FONT_UNI 436 //PM108
  513. #endif            // Jeff070125#1 end
  514. #define PM_RDS 440 //PM 109 // WHH070322
  515. #define PM_STRING_EN 444 //PM110
  516. #define PM_STRING_TW 448 //PM111
  517. //#define PM_STRING_JP 452 //PM112
  518. //#define PM_STRING_KS 456 //PM113
  519. #define PM_STRING_POL 452
  520. #define PM_STRING_ITL 456     
  521. #define PM_STRING_CN 460 //PM114
  522. #define PM_STRING_GM 464 //PM115
  523. #define PM_STRING_FR 468 //PM116   
  524. #define PM_STRING_SP 472 //PM117
  525. #define PM_STRING_POR 476 //PM118
  526. // jpeg
  527. #define PM_DSP_JPG_PM                        480        //PM119
  528. #define PM_DSP_JPG_DMX                      484        // PM120
  529. #define PM_DSP_JPG_DMY                      488        // PM121
  530. // motion jpeg 
  531. #define PM_DSP_VIDEO_PMI                  123        //PM122    123 = 122+1
  532. #define PM_DSP_MTV_PM                        0        //SUBPMI000   //Walace051116
  533. #define PM_DSP_MTV_DMX                      1       // SUBPMI001
  534. #define PM_DSP_MTV_DMY                      2        // SUBPMI002
  535. #define PM_DSP_MTV_PM_ADPCM           3        //SUBPMI003   //Walace061101#1
  536. #define PM_DSP_MTV_DMX_ADPCM         4       // SUBPMI004   //Walace061101#1
  537. #define PM_DSP_MTV_DMY_ADPCM         5        // SUBPMI005  //Walace061101#1
  538. #define PM_DSP_MTV_PM_ADPCM_HQ     6        //SUBPMI006   //Walace061226#1
  539. #define PM_DSP_MTV_DMX_ADPCM_HQ   7       // SUBPMI007  //Walace061226#1
  540. #define PM_DSP_MTV_DMY_ADPCM_HQ   8        // SUBPMI008  //Walace061226#1
  541. //metering
  542. #define PM_DSP_METERING_PMI 496 //PM123 //Chris 060825 #1
  543. #define PM_DSP_METERING_PM 0
  544. #define PM_DSP_METERING_DMX 1
  545. #define PM_DSP_VIDEO_PMI_V1            125        //PM124   125 = 124+1 //Walace070329#1
  546. #define PM_CONFIG 508
  547. //Font table index
  548. #if(_C_MODE_)    // Jeff 070125#1 
  549. //  WHH #9 301_061229(start)
  550. #define FONT_SYS 0
  551. #define FONT_SYS_1 1
  552. #define FONT_SYS_2 2
  553. #define FONT_MENU_1  3
  554. #define FONT_MENU_2  4
  555. #define FONT_MENU_3  5
  556. #define FONT_GAME  6
  557. #define FONT_EN 7
  558. #define FONT_UNI_00 8
  559. #define FONT_UNI_01 9
  560. #define FONT_UNI_02 10
  561. #define FONT_UNI_03 11
  562. #define FONT_UNI_04 12
  563. #define FONT_UNI_05 13
  564. #define FONT_UNI_06 14
  565. #define FONT_UNI_07 15
  566. #define FONT_UNI_08 16
  567. #define FONT_ANIMATION 17
  568. #define FONT_TRN_TABLE 18
  569. #define FONT_CLOSE_ANI 19 //tne 2007/01/04 #1
  570. #if(UI_CUSTOM_EQ_LOAD_FROM_NAND)
  571. #define FONT_CONFIG_DATA 20
  572. #endif
  573. //  WHH #9 301_061229(end)
  574. #else
  575. #define FONT_SYS 0
  576. #define FONT_EN 1
  577. //#define FONT_TW 2
  578. //#define FONT_CN 3
  579. #define FONT_UNI_00 4
  580. #define FONT_UNI_01 5
  581. #define FONT_UNI_02 6
  582. #define FONT_UNI_03 7
  583. #define FONT_UNI_04 8
  584. #define FONT_UNI_05 9
  585. #define FONT_UNI_06 10
  586. #define FONT_UNI_07 11
  587. #define FONT_UNI_08 12
  588. #define FONT_ANIMATION 14 //add by tne 2004/11/18 #1
  589. //#define FONT_UNI 9
  590. //tne 2005/08/08 //Only keep current transfer table index
  591. #define FONT_TRN_TABLE 15
  592. #if(UI_CUSTOM_EQ_LOAD_FROM_NAND) //Walace060209#1
  593.         #define FONT_CONFIG_DATA                  16
  594. #endif
  595. #if(UI_CUSTOM_EQ_WITH_COMP)
  596. #define FONT_CONFIG_EQ_TABLE            1
  597. #else
  598. #define FONT_CONFIG_EQ_TABLE            0
  599. #endif
  600. #define FONT_CONFIG_EQ_TABEL_MP3_WMA   0  //0~0x63 0~149 150
  601. #define FONT_CONFIG_EQ_TABEL_ADPCM   0x96 // 0x96~0xc8  150~249 100
  602. #endif
  603. /*
  604. #define FONT_BIG2UNI 15
  605. //#define FONT_UNI2BIG 16
  606. #define FONT_JIS2UNI 16
  607. #define FONT_GB2UNI 17
  608. #define FONT_KSC2UNI 18
  609. #define FONT_CP2UNI 19
  610. //#define FONT_RS2UNI 19
  611. */
  612. //DIVF SETTING
  613. //vicky050609#1 start
  614. #define DIVF_DEF 0x00
  615. #define DIVF_FAST 0x01
  616. #define DIVF_MID1 0x02
  617. #define DIVF_MID2 0x04
  618. #define DIVF_RES 0x05
  619. #define DIVF_MCU 0x10
  620. #define DIVF_SRAM 0x20
  621. #define DIVF_SM 0x40
  622. #define D_MCU_DEF (DIVF_MCU|DIVF_DEF)
  623. #define D_MCU_FAST (DIVF_MCU|DIVF_FAST)
  624. #define D_MCU_MID1 (DIVF_MCU|DIVF_MID1)
  625. #define D_MCU_MID2 (DIVF_MCU|DIVF_MID2)
  626. #define D_SRAM_DEF (DIVF_SRAM|DIVF_DEF)
  627. #define D_SRAM_FAST (DIVF_SRAM|DIVF_FAST)
  628. #define D_SRAM_MID1 (DIVF_SRAM|DIVF_MID1)
  629. #define D_SRAM_MID2 (DIVF_SRAM|DIVF_MID2)
  630. #define D_SM_DEF (DIVF_SM|DIVF_DEF)
  631. #define D_SM_FAST (DIVF_SM|DIVF_FAST)
  632. #define D_SM_MID1 (DIVF_SM|DIVF_MID1)
  633. #define D_SM_MID2 (DIVF_SM|DIVF_MID2)
  634. //vicky050609#1 end
  635. //EQ Mode
  636. #define EQ_NORMAL 0
  637. #define EQ_POP 1
  638. #define EQ_ROCK 2//modify by tne 2004/12/20 #2
  639. #define EQ_CLASSIC 3
  640. #define EQ_JAZZ 4
  641. #define EQ_BASS 5
  642. #define EQ_USER 6
  643. #define EQ_MODE_MAX EQ_USER
  644. #define EQ_MODE_DEFAULT EQ_NORMAL
  645. #define USER_EQ_DEFAULT 7
  646. //Repeat Mode
  647. #define NO_REPEAT 0  
  648. #define SINGLE_REPEAT 1
  649. #define ALL_REPEAT 2 
  650. #define RND_ALL_REPEAT 3 
  651. #define RND_REPEAT 4
  652. #define LIST_REPEAT 5
  653. #define REPT_MODE_DEFAULT NO_REPEAT
  654. //String type
  655. #define STRING_TYPE_ASCII 0
  656. #define STRING_TYPE_UNICODE 1
  657. //Language type (gxbLangueType)
  658. #define LANGUAGE_TYPE_AFR 0 //Afrikaans
  659. #define LANGUAGE_TYPE_ALB 1 //Albanian
  660. #define LANGUAGE_TYPE_ARA 2 //Arabic
  661. #define LANGUAGE_TYPE_AZE 3 //Azeri
  662. #define LANGUAGE_TYPE_BAQ 4 //Basque
  663. #define LANGUAGE_TYPE_BEL 5 //Belarusian
  664. #define LANGUAGE_TYPE_BUL 6 //Bulgarian
  665. #define LANGUAGE_TYPE_CTL 7 //Catalan
  666. #define LANGUAGE_TYPE_TW 8 //Taiwan
  667. #define LANGUAGE_TYPE_CN 9 //Chinese
  668. #define LANGUAGE_TYPE_CRO 10 //Croatian
  669. #define LANGUAGE_TYPE_CZE 11 //Czech
  670. #define LANGUAGE_TYPE_DAN 12 //Danish
  671. #define LANGUAGE_TYPE_DUT 13 //Dutch
  672. #define LANGUAGE_TYPE_EN 14 //English
  673. #define LANGUAGE_TYPE_EST 15 //Estonian
  674. #define LANGUAGE_TYPE_FRO 16 //Faroese
  675. #define LANGUAGE_TYPE_FRI 17 //Farsi
  676. #define LANGUAGE_TYPE_FIN 18 //Finnish
  677. #define LANGUAGE_TYPE_FR 19 //French
  678. #define LANGUAGE_TYPE_GAL 20 //Galician
  679. #define LANGUAGE_TYPE_GM 21 //German
  680. #define LANGUAGE_TYPE_GRK 22 //Greek
  681. #define LANGUAGE_TYPE_HEB 23 //Hebrew
  682. #define LANGUAGE_TYPE_HUN 24 //Hungarian
  683. #define LANGUAGE_TYPE_ICE 25 //Icelandic
  684. #define LANGUAGE_TYPE_IDN 26 //Indonesian
  685. #define LANGUAGE_TYPE_ITL 27 //Italian
  686. #define LANGUAGE_TYPE_JP 28 //Japen
  687. #define LANGUAGE_TYPE_KAZ 29 //Kazakh
  688. #define LANGUAGE_TYPE_KS 30 //Korean
  689. #define LANGUAGE_TYPE_KYR 31 //Kyrgyz
  690. #define LANGUAGE_TYPE_LAV 32 //Latvian
  691. #define LANGUAGE_TYPE_LTN 33 //Lithuanian
  692. #define LANGUAGE_TYPE_MAC 34 //Macedonian
  693. #define LANGUAGE_TYPE_MAL 35 //Malay
  694. #define LANGUAGE_TYPE_MGL 36 //Mongolian
  695. #define LANGUAGE_TYPE_NOW 37 //Norwegian
  696. #define LANGUAGE_TYPE_POL 38 //Polish
  697. #define LANGUAGE_TYPE_POR 39 //Portugues
  698. #define LANGUAGE_TYPE_ROM 40 //Romanian
  699. #define LANGUAGE_TYPE_RS 41 //Russia
  700. #define LANGUAGE_TYPE_SER 42 //Serbian
  701. #define LANGUAGE_TYPE_SVK 43 //Slovak
  702. #define LANGUAGE_TYPE_SVN 44 //Slovenian
  703. #define LANGUAGE_TYPE_SP 45 //Spanish
  704. #define LANGUAGE_TYPE_SWA 46 //Swahili
  705. #define LANGUAGE_TYPE_SWE 47 //Swedish
  706. #define LANGUAGE_TYPE_TAT 48 //Tatar
  707. #define LANGUAGE_TYPE_THA 49 //Thai
  708. #define LANGUAGE_TYPE_TUR 50 //Turkish
  709. #define LANGUAGE_TYPE_UKR 51 //Ukrainian
  710. #define LANGUAGE_TYPE_URD 52 //Urdu
  711. #define LANGUAGE_TYPE_UZB 53 //Uzbek
  712. #define LANGUAGE_TYPE_VIE 54 //Vietnamese
  713. #define LANGUAGE_TYPE_MAX 8//LANGUAGE_TYPE_VIE
  714. #define LANGUAGE_TYPE_DEFAULT LANGUAGE_TYPE_EN
  715. //Device Mode
  716. #define DEV_INIT        0x00 //tne 2005/05/07
  717. #define DEV_MUSIC 0x01
  718. #define DEV_DVR 0x02
  719. #define DEV_FM 0x03
  720. #define DEV_SYS 0x04
  721. #define DEV_HST 0x05
  722. #define DEV_PHO                                     0x06
  723. #define DEV_SLS                                     0x07
  724. #define DEV_VIDEO                                 0x08  //Walace051106#Video
  725. #define DEV_SAVE 0x09 // WHH #1 301_061220
  726. #define DEV_USB 0x10
  727. #define DEV_MTP 0x11 //tne 2005/05/07
  728. #define DEV_FILE_CTRL 0x12 //tne 2007/01/12 #1
  729. #define DEV_AMUSE 0x1F //Vicky060301
  730. //Record Source
  731. // gxbRecSource
  732. #define REC_S_MIC_IN 0x00
  733. #define REC_S_LINE_IN 0x01
  734. #define REC_S_DEFAULT REC_S_MIC_IN
  735. //Record Quality
  736. // gxbRecQuality
  737. #define REC_Q_HIGH 0x00
  738. #define REC_Q_NORMAL 0x01
  739. #define REC_Q_LOW 0x02
  740. //Vicky050311#2 //LINE-IN/FM MIC-IN
  741. #define REC_Q_L6 0x05 // 320Kbps, 44.1KHz, Stereo // 192Kbps, 44.1KHz, Stereo
  742. #define REC_Q_L5 0x04 // 256Kbps, 44.1KHz, Stereo // 128Kbps, 44.1KHz, Stereo
  743. #define REC_Q_L4 0x03 // 192Kbps, 44.1KHz, Stereo //  64Kbps, 22.05KHz, Stereo
  744. #define REC_Q_L3 0x02 // 128Kbps, 44.1KHz, Stereo //  32Kbps, 16KHz, Mono
  745. #define REC_Q_L2 0x01 //  64Kbps, 22.05KHz,Stereo //  16Kbps, 12KHz, Mono
  746. #define REC_Q_L1 0x00 //  32Kbps,   16KHz,   Mono //  32Kbps, 8KHz, Mono (ADPCM)
  747. #if(UI_USE_LINE_REC_QTY)//David 050317
  748. #define REC_Q_DEFAULT REC_Q_L1
  749. #define REC_Q_LOWEST REC_Q_L1
  750. #else
  751. #define REC_Q_DEFAULT REC_Q_LOW
  752. #define REC_Q_LOWEST REC_Q_LOW
  753. #endif
  754. //3D
  755. // gxw3DMode
  756. #define SOUND_3D_ON 1
  757. #define SOUND_3D_OFF 0
  758. #define SOUND_3D_DEFAULT SOUND_3D_OFF
  759. //VAD 
  760. // gfVADMode 
  761. #define REC_VAD_ON 1
  762. #define REC_VAD_OFF 0
  763. #define REC_VAD_DEFAULT REC_VAD_OFF
  764. #define REC_VAD_EN_MODE 0x01 //tne 2006/01/16
  765. //Walace060224#1 start
  766. #define VAD_LINEIN_THR_H 0x03;
  767. #define VAD_LINEIN_THR_L 0x9DF4;
  768. #define VAD_MICIN_MP3_THR_H 0x03;
  769. #define VAD_MICIN_MP3_THR_L 0x9DF4;
  770. #define VAD_MICIN_ADPCM_THR_H 0x03;
  771. #define VAD_MICIN_ADPCM_THR_L 0x9DF4;
  772. #define VAD_DELAY_0_2_SEC 10 // 10*0.2 = 2 second // unit = 0.2 sec
  773. //Walace060224#1 end
  774. //tne 2006/01/16 //Walace060727#1 start
  775. //AGC
  776. #define REC_AGC_ON 1
  777. #define REC_AGC_OFF 0
  778. #define REC_AGC_DEFAULT REC_AGC_OFF
  779. #define REC_AGC_EN_MODE 0x02
  780. #define REC_AGC_DEF_HI_BOUND 5000//9830 // 0.3 = 9830/32767
  781. #define REC_AGC_DEF_LO_BOUND 10//2293       // 0.07 = 2293/32767 
  782. #define REC_AGC_DEF_NO_LO_BOUND 1        // very small
  783. //Detemine the AGC hi and low bound condition  //Walace060726 
  784. //REC_AGC_DEF_HI_BOUND = 9830 (Dsp encode digital value)
  785. //dB=20*log(REC_AGC_DEF_HI_BOUND/32767)  = -10.457 dB
  786. //
  787. //if use the changing PGA gain (AGC_USE_DSP_GAIN=0) to implememt AGC
  788. //the limitation of ADC_PGA gain : 3.65db (0x7) --  -35.1db(0x1f) 
  789. //
  790. //
  791. //Walace060727#1 end
  792. #define PLAY_CHECK_MUTEPA 0x80 //Vicky060127#1
  793. //Rec Type
  794. // gxbRecType 7 6 5 4 3 2 1 0
  795. // | | | | | | | |
  796. //     | | |(- - - - -)Type
  797. // | | x 
  798. //     | Channel
  799. //     Processor
  800. #define REC_PROCESSOR 0x80
  801. #define REC_CHANNEL 0x40
  802. #define REC_TYPE 0x1F
  803. #define REC_MCU 0x00 //Processor
  804. #define REC_DSP 0x80
  805. #define REC_MONO 0x00 //Channel
  806. #define REC_STEREO 0x40
  807. #define REC_TYPE_ADPCM 0x01 //Type
  808. #define REC_TYPE_MP3_QCD 0x02
  809. #define REC_TYPE_MP3_QFM 0x03
  810. #define REC_TYPE_MP3_QVOC 0x04
  811. #define REC_TYPE_MP3_QVOCH 0x05 //add by Jeremy 2004/01/21
  812. //Vicky050311#2
  813. #define REC_TYPE_MP3_QCD_192 0x06
  814. #define REC_TYPE_MP3_QCD_256 0x07
  815. #define REC_TYPE_MP3_QCD_320 0x08
  816. //David 050525, extend ADPCM leval
  817. #define REC_TYPE_ADPCM_EXT1 0x09
  818. #define REC_TYPE_ADPCM_EXT2 0x0A
  819. #define REC_TYPE_ADPCM_EXT3 0x0B
  820. #define REC_TYPE_ADPCM_EXT4 0x0C
  821. #define REC_TYPE_ADPCM_EXT5 0x0D
  822. #define REC_TYPE_WMA_0 0x10
  823. #define REC_TYPE_WMA_1 0x11
  824. #define REC_TYPE_WMA_2 0x12
  825. #define REC_TYPE_WMA_3 0x13
  826. #define REC_TYPE_WMA_4 0x14
  827. #define REC_TYPE_WMA_5 0x15
  828. #define REC_TYPE_MP3_QFMH 0x16 //Vicky060223#2
  829. //#define REC_TYPE_PCM 0x05
  830. //#define REC_IMA_ADPCM (REC_MCU|REC_MONO|0x01) //remove for DSP ADPCM
  831. #define REC_MP3_QCD (REC_DSP|REC_STEREO|0x02)
  832. #define REC_MP3_QFM (REC_DSP|REC_STEREO|0x03)
  833. #define REC_MP3_QVOC (REC_DSP|REC_MONO|0x04)
  834. #define REC_MP3_QVOCH (REC_DSP|REC_MONO|0x05) //add by Jeremy 2004/01/21
  835. #define REC_MP3_QCD_192 (REC_DSP|REC_STEREO|REC_TYPE_MP3_QCD_192) //Vicky050311#2
  836. #define REC_MP3_QCD_256 (REC_DSP|REC_STEREO|REC_TYPE_MP3_QCD_256)
  837. #define REC_MP3_QCD_320 (REC_DSP|REC_STEREO|REC_TYPE_MP3_QCD_320)
  838. #define REC_MP3_QFMH (REC_DSP|REC_STEREO|REC_TYPE_MP3_QFMH) //Vicky060223#2
  839. //#define REC_SAVE_POWER REC_IMA_ADPCM
  840. //#define REC_HQ REC_MP3_CD
  841. //#define REC_SAVE_SIZE REC_MP3_VOC
  842. #define REC_IMA_ADPCM (REC_DSP|REC_MONO|REC_TYPE_ADPCM) //David 050525 DSP ADPCM
  843. #define REC_IMA_ADPCM_EXT1 (REC_DSP|REC_MONO|REC_TYPE_ADPCM_EXT1)
  844. #define REC_IMA_ADPCM_EXT2 (REC_DSP|REC_MONO|REC_TYPE_ADPCM_EXT2)
  845. #define REC_IMA_ADPCM_EXT3 (REC_DSP|REC_MONO|REC_TYPE_ADPCM_EXT3)
  846. #define REC_IMA_ADPCM_EXT4 (REC_DSP|REC_MONO|REC_TYPE_ADPCM_EXT4)
  847. #define REC_IMA_ADPCM_EXT5 (REC_DSP|REC_MONO|REC_TYPE_ADPCM_EXT5)
  848. //Vicky050602#4 Stereo ENC //DSP ADPCM STEREO 
  849. #define REC_IMA_ADPCM_EXT6 (REC_DSP|REC_STEREO|REC_TYPE_ADPCM)
  850. #define REC_IMA_ADPCM_EXT7 (REC_DSP|REC_STEREO|REC_TYPE_ADPCM_EXT1)
  851. #define REC_IMA_ADPCM_EXT8 (REC_DSP|REC_STEREO|REC_TYPE_ADPCM_EXT2)
  852. #define REC_IMA_ADPCM_EXT9 (REC_DSP|REC_STEREO|REC_TYPE_ADPCM_EXT3)
  853. #define REC_IMA_ADPCM_EXTA (REC_DSP|REC_STEREO|REC_TYPE_ADPCM_EXT4)
  854. #define REC_IMA_ADPCM_EXTB (REC_DSP|REC_STEREO|REC_TYPE_ADPCM_EXT5)
  855. #define REC_WMA_0 (REC_DSP|REC_STEREO|REC_TYPE_WMA_0) //David 050525 DSP WMA
  856. #define REC_WMA_1 (REC_DSP|REC_STEREO|REC_TYPE_WMA_1)
  857. #define REC_WMA_2 (REC_DSP|REC_STEREO|REC_TYPE_WMA_2)
  858. #define REC_WMA_3 (REC_DSP|REC_STEREO|REC_TYPE_WMA_3)
  859. #define REC_WMA_4 (REC_DSP|REC_STEREO|REC_TYPE_WMA_4)
  860. #define REC_WMA_5 (REC_DSP|REC_STEREO|REC_TYPE_WMA_5)
  861. #define ALL_FILE 0x00
  862. #define MUSIC_FILE 0x01
  863. #define REC_FILE 0x02
  864. #define FM_FILE 0x03
  865. //Walace051123#Video start
  866. #define PHOTO_FILE                               0x04  
  867. #define VIDEO_FILE                                0x05
  868. #define TXT_FILE                                0x06
  869. //Walace051123#Video end
  870. #define MP3_ALL 0x10
  871. #define MP3_MUSIC_ONLY (0x10|MUSIC_FILE)
  872. #define MP3_REC_ONLY (0x10|REC_FILE)
  873. #define MP3_FM_FILE (0x10|FM_FILE)
  874. #define WMA_ALL 0x20
  875. #define ADPCM_ALL 0x40
  876. #define ADPCM_MUSIC_ONLY (0x40|MUSIC_FILE)
  877. #define ADPCM_REC_ONLY (0x40|REC_FILE)
  878. #define ADPCM_FM_FILE (0x40|FM_FILE)
  879. #define MP3_WMA_ALL 0x30
  880. #define MP3_WMA_MUSIC_ONLY (0x30|MUSIC_FILE)
  881. #define MP3_WMA_REC_ONLY (0x30|REC_FILE)
  882. #define MP3_WMA_FM_ONLY (0x30|FM_FILE)
  883. #define MP3_ADPCM_ALL 0x50
  884. #define MP3_ADPCM_MUSIC_ONLY (0x50|MUSIC_FILE)
  885. #define MP3_ADPCM_REC_ONLY (0x50|REC_FILE)
  886. #define MP3_ADPCM_FM_ONLY (0x50|FM_FILE)
  887. #define MP3_WMA_ADPCM_ALL 0x70
  888. #define MP3_WMA_ADPCM_MUSIC_ONLY (0x70|MUSIC_FILE)
  889. #define MP3_WMA_ADPCM_REC_ONLY (0x70|REC_FILE)
  890. #define MP3_WMA_ADPCM_FM_ONLY (0x70|FM_FILE)
  891. /*
  892. #define OGG_ALL 0x80
  893. #define MP3_WMA_OGG_ALL 0xB0
  894. #define MP3_WMA_OGG_MUSIC_ONLY (0xB0|MUSIC_FILE)
  895. #define MP3_WMA_OGG_REC_ONLY (0xB0|REC_FILE)
  896. #define MP3_WMA_OGG_FM_ONLY (0xB0|FM_FILE)
  897. */
  898. #define AAC_ALL 0x80
  899. #define MP3_WMA_AAC_ALL 0xB0
  900. #define MP3_WMA_AAC_MUSIC_ONLY (0xB0|MUSIC_FILE)
  901. #define MP3_WMA_AAC_REC_ONLY (0xB0|REC_FILE)
  902. #define MP3_WMA_AAC_FM_ONLY (0xB0|FM_FILE)
  903. //Walace051123#Video start
  904. #define PHOTO_JPG_FILE                      (0x10|PHOTO_FILE)   //jpg
  905. #define PHOTO_BMP_FILE                     (0x20|PHOTO_FILE)   //bmp
  906. #define VIDEO_ADPCMJPG_FILE            (0x10|VIDEO_FILE)   //adpcm+jpg --> *.mj1
  907. #define VIDEO_MP3JPG_FILE                (0x20|VIDEO_FILE)   //mp3+jpg  ---> *.mj2
  908. //Walace051123#Video end
  909. //File Define
  910. #define REC_FILE_PREFIX "REC0"
  911. #define REC_PREFIX_LEN 4
  912. #define FM_FILE_PREFIX "FM0"
  913. #define FM_PREFIX_LEN 3
  914. #define REC_DIR_NAME "DVR     DIR" //keep this string in 11 characters
  915. //Walace060126#2 
  916. #define FM_HI_INJEC TRUE
  917. #define FM_LO_INJEC FALSE
  918. //Walace060217#1 gxbFmState use
  919. #define FM_STATE_STEREO_SET 0x01
  920. //Vicky050118 start
  921. #define REC_DIR_LEN 11
  922. #if(COLOR_MODE==0)
  923. #define REC_DIR_NUM 3// 2          //TONY060405 //modify by Rojam
  924. #else
  925. #define REC_DIR_NUM 2// 2          //TONY060405 //modify by Rojam
  926. #endif
  927. //Vicky050118 end
  928. //Music Type
  929. // gxbMusicType: 7 6 5 4 3 2 1 0
  930. // | | | | | | | |
  931. // | | | | |(- - -)Sub type
  932. // | | | | Lyrics
  933. //    (- - - -)Main type
  934. #define M_MAIN_TYPE 0xF0
  935. #define M_SUB_TYPE 0x07
  936. #define M_LYRICS_FLAG 0x08
  937. #define M_MAIN_SUB_TYPE 0xF7
  938. #define M_WMA_UNKNOWN 0x10 //Main type
  939. #define M_WMA_1 0x20
  940. #define M_WMA_2 0x30
  941. #define M_WMA_3 0x40
  942. #define M_WMA_4 0x50
  943. #define M_WMA_5 0x60
  944. #define M_WMA_6 0x70
  945. #define M_MP3 0x80
  946. #define M_MP2 0x90 //Layer2 //Vicky051028#1 Moved
  947. #define M_MP1 0xA0 //Layer1 //Vicky051028#1
  948. //#define M_OGG 0xB0
  949. #define M_AAC 0xB0 //David050712#1
  950. #define M_WAV 0xC0 //vicky050528
  951. #define M_NO_TAG 0x00 //Sub type
  952. #define M_ID3_V1 0x01
  953. #define M_ID3_V2_2 0x02
  954. #define M_ID3_V2_3 0x03
  955. #define M_ID3_V2_4 0x04
  956. #define M_WMA_TAG 0x05
  957. #define M_LYRICS_EN 0x08 //Lyrics Flag
  958. #define M_LYRICS_DIS 0xF7
  959. //Vicky051020#2 Add for Music Property
  960. //MusicFeature
  961. #define MF_STEREO 0x80
  962. #define MF_VBR 0x40
  963. #define MF_NOPREV 0x20
  964. //Vicky060415
  965. #define MF_VBR_TYPE 0x07
  966. #define MF_VBR_UNKONW 0x00
  967. #define MF_VBR_XING 0x01
  968. #define MF_VBR_VBRI 0x02
  969. #define MF_VBR_INDEXOBJ 0x03
  970. #define MF_VBR_TOC 0x08
  971. //XING Header
  972. #define XING_FRAME_VALID 0x01
  973. #define XING_STREAM_VALID 0x02
  974. #define XING_TOC_VALID 0x04
  975. //Lyrics State
  976. // gxbLrcState:
  977. #define LRC_STS_NONE 0
  978. #define LRC_STS_GET_STR 1
  979. #define LRC_STS_STR_READY 2
  980. #define LRC_STS_DISP_STR 3
  981. #define LRC_STS_FORCE_DISP_STR 4
  982. #define LRC_STS_ALL_FINISH 5
  983. #define LRC_STS_SKIP_STR 0x10 //David050714#1
  984. //Lyrics String Length
  985. #define MAX_LRC_STR_LEN 64 //32 64 //Walace061028#1
  986. //Lyrics Time Offset
  987. #define LRC_SPEED_UP_OFFSET 20 //0.05 second
  988. //Play Engine Command
  989. #define P_NOP 0x00
  990. #define P_INIT                                        0x01
  991. #define P_PLAYBACK 0x02
  992. #define P_PAUSE 0x03
  993. #define P_PREV 0x04
  994. #define P_NEXT 0x05
  995. //#define P_FORWARD 0x05
  996. //#define P_BACKWARD 0x06
  997. #define P_STOP 0x06
  998. #define P_FIRST 0x07
  999. #define P_LAST 0x08
  1000. #define P_RESTART 0x09
  1001. #define P_AB_REPT_START 0x0a
  1002. #define P_AB_REPT_END 0x0b
  1003. #define P_AB_REPT_RESET 0x0c
  1004. #define P_AB_REPT_RETURN_A 0x0d
  1005. #define P_AB_REPT_RESET_2_B 0x11
  1006. #define P_FF_NORMAL 0x20
  1007. #define P_FF_X2 0x21
  1008. #define P_REW_NORMAL 0x22
  1009. #define P_REW_X2 0x23
  1010. //add by TNE 2004/09/11
  1011. #define P_RND_NEXT 0x24
  1012. #define P_RND_FIRST 0x25
  1013. #define P_RND_START 0x26
  1014. #define P_UPDATE_FF_SPEED 0x27
  1015. #define P_RETURN_PLAY 0x28
  1016. //Record Engine Command
  1017. #define R_NOP 0x00
  1018. #define R_REC 0x01
  1019. #define R_PAUSE 0x02
  1020. #define R_STOP 0x03
  1021. //UI disp&ctrl Command
  1022. #define UI_PE_NOP                                0x00      //Walace060601#1 PlayProcess
  1023. #define UI_PE_INIT_START 0x01
  1024. #define UI_PE_INIT_END 0x02
  1025. #define UI_PE_START_START 0x03
  1026. #define UI_PE_START_END 0x04
  1027. #define UI_PE_PLAY_UPDATE 0x05
  1028. #define UI_PE_STOP 0x06
  1029. #define UI_PE_RETURN_PLAY 0x07
  1030. #define UI_PE_PAUSE 0x08
  1031. #define UI_VOL_UP 0x21
  1032. #define UI_VOL_DOWN 0x22
  1033. #define UI_NEXT_REPT_MODE 0x23
  1034. #define UI_NEXT_EQ_MODE 0x24
  1035. #define UI_DEL_CONFIRM 0x25
  1036. #define UI_SCROLL_DISPLAY 0x30
  1037. #define UI_RE_INIT_START 0x11
  1038. #define UI_RE_INIT_END 0x12
  1039. #define UI_RE_START_START 0x13
  1040. #define UI_RE_START_END 0x14
  1041. #define UI_RE_REC_UPDATE 0x15
  1042. #define UI_RE_STOP 0x16
  1043. #define UI_RE_RETURN_REC 0x17
  1044. #define UI_RE_PAUSE 0x18
  1045. #define UI_RE_STOP_START 0x19 //vicky060920#2
  1046. #define UI_SEL_PRESET_START 0x51
  1047. #define UI_SEL_PRESET_SELECT 0x52
  1048. #define UI_SAVE_PRESET_START 0x53
  1049. #define UI_SAVE_PRESET_SELECT 0x54
  1050. #define UI_SAVE_PRESET_SAVE 0x55
  1051. #define UI_FM_SEARCH_DOWN 0x56 // Note:This define must even
  1052. #define UI_FM_SEARCH_UP 0x57 // Note:This define must odd
  1053. #define UI_FM_SETERO_SELECT            0x58 //Walace060217#1
  1054. #define UI_FM_SEARCHING 0x63
  1055. //Burt 2005/02/04
  1056. #define UI_SYS_FOMAT_FLASH 0x41
  1057. #define UI_SYS_FOMAT_PBR 0x42
  1058. #define UI_SYS_FOMAT_FAT 0x43
  1059. #define UI_SYS_FOMAT_ROOT 0x44
  1060. #define UI_SYS_FOMAT_FINISH 0x45
  1061. //tne HOST display
  1062. #define UI_HOST_COPY_START 0x71
  1063. #define UI_HOST_COPYING 0x72
  1064. #define UI_HOST_COPY_END 0x73
  1065. #define UI_HOST_DEL_START 0x74
  1066. #define UI_HOST_DELING 0x75
  1067. #define UI_HOST_DEL_END 0x76
  1068. #define UI_HOST_FORMAT_START 0x77
  1069. #define UI_HOST_FORMATING 0x78
  1070. #define UI_HOST_FORMAT_END 0x79
  1071. #define UI_HOST_COPY_CANCEL 0x7A
  1072. #define UI_HOST_COPY_A_FILE 0x7B
  1073. //tne CDB
  1074. #define UI_CDB_INIT_START 0x81
  1075. #define UI_CDB_INIT_END 0x82
  1076. #define UI_CDB_DIR_INF_STRAT 0x83
  1077. #define UI_CDB_DIR_INF_END 0x84
  1078. #define UI_CDB_CLASS_INF_START 0x85
  1079. #define UI_CDB_CLASS_INF_END 0x86
  1080. #define UI_CDB_CLASS_BUILDING 0x87
  1081. #define UI_CDB_CLASS_ENDING 0x88
  1082. //tne play 320 music
  1083. #define UI_FS_OPENING_FILE 0x91
  1084. // Battery State Level
  1085. //Volume 
  1086. #if(EXT_PA)//Ren050312#1
  1087. #define MIN_VOL_NUM 0
  1088. #define MAX_VOL_NUM 40
  1089. #define DEFAULT_VOL 20
  1090. #else
  1091. #define MIN_VOL_NUM 0
  1092. //#define MAX_VOL_NUM 23 //2004.11.11 Renshuo for mute
  1093. #if(CDC_FOR_M5638C)  //Renshuo050408#A   //vicky050607#1
  1094. #define MAX_VOL_NUM  32
  1095. #define DEFAULT_VOL  14 //for test tne 2005/05/12 //vicky050607#1
  1096. #else
  1097. #define MAX_VOL_NUM 24
  1098. #define DEFAULT_VOL 6
  1099. #endif
  1100. //#define DEFAULT_VOL 5 //2004.11.11 Renshuo 
  1101. #endif
  1102. //Codec Control Command
  1103. #define CDC_INIT 0x01
  1104. #define CDC_PLAY_START 0x02
  1105. #define CDC_REC_START 0x03
  1106. #define CDC_REC_PAUSE 0x04 //tne 2006/06/28 #1
  1107. #define CDC_RETURN_REC 0x05 //tne 2006/06/28 #1
  1108. #define CDC_LINE_IN_AUD_OUT 0x06
  1109. #define CDC_MIC_IN_NO_AUD_OUT 0x07
  1110. #define CDC_FM_IN_AUD_OUT 0x08
  1111. #define CDC_FM_START 0x0A
  1112. #define CDC_VOL_UP 0x11
  1113. #define CDC_VOL_DOWN 0x12
  1114. #define CDC_PLAYBACK_PAUSE 0x20
  1115. #define CDC_RETURN_PLAYBACK 0x21
  1116. //#define CDC_PLAYBACK_STOP_CODEC 0x22 //Walace060822#4
  1117. //File System Open File Command
  1118. #define FIRST_FILE 0x01
  1119. #define NEXT_FILE 0x02
  1120. #define PREV_FILE 0x03
  1121. #define PLAYBACK_FILE 0x10
  1122. #define FIRST_PLAYBACK (PLAYBACK_FILE|FIRST_FILE)
  1123. #define NEXT_PLAYBACK (PLAYBACK_FILE|NEXT_FILE)
  1124. #define PREV_PLAYBACK (PLAYBACK_FILE|PREV_FILE)
  1125. #define LYRICS_FILE 0x20
  1126. #define NEW_ADPCM 0x30
  1127. //add by tne 2005/01/19 #1
  1128. #define ALL_FILE_IN_DIR 0x40
  1129. #define FIRST_FILE_IN_DIR (ALL_FILE_IN_DIR|FIRST_FILE)
  1130. #define NEXT_FILE_IN_DIR (ALL_FILE_IN_DIR|NEXT_FILE)
  1131. #define PREV_FILE_IN_DIR (ALL_FILE_IN_DIR|PREV_FILE)
  1132. #define PLAYBACK_FILE_IN_DIR 0x50
  1133. #define FIRST_PLAYBACK_IN_DIR (PLAYBACK_FILE_IN_DIR|FIRST_FILE)
  1134. #define NEXT_PLAYBACK_IN_DIR (PLAYBACK_FILE_IN_DIR|NEXT_FILE)
  1135. #define PREV_PLAYBACK_IN_DIR (PLAYBACK_FILE_IN_DIR|PREV_FILE)
  1136. #define ALL_DIR_IN_DIR 0x60
  1137. #define FIRST_DIR_IN_DIR (ALL_DIR_IN_DIR|FIRST_FILE)
  1138. #define NEXT_DIR_IN_DIR (ALL_DIR_IN_DIR|NEXT_FILE)
  1139. #define PREV_DIR_IN_DIR (ALL_DIR_IN_DIR|PREV_FILE)
  1140. #define RELOAD_FILE_NAME 0x7A
  1141. #define RELOAD_DIR_NAME 0x7B
  1142. //Change direction definition
  1143. #define ENTER_DIR 0x01
  1144. #define ROOT_DIR 0x11
  1145. #define BACK_DIR 0x12
  1146. #define RESTORE_DIR 0x13
  1147. //State Definition
  1148. #define S_MTP 0x80
  1149. #define s_MTP_INIT (S_MTP|0x00)
  1150. #define S_MTP_BUSY (S_MTP|0x01)
  1151. #define S_MTP_OK (S_MTP|0x02)
  1152. #define S_MTP_CANCEL (S_MTP|0x03)
  1153. #define S_MTP_CLEAR (S_MTP|0x04)
  1154. #define S_MODE_SEL 0x70
  1155. #define S_STATE_SEL 0x0F
  1156. #define S_SET_INIT_STATE 0xF0
  1157. #define S_ERROR 0x80
  1158. #define S_INIT 0x00
  1159. //modify by tne 2005/01/07 #2 //modify for Calibration, tne 2006/01/17 #2 //Walace060202
  1160. #define S_INIT_RTC (S_INIT|0x01)
  1161. #define S_INIT_FONT_TABLE (S_INIT|0x02) //vicky050517
  1162. #define S_INIT_DISP_ANIMATE (S_INIT|0x03)
  1163. #define S_INIT_NAND_FLASH (S_INIT|0x04)
  1164. #define S_INIT_LOAD_SETTING (S_INIT|0x05)
  1165. #define S_INIT_CALIBRATION (S_INIT|0x06)
  1166. #define S_INIT_FONT_INDEX (S_INIT|0x07)
  1167. #define S_INIT_FS (S_INIT|0x08)
  1168. #define S_INIT_FS_REC (S_INIT|0x09)
  1169. #define S_INIT_LOAD_PM (S_INIT|0x0A)
  1170. #define S_INIT_EXT_POWER_ON (S_INIT|0x0B)
  1171. #define S_PE 0x10
  1172. #define S_PE_INIT (S_PE|0x00)
  1173. #define S_PE_WAIT (S_PE|0x01)
  1174. #define S_PE_START_PLAY (S_PE|0x02)
  1175. #define S_PE_PLAY (S_PE|0x03)
  1176. //#define S_PE_PLAY_SET_REPT (S_PE|0x04)
  1177. //#define S_PE_PLAY_REPEAT (S_PE|0x05)
  1178. #define S_PE_PAUSE (S_PE|0x06)
  1179. #define S_PE_STOP (S_PE|0x07)
  1180. #define S_PE_NEXT (S_PE|0x08)
  1181. #define S_PE_PREV (S_PE|0x09)
  1182. #define S_PE_DEL_CONFIRM (S_PE|0x0A)
  1183. #define S_PE_DEL (S_PE|0x0B)
  1184. #define S_RE 0x30
  1185. #define S_RE_INIT (S_RE|0x00)
  1186. #define S_RE_START_REC (S_RE|0x01)
  1187. #define S_RE_REC (S_RE|0x02)
  1188. #define S_RE_REC_PAUSE (S_RE|0x03)
  1189. #define S_RE_REC_STOP (S_RE|0x04)
  1190. #define S_RE_REC_WAIT (S_RE|0x05)
  1191. #define S_FM 0x40
  1192. #define S_FM_INIT (S_FM|0x00)
  1193. #define S_FM_WAIT (S_FM|0x01)
  1194. #define S_FM_SEARCH_UP (S_FM|0x02)
  1195. #define S_FM_SEARCH_DOWN (S_FM|0x03)
  1196. #define S_FM_STEP_UP (S_FM|0x04)
  1197. #define S_FM_STEP_DOWN (S_FM|0x05)
  1198. #define S_FM_PRESET_UP (S_FM|0x06)
  1199. #define S_FM_PRESET_DOWN (S_FM|0x07)
  1200. #define S_FM_EDIT (S_FM|0x08)
  1201. #define S_FM_EDIT_SAVE (S_FM|0x09)
  1202. #define S_FM_REC (S_FM|0x0A)
  1203. #define S_FM_REC_PAUSE (S_FM|0x0B)
  1204. #define S_FM_REC_STOP (S_FM|0x0C)
  1205. #define S_SYSTEM 0x50
  1206. //#define S_SYS_
  1207. /*
  1208. #define S_ERR_INIT_NAND_FLASH (S_ERROR|S_INIT_NAND_FLASH)
  1209. #define S_ERR_INIT_FS  (S_ERROR|S_INIT_FS)
  1210. #define S_ERR_INIT_CHECK_SRAM (S_ERROR|S_INIT_CHECK_SRAM)
  1211. #define S_ERR_INIT_ANALYSE_SRAM (S_ERROR|S_INIT_ANALYSE_SRAM)
  1212. #define S_ERR_INIT_LOAD_PM_PLAY (S_ERROR|S_INIT_LOAD_PM_PLAY)
  1213. #define S_ERR_INIT_LOAD_PM_FM (S_ERROR|S_INIT_LOAD_PM_FM)
  1214. #define S_ERR_INIT_LOAD_PM_SYSTEM (S_ERROR|S_INIT_LOAD_PM_SYSTEM)
  1215. #define S_ERR_MUSIC_INIT (S_ERROR|S_MUSIC_INIT)
  1216. #define S_ERR_MUSIC_WAIT (S_ERROR|S_MUSIC_WAIT)
  1217. #define S_ERR_MUSIC_PLAY (S_ERROR|S_MUSIC_PLAY)
  1218. #define S_ERR_MUSIC_PAUSE (S_ERROR|S_MUSIC_PAUSE)
  1219. #define S_ERR_MUSIC_STOP (S_ERROR|S_MUSIC_STOP)
  1220. #define S_ERR_MUSIC_NEXT (S_ERROR|S_MUSIC_NEXT)
  1221. #define S_ERR_MUSIC_PREV (S_ERROR|S_MUSIC_PREV)
  1222. #define S_ERR_MUSIC_REC (S_ERROR|S_MUSIC_REC)
  1223. #define S_ERR_MUSIC_REC_PAUSE (S_ERROR|S_MUSIC_REC_PAUSE)
  1224. #define S_ERR_MUSIC_REC_STOP (S_ERROR|S_MUSIC_REC_STOP)
  1225. #define S_ERR_VOICE_INIT (S_ERROR|S_VOICE_INIT)
  1226. #define S_ERR_VOICE_WAIT (S_ERROR|S_VOICE_WAIT)
  1227. #define S_ERR_VOICE_PLAY (S_ERROR|S_VOICE_PLAY)
  1228. #define S_ERR_VOICE_PAUSE (S_ERROR|S_VOICE_PAUSE)
  1229. #define S_ERR_VOICE_STOP (S_ERROR|S_VOICE_STOP)
  1230. #define S_ERR_VOICE_NEXT (S_ERROR|S_VOICE_NEXT)
  1231. #define S_ERR_VOICE_PREV (S_ERROR|S_VOICE_PREV)
  1232. #define S_ERR_VOICE_REC (S_ERROR|S_VOICE_REC)
  1233. #define S_ERR_VOICE_REC_PAUSE (S_ERROR|S_VOICE_REC_PAUSE)
  1234. #define S_ERR_VOICE_REC_STOP (S_ERROR|S_VOICE_REC_STOP)
  1235. #define S_ERR_FM_INIT (S_ERROR|S_FM_INIT)
  1236. #define S_ERR_FM_WAIT (S_ERROR|S_FM_WAIT)
  1237. #define S_ERR_FM_SEARCH_UP (S_ERROR|S_FM_SEARCH_UP)
  1238. #define S_ERR_FM_SEARCH_DOWN (S_ERROR|S_FM_SEARCH_DOWN)
  1239. #define S_ERR_FM_STEP_UP (S_ERROR|S_FM_STEP_UP)
  1240. #define S_ERR_FM_STEP_DOWN (S_ERROR|S_FM_STEP_DOWN)
  1241. #define S_ERR_FM_PRESET_UP (S_ERROR|S_FM_PRESET_UP)
  1242. #define S_ERR_FM_PRESET_DOWN (S_ERROR|S_FM_PRESET_DOWN)
  1243. #define S_ERR_FM_EDIT (S_ERROR|S_FM_EDIT)
  1244. #define S_ERR_FM_EDIT_SAVE (S_ERROR|S_FM_EDIT_SAVE)
  1245. #define S_ERR_FM_REC (S_ERROR|S_FM_REC)
  1246. #define S_ERR_FM_REC_PAUSE (S_ERROR|S_FM_REC_PAUSE)
  1247. #define S_ERR_FM_REC_STOP (S_ERROR|S_FM_REC_STOP)
  1248. */
  1249. //File System Type
  1250. #define FAT_12 12
  1251. #define FAT_16 16
  1252. #define FAT_32 32
  1253. #define FAT_NTFS 33   //Yen_Lung060620#1
  1254. #define FAT_UNKNOW 0xFF  //Yen_Lung060620#1
  1255. #if(_PM_MTP_)
  1256. #define MAX_PATH_DEPTH 5 //tne 2005/05/14 //Walace061028#1
  1257. #else
  1258. #define MAX_PATH_DEPTH 10 //tne 2005/05/14 //Walace061028#1 //vicky061107#2
  1259. #endif
  1260. //File system data buffer
  1261. #define FS_BANK0 0
  1262. #define FS_BANK1 1
  1263. //force to reflash sector next time
  1264. #define FORCE_REFLASH_SECTOR 0xFFFFFFFF
  1265. //File type for read sector
  1266. #define READ_LYRICS_SECTOR 1 //fLrcFile
  1267. #define READ_PLAYBACK_SECTOR 0
  1268. //Buffer Name
  1269. //Storage r/w path
  1270. #define FS_FAT1_EXT1 2 //0xC400
  1271.   //3     //0xC600
  1272. #define FS_LRC 4 //0xC800
  1273.   //5 //0xCA00
  1274. #define FS_FAT1_EXT2 6 //0xCC00
  1275.       //7           //0xCE00
  1276. #define FS_FAT 8 //0xD000
  1277. #define FS_FAT2_EXT1 8
  1278. #define FS_DATA_0_0 12 //0xD800
  1279. #define FS_FAT2_EXT2 12
  1280. #define FS_DATA_0_1 13 //0xDA00
  1281. #define FS_DATA_0_2 14 //0xDC00
  1282. #define FS_DATA_0_3 15 //0xDE00
  1283. //SRAM Address
  1284. /*
  1285. #define SRAM_AUD_BUF_ADDR 0x8700
  1286. #define SRAM_ALBUM_ADDR 0x8F00
  1287. #define SRAM_AUD_BUF_OVER_ADDR 0x8900
  1288. #define SRAM_LUT_ADDR 0xC000
  1289. #define SRAM_FONT_ADDR 0xC400
  1290. #define SRAM_TAG_ADDR 0xC600
  1291. #define SRAM_ARTIST_ADDR 0xC700
  1292. #define SRAM_LYRICS_ADDR 0xC800
  1293. #define SRAM_FAT_ADDR 0xD000
  1294. #define SRAM_DATA_ADDR 0xD800
  1295. #define SRAM_DMA_ADDRESS SRAM_DATA_ADDR
  1296. */
  1297. #define SRAM_NON_PROG_START 0x9000
  1298. //modify by tne 2005/01/10 #1
  1299. #define SRAM_LFNAME_BUF_ADDR 0x9400
  1300. #define SRAM_AUD_BUF_ADDR 0x9500
  1301. #define SRAM_AUD_BUF_OVER_ADDR 0x9B00
  1302. #if(NEW_FLASH)
  1303. #define SRAM_FONT_TABLE_ADDR 0x9AB0//0x93B0 Allen060516#3 060623 QQQQQQQQQ new_nf
  1304. #else
  1305. #define SRAM_FONT_TABLE_ADDR 0x93B0
  1306. #endif
  1307. #define SIZE_OF_FILE_STRUCT 61 //Tne050607#1
  1308. ////////////////////////////////////////////////////////////////////////////////
  1309. //Tne050607#1 //New Ui File List
  1310. //Play common variable start address
  1311. /*
  1312. #define SRAM_FS_STRUCT_ADDR (SRAM_FONT_TABLE_ADDR - SIZE_OF_FILE_STRUCT)
  1313. #define SRAM_UI_STRUCT_ADDR (SRAM_FONT_TABLE_ADDR - 2*SIZE_OF_FILE_STRUCT)
  1314. #define SRAM_PLAY_COMMON_ADDR1 (SRAM_FONT_TABLE_ADDR - 2*SIZE_OF_FILE_STRUCT)
  1315. #define SRAM_PLAY_COMMON_ADDR2 (SRAM_FONT_TABLE_ADDR + sizeof(gxwFontTable))
  1316. */
  1317. ///////////////////////////////////////////////////////////////////////////////
  1318. #define SRAM_STRING_TABLE_ADDR 0x93FE //0x93EC
  1319. #define SRAM_TAG_ADDR 0x9B00 //0x9B00~0x9BFF
  1320. #define SRAM_ARTIST_ADDR 0x9C00 //0x9C00~0x9CFF
  1321. #define SRAM_ALBUM_ADDR 0x9D00 //0x9D00~0x9DFF
  1322. #if(_PM_HST_) //allen050627
  1323. //host define path
  1324. #define SRAM_COM_BUF_PATH 4 // 0xC800
  1325. #define SRAM_DES_FAT_PATH 8
  1326. #define SRAM_DES_ENTRY_PATH 12
  1327. #define SRAM_SRC_FAT_PATH 82 // 0xA400 64 //0x8000 allen050621
  1328. #define SRAM_SRC_ENTRY_PATH 86 // 0xAC00 68 //0x8800 allen050621
  1329. // 0x9400-0x9600: UI selected copy item
  1330. // 0x9600-0x9800: FileName Buffer
  1331. // 0x9800-0x9A00: Variable
  1332. // 0x9C00-0xA400: ReentrantStack
  1333. #define SRAM_UI_SEL_ADDR 0x9600
  1334. #define HOST_VARIABLE_ADDR 0x9800
  1335. #define SRAM_REENTRANT_ADDR 0x9C00
  1336. #define SRAM_SRC_FAT_ADDR 0xA400 //0x8000 //allen050621 move from UiHostCommon.h
  1337. #define SRAM_SRC_ENTRY_ADDR 0xAC00 //0x8800 //allen050621 move from UiHostCommon.h
  1338. #define SRAM_COM_BUF_ADDR 0xC800
  1339. #define SRAM_DES_FAT_ADDR 0xD000 //allen050627 move from UiHostCommon.h
  1340. #define SRAM_DES_ENTRY_ADDR 0xD800 //allen050627 move from UiHostCommon.h
  1341. #define COMM_BUF_SIZE 4
  1342. #define FAT_CACHE_SIZE 4
  1343. #define ENTRY_CACHE_SIZE  4
  1344. #define MAX_CACHE_SIZE  12
  1345. #define PAR_NO 6 
  1346. #define CACHE_NO 5
  1347. #define BUF_COMMON 0
  1348. #define BUF_DES_FAT 1
  1349. #define BUF_DES_ENTRY 2
  1350. #define BUF_SRC_FAT 3
  1351. #define BUF_SRC_ENTRY 4
  1352. /*
  1353. EXTERN CBYTE CodeTemp1[512*(FAT_CACHE_SIZE+ENTRY_CACHE_SIZE)] _AT_(SRAM_SRC_FAT_ADDR); //for src fat and entry
  1354. // 0x9400-0x9600: UI selected copy item
  1355. // 0x9600-0x9800: FileName Buffer
  1356. // 0x9800-0x9A00: Variable
  1357. // 0x9C00-0xA400: ReentrantStack
  1358. EXTERN XBYTE UIBuffer[512] _AT_(SRAM_UI_SEL_ADDR);
  1359. EXTERN XBYTE UIFileName[512] _AT_(SRAM_FILENAME_ADDR);
  1360. //9C00 - A400
  1361. EXTERN XBYTE ReentrantStack[2048] _AT_(SRAM_REENTRANT_ADDR); //reentrant stack (Don't use it)
  1362. //C800 - D000: Host Common Buffer
  1363. EXTERN XBYTE buffer[512*COMM_BUF_SIZE] _AT_(SRAM_COM_BUF_ADDR); //512*COMM_BUF_SIZE,common buffer,temp data
  1364. */
  1365. //050710
  1366. #define HCOPY_CMD 0x01
  1367. #define HCOPY_DAT 0x02
  1368. #define HCOPY_STS 0x04
  1369. #endif
  1370. #if(_PM_PHOTO_|_PM_VIDEO_)
  1371.    #define SRAM_PHOTO_DATA_START 0x8A00  // 8A00~9000
  1372.    #define SRAM_BMP_PALETTE_OFFSET 0x200// 1.5k 
  1373. #endif
  1374. //vicky050607#3
  1375. #if(_PM_INIT_CHK_) //tne 512 tag
  1376. #if(TAG_LARGE)
  1377. #define TAG_BUF_LEN 256 //256*3=768 byte
  1378. #define TAG_BUF_MAX (TAG_BUF_LEN-1)
  1379. #define TAG_BUF_STEP (TAG_BUF_LEN/2)
  1380. #else
  1381. #define TAG_BUF_LEN 64 //64*3=128 byte
  1382. #define TAG_BUF_MAX (TAG_BUF_LEN-1)
  1383. #define TAG_BUF_STEP (TAG_BUF_LEN/2)
  1384. #endif
  1385. //tne CDB
  1386. #define TAG_GENRE_BUF_LEN 32
  1387. #define TAG_GENRE_BUF_MAX 31//(TAG_GENRE_BUF_LEN-1)
  1388. #define TAG_GENRE_STEP 16//(TAG_GENRE_BUF_LEN/2)
  1389. #else
  1390. #define TAG_BUF_MAX 513
  1391. #endif
  1392. //tne CDB
  1393. #define TAG_GENRE_BUF_LEN 32
  1394. #define TAG_GENRE_BUF_MAX 31//(TAG_GENRE_BUF_LEN-1)
  1395. #define TAG_GENRE_STEP 16//(TAG_GENRE_BUF_LEN/2)
  1396. //Allen new_nf
  1397. #if(_PM_USB_ | _PM_MPTEST_|_PM_MTP_|_PM_MTP_INIT_|_PM_HST_) //allen060529: USB Font Data use common buffer
  1398. #define SRAM_FONT_ADDR 0xC800 //C800 - CA00
  1399. #else
  1400. #define SRAM_FONT_ADDR 0x9E00 //9E00 - A000
  1401. #endif
  1402. #if(NEW_FLASH)
  1403. //Allen060706 start
  1404. #if(_PM_USB_MSC_)
  1405. #define SRAM_WLC_ADDR 0xB800
  1406. #elif(_PM_REC_)
  1407. #define SRAM_WLC_ADDR 0x8800
  1408. #endif
  1409. //Allen060706 end
  1410. #endif
  1411. #define SRAM_LUT_ADDR 0xC000
  1412. #define SRAM_LYRICS_ADDR 0xC800
  1413. #define SRAM_FAT_ADDR 0xD000
  1414. #define SRAM_DATA_ADDR 0xD800
  1415. #define SRAM_DMA_ADDRESS 0xC800
  1416. //Storage type
  1417. #define STOR_DEFAULT STOR_NAND //allen050804
  1418. #define STOR_VALID 3 //0,1,2 //allen050728
  1419. #define STOR_NAND 0
  1420. #define STOR_SD 1
  1421. #define STOR_USB 2 //050214 host
  1422. #define STOR_MS 3
  1423. #define STOR_XD 4
  1424. #define STOR_SM 5
  1425. #define STOR_NONE 0xFE //allen 050728
  1426. #define STOR_CANCEL 0xFF //add by tne 2005/02/25
  1427. /*
  1428. // Add by TNE 2004/08/10
  1429. // Battery Level
  1430. #define BATTERY_LV_ERR 127
  1431. #define BATTERY_LV1 53 //1.3v
  1432. #define BATTERY_LV2 48 //1.2v
  1433. #define BATTERY_LV3 45 //1.1v
  1434. */
  1435. #if(_C_MODE_)
  1436. #define UI_ICON_BTY_LV1 4 //full
  1437. #define UI_ICON_BTY_LV2 3
  1438. #define UI_ICON_BTY_LV3 2
  1439. #define UI_ICON_BTY_LV4 1 //empty
  1440. #define UI_ICON_BTY_ERR 0
  1441. #else
  1442. #define UI_ICON_BTY_LV1 ICON_BATTERY_3
  1443. #define UI_ICON_BTY_LV2 ICON_BATTERY_2
  1444. #define UI_ICON_BTY_LV3 ICON_BATTERY_1
  1445. #define UI_ICON_BTY_LV4 ICON_BATTERY_0
  1446. #define UI_ICON_BTY_ERR ICON_BATTERY_NO
  1447. #endif
  1448. //Walace060613#1 start
  1449. #define BATTERY_LV_ERR 0xFF //detect error or over load
  1450. #define BATTERY_LV_MAX 0x7F //127
  1451. #if(_PM_USB_)   //Chris070521#1 MTP show Batt lv start
  1452. #if(ONE_BATT_MODE)
  1453. #define BATTERY_LV_COUNT 4 //LV1,LV2,LV3,LOW //Walace060803#2
  1454. #define BATTERY_LV_FULL 127 //Chris070521#1 MTP show Batt lv
  1455. #define BATTERY_LV1 103 // 1.3v
  1456. #define BATTERY_LV2 91 // 1.2v
  1457. #define BATTERY_LV3 79 // 1.1v
  1458. #define BATTERY_LV_LOW 66 //low battery to power off
  1459. #define BATTERY_LV_NO 60
  1460. #else
  1461. // Define Battery SARDC value for MTP Event, necessaly to define cause we use 1.8 BandGap
  1462. // 4.2 96
  1463. // 4.1 92
  1464. // 4.0 88
  1465. // 3.9 84
  1466. // 3.8 80
  1467. // 3.7 76
  1468. // 3.6 72
  1469. // 3.5 68
  1470. // 3.4 64
  1471. #define BATTERY_LV_FULL 98 //Chris070521#1 MTP show Batt lv
  1472. #define BATTERY_LV_COUNT  4 
  1473. #define BATTERY_LV1 78
  1474. #define BATTERY_LV2 72
  1475. #define BATTERY_LV3 68
  1476. #define BATTERY_LV_LOW 64
  1477. #define BATTERY_LV_NO 10
  1478. #endif
  1479. #else //Chris070521#1 MTP show Batt lv    // Device Mode
  1480. #if(DEBUG_M5638C) //Walace060730#1
  1481. #if(ONE_BATT_MODE)
  1482. #define BATTERY_LV_COUNT 4 //LV1,LV2,LV3,LOW //Walace060803#2
  1483. #define BATTERY_LV_FULL  127 //Chris070521#1 MTP show Batt lv
  1484. #define BATTERY_LV1 103 // 1.3v
  1485. #define BATTERY_LV2 91 // 1.2v
  1486. #define BATTERY_LV3 79 // 1.1v
  1487. #define BATTERY_LV_LOW 66 //low battery to power off
  1488. #define BATTERY_LV_NO 60
  1489. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV2 //Walace060618#1 //Walace060710#1
  1490. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV3 //Walace060710#1
  1491. #else  //Li-ion power system
  1492. #if(COST_DOWN_CIRCUIT) // WHH 070117
  1493. // Document about following values, please refer "AuxIn Battry check guide" for B1A
  1494. // 4.2 = 105          |
  1495. // 4.1 = 101          |
  1496. // 4.0 = 97             |
  1497. // 3.9 = 93            |
  1498. // 3.8 = 89            |
  1499. // 3.7 = 84            |
  1500. // 3.6 = 80    BATTERY_LV1
  1501. // 3.5 = 76     BATTERY_LV2  
  1502. // 3.4 = 72     BATTERY_LV3
  1503. // 3.3 = 68    BATTERY_LV_LOW (if battery WV(Work Voltage)=3.5~3.6 )     
  1504. // 3.2 =              |               
  1505. // 3.1 =          BATTERY_LV_LOW (if battery WV(Work Voltage)=3.3)                                                
  1506. // 3.0 =              |           
  1507. // 2.9  
  1508. // 2.8          Oled display limit
  1509. // 2.7 
  1510. // 2.6 
  1511. // 2.5    
  1512. // 2.0          FW work
  1513. // 1.5          DCV power on 1v8
  1514. #define BATTERY_LV_FULL  101 //Chris070521#1 MTP show Batt lv
  1515. #define BATTERY_LV_COUNT  4 
  1516. #define BATTERY_LV1 86
  1517. #define BATTERY_LV2 80
  1518. #define BATTERY_LV3 76
  1519. #define BATTERY_LV_LOW 72
  1520. #define BATTERY_LV_NO 10
  1521. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV_LOW // 3.3V //Walace060618#1
  1522. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV_LOW // 3.2V Walace060710#1
  1523. #else
  1524. #if(IC_5661_TYPE==IC_M5638C_B1B)
  1525. /*#if(IC_5661_TYPE==COST_DOWN_CIRCUIT) // WHH 070117 mark
  1526. // Document about following values, please refer "AuxIn Battry check guide" for B1B
  1527. // 4.2 = 99          |
  1528. // 4.1 = 95          |
  1529. // 4.0 = 91          |
  1530. // 3.9 = 87          |
  1531. // 3.8 = 83     BATTERY_LV1  
  1532. // 3.7 = 79     BATTERY_LV2
  1533. // 3.6 = 74   BATTERY_LV3
  1534. // 3.5 = 70          |
  1535. // 3.4 = 66          |
  1536. // 3.3 = 62   BATTERY_LV_LOW (if battery WV(Work Voltage)=3.5~3.6 )     
  1537. // 3.2 = 58          |               
  1538. // 3.1 = 54     BATTERY_LV_LOW (if battery WV(Work Voltage)=3.3)                                                
  1539. // 3.0 = 50            |           
  1540. // 2.9  
  1541. // 2.8          Oled display limit
  1542. // 2.7 
  1543. // 2.6 
  1544. // 2.5    
  1545. // 2.0          FW work
  1546. // 1.5          DCV power on 1v8
  1547. #define BATTERY_LV_COUNT  4 //LV1,LV2,LV3,LOW //Walace060803#2
  1548. #define BATTERY_LV1 83
  1549. #define BATTERY_LV2 79
  1550. #define BATTERY_LV3 74
  1551. #define BATTERY_LV_LOW 62 //Low battery and power off,
  1552.                                                      //Notice:Define this value according Li-ion work voltage(WV).
  1553. #define BATTERY_LV_NO 10
  1554. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV_LOW // 3.3V //Walace060618#1
  1555. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV_LOW // 3.2V Walace060710#1
  1556. #else*///B1A, A1C // WHH 070117
  1557.        // Document about following values, please refer "AuxIn Battry check guide" for B1B
  1558. // 4.2 = 127          |
  1559. // 4.1 = 127          |
  1560. // 4.0 = 127          |
  1561. // 3.9 = 125          |
  1562. // 3.8 = 122   BATTERY_LV1  
  1563. // 3.7 = 119   BATTERY_LV2
  1564. // 3.6 = 115   BATTERY_LV3
  1565. // 3.5 = 111          |
  1566. // 3.4 = 108          |
  1567. // 3.3 = 105   BATTERY_LV_LOW (if battery WV(Work Voltage)=3.5~3.6 )     
  1568. // 3.2 = 101          |               
  1569. // 3.1 = 98     BATTERY_LV_LOW (if battery WV(Work Voltage)=3.3)                                                
  1570. // 3.0 = 95            |           
  1571. // 2.9  
  1572. // 2.8          Oled display limit
  1573. // 2.7 
  1574. // 2.6 
  1575. // 2.5    
  1576. // 2.0          FW work
  1577. // 1.5          DCV power on 1v8
  1578. #define BATTERY_LV_COUNT 4 //LV1,LV2,LV3,LOW //Walace060803#2
  1579. #define BATTERY_LV1 122
  1580. #define BATTERY_LV2 119
  1581. #define BATTERY_LV3 115
  1582. #define BATTERY_LV_LOW 105 //low battery to power off
  1583. #define BATTERY_LV_NO 30 //no battery
  1584. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV_LOW // 3.3V  //Walace060618#1
  1585. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV_LOW // 3.2V Walace060710#1
  1586. // #endif // WHH 070117
  1587. #else //B1A, A1C
  1588. // 4.2 = 87          |
  1589. // 4.1 = 83          |
  1590. // 4.0 = 79          |
  1591. // 3.9 = 75  BATTERY_LV1
  1592. // 3.8 = 70          |  
  1593. // 3.7 = 66   BATTERY_LV2
  1594. // 3.6 = 62          |
  1595. // 3.5 = 57   BATTERY_LV3
  1596. // 3.4 = 52          |  
  1597. // 3.3 = 49   BATTERY_LV_LOW (if battery WV(Work Voltage)=3.5~3.6 )            
  1598. // 3.2 = 45          |          
  1599. // 3.1 = 41   BATTERY_LV_LOW (if battery WV(Work Voltage)=3.3)  
  1600. // 3.0 = 36          |
  1601. // 2.9 = 32 
  1602. // 2.8 = 29   Oled display limit
  1603. // 2.7 = 25
  1604. // 2.6 = 21
  1605. // 2.5 = 17   
  1606. // 2.0 =       FW work
  1607. // 1.5          DCV power on 1v8
  1608. #define BATTERY_LV_COUNT 4 //LV1,LV2,LV3,LOW //Walace060803#2
  1609. #define BATTERY_LV1 75
  1610. #define BATTERY_LV2 66
  1611. #define BATTERY_LV3 57
  1612. #define BATTERY_LV_LOW 49 //Low battery and power off,
  1613.                                                      //Notice:Define this value according Li-ion work voltage(WV).
  1614. #define BATTERY_LV_NO 10
  1615. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV_LOW // 3.3V //Walace060618#1
  1616. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV_LOW // 3.2V Walace060710#1
  1617. #endif //#if(IC_5661_TYPE==IC_M5638C_B1B)
  1618. #endif // WHH 070117
  1619.  
  1620. #endif //#if(ONE_BATT_MODE)
  1621. #else
  1622. #define BATTERY_LV1 123 //1.3v
  1623. #define BATTERY_LV2 115 //1.2v
  1624. #define BATTERY_LV3 104 //1.1v
  1625. #define BATTERY_LV_LOW 100 //low battery to power off
  1626. #define BATTERY_LV_NO 50 //no battery
  1627. #define BATTERY_LV_LOW_FOR_NAND BATTERY_LV2 //Walace060618#1 //Walace060710#1
  1628. #define BATTERY_LV_LOW_FOR_REC  BATTERY_LV3 //Walace060710#1
  1629. #endif
  1630. //Walace060613#1 end
  1631. #if(_PM_REC_ && (BATTERY_LV_LOW< BATTERY_LV_LOW_FOR_REC) ) //vicky060922#2
  1632. #undef BATTERY_LV_LOW
  1633. #define BATTERY_LV_LOW BATTERY_LV_LOW_FOR_REC 
  1634. #endif
  1635. #define LOW_BTY_RETRY_NUM 15
  1636. #endif  // #if(_PM_USB_)    //Chris070521#1 MTP show Batt lv   
  1637. // Key Hold Define
  1638. #define KEY_LOCK 0
  1639. #define KEY_UNLOCK 1
  1640. #define FM_MAX_PRESET 30 //0~10 //Walace060931#1
  1641. #if(FM_STEP_100K) //Dennis060517#1 start
  1642. //Fm Default Freq.
  1643. #define FM_INVALID_FREQ_NUM 0xFFFF //tne 2007/01/11 #1
  1644. #define FM_DEFAULT_FREQ 963
  1645. //#define FM_MAX_PRESET 10 //0~10 //Walace060931#1
  1646. #define FM_FREQ_MAX 1080
  1647. #define FM_FREQ_MIN 875
  1648. #else
  1649. #define FM_INVALID_FREQ_NUM 0xFFFF //tne 2007/01/11 #1
  1650. #define FM_DEFAULT_FREQ 9630
  1651. //#define FM_MAX_PRESET 9 //0~10 //Walace060931#1
  1652. #define FM_FREQ_MAX 10800
  1653. #define FM_FREQ_MIN 8750
  1654. #define FM_SEARCH_STEP 5
  1655. #endif //Dennis060517#1 end
  1656. //Auto off default value
  1657. #define AUTO_OFF_DEFAULT 0
  1658. // Define FIFO status register
  1659. #define EN_FIFO_CLRJ 0x7F
  1660. #define DIS_FIFO_CLR 0x80
  1661. #define FIFO_EMPTY 0x40
  1662. #define FIFO_FULL 0x20
  1663. //Ready Enable Low Byte 
  1664. #define IOBUF_EN  0x80
  1665. #define IDMA_EN   0x40
  1666. #define USB_EN    0x20
  1667. #define ROMIF_EN  0x10
  1668. #define IDE_EN 0x08
  1669. #define SM_EN 0x04
  1670. #define MS_EN 0x02
  1671. #define SD_EN 0x01
  1672. #define IOBUF_DIS  0x7F
  1673. #define IDMA_DIS   0xBF
  1674. #define USB_DIS    0xDF
  1675. #define ROMIF_DIS  0xEF
  1676. #define IDE_DIS 0xF7
  1677. #define SM_DIS 0xFB
  1678. #define MS_DIS 0xFD
  1679. #define SD_DIS 0xFE
  1680. //Ready Enable High Byte 
  1681. //#define ?? 0x80
  1682. //#define ?? 0x40
  1683. #define LCD_EN    0x20
  1684. #define DCV_EN  0x10
  1685. #define I2C_EN 0x08
  1686. #define SRAMRA_EN 0x04
  1687. #define RA_EN 0x02
  1688. #define SYSREG_EN 0x01
  1689. //#define ?? 0x7F
  1690. //#define ?? 0xBF
  1691. #define LCD_DIS   0xDF
  1692. #define DCV_DIS  0xEF
  1693. #define I2C_DIS 0xF7
  1694. #define SRAMRA_DIS 0xFB
  1695. #define RA_DIS 0xFD
  1696. #define SYSREG_DIS 0xFE  
  1697. //Context Switch
  1698. #define RAM_ONLY_MODE_EN  0x02
  1699. #define CONTEXT_SW_EN 0x01
  1700. #define RAM_ONLY_MODE_DIS  0xfd
  1701. #define CONTEXT_SW_DIS 0xfe
  1702. //Clock Registers
  1703. #define CLK_EN 0x80
  1704. #define CLK_DIV_EN 0x08
  1705. #define CLK_120M 0x00
  1706. #define CLK_80M 0x10
  1707. #define CLK_48M 0x20
  1708. #define CLK_DCV_AUD 0x30
  1709. #define CLK_DCV_SYS 0x40
  1710. #define CLK_XTAL 0x50
  1711. #define CLK_DIS 0x7F
  1712. #define CLK_DIV_DIS 0xF7
  1713. //RA control
  1714. #define RA_DMA_EN 0x80
  1715. #define RA_DMA_DIS 0x7f
  1716. #define RA_INIT 0x40
  1717. #define RA_NORMAL_J 0xbf
  1718. #define RA_COPY_MODE_EN 0x04
  1719. #define RA_COPY_MODE_DIS 0xfb
  1720. //allen0 start
  1721. //-------------------------------------------------------------------
  1722. // IO Definition
  1723. //-------------------------------------------------------------------
  1724. //
  1725. // FIFO control register bit map definition
  1726. //
  1727. #define EP_STS_EMPTY 0x80
  1728. #define EP_STS_FULL 0x40
  1729. #define EP_FRC 0x20
  1730. #define EP_INI 0x10
  1731. #define EP_STS_OVF_UNF 0x08
  1732. #define EP_STS_ALLEMP 0x04
  1733. #define EP0_STS_SETUP 0x04
  1734. #define EP0_INDIR 0x02
  1735. #define EP_DS    0x02 //allen 050203#0
  1736. #define EP_STALL 0x01
  1737. #define STALL_DISJ 0xFE//Vicky 0723 add
  1738. #define EP_NORMAL 0x00 //allen050712
  1739. // USB INTERRUPT FLAG
  1740. // 0xFDCD obUSBDEVINTFLAG
  1741. #define RESETINT  0x80
  1742. #define RESUMESUSPENDINT  0x40
  1743. #define VBUSINT 0x20
  1744. #define EPCTXINT 0x10
  1745. #define EPBRXINT  0x08
  1746. #define EPATXINT  0x04
  1747. #define EP0RXINT  0x02
  1748. #define EP0TXINT  0x01
  1749. // 0xFDF1 obUSBOTGTEST1
  1750. #define SETUP_LOCK_EN 0x20
  1751. #define SETUP_LOCK_DISJ 0xDF
  1752. #define EPA_EOT_FRC_EN 0x08
  1753. #define EPA_EOT_FRC_DISJ 0xF7
  1754. // 0xFDF2 obUSBOTGSPEED
  1755. #define USB_ON 0x80
  1756. #define USB_OFFJ 0x7F
  1757. #define TRANSFER_EN 0x08
  1758. #define TRANSFER_DISJ 0xF7
  1759. #define FS_DETECTED 0x20
  1760. #define HOST_INDIR 0x04 //allen050712
  1761. // 0xFE1F
  1762. #define EPAFRC0DIS 0x20
  1763. // 0xFF00 obSYSSOFTRSTCTRL
  1764. #define USB_RST_DIS 0x80
  1765. #define SD_RST_DIS 0x40
  1766. #define SM_RST_DIS 0x20
  1767. #define MS_RST_DIS 0x10
  1768. #define DSP_RST_DIS 0x08
  1769. #define IDEM_RST_DIS 0x04
  1770. #define RA_RST_DIS 0x02
  1771. #define I2C_RST_DIS 0x01
  1772. //vicky 07/01 start =========================
  1773. #define USB_RST_ENJ 0x7F
  1774. #define SD_RST_ENJ 0xBF
  1775. #define SM_RST_ENJ 0xDF
  1776. #define MS_RST_ENJ 0xEF
  1777. #define IDEM_RST_ENJ 0xF7
  1778. #define RA_RST_ENJ 0xFD
  1779. #define I2C_RST_ENJ 0xFE
  1780. //vicky 07/01 end   =========================
  1781. // 0xFF07 obMODSEL1
  1782. #define MOD_SD_8BIT 0x80
  1783. #define MOD_IDE_EN 0x40
  1784. #define MOD_CF_EN 0x20
  1785. #define MOD_SD_EN 0x10
  1786. #define MOD_SM_8BIT 0x08
  1787. #define MOD_SM_16BIT 0x04
  1788. #define MOD_MS_EN 0x02
  1789. #define MOD_DRAM_EN 0x01
  1790. //Vicky 0727 add start================
  1791. #define MOD_SD_8BITDIS 0x7f
  1792. #define MOD_IDE_DIS 0xbf
  1793. #define MOD_CF_DIS 0xdf
  1794. #define MOD_SD_DIS 0xef
  1795. #define MOD_SM_8BITDIS 0xf7
  1796. #define MOD_SM_16BITDIS 0xfb
  1797. #define MOD_MS_DIS 0xfd
  1798. #define MOD_DRAM_DIS 0xfe
  1799. //Vicky 0727 add end=================
  1800. // 0xFF08 obMODSEL2
  1801. #define MOD_ROM_DIS 0x80
  1802. #define MOD_LCD_SEREN 0x40
  1803. #define MOD_LCD_PAREN 0x20
  1804. #define MOD_I2CS_EN 0x10
  1805. #define MOD_I2CM_EN 0x08
  1806. #define MOD_I2S1_PINSEL 0x04
  1807. #define MOD_I2S2_EN 0x02
  1808. #define MOD_I2S1_EN 0x01
  1809. // 0xFF09 obMODSEL3
  1810. #define MOD_RESUME_EN 0x80
  1811. #define MOD_USB_EN 0x40
  1812. #define MOD_USB_DISJ 0xBF
  1813. #define MOD_SIF_EN 0x20
  1814. #define MOD_PWM_EN 0x10
  1815. #define MOD_INTROM_DIS 0x08
  1816. #define UART_EN 0x04
  1817. #define UART_DISJ 0xFB
  1818. #define BYPASS_RA 0x02
  1819. #define NOTBYPASS_RAJ 0xFD
  1820. #define MOD_DRAM_RA 0x01
  1821. #define MOD_SRAM_RAJ 0xFE
  1822. // 0xFE5A obSMCTRL
  1823. #define NAND_NORMAL 0xC0
  1824. #define NAND_COMMAND 0x50
  1825. #define NAND_ADDRESS 0x60
  1826. #define NAND_DATA 0x40
  1827. #define NAND1_COMMAND 0xD0 //a06
  1828. #define NAND1_ADDRESS 0xE0 //a06
  1829. #define NAND1_DATA 0xC0 //a06
  1830. #define NAND_READY 0x08
  1831. #define SM_HOST_STOPJ 0xFB
  1832. // 0xFE6A obSMDMACTRL
  1833. #define SM_DMA_EN_IN 0x01
  1834. #define SM_DMA_EN_OUT 0x03
  1835. #define SM_DMA_DIR 0x02 ///050222 allen
  1836. #define SM_DMA_DIS 0x00
  1837. // 0xFEB0 obRACTL //2004/05/07
  1838. #define RA_DMA_DISJ 0x7F
  1839. #define RA_DMA_SEND 0x10
  1840. #define RA_AUTO_FORCE_EN 0x08
  1841. #define RA_COPY_MODE 0x04
  1842. #define RA_NORMAL 0x00
  1843. #define RA_ADDR_LOAD 0x80
  1844. // 0xFF01 obSYSSOFTRSTCTRL2
  1845. #define SIF_RST_DIS 0x10
  1846. #define I2CS_RST_DIS 0x08
  1847. #define I2CM_RST_DIS 0x04
  1848. #define I2S2_RST_DIS 0x02
  1849. #define I2S1_RST_DIS 0x01
  1850. //allen01 start
  1851. // 0xFF02&0xFF03
  1852. #define SELECT_SD 0x10
  1853. #define SELECT_MS 0x11
  1854. #define SELECT_IDE 0x12
  1855. #define SELECT_USB 0x13
  1856. #define SELECT_I2S1 0x14
  1857. #define SELECT_I2S2 0x15
  1858. #define SELECT_IDMA 0x16
  1859. #define SELECT_ROMIF 0x17 //only for source
  1860. #define SELECT_SIF 0x18 //only for source
  1861. #define SELECT_SRAMRA 0x17 //only for target
  1862. #define SELECT_SM 0x19
  1863. //allen01 end
  1864. //-------------------------------------------------------------------
  1865. // Definition
  1866. //-------------------------------------------------------------------
  1867. //USB Bulk Only Command Bulk Out stages
  1868. #define S_BULKOUT_IDLE_PHASE 0
  1869. #define S_BULKOUT_CBW_PHASE 1
  1870. #define S_BULKOUT_DATA_PHASE 2
  1871. #define S_BULKOUT_CSW_PHASE 3
  1872. //CSW return status
  1873. #define PASS 0x00
  1874. #define FAIL 0x01
  1875. #define PHASE_ERROR 0x02
  1876. //Special ATAPI return status
  1877. #define SPECIAL_FAIL 0x00
  1878. #define SPECIAL_DONE 0x01
  1879. //Source
  1880. #define ROM 0
  1881. #define EEPROM 1
  1882. #define SmartMedia 2
  1883. #define IO 3
  1884. #define SRAM 4
  1885. #define CONTEXSW 5
  1886. #define FLASHROM 6
  1887. #define NONE 0xFF
  1888. //ATAPI Command
  1889. #define OP_TEST_UNIT_READY 0x00
  1890. #define OP_REQUEST_SENSE 0x03
  1891. #define OP_FORMAT_UNIT 0x04
  1892. #define OP_INQUIRY 0x12
  1893. #define OP_READ_FORMAT_CAPACITIES 0x23
  1894. #define OP_READ_CAPACITY 0x25
  1895. #define OP_READ10 0x28
  1896. #define OP_WRITE10 0x2A
  1897. #define OP_MODE_SENSE 0x5A
  1898. #define OP_MODE_SENSE6 0x1A //allen050809#0
  1899. #define OP_MODE_SELECT6 0x15//Nick060901
  1900. #define OP_VERIFY10 0x2F
  1901. #define OP_START_STOP 0x1B
  1902. #define OP_READ_TOC 0x43 //Nick060706
  1903. #define OP_PREVENT_ALLOW_REMOVAL 0x1E
  1904. #define OP_SPECIAL_ATAPI 0xF5
  1905. #define OP_ISP_START 0xF0 //allen050602#2: any value except standard Atapi op code
  1906. #define OP_ISP_FINISH 0xF1 //allen050602#2: any value except standard Atapi op code
  1907. //Page code //Nick060531
  1908. #define PC_Info_Excpt_Ctrl 0x1C
  1909. #define PC_Return_All_Page    0x3F
  1910. #define PC_Info_Excpt_Ctrl_Start_Offset   44
  1911. //Request sense
  1912. #define SENSE_NONE 0
  1913. #define SENSE_NOSENSE 1
  1914. #define SENSE_NOMEDIUM 2
  1915. #define SENSE_INVALID_FIELD_IN_CMD_PKT 3//Nick060531
  1916. #define SENSE_WRITE_FAULT 4 //v03210 allen
  1917. #define SENSE_CHANGEMEDIUM 5
  1918. #define SENSE_WRITEPROTECT 7
  1919. #define SENSE_ILLEGALCOMMAND 8
  1920. #define SENSE_HARDWAREFAIL 9
  1921. #define SENSE_CHANGEMEDIUM_WP 10 //v03210 allen
  1922. #define SENSE_NO_ADDITIONAL_SENSE_INFO 11 //Nick060601 add
  1923. //#define SENSE_LOGICAL_DRV_NOT_RDY_BECOMING_RDY 12 //Nick060706
  1924. #define SENSE_FAKE_CHANGEMEDIUM   12 //Yen_Lung050624 //Nick060601 11->12
  1925. //Format Cap Type
  1926. #define TYPE_RESERVED 0
  1927. #define TYPE_UNFORMATTED 1
  1928. #define TYPE_FORMATTED 2
  1929. #define TYPE_NOMEDIA 3
  1930. //define supprot nand flash type
  1931. #define NAND16x1 0x01
  1932. #define NAND16x2 0x03
  1933. #define NAND8x1 0x04
  1934. #define NAND8x2 0x0C
  1935. #define NAND8s2 0x08 //a05
  1936. #define AG8x1 0x14 //a11
  1937. #define AG8x2 0x1C //a11
  1938. #if(NEW_FLASH)
  1939. // gbSpecialRW
  1940. //Allen060622: all value are fixed new_nf
  1941. #define RW_NORMAL 0 //Fix
  1942. #define RW_SECURITY 1 //060519
  1943. #define RW_PRIVATE 2 //060519
  1944. #define RW_CONFIG 3
  1945. #define RW_SETTING 4 //allen060519
  1946. #define RW_LUT 5
  1947. #define RW_SPARE 6 //060519
  1948. //Allen060622: all value are fixed new_nf
  1949. #else
  1950. // gbSpecialRW //allen041208
  1951. #define RW_NORMAL 0
  1952. #define RW_PRIVATE 1
  1953. #define RW_SECURITY 2
  1954. #define RW_CONFIG 3
  1955. #define RW_LUT 5
  1956. #endif
  1957. // AB Repeat Mode
  1958. #define AB_REPT_START P_AB_REPT_START
  1959. #define AB_REPT_END P_AB_REPT_END
  1960. #define AB_REPT_RESET P_AB_REPT_RESET
  1961. #define REW_START 0x01
  1962. #define REW_PLAY 0x02
  1963. //add by tne
  1964. #define SET_DSP_16_MODE() (obPMSIZE |= 0x80)
  1965. #define SET_DSP_24_MODE() (obPMSIZE &= 0x7F)
  1966. //RTC Register 
  1967. #define RTC_GET_INTERPT_TIME 0x60
  1968. #define RTC_INTERPT_1S 0x00
  1969. #define RTC_INTERPT_100MS 0x20
  1970. #define RTC_INTERPT_10MS 0x40
  1971. #define RTC_GET_AMPREG 0x10
  1972. #define RTC_GET_ALARM_STS 0x08
  1973. #define RTC_ALARM_EN 0x08
  1974. #define RTC_ALARM_DIS 0xF7
  1975. #define RTC_COUNTER_EN 0x04
  1976. #define RTC_COUNTER_DIS 0xFB
  1977. #define RTC_UPDATE_EN 0x02
  1978. #define RTC_UPDATE_DIS 0xFD
  1979. #define RTC_CLK1K_EN 0x01
  1980. #define RTC_CLK1K_DIS 0xFE
  1981. // I2C Command Register ... You should OR(|) all command
  1982. #define I2C_CMD_MULTIL 0x40
  1983. #define I2C_CMD_SINGLE 0x00
  1984. #define I2C_CMD_STOP 0x20
  1985. #define I2C_CMD_RANDOM 0x10
  1986. #define I2C_CMD_CURRENT 0x00
  1987. #define I2C_CMD_READ_MODE 0x08
  1988. #define I2C_CMD_WRITE_MODE 0x00
  1989. #define I2C_CMD_DATA_LEN(bLen) bLen
  1990. //add by TNE 2004/07/02
  1991. #define FM_TEA5767           0xC0
  1992. //INT0_FLAG //0xff11
  1993. #define USB_INT 0x80
  1994. #define USB_HST_INT2 0x40 //050214 host
  1995. #define USB_HST_INT1 0x20 //050214 host
  1996. #define USB_OTG_INT 0x10 //050214 host
  1997. //#define VBUS_INT 0x08 //Walace060719#1
  1998. #define I2S_INT 0x04
  1999. #define DCV_INT 0x02
  2000. #define CODEC_INT 0x01
  2001. //I2S_INT_FLAG //0xff18
  2002. #define I2S1_RCV_INT 0x01
  2003. #define I2S1_TR_INT 0x02
  2004. #define I2S2_RCV_INT 0x04
  2005. #define I2S2_TR_INT 0x08
  2006. #define CDC_INT_EN  0x01
  2007. #define I2S_INT_EN 0x04
  2008. #define DCV_INT_EN   0x02
  2009. //vicky start =======================================
  2010. // obTCNTCTRL
  2011. #define TCOUNT_LOAD  0x04
  2012. #define TCOUNT_LOAD_DIS 0xFB
  2013. #define TCOUNT_ENJ 0xFD
  2014. #define TCOUNT_DIS 0x02
  2015. #define TCOUNT_FINISH 0x01
  2016. //obCLKSDCTRL
  2017. #define SD_CLOCK_DISJ 0x7F
  2018. #define MAX_LUN 2
  2019. #define NAND_LUN 0
  2020. #define SD_LUN 1
  2021. #define CDROM_LUN 2//Nick060706
  2022. //
  2023. //
  2024. #define INEDX_OF_DEVICE_DESP 0x04
  2025. #define INDEX_OF_HS_CONFIG_DESP 0x06
  2026. #define INDEX_OF_FS_CONFIG_DESP 0x08
  2027. #define INDEX_OF_HS_OTHER_CONFIG_DESP 0x0A
  2028. #define INDEX_OF_FS_OTHER_CONFIG_DESP 0x0C
  2029. #define INDEX_OF_HS_QUALI_DESP 0x0E
  2030. #define INDEX_OF_FS_QUALI_DESP 0x10
  2031. #define INDEX_OF_STRING_LANGUAGE_DESP 0x12
  2032. #define INDEX_OF_STRING_PRODUCT_DESP 0x14
  2033. #define INDEX_OF_STRING_SERIAL_DESP 0x16
  2034. #define INDEX_OF_MODE_SELECT 0x18
  2035. #define INDEX_OF_NAND_CONFIG 0x1A
  2036. #define INDEX_OF_SD_CONFIG 0x1C
  2037. #define INDEX_OF_MS_CONFIG 0x1E
  2038. #define INDEX_OF_XD_CONFIG 0x20
  2039. #define INDEX_OF_CF_CONFIG 0x22
  2040. //#define INDEX_OF_ALI_ID 0x24 //050324
  2041. #define INDEX_OF_STRING_MANUFACTORY_DESP 0x24 //050324: for ISP0.50.00
  2042. // For LeftJob: allen 050403
  2043. #define LEFT_FINISH 0x01
  2044. #define LEFT_WRITE 0x02
  2045. #define LEFT_READ 0x04
  2046. //
  2047. //vicky end =========================================
  2048. //Vicky 0812 start===========================
  2049. //Detect PIN
  2050. //SD
  2051. //Nick060808 start
  2052. #if(SD_DET_USE_INT1) 
  2053. #define PIN_SD_DETDIR  obGPIODDIR
  2054. #define PIN_SD_DETDAT obGPIODDAT
  2055. #define SD_CD 0x20
  2056. #define SD_CDJ 0xDF
  2057. #else
  2058. #define PIN_SD_DETDIR  obGPIOEDIR //GPIOE2//Vicky1005 add
  2059. #define PIN_SD_DETDAT obGPIOEDAT //GPIOE2//Vicky1005 add
  2060. #define SD_CD 0x04//Vicky1005 add
  2061. #define SD_CDJ 0xFB
  2062. #endif 
  2063. //Detect PIN Pull high //Nick060808 start
  2064. #define PIN_SD_DET_PULL_EN  obGPIOEPUEN
  2065. #define PIN_SD_DET_PULL_HIGH obGPIOEPUHI
  2066. //Nick060808 end
  2067. //Write Protect PIN
  2068. #define PIN_SD_WPDIR obGPIOHDIR //GPIOH2 //Vicky1005 add
  2069. #define PIN_SD_WPDAT obGPIOHDAT //Vicky1005 add
  2070. #define SD_WP 0x04 //Vicky1005 add
  2071. //PD PIN
  2072. #define PIN_SD_PDDIR obGPIOEDIR //GPIOE7
  2073. #define PIN_SD_PDDAT obGPIOEDAT
  2074. #define SD_PD 0x80
  2075. #define SD_PDJ 0x7F
  2076. //Vicky 0812 end===========================
  2077. //
  2078. //vicky end =========================================
  2079. //allen0906 start
  2080. #define ACCESS_WRITE 0x80
  2081. #define ACCESS_READJ 0x7F
  2082. #define ACCESS_RW2K 0x40
  2083. #define ACCESS_RW512J 0xBF
  2084. #define ACCESS_4BITECC 0x20
  2085. #define ACCESS_1BITECCJ 0xDF
  2086. //allen0906 end
  2087. #define ACCESS_WITH_REDU67_NEW 0x01 //isp0.68.00 //Allen051130#2: for isp
  2088. #define ACCESS_WITH_REDU67 0x10 //Allen051130#2: for isp
  2089. //add by tne 2004/0924
  2090. #define SYS_POWER_SAVE_EN 0x8000
  2091. #define SYS_POWER_SAVE_DIS 0x7FFF
  2092. #define SYS_PLAY_NOT_OFF_EN 0x4000
  2093. #define SYS_PLAY_NOT_OFF_DIS 0xBFFF
  2094. #define SYS_POWER_SAVE_TIME 0x3FFF
  2095. //add by tne 2004/11/17 BL
  2096. //gxbBackLightCounter define
  2097. // gxbBackLightCounter:7 6 5 4 3 2 1 0
  2098. // | | | | | | | |
  2099. // |(- - - - - - -)Counter Value
  2100. //    (-)Light State
  2101. #define BACKLIGHT_STS_ON 0x80
  2102. #define BACKLIGHT_STS_OFF 0x00
  2103. #define BACKLIGHT_COUNTER_VAL 0x7F
  2104. //Add by tne 2005/01/10 #1
  2105. //NOTE! If you modify the value, you should adjust the gxbLongFileName buffer size
  2106. #define LONG_FILE_NAME_MAX_LEN 252
  2107. //David050318
  2108. /*
  2109. //add by tne 2005/01/19 #1
  2110. typedef struct FILE_INF_DATA {
  2111. PBYTE pbFileName;
  2112. PBYTE pbLongFileName;
  2113. DWORD dwFileSize;
  2114. DWORD dwFileTotalSector;
  2115. DWORD dwFileStartClu;
  2116. BYTE bPathDepth;
  2117. DWORD dwDirSec[MAX_PATH_DEPTH];
  2118. WORD wDirOffset[MAX_PATH_DEPTH];
  2119. DWORD dwDirStartSec;
  2120. //BYTE bFileAttr;
  2121. };
  2122. */
  2123. //David 050318 , remodify file structure for (1)open files at the same time. (2)remove duplicate data
  2124. typedef struct FILE_INF_DATA {
  2125. PBYTE pbFileName;
  2126. PBYTE pbLongFileName;
  2127. DWORD dwFileSize;
  2128. DWORD dwFileTotalSector;
  2129. DWORD dwFileStartClu;
  2130. BYTE bPathDepth;
  2131. DWORD dwDirSec[MAX_PATH_DEPTH];
  2132. WORD wDirOffset[MAX_PATH_DEPTH];
  2133. DWORD dwDirStartSec;
  2134. DWORD dwFileCurClu; //current cluster
  2135. DWORD dwFileCurSec; //current sector
  2136. };
  2137. //================ CDB Data Struct ================= //tne CDB
  2138. typedef struct CDB_DATA_INFO
  2139. {
  2140. DWORD dwNextPoint;
  2141. DWORD dwPrePoint;
  2142. DWORD dwEnterPoint;
  2143. DWORD dwBackPoint;
  2144. BYTE bClassMode;
  2145. //WORD wTotalMusic;
  2146. WORD wItemNum;
  2147. BYTE bDepth;
  2148. DWORD dwDirSec;
  2149. WORD wDirOff;
  2150. DWORD dwDirStartSec; //dwEnterLastPoint
  2151. WORD wDirInfoNum; //wTotalChild
  2152. };
  2153. //License Type
  2154. #define LT_UN_LIMIT 0x00
  2155. #define LT_DATE_FROM 0x01
  2156. #define LT_DATE_UNTIL 0x02
  2157. #define LT_DATE_FROM_UNTIL 0x03
  2158. #define LT_HOUR 0x04
  2159. #define LT_HOUR_FROM 0x05
  2160. #define LT_HOUR_UNTIL 0x06
  2161. #define LT_HOUR_FROM_UNTIL 0x07
  2162. #define LT_COUNT 0x08
  2163. #define LT_COUNT_FROM 0x09
  2164. #define LT_COUNT_UNTIL 0x0A
  2165. #define LT_COUNT_FROM_UNTIL 0x0B
  2166. //gxbDrmOptionMode define
  2167. // gxbDrmOptionMode: 7 6 5 4 3 2 1 0
  2168. // | | | | | | | |
  2169. // | | | | | | |(-)MTP Enable
  2170. // | | | | | |(-)S-Clock Ready (RTC side)
  2171. //    (- - - - - -)reserved
  2172. #define DRM_OPTION_MTP_MODE 0x01
  2173. #define DRM_OPTION_MTP_OFF 0x00
  2174. #define DRM_OPTION_MTP_ON 0x01
  2175. #if(DRM_MODE_EN)
  2176. #define DRM_OPTION_DEFAULT DRM_OPTION_MTP_ON
  2177. #else
  2178. #define DRM_OPTION_DEFAULT DRM_OPTION_MTP_OFF
  2179. #endif
  2180. //RTC side secure clock state
  2181. #define S_CLOCK_READY_MODE 0x02
  2182. #define S_CLOCK_NOT_READY 0x00
  2183. #define S_CLOCK_READY 0x02
  2184. #define S_CLOCK_READY_DEFAULT S_CLOCK_NOT_READY
  2185. #define TIME_ZONE_DEFAULT 20 //GMT8 +12=20
  2186. // USB TYPE
  2187. #define USB_MASS_STORAGE  DRM_OPTION_MTP_OFF
  2188. #define USB_MTP DRM_OPTION_MTP_ON
  2189. #if(DRM_MODE_EN)
  2190. #define USB_MODE_DEFAULT USB_MTP
  2191. #else
  2192. #define USB_MODE_DEFAULT USB_MASS_STORAGE
  2193. #endif
  2194. // DRM Secure Clock State  //Different from RTC s-clock ststus
  2195. #define SECURE_CLOCK_NOT_SET 0
  2196. #define SECURE_CLOCK_SET 1
  2197. #define SECURE_CLOCK_NEED_REFRESH 2
  2198. //add by tne 2005/04/14
  2199. //MTP USB DMA Read/Write
  2200. #define USB_DMA_READ TRUE
  2201. #define USB_DMA_WRITE FALSE
  2202. //Add by tne 2005/05/18
  2203. #define SYS_STR_MAX_WORDS 32
  2204. #define SYS_STR_NUM_PER_SEC 15 // 512/(32+1)=15
  2205. //================ MTP Data Struct ================= Allen
  2206. //Chris move from MtpDatabase.h 060731 #1
  2207. typedef struct MTP_DB_NODE
  2208. {
  2209. BYTE bStatus;
  2210. BYTE bReserved1; //Chris060926 #3
  2211. WORD wFormatCode;
  2212. WORD wCurPoint;
  2213. WORD wNextPoint; //0x0000: last object
  2214. WORD wPrePoint; //0x0000: first object
  2215. WORD wBackPoint; //0x0000: root
  2216. WORD wEnterPoint; //0x0000: Folder but no file, 0xFFFF: file
  2217. WORD wEnterLastPoint;
  2218. }MTP_DB_NODE;
  2219. // 0 ~ 42 : Property: mapping to variable.
  2220. // 43 ~ 95 : Parameter
  2221. // 96 ~ 191 : wPropEntry
  2222. // 192 ~ : Property: Date
  2223. typedef struct  MDB_OBJLIST//_OBJECT_PROPERTY
  2224. {
  2225. //
  2226. // Seq must be the same with cwObjectPropertyEntry
  2227. //
  2228. BYTE bPersusrentGUID[12]; // 0
  2229. DWORD dwObjectHandle; // 12
  2230. DWORD dwObjectParentID; // 16 
  2231. DWORD dwObjectSize; // 20
  2232. WORD wFormatCode; // 24
  2233. WORD wProtectionStatus; // 26
  2234. DWORD dwStorageID; // 28
  2235. WORD wAssociationType; // 32 050506
  2236. DWORD dwAssociationDesc; // 34 050506
  2237. DWORD dwAUDIOWAVECODEC; // 38 050506
  2238. DWORD dwSAMPLERATE; // 42 050506
  2239. DWORD dwAUDIOBITRATE; // 46 050506
  2240. WORD wNUMBEROFCHANNELS; // 50 050506
  2241. WORD wTRACK; // 52 050506
  2242. BYTE  bNonConsumable; // 54 050507
  2243. DWORD dwUseCount; // 55 //add by chris 06/05/02
  2244. WORD wUserRating; // 59 //Chris 060503
  2245. DWORD dwDuration; // 61 //add by chris 060717 #3
  2246. // WORD wFreePointer; // 65 point to free
  2247. BYTE  bPathDepth; // 65 => Fs Allen060123
  2248. DWORD dwObjectFileEntrySec; // 66 => Fs
  2249. WORD wObjectFileEntrySecOffset; // 70 => Fs
  2250. DWORD dwObjectFileFirstClu; // 72 => Fs
  2251. DWORD dwObjectDirStartSec; // 76  => Fs //add by tne 2005/04/22
  2252. //060119start Chris modify 060717 #3
  2253. XBYTE pShortFileName[11]; // 80 - 11
  2254. BYTE bFileContinuous; // 91 - 1 //Allen060728
  2255. BYTE bRoundTripStatus; // 92 -1 //Chris060926 #3
  2256. BYTE bObjNameLen[6]; //93 -6 //Chris061013 #3
  2257. BYTE bReserved1[2]; // 99 -2 //Chris061013 #3
  2258. XBYTE bDateCreated[49]; // 101 - 49 ENTRY_DATE_START
  2259. XBYTE  bDateModified[49]; // 150 - 49
  2260. //060119end
  2261. }MDB_OBJLIST;
  2262. #if(_PM_MTP_|_PM_MTP_INIT_)
  2263. typedef struct{
  2264. WORD wFileSector;
  2265. DWORD dwFileStartClu;
  2266. DWORD  dwFileDirSec;
  2267. WORD  wFileDirOffset;
  2268. }MTP_FILE_INFO;
  2269. typedef struct{
  2270. // Param from FsInit
  2271. BYTE gxbFatType;
  2272. BYTE gbSecPerClu;
  2273. DWORD gxdwFat1;
  2274. DWORD gxdwFat2;
  2275. DWORD gxdwRoot;
  2276. DWORD gxdwData;
  2277. DWORD gxdwFsInfo;
  2278. DWORD gxdwEndClu;
  2279. DWORD gxdwMaxSector;
  2280. BYTE gbFsUnableUse;
  2281. // Param from FsRecInit
  2282. DWORD gxdwNumFreeClu;
  2283. DWORD gxdwFirstEmptyClu;
  2284. }FS_INF_DATA; //39B
  2285. typedef struct{
  2286. BYTE bMode;
  2287. WORD wStartSec;
  2288. BYTE bSubHeaderSize;
  2289. BYTE bTotalMusic; // Tne only handle 200 music
  2290. WORD wTotalMusic; //Allen060126: only for mtp playlsit
  2291. BYTE bReserved[9/*11*/];
  2292. }PLDB_TITLE_HEADER;
  2293. typedef struct{
  2294. BYTE bMode;
  2295. BYTE bStoreType;
  2296. BYTE bCheckSum1;
  2297. BYTE bCheckSum2;
  2298. BYTE bCheckSum3;
  2299. BYTE bDepth;
  2300. DWORD dwDirStartSec;
  2301. DWORD dwObjectHandle; //only for MTP
  2302. BYTE bTimeCheck[2];
  2303. DWORD dwDirAddress[12];
  2304. }PLDB_INF_DATA;
  2305. #endif
  2306. //=========================================
  2307. #define LYRIC_MAX_STAMP 255
  2308. //Vicky060222 add for Multi Time Stamp
  2309. struct LYRIC_DATA
  2310. {
  2311. DWORD  dwLyricTime;
  2312. WORD wOffset;
  2313. WORD wReserved;
  2314. };
  2315. typedef struct
  2316. {
  2317. struct LYRIC_DATA sLyricData[LYRIC_MAX_STAMP+1];
  2318. }*P_LYRIC_DATA_LIST;
  2319. //End
  2320. //const for FS_DELETE
  2321. #define FSDEL_INIT_FS  0x80
  2322. #define FSDEL_SCAN_DB 0x40 //TNE CDB //Scan class data base for language
  2323. #define FSDEL_NEXT_PM 0x0f
  2324. #define FSDEL_GO_USB  0x00
  2325. #define FSDEL_GO_MTP  0x01
  2326. #define FSDEL_GO_FM 0x02
  2327. #define FSDEL_GO_SYS 0x03
  2328. #define FSDEL_GO_PLAY 0x04
  2329. #define FSDEL_GO_DVR 0x05
  2330. #define FSDEL_GO_HST 0x06
  2331. #define FSDEL_GO_PHO     0x07 // //Walace 050916
  2332. #define FSDEL_GO_VIDEO   0x08  //Walace 051124#Video
  2333. #define FSDEL_GO_SAVE 0x09 // WHH #1 301_061220
  2334. #define FSDEL_GO_FCTRL 0x0A
  2335. #define FSDEL_GO_AMUSE  0x0F //Vicky060301
  2336. //tne 2005/06/14
  2337. #define SAVE_REC_STILL_REC 0x01
  2338. #define SAVE_REC_FINISH_REC 0x00
  2339. //tne 2005/06/16 //Intro mode //INTRO_NOP->INTRO_WAIT->INTRO_PLAY
  2340. #define INTRO_NOP 0x00
  2341. #define INTRO_WAIT 0x01
  2342. #define INTRO_PLAY 0x02
  2343. //Save Setting Nand Flash Private Address
  2344. #define SAVE_SETTING_NAND_ADD 0x01
  2345. //tne repeat mode
  2346. //  The repeat mode when save setting
  2347. // bit 7 6 5 4 3 2 1 0
  2348. // | | | | | | | |
  2349. // |(- - - - - - -) Repeat Mode
  2350. // x Auto Search Flag (1:Auto search 0:Dir repeat)
  2351. #define REPEAT_SETTING_DIR_FLAG_J 0x80
  2352. #define REPEAT_SETTING_MODE 0x7F
  2353. //Count file number searching mode (gxbFileNumSearchMode)
  2354. #define FNUM_SEARCH_RESET_MODE 0x00 //The relation of file location is unknow
  2355. #define FNUM_SEARCH_NEXT_MODE 0x01 //Old_File -> New_File
  2356. #define FNUM_SEARCH_PREV_MODE 0x02 //New_File <- Old_File
  2357. //Walace060607#1 PlayProcess start
  2358. // gxbModuleState
  2359. // 7 6 5 4 3 2 1 0
  2360. // | | | | | | | |
  2361. // | | |(- - - - -) Master Module
  2362. //(- - -) Sub Module
  2363. #define MODULE_MASTER 0x1F // 000X XXXX
  2364. #define MODULE_SUB 0xE0  // XXX0 0000 //0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0
  2365. #define MODULE_INITIAL                       0x01
  2366. #define MODULE_INITCHK                      0x02  
  2367. #define MODULE_USB         0x03
  2368. #define MODULE_MTPINIT          0x04
  2369. #define MODULE_MTP          0x05
  2370. #define MODULE_PLAY  0x06
  2371. #define MODULE_DVR  0x07
  2372. #define MODULE_PLAY_PRC 0x08
  2373. #define MODULE_DVR_PRC 0x09
  2374. #define MODULE_PLAY_MENU  0x0a
  2375. #define MODULE_PLAY_FLIST  0x0b
  2376. #define MODULE_PLAY_CLIST  0x0c
  2377. #define MODULE_DVR_MENU  0x0d
  2378. #define MODULE_DVR_FLIST  0x0e
  2379. #define MODULE_REC_MENU  0x10
  2380. #define MODULE_PHOTO  0x11
  2381. #define MODULE_VIDEO  0x12
  2382. #define MODULE_VIDEO_MENU 0x13
  2383. #define MODULE_VIDEO_FLIST 0x14
  2384. #define MODULE_SLIDE_SHOW 0x15
  2385. #define MODULE_REC                             0x16
  2386. #define MODULE_FM                             0x17
  2387. #define MODULE_EBOOK 0x18   // Jeff070310#3
  2388. #define MODULE_SYSTEM 0x19   // Walace070312#1
  2389. #define MODULE_FILE_SORT 0x20   // Walace070312#1
  2390. #define MODULE_PRC_INIT 0x20
  2391. #define MODULE_PRC_EOF_CTRL 0x40
  2392. #define MODULE_PRC_PE_CMD 0x60
  2393. #define MODULE_PRC_REC_KEY_END      0x80
  2394. #define MODULE_FILE_DEL   0xa0
  2395. #define MODULE_DEL_AFTER_PRC        0xc0
  2396. #define MODULE_NAND_RTN_RESOTRE        0xe0 //NandRestore
  2397. #define MODULE_OTHERS 0x1F
  2398. #if 0
  2399. //Another UI flag define (gxbAnotherUi)
  2400. #define MODULE_FROM_INIT 0x00
  2401. #define MODULE_FROM_PLAYBACK 0x01
  2402. #define MODULE_FROM_PLAYDEL 0x02
  2403. #define MODULE_FROM_RECORD        0x03     //Walace060112#1 only for record
  2404. #define MODULE_FROM_KEY_END_REC 0x04 //vicky060810
  2405. #define MODULE_FROM_PLAY_DATA_RTN_RESTORE 0x05 //Nick061120
  2406. #define MODULE_FROM_DVR 0x06 //Nick061120
  2407. #define MODULE_FROM_DVR_MENU 0x07 //Nick061120
  2408. #define MODULE_FROM_MTP 0x08 //Nick061120
  2409. #define MODULE_FROM_PLAY_FLIST 0x11
  2410. #define MODULE_FROM_DVR_FLIST 0x12
  2411. #define MODULE_FROM_PLAY_CLIST 0x13
  2412. #define MODULE_FROM_PLAY_MENU 0x14
  2413. #define MODULE_FROM_DVR_REC_MENU 0x15  //Walace061126#1
  2414. #define MODULE_FROM_OTHERS 0xFF
  2415. //tne 2005/12/17
  2416. #define MODULE_FROM_PHOTO_VIEW 0x21
  2417. #define MODULE_FROM_VIDEO_FLIST 0x31
  2418. //tne del dir
  2419. #define MODULE_FROM_DIRDEL 0x15
  2420. #endif
  2421. //Walace060607#1 PlayProcess end
  2422. //tne 2005/08/06
  2423. //Display Location define
  2424. #define UI_LOCATE_REC_LOW_STR 0x01
  2425. #define UI_LOCATE_ICON_RING 0x02
  2426. #define UI_LOCATE_WAIT_SEC 0x03
  2427. #define UI_LOCATE_HOST_FREE_SIZE 0x04
  2428. #define UI_LOCATE_HOST_DISK_SIZE 0x05
  2429. #define UI_LOCATE_HOST_SEL_SIZE 0x06
  2430. #define UI_LOCATE_POWER_SAVE_0 0x10
  2431. #define UI_LOCATE_POWER_SAVE_1 0x11
  2432. #define UI_LOCATE_POWER_SAVE_2 0x12
  2433. #define UI_LOCATE_POWER_SAVE_3 0x13
  2434. #define UI_LOCATE_POWER_SAVE_4 0x14
  2435. #define UI_LOCATE_MAIN_MENU_LEN_0 0x20
  2436. #define UI_LOCATE_MAIN_MENU_LEN_1 0x21
  2437. #define UI_LOCATE_MAIN_MENU_LEN_2 0x22
  2438. #define UI_LOCATE_MAIN_MENU_LEN_3 0x23
  2439. #define UI_LOCATE_MAIN_MENU_LEN_4 0x24
  2440. //tne 2005/08/16
  2441. #define FILE_ATTR_NORMAL 0x00
  2442. #define FILE_ATTR_READ_ONLY 0x01
  2443. #define FILE_ATTR_HIDDEN 0x02
  2444. #define FILE_ATTR_SYSTEM 0x04
  2445. #define FILE_ATTR_LABEL 0x08
  2446. #define FILE_ATTR_SUB_DIR 0x10
  2447. #define FILE_ATTR_ARCHIVE 0x20
  2448. #define FILE_ATTR_LONG_FILE_NAME 0x0f
  2449. //UI for class
  2450. //gxbPlayClassMode define
  2451. #define P_CLASS_MODE_GENRE 0x00
  2452. #define P_CLASS_MODE_ARTIST 0x01
  2453. #define P_CLASS_MODE_ALBUM 0x02
  2454. #define P_CLASS_MODE_TITLE 0x03
  2455. #define P_CLASS_MODE_FILE 0xFF
  2456. #define PLAY_CLASS_MODE_DEFAULT P_CLASS_MODE_FILE
  2457. //MSC modify flag
  2458. #define MSC_DATA_HAVE_MODIFIED TRUE
  2459. #define MSC_DATA_NOT_MODIFIED FALSE
  2460. #define MSC_MODIFY_FLASG_DEFAULT MSC_DATA_HAVE_MODIFIED
  2461. #define SLIDE_SHOW_IMAGE_DELAY 50
  2462. #define SLIDE_SHOW_WAIT_TIME   200
  2463. // Walace051005 for bug00031
  2464. #define FADE_OUT_MIN_SECTOR 1
  2465. #if(CDC_FOR_S5638)
  2466. #define FADEOUT_VOL 1
  2467. #else
  2468. #define FADEOUT_VOL 0
  2469. #endif
  2470. //tne CDB with SD //SD modify flag
  2471. #define SD_DATA_HAVE_MODIFIED 0x11
  2472. #define SD_DATA_NOT_MODIFIED 0x10
  2473. //tne 2005/11/28 #2
  2474. #define SYS_SPEED_UP_INIT 0x00 //MCU 73.5 SRam&SM 49
  2475. #define SYS_SPEED_UP_NAND_INIT 0x02 //36.7MHz
  2476. #define SYS_SPEED_UP_UI 0x02 //36.7MHz
  2477. #define SYS_SPEED_UP_RECENGINE 0x01 //49.0MHz
  2478. #define SYS_SPEED_UP_HOST 0x01 //49.0MHz
  2479. #define SYS_SPEED_UP_CALIBRATION 0x01 //49.0MHz //tne 2006/01/17 #2
  2480. #define SYS_SPEED_NORMAL 0x08 //14.7MHz
  2481. #define SYS_SPEED_FOR_ICE 0x0A //Walace060607#1 PlayProcess
  2482. #define USB_SPEED_48M 0xF0 //Walace070227#2
  2483. #define USB_SPEED_60M 0xF1 //Walace070227#2
  2484. #define USB_SPEED_XTAL 0xF2 //Walace070227#2
  2485. #define MTV_FILE_EXT1 "mtv"
  2486. //  1. DSP code of mp3 one frame (44.1k 128kbps) interleaved with two scans of a JPEG frame(96x64) and its test pattern.
  2487. //#define MJ_FILE_EXT2 "mtv"
  2488. //  2. DSP code of ADPCM 512 bytes interleaved with one scan of a JPEG frame (96x64) and its test pattern.
  2489. #define P0_095_dB 31130 //Walace060823#2
  2490. //Jeff_051116 start
  2491. //#if(UI_EQ_CUSTOM|UI_USE_USER_EQ) //Vicky060104#1
  2492. #define P6dB 65381  //FF65
  2493. #define  P5_5dB 61723  //F11B //Vicky060104#1
  2494. #define P5dB  58271  //E39F
  2495. #define P4_5dB  55011 //D6E3
  2496. #define P4dB  51934 //CADE
  2497. #define P3dB  46286  //B4CE
  2498. #define P2_5dB  43670  //AA96
  2499. #define P2dB  41252 //A124
  2500. #define P1_5dB  38945 //9821
  2501. #define P1dB  36766 //8F9E
  2502. #define P0_5dB  34710  //8796
  2503. #define P0dB  32768 //8000
  2504. #define N0_5dB 30935 //78D7
  2505. #define N1dB 29205 //7215
  2506. #define N1_5dB 27571 //6BB3
  2507. #define N2dB 26029 //65AD
  2508. #define N3dB 23198 //5A9E
  2509. #define N4dB 20675 //50C3
  2510. #define N4_5dB 19519 // 4C3F
  2511. #define N5dB 18427 // 47FB
  2512. #define  N5_5dB 17396 //43F4 
  2513. #define N6dB 16423 //4027
  2514. #define N6_5dB 15504 // 3C90
  2515. #define N7dB 14637 //392D
  2516. #define N7_5dB 13818 //35FA
  2517. #define N8dB 13045 //32F5
  2518. #define N9dB 11627 // 2D6B
  2519. #define N9_5dB 10976 // 2AE0
  2520. #define N10dB 10362 //287A
  2521. #define          N10_5     9783 //2637
  2522. #define N11dB  9235  //2413
  2523. #define          N11_5dB 8719 //220F
  2524. #define          N12dB     8231 // 2027
  2525. #define          N12_5dB 7771 // 1E5B
  2526. #define N13dB  7336 // 1CA8
  2527. //ADPCM EQ Define //tne 2006/01/16
  2528. #define A_P18_0dB 0x0F
  2529. #define A_P14_0dB 0x0E
  2530. #define A_P10_5dB 0x0D
  2531. #define A_P07_7dB 0x0C
  2532. #define A_P05_0dB 0x0B
  2533. #define A_P02_2dB 0x0A
  2534. #define A_P00_0dB 0x09
  2535. #define A_N02_2dB 0x08
  2536. #define A_N05_0dB 0x07
  2537. #define A_N07_7dB 0x06
  2538. #define A_N10_5dB 0x05
  2539. #define A_N14_0dB 0x04
  2540. #define A_N18_0dB 0x03
  2541. //#endif
  2542. //Jeff_051116 end
  2543. //David051130#4
  2544. //Dsp Fade in/out command
  2545. // bit 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
  2546. //  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
  2547. //  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Fade in (1:turn on, 0:turn off, dsp will clear this bit when cmd received)
  2548. //  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Fade out (1:turn on, 0:turn off, dsp will clear this bit when cmd received)
  2549. //  |  |  |  |  |  |  |  |  |  |  |  |  |  Force fade. 1: fade in/out from max value(Dsp's mcu scale)/zero 0:normal fade in/out
  2550. //  |  | (-  -  -  -  -  -  -  -  -  -  -)Fade in/out duration in unit 1/32 sec
  2551. //  |  Fade in done(1: done, 0:fading; MCU should clear this bit when set fade in)
  2552. //  Fade out done(1: done, 0:fading; MCU should clear this bit when set fade out)
  2553. #define DSP_FADE_IN_EN 0x0001
  2554. #define DSP_FADE_OUT_EN 0x0002
  2555. #define DSP_FADE_FORCE 0x0004
  2556. #define DSP_FADE_1_UNIT 0x0008
  2557. #define DSP_FADE_IN_DONE 0x4000
  2558. #define DSP_FADE_OUT_DONE 0x8000
  2559. #define DSP_FADE_DONE 0xC000
  2560. //End
  2561. //Vicky051209#1
  2562. //gxbDSPFlush
  2563. //bit 7 6 5 4 3 2 1 0
  2564. // | | | | | | | |
  2565. // (- - - - - - -) No flush Cnt(Normal cnt)
  2566. // Flush Flag (Mean:DSP Needs to Flush data)(1:Need, 0: Needn't)
  2567. #define FLUSH_FALSECNT 0x7F
  2568. #define FLUSH_FLAG 0x80
  2569. #define FLUSH_CLRCNT 0x30
  2570. //CLKDSPDIVF
  2571. #define FLUSH_DSPCLK 0x01
  2572. //DSP_DEC_ERR_FLG
  2573. #define DSP_FLUSH 0x08
  2574. //End
  2575. #define AB_WAIT_BFINISH 0x01 //Vicky060223#1
  2576. #define DSP_ID_BASE 200 //tne 2006/08/16 #1
  2577. //Nick060706#1 start for ansuring auto run function on win2K
  2578. #define STSMediaNotPresent  3
  2579. //#define STSBecomingReady  4
  2580. #define STSMediaChange  4
  2581. #define STSOK 5
  2582. //Nick060706#1 end
  2583. //vicky061001#1
  2584. //gxbFastPlaySts
  2585. // [D7]: Direction (0:FF, 1:FB)
  2586. // [D6-D4]: Reserved
  2587. // [D3-D0]: Speed
  2588. // 7 6 5 4 3 2 1 0
  2589. //   | | | | | | | |
  2590. //   | | | | (- - - -) Speed  
  2591. //   | (---) Reserved
  2592. //  (-) Direction 
  2593. //gxbFFState
  2594. // [D7]: End flag (Set by UI ,ex Release FF button) (0:Not end, 1: Force end)
  2595. // [D6]: Across flag (Set by UI ,ex FF Across) (0:In the track only, 1: Across track once)
  2596. // [D5-D4]: Reserved
  2597. // [D3-D0]: State
  2598. // 7 6 5 4 3 2 1 0
  2599. //   | | | | | | | |
  2600. //   | | | | (- - - -) State
  2601. //   | | |(-) DataPrepareDone
  2602. //   | | (-) Reserved
  2603. //   |(-) Across Flag 
  2604. //  (-) End Flag 
  2605. //#if(USE_NEW_FF_PLAY) //vicky061001#1
  2606. //End Flag
  2607. #define FF_END 0x80 //True =End FF/FB 
  2608. //Across Flag
  2609. #define FF_ACROSS 0x40 //True = Across track happened
  2610. //Speed
  2611. #define FF_SPEED_SET PLAY_SPEED // non zero = FF/FB
  2612. #define FF_SPEED_PRE 0x01 //wait just prepare file
  2613. #define FF_SPEED_S1 0x02
  2614. #define FF_SPEED_S2 0x03
  2615. #define FF_SPEED_S3 0x04 
  2616. //DataPrepareDone
  2617. #define FF_DSP_DATA_SENT 0x10
  2618. //State
  2619. #define FF_STATE_SET 0x0f
  2620. #define FF_ONE_STATE 0x01
  2621. #define FF_DSP_FADE_OUT 0x01 //State 1
  2622. #define FF_DSP_RESTART 0x02 //State 2
  2623. #define FF_DSP_DATA_RESET 0x03 //State 3
  2624. #define FF_DSP_DATA_DECODE 0x04 //State 4
  2625. #define FF_DSP_NO_ACTION 0x05 //State 5
  2626. //gxbFFStateCounter
  2627. //[D7-D4]: Counter to Reach FF_SPEED_S3
  2628. //[D3-D0]: Counter for the time of each FF State
  2629. #define FF_TCNT_SPEED 0xF0
  2630. #define FF_TCNT_SPEED_UNIT 0x10
  2631. #define FF_TCNT_STATE 0x0F
  2632. #define FF_TCNT_DECODE_END 0x0A
  2633. #define FF_TCNT_FB_WAIT 0x08 //vicky061016#1 UI Update
  2634. //gxbDSPDataCnt  //Vicky061003#1
  2635. #define DATA_SENT_NUM 0x0F
  2636. #define DATA_SENT_INITNEED 0x03
  2637. #define DATA_RESTART 0x80
  2638. #define FB_ACROSS_SKIP_TIME  2
  2639. //#endif
  2640. //End
  2641. /////////FW Charger //////////////////Ted 1013
  2642. #define CHARGER_STAGE_NUMBER 5
  2643. #define CHG_CONFIG_INDEX 0x80
  2644. #if(!USE_FW_CHARGER&&!ONE_BATT_MODE) //Chris070521#1  // Jeff070523#1
  2645. #define CHG_STAGE_NO_BAT  0x80
  2646. #define CHG_STAGE_END 0x20
  2647. #define CHG_STAGE_CHARGE 0x00
  2648. #endif
  2649. ///////// Playing as Adaptor Plug In ///////////
  2650. #define USB_SETUP_TIMEOUT 1000 //Alan060921   // Jason 20070119#1
  2651. //WHH070307#5(start)
  2652. #define ADAPTER_DEFAULT_STATE   0x00
  2653. #define ADAPTER_PLUG_OUT 0x01
  2654. #define ADAPTER_PLUG_IN 0x02
  2655. #define ADAPTER_USB_PLUG_IN 0x03
  2656. //WHH070307#5(end)
  2657. // Jeff070411#1 start
  2658. #if(_PM_USB_&&USE_FW_CHARGER)
  2659. struct CHG_STAGE_NODE
  2660. {
  2661. BYTE bPwmDutyOn;
  2662. BYTE bPwmPeriod;
  2663. BYTE bTimeOutMinute;
  2664. BYTE bMinimumMinute;
  2665. BYTE bTargetVoltage;
  2666. BYTE bErrorVoltage;
  2667. };
  2668. #endif
  2669. // Jeff070411#1 end
  2670. //tne 512 tag
  2671. #define TAG_TITLE_BUF_IDX 0x00
  2672. #define TAG_ARTIST_BUF_IDX 0x01
  2673. #define TAG_ALBUM_BUF_IDX 0x02
  2674. //#define TAG_GENRE_BUF_IDX 0x03
  2675. #define TAG_FNAME_BUF_IDX 0x03//0x04
  2676. //tne 2006/12/05 #4
  2677. #define LCDBUF_START_SECTOR_INDEX_ADD 0x16
  2678. #define LCDBUF_MAX_LEN_ADD 0x1F0
  2679. // tne 2007/02/12 #1 start
  2680. //FileSystem Database Start Sector
  2681. #define FSDB_START_SECTOR_INDEX_ADD 0x10
  2682. #define FSDB_MAX_LEN_ADD 502
  2683. //Entry Address
  2684. #define GET_ENTRY_ADDR(dwSec,wOff) ( (dwSec<<4)+(wOff>>5) )
  2685. #define GET_ENTRY_SEC(dwEntryAdd) ( (dwEntryAdd)>>4 )
  2686. #define GET_ENTRY_OFF(dwEntryAdd) ( ((dwEntryAdd)&0x0F)<<5 )
  2687. //File Sort Working Flag
  2688. #define FSORT_STILL_WORKING 0x02
  2689. #define FSORT_FINISH_WORKING 0x00
  2690. //tne 2007/02/12 #1 end
  2691. // PhotoView Rotate // Jeff070331#1
  2692. #define LCD_DRAW_DIR_XP 0x00
  2693. #define LCD_DRAW_DIR_XN 0x01
  2694. #define LCD_DRAW_DIR_YP 0x00
  2695. #define LCD_DRAW_DIR_YN 0x02
  2696. #define LCD_DRAW_DIR_X_FIRST 0x00
  2697. #define LCD_DRAW_DIR_Y_FIRST 0x04
  2698.  
  2699. //vicky070424#1 start
  2700. #define PLAY_RATE_100 0
  2701. #define PLAY_RATE_067 2
  2702. #define PLAY_RATE_080 3
  2703. #define PLAY_RATE_114 4
  2704. #define PLAY_RATE_133 5
  2705. #define PLAY_RATE_050 7
  2706. #define PLAY_RATE_060 8
  2707. #define PLAY_RATE_070 9
  2708. #define PLAY_RATE_090 11
  2709. #define PLAY_RATE_120 12
  2710. #define PLAY_RATE_140 13
  2711. #define PLAY_RATE_160 14
  2712. //vicky070424#1 end