├── README.md ├── CardReader ├── t1.cpp ├── t1.h ├── atr.h └── atr.cpp ├── doc ├── BonDriver_5T.ini ├── BonDriver_1T1S.ini ├── BonDriver_PX_MLT5PE.ini ├── BonDriver_PX_x3U4_S.ini ├── BonDriver_PX_x3U4_T.ini ├── WinSCard-x3U4 │ └── WinSCard.ini ├── x3U4Remocon │ └── x3U4Remocon.ini ├── History-IT35.txt └── Readme-IT35.txt ├── BdaSpecials └── IT35 │ ├── IT35.h │ ├── IT35.cpp │ ├── IT35propset.h │ ├── TVTestRemocon │ ├── Exports.def │ ├── TVTestPlugin.h │ ├── x3U4Remocon.cpp │ ├── CCOMProc-x3U4Remocon.h │ ├── CCOMProc-x3U4Remocon.cpp │ ├── x3U4Remocon.vcxproj.filters │ └── x3U4Remocon.vcxproj │ ├── WinSCard-x3U4 │ ├── CCOMProc-x3U4.h │ ├── CCOMProc-x3U4.cpp │ ├── WinSCard-x3U4.cpp │ ├── WinSCard-x3U4.vcxproj.filters │ ├── WinSCard-x3U4.h │ └── WinSCard-x3U4.vcxproj │ ├── IT35.vcxproj.filters │ └── IT35.vcxproj └── .gitmodules /README.md: -------------------------------------------------------------------------------- 1 | # BDASpecial-IT35 2 | ##凡銅鑼の野望 ~戦国科技公司~ 3 | 4 | -------------------------------------------------------------------------------- /CardReader/t1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/CardReader/t1.cpp -------------------------------------------------------------------------------- /doc/BonDriver_5T.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/BonDriver_5T.ini -------------------------------------------------------------------------------- /BdaSpecials/IT35/IT35.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/IT35.h -------------------------------------------------------------------------------- /doc/BonDriver_1T1S.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/BonDriver_1T1S.ini -------------------------------------------------------------------------------- /BdaSpecials/IT35/IT35.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/IT35.cpp -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "common"] 2 | path = common 3 | url = https://github.com/radi-sh/BonDriver_BDA-CommonLibs.git 4 | -------------------------------------------------------------------------------- /doc/BonDriver_PX_MLT5PE.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/BonDriver_PX_MLT5PE.ini -------------------------------------------------------------------------------- /doc/BonDriver_PX_x3U4_S.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/BonDriver_PX_x3U4_S.ini -------------------------------------------------------------------------------- /doc/BonDriver_PX_x3U4_T.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/BonDriver_PX_x3U4_T.ini -------------------------------------------------------------------------------- /BdaSpecials/IT35/IT35propset.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/IT35propset.h -------------------------------------------------------------------------------- /doc/WinSCard-x3U4/WinSCard.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/WinSCard-x3U4/WinSCard.ini -------------------------------------------------------------------------------- /doc/x3U4Remocon/x3U4Remocon.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/doc/x3U4Remocon/x3U4Remocon.ini -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/Exports.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | TVTGetVersion 3 | TVTGetPluginInfo 4 | TVTInitialize 5 | TVTFinalize 6 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/TVTestPlugin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/TVTestRemocon/TVTestPlugin.h -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/x3U4Remocon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/TVTestRemocon/x3U4Remocon.cpp -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/CCOMProc-x3U4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/WinSCard-x3U4/CCOMProc-x3U4.h -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/CCOMProc-x3U4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/WinSCard-x3U4/CCOMProc-x3U4.cpp -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/WinSCard-x3U4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/WinSCard-x3U4/WinSCard-x3U4.cpp -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/CCOMProc-x3U4Remocon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/TVTestRemocon/CCOMProc-x3U4Remocon.h -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/CCOMProc-x3U4Remocon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tsukumijima/BDASpecial-IT35/master/BdaSpecials/IT35/TVTestRemocon/CCOMProc-x3U4Remocon.cpp -------------------------------------------------------------------------------- /doc/History-IT35.txt: -------------------------------------------------------------------------------- 1 | 【2017-01-22】 2 | ・PX-W3U4用として公開 3 | 4 | 【2017-01-23】 5 | ・付属のiniファイルの記述に間違いが大量にあり、まったく動作しなかった問題を修正 6 | 7 | 【2017-02-22】 8 | ・iniファイルのIT35セクションでDebugLog=1を指定しても有効にならなかった問題を修正 9 | ・WinSCard.dll(WinSCard-x3U4) を追加 10 | 11 | 【2017-02-26】 12 | ・WinSCard.dllで、SCardConnect() が呼ばれる度に スレッドが多重起動されていた点を修正 13 | ・WinSCard.dllで、CoInitialize したスレッドでメッセージのディスパッチ処理を行うように変更 14 | ・PX-W3U4/PX-Q3U4付属リモコン用TVTestプラグインを追加 15 | 16 | 【2017-02-27】 17 | ・TVTestプラグインが32bit版のTVTestに認識されなかった問題を修正 18 | 19 | 【2017-03-01】 20 | ・TVTestを終了してもプロセスが残ったままになる問題を修正 21 | 22 | 【2018-07-16】 23 | ・プラットフォームツールセットをVisual Studio 2017 - Windows XPに変更 24 | ・BonDriver_BDAの最新版に合わせた変更 25 | ・各iniファイルにPX-W3PE4/PX-Q3PE4に関する情報を追加 26 | 27 | 【2018-08-18】 28 | ・BonDriver_BDAのiniファイルの記述方法変更に対応して付属のiniファイルを変更 29 |  従来のiniファイル書式のままでも認識可能です 30 | ・WinSCard.iniとx3U4Remocon.iniで、デバイスインスタンスを指定できるようにした 31 | ・DTV02-5T-P用のiniファイルを追加 32 | ・DTV02-1T1S-Uに対応 33 | ・古いBDA Driver以外ではSignalLevelの値が100超に張り付いてしまう問題を修正 34 | 35 | 【2019-02-02】 36 | ・BonDriver_BDA改-20190202 に対応 37 | ・WinSCard.dll が Spinelで落ちてしまう不具合修正 38 | ・PX-MLT5PEに対応 39 | ※ BonDriver_BDA改-20190202より前のバージョンでは動作しませんのでご注意ください。 40 | 41 | -------------------------------------------------------------------------------- /CardReader/t1.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class CComProtocolT1 { 6 | public: 7 | enum BLOCK_TYPES { 8 | BLOCK_TYPE_I = 0x00, 9 | BLOCK_TYPE_R = 0x80, 10 | BLOCK_TYPE_S = 0xc0, 11 | }; 12 | enum IBLOCK_FUNCTIONS { 13 | IBLOCK_FUNCTION_STANDARD = 0x00, 14 | IBLOCK_CHAIN = 0x20, 15 | IBLOCK_SEQUENCE = 0x40, 16 | }; 17 | enum RBLOCK_FUNCTIONS { 18 | RBLOCK_FUNCTION_NO_ERRORS = 0x80, 19 | RBLOCK_FUNCTION_EDC_ERROR = 0x81, 20 | RBLOCK_FUNCTION_OTHER_ERROR = 0x82, 21 | RBLOCK_SEQUENCE = 0x10, 22 | }; 23 | enum SBLOCK_FUNCTIONS { 24 | SBLOCK_FUNCTION_RESYNCH = 0xc0, 25 | SBLOCK_FUNCTION_IFS = 0xc1, 26 | SBLOCK_FUNCTION_ABORT = 0xc2, 27 | SBLOCK_FUNCTION_WTX = 0xc3, 28 | SBLOCK_RESPONSE = 0x20, 29 | }; 30 | enum EDC_TYPES : BYTE { 31 | EDC_TYPE_LRC = 0, 32 | EDC_TYPE_CRC, 33 | }; 34 | enum COM_PROTOCOL_T1_ERROR_CODE { 35 | COM_PROTOCOL_T1_S_NO_ERROR = 0, 36 | COM_PROTOCOL_T1_E_EDC = -1, 37 | COM_PROTOCOL_T1_E_LEN = -2, 38 | COM_PROTOCOL_T1_E_NAD = -3, 39 | COM_PROTOCOL_T1_E_SEND = -10, 40 | COM_PROTOCOL_T1_E_RECEIVE = -11, 41 | COM_PROTOCOL_T1_E_NO_CARD = -20, 42 | COM_PROTOCOL_T1_E_NOT_READY = -21, 43 | COM_PROTOCOL_T1_E_NOT_FUNCTIONING = -30, 44 | COM_PROTOCOL_T1_E_POINTER = -200, 45 | }; 46 | 47 | protected: 48 | BYTE CardIFSC; 49 | BYTE SendNAD; 50 | BYTE RecvNAD; 51 | BYTE EDCType; 52 | BYTE SendFrame[3 + 254 + 2]; 53 | DWORD SendFrameLen; 54 | BYTE RecvFrame[3 + 254 + 2]; 55 | DWORD RecvFrameLen; 56 | BOOL EnableDetailLog; 57 | BOOL IgnoreEDCError; 58 | 59 | public: 60 | CComProtocolT1(void); 61 | virtual ~CComProtocolT1(void); 62 | WORD GetEDCInitialValue(void); 63 | void CalcEDC(BYTE Val, WORD *pEdc); 64 | COM_PROTOCOL_T1_ERROR_CODE MakeSendFrame(BYTE Pcb, const BYTE *pInf, BYTE Len); 65 | COM_PROTOCOL_T1_ERROR_CODE ParseRecvdFrame(BYTE *pPcb, BYTE *pInf, BYTE *pLen); 66 | COM_PROTOCOL_T1_ERROR_CODE SendIBlock(BOOL SeqNum, BOOL Chain, const BYTE *pInf, BYTE Len); 67 | COM_PROTOCOL_T1_ERROR_CODE SendRBlock(BOOL SeqNum, BYTE Stat); 68 | COM_PROTOCOL_T1_ERROR_CODE SendSBlock(BOOL IsResponse, BYTE Func, const BYTE *pInf, BYTE Len); 69 | COM_PROTOCOL_T1_ERROR_CODE RecvBlock(BYTE *pPcb, BYTE *pInf, BYTE *pLen); 70 | COM_PROTOCOL_T1_ERROR_CODE Transmit(const BYTE *pSnd, DWORD LenSnd, BYTE *pRcv, DWORD *pLenRcv, BOOL *pSeqNum); 71 | void SetCardIFSC(BYTE IFSC); 72 | void SetNodeAddress(BYTE IFD, BYTE ICC); 73 | void SetEDCType(BYTE Type); 74 | void SetDetailLog(BOOL Flag); 75 | virtual COM_PROTOCOL_T1_ERROR_CODE TxBlock(void); 76 | virtual COM_PROTOCOL_T1_ERROR_CODE RxBlock(void); 77 | }; 78 | 79 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/x3U4Remocon.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {e31d8743-71e4-473c-b531-5f0182615a5b} 18 | 19 | 20 | 21 | 22 | ソース ファイル 23 | 24 | 25 | ソース ファイル 26 | 27 | 28 | ソース ファイル 29 | 30 | 31 | ソース ファイル 32 | 33 | 34 | ソース ファイル 35 | 36 | 37 | 38 | 39 | ヘッダー ファイル 40 | 41 | 42 | ヘッダー ファイル 43 | 44 | 45 | ヘッダー ファイル 46 | 47 | 48 | ヘッダー ファイル 49 | 50 | 51 | ヘッダー ファイル 52 | 53 | 54 | ヘッダー ファイル 55 | 56 | 57 | ヘッダー ファイル 58 | 59 | 60 | 61 | 62 | ソース ファイル 63 | 64 | 65 | doc 66 | 67 | 68 | -------------------------------------------------------------------------------- /CardReader/atr.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CParseATR { 4 | public: 5 | CParseATR(void); 6 | int Parse(BYTE *pBuf, BYTE Len); 7 | 8 | public: 9 | enum enum_Convention { 10 | CONVENTION_UNKNOWN = 0, 11 | CONVENTION_DIRECT = 0x3b, 12 | CONVENTION_INVERSE = 0x3f, 13 | } Convention; 14 | 15 | enum enum_DI { 16 | DI_RFU_0 = 0, 17 | DI_1, 18 | DI_2, 19 | DI_4, 20 | DI_8, 21 | DI_16, 22 | DI_32, 23 | DI_64, 24 | DI_12, 25 | DI_20, 26 | DI_RFU_10, 27 | DI_RFU_11, 28 | DI_RFU_12, 29 | DI_RFU_13, 30 | DI_RFU_14, 31 | DI_RFU_15, 32 | }; 33 | 34 | enum enum_FI { 35 | FI_372_4 = 0, 36 | FI_372_5, 37 | FI_558_6, 38 | FI_744_8, 39 | FI_1116_12, 40 | FI_1488_16, 41 | FI_1860_20, 42 | FI_RFU_7, 43 | FI_RFU_8, 44 | FI_512_5, 45 | FI_768_7dot5, 46 | FI_1024_10, 47 | FI_1536_15, 48 | FI_2048_20, 49 | FI_RFU_14, 50 | FI_RFU_15, 51 | }; 52 | 53 | enum enum_II { 54 | II_25mA = 0, 55 | II_50mA, 56 | II_RFU_2, 57 | II_RFU_3, 58 | }; 59 | 60 | enum enum_EtuDuration { 61 | ETU_DURATION_DEFINED_BY_TA1, 62 | ETU_DURATION_IMPLICITLY_KNOWN, 63 | }; 64 | 65 | enum enum_ModeSpecific { 66 | MODE_NEGOTIABLE, 67 | MODE_SPECIFIC_ONLY, 68 | }; 69 | 70 | enum enum_ErrorDetection { 71 | ERROR_DETECTION_LRC, 72 | ERROR_DETECTION_CRC, 73 | }; 74 | struct ParsedInfo_t { 75 | enum_Convention Convention; // TS 76 | enum_DI DI; // TA1 77 | enum_FI FI; // TA1 78 | BYTE PI1; // TB1 79 | enum_II II; // TB1 80 | BYTE N; // TC1 81 | BYTE T; // TA2 82 | enum_EtuDuration EtuDuration; // TA2 83 | enum_ModeSpecific ModeSpecific; // TA2 84 | BYTE PI2; // TB2 85 | BYTE WI; // TC2 86 | BYTE IFSC; // TAi T=1 87 | BYTE X; // TAi T=15 88 | BYTE Y; // TAi T=15 89 | BYTE CWI; // TBi T=1 90 | BYTE BWI; // TBi T=1 91 | BYTE SPU; // TBi T=15 (???) 92 | enum_ErrorDetection ErrorDetection; // TCi T=1 93 | ParsedInfo_t(void); 94 | } ParsedInfo; 95 | BYTE RawData[33]; 96 | BYTE RawDataLength; 97 | 98 | private: 99 | BYTE TS; 100 | BYTE T0; 101 | BYTE TA1; 102 | BYTE TB1; 103 | BYTE TC1; 104 | BYTE TA2; 105 | BYTE TB2; 106 | BYTE TC2; 107 | BYTE TAi_T1; 108 | BYTE TAi_T15; 109 | BYTE TBi_T1; 110 | BYTE TBi_T15; 111 | BYTE TCi_T1; 112 | BYTE Ti[15]; 113 | BYTE TCK; 114 | BYTE TDi[15]; 115 | BOOL PresenseTA1; 116 | BOOL PresenseTB1; 117 | BOOL PresenseTC1; 118 | BOOL PresenseTA2; 119 | BOOL PresenseTB2; 120 | BOOL PresenseTC2; 121 | BOOL PresenseTAi_T1; 122 | BOOL PresenseTAi_T15; 123 | BOOL PresenseTBi_T1; 124 | BOOL PresenseTBi_T15; 125 | BOOL PresenseTCi_T1; 126 | BYTE LenTi; 127 | BOOL PresenseTCK; 128 | BOOL PresenseTDi[15]; 129 | }; 130 | 131 | -------------------------------------------------------------------------------- /doc/Readme-IT35.txt: -------------------------------------------------------------------------------- 1 | Digibest系チューナー用BDASpecialプラグイン 2 | PX-MLT5PE/PX-Q3PE4/PX-W3PE4/PX-Q3U4/PX-W3U4/DTV02-5T-P/DTV02-1T1S-U内蔵カードリーダー用WinSCard.dll付属 3 | PX-Q3U4/PX-W3U4付属リモコン用TVTestプラグイン付属 4 | 5 | 【これは何?】 6 | Plex社製/e-Better社製USB接続(Box型/PCI-Ex型)3波チューナー専用のBonDriver_BDA用BDASpecialプラグインです。 7 | BonDriver_BDA.dllと組み合わせて使用します。 8 | また、付属のWinSCard.dllを使用することにより、内臓カードリーダーを任意のアプリで利用することができます。 9 | 10 | 【動作環境】 11 | Windows XP/Vista/7/8/8.1/10 (x86/x64) 12 | 13 | 【対応チューナー】 14 | 下記のチューナーに対応しています(たぶん)。 15 | Plex PX-MLT5PE 16 | Plex PX-Q3PE4 17 | Plex PX-W3PE4 18 | Plex PX-Q3U4 19 | Plex PX-W3U4 20 | e-Better DTV02-5T-P 21 | e-Better DTV02-1T1S-U 22 | Plex社製/e-Better社製でもDigibest社OEM製品以外のもの、IT9300系が使用されていないものはこのBDASpecialプラグインの対象外です。 23 | 24 | 【使い方】 25 | 1. BonDriver_BDAの入手 26 | 下記URLより、最新バージョンのBonDriver_BDAを入手してください。 27 | https://github.com/radi-sh/BonDriver_BDA/releases 28 | ※ BonDriver_BDA改-20190202より前のバージョンでは動作しませんのでご注意ください。 29 | 30 | 2. 使用するファイル(32ビット用/64ビット用、Windows XP用/Windows Vista以降用、通常版/ランタイム内蔵版)の選択 31 | BonDriver_BDA付属のReadme-BonDriver_BDAを参考に、BonDriver_BDAと同じ種類のものを選択してください。 32 | 33 | 3. Visual C++ 再頒布可能パッケージのインストール 34 | BonDriver_BDA付属のReadme-BonDriver_BDAを参考に、インストールしてください。 35 | 36 | 4. BonDriverとiniファイル等の配置 37 | ・使用するアプリのBonDriver配置フォルダに、BonDriver_BDA.dllをリネームしたコピーを配置 38 | 通常、ファイル名が"BonDriver_"から始まる必要がありますのでご注意ください。 39 | ・用意したdllと同じ名前のiniファイルを配置 40 | 下記のサンプルiniファイルを基に作成してください。 41 | -BonDriver_PX_MLT5PE.ini (PX-MLT5PE 地デジ&衛星用) 42 | -BonDriver_PX_x3U4_T.ini (PX-Q3PE4/W3PE4/Q3U4/W3U4 地デジ用) 43 | -BonDriver_PX_x3U4_S.ini (PX-Q3PE4/W3PE4/Q3U4/W3U4 衛星用) 44 | -BonDriver_5T.ini (DTV02-5T-P 地デジ用) 45 | -BonDriver_1T1S.ini (DTV02-1T1S-U 地デジ&衛星用) 46 | ・IT35.dllファイルを配置 47 | IT35.dllファイルはリネームせずに1つだけ配置すればOKです。 48 | 49 | (配置例) 50 | BonDriver_PX_x3U4_S0.dll 51 | BonDriver_PX_x3U4_S0.ini 52 | BonDriver_PX_x3U4_S1.dll 53 | BonDriver_PX_x3U4_S1.ini 54 | BonDriver_PX_x3U4_T0.dll 55 | BonDriver_PX_x3U4_T0.ini 56 | BonDriver_PX_x3U4_T1.dll 57 | BonDriver_PX_x3U4_T1.ini 58 | IT35.dll 59 | 60 | 5. WinSCard.dllとiniファイルの配置 61 | 内蔵のカードリーダを使用しない場合はこの作業は必要ありません。 62 | ・使用するアプリのexeがあるフォルダに、WinSCard.dllとWinSCard.iniを配置 63 | ・必要に応じてWinSCard.iniの内容を変更 64 | 付属のiniファイルはPX-W3U4用ですので他の機種で使用する場合はiniファイルの変更が必要です。 65 | 66 | 6. TVTest用プラグインの配置 67 | TVTestでPX-Q3U4/PX-W3U4付属リモコンを使用する場合以外はこの作業は必要ありません。 68 | ・TVTestのPluginsフォルダに、x3U4Remocon.tvtpとx3U4Remocon.iniを配置 69 | ・必要に応じてx3U4Remocon.iniの内容を変更 70 | 付属のiniファイルはPX-W3U4用ですのでPX-Q3U4で使用する場合はiniファイルの変更が必要です。 71 | ・TVTestを起動し、プラグインの有効化とリモコンボタンの割り当て設定を行う 72 | 73 | 【サポートとか】 74 | ・最新バージョンとソースファイルの配布場所 75 | https://github.com/radi-sh/BDASpecial-PlexPX/releases 76 | 77 | ・不具合報告等 78 | 専用のサポート場所はありません。 79 | 5chのDTV板で該当スレを探して書込むとそのうち何か反応があるかもしれません。 80 | 作者は多忙を言い訳にあまりスレを見ていない傾向に有りますがご容赦ください。 81 | 82 | 【免責事項】 83 | BDASpecialプラグインおよびBonDriver_BDAや付属するもの、ドキュメントの記載事項などに起因して発生する損害事項等の責任はすべて使用者に依存し、作者・関係者は一切の責任を負いません。 84 | 85 | 【謝辞みたいなの】 86 | ・このBDASpecialプラグインは「Bon_SPHD_BDA_PATCH_2」を基に改変したものです。 87 | ・上記の作者様、その他参考にさせていただいたDTV関係の作者様、ご助言いただいた方、不具合報告・使用レポートをいただいた方、全ての使用していただいた方々に深く感謝いたします。 88 | 89 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/WinSCard-x3U4.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {9b9a2e44-e77e-4da3-8d6a-178a7a666b7f} 18 | 19 | 20 | 21 | 22 | ヘッダー ファイル 23 | 24 | 25 | ヘッダー ファイル 26 | 27 | 28 | ヘッダー ファイル 29 | 30 | 31 | ヘッダー ファイル 32 | 33 | 34 | ヘッダー ファイル 35 | 36 | 37 | ヘッダー ファイル 38 | 39 | 40 | ヘッダー ファイル 41 | 42 | 43 | ヘッダー ファイル 44 | 45 | 46 | ヘッダー ファイル 47 | 48 | 49 | 50 | 51 | ソース ファイル 52 | 53 | 54 | ソース ファイル 55 | 56 | 57 | ソース ファイル 58 | 59 | 60 | ソース ファイル 61 | 62 | 63 | ソース ファイル 64 | 65 | 66 | ソース ファイル 67 | 68 | 69 | ソース ファイル 70 | 71 | 72 | 73 | 74 | doc 75 | 76 | 77 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/IT35.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav 15 | 16 | 17 | {e51a7fe2-e231-4125-9bf4-1f86c795590e} 18 | 19 | 20 | 21 | 22 | ソース ファイル 23 | 24 | 25 | ソース ファイル 26 | 27 | 28 | ソース ファイル 29 | 30 | 31 | ソース ファイル 32 | 33 | 34 | 35 | 36 | ヘッダー ファイル 37 | 38 | 39 | ヘッダー ファイル 40 | 41 | 42 | ヘッダー ファイル 43 | 44 | 45 | ヘッダー ファイル 46 | 47 | 48 | ヘッダー ファイル 49 | 50 | 51 | ヘッダー ファイル 52 | 53 | 54 | ヘッダー ファイル 55 | 56 | 57 | ヘッダー ファイル 58 | 59 | 60 | ヘッダー ファイル 61 | 62 | 63 | 64 | 65 | doc 66 | 67 | 68 | doc 69 | 70 | 71 | doc 72 | 73 | 74 | doc 75 | 76 | 77 | doc 78 | 79 | 80 | 81 | 82 | doc 83 | 84 | 85 | doc 86 | 87 | 88 | -------------------------------------------------------------------------------- /CardReader/atr.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "atr.h" 4 | 5 | CParseATR::CParseATR(void) 6 | : TS(0), 7 | T0(0), 8 | TA1(0), 9 | TB1(0), 10 | TC1(0), 11 | TA2(0), 12 | TB2(0), 13 | TC2(0), 14 | TAi_T1(0), 15 | TAi_T15(0), 16 | TBi_T1(0), 17 | TBi_T15(0), 18 | TCi_T1(0), 19 | Ti(), 20 | TCK(0), 21 | TDi(), 22 | PresenseTA1(FALSE), 23 | PresenseTB1(FALSE), 24 | PresenseTC1(FALSE), 25 | PresenseTA2(FALSE), 26 | PresenseTB2(FALSE), 27 | PresenseTC2(FALSE), 28 | PresenseTAi_T1(FALSE), 29 | PresenseTAi_T15(FALSE), 30 | PresenseTBi_T1(FALSE), 31 | PresenseTBi_T15(FALSE), 32 | PresenseTCi_T1(FALSE), 33 | LenTi(0), 34 | PresenseTCK(FALSE), 35 | PresenseTDi(), 36 | RawData(), 37 | RawDataLength(0) 38 | { 39 | return; 40 | }; 41 | 42 | int CParseATR::Parse(BYTE *pBuf, BYTE Len) 43 | { 44 | this->RawDataLength = 0; 45 | 46 | if (!pBuf) 47 | return -1; 48 | 49 | if (Len == 0) 50 | return -1; 51 | 52 | if (Len > 33) 53 | Len = 33; 54 | 55 | BYTE *pBufStart = pBuf; 56 | 57 | // TS 58 | this->TS = *pBuf; 59 | this->ParsedInfo.Convention = (enum_Convention)*pBuf; 60 | pBuf++; 61 | Len--; 62 | 63 | int i = 0; 64 | int T = 0; 65 | BOOL PresenseTA = FALSE; 66 | BOOL PresenseTB = FALSE; 67 | BOOL PresenseTC = FALSE; 68 | BOOL PresenseTD = TRUE; 69 | 70 | while (PresenseTA || PresenseTB || PresenseTC || PresenseTD) { 71 | if (Len == 0) 72 | return -1; 73 | 74 | if (PresenseTA) { 75 | if (i == 1) { 76 | // TA1 77 | this->PresenseTA1 = TRUE; 78 | this->TA1 = *pBuf; 79 | this->ParsedInfo.DI = (enum_DI)(*pBuf & 0x0f); 80 | this->ParsedInfo.FI = (enum_FI)((*pBuf & 0xf0) >>4); 81 | } 82 | else if (i == 2) { 83 | // TA2 84 | this->PresenseTA2 = TRUE; 85 | this->TA2 = *pBuf; 86 | this->ParsedInfo.T = (*pBuf & 0x0f); 87 | this->ParsedInfo.EtuDuration = (enum_EtuDuration)((*pBuf & 0x10) >> 4); 88 | this->ParsedInfo.ModeSpecific = (enum_ModeSpecific)((*pBuf & 0xc0) >> 6); 89 | } 90 | else if (i >= 3) { 91 | // TAi 92 | if (T == 1) { 93 | // T=1 94 | this->PresenseTAi_T1 = TRUE; 95 | this->TAi_T1 = *pBuf; 96 | this->ParsedInfo.IFSC = *pBuf; 97 | } 98 | else if (T == 15) { 99 | // T=15 100 | this->PresenseTAi_T15 = TRUE; 101 | this->TAi_T15 = *pBuf; 102 | } 103 | } 104 | PresenseTA = FALSE; 105 | pBuf++; 106 | Len--; 107 | continue; 108 | } 109 | if (PresenseTB) { 110 | if (i == 1) { 111 | // TB1 112 | this->PresenseTB1 = TRUE; 113 | this->TB1 = *pBuf; 114 | this->ParsedInfo.PI1 = (*pBuf & 0x1f); 115 | this->ParsedInfo.II = (enum_II)((*pBuf & 0x60) >> 5); 116 | } 117 | else if (i == 2) { 118 | // TB2 119 | this->PresenseTB2 = TRUE; 120 | this->TB2 = *pBuf; 121 | this->ParsedInfo.PI2 = *pBuf; 122 | } 123 | else if (i >= 3) { 124 | // TBi 125 | if (T == 1) { 126 | // T=1 127 | this->PresenseTBi_T1 = TRUE; 128 | this->TBi_T1 = *pBuf; 129 | this->ParsedInfo.CWI = *pBuf & 0xf; 130 | this->ParsedInfo.BWI = (*pBuf & 0xf0) >> 4; 131 | } 132 | else if (T == 15) { 133 | // T=15 134 | this->PresenseTBi_T15 = TRUE; 135 | this->TBi_T15 = *pBuf; 136 | 137 | } 138 | } 139 | PresenseTB = FALSE; 140 | pBuf++; 141 | Len--; 142 | continue; 143 | } 144 | if (PresenseTC) { 145 | if (i == 1) { 146 | // TC1 147 | this->PresenseTC1 = TRUE; 148 | this->TC1 = *pBuf; 149 | this->ParsedInfo.N = *pBuf; 150 | } 151 | else if (i == 2) { 152 | // TC2 153 | this->PresenseTC2 = TRUE; 154 | this->TC2 = *pBuf; 155 | this->ParsedInfo.WI = *pBuf; 156 | } 157 | else if (i >= 3) { 158 | // TCi 159 | if (T == 1) { 160 | // T=1 161 | this->PresenseTCi_T1 = TRUE; 162 | this->TCi_T1 = *pBuf; 163 | if ((*pBuf & 0x01) != 0) 164 | this->ParsedInfo.ErrorDetection = ERROR_DETECTION_CRC; 165 | else 166 | this->ParsedInfo.ErrorDetection = ERROR_DETECTION_LRC; 167 | } 168 | } 169 | PresenseTC = FALSE; 170 | pBuf++; 171 | Len--; 172 | continue; 173 | } 174 | if (PresenseTD) { 175 | if (i == 0) { 176 | // T0 177 | this->T0 = *pBuf; 178 | this->LenTi = *pBuf & 0xf; 179 | } 180 | else { 181 | // TD1, TD2 or TDi 182 | this->PresenseTDi[i] = TRUE; 183 | this->TDi[i] = *pBuf; 184 | T = *pBuf & 0xf; 185 | if (T != 0) 186 | this->PresenseTCK = TRUE; 187 | } 188 | PresenseTA = (*pBuf & 0x10) != 0; 189 | PresenseTB = (*pBuf & 0x20) != 0; 190 | PresenseTC = (*pBuf & 0x40) != 0; 191 | PresenseTD = (*pBuf & 0x80) != 0; 192 | pBuf++; 193 | Len--; 194 | i++; 195 | continue; 196 | } 197 | } 198 | 199 | // Ti 200 | for (int ti = 0; ti < this->LenTi; ti++) { 201 | if (Len == 0) 202 | return -1; 203 | this->Ti[ti] = *pBuf; 204 | pBuf++; 205 | Len--; 206 | } 207 | 208 | // TCK 209 | if (this->PresenseTCK) { 210 | if (Len == 0) 211 | return -1; 212 | this->TCK = *pBuf; 213 | pBuf++; 214 | Len--; 215 | } 216 | 217 | this->RawDataLength = (BYTE)(pBuf - pBufStart); 218 | memcpy(this->RawData, pBufStart, this->RawDataLength); 219 | 220 | return 0; 221 | }; 222 | 223 | CParseATR::ParsedInfo_t::ParsedInfo_t(void) 224 | : Convention(CONVENTION_UNKNOWN), 225 | DI(DI_1), 226 | FI(FI_372_5), 227 | PI1(0), 228 | II(II_25mA), 229 | N(255), 230 | T(0), 231 | EtuDuration(ETU_DURATION_DEFINED_BY_TA1), 232 | ModeSpecific(MODE_NEGOTIABLE), 233 | PI2(0), 234 | WI(10), 235 | IFSC(32), 236 | X(0), 237 | Y(0), 238 | CWI(13), 239 | BWI(4), 240 | SPU(0), 241 | ErrorDetection(ERROR_DETECTION_LRC) 242 | { 243 | return; 244 | }; -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/WinSCard-x3U4.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "t1.h" 4 | 5 | #include 6 | 7 | #ifdef _WIN64 8 | #pragma comment(linker, "/EXPORT:SCardConnectA=SCardConnectA_") 9 | #pragma comment(linker, "/EXPORT:SCardConnectW=SCardConnectW_") 10 | #pragma comment(linker, "/EXPORT:SCardDisconnect=SCardDisconnect_") 11 | #pragma comment(linker, "/EXPORT:SCardEstablishContext=SCardEstablishContext_") 12 | #pragma comment(linker, "/EXPORT:SCardFreeMemory=SCardFreeMemory_") 13 | #pragma comment(linker, "/EXPORT:SCardGetStatusChangeA=SCardGetStatusChangeA_") 14 | #pragma comment(linker, "/EXPORT:SCardGetStatusChangeW=SCardGetStatusChangeW_") 15 | #pragma comment(linker, "/EXPORT:SCardIsValidContext=SCardIsValidContext_") 16 | #pragma comment(linker, "/EXPORT:SCardListReadersA=SCardListReadersA_") 17 | #pragma comment(linker, "/EXPORT:SCardListReadersW=SCardListReadersW_") 18 | #pragma comment(linker, "/EXPORT:SCardReleaseContext=SCardReleaseContext_") 19 | #pragma comment(linker, "/EXPORT:SCardStatusA=SCardStatusA_") 20 | #pragma comment(linker, "/EXPORT:SCardStatusW=SCardStatusW_") 21 | #pragma comment(linker, "/EXPORT:SCardTransmit=SCardTransmit_") 22 | #pragma comment(linker, "/EXPORT:SCardReconnect=SCardReconnect_") 23 | #pragma comment(linker, "/EXPORT:SCardAccessStartedEvent=SCardAccessStartedEvent_") 24 | #pragma comment(linker, "/EXPORT:SCardReleaseStartedEvent=SCardReleaseStartedEvent_") 25 | #pragma comment(linker, "/EXPORT:SCardCancel=SCardCancel_") 26 | #pragma comment(linker, "/EXPORT:g_rgSCardT1Pci=g_rgSCardT1Pci_") 27 | #else 28 | #pragma comment(linker, "/EXPORT:SCardConnectA=_SCardConnectA_@24") 29 | #pragma comment(linker, "/EXPORT:SCardConnectW=_SCardConnectW_@24") 30 | #pragma comment(linker, "/EXPORT:SCardDisconnect=_SCardDisconnect_@8") 31 | #pragma comment(linker, "/EXPORT:SCardEstablishContext=_SCardEstablishContext_@16") 32 | #pragma comment(linker, "/EXPORT:SCardFreeMemory=_SCardFreeMemory_@8") 33 | #pragma comment(linker, "/EXPORT:SCardGetStatusChangeA=_SCardGetStatusChangeA_@16") 34 | #pragma comment(linker, "/EXPORT:SCardGetStatusChangeW=_SCardGetStatusChangeW_@16") 35 | #pragma comment(linker, "/EXPORT:SCardIsValidContext=_SCardIsValidContext_@4") 36 | #pragma comment(linker, "/EXPORT:SCardListReadersA=_SCardListReadersA_@16") 37 | #pragma comment(linker, "/EXPORT:SCardListReadersW=_SCardListReadersW_@16") 38 | #pragma comment(linker, "/EXPORT:SCardReleaseContext=_SCardReleaseContext_@4") 39 | #pragma comment(linker, "/EXPORT:SCardStatusA=_SCardStatusA_@28") 40 | #pragma comment(linker, "/EXPORT:SCardStatusW=_SCardStatusW_@28") 41 | #pragma comment(linker, "/EXPORT:SCardTransmit=_SCardTransmit_@28") 42 | #pragma comment(linker, "/EXPORT:SCardReconnect=_SCardReconnect_@20") 43 | #pragma comment(linker, "/EXPORT:SCardAccessStartedEvent=_SCardAccessStartedEvent_@0") 44 | #pragma comment(linker, "/EXPORT:SCardReleaseStartedEvent=_SCardReleaseStartedEvent_@0") 45 | #pragma comment(linker, "/EXPORT:SCardCancel=_SCardCancel_@4") 46 | #pragma comment(linker, "/EXPORT:g_rgSCardT1Pci=_g_rgSCardT1Pci_") 47 | #endif 48 | 49 | extern "C" { 50 | LONG WINAPI SCardConnectA_(SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol); 51 | LONG WINAPI SCardConnectW_(SCARDCONTEXT hContext, LPWSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol); 52 | LONG WINAPI SCardDisconnect_(SCARDHANDLE hCard, DWORD dwDisposition); 53 | LONG WINAPI SCardEstablishContext_(DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext); 54 | LONG WINAPI SCardFreeMemory_(SCARDCONTEXT hContext, LPCVOID pvMem); 55 | LONG WINAPI SCardGetStatusChangeA_(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATEA rgReaderStates, DWORD cReaders); 56 | LONG WINAPI SCardGetStatusChangeW_(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATEW rgReaderStates, DWORD cReaders); 57 | LONG WINAPI SCardIsValidContext_(SCARDCONTEXT hContext); 58 | LONG WINAPI SCardListReadersA_(SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders); 59 | LONG WINAPI SCardListReadersW_(SCARDCONTEXT hContext, LPCWSTR mszGroups, LPWSTR mszReaders, LPDWORD pcchReaders); 60 | LONG WINAPI SCardReleaseContext_(SCARDCONTEXT hContext); 61 | LONG WINAPI SCardStatusA_(SCARDHANDLE hCard, LPSTR szReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen); 62 | LONG WINAPI SCardStatusW_(SCARDHANDLE hCard, LPWSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen); 63 | LONG WINAPI SCardTransmit_(SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength); 64 | LONG WINAPI SCardReconnect_(SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol); 65 | HANDLE WINAPI SCardAccessStartedEvent_(void); 66 | void WINAPI SCardReleaseStartedEvent_(void); 67 | LONG WINAPI SCardCancel_(SCARDCONTEXT hContext); 68 | SCARD_IO_REQUEST g_rgSCardT1Pci_; 69 | } 70 | 71 | #pragma pack(1) 72 | struct SharedMemory { 73 | BOOL CardReady; 74 | BOOL DoneReset; 75 | BOOL SequenceNumber; 76 | DWORD reserved12; 77 | DWORD reserved16; 78 | DWORD ATRLength; 79 | BYTE ATR[33]; 80 | BYTE reserved57[3]; 81 | DWORD reserved60; 82 | DWORD reserved64[240]; 83 | }; 84 | #pragma pack() 85 | 86 | 87 | class CComProtocolT1x3U4 : public CComProtocolT1 { 88 | private: 89 | DWORD LastTickCount; 90 | DWORD GuardInterval; 91 | 92 | public: 93 | CComProtocolT1x3U4(void); 94 | virtual COM_PROTOCOL_T1_ERROR_CODE TxBlock(void); 95 | virtual COM_PROTOCOL_T1_ERROR_CODE RxBlock(void); 96 | void SetGuardInterval(DWORD dwMilliSec); 97 | 98 | private: 99 | void SetLastTickCount(void); 100 | void WaitGuardInterval(void); 101 | }; 102 | 103 | class LockProc { 104 | private: 105 | DWORD result; 106 | 107 | public: 108 | LockProc(DWORD dwMilliSeconds); 109 | LockProc(void); 110 | ~LockProc(void); 111 | BOOL IsSuccess(void); 112 | }; 113 | 114 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/TVTestRemocon/x3U4Remocon.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug-XP 6 | Win32 7 | 8 | 9 | Debug-XP 10 | x64 11 | 12 | 13 | Debug 14 | Win32 15 | 16 | 17 | Release-XP_Static 18 | Win32 19 | 20 | 21 | Release-XP_Static 22 | x64 23 | 24 | 25 | Release-XP 26 | Win32 27 | 28 | 29 | Release-XP 30 | x64 31 | 32 | 33 | Release_Static 34 | Win32 35 | 36 | 37 | Release_Static 38 | x64 39 | 40 | 41 | Release 42 | Win32 43 | 44 | 45 | Debug 46 | x64 47 | 48 | 49 | Release 50 | x64 51 | 52 | 53 | 54 | {050BEC6F-4BF6-445E-8D05-E06EE951ECE3} 55 | x3U4Remocon 56 | 10.0 57 | 58 | 59 | 60 | DynamicLibrary 61 | true 62 | v142 63 | Unicode 64 | 65 | 66 | DynamicLibrary 67 | true 68 | v141_xp 69 | false 70 | Unicode 71 | 72 | 73 | DynamicLibrary 74 | false 75 | v142 76 | true 77 | Unicode 78 | 79 | 80 | DynamicLibrary 81 | false 82 | v141_xp 83 | false 84 | true 85 | Unicode 86 | 87 | 88 | DynamicLibrary 89 | false 90 | v142 91 | true 92 | Unicode 93 | 94 | 95 | DynamicLibrary 96 | false 97 | v141_xp 98 | false 99 | true 100 | Unicode 101 | 102 | 103 | DynamicLibrary 104 | true 105 | v142 106 | Unicode 107 | 108 | 109 | DynamicLibrary 110 | true 111 | v141_xp 112 | false 113 | Unicode 114 | 115 | 116 | DynamicLibrary 117 | false 118 | v142 119 | true 120 | Unicode 121 | 122 | 123 | DynamicLibrary 124 | false 125 | v141_xp 126 | false 127 | true 128 | Unicode 129 | 130 | 131 | DynamicLibrary 132 | false 133 | v142 134 | true 135 | Unicode 136 | 137 | 138 | DynamicLibrary 139 | false 140 | v141_xp 141 | false 142 | true 143 | Unicode 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | .tvtp 189 | $(SolutionDir)$(Platform)\$(Configuration)\ 190 | $(Platform)\$(Configuration)\ 191 | 192 | 193 | .tvtp 194 | $(SolutionDir)$(Platform)\$(Configuration)\ 195 | $(Platform)\$(Configuration)\ 196 | 197 | 198 | .tvtp 199 | $(SolutionDir)$(Platform)\$(Configuration)\ 200 | $(Platform)\$(Configuration)\ 201 | 202 | 203 | .tvtp 204 | $(SolutionDir)$(Platform)\$(Configuration)\ 205 | $(Platform)\$(Configuration)\ 206 | 207 | 208 | .tvtp 209 | $(SolutionDir)$(Platform)\$(Configuration)\ 210 | $(Platform)\$(Configuration)\ 211 | 212 | 213 | .tvtp 214 | $(SolutionDir)$(Platform)\$(Configuration)\ 215 | $(Platform)\$(Configuration)\ 216 | 217 | 218 | .tvtp 219 | 220 | 221 | .tvtp 222 | 223 | 224 | .tvtp 225 | 226 | 227 | .tvtp 228 | 229 | 230 | .tvtp 231 | 232 | 233 | .tvtp 234 | 235 | 236 | 237 | Level4 238 | Disabled 239 | 240 | 241 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 242 | true 243 | false 244 | true 245 | StreamingSIMDExtensions2 246 | MultiThreadedDebug 247 | 248 | 249 | Windows 250 | true 251 | Exports.def 252 | 253 | 254 | 255 | 256 | Level4 257 | Disabled 258 | 259 | 260 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 261 | true 262 | false 263 | true 264 | StreamingSIMDExtensions2 265 | MultiThreadedDebug 266 | 267 | 268 | Windows 269 | true 270 | Exports.def 271 | 272 | 273 | 274 | 275 | Disabled 276 | 277 | 278 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 279 | true 280 | false 281 | true 282 | MultiThreadedDebug 283 | Level4 284 | 285 | 286 | Windows 287 | true 288 | 289 | 290 | 291 | 292 | Disabled 293 | 294 | 295 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 296 | true 297 | false 298 | true 299 | MultiThreadedDebug 300 | Level4 301 | 302 | 303 | Windows 304 | true 305 | 306 | 307 | 308 | 309 | Level4 310 | MaxSpeed 311 | true 312 | true 313 | 314 | 315 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 316 | true 317 | false 318 | StreamingSIMDExtensions2 319 | 320 | 321 | true 322 | true 323 | Windows 324 | false 325 | Exports.def 326 | 327 | 328 | 329 | 330 | Level4 331 | MaxSpeed 332 | true 333 | true 334 | 335 | 336 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 337 | true 338 | false 339 | StreamingSIMDExtensions2 340 | 341 | 342 | true 343 | true 344 | Windows 345 | false 346 | Exports.def 347 | 348 | 349 | 350 | 351 | Level4 352 | MaxSpeed 353 | true 354 | true 355 | 356 | 357 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 358 | true 359 | false 360 | StreamingSIMDExtensions2 361 | MultiThreaded 362 | 363 | 364 | true 365 | true 366 | Windows 367 | false 368 | Exports.def 369 | 370 | 371 | 372 | 373 | Level4 374 | MaxSpeed 375 | true 376 | true 377 | 378 | 379 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 380 | true 381 | false 382 | StreamingSIMDExtensions2 383 | MultiThreaded 384 | 385 | 386 | true 387 | true 388 | Windows 389 | false 390 | Exports.def 391 | 392 | 393 | 394 | 395 | MaxSpeed 396 | true 397 | true 398 | 399 | 400 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 401 | true 402 | false 403 | Level4 404 | 405 | 406 | true 407 | true 408 | Windows 409 | false 410 | 411 | 412 | 413 | 414 | MaxSpeed 415 | true 416 | true 417 | 418 | 419 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 420 | true 421 | false 422 | Level4 423 | 424 | 425 | true 426 | true 427 | Windows 428 | false 429 | 430 | 431 | 432 | 433 | MaxSpeed 434 | true 435 | true 436 | 437 | 438 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 439 | true 440 | false 441 | MultiThreaded 442 | Level4 443 | 444 | 445 | true 446 | true 447 | Windows 448 | false 449 | 450 | 451 | 452 | 453 | MaxSpeed 454 | true 455 | true 456 | 457 | 458 | ..\..\..\common;..\;%(AdditionalIncludeDirectories) 459 | true 460 | false 461 | MultiThreaded 462 | Level4 463 | 464 | 465 | true 466 | true 467 | Windows 468 | false 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/IT35.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug-XP 6 | Win32 7 | 8 | 9 | Debug-XP 10 | x64 11 | 12 | 13 | Debug 14 | Win32 15 | 16 | 17 | Debug 18 | x64 19 | 20 | 21 | Release-XP_Static 22 | Win32 23 | 24 | 25 | Release-XP_Static 26 | x64 27 | 28 | 29 | Release-XP 30 | Win32 31 | 32 | 33 | Release-XP 34 | x64 35 | 36 | 37 | Release_Static 38 | Win32 39 | 40 | 41 | Release_Static 42 | x64 43 | 44 | 45 | Release 46 | Win32 47 | 48 | 49 | Release 50 | x64 51 | 52 | 53 | 54 | IT35 55 | IT35 56 | {D725ED98-6F39-4F59-97F9-D7F36CE4871A} 57 | 10.0 58 | 59 | 60 | 61 | DynamicLibrary 62 | v142 63 | Unicode 64 | true 65 | 66 | 67 | DynamicLibrary 68 | v141_xp 69 | false 70 | Unicode 71 | true 72 | 73 | 74 | DynamicLibrary 75 | v142 76 | Unicode 77 | true 78 | 79 | 80 | DynamicLibrary 81 | v141_xp 82 | false 83 | Unicode 84 | true 85 | 86 | 87 | DynamicLibrary 88 | v142 89 | Unicode 90 | true 91 | 92 | 93 | DynamicLibrary 94 | v141_xp 95 | false 96 | Unicode 97 | true 98 | 99 | 100 | DynamicLibrary 101 | v142 102 | Unicode 103 | true 104 | 105 | 106 | DynamicLibrary 107 | v141_xp 108 | false 109 | Unicode 110 | true 111 | 112 | 113 | DynamicLibrary 114 | v142 115 | Unicode 116 | 117 | 118 | DynamicLibrary 119 | v141_xp 120 | false 121 | Unicode 122 | 123 | 124 | DynamicLibrary 125 | v142 126 | Unicode 127 | 128 | 129 | DynamicLibrary 130 | v141_xp 131 | false 132 | Unicode 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | <_ProjectFileVersion>11.0.60610.1 176 | 177 | 178 | $(SolutionDir)$(Platform)\$(Configuration)\ 179 | $(Platform)\$(Configuration)\ 180 | 181 | 182 | $(SolutionDir)$(Platform)\$(Configuration)\ 183 | $(Platform)\$(Configuration)\ 184 | 185 | 186 | 187 | false 188 | true 189 | $(SolutionDir)$(Platform)\$(Configuration)\ 190 | $(Platform)\$(Configuration)\ 191 | 192 | 193 | false 194 | true 195 | $(SolutionDir)$(Platform)\$(Configuration)\ 196 | $(Platform)\$(Configuration)\ 197 | 198 | 199 | false 200 | true 201 | $(SolutionDir)$(Platform)\$(Configuration)\ 202 | $(Platform)\$(Configuration)\ 203 | 204 | 205 | false 206 | true 207 | $(SolutionDir)$(Platform)\$(Configuration)\ 208 | $(Platform)\$(Configuration)\ 209 | 210 | 211 | false 212 | true 213 | 214 | 215 | false 216 | true 217 | 218 | 219 | false 220 | true 221 | 222 | 223 | false 224 | true 225 | 226 | 227 | 228 | Disabled 229 | EnableFastChecks 230 | MultiThreadedDebug 231 | Level4 232 | EditAndContinue 233 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 234 | StreamingSIMDExtensions2 235 | true 236 | true 237 | ..\..\common;%(AdditionalIncludeDirectories) 238 | 239 | 240 | true 241 | Windows 242 | 243 | 244 | 245 | 246 | 247 | Disabled 248 | EnableFastChecks 249 | MultiThreadedDebug 250 | Level4 251 | EditAndContinue 252 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 253 | StreamingSIMDExtensions2 254 | true 255 | true 256 | ..\..\common;%(AdditionalIncludeDirectories) 257 | 258 | 259 | true 260 | Windows 261 | 262 | 263 | 264 | 265 | 266 | 267 | Disabled 268 | EnableFastChecks 269 | MultiThreadedDebug 270 | Level4 271 | EditAndContinue 272 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 273 | true 274 | true 275 | ..\..\common;%(AdditionalIncludeDirectories) 276 | 277 | 278 | true 279 | Windows 280 | 281 | 282 | 283 | 284 | Disabled 285 | EnableFastChecks 286 | MultiThreadedDebug 287 | Level4 288 | EditAndContinue 289 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 290 | true 291 | true 292 | ..\..\common;%(AdditionalIncludeDirectories) 293 | 294 | 295 | true 296 | Windows 297 | 298 | 299 | 300 | 301 | AnySuitable 302 | true 303 | Speed 304 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 305 | true 306 | MultiThreadedDLL 307 | true 308 | StreamingSIMDExtensions2 309 | Level4 310 | false 311 | ..\..\common;%(AdditionalIncludeDirectories) 312 | 313 | 314 | false 315 | Windows 316 | true 317 | true 318 | 319 | 320 | 321 | 322 | AnySuitable 323 | true 324 | Speed 325 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 326 | true 327 | MultiThreadedDLL 328 | true 329 | StreamingSIMDExtensions2 330 | Level4 331 | false 332 | ..\..\common;%(AdditionalIncludeDirectories) 333 | 334 | 335 | false 336 | Windows 337 | true 338 | true 339 | 340 | 341 | 342 | 343 | AnySuitable 344 | true 345 | Speed 346 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 347 | true 348 | MultiThreaded 349 | true 350 | StreamingSIMDExtensions2 351 | Level4 352 | false 353 | ..\..\common;%(AdditionalIncludeDirectories) 354 | 355 | 356 | false 357 | Windows 358 | true 359 | true 360 | 361 | 362 | 363 | 364 | AnySuitable 365 | true 366 | Speed 367 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 368 | true 369 | MultiThreaded 370 | true 371 | StreamingSIMDExtensions2 372 | Level4 373 | false 374 | ..\..\common;%(AdditionalIncludeDirectories) 375 | 376 | 377 | false 378 | Windows 379 | true 380 | true 381 | 382 | 383 | 384 | 385 | AnySuitable 386 | true 387 | Speed 388 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 389 | true 390 | MultiThreadedDLL 391 | true 392 | Level4 393 | false 394 | ..\..\common;%(AdditionalIncludeDirectories) 395 | 396 | 397 | false 398 | Windows 399 | true 400 | true 401 | 402 | 403 | 404 | 405 | AnySuitable 406 | true 407 | Speed 408 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 409 | true 410 | MultiThreadedDLL 411 | true 412 | Level4 413 | false 414 | ..\..\common;%(AdditionalIncludeDirectories) 415 | 416 | 417 | false 418 | Windows 419 | true 420 | true 421 | 422 | 423 | 424 | 425 | AnySuitable 426 | true 427 | Speed 428 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 429 | true 430 | MultiThreaded 431 | true 432 | Level4 433 | false 434 | ..\..\common;%(AdditionalIncludeDirectories) 435 | 436 | 437 | false 438 | Windows 439 | true 440 | true 441 | 442 | 443 | 444 | 445 | AnySuitable 446 | true 447 | Speed 448 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 449 | true 450 | MultiThreaded 451 | true 452 | Level4 453 | false 454 | ..\..\common;%(AdditionalIncludeDirectories) 455 | 456 | 457 | false 458 | Windows 459 | true 460 | true 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | -------------------------------------------------------------------------------- /BdaSpecials/IT35/WinSCard-x3U4/WinSCard-x3U4.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug-XP 6 | Win32 7 | 8 | 9 | Debug-XP 10 | x64 11 | 12 | 13 | Debug 14 | Win32 15 | 16 | 17 | Debug 18 | x64 19 | 20 | 21 | Release-XP_Static 22 | Win32 23 | 24 | 25 | Release-XP_Static 26 | x64 27 | 28 | 29 | Release-XP 30 | Win32 31 | 32 | 33 | Release-XP 34 | x64 35 | 36 | 37 | Release_Static 38 | Win32 39 | 40 | 41 | Release_Static 42 | x64 43 | 44 | 45 | Release 46 | Win32 47 | 48 | 49 | Release 50 | x64 51 | 52 | 53 | 54 | WinSCard-x3U4 55 | WinSCard-x3U4 56 | {DE301335-4C9D-4EFE-9487-F8532EEFFA1B} 57 | 10.0 58 | 59 | 60 | 61 | DynamicLibrary 62 | v142 63 | Unicode 64 | true 65 | 66 | 67 | DynamicLibrary 68 | v141_xp 69 | false 70 | Unicode 71 | true 72 | 73 | 74 | DynamicLibrary 75 | v142 76 | Unicode 77 | true 78 | 79 | 80 | DynamicLibrary 81 | v141_xp 82 | false 83 | Unicode 84 | true 85 | 86 | 87 | DynamicLibrary 88 | v142 89 | Unicode 90 | true 91 | 92 | 93 | DynamicLibrary 94 | v141_xp 95 | false 96 | Unicode 97 | true 98 | 99 | 100 | DynamicLibrary 101 | v142 102 | Unicode 103 | true 104 | 105 | 106 | DynamicLibrary 107 | v141_xp 108 | false 109 | Unicode 110 | true 111 | 112 | 113 | DynamicLibrary 114 | v142 115 | Unicode 116 | 117 | 118 | DynamicLibrary 119 | v141_xp 120 | false 121 | Unicode 122 | 123 | 124 | DynamicLibrary 125 | v142 126 | Unicode 127 | 128 | 129 | DynamicLibrary 130 | v141_xp 131 | false 132 | Unicode 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | <_ProjectFileVersion>11.0.60610.1 176 | 177 | 178 | WinSCard 179 | $(SolutionDir)$(Platform)\$(Configuration)\ 180 | $(Platform)\$(Configuration)\ 181 | 182 | 183 | WinSCard 184 | $(SolutionDir)$(Platform)\$(Configuration)\ 185 | $(Platform)\$(Configuration)\ 186 | 187 | 188 | WinSCard 189 | 190 | 191 | WinSCard 192 | 193 | 194 | false 195 | true 196 | $(SolutionDir)$(Platform)\$(Configuration)\ 197 | $(Platform)\$(Configuration)\ 198 | 199 | 200 | false 201 | true 202 | $(SolutionDir)$(Platform)\$(Configuration)\ 203 | $(Platform)\$(Configuration)\ 204 | 205 | 206 | false 207 | true 208 | $(SolutionDir)$(Platform)\$(Configuration)\ 209 | $(Platform)\$(Configuration)\ 210 | 211 | 212 | false 213 | true 214 | $(SolutionDir)$(Platform)\$(Configuration)\ 215 | $(Platform)\$(Configuration)\ 216 | 217 | 218 | false 219 | true 220 | 221 | 222 | false 223 | true 224 | 225 | 226 | false 227 | true 228 | 229 | 230 | false 231 | true 232 | 233 | 234 | 235 | Disabled 236 | EnableFastChecks 237 | MultiThreadedDebug 238 | Level4 239 | EditAndContinue 240 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 241 | StreamingSIMDExtensions2 242 | true 243 | true 244 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 245 | 246 | 247 | true 248 | Windows 249 | 250 | 251 | 252 | 253 | 254 | Disabled 255 | EnableFastChecks 256 | MultiThreadedDebug 257 | Level4 258 | EditAndContinue 259 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 260 | StreamingSIMDExtensions2 261 | true 262 | true 263 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 264 | 265 | 266 | true 267 | Windows 268 | 269 | 270 | 271 | 272 | 273 | 274 | Disabled 275 | EnableFastChecks 276 | MultiThreadedDebug 277 | Level4 278 | EditAndContinue 279 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 280 | true 281 | true 282 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 283 | 284 | 285 | true 286 | Windows 287 | 288 | 289 | 290 | 291 | Disabled 292 | EnableFastChecks 293 | MultiThreadedDebug 294 | Level4 295 | EditAndContinue 296 | WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 297 | true 298 | true 299 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 300 | 301 | 302 | true 303 | Windows 304 | 305 | 306 | 307 | 308 | AnySuitable 309 | true 310 | Speed 311 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 312 | true 313 | MultiThreadedDLL 314 | true 315 | StreamingSIMDExtensions2 316 | Level4 317 | false 318 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 319 | 320 | 321 | false 322 | Windows 323 | true 324 | true 325 | 326 | 327 | 328 | 329 | AnySuitable 330 | true 331 | Speed 332 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 333 | true 334 | MultiThreadedDLL 335 | true 336 | StreamingSIMDExtensions2 337 | Level4 338 | false 339 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 340 | 341 | 342 | false 343 | Windows 344 | true 345 | true 346 | 347 | 348 | 349 | 350 | AnySuitable 351 | true 352 | Speed 353 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 354 | true 355 | MultiThreaded 356 | true 357 | StreamingSIMDExtensions2 358 | Level4 359 | false 360 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 361 | 362 | 363 | false 364 | Windows 365 | true 366 | true 367 | 368 | 369 | 370 | 371 | AnySuitable 372 | true 373 | Speed 374 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 375 | true 376 | MultiThreaded 377 | true 378 | StreamingSIMDExtensions2 379 | Level4 380 | false 381 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 382 | 383 | 384 | false 385 | Windows 386 | true 387 | true 388 | 389 | 390 | 391 | 392 | AnySuitable 393 | true 394 | Speed 395 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 396 | true 397 | MultiThreadedDLL 398 | true 399 | Level4 400 | false 401 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 402 | 403 | 404 | false 405 | Windows 406 | true 407 | true 408 | 409 | 410 | 411 | 412 | AnySuitable 413 | true 414 | Speed 415 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 416 | true 417 | MultiThreadedDLL 418 | true 419 | Level4 420 | false 421 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 422 | 423 | 424 | false 425 | Windows 426 | true 427 | true 428 | 429 | 430 | 431 | 432 | AnySuitable 433 | true 434 | Speed 435 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 436 | true 437 | MultiThreaded 438 | true 439 | Level4 440 | false 441 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 442 | 443 | 444 | false 445 | Windows 446 | true 447 | true 448 | 449 | 450 | 451 | 452 | AnySuitable 453 | true 454 | Speed 455 | WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 456 | true 457 | MultiThreaded 458 | true 459 | Level4 460 | false 461 | ..\..\..\common;..\;..\..\..\CardReader\;%(AdditionalIncludeDirectories) 462 | 463 | 464 | false 465 | Windows 466 | true 467 | true 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | --------------------------------------------------------------------------------