diff --git a/tools/podprobe.bat b/tools/podprobe.bat new file mode 100644 index 0000000..ad8ce04 --- /dev/null +++ b/tools/podprobe.bat @@ -0,0 +1,46 @@ +@echo off +REM podprobe.bat -- XP-SAFE fallback probe for the pod / crash cart. +REM +REM Use this when tools\podprobe.ps1 will not run (no PowerShell, or an +REM XP/2003-era box where .NET/PS is absent). Uses only tools that shipped +REM with Windows XP. Writes podprobe_bat.txt next to itself. +REM +REM podprobe.bat +REM +REM It answers the first question that matters: WHAT IS THIS MACHINE, and can +REM our build run on it at all? (Modern MSVC toolset => Windows 7 SP1+.) + +setlocal +set OUT=%~dp0podprobe_bat.txt +echo ==================== BT411 POD PROBE (bat fallback) ====================> "%OUT%" +echo host: %COMPUTERNAME% session: %SESSIONNAME%>> "%OUT%" +date /t >> "%OUT%" +time /t >> "%OUT%" +echo.>> "%OUT%" + +echo ---- OS ---->> "%OUT%" +ver >> "%OUT%" +wmic os get Caption,Version,BuildNumber,OSArchitecture /format:list >> "%OUT%" 2>&1 +echo.>> "%OUT%" + +echo ---- GPUs / drivers ---->> "%OUT%" +wmic path Win32_VideoController get Name,DriverVersion,DriverDate,CurrentHorizontalResolution,CurrentVerticalResolution /format:list >> "%OUT%" 2>&1 +echo.>> "%OUT%" + +echo ---- Monitors (attached) ---->> "%OUT%" +wmic path Win32_DesktopMonitor get DeviceID,Name,ScreenWidth,ScreenHeight,Availability /format:list >> "%OUT%" 2>&1 +echo.>> "%OUT%" + +echo ---- Serial ports (RIO board) ---->> "%OUT%" +wmic path Win32_SerialPort get DeviceID,Name /format:list >> "%OUT%" 2>&1 +echo.>> "%OUT%" + +echo ---- Full DirectX report (monitor rects, D3D caps) ---->> "%OUT%" +echo (dxdiag is writing podprobe_dxdiag.txt -- may take ~30s)>> "%OUT%" +dxdiag /whql:off /t "%~dp0podprobe_dxdiag.txt" + +type "%OUT%" +echo. +echo Wrote %OUT% +echo Wrote %~dp0podprobe_dxdiag.txt (send BOTH back) +endlocal diff --git a/tools/podprobe.ps1 b/tools/podprobe.ps1 index 46161eb..7cbec03 100644 --- a/tools/podprobe.ps1 +++ b/tools/podprobe.ps1 @@ -26,6 +26,25 @@ W ("when : {0}" -f (Get-Date -Format 'yyyy-MM-dd HH:mm:ss')) W ("windows : {0}" -f (Get-CimInstance Win32_OperatingSystem).Caption) W "" +W "---- WILL OUR BUILD EVEN RUN HERE? ----" +try { + $os = Get-CimInstance Win32_OperatingSystem + $ver = [Version]$os.Version + W (" OS version : {0} (build {1})" -f $os.Version, $os.BuildNumber) + W (" architecture: {0}" -f $os.OSArchitecture) + if ($ver.Major -lt 6) { + W " *** STOP: this is Windows XP/2003-era. btl4.exe is built with a modern MSVC" + W " toolset and WILL NOT LAUNCH here (CRT + API requirements). Options:" + W " (a) put a newer Windows on the cart, or (b) rebuild with the v141_xp" + W " toolset (VS2017), or (c) drive the panels from a modern PC instead." + } elseif ($ver.Major -eq 6 -and $ver.Minor -lt 1) { + W " *** WARNING: Vista-era. Untested; Win7 SP1+ is the practical minimum." + } else { + W " OK: modern enough for the current build." + } +} catch { W " (OS query failed: $_)" } +W "" + W "---- GPUs ----" try { Get-CimInstance Win32_VideoController | ForEach-Object {