Merge remote-tracking branch 'origin/master' into Extra-VAXen

This commit is contained in:
Mark Pizzolato 2012-01-27 05:03:52 -08:00
commit c2e6a832e8
47 changed files with 476 additions and 282 deletions

View file

@ -51,6 +51,8 @@ The following steps were performed to get a working SIMH vax simulator
sharing a physical NIC and allowing Host<->SIMH vax communications:
Linux (Ubuntu 10.04):
apt-get install make
apt-get install libpcap-dev
apt-get install bridge-utils
apt-get install uml-utilities
@ -155,6 +157,7 @@ Note 3: Simulators running using VDE networking can run without root
privilege.
Linux (Ubuntu 10.04):
apt-get install make
apt-get install libvdeplug-dev
apt-get install vde2
@ -181,28 +184,43 @@ Windows notes:
Building on Windows:
Building with MinGW can use the provided makefile following the instructions
below. Alternatively, you can use the free Visual C++ Express 2008 or 2010
interactive development environments. Read the file
".\Visual Studio Projects\0ReadMe_Projects.txt" for details.
You should be able to build with any of the free compiler environments
available on the Windows platform. If you want to use the Visual C++
Express 2008 or 2010 interactive development environments, read the file
".\Visual Studio Projects\0ReadMe_Projects.txt" for details about the
required dependencies. Alternatively, you can build simh with networking
support using the MinGW GCC compiler environment. Both the Visual C++
and MinGW build environments require WinPcap and Posix packages being
available. These should be located in a directory structure parallel to
the current simulator source directory.
1. Install WinPCAP 4.x runtime and the WinPCAP Developer's kit.
For Example, the directory structure should look like:
2. Put the required .h files (bittypes,devioctl,ip6_misc,pcap,pcap-stdinc
packet32,ntddndis).h from the WinPCAP 4.x developer's kit in the
compiler's include file path
.../simh/simhv38-2-rc1/VAX/vax_cpu.c
.../simh/simhv38-2-rc1/scp.c
.../simh/simhv38-2-rc1/Visual Studio Projects/simh.sln
.../simh/simhv38-2-rc1/Visual Studio Projects/VAX.vcproj
.../simh/simhv38-2-rc1/BIN/Nt/Win32-Release/vax.exe
.../simh/windows-build/pthreads/pthread.h
.../simh/windows-build/winpcap/WpdPack/Include/pcap.h
3. Put the required .lib files (packet,wpcap).lib from the WinPCAP 4.x
developer's kit in the linker's library path
The contents of the windows-build directory can be downloaded from:
4. If you're using Borland C++, use COFF2OMF to convert the .lib files into
a format that can be used by the compiler.
https://github.com/downloads/markpizz/simh/windows-build.zip
5. Define USE_NETWORK. The current windows network built binaries will
run on any system. regardless of whether or not WinPcap is installed,
and will provide Network functionality when WinPcap is available.
6. Build it!
There are Windows batch files provided to initiate compiles using the MinGW
compiler tool chain. These batch files are located in the same directory
as this file and are called: build_mingw.bat, build_mingw_ether.bat, and
build_mingw_noasync.bat. These batch files each presume that the MinGW
toolchain is either in the current path or, if not that it is located at
C:\MinGW\bin. These batch files merely invoke the MinGW make (GNU make)
passing some specific arguments along with the optional arguments the batch
file is invoked with.
The current windows network built binaries will run on any system without
regard to whether or not WinPcap is installed, and will provide
Network functionality when WinPcap is available.
-------------------------------------------------------------------------------
@ -254,18 +272,26 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Un*x:
Linux : search for your variant on http://rpmfind.net
OS/X : Apple Developer's site?
NOTE: These repositories for older versions of these platforms
NOTE: The repositories for older versions of these platforms
don't contain a version of libpcap greater than 0.8.1.
However, most(all) recent releases of *nix environments ship
with sufficiently recent versions of libpcap either automatically
installed or available for installation as part of the
distribution.
However, most(all) recent releases of *nix environments
ship with sufficiently recent versions of libpcap either
automatically installed or available for installation as
part of the distribution.
The OS provided libpcap-dev components will be prefereable
to a package built from www.tcpdump.org sources. This is
due to the fact that various OS supplied packages will
depend on the OS supplied libpcap. The improper build or
install of the www.tcpdump.org source package can conflict
with the OS provided one and break the OS provided
applications (i.e. tcpdump and/or wireshark) as well as
not working correctly for use by simh.
2. If you install the vendor supplied libpcap-dev package and it provides
a /usr/lib/libpcap.a file, then the existing makefile will automatically
use the vendor supplied library without any additional arguments.
If you have downloaded and built the libpcap from tcpdump.org, then
you can use it during a build by typing 'make USE_NETWORK=1'
2. If you install the vendor supplied libpcap-dev package then the simh
makefile will automatically use the vendor supplied library without any
additional arguments. If you have downloaded and built libpcap from
www.tcpdump.org, then you can force its use during a build by typing
'make USE_NETWORK=1'
3. Build it!

View file

@ -25,6 +25,8 @@
tq TQK50 tape controller
23-Jan-12 MP Added missing support for Logical EOT detection while
positioning.
05-Mar-11 MP Added missing state for proper save/restore
01-Mar-11 MP - Migrated complex physical tape activities to sim_tape
- adopted use of asynch I/O interfaces from sim_tape
@ -1451,11 +1453,13 @@ switch (cmd) { /* case on command */
sim_tape_position_a (uptr,
((mdf & MD_RWD) ? MTPOS_M_REW : 0) |
((mdf & MD_REV) ? MTPOS_M_REV : 0) |
((mdf & MD_OBC) ? MTPOS_M_OBJ : 0) ,
((mdf & MD_OBC) ? MTPOS_M_OBJ : 0) |
(((mdf & MD_DLE) && !(mdf & MD_REV)) ? MTPOS_M_DLE : 0),
nrec, &res->skrec, ntmk, &res->sktmk, (uint32 *)&res->objupd, tq_io_complete);
return SCPE_OK;
}
if (res->io_status)
res->sts = tq_map_status (uptr, res->io_status);
if ((res->io_status != MTSE_OK) && (res->io_status != MTSE_BOT) && (res->io_status != MTSE_LEOT))
return tq_mot_err (uptr, 0); /* log, end */
sim_debug (DBG_REQ, &tq_dev, "Position Done: mdf=0x%04X, nrec=%d, ntmk=%d, skrec=%d, sktmk=%d, skobj=%d\n",
mdf, nrec, ntmk, res->skrec, res->sktmk, res->objupd);
@ -1558,6 +1562,9 @@ switch (st) {
case MTSE_WRP:
uptr->flags = uptr->flags | UNIT_SXC;
return ST_WPR;
case MTSE_LEOT:
return ST_LED;
}
return ST_SUC;

View file

@ -761,7 +761,7 @@ if (-1 == clock_gettime(CLOCK_REALTIME, &now)) /* get curr time */
val.tv_sec = ((uint32)data) / 100;
val.tv_nsec = (((uint32)data) % 100) * 10000000;
sim_timespec_diff (&base, &now, &val); /* base = now - data */
toy->toy_gmtbase = base.tv_sec;
toy->toy_gmtbase = (uint32)base.tv_sec;
toy->toy_gmtbasemsec = base.tv_nsec/1000000;
}

View file

@ -27,6 +27,10 @@
tto terminal output
clk 100Hz and TODR clock
13-Jan-12 MP Normalized the saved format of the TODR persistent
file so that it may be moved around from one platform
to another along with other simulator state files
(disk & tape images, save/restore files, etc.)
28-Sep-11 MP Generalized setting TODR for all OSes.
Unbound the TODR value from the 100hz clock tick
interrupt. TODR now behaves like the original
@ -49,9 +53,10 @@
(i.e. sim> attach TODR TOY_CLOCK). When operating
in OS Agnostic mode, the TODR will initially start
counting from 0 and be adjusted differently when an
OS specifically writes to the TODR. VMS will prompt
to set the time on each boot unless the SYSGEN
parameter TIMEPROMPTWAIT is set to 0.
OS specifically writes to the TODR. On the first OS
boot with an attached TODR VMS will prompt to set
the time unless the SYSGEN parameter TIMEPROMPTWAIT
is set to 0.
05-Jan-11 MP Added Asynch I/O support
17-Aug-08 RMS Resync TODR on any clock reset
18-Jun-07 RMS Added UNIT_IDLE flag to console input, clock
@ -96,6 +101,8 @@ int32 clk_tps = 100; /* ticks/second */
int32 todr_reg = 0; /* TODR register */
int32 todr_blow = 1; /* TODR battery low */
struct todr_battery_info {
char toy_gmtbase_a[16]; /* Platform independent Text format of toy_gmtbase */
char toy_gmtbasemsec_a[16]; /* Platform independent Text format of toy_gmtbasemsec */
uint32 toy_gmtbase; /* GMT base of set value */
uint32 toy_gmtbasemsec; /* The milliseconds of the set value */
};
@ -422,6 +429,8 @@ if (0 == todr_reg) /* clock running? */
#define TOY_MAX_SECS (0x40000000/25)
clock_gettime(CLOCK_REALTIME, &now); /* get curr time */
toy->toy_gmtbase = strtoul(toy->toy_gmtbase_a, NULL, 0);
toy->toy_gmtbasemsec = strtoul(toy->toy_gmtbasemsec_a, NULL, 0);
base.tv_sec = toy->toy_gmtbase;
base.tv_nsec = toy->toy_gmtbasemsec * 1000000;
sim_timespec_diff (&val, &now, &base);
@ -446,8 +455,10 @@ if (-1 == clock_gettime(CLOCK_REALTIME, &now)) /* get curr time */
val.tv_sec = ((uint32)data) / 100;
val.tv_nsec = (((uint32)data) % 100) * 10000000;
sim_timespec_diff (&base, &now, &val); /* base = now - data */
toy->toy_gmtbase = base.tv_sec;
toy->toy_gmtbase = (uint32)base.tv_sec;
toy->toy_gmtbasemsec = base.tv_nsec/1000000;
sprintf(toy->toy_gmtbase_a, "0x%08X", toy->toy_gmtbase);
sprintf(toy->toy_gmtbasemsec_a, "0x%08X", toy->toy_gmtbasemsec);
todr_reg = data;
if (data)
todr_blow = 0;

View file

@ -4,8 +4,10 @@ Visual Studio Express 2010) it populates a directory tree under the BIN
directory of the Simh distribution for temporary build files and produces
resulting executables in the BIN/NT/Win32-Debug or BIN/NT/Win32-Release
directories (depending on whether you target a Debug or Release build).
It expects that a winpcap developer pack zip file is expanded in a directory
parallel to the simh directory.
The Visual Studio Projects expect that a winpcap developer pack and the
Posix threads for windows package are available in a directory parallel
to the simh directory.
For Example, the directory structure should look like:
@ -14,37 +16,25 @@ For Example, the directory structure should look like:
.../simh/simhv38-2-rc1/Visual Studio Projects/simh.sln
.../simh/simhv38-2-rc1/Visual Studio Projects/VAX.vcproj
.../simh/simhv38-2-rc1/BIN/Nt/Win32-Release/vax.exe
.../simh/winpcap/WpdPack/Include/pcap.h
.../simh/windows-build/pthreads/pthread.h
.../simh/windows-build/winpcap/WpdPack/Include/pcap.h
The contents of the windows-build directory can be downloaded from:
https://github.com/downloads/markpizz/simh/windows-build.zip
The winpcap developer pack can be found at:
http://www.winpcap.org/devel.htm
Network devices are capable of using pthreads to enhance their performance.
To realize these benefits, you must build the desire simulator with
USE_READER_THREAD defined. The relevant simulators which have network
support are VAX, VAX780 and PDP11.
The latest version of the WinPcap developer's pack is Version 4.1.2
Some features can be enabled if the pthreads API is available and contained
also in a parallel place in the directory structure.
.../simh/pthreads/Pre-built.2/include/include/pthreads.h
To install pthreads API, create the directory:
.../simh/pthreads/
download the file:
ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-8-0-release.exe
to that directory and execute it. Click on the Extract button.
Once installed, When running a simulator with pthreads support enabled, you
will need a copy of the DLL file (simh\pthreads\Pre-built.2\lib\pthreadVC2.dll)
to exist in either the %windir%\System32 directory (or %windir%\SysWOW64 on
x64 Windows environments) or your working directory while running a simh
simulator. The default working directory for included project files is the
"Visual Studio Projects" directory.
Only network devices are capable of using pthreads to enhance their
performance. Build the desire simulator with USE_READER_THREAD defined. The
relevant simulators which have network support are VAX, VAX780 and PDP11.
Additionally, simulators which contain devices which use the asynchronous
APIs in sim_disk.c and sim_tape.c can also achieve greater performance by
leveraging pthreads to perform blocking I/O in separate threads. Currently
the simulators which have such devices are VAX, VAX780 and PDP11. To
achieve these benefits the simulators must be built with SIM_ASYNCH_IO
defined.
The project files in this directory build these simulators with support for
both network and asynchronous I/O.

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ALTAIR\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ALTAIR\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\AltairZ80\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../AltairZ80/"
PreprocessorDefinitions="NO_INLINE;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="NO_INLINE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\AltairZ80\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../AltairZ80/"
PreprocessorDefinitions="NO_INLINE;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="NO_INLINE;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\BuildROMs\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\BuildROMs\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ECLIPSE\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../NOVA/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ECLIPSE\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../NOVA/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\GRI\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../GRI/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\GRI\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../GRI/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\H316\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\H316\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\HP2100\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../HP2100/"
PreprocessorDefinitions="HAVE_INT64;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="HAVE_INT64;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\HP2100\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../HP2100/"
PreprocessorDefinitions="HAVE_INT64;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="HAVE_INT64;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I1401\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../I1401/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I1401\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../I1401/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I1620\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../I1620/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I1620\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../I1620/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I7094\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;USE_INT64"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;USE_INT64"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\I7094\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;USE_INT64"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;USE_INT64"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\IBM1130\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../ibm1130/"
PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\IBM1130\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../ibm1130/"
PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
PreprocessorDefinitions="WIN32;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ID16\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ID16\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ID32\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\ID32\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\NOVA\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../NOVA/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\NOVA\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../NOVA/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP1\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../PDP1/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP1\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../PDP1/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP10\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -42,8 +42,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../PDP10/;../PDP11/;../VAX/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;VM_PDP10;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD"
AdditionalIncludeDirectories="./;../;../PDP10/;../PDP11/;../VAX/"
PreprocessorDefinitions="USE_INT64;VM_PDP10;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -63,10 +63,10 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wsock32.lib winmm.lib"
OutputFile="$(OutDir)\PDP10.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\PDP10.pdb"
SubSystem="1"
@ -102,7 +102,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP10\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,8 +124,8 @@
Optimization="2"
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../PDP10/;../PDP11/;../VAX/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;VM_PDP10;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD"
AdditionalIncludeDirectories="./;../;../PDP10/;../PDP11/;../VAX/"
PreprocessorDefinitions="USE_INT64;VM_PDP10;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@ -145,10 +145,10 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wsock32.lib winmm.lib"
OutputFile="$(OutDir)\PDP10.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories=""
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP11\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -42,8 +42,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../PDP11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_SHARED;VM_PDP11;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD"
AdditionalIncludeDirectories="./;../;../PDP11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_SHARED;VM_PDP11;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;SIM_ASYNCH_IO;USE_READER_THREAD"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -63,10 +63,10 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\PDP11.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\PDP11.pdb"
SubSystem="1"
@ -102,7 +102,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP11\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,8 +124,8 @@
Optimization="2"
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../PDP11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_SHARED;VM_PDP11;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD"
AdditionalIncludeDirectories="./;../;../PDP11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_SHARED;VM_PDP11;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;SIM_ASYNCH_IO;USE_READER_THREAD"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@ -145,10 +145,10 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\PDP11.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@ -331,6 +331,26 @@
RelativePath="..\PDP11\pdp11_xu.c"
>
</File>
<File
RelativePath="..\..\windows-build\pthreads\pthread.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\scp.c"
>

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP15\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP15;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP15;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP15\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP15;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP15;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP18B\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP18B\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP4\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP4;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP4;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP4\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP4;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP4;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP7\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP7;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP7;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP7\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP7;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP7;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP8\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../PDP8/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP8\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../PDP8/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP9\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP9;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP9;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\PDP9\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="../;../PDP18B/"
PreprocessorDefinitions="PDP9;_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="PDP9;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\S3\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../S3/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\S3\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../S3/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\SDS\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../SDS/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\SDS\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../SDS/"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\SWTP\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\SWTP\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -22,12 +22,12 @@
IntermediateDirectory="..\BIN\NT\Project\simh\VAX\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s)"
CommandLine="pushd ..&#x0D;&#x0A;$(TargetDir)BuildROMs&#x0D;&#x0A;popd"
CommandLine="pushd ..&#x0D;&#x0A;$(TargetDir)BuildROMs&#x0D;&#x0A;popd&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@ -44,8 +44,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD;SIM_ASYNCH_IO"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO"
KeepComments="false"
MinimalRebuild="true"
BasicRuntimeChecks="0"
@ -69,10 +69,10 @@
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\VAX.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\VAX.pdb"
SubSystem="1"
@ -108,12 +108,12 @@
IntermediateDirectory="..\BIN\NT\Project\simh\VAX\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
Description="Build Dependent ROM include File(s)"
CommandLine="pushd ..&#x0D;&#x0A;$(TargetDir)BuildROMs&#x0D;&#x0A;popd"
CommandLine="pushd ..&#x0D;&#x0A;$(TargetDir)BuildROMs&#x0D;&#x0A;popd&#x0D;&#x0A;"
/>
<Tool
Name="VCCustomBuildTool"
@ -134,8 +134,8 @@
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD;SIM_ASYNCH_IO"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO"
KeepComments="false"
StringPooling="true"
RuntimeLibrary="0"
@ -158,10 +158,10 @@
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\VAX.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@ -244,6 +244,26 @@
RelativePath="..\PDP11\pdp11_xq.c"
>
</File>
<File
RelativePath="..\..\windows-build\pthreads\pthread.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\scp.c"
>

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\VAX780\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -44,8 +44,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;VAX_780;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD;SIM_ASYNCH_IO"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;VAX_780;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO"
MinimalRebuild="true"
BasicRuntimeChecks="0"
RuntimeLibrary="1"
@ -68,10 +68,10 @@
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\VAX780.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)\VAX780.pdb"
SubSystem="1"
@ -107,7 +107,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\VAX780\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -133,8 +133,8 @@
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;../../winpcap/Wpdpack/Include;&quot;../../pthreads/Pre-built.2/include&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;VAX_780;USE_SHARED;_CRT_SECURE_NO_WARNINGS;USE_READER_THREAD;SIM_ASYNCH_IO"
AdditionalIncludeDirectories="./;../;../VAX/;../pdp11/;&quot;../../windows-build/winpcap/Wpdpack/Include&quot;;&quot;../../windows-build/pthreads&quot;"
PreprocessorDefinitions="USE_INT64;USE_ADDR64;VM_VAX;VAX_780;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@ -156,10 +156,10 @@
<Tool
Name="VCLinkerTool"
AdditionalOptions="/fixed:no"
AdditionalDependencies="pthreadVC2.lib wsock32.lib packet.lib winmm.lib"
AdditionalDependencies="wpcap.lib packet.lib wsock32.lib winmm.lib"
OutputFile="$(OutDir)\VAX780.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="../../winpcap/Wpdpack/Lib/;&quot;../../pthreads/Pre-built.2/lib/&quot;"
AdditionalLibraryDirectories="&quot;../../windows-build/winpcap/Wpdpack/Lib/&quot;"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
@ -254,6 +254,26 @@
RelativePath="..\PDP11\pdp11_xu.c"
>
</File>
<File
RelativePath="..\..\windows-build\pthreads\pthread.c"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="HAVE_PTW32_CONFIG_H;PTW32_BUILD_INLINED;PTW32_STATIC_LIB;__CLEANUP_C;$(NOINHERIT)"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\scp.c"
>

View file

@ -22,7 +22,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\lgp\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -43,7 +43,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@ -101,7 +101,7 @@
IntermediateDirectory="..\BIN\NT\Project\simh\lgp\$(PlatformName)-$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
CharacterSet="0"
>
<Tool
Name="VCPreBuildEventTool"
@ -124,7 +124,7 @@
InlineFunctionExpansion="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="./;../"
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS"
PreprocessorDefinitions="_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"

View file

@ -1,5 +1,11 @@
@echo off
rem Compile all of SIMH using MINGW make and gcc environment
rem
rem The makefile will determine if the needed WinPcap build
rem components are available and the resulting simulators will
rem run with networking support when the WinPcap environment
rem is installed on the running system.
rem
rem Individual simulator sources are in .\simulator_name
rem Individual simulator executables are to .\bin
rem

View file

@ -1,5 +1,6 @@
@echo off
rem 12-Nov-02 rms Ethernet support
rem Built in Ethernet support (requires WinPcap installed)
rem
rem Compile all of SIMH using MINGW make and gcc environment
rem Individual simulator sources are in .\simulator_name
rem Individual simulator executables are to .\bin

View file

@ -44,7 +44,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
LIBEXT = dylib
else
ifeq (Linux,$(shell uname))
LIBPATH := $(sort $(foreach lib,$(shell ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib))))
LIBEXT = so
else
ifeq (SunOS,$(shell uname))
@ -150,7 +150,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
# Look for package built from tcpdump.org sources with default install target
LIBPATH += /usr/local/lib
INCPATH += /usr/local/include
LIBEXTSAVE = $(LIBEXT)
LIBEXTSAVE := $(LIBEXT)
LIBEXT = a
ifneq (,$(call find_lib,pcap))
ifneq (,$(call find_include,pcap))
@ -170,9 +170,9 @@ else
GCC = gcc
GCC_Path := $(dir $(shell where gcc.exe))
ifeq ($(NOASYNCH),)
ifeq (pthreads,$(shell if exist ..\pthreads\Pre-built.2\include\pthread.h echo pthreads))
PTHREADS_CCDEFS = -DSIM_ASYNCH_IO -DUSE_READER_THREAD -I../pthreads/Pre-built.2/include
PTHREADS_LDFLAGS = -lpthreadVC2 -L..\pthreads\Pre-built.2\lib
ifeq (pthreads,$(shell if exist ..\windows-build\pthreads\Pre-built.2\include\pthread.h echo pthreads))
PTHREADS_CCDEFS = -DSIM_ASYNCH_IO -DUSE_READER_THREAD -DPTW32_STATIC_LIB -I../windows-build/pthreads/Pre-built.2/include
PTHREADS_LDFLAGS = -lpthreadGC2 -L..\windows-build\pthreads\Pre-built.2\lib
else
ifeq (pthreads,$(shell if exist $(dir $(GCC_Path))..\include\pthread.h echo pthreads))
PTHREADS_CCDEFS = -DSIM_ASYNCH_IO -DUSE_READER_THREAD
@ -180,13 +180,13 @@ else
endif
endif
endif
ifeq (pcap,$(shell if exist ..\winpcap\Wpdpack\include\pcap.h echo pcap))
PCAP_CCDEFS = -I../winpcap/Wpdpack/include -DUSE_SHARED
ifeq (pcap,$(shell if exist ..\windows-build\winpcap\Wpdpack\include\pcap.h echo pcap))
PCAP_CCDEFS = -I../windows-build/winpcap/Wpdpack/include -I$(GCC_Path)..\include\ddk -DUSE_SHARED
NETWORK_LDFLAGS =
NETWORK_OPT = -DUSE_SHARED
else
ifeq (pcap,$(shell if exist $(dir $(GCC_Path))..\include\pcap.h echo pcap))
PCAP_CCDEFS = -DUSE_SHARED
PCAP_CCDEFS = -DUSE_SHARED -I$(GCC_Path)..\include\ddk
NETWORK_LDFLAGS =
NETWORK_OPT = -DUSE_SHARED
endif

79
scp.c
View file

@ -212,6 +212,7 @@
#include <signal.h>
#include <ctype.h>
#include <time.h>
#include <sys/stat.h>
#if defined(HAVE_DLOPEN) /* Dynamic Readline support */
#include <dlfcn.h>
@ -1825,7 +1826,7 @@ return SCPE_OK;
t_stat show_unit (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag)
{
int32 u = uptr - dptr->units;
int32 u = (int32)(uptr - dptr->units);
if (flag > 1)
fprintf (st, " %s%d", sim_dname (dptr), u);
@ -2168,7 +2169,7 @@ if (dptr->modifiers) {
continue;
if (any++)
fprintf (st, ", %s", mptr->pstring);
else fprintf (st, "SHOW %s\t%s", sim_dname (dptr), mptr->pstring);
else fprintf (st, "sh{ow} %s\t%s", sim_dname (dptr), mptr->pstring);
}
}
if (any)
@ -2459,7 +2460,7 @@ if (uptr->flags & UNIT_BUFABLE) { /* buffer? */
if (uptr->filebuf == NULL) /* no buffer? */
return attach_err (uptr, SCPE_MEM); /* error */
if (!sim_quiet) printf ("%s: buffering file in memory\n", sim_dname (dptr));
uptr->hwmark = sim_fread (uptr->filebuf, /* read file */
uptr->hwmark = (uint32)sim_fread (uptr->filebuf, /* read file */
SZ_D (dptr), cap, uptr->fileref);
uptr->flags = uptr->flags | UNIT_BUF; /* set buffered */
}
@ -2819,12 +2820,15 @@ t_bool v35, v32;
DEVICE *dptr;
UNIT *uptr;
REG *rptr;
struct stat rstat;
t_bool force_restore = sim_switches & SWMASK ('F');
#define READ_S(xx) if (read_line ((xx), CBUFSIZE, rfile) == NULL) \
return SCPE_IOERR;
#define READ_I(xx) if (sim_fread (&xx, sizeof (xx), 1, rfile) == 0) \
return SCPE_IOERR;
fstat (fileno (rfile), &rstat);
READ_S (buf); /* [V2.5+] read version */
v35 = v32 = FALSE;
if (strcmp (buf, save_vercur) == 0) /* version 3.5? */
@ -2833,22 +2837,30 @@ else if (strcmp (buf, save_ver32) == 0) /* version 3.2? */
v32 = TRUE;
else if (strcmp (buf, save_ver30) != 0) { /* version 3.0? */
printf ("Invalid file version: %s\n", buf);
if (sim_log)
fprintf (sim_log, "Invalid file version: %s\n", buf);
return SCPE_INCOMP;
}
READ_S (buf); /* read sim name */
if (strcmp (buf, sim_name)) { /* name match? */
printf ("Wrong system type: %s\n", buf);
if (sim_log)
fprintf (sim_log, "Wrong system type: %s\n", buf);
return SCPE_INCOMP;
}
if (v35) { /* [V3.5+] options */
READ_S (buf); /* integer size */
if (strcmp (buf, sim_si64) != 0) {
printf ("Incompatible integer size, save file = %s\n", buf);
if (sim_log)
fprintf (sim_log, "Incompatible integer size, save file = %s\n", buf);
return SCPE_INCOMP;
}
READ_S (buf); /* address size */
if (strcmp (buf, sim_sa64) != 0) {
printf ("Incompatible address size, save file = %s\n", buf);
if (sim_log)
fprintf (sim_log, "Incompatible address size, save file = %s\n", buf);
return SCPE_INCOMP;
}
READ_S (buf); /* Ethernet */
@ -2866,6 +2878,8 @@ for ( ;; ) { /* device loop */
break;
if ((dptr = find_dev (buf)) == NULL) { /* locate device */
printf ("Invalid device name: %s\n", buf);
if (sim_log)
fprintf (sim_log, "Invalid device name: %s\n", buf);
return SCPE_INCOMP;
}
READ_S (buf); /* [V3.0+] logical name */
@ -2886,6 +2900,8 @@ for ( ;; ) { /* device loop */
break;
if ((uint32) unitno >= dptr->numunits) { /* too big? */
printf ("Invalid unit number: %s%d\n", sim_dname (dptr), unitno);
if (sim_log)
fprintf (sim_log, "Invalid unit number: %s%d\n", sim_dname (dptr), unitno);
return SCPE_INCOMP;
}
READ_I (time); /* event time */
@ -2936,6 +2952,8 @@ for ( ;; ) { /* device loop */
if (((uptr->flags & (UNIT_FIX + UNIT_ATTABLE)) != UNIT_FIX) ||
(dptr->deposit == NULL)) {
printf ("Can't restore memory: %s%d\n", sim_dname (dptr), unitno);
if (sim_log)
fprintf (sim_log, "Can't restore memory: %s%d\n", sim_dname (dptr), unitno);
return SCPE_INCOMP;
}
if (high != old_capac) { /* size change? */
@ -2945,12 +2963,20 @@ for ( ;; ) { /* device loop */
(dptr->msize (uptr, (int32) high, NULL, NULL) != SCPE_OK))) {
printf ("Can't change memory size: %s%d\n",
sim_dname (dptr), unitno);
if (sim_log)
fprintf (sim_log, "Can't change memory size: %s%d\n",
sim_dname (dptr), unitno);
return SCPE_INCOMP;
}
uptr->capac = high; /* new memory size */
printf ("Memory size changed: %s%d = ", sim_dname (dptr), unitno);
fprint_capac (stdout, dptr, uptr);
printf ("\n");
if (sim_log) {
fprintf (sim_log, "Memory size changed: %s%d = ", sim_dname (dptr), unitno);
fprint_capac (sim_log, dptr, uptr);
fprintf (sim_log, "\n");
}
}
sz = SZ_D (dptr); /* allocate buffer */
if ((mbuf = calloc (SRBSIZ, sz)) == NULL)
@ -2959,7 +2985,7 @@ for ( ;; ) { /* device loop */
READ_I (blkcnt); /* block count */
if (blkcnt < 0) /* compressed? */
limit = -blkcnt;
else limit = sim_fread (mbuf, sz, blkcnt, rfile);
else limit = (int32)sim_fread (mbuf, sz, blkcnt, rfile);
if (limit <= 0) /* invalid or err? */
return SCPE_IOERR;
for (j = 0; j < limit; j++, k = k + (dptr->aincr)) {
@ -2981,19 +3007,28 @@ for ( ;; ) { /* device loop */
READ_I (depth); /* [V2.10+] depth */
if ((rptr = find_reg (buf, NULL, dptr)) == NULL) {
printf ("Invalid register name: %s %s\n", sim_dname (dptr), buf);
if (sim_log)
fprintf (sim_log, "Invalid register name: %s %s\n", sim_dname (dptr), buf);
for (us = 0; us < depth; us++) { /* skip values */
READ_I (val);
}
continue;
}
if (depth != rptr->depth) /* [V2.10+] mismatch? */
if (depth != rptr->depth) { /* [V2.10+] mismatch? */
printf ("Register depth mismatch: %s %s, file = %d, sim = %d\n",
sim_dname (dptr), buf, depth, rptr->depth);
if (sim_log)
fprintf (sim_log, "Register depth mismatch: %s %s, file = %d, sim = %d\n",
sim_dname (dptr), buf, depth, rptr->depth);
}
mask = width_mask[rptr->width]; /* get mask */
for (us = 0; us < depth; us++) { /* loop thru values */
READ_I (val); /* read value */
if (val > mask) /* value ok? */
if (val > mask) { /* value ok? */
printf ("Invalid register value: %s %s\n", sim_dname (dptr), buf);
if (sim_log)
fprintf (sim_log, "Invalid register value: %s %s\n", sim_dname (dptr), buf);
}
else if (us < rptr->depth) /* in range? */
put_rval (rptr, us, val);
}
@ -3004,11 +3039,28 @@ for ( ;; ) { /* device loop */
may depend on the state of the device (in registers) to work correctly */
for (j=0, r = SCPE_OK; j<attcnt; j++) {
if (r == SCPE_OK) {
struct stat fstat;
dptr = find_dev_from_unit (attunits[j]);
if ((!force_restore) &&
(!stat(attnames[j], &fstat)))
if (fstat.st_mtime > rstat.st_mtime + 30) {
r = SCPE_INCOMP;
printf ("Error Attaching %s to %s - the restore state is %d seconds older than the attach file\n", sim_dname (dptr), attnames[j], (int)(fstat.st_mtime - rstat.st_mtime));
printf ("restore with the -F switch to override this sanity check\n");
if (sim_log) {
fprintf (sim_log, "Error Attaching %s to %s - the restore state is %d seconds older than the attach file\n", sim_dname (dptr), attnames[j], (int)(fstat.st_mtime - rstat.st_mtime));
fprintf (sim_log, "restore with the -F switch to override this sanity check\n");
}
continue;
}
sim_switches = attswitches[j];
r = scp_attach_unit (dptr, attunits[j], attnames[j]);/* reattach unit */
if (r != SCPE_OK)
if (r != SCPE_OK) {
printf ("Error Attaching %s to %s\n", sim_dname (dptr), attnames[j]);
if (sim_log)
fprintf (sim_log, "Error Attaching %s to %s\n", sim_dname (dptr), attnames[j]);
}
}
free (attnames[j]);
}
@ -3714,7 +3766,7 @@ for (i = 0, j = addr; i < sim_emax; i++, j = j + dptr->aincr) {
SZ_LOAD (sz, sim_eval[i], uptr->filebuf, loc);
}
else {
sim_fseek (uptr->fileref, sz * loc, SEEK_SET);
sim_fseek (uptr->fileref, (t_addr)(sz * loc), SEEK_SET);
sim_fread (&sim_eval[i], sz, 1, uptr->fileref);
if ((feof (uptr->fileref)) &&
!(uptr->flags & UNIT_FIX)) {
@ -3805,7 +3857,7 @@ for (i = 0, j = addr; i < count; i++, j = j + dptr->aincr) {
uptr->hwmark = (uint32) loc + 1;
}
else {
sim_fseek (uptr->fileref, sz * loc, SEEK_SET);
sim_fseek (uptr->fileref, (t_addr)(sz * loc), SEEK_SET);
sim_fwrite (&sim_eval[i], sz, 1, uptr->fileref);
if (ferror (uptr->fileref)) {
clearerr (uptr->fileref);
@ -4332,7 +4384,7 @@ REG *find_reg (char *cptr, char **optr, DEVICE *dptr)
{
char *tptr;
REG *rptr;
uint32 slnt;
size_t slnt;
if ((cptr == NULL) || (dptr == NULL) || (dptr->registers == NULL))
return NULL;
@ -4517,7 +4569,8 @@ return pptr;
SCHTAB *get_search (char *cptr, int32 radix, SCHTAB *schptr)
{
int32 c, logop, cmpop;
int32 c;
size_t logop, cmpop;
t_value logval, cmpval;
char *sptr, *tptr;
const char logstr[] = "|&^", cmpstr[] = "=!><";
@ -4547,11 +4600,11 @@ for (logop = cmpop = -1; c = *cptr++; ) { /* loop thru clauses */
else return NULL;
} /* end for */
if (logop >= 0) {
schptr->logic = logop;
schptr->logic = (int32)logop;
schptr->mask = logval;
}
if (cmpop >= 0) {
schptr->boolop = cmpop;
schptr->boolop = (int32)cmpop;
schptr->comp = cmpval;
}
return schptr;

View file

@ -126,7 +126,7 @@ struct disk_context *ctx = (struct disk_context *)uptr->disk_ctx; \
if ((!callback) || !ctx->asynch_io)
#define AIO_CALL(op, _lba, _buf, _rsects, _sects, _callback) \
if (1) { \
if (ctx->asynch_io) { \
struct disk_context *ctx = \
(struct disk_context *)uptr->disk_ctx; \
\
@ -146,7 +146,10 @@ if ((!callback) || !ctx->asynch_io)
ctx->callback = _callback; \
pthread_cond_signal (&ctx->io_cond); \
pthread_mutex_unlock (&ctx->io_lock); \
}
} \
else \
if (_callback) \
(_callback) (uptr, r);
#define DOP_DONE 0 /* close */
@ -470,7 +473,7 @@ if (!err) {
memset (&buf[i*ctx->xfer_element_size], 0, tbc-(i*ctx->xfer_element_size));
err = ferror (uptr->fileref);
if ((!err) && (sectsread))
*sectsread = (i*ctx->xfer_element_size+ctx->sector_size-1)/ctx->sector_size;
*sectsread = (t_seccnt)((i*ctx->xfer_element_size+ctx->sector_size-1)/ctx->sector_size);
}
return err;
}
@ -584,7 +587,7 @@ if (!err) {
i = sim_fwrite (buf, ctx->xfer_element_size, tbc/ctx->xfer_element_size, uptr->fileref);
err = ferror (uptr->fileref);
if ((!err) && (sectswritten))
*sectswritten = (i*ctx->xfer_element_size+ctx->sector_size-1)/ctx->sector_size;
*sectswritten = (t_seccnt)((i*ctx->xfer_element_size+ctx->sector_size-1)/ctx->sector_size);
}
return err;
}
@ -823,7 +826,7 @@ if (sim_switches & SWMASK ('C')) { /* create vhd disk & cop
else {
uint8 *copy_buf = malloc (1024*1024);
t_lba lba;
t_seccnt sectors_per_buffer = (1024*1024)/sector_size;
t_seccnt sectors_per_buffer = (t_seccnt)((1024*1024)/sector_size);
t_lba total_sectors = (t_lba)(uptr->capac/sector_size);
t_seccnt sects = sectors_per_buffer;
@ -891,12 +894,12 @@ uptr->disk_ctx = ctx = (struct disk_context *)calloc(1, sizeof(struct disk_conte
if ((uptr->filename == NULL) || (uptr->disk_ctx == NULL))
return _err_return (uptr, SCPE_MEM);
strncpy (uptr->filename, cptr, CBUFSIZE); /* save name */
ctx->sector_size = sector_size; /* save sector_size */
ctx->xfer_element_size = xfer_element_size; /* save xfer_element_size */
ctx->sector_size = (uint32)sector_size; /* save sector_size */
ctx->xfer_element_size = (uint32)xfer_element_size; /* save xfer_element_size */
ctx->dptr = dptr; /* save DEVICE pointer */
ctx->dbit = dbit; /* save debug bit */
ctx->auto_format = auto_format; /* save that we auto selected format */
ctx->storage_sector_size = sector_size; /* Default */
ctx->storage_sector_size = (uint32)sector_size; /* Default */
if (sim_switches & SWMASK ('R')) { /* read only? */
if ((uptr->flags & UNIT_ROABLE) == 0) /* allowed? */
return _err_return (uptr, SCPE_NORO); /* no, error */
@ -1467,7 +1470,7 @@ if (Removable) {
return TRUE;
}
static t_stat sim_os_disk_info_raw (FILE *Disk, size_t *sector_size, uint32 *removable)
static t_stat sim_os_disk_info_raw (FILE *Disk, uint32 *sector_size, uint32 *removable)
{
DWORD IoctlReturnSize;
#ifndef __GNUC__
@ -2819,7 +2822,7 @@ ExpandToFullPath (const char *szFileSpec,
size_t BufferSize)
{
#ifdef _WIN32
GetFullPathNameA (szFileSpec, BufferSize, szFullFileSpecBuffer, NULL);
GetFullPathNameA (szFileSpec, (DWORD)BufferSize, szFullFileSpecBuffer, NULL);
#else
strncpy (szFullFileSpecBuffer, szFileSpec, BufferSize);
#endif
@ -2902,14 +2905,14 @@ hVHD->Dynamic.ParentLocatorEntries[6].PlatformDataOffset = NtoHll (LocatorPositi
if (RelativeMatch) {
memcpy (hVHD->Dynamic.ParentLocatorEntries[5].PlatformCode, "W2ru", 4);
hVHD->Dynamic.ParentLocatorEntries[5].PlatformDataSpace = NtoHl (BytesPerSector);
hVHD->Dynamic.ParentLocatorEntries[5].PlatformDataLength = NtoHl (2*strlen(RelativeParentVHDPath));
hVHD->Dynamic.ParentLocatorEntries[5].PlatformDataLength = NtoHl ((uint32)(2*strlen(RelativeParentVHDPath)));
hVHD->Dynamic.ParentLocatorEntries[5].Reserved = 0;
hVHD->Dynamic.ParentLocatorEntries[5].PlatformDataOffset = NtoHll (LocatorPosition+LocatorsWritten*BytesPerSector);
++LocatorsWritten;
}
memcpy (hVHD->Dynamic.ParentLocatorEntries[4].PlatformCode, "W2ku", 4);
hVHD->Dynamic.ParentLocatorEntries[4].PlatformDataSpace = NtoHl (BytesPerSector);
hVHD->Dynamic.ParentLocatorEntries[4].PlatformDataLength = NtoHl (2*strlen(FullParentVHDPath));
hVHD->Dynamic.ParentLocatorEntries[4].PlatformDataLength = NtoHl ((uint32)(2*strlen(FullParentVHDPath)));
hVHD->Dynamic.ParentLocatorEntries[4].Reserved = 0;
hVHD->Dynamic.ParentLocatorEntries[4].PlatformDataOffset = NtoHll (LocatorPosition+LocatorsWritten*BytesPerSector);
++LocatorsWritten;

View file

@ -56,7 +56,7 @@
Supported/Tested Platforms:
Windows(NT,2K,XP,2K3) WinPcap V3.0+
Windows(NT,2K,XP,2K3,Vista,Win7) WinPcap V3.0+
Linux libpcap at least 0.9
OpenBSD,FreeBSD,NetBSD libpcap at least 0.9
MAC OS/X libpcap at least 0.9
@ -72,13 +72,18 @@
libpcap for VMS is available from:
http://simh.trailing-edge.com/sources/vms-pcap.zip
libpcap for other Unix platforms is available at:
NOTE: As of the release of this version of sim_ether.c ALL current
*nix platforms ship with a sufficiently new version of
libpcap, and ALL provide a libpcap-dev package for developing
libpcap based applications. The OS vendor supplied version
of libpcap AND the libpcap-dev components are preferred for
proper operation of both simh AND other applications on the
host system which use libpcap.
Current Version: http://www.tcpdump.org/daily/libpcap-current.tar.gz
Released Version: http://www.tcpdump.org/release/
Note: You can only use the released version if it is at least
version 0.9
We've gotten the tarball, unpacked, built and installed it with:
When necessary (see NOTE above about vendor supplied libpcap),
we've gotten the tarball, unpacked, built and installed it with:
gzip -dc libpcap-current.tar.gz | tar xvf -
cd libpcap-directory-name
./configure
@ -86,10 +91,8 @@
make install
Note: The "make install" step generally will have to be done as root.
This will install libpcap in /usr/local/lib and /usr/local/include
It is then important to make sure that you get the just installed
libpcap components referenced during your build. This is generally
achieved by invoking gcc with:
-isystem /usr/local/include -L /usr/local/lib
The current simh makefile will do the right thing to locate and
reference the OS provided libpcap or the one just installed.
Note: Building for the platforms indicated above, with the indicated libpcap,

View file

@ -96,7 +96,7 @@ if (sim_end || (count == 0) || (size == sizeof (char)))
return;
for (j = 0, dptr = sptr = (unsigned char *) bptr; /* loop on items */
j < count; j++) {
for (k = size - 1; k >= (((int32) size + 1) / 2); k--) {
for (k = (int32)(size - 1); k >= (((int32) size + 1) / 2); k--) {
by = *sptr; /* swap end-for-end */
*sptr++ = *(dptr + k);
*(dptr + k) = by;
@ -130,7 +130,7 @@ if (sim_end || (size == sizeof (char))) {
return;
}
for (j = 0; j < count; j++) { /* loop on items */
for (k = size - 1; k >= 0; k--)
for (k = (int32)(size - 1); k >= 0; k--)
*(dptr + k) = *sptr++;
dptr = dptr + size;
}
@ -153,7 +153,7 @@ if (lcnt) nbuf = nbuf + 1;
else lcnt = nelem;
total = 0;
sptr = (unsigned char *) bptr; /* init input ptr */
for (i = nbuf; i > 0; i--) { /* loop on buffers */
for (i = (int32)nbuf; i > 0; i--) { /* loop on buffers */
c = (i == 1)? lcnt: nelem;
sim_buf_copy_swapped (sim_flip, sptr, size, c);
sptr = sptr + size * count;

View file

@ -90,7 +90,7 @@ void sim_close_sock (SOCKET sock, t_bool master)
return;
}
SOCKET sim_setnonblock (SOCKET sock)
int32 sim_setnonblock (SOCKET sock)
{
return SOCKET_ERROR;
}
@ -289,7 +289,7 @@ return;
}
#if defined (_WIN32) /* Windows */
SOCKET sim_setnonblock (SOCKET sock)
int32 sim_setnonblock (SOCKET sock)
{
unsigned long non_block = 1;
@ -297,7 +297,7 @@ return ioctlsocket (sock, FIONBIO, &non_block); /* set nonblocking */
}
#elif defined (VMS) /* VMS */
SOCKET sim_setnonblock (SOCKET sock)
int32 sim_setnonblock (SOCKET sock)
{
int non_block = 1;

View file

@ -83,6 +83,6 @@ int32 sim_check_conn (SOCKET sock, t_bool rd);
int32 sim_read_sock (SOCKET sock, char *buf, int32 nbytes);
int32 sim_write_sock (SOCKET sock, char *msg, int32 nbytes);
void sim_close_sock (SOCKET sock, t_bool master);
SOCKET sim_setnonblock (SOCKET sock);
int32 sim_setnonblock (SOCKET sock);
#endif

View file

@ -26,6 +26,7 @@
Ultimately, this will be a place to hide processing of various tape formats,
as well as OS-specific direct hardware access.
23-Jan-12 MP Added support for Logical EOT detection while positioning
05-Feb-11 MP Refactored to prepare for SIM_ASYNC_IO support
Added higher level routines:
sim_tape_wreomrw - erase remainder of tape & rewind
@ -146,7 +147,7 @@ struct tape_context *ctx = (struct tape_context *)uptr->tape_ctx; \
if ((!callback) || !ctx->asynch_io)
#define AIO_CALL(op, _buf, _bc, _fc, _max, _vbc, _gaplen, _bpi, _obj, _callback)\
if (1) { \
if (ctx->asynch_io) { \
struct tape_context *ctx = \
(struct tape_context *)uptr->tape_ctx; \
\
@ -167,7 +168,10 @@ if ((!callback) || !ctx->asynch_io)
ctx->objupdate = _obj; \
ctx->callback = _callback; \
pthread_cond_signal (&ctx->io_cond); \
}
} \
else \
if (_callback) \
(_callback) (uptr, r);
#define TOP_DONE 0 /* close */
#define TOP_RDRF 1 /* sim_tape_rdrecf_a */
#define TOP_RDRR 2 /* sim_tape_rdrecr_a */
@ -248,7 +252,7 @@ struct tape_context *ctx = (struct tape_context *)uptr->tape_ctx;
ctx->io_status = sim_tape_spfilef (uptr, ctx->vbc, ctx->bc);
break;
case TOP_SFRF:
ctx->io_status = sim_tape_spfilebyrecf (uptr, ctx->vbc, ctx->bc, ctx->fc);
ctx->io_status = sim_tape_spfilebyrecf (uptr, ctx->vbc, ctx->bc, ctx->fc, ctx->max);
break;
case TOP_SPFR:
ctx->io_status = sim_tape_spfiler (uptr, ctx->vbc, ctx->bc);
@ -761,7 +765,7 @@ if (rbc > max) { /* rec out of range? */
uptr->pos = opos;
return MTSE_INVRL;
}
i = sim_fread (buf, sizeof (uint8), rbc, uptr->fileref);/* read record */
i = (t_mtrlnt)sim_fread (buf, sizeof (uint8), rbc, uptr->fileref);/* read record */
if (ferror (uptr->fileref)) { /* error? */
MT_SET_PNU (uptr);
uptr->pos = opos;
@ -820,7 +824,7 @@ if (st = sim_tape_rdlntr (uptr, &tbc)) /* read rec lnt */
*bc = rbc = MTR_L (tbc); /* strip error flag */
if (rbc > max) /* rec out of range? */
return MTSE_INVRL;
i = sim_fread (buf, sizeof (uint8), rbc, uptr->fileref);/* read record */
i = (t_mtrlnt)sim_fread (buf, sizeof (uint8), rbc, uptr->fileref);/* read record */
if (ferror (uptr->fileref)) /* error? */
return sim_tape_ioerr (uptr);
for ( ; i < rbc; i++) /* fill with 0's */
@ -1422,6 +1426,7 @@ return r;
count = count of files to skip
skipped = pointer to number of files actually skipped
recsskipped = pointer to number of records skipped
check_leot = flag to detect and stop skip between two successive tape marks
Outputs:
status = operation status
@ -1435,14 +1440,23 @@ return r;
data record error updated
*/
t_stat sim_tape_spfilebyrecf (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped)
t_stat sim_tape_spfilebyrecf (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, t_bool check_leot)
{
struct tape_context *ctx = (struct tape_context *)uptr->tape_ctx;
t_stat st;
t_bool last_tapemark = FALSE;
uint32 filerecsskipped;
sim_debug (ctx->dbit, ctx->dptr, "sim_tape_spfilebyrecf(unit=%d, count=%d)\n", uptr-ctx->dptr->units, count);
sim_debug (ctx->dbit, ctx->dptr, "sim_tape_spfilebyrecf(unit=%d, count=%d, check_leot=%d)\n", uptr-ctx->dptr->units, count, check_leot);
if (check_leot) {
t_mtrlnt rbc;
st = sim_tape_rdlntr (uptr, &rbc);
last_tapemark = (MTSE_TMK == st);
if ((st == MTSE_OK) || (st == MTSE_TMK))
sim_tape_rdlntf (uptr, &rbc);
}
*skipped = 0;
*recsskipped = 0;
while (*skipped < count) { /* loopo */
@ -1452,20 +1466,28 @@ while (*skipped < count) { /* loopo */
if (st != MTSE_OK)
break;
}
if (st == MTSE_TMK)
if (st == MTSE_TMK) {
*skipped = *skipped + 1; /* # files skipped */
if (check_leot && (filerecsskipped == 0) && last_tapemark) {
uint32 filefileskipped;
sim_tape_spfilebyrecr (uptr, 1, &filefileskipped, &filerecsskipped);
*skipped = *skipped - 1; /* adjust # files skipped */
return MTSE_LEOT;
}
last_tapemark = TRUE;
}
else
return st;
}
return MTSE_OK;
}
t_stat sim_tape_spfilebyrecf_a (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, TAPE_PCALLBACK callback)
t_stat sim_tape_spfilebyrecf_a (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, t_bool check_leot, TAPE_PCALLBACK callback)
{
t_stat r = MTSE_OK;
AIO_CALLSETUP
r = sim_tape_spfilebyrecf (uptr, count, skipped, recsskipped);
AIO_CALL(TOP_SPFF, NULL, skipped, recsskipped, 0, count, 0, 0, NULL, callback);
r = sim_tape_spfilebyrecf (uptr, count, skipped, recsskipped, check_leot);
AIO_CALL(TOP_SFRF, NULL, skipped, recsskipped, check_leot, count, 0, 0, NULL, callback);
return r;
}
@ -1495,7 +1517,7 @@ uint32 totalrecsskipped;
sim_debug (ctx->dbit, ctx->dptr, "sim_tape_spfilef(unit=%d, count=%d)\n", uptr-ctx->dptr->units, count);
return sim_tape_spfilebyrecf (uptr, count, skipped, &totalrecsskipped);
return sim_tape_spfilebyrecf (uptr, count, skipped, &totalrecsskipped, FALSE);
}
t_stat sim_tape_spfilef_a (UNIT *uptr, uint32 count, uint32 *skipped, TAPE_PCALLBACK callback)
@ -1661,7 +1683,7 @@ else {
if (flags & MTPOS_M_REV) /* reverse? */
r = sim_tape_spfilebyrecr (uptr, files, filesskipped, &fileskiprecs);
else
r = sim_tape_spfilebyrecf (uptr, files, filesskipped, &fileskiprecs);
r = sim_tape_spfilebyrecf (uptr, files, filesskipped, &fileskiprecs, (flags & MTPOS_M_DLE));
if (r != MTSE_OK)
return r;
if (flags & MTPOS_M_REV) /* reverse? */
@ -1762,7 +1784,8 @@ uint32 sim_tape_tpc_map (UNIT *uptr, t_addr *map)
{
t_addr tpos;
t_tpclnt bc;
uint32 i, objc;
size_t i;
uint32 objc;
if ((uptr == NULL) || (uptr->fileref == NULL))
return 0;

View file

@ -23,6 +23,7 @@
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Robert M Supnik.
23-Jan-12 MP Added support for Logical EOT detection while positioning
05-Feb-11 MP Add Asynch I/O support
30-Aug-06 JDB Added erase gap support
14-Feb-06 RMS Added variable tape capacity
@ -99,6 +100,8 @@ typedef uint16 t_tpclnt; /* magtape rec lnt */
#define MTPOS_M_REV (1u << MTPOS_V_REV) /* Reverse Direction */
#define MTPOS_V_OBJ 1
#define MTPOS_M_OBJ (1u << MTPOS_V_OBJ) /* Objects vs Records/Files */
#define MTPOS_V_DLE 4
#define MTPOS_M_DLE (1u << MTPOS_V_DLE) /* Detect LEOT */
/* Return status codes */
@ -112,6 +115,7 @@ typedef uint16 t_tpclnt; /* magtape rec lnt */
#define MTSE_EOM 7 /* end of medium */
#define MTSE_RECE 8 /* error in record */
#define MTSE_WRP 9 /* write protected */
#define MTSE_LEOT 10 /* Logical End Of Tape */
typedef void (*TAPE_PCALLBACK)(UNIT *unit, t_stat status);
@ -140,8 +144,8 @@ t_stat sim_tape_sprecsf (UNIT *uptr, uint32 count, uint32 *skipped);
t_stat sim_tape_sprecsf_a (UNIT *uptr, uint32 count, uint32 *skipped, TAPE_PCALLBACK callback);
t_stat sim_tape_spfilef (UNIT *uptr, uint32 count, uint32 *skipped);
t_stat sim_tape_spfilef_a (UNIT *uptr, uint32 count, uint32 *skipped, TAPE_PCALLBACK callback);
t_stat sim_tape_spfilebyrecf (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped);
t_stat sim_tape_spfilebyrecf_a (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, TAPE_PCALLBACK callback);
t_stat sim_tape_spfilebyrecf (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, t_bool check_leot);
t_stat sim_tape_spfilebyrecf_a (UNIT *uptr, uint32 count, uint32 *skipped, uint32 *recsskipped, t_bool check_leot, TAPE_PCALLBACK callback);
t_stat sim_tape_sprecr (UNIT *uptr, t_mtrlnt *bc);
t_stat sim_tape_sprecr_a (UNIT *uptr, t_mtrlnt *bc, TAPE_PCALLBACK callback);
t_stat sim_tape_sprecsr (UNIT *uptr, uint32 count, uint32 *skipped);

View file

@ -31,21 +31,28 @@
#ifndef _SIM_TIMER_H_
#define _SIM_TIMER_H_ 0
/* Pick up a struct timespec definition if it is available */
#include <time.h>
#if defined(SIM_ASYNCH_IO) || defined(USE_READER_THREAD)
#include <pthread.h>
#endif
#if defined (__APPLE__)
#define HAVE_STRUCT_TIMESPEC 1 /* OSX defined the structure but doesn't tell us */
#endif
#ifndef CLOCK_REALTIME
#if !defined(CLOCK_REALTIME)
#define CLOCK_REALTIME 1
#define NEED_CLOCK_GETTIME 1
#ifndef HAVE_STRUCT_TIMESPEC
#if !defined(HAVE_STRUCT_TIMESPEC)
#define HAVE_STRUCT_TIMESPEC 1
#if !defined(_TIMESPEC_DEFINED)
#define _TIMESPEC_DEFINED
struct timespec {
long tv_sec;
long tv_nsec;
};
#endif /* _TIMESPEC_DEFINED */
#endif /* HAVE_STRUCT_TIMESPEC */
int clock_gettime(int clock_id, struct timespec *tp);
#endif

View file

@ -212,14 +212,14 @@ if (newsock != INVALID_SOCKET) { /* got a live one? */
lp->cnms = sim_os_msec (); /* time of conn */
if (!mp->buffered) {
lp->txbpi = 0; /* init buf pointers */
lp->txbpr = lp->txbsz - strlen (msgbuf);
lp->txbpr = (int32)(lp->txbsz - strlen (msgbuf));
lp->rxcnt = lp->txcnt = lp->txdrp = 0; /* init counters */
}
else
if (lp->txcnt > lp->txbsz)
lp->txbpr = (lp->txbpi + 1) % lp->txbsz;
else
lp->txbpr = lp->txbsz - strlen (msgbuf);
lp->txbpr = (int32)(lp->txbsz - strlen (msgbuf));
lp->tsta = 0; /* init telnet state */
lp->xmte = 1; /* enable transmit */
lp->dstb = 0; /* default bin mode */
@ -228,7 +228,7 @@ if (newsock != INVALID_SOCKET) { /* got a live one? */
tmxr_linemsg (lp, msgbuf); /* beginning of buffer */
lp->txbpi = psave; /* restore insertion pointer */
tmxr_poll_tx (mp); /* flush output */
lp->txcnt -= strlen (msgbuf); /* adjust statistics */
lp->txcnt -= (int32)strlen (msgbuf); /* adjust statistics */
return i;
}
} /* end if newsock */
@ -752,7 +752,7 @@ return SCPE_NOFNC;
void tmxr_msg (SOCKET sock, char *msg)
{
if (sock)
sim_write_sock (sock, msg, strlen (msg));
sim_write_sock (sock, msg, (int32)strlen (msg));
return;
}
@ -760,7 +760,7 @@ void tmxr_linemsg (TMLN *lp, char *msg)
{
int32 len;
for (len = strlen (msg); len > 0; --len)
for (len = (int32)strlen (msg); len > 0; --len)
tmxr_putc_ln (lp, *msg++);
return;
}