int main(int argc,char **argv) { PropLoad("config.txt"); if (!handle_options(argc, argv)) { return -1; } PropDump(); if (!vcompDoit(PropGet("SOURCE"))) { loadbytecode("foo.bin"); vmemInit(0); if (!strcmp(PropGet("BOOT"),"firmware")) { loaderInit((char*)dumpbc); } else { loaderInit(srcbytecode); } vmemDumpShort(); getchar(); simuInit(); VPUSH(INTTOVAL(0)); interpGo(); VPULL(); while(1) { simuDoLoop(); VPUSH(VCALLSTACKGET(sys_start,SYS_CBLOOP)); if (VSTACKGET(0)!=NIL) { interpGo(); } VPULL(); usleep(50 * 1000); } getchar(); } return 0; }
char* netMac() { int i; char *p=PropGet("MAC"); for(i=0;i<6;i++) mac[i]=htoi2(&p[i*2]); return mac; }
bool CTaksiConfigCustom::PropSet( int eProp, const char* pszValue ) { // TAKSI_CUSTOM_TYPE switch ( eProp ) { case TAKSI_CUSTOM_FrameRate: m_fFrameRate = (float) atof(pszValue); break; case TAKSI_CUSTOM_FrameWeight: m_fFrameWeight = (float) atof(pszValue); break; case TAKSI_CUSTOM_Pattern: if (! Str_GetQuoted( m_szPattern, COUNTOF(m_szPattern), pszValue )) return false; _tcslwr( m_szPattern ); break; default: DEBUG_ERR(("CTaksiConfigCustom::PropSet bad code %d" LOG_CR, eProp )); ASSERT(0); return false; } #if 0 // def _DEBUG char szTmp[_MAX_PATH*2]; if ( PropGet(eProp,szTmp,sizeof(szTmp)) < 0 ) { strcpy( szTmp, "<NA>" ); } LOG_MSG(( "PropSet[%s] '%s'='%s'" LOG_CR, m_szAppId, sm_Props[eProp], szTmp )); #endif return true; }
char* netMac() { #ifdef VSIMU int i; char *p=PropGet("MAC"); for(i=0;i<6;i++) mac[i]=htoi2(&p[i*2]); return mac; // return "abcdef"; #endif #ifdef VREAL return (char*) rt2501_mac; #endif }
bool CTaksiConfig::PropSet( int eProp, const char* pszValue ) { // TAKSI_CFGPROP_TYPE switch (eProp) { case TAKSI_CFGPROP_DebugLog: m_bDebugLog = GetStrBool(pszValue); break; case TAKSI_CFGPROP_CaptureDir: if (! Str_GetQuoted( m_szCaptureDir, COUNTOF(m_szCaptureDir), pszValue)) return false; break; case TAKSI_CFGPROP_FileNamePostfix: if (! Str_GetQuoted( m_szFileNamePostfix, COUNTOF(m_szFileNamePostfix), pszValue)) return false; break; case TAKSI_CFGPROP_ImageFormatExt: if (! Str_GetQuoted( m_szImageFormatExt, COUNTOF(m_szImageFormatExt), pszValue)) return false; break; case TAKSI_CFGPROP_MovieFrameRateTarget: m_fFrameRateTarget = (float) atof(pszValue); break; case TAKSI_CFGPROP_PosMasterWindow: sscanf( pszValue, "%d,%d", &m_ptMasterWindow.x, &m_ptMasterWindow.y ); break; case TAKSI_CFGPROP_PosMasterTopMost: m_bMasterTopMost = GetStrBool(pszValue); break; case TAKSI_CFGPROP_VKey_ConfigOpen: case TAKSI_CFGPROP_VKey_HookModeToggle: case TAKSI_CFGPROP_VKey_IndicatorToggle: case TAKSI_CFGPROP_VKey_RecordBegin: case TAKSI_CFGPROP_VKey_RecordPause: case TAKSI_CFGPROP_VKey_RecordStop: case TAKSI_CFGPROP_VKey_Screenshot: case TAKSI_CFGPROP_VKey_SmallScreenshot: { int iKey = TAKSI_HOTKEY_ConfigOpen + ( eProp - TAKSI_CFGPROP_VKey_ConfigOpen ); ASSERT( iKey >= 0 && iKey < TAKSI_HOTKEY_QTY ); char* pszEnd; m_wHotKey[iKey] = (WORD) strtol(pszValue,&pszEnd,0); } break; case TAKSI_CFGPROP_KeyboardUseDirectInput: m_bUseDirectInput = GetStrBool(pszValue); break; case TAKSI_CFGPROP_VideoHalfSize: m_bVideoHalfSize = GetStrBool(pszValue); break; case TAKSI_CFGPROP_VideoCodecMsg: m_bVideoCodecMsg = GetStrBool(pszValue); break; case TAKSI_CFGPROP_VideoCodecInfo: if ( ! m_VideoCodec.put_Str(pszValue)) return false; break; case TAKSI_CFGPROP_AudioFormat: { BYTE bTmp[1024]; ZeroMemory( &bTmp, sizeof(bTmp)); int iSize = Mem_ReadFromString( bTmp, sizeof(bTmp)-1, pszValue ); if ( iSize < sizeof(PCMWAVEFORMAT)) { //ASSERT( iSize >= sizeof(PCMWAVEFORMAT)); return false; } if ( ! m_AudioFormat.SetFormatBytes( bTmp, iSize )) { //ASSERT(0); return false; } } break; case TAKSI_CFGPROP_AudioDevice: m_iAudioDevice = atoi(pszValue); break; case TAKSI_CFGPROP_ShowIndicator: m_bShowIndicator = GetStrBool(pszValue); break; case TAKSI_CFGPROP_GDIFrame: m_bGDIFrame = GetStrBool(pszValue); break; case TAKSI_CFGPROP_GDICursor: m_bGDICursor = GetStrBool(pszValue); break; case TAKSI_CFGPROP_GDIDesktop: m_abUseGAPI[TAKSI_GAPI_DESKTOP] = GetStrBool(pszValue); break; case TAKSI_CFGPROP_UseGDI: m_abUseGAPI[TAKSI_GAPI_GDI] = GetStrBool(pszValue); break; case TAKSI_CFGPROP_UseOGL: m_abUseGAPI[TAKSI_GAPI_OGL] = GetStrBool(pszValue); break; #ifdef USE_DIRECTX8 case TAKSI_CFGPROP_UseDX8: m_abUseGAPI[TAKSI_GAPI_DX8] = GetStrBool(pszValue); break; #endif #ifdef USE_DIRECTX9 case TAKSI_CFGPROP_UseDX9: m_abUseGAPI[TAKSI_GAPI_DX9] = GetStrBool(pszValue); break; #endif case TAKSI_CFGPROP_UseOverheadCompensation: m_bUseOverheadCompensation = GetStrBool(pszValue); break; default: DEBUG_ERR(("CTaksiConfig::PropSet bad code %d" LOG_CR, eProp )); ASSERT(0); return false; } #if 0 // def _DEBUG char szTmp[_MAX_PATH*2]; if ( PropGet(eProp,szTmp,sizeof(szTmp)) < 0 ) { strcpy( szTmp, "<NA>" ); } LOG_MSG(( "PropSet '%s'='%s'" LOG_CR, sm_Props[eProp], szTmp)); #endif return true; }