?? dvdinfo.h
字號:
/****************************************************************************
[ mscddef.h, mscd.h, mscd.cpp, mscd1.cpp ]
Copywrite 1995 by TCH/L300, Cheertek, all right reserved
Author : Chung-Hao Tseng
Date : 1995. 1. 4
Purpose :
Notes :
Update :
Date Name Description
====== ========== =================================================
******************************************************************************/
#ifndef __DVDINFO_H__
#define __DVDINFO_H__
#ifdef __cplusplus
extern "C"{
#endif
// DVD_172r2
#define USE_SHARE_SRAM
// Micky modifiation for WinDVD 1.73. begin
#define REDUCE_VMGM_cSECTOR
#define MOVE_TT_SRPT_DRAM
#define MOVE_PTT_SRPT_DRAM
#define MOVE_VTS_PGCIT_DRAM
// Micky1.11, 32M/64M DRAM reserve address are different
// reference __dwReserveStart
/// #define DRAM_TT_SRPT_START W99AV_DRAM_ADDR_RESERVE_START
#define DRAM_TT_SRPT_START __dwReserveStart // Brian1.07f
// max. 99 titles/ per VTS.
#define SIZE_TT_SRPT_FULL (( 8 + 12*99L )) // 1196 bytes.
#define DRAM_PTT_SRPT_START ( DRAM_TT_SRPT_START + ((SIZE_TT_SRPT_FULL+3)/4) )
// max. 99 ??
// Micky1.00, fix "The Perfect Storm"(Region 1) can't play over 6/99.
// in dvdinfo.c VTSI_PTT_SRPs will limit max. 99.
// and the reserved VTSI_PTT_SRPT size(808) are not enough
// the There 2 TTUs within this VTS, max. has 274 PTT_SRPs.
// the reserved 808 will be OK till 6/198.
// must reserve max. PTT_SRPT.
// 8 + 99(TTUs)*4 + 999(PTT_SRPs) *4 = 4400
// HAL_DumpUserData must modify for over 1 sector.
#define SIZE_PTT_SRPT 4400 //808
#define DRAM_VTS_PGCIT_START ( DRAM_PTT_SRPT_START + ((SIZE_PTT_SRPT+3)/4) )
// Micky0.87a, fix AVIA-> menu-> select 1st item play will play 1/1 or stop.
// The wPGCN=198. but F/W only store 180. It will use unknow DRAM data.
//#define MAX_VTS_PGC_SRP 180 // 1448 bytes
// Micky1.25, run time read VTS_PGCIT
// always keep 1 PGCI sector
/*
#define MAX_VTS_PGC_SRP 440 //2008 bytes
#define SIZE_VTS_PGCIT (8+ 8* (MAX_VTS_PGC_SRP) )
*/
///*
#define MAX_VTS_PGC_SRP 65535L
#define SIZE_VTS_PGCIT 2048L
//*/
// Micky1.07, reduce SRAM--_bVMG_PTL_LVLI 200 bytes.
#define DRAM_VMG_PTL_LVLI_START (DRAM_VTS_PGCIT_START + ((SIZE_VTS_PGCIT+3)/4) )
#define SIZE_VMG_PTL_LVLI 200
BYTE _DVD_LoadFromDRAM ( WORD nMode, WORD nIndex );
extern DWORD _dwDRAMDest;
extern char _cCache [];
/////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////// Begin of Testing Region //////////////////////
//////////////////////////////////////////////////////////
// Below should be disable in normal state except "USE_SHARE_SRAM"
// TEST another(older) PGC_C_PBI ....
//#define TEST_PGC_C_PBI
// TEST PGCI data that compare w/ < 0.43
//#define TEST_COMPARE_PGCI
// Test VTSM_PGCI_UT < 0.49 (0.49 will use newer method)
//#define TEST_COMPARE_VTSM_PGCI_UT
// Test VMG_PGCI_UT. (> 1.01a will use newer method)
//#define TEST_COMPARE_VMGM_PGCI_UT
// TEST older _cVTS_PTT_SRPT_FULL method
// #define TEST_COMPARE_VTS_PTT_SRPT
#ifdef TEST_COMPARE_VTSM_PGCI_UT
#define TEST_COMPARE_MODE
#endif // TEST_COMPARE_VTSM_PGCI_UT
#ifdef TEST_COMPARE_VMGM_PGCI_UT
#define TEST_COMPARE_MODE
#endif // TEST_COMPARE_VMGM_PGCI_UT
//////////////////////////////////////////////////////
//////// End of Testing Region //////////////////////
//////////////////////////////////////////////////////////
// ** TCH1.71-1; Define it mean use new method to process
#define ENHANCE_PGCI_MEM
//////////////////////////////////////////////////////////////
// *** Compatible with SYSTEM
// ** TCH0.29; begin...
extern WORD __wSPRMs [24]; // System Parameters
extern WORD __wGPRMs [16]; // General Parameters
// ** TCH0.29; end...
extern BYTE _bTotalPGN; // Record the totle Program # in PGC
extern BYTE _bTotalCell; // Record the totle Cell # in PGC
extern BYTE _bVTSN; // current VTSN
// DVD_172r2
#ifdef USE_SHARE_SRAM
extern WORD *__wCELL_PBTM; // ** TCH0.49; Don't declare the size, the size will depends on "MAX_CELLS_WITHIN_PGC".
#else
extern WORD __wCELL_PBTM []; // ** TCH0.49; Don't declare the size, the size will depends on "MAX_CELLS_WITHIN_PGC".
#endif
extern DWORD _dwFirst_VOBS; // Record the LBN of first VOBS (VMGM, VTSM, VTT ) // ** TCH0.39;
extern DWORD __dwPGC_UOP_CTL; // ** TCH0.37; record UOP for PGC
// ** TCH1.01b; extern char _cVTS_PGCIT [2048]; // ** TCH0.39;
extern char _cVTS_PGCIT [];
// ** TCH0.42; begin...
extern DWORD __dwDVD_ATRT1; // current ATRT1 (0-3 bytes)
extern DWORD __dwDVD_ATRT2; // current ATRT2 (4-7 bytes)
// ** TCH0.42; end...
extern BYTE __bStatus_PTL; // ** TCH0.431; record "is the final of PTL acceptable?"
#if OS == OS_DOS // ** TCH0.45;
#ifdef _DEBUG
#ifndef _TEST
#define _TEST
#endif
#endif // _DEBUG
// ** TCH1.72q;
// Brian.276p, support _printf
/*
#ifndef PRINTF // ** TCH1.72q; for ADS
#ifdef _DEBUG
#define PRINTF printf
#else
#ifdef _TEST
#define PRINTF printf
#else
#define PRINTF ; //printf
#endif // _TEST
#endif // _DEBUG
#endif // PRINTF
*/
#endif
#define WINAPI
#define EXPORT
//////////////////////////////////////////////////////////////
// definition
// DVD Information Part
// in VMGI_TT_SRPT
#define OFFSET_TT_SRP 8
#define BLOCK_TT_SRP 12
// in VTS_PTT_SRPT
// #define OFFSET_PTT_SRP 408
// Video Manager Information (VMGI)
// Micky1.21, reference VMGI VMG_CAT for RMA.
// VMG_CAT start from 34, byte 35 is RMA.
#define VMGI_VMG_CAT 35
#define VMGI_VTS_Ns 63 // ** TCH0.40; Only one Byte valid
#define VMGI_FP_PGCI_SA 132
#define VMGI_VMGM_VOBS_SA 192
#define VMGI_TT_SRPT_SA 196
#define VMGI_VMGM_PGCI_UT_SA 200
#define VMGI_PTL_MAIT_SA 204
#define VMGI_VMGM_C_ADT_SA 216
#define VMGI_VMGM_V_ATR 256 // ** TCH0.361;
// ** TCH0.42; begin...
#define VMGI_VMGM_AST_Ns 258
#define VMGI_VMGM_AST_ATR 260
#define VMGI_VMGM_SPST_Ns 340
#define VMGI_VMGM_SPST_ATR 342
// ** TCH0.42; end...
// Video Title Set Information (VTSI)
#define VTSI_VTSM_VOBS_SA 192
#define VTSI_VTSTT_VOBS_SA 196
#define VTSI_VTS_PTT_SRPT_SA 200
#define VTSI_VTS_PGCIT_SA 204
#define VTSI_VTSM_PGCI_UT_SA 208
#define VTSI_VTS_TMAPT_SA 212
// ** TCH0.361; begin...
#define VTSI_VTSM_V_ATR 256
#define VTSI_VTSM_AST_Ns 258
#define VTSI_VTSM_AST_ATR 260
#define VTSI_VTSM_SPST_Ns 340
#define VTSI_VTSM_SPST_ATR 342
// ** TCH0.361; end...
// Micky2.80, reduce VTSI.
// move VTS_V_ATR~VTS_AST_ATRT(68 bytes) to 268.
// move VTS_SPST_Ns~VTS_SPST_ATRT 194 bytes to 348.
/*
#define VTSI_VTS_V_ATR 512
#define VTSI_VTS_AST_Ns 514
#define VTSI_VTS_AST_ATRT 516
#define VTSI_VTS_SPST_Ns 596
#define VTSI_VTS_SPST_ATRT 598
*/
#define VTSI_VTS_V_ATR 268
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -