📄 ramdef.h
字号:
#ifndef __RAMDEF_H__
#define __RAMDEF_H__
//*****************************************************
//Define DRAM parameters
#define W99AV_DRAM_VERSION_ADR 0x0000 // ref. technote #6 VERSION_ADR
//bit[31-16]: picture's vertical size
//bit[15-0]: picture's horizontal size
#define W99AV_DRAM_VHSIZE 0x0001 // ref. technote #6 VHSIZE
//bit[31-16]: Horizontal I frame PS vector (bottom field) -- LLY.162
#define W99AV_DRAM_HOFFSET0_B 0x000d
//bit[31-16]: Horizontal P frame PS vector (bottom field) -- LLY.162
#define W99AV_DRAM_HOFFSET1_B 0x000e
//bit[31-16]: Horizontal B frame PS vector (bottom field) -- LLY.162
#define W99AV_DRAM_HOFFSET2_B 0x000f
//bit[31-16]: picture's vertical size
#define W99AV_DRAM_VSIZE 0x0010 // ref. technote #6 VSIZE
//bit[31:16]: current temporal reference of displaying picture
#define W99AV_DRAM_FRAME_ID 0x0014 // ref. technote #6 FRAME_ID
//bit[31-16]: horizontal clipping start position
#define W99AV_DRAM_HCS 0x0019 // ref. technote #6 HCS
//bit[31-16]: vertical clipping start position
#define W99AV_DRAM_VCS 0x001A // ref. technote #6 VCS
//bit[31-16]: horizontal clipping width
#define W99AV_DRAM_HCW 0x001B // ref. technote #6 HCW
//bit[31-16]: vertical clipping width
#define W99AV_DRAM_VCW 0x001C // ref. technote #6 VCW
// Chuan1.11, Keep the DRAM address of Flash.Bin for Serial Debug tool
#define W99AV_DRAM_FLASH_BIN_ADDR 0x001F
//bit[31:0]: 4 Y components of current subsample picture in digest command.
#define W99AV_DRAM_DIGEST_Y 0x0038 // ref. technote #6 DIGEST_Y
// LLY.103, give A/V sync master control mode
// 0x10000: sync master control mode in RISC -- video
// 0x0 : sync master control mode in DSP -- audio
#define W99AV_DRAM_V_MASTER_SYNC 0x003e
//bit[31-0]: starting address of OSD bottom filed
#define W99AV_DRAM_OSDB_ADR 0x0040 // ref. technote #6 OSDB_ADR
//bit[31-0]: OSD bottom filed size
#define W99AV_DRAM_OSDB_SIZE 0x0041 // ref. technote #6 OSDB_SIZE
//bit[31-0]: starting address of OSD top filed
#define W99AV_DRAM_OSDT_ADR 0x0042 // ref. technote #6 OSDT_ADR
//bit[31-0]: OSD top filed size
#define W99AV_DRAM_OSDT_SIZE 0x0043 // ref. technote #6 OSDT_SIZE
//bit[31-16]: status of highlight
#define W99AV_DRAM_HLI_STATE 0x0047 // ref. technote #6 HLI_STATE
//bit[31-0]: starting address of highlight button information
#define W99AV_DRAM_BUTTON_INFO_START 0x004C // ref. technote #6 BUTTON_INFO_START
//bit[31-16]: PS mode
#define W99AV_DRAM_DISP_ASP 0x004D // LLY.0991
// LLY.100b, ZOOM_CLIP & LOGO_START address is swapping
//bit[31-15]: fix video field mis-alignment in zoom command. Only for BB5580A
#define W99AV_DRAM_ZOOM_CLIP 0x0050 // ref. technote #6 ZOOM_CLIP
//bit[31-15]: fix twinkle video displaying during logo displaying. Only for BB5580A
#define W99AV_DRAM_LOGO_START 0x0051 // ref. technote #6 LOGO_START
//bit[31:0]: start address of "write pixel" palette. (used in "write_pixel" command.)
#define W99AV_DRAM_WPXL_YADR 0x0052 // ref. technote #6 WPXL_YADR
//bit[31-16]: Horizontal I frame PS vector (top field) -- LLY.162
#define W99AV_DRAM_HOFFSET0_T 0x0054
//bit[31-16]: Horizontal P frame PS vector (top field) -- LLY.162
#define W99AV_DRAM_HOFFSET1_T 0x0055
//bit[31-16]: Horizontal B frame PS vector (top field) -- LLY.162
#define W99AV_DRAM_HOFFSET2_T 0x0056
//bit
#define W99AV_DRAM_SP_OFF 0x0059 // ref. technote #6 SP_OFF
//bit
#define W99AV_DRAM_SP_TOP 0x005e // ref. technote #6 SP_TOP
//bit[31:16]: decoding still picture for VCD title. 0: normal decoding. non zero: decoding still picture.
#define W99AV_DRAM_STILL_MODE 0x0066 // ref. technote #6 STILL_MODE
//bit[31:0]: starting address of OSD font palette table
#define W99AV_DRAM_FONTPAL_TBL_ADR 0x0067 // ref. technote #6 FONTPAL_TBL_ADR
//bit[31:16]: horizontal subsample iteration in digest mode. bit[15:0]: vertical subsample iteration in digest mode.
#define W99AV_DRAM_DIG_HVSIZE 0x0068 // ref. technote #6 DIG_HVSIZE
//bit[31:16]: horizontal clipping start position in digest mode. bit[15:0]: vertical clipping start position in digest mode.
#define W99AV_DRAM_DIG_SHSV 0x0069 // ref. technote #6 DIG_SHSV
//bit[31:16]: used in digest command. 0: no subsample operation.non-zero: do picture's subsample..
#define W99AV_DRAM_DIG_SHOW 0x006B // ref. technote #6 DIG_SHOW
//bit[31:16]: used in digest command. 0: reset "DIG_SHOW" to 0. non-zero: no operation.
#define W99AV_DRAM_CONT_DIG_SHOW 0x006C // ref. technote #6 CONT_DIG_SHOW
//bit[31:16]: error-concealment to remove video block. 0: no error-concealment. non-zero: enable error concealment
#define W99AV_DRAM_SKIP_MOSAIC 0x006D // ref. technote #6 SKIP_MOSAIC
//bit[31:16]: picture's horizontal size.
#define W99AV_DRAM_SHSIZE 0x006E // ref. technote #6 SHSIZE
//bit[31:16]: to fix twinkle video in zoom command. 0: do nothingnon zero: do adjustment. Only for BB5580A
#define W99AV_DRAM_VINI_ADJUST 0x0080 // ref. technote #6 VINI_ADJUST
//bit[31:16]: picture's vertical size.
#define W99AV_DRAM_SVSIZE 0x0086 // ref. technote #6 SVSIZE
//bit[31:16]: horizontal start position of displaying picture in digest mode. bit[15:0]: vertical start position of displaying picture in digest mode.
#define W99AV_DRAM_DIG_HVSTART 0x008C // ref. technote #6 DIG_HVSTART
//bit[31:16]: shift sub-picture vertical position 0: do nothing. 1: shift up 96
#define W99AV_DRAM_TV_SWITCHING 0x0094 // ref. technote #6 TV_SWITCHING
//bit[31:16]: inform risc to switch sub-picture id. 0: do nothing. non zero: risc won't change sub-picture id until previous sub-picture ending
#define W99AV_DRAM_SP_CHANGE 0x0095 // ref. technote #6 SP_CHANGE
//bit[31:16]: used with "SP_CHANGE", store the desired sub-picture id.
#define W99AV_DRAM_SUB_ID 0x0096 // ref. technote #6 SUB_ID
//bit[31:16]: inform risc that TV mode is "letter-box". 0: do nothing. non-zero: TV mode is "letter-box" and risc will do sub-picture position adjustment automatically.
#define W99AV_DRAM_LETTER_BOX 0x0097 // ref. technote #6 LETTER_BOX
//bit[31:16]: inform risc to do sub-picture scaling. (If highlight exists, scaling should be turn on).0: do nothing. non-zero: do sub-picture scaling.
#define W99AV_DRAM_VBICTL_CHANGE 0x009A // ref. technote #6 VBICTL_CHANGE
//bit[9:8]: N2P or P2N scaling. (used with "VBICTL_CHAGNE"). 2'b01: N2P scaling. 2'b10: P2N scaling
#define W99AV_DRAM_VBICTL_98 0x009B // ref. technote #6 VBICTL_98
//bit[31:16]: non-zero: "full-encoded" sub-picture (sub-picture is full-screen encoded) encountered. Only for BA5580E.
#define W99AV_DRAM_FULL_SP 0x009D // ref. technote #6 FULL_SP
//bit[31:16]: frame-rate conversion. 0: AV synchronization is in normal state. 1: risc will do frame rate conversion of "ntsc to pal". 2: risc will do frame rate conversion of "pal to ntsc".
#define W99AV_DRAM_NTSC_PAL 0x009F // ref. technote #6 NTSC_PAL
//bit
#define W99AV_DRAM_ONE_FIELD 0x00A1 // ref.
//Chuan1.05, bit8, to notify F/W that picture decoding error has occurred
#define W99AV_DRAM_DEC_ERR 0x00A2
//bit[31:16]: I/P pictire decoded only.0: risc will skip B-picture until 2 I/P picture are decoded. Only "0" can be written.
#define W99AV_DRAM_IPDECED 0x00A3 // ref. technote #6 IPDECED
//bit[31:16]: load new palette to "VBI". 0: do nothing. non zero: load new palette to "VBI"
#define W99AV_DRAM_NEW_LOAD_PAL 0x00AA // ref. technote #6 NEW_LOAD_PAL
//bit[31:16]: skip video decoding. 0: do nothing. non zero: do skipping video.
#define W99AV_DRAM_SKIP_PIC 0x00AC // ref. technote #6 SKIP_PIC
//bit[31:16]: update sequence header."n": risc will update "n" sequence header then protect the information of picture size. The value of "UPDATE_SEQ" will decrease to "0" after "n" sequence header updated.
#define W99AV_DRAM_UPDATE_SEQ 0x00AD // ref. technote #6 UPDATE_SEQ
//bit[31:16]: change sup-picture color palette.0: do nothing. non-zero: risc will re-write sub-picture color palette to "SPU" (hardwre on chip) from "SP_COLOR_START" to "SP_COLOR_END".
#define W99AV_DRAM_SP_COLOR_CHANGE 0x00AF // ref. technote #6 SP_COLOR_CHANGE
//CoCo1.22, add the DRAM address to detect JPEG display is completed or not.
//bit [31:16]: 1: Display is not completed. 0: Display is OK.
#define W99AV_DRAM_JPEG_DISPLAY_OK 0x00B0
//starting address of sub-picture color palette. bit[31:16]: color palette of "Y". bit[15:0]: color palette of "UV".
#define W99AV_DRAM_SP_COLOR_START 0x00F0 // ref. technote #6 SP_COLOR_START
//end address of sub-picture color palette. bit[31:16]: color palette of "Y". bit[15:0]: color palette of "UV".
#define W99AV_DRAM_SP_COLOR_END 0x00FF // ref. technote #6 SP_COLOR_END
// DVD_161Micky,
// sp_ptm, sub-picture end time
#define W99AV_DRAM_SP_PTM 0x0061
// Brian.161A, Video PTS2, for RISC reference in Step and Pause
#define W99AV_DRAM_VIDEO_PTS2 0x000c
//CoCo.jpeg
#define W99AV_DRAM_JPEG_DISPLAY_HVSTART 0x008C
#define W99AV_DRAM_JPEG_DISPLAY_HVSIZE 0x0069
#define W99AV_DRAM_JPEG_SCALING_HVSIZE 0x0068
#define W99AV_DRAM_JPEG_CROP_SIZE 0x006C
#define W99AV_DRAM_JPEG_DOWNSAMPLE 0x00D0
#define W99AV_DRAM_JPEG_SHOW 0x00D1
#define W99AV_DRAM_JPEG_SAMPLING_FACTOR 0x00D2
//CoCo2.80a, for CT908 JPEG
//bit[31:16]:The status of parsing header. 0==>unfinish. 1==>finish. 2==>failed.
//bit[15:0]:The JPEG can be decoded or not. 1==>The JPEG's format is supported. 0==>The JPEG's format is not supported.
#define W99AV_DRAM_JPEG_PARSE_STATUS 0x0147
//bit[31:16]: The real width of the picture in Forg.
//bit[15:0]: The real height of the picture in Forg.
#define W99AV_DRAM_JPEG_SIZE 0x0148
//bit[31:0]: 0: no date information. 1: have extrated date information
//#define W99AV_DRAM_JPEG_DATE 0x0156
#define W99AV_DRAM_JPEG_CHECK_HANG 0x0156 //check JPEG hang
//bit[31:24], [23:16], [15:8], [7:0] ==> Year
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -