📄 memory.h
字号:
// Local memory words 0-31 are reserved as Getbit local buffer.
// Relevant header information allocates at the end of page 1 (0x7e0-0x800).
// ------------------ page 0 --------------------
//now only first 16 words are used for Getbit
#define LWdisckey0 %0x48 //this location has to be preserved
#define LBdisckey4 %0x4c
#define LWtitlekey0 %0x50 //this location has to be preserved
#define LBtitlekey4 %0x54
// variables extracted from header
#define LBhdr_version %0x80 // (1 bit)
#define LBhdr_lay %0x81 // (2 bits)
#define LBhdr_error_protection %0x82 // (1 bit)
#define LBhdr_bitrate_index %0x83 // (4 bits)
#define LBhdr_sampling_frequency %0x84 // (2 bits)
#define LBhdr_padding %0x85 // (1 bit)
#define LBhdr_extension %0x86 // (1 bit)
#define LBhdr_mode %0x87 // (2 bits)
#define LBhdr_mode_ext %0x88 // (2 bits)
#define LBhdr_copyright %0x89 // (1 bit)
#define LBhdr_original %0x8a // (1 bit)
#define LBhdr_emphasis %0x8b // (1 bit)
#ifdef QT_SYNC
#define LIMpegAttr %0x8c // 2 bytes
#define LIfrmsize %0x8e // 2 bytes
#define LIold_rd_ptr %0x90 // 2 bytes
#define LWTempR20 %0x90 // 1
#define LWTempR21 %0x94 // 1
#define LWTempR22 %0x98 // 1
#define LWTempR23 %0x9c // 1
#define LWTempR24 %0xa0 // 1
#define LWTempR25 %0xa4 // 1
#define LWStatusReg %0xa8 // 1
#define LWresidue %0xac // 1
#define LBSwapOffset %0xb0 // 1
#define LBPCMlow %0xb1 // 1
#endif // QT_SYNC
#if ISO
#ifndef MPEG_2
#define LIfrmsize_offset %0xb2 // 2 bytes
#endif // MPEG_2
#else // ISO
#define LIfrmsize_offset %0xb2 // 2 bytes
#endif // ISO
#define LWpcmscale %0xb4 // 4 bytes
#define LWhungrySTC %0xb8 // 4 bytes
// tables
#define local_ITaloc_idx_word (0x10+31) //32 bytes
#define local_ITaloc_idx_byte (0x10+31)*4 //32 bytes, 0X7c
#define local_I2Aalloc_0_1_word (0x10+39) //total 55
#define local_I2Aalloc_0_1_byte (0x10+39)*4
#define local_I2Asteps (0x10+39)*4 //22
#define local_B2Abits (0x10+61)*4 //11
#define local_B2Agroup (0x10+72)*4 //11
#define local_B2Aquant (0x10+83)*4 //11
#define local_I2Aalloc_2_3_word (0x10+39) //64 //total 30. overlay
#define local_I2Aalloc_2_3_byte (0x10+39)*4 //64*4
#define local_I2Asteps2 (0x10+39)*4 //64*4 //12
#define local_B2Abits2 (0x10+51)*4 //76*4 //6
#define local_B2Agroup2 (0x10+57)*4 //82*4 //6
#define local_B2Aquant2 (0x10+63)*4 //88*4 //6
#define local_FAnb_table_word (0x10+39) //28 overlay
#define local_FAnb_table_byte (0x10+39)*4 //28
#define local_bit_alloc_word (0x10+94) //2*32 =64
#define local_bit_alloc_byte (0x10+94)*4 //2*32 =64
#define local_sample_d_word (0x10+158) //2*3*32
#define local_sample_d_byte (0x10+158)*4 //2*3*32
#define local_sample_word (0x10+158) //2*3*32 overlay
#define local_sample_byte (0x10+158)*4 //2*3*32
#define local_ITscfsi_word (0x10+158) //2*32 overlay
#define local_ITscfsi_byte (0x10+158)*4 //2*32
#define local_new_v_word 2016 //32
#define local_new_v_byte 2016*4 //32
#define local_multiple_word 382 //64
#define local_multiple_byte 382*4 //64
#define local_c_tbl_word 446 //17
#define local_c_tbl_byte 446*4 //17
#define local_d_tbl_word 463 //17
#define local_d_tbl_byte 463*4 //17
#define local_cos1_64_word 481 //16
#define local_cos1_64_byte 481*4 //16
#define local_cos1_32_word 497 //8
#define local_cos1_32_byte 497*4 //8
#define local_cos1_16_word 505 //4
#define local_cos1_16_byte 505*4 //4
#define local_cos1_8_word 509 //2
#define local_cos1_8_byte 509*4 //2
#define local_cos1_4_word 511 //1
#define local_cos1_4_byte 511*4 //1
#define LFAnew_win_word 512 //512
#define LFAnew_win_byte 512*4 //512
// ------------------ page 1 ----------------------
#define local_p_buffer_word 1024 //16 overlay
#define local_p_buffer_byte 1024*4 //16
#define local_pp_buffer_word 1040 //16 overlay
#define local_pp_buffer_byte 1040*4 //16
#define local_buf0_word 1024 //2*256 (overlay)
#define local_buf0_byte 1024*4 //2*256
#define Lswap_scratch_word 1024 //32 (overlay)
#define Lswap_scratch_byte 1024*4 //32
#define local_buf1_word 1280 //2*256 (overlay)
#define local_buf1_byte 1280*4 //2*256
#define local_pcm_sample_word 1536 //2*3*32*2 bytes
#define local_pcm_sample_byte 1536*4 //2*3*32*2 bytes
#define local_fraction_word 1632 //2*3*32
#define local_fraction_byte 1632*4 //2*3*32
#define local_scaled_pcm_word 1632 //2*3*32 overlay
#define local_scaled_pcm_byte 1632*4 //2*3*32
#define local_scale_index_word 1824 //2*3*32 overlay
#define local_scale_index_byte 1824*4 //2*3*32
// variables
#define LBfr_ps_tab_num %0x5b8 // 1 byte (3 bits)
#define LBfr_ps_stereo %0x5b9 // 1 byte (2 bits)
#define LBfr_ps_jsbound %0x5ba // 1 byte
#define LBfr_ps_sblimit %0x5bb // 1 byte
#define LIold_crc %0x5bc // 2 bytes (16 bits)
#define LInew_crc %0x5be // 2 bytes (16 bits)
#define LBtable %0x5c0 // 1 byte (2 bits)
#define LBbitsPerSlot %0x5c1 // 1 byte (32,8)
#define LIsamplesPerFrame %0x5c2 // 2 bytes (384,1152)
#define LIcrc_error_count %0x5c4 // 2 bytes
#define LItotal_error_count %0x5c6 // 2 bytes
#define LBbuf_last_byte %0x5be // 1 byte (overlay)
#define LBcnt_last_byte %0x5bf // 1 byte (overlay)
// buffers
#define LItopSub %0x5c8
#define LBbuf_flag %0x5ca
#define LBblknum %0x5cb
#define Lwrite_ptr %0x5cc
#define LWibufRdPtr %0x5d0
#define LIstatus %0x5d4
#define LIframecount_DB %0x5d6
#define LBout_blk %0x5d8
#define LBFIFO_flag %0x5d9
#define LIFIFO_BLK_PTR %0x5da
#define LBPCM_flag %0x5dc // 1-byte gap
#define dma_tmp_reg %0x5e0
// user variables
#define LWentry %0x5e4
#define LWPCMentry %0x5e8
#define LIocfg %0x5de // - relocate to buffers
#define LWFrameCount %0x5ec
#define LWbytecount %0x5f0
#ifdef EFFECT
#define local_IBUF_word 0 //size=256 (overlaid with pcm out)
#define local_IBUF_byte 0*4 //size=256
#define local_FApcm_buf_word 1024 //size=256
#define local_FApcm_buf_byte 1024*4 //size=256
#endif //EFFECT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -