[Simh] 3.71 on Visual C++ 2005 project file..

Jason Stevens neozeed at gmail.com
Tue May 15 19:52:46 EDT 2007


If anyone is interested here is my project file for VC++ 2005.  I'm using
the express edition, however work may get us the real version soonish... I
don't think it would change anything for something like this though.

The only changes I've made, was to move the scp code into a library, and
link the emulators against that depending if they have networking or not.
I've also included the dev kit from winpcap 4.0 so that way this will
compile & link all targets out of the box.  Be sure to have your win32
platform SDK installed & configured if you are an Express user, and
expecting this to "just work".

You can get my project file from here:
http://www.vaxenrule.com/Shared%20Documents/simh-3.71-vc2005.zip


Don't forget that if you are going to run exe's on a computer without VC
2005 you'll need the runtime installed.

You can download the Microsoft Visual C++ 2005 SP1 Redistributable Package
here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en


You are not supposed to redistribute debug versions.... but if you must you
can install a copy of VC++ Express....

Oh and a few caveats!

The Altair z80 has the two following gotchas:

---------- ALTAIRZ80_HDSK.C
uint8 hdskbuf[HDSK_MAX_SECTOR_SIZE] = {};    /* data buffer  */

---------- ALTAIRZ80_SIO.C
char messageBuffer[256] = {};

Visual C won't let this fly, so I changed them to the following:

---------- ALTAIRZ80_HDSK.C
uint8 hdskbuf[HDSK_MAX_SECTOR_SIZE];// = {};    /* data buffer  */

---------- ALTAIRZ80_SIO.C
char messageBuffer[256];// = {};

The linker will freak out on the VAX780 & PDP11 release  builds.  It's
blowing its stack on the link phase post optimization.  Be sure to disable
"Whole Program Optimization" or you'll get the following error:

2>Generating code
2>c:\users\jsteve\documents\visual studio 2005\projects\simh-
3.71\vax\vax_cmode.c(96) : fatal error C1001: An internal error has occurred
in the compiler.
2>(compiler file
'F:\SP\vctools\compiler\utc\src\P2\main.c[0x10BE1D42:0x00000020]', line 182)
2> To work around this problem, try simplifying or changing the program near
the locations listed above.
2>Please choose the Technical Support command on the Visual C++
2> Help menu, or open the Technical Support help file for more information
2>LINK : fatal error LNK1000: Internal error during IMAGE::BuildImage

Which is quite annoying to track down to say the least.  Apparently simh is
too complicated for LINK to figure out... I don't quite understand it, but
then I didn't want to spend all day on it either.

I don't know if the VC++ 2005 exe's are faster than the mingw ones.. Perhaps
we should bench them?  Then again the PITA of having to install yet another
runtime is.. well a PITA.

Not to ramble on endlessly but I haven't had much luck binding simh & slirp
together, but with file based networking, Ive managed to get Qemu & SIMH
talking.  This way I can have an OpenBSD Qemu image with user mode
networking, connect to a BSD enabled vax, and nat it out.  No device
drivers!  I'm going to take a crack at openvpn.. If anything integrating
openvpn on simh & qemu may prove somewhat usefull......

Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20070515/536207b8/attachment-0003.html>


More information about the Simh mailing list