diff --git a/Visual Studio Projects/0ReadMe_Projects.txt b/Visual Studio Projects/0ReadMe_Projects.txt
index a51c29a..365712d 100644
--- a/Visual Studio Projects/0ReadMe_Projects.txt
+++ b/Visual Studio Projects/0ReadMe_Projects.txt
@@ -26,7 +26,10 @@ For Example, the directory structure should look like:
.../simh/windows-build/winpcap/WpdPack/Include/pcap.h
.../simh/windows-build/libSDL/SDL2-2.0.3/include/SDL.h
-The contents of the windows-build directory can be downloaded from:
+If you have a command line version of git installed in your environment
+then the windows-build repository will be downloaded and updated
+automatically. If not, then the contents of the windows-build directory
+can be downloaded from:
https://github.com/simh/windows-build/archive/windows-build.zip
@@ -61,3 +64,7 @@ If you are using a version of Visual Studio beyond Visual Studio 2008, then
your later version of Visual Studio will automatically convert the Visual
Studio 2008 project files. You should ignore any warnings produced by the
conversion process.
+
+If you have a version of Visual Studio installed and want to build all the
+simulators from a command prompt, the file build_vstudio.bat in the root
+of the simh source tree will do that without any furthur interaction.
\ No newline at end of file
diff --git a/Visual Studio Projects/PDP10-KA.vcproj b/Visual Studio Projects/PDP10-KA.vcproj
index 16f877d..7b28a81 100644
--- a/Visual Studio Projects/PDP10-KA.vcproj
+++ b/Visual Studio Projects/PDP10-KA.vcproj
@@ -40,7 +40,7 @@
@@ -270,11 +270,11 @@
>
-
-
+
+
diff --git a/Visual Studio Projects/PDP10-KI.vcproj b/Visual Studio Projects/PDP10-KI.vcproj
index 876bc94..42bcafc 100644
--- a/Visual Studio Projects/PDP10-KI.vcproj
+++ b/Visual Studio Projects/PDP10-KI.vcproj
@@ -40,7 +40,7 @@
diff --git a/Visual Studio Projects/Post-Build-Event.cmd b/Visual Studio Projects/Post-Build-Event.cmd
index 5bedad5..70c02b3 100644
--- a/Visual Studio Projects/Post-Build-Event.cmd
+++ b/Visual Studio Projects/Post-Build-Event.cmd
@@ -1,7 +1,14 @@
rem
rem This script performs activities after a simulator build to run
-rem simulator specific test activities. Tests are only performed
-rem if a simulation test script is available.
+rem simulator specific test activities.
+rem The test activities performed include:
+rem 1) a sanity check on the simh REGister definitions for each
+rem device in the simulator. If the register sanity check fails,
+rem the build fails and the simulator binary is deleted - since
+rem this failure is akin to a compile time error the simulator
+rem should be fixed before it can be used.
+rem 2) An optional simulator test which is only performed
+rem if a simulation test script is available.
rem
rem There are 2 required parameters to this procedure:
rem 1 - The simulator source directory
@@ -10,19 +17,33 @@ rem There are 2 optional parameters to this procedure:
rem 3 A specific test script name
rem 4 Optional parameters to invoke the specified script with
rem
+rem These tests will be skipped if there is a file named Post-Build-Event.Skip
+rem in the same directory as this procedure.
rem
-if exist %2 goto _check_script
+if exist %2 goto _check_skip_tests
echo error: Missing simulator binary: %2
exit /B 1
-:_check_script
+:_check_skip_tests
set _binary_name=%~n2
+set _script_name=%~dpn0
+if exist "%_script_name%.Skip" echo '%_script_name%.Skip' exists - Testing Disabled & exit /B 0
+
+:_do_reg_sanity
+rem Run internal register sanity checks
+%2 RegisterSanityCheck
+echo.
+rem if the register sanity checks fail then this is a failed build
+rem so delete the simulator binary.
+if ERRORLEVEL 1 del %2 & exit /B 1
+
+:_check_script
set _script_path=..\%1\tests\%3.ini
if exist "%_script_path%" goto _got_script
set _script_path=..\%1\tests\%_binary_name%_test.ini
if exist "%_script_path%" goto _got_script
-echo No tests found for %_binary_name% simulator.
+echo Simulator specific tests not found for %_binary_name% simulator.
exit /B 0
:_got_script
diff --git a/Visual Studio Projects/Pre-Build-Event.cmd b/Visual Studio Projects/Pre-Build-Event.cmd
index 3efafb4..d2b8b06 100644
--- a/Visual Studio Projects/Pre-Build-Event.cmd
+++ b/Visual Studio Projects/Pre-Build-Event.cmd
@@ -62,8 +62,8 @@ goto _next_arg
pushd ..
if "%_X_ROM%" == "" goto _done_rom
SET _BLD=
-if exist BIN\NT\Win32-Debug\BuildROMs.exe SET _BLD=BIN\NT\Win32-Debug\BuildROMs.exe
-if exist BIN\NT\Win32-Release\BuildROMs.exe SET _BLD=BIN\NT\Win32-Release\BuildROMs.exe
+if exist BIN\NT\Win32-Debug\BuildTools\BuildROMs.exe SET _BLD=BIN\NT\Win32-Debug\BuildTools\BuildROMs.exe
+if exist BIN\NT\Win32-Release\BuildTools\BuildROMs.exe SET _BLD=BIN\NT\Win32-Release\BuildTools\BuildROMs.exe
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ************************************************
if "%_BLD%" == "" echo ** Project dependencies are not correct. **
@@ -74,8 +74,8 @@ if "%_BLD%" == "" echo error: Review the Output Tab for more details.
if "%_BLD%" == "" exit 1
%_BLD%
if not errorlevel 1 goto _done_rom
-if not exist "BIN\NT\Win32-Release\BuildROMs.exe" exit 1
-del "BIN\NT\Win32-Release\BuildROMs.exe"
+if not exist "BIN\NT\Win32-Release\BuildTools\BuildROMs.exe" exit 1
+del "BIN\NT\Win32-Release\BuildTools\BuildROMs.exe"
popd
goto _do_rom
:_done_rom