【3波】 アースソフトPT1・PT2・PT3 Rev.34 【4TS】

このエントリーをはてなブックマークに追加
944名無しさん@編集中
S0でエラー多発の件、
頻度はそれ程高くないけど、自分の所でも再現できたんでデバッガで追ってみた。

【場所】
PT3Ctrl\DataIO.cpp
CDataIO::RecvThread(LPVOID pParam)
{
if( pSys->m_S0SetBuff != NULL ){
....
uint8 *ptr = static_cast<uint8 *>(pSys->m_T0SetBuff->Ptr());
uint8 *startPtr = ptr + DATA_BUFF_SIZE * pSys->m_T0WriteIndex;
....
memcpy(pDataBuff->pbBuff, startPtr, pDataBuff->dwSize);
ここでmemダンプ
....
}
----
Error=0の時 (同期は188Byte間隔で並んでいて、PIDもそれなり)
"47 01 00 db" "47 01 00 dc" "47 01 70 db" "47 07 73 1d"

Error=多発の時 (同期は188Byte間隔で並んでいるが、既にPIDが無茶苦茶)
"47 ef dd 7b" "47 8b ee 23" "47 a1 49 dc" "47 9a fd 45"

まだ詳しく追ってないけどPT3Ctrl.exe の前で、既にデータが壊れてるっポイね。