<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Visual Studio 2003 &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/visual-studio-2003/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Sun, 19 Oct 2025 20:48:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>rebuilding DOSBox again</title>
		<link>https://virtuallyfun.com/2025/10/19/rebuilding-dosbox-again/</link>
					<comments>https://virtuallyfun.com/2025/10/19/rebuilding-dosbox-again/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 19 Oct 2025 20:48:30 +0000</pubDate>
				<category><![CDATA[DOSBox]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=15485</guid>

					<description><![CDATA[I know it&#8217;s silly why build DOSBox from Sourceforge with Visual C++ 2003. Well there is some building-plant thing that uses an old wheezy MS-DOS app that doesn&#8217;t play very nice with it&#8217;s &#8220;awesome&#8221; EGA/VGA graphics, and I&#8217;m too old &#8230; <a href="https://virtuallyfun.com/2025/10/19/rebuilding-dosbox-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I know it&#8217;s silly why build DOSBox from Sourceforge with Visual C++ 2003.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="768" height="1024" src="https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-768x1024.jpg" alt="" class="wp-image-15486" srcset="https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-768x1024.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-225x300.jpg 225w, https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-1152x1536.jpg 1152w, https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-1536x2048.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2025/10/IMG_20251019_134534-scaled.jpg 1920w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">The real deal!</figcaption></figure>



<p class="wp-block-paragraph">Well there is some building-plant thing that uses an old wheezy MS-DOS app that doesn&#8217;t play very nice with it&#8217;s &#8220;awesome&#8221; EGA/VGA graphics, and I&#8217;m too old to care about debugging it, but DOSbox runs it just fine, and it can communicate out the serial ports just fine with it.  KISS as they say.</p>



<p class="wp-block-paragraph">Project is over on github:</p>



<p class="wp-block-paragraph"><a href="https://github.com/neozeed/dosbox-svn">https://github.com/neozeed/dosbox-svn</a></p>



<p class="wp-block-paragraph">Along with a <a href="https://github.com/neozeed/dosbox-svn/releases" target="_blank" rel="noreferrer noopener">binary release</a>, as not having one generally makes me angry.</p>



<p class="wp-block-paragraph">Sorry updates have been so crappy lately, I&#8217;ve been eaten alive at work.  Although now being able to control the boilers and heating from my desk is a nice thing, so at least at work I won&#8217;t freeze to death.</p>



<p class="wp-block-paragraph">Oh I should say I did try Citrix, but it crashed out NTVDM.  Qemu didn&#8217;t render right, and well like I said I tried DOSBox and it worked fine.  </p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2025/10/19/rebuilding-dosbox-again/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Targeting OS/2 with Visual Studio 2003</title>
		<link>https://virtuallyfun.com/2024/02/11/targeting-os-2-with-visual-studio-2003/</link>
					<comments>https://virtuallyfun.com/2024/02/11/targeting-os-2-with-visual-studio-2003/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 11 Feb 2024 09:08:22 +0000</pubDate>
				<category><![CDATA[assembly]]></category>
		<category><![CDATA[OS/2 2.0]]></category>
		<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Visual C++ toolkit 2003]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<category><![CDATA[Watcom C++]]></category>
		<category><![CDATA[Win32]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=13926</guid>

					<description><![CDATA[No, it&#8217;s not a typo. This is a long-winded post, but the short version is that I found a working combination to get the C compiler from Visual Studio 2003 targeting OS/2. Once I&#8217;d learned how C compilers are a &#8230; <a href="https://virtuallyfun.com/2024/02/11/targeting-os-2-with-visual-studio-2003/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2.jpg"><img decoding="async" width="1024" height="1024" src="/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2.jpg" alt="" class="wp-image-13931" srcset="https://virtuallyfun.com/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2-300x300.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2-150x150.jpg 150w, https://virtuallyfun.com/wp-content/uploads/2024/02/syneys-idea-of-visual-c-for-os2-768x768.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Sydney&#8217;s idea of what Visual C++ for OS/2 should look like</figcaption></figure>



<p class="wp-block-paragraph">No, it&#8217;s not a typo.</p>



<p class="wp-block-paragraph">This is a long-winded post, but the short version is that I found a working combination to get the C compiler from Visual Studio 2003 targeting OS/2.</p>



<p class="wp-block-paragraph">Once I&#8217;d learned how C compilers are a collection of programs working in concert, I&#8217;d always wanted to force Microsoft C to work in that fashion, however it is born to be a compiler that integrates everything but linking. There has been a &#8220;/Fa&#8221; or output assembly option, but I&#8217;ve never gotten it to do anything useful.  I&#8217;m not that much into assembly but it seemed insurmountable.</p>



<p class="wp-block-paragraph">But for some reason this time things were different.</p>



<p class="wp-block-paragraph">This time I used:</p>



<p class="wp-block-paragraph"><strong>Microsoft (R) Macro Assembler Version 6.11</strong></p>



<p class="wp-block-paragraph">After the great divorce and the rise of Windows NT, Microsoft had shifted from the OMF format to COFF.  However somewhere buried in their old tools it still supports it, namely MASM.  For example, if I try to run LINK386 (the OS/2 Linker) against output from Visual C++ 2003 I get his</p>



<pre class="wp-block-code"><code>abandon.obj :  fatal error L1101: invalid object module
 Object file offset: 1  Record type: 4c</code></pre>



<p class="wp-block-paragraph">However if I output to assembly and then have MASM assemble that, and try the linker, I&#8217;m bombarded with errors like this:</p>



<pre class="wp-block-code"><code>warp.obj(warp.asm) :  error L2025: __real@4059000000000000 : symbol defined more than once
warp.obj(warp.asm) :  error L2029: '__ftol2' : unresolved external</code></pre>



<p class="wp-block-paragraph">If I was smart I&#8217;d have given up, there is pages and pages of this stuff.  But I&#8217;m not smart, so instead I decided to something different, and use SED, the stream editor, and try to patch out the errors.</p>



<p class="wp-block-paragraph">The ftol2 call is for newer CPU&#8217;s and any OS/2 library won&#8217;t have it.  But instead of binary editing symbols we can replace the ftol2 with ftol with this simple line:</p>



<pre class="wp-block-code"><code> sed -e 's/_ftol2/_ftol/g'</code></pre>



<p class="wp-block-paragraph">For some reason Visual C++ likes to make all it&#8217;s reals &#8220;public&#8221; meaning there can only be one, but yet there is so many.  Why not comment them all out?</p>



<pre class="wp-block-code"><code>sed -e 's/PUBLIC\t__real@/;PUBLIC\t__real@/g'</code></pre>



<p class="wp-block-paragraph">And there are various other annoying things, but again they can be all patched out.  Just as the older Windows 1991 Pre-release compilers also have weird syntax that MASM doesn&#8217;t understand.</p>



<pre class="wp-block-code"><code>astro.asm(59): error A2138: invalid data initializer</code></pre>



<p class="wp-block-paragraph">which goes into how Microsoft C used to initialize floating point constants:</p>



<pre class="wp-block-code"><code>CONST   SEGMENT  DWORD USE32 PUBLIC 'CONST'
$T20000         DQ      0a0ce51293ee845c8r    ; 1.157407407407407E-05
$T20001         DQ      0bffffd3441429ec5r    ; 2440587.499999667
CONST      ENDS</code></pre>



<p class="wp-block-paragraph">while I found that the C compiler in Xenix 386 initialises them like this:</p>



<pre class="wp-block-code"><code>$T20000         DQ      0a0ce51293ee845c8h    ; 1.157407407407407E-05
$T20001         DQ      0bffffd3441429ec5h    ; 2440587.499999667</code></pre>



<p class="wp-block-paragraph">This one was a little hard for me as I&#8217;m not a sed expert, but I did figure out how to mark the section, and then to replace it</p>



<pre class="wp-block-code"><code>sed -e "s/DQ\t&#91;0-9a-f]<em>r/&amp;XMMMMMMX/g" $</em>.a1 |  sed -e "s/rXMMMMMMX/H/g"</code></pre>



<p class="wp-block-paragraph">And so on.  At the moment my &#8216;mangle&#8217; script is now this:</p>



<pre class="wp-block-code"><code>.c.obj:
        $(CC) $(INC) $(OPT) $(DEBUG) /c /Fa$*.a $*.c
        wsl sed -e 's/FLAT://g' $*.a &gt; $*.a1
        wsl sed -e "s/DQ\t&#91;0-9a-f]*r/&amp;XMMMMMMX/g" $*.a1 \
        | wsl sed -e "s/rXMMMMMMX/H/g" \
        | wsl sed -e 's/call \t\&#91;/call DWORD PTR\&#91;/g' \
        | wsl sed -e 's/PUBLIC\t__real@/;PUBLIC\t__real@/g' \
        | wsl sed -e 's/_ftol2/_ftol/g' &gt; $*.asm
        ml /c $*.asm
        del $*.a $*.a1 $*.asm</code></pre>



<p class="wp-block-paragraph">This allows me to plug it into a Makefile, so I only have to edit it in one place.</p>



<p class="wp-block-paragraph">Not surprisingly, this allows the LINK from Visual C++ 1.0 to link the MASM generated object files and get a native Win32 executable.  Even from the oldest compiler I have from the Microsoft OS/2 2.00 Beta 2 SDK from 1989!</p>



<p class="wp-block-paragraph">But now that we have the C compilers being able to output to something we can edit and force into a Win32, there is a few more things and suddenly:</p>



<pre class="wp-block-code"><code>        C:\cl386-research\bin\13.10.6030\cl386 /u /w /G3 /O  /c /Faphoon.a phoon.c
C:\cl386-research\bin\13.10.6030\CL386.EXE: warning: invoking C:\cl386-research\bin\13.10.6030\CL.EXE
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.6030 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

phoon.c
        wsl sed -e 's/FLAT://g' phoon.a &gt; phoon.a1
        wsl sed -e "s/DQ\t&#91;0-9a-f]*r/&amp;XMMMMMMX/g" phoon.a1  | wsl sed -e "s/rXMMMMMMX/H/g"  | wsl sed -e 's/call \t\&#91;/call DWORD PTR\&#91;/g'  | wsl sed -e 's/PUBLIC\t__real@/;PUBLIC\t__real@/g'  | wsl sed -e 's/_ftol2/_ftol/g' &gt; phoon.asm
        ml /c phoon.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993.  All rights reserved.

 Assembling: phoon.asm
        del phoon.a phoon.a1 phoon.asm
        msdos286 run286 C:\cl386-research\bin\ddk12\LINK386.EXE @phoon.lnk

Operating System/2 Linear Executable Linker
Version 2.01.012 Nov 02 1993
Copyright (C) IBM Corporation 1988-1993.
Copyright (C) Microsoft Corp. 1988-1993.
 All rights reserved.

Object Modules &#91;.obj]: astro.obj date_p.obj phoon.obj
Run File &#91;astro.exe]: phoon2 /NOE /NOI /NOD:OLDNAMES
List File &#91;nul.map]: nul.map
Libraries &#91;.lib]: ..\..\lib2\libc.lib +
Libraries &#91;.lib]: ..\..\lib2\os2386.lib
Definitions File &#91;nul.def]: nul.def;
LINK386 :  warning L4071: application type not specified; assuming WINDOWCOMPAT</code></pre>



<p class="wp-block-paragraph">I know it&#8217;s a bit of a word salad, but the key thing here is that using Visual C++ 2003&#8217;s compiler (version 13.10.6030), and outputting to assembly that we can edit, we can then use MASM to build objects that surprisingly LINK386 version 2.01.012 will link with.  I suspect this has to do with device drivers, and probably the majority of the OS/2 operating system.</p>



<p class="wp-block-paragraph">Anways, we&#8217;ve done the incredible, using the same object files, we made both a Win32 application, and an OS/2 application!</p>



<pre class="wp-block-code"><code>phoon-13.10.6030.exe: PE32 executable (console) Intel 80386, for MS Windows<br>phoon2.exe: MS-DOS executable, LX for OS/2 (console) i80386</code></pre>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003.png"><img decoding="async" width="802" height="633" src="/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003.png" alt="" class="wp-image-13927" srcset="https://virtuallyfun.com/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003.png 802w, https://virtuallyfun.com/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003-768x606.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/02/phoon-on-os2-compiled-by-visual-cplus-plus-2003-380x300.png 380w" sizes="(max-width: 802px) 100vw, 802px" /></a><figcaption class="wp-element-caption">Phoon compiled by Visual C++ 2003 on OS/2 2.00</figcaption></figure>



<p class="wp-block-paragraph">Incidentally Happy CNY!</p>



<p class="wp-block-paragraph">Obviously, this is <em>VERY</em> cool stuff.</p>



<p class="wp-block-paragraph">I know the next question is do we have to rely on a 16bit linker?  How about Watcom?</p>



<pre class="wp-block-code"><code>C:\cl386-research\proj\trek&gt;wlink @trek.wlk
WATCOM Linker Version 10.0
Copyright by WATCOM International Corp. 1985, 1994. All rights reserved.
WATCOM is a trademark of WATCOM International Corp.
loading object files
searching libraries
Warning(1008): cannot open LIBC.lib : No such file or directory
Warning(1008): cannot open OLDNAMES.lib : No such file or directory
creating an OS/2 32-bit executable
</code></pre>



<p class="wp-block-paragraph">Ignore the warnings and <strong><em>YES</em></strong> <em>we can</em> Link from something much newer &amp; 32bit!  In this example I linked the old TREK game, also built with Visual C++ 2003.  The response file looks lke:</p>



<pre class="wp-block-code"><code>SYS os2v2
NAME trek2w
FILE abandon.obj,attack.obj,autover.obj,capture.obj,cgetc.obj,checkcond.obj
FILE check_out.obj,compkl.obj,computer.obj,damage.obj,damaged.obj,dcrept.obj
FILE destruct.obj,dock.obj,dumpgame.obj,dumpme.obj,dumpssradio.obj,events.obj
FILE externs.obj,getcodi.obj,getpar.obj,help.obj,impulse.obj,initquad.obj
FILE kill.obj,klmove.obj,lose.obj,lrscan.obj,main.OBJ,move.obj
FILE nova.obj,nullsleep.obj,out.obj,phaser.obj,play.obj,ram.obj
FILE ranf.obj,rest.obj,schedule.obj,score.obj,setup.obj,setwarp.obj
FILE shield.obj,snova.obj,srscan.obj,systemname.obj,torped.obj,utility.obj
FILE visual.obj,warp.obj,win.obj
LIBR ..\..\lib2\LIBC.LIB
LIBR ..\..\lib2\OS2386.LIB</code></pre>



<p class="wp-block-paragraph">It&#8217;s probably needing additional stack space, maybe some other stuff, or resources, maybe how to flag it&#8217;s windowing compatible.</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/02/watcom-linked-trek.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="770" height="412" src="/wp-content/uploads/2024/02/watcom-linked-trek.png" alt="" class="wp-image-13928" srcset="https://virtuallyfun.com/wp-content/uploads/2024/02/watcom-linked-trek.png 770w, https://virtuallyfun.com/wp-content/uploads/2024/02/watcom-linked-trek-300x161.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/02/watcom-linked-trek-768x411.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/02/watcom-linked-trek-500x268.png 500w" sizes="auto, (max-width: 770px) 100vw, 770px" /></a><figcaption class="wp-element-caption">TREK built by Visual C++ 2003, and Linked using Watcom C/C++ 10.0</figcaption></figure>



<p class="wp-block-paragraph">How do I get started, if I dare?!  First download and unpack <a href="https://archive.org/details/cl386-research-v2">cl386-research-v2</a>.  Ideally on the root of your C: drive, because why not?</p>



<p class="wp-block-paragraph">run the &#8216;env&#8217; command to set your environment up. Its pretty complicated but in the proj directly there is currently:</p>



<p class="wp-block-paragraph"><strong>*NOTE</strong> that I do use <strong>SED</strong> scripts, I have it set to use Linux in the WSL package.<br>I tried some Win32 sed but it didn&#8217;t work. So you need <strong>WSL</strong> or a working sed!</p>



<ul class="wp-block-list">
<li>bench</li>



<li>doom</li>



<li>info</li>



<li>phoon</li>



<li>trek</li>



<li>(<a href="https://github.com/neozeed/cl386-research" target="_blank" rel="noreferrer noopener">more stuff being added or updated on github</a>)</li>
</ul>



<p class="wp-block-paragraph">you can then go into each directory and run</p>



<pre class="wp-block-code"><code>make os2</code></pre>



<p class="wp-block-paragraph">and it&#8217;ll compile populate a floppy and launch the emulator</p>



<p class="wp-block-paragraph">Its all good fun.</p>



<p class="wp-block-paragraph">Read the Makefiles to configure a compiler, how to run it, and if you need to mangle the assembly. The 32bit new stuff needs to be mangled, the older stuff almost always works with just compile.</p>



<pre class="wp-block-code"><code># Version 6.00.054      1989
# https://archive.org/details/os-2-cd-rom_202401
PLATFORM = ddksrc</code></pre>



<p class="wp-block-paragraph">In this case it&#8217;ll select the platform from the &#8216;ddksdk&#8217; release. The next is if the compiler is OS/2 based or native win32. Basically 73g / windows 95 &amp; below are native Win32.</p>



<p class="wp-block-paragraph">In the above example we comment out the dos extended cross</p>



<pre class="wp-block-code"><code># dos exteded cross
CC =  $(EMU) $(DOSX) $(CL386ROOT)\$(PLATFORM)\cl386
# native CC
# CC =  $(CL386ROOT)\$(PLATFORM)\cl386</code></pre>



<p class="wp-block-paragraph">Next is the mangle strategy. In this case it&#8217;s an ancient OS/2 (like) compile so<br>try un commenting the &#8216;just compile&#8217; line</p>



<pre class="wp-block-code"><code># must include ONLY ONE strategey..
# for OS/2 it must have been assembled my MASM 6.11

include ..\-justcompile.mak
#include ..\-mangleassembly.mak
#include ..\-plainassembly.mak</code></pre>



<p class="wp-block-paragraph">save the makefile, and run</p>



<pre class="wp-block-code"><code>nmake os2</code></pre>



<p class="wp-block-paragraph">You can just close the emulator as after each run it&#8217;ll unpack a hard disk image, so nothing will be lost. or saved. It&#8217;s just for testing.  You may need to periodically clean the floppy drive, as that is the only way to transfer stuff in and out of the VM.</p>



<p class="wp-block-paragraph">What versions of CL386 have I found?  Well, it&#8217;s quite a few, although I know I&#8217;m missing quite a few.  </p>



<pre class="wp-block-code"><code>== c386 ============================
Microsoft C 5 386 Compiler

Microsoft C 5.2 286/386 Compiler -- Driver

@(#)C Compiler Apr 19 1990 11:48:30

Copyright (c) Microsoft Corp
1984-1989. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 1.00.075
Quick C Compiler Version 2.00.000
1.00.075

== ddk12 ============================

C 6.00 (Alpha) Aug 24 1990 19:12:31

Copyright (c) Microsoft Corp
1984-1989. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.054
Quick C Compiler Version 2.00.000
6.00.054

== ddk20 ============================

C 6.00 (Alpha) Aug 16 1990 23:04:06

Copyright (c) Microsoft Corp
1984-1989. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.054
Quick C Compiler Version 2.00.000
6.00.054

== ddksrc ============================

C 6.00 (Alpha) Aug 24 1990 19:21:49

Copyright (c) Microsoft Corp
1984-1989. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.054
Quick C Compiler Version 2.00.000
6.00.054

== nt-sep ============================

@(#)C Compiler 6.00 Feb 06 1991 17:15:19
@(#)C Compiler 6.00 May 13 1991 23:54:12
@(#)C Compiler 6.00 Jun 03 1991 15:16:22


Copyright (c) Microsoft Corp
1984-1991. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.077
Quick C Compiler Version 2.00.000
6.00.077

== nt-oct ============================

@(#)C Compiler 6.00 Jun 03 1991 15:16:22
@(#)C Compiler 6.00 Jun 13 1991 22:07:23
@(#)C Compiler 6.00 Oct 10 1991 00:42:24

Copyright (c) Microsoft Corp
1984-1991. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.080
Quick C Compiler Version 2.00.000
6.00.080

== nt-dec ============================
@(#)C Compiler 6.00 Jun 03 1991 15:16:22
@(#)C Compiler 6.00 Jun 13 1991 22:07:23
@(#)C Compiler 6.00 Oct 10 1991 00:42:24

Copyright (c) Microsoft Corp
1984-1991. All rights reserved.
  (press &lt;return&gt; to continue)
Microsoft 386 C Compiler. Version 6.00.081
Quick C Compiler Version 2.00.000
6.00.081

== 73g  ============================
1984-1993. All rights reserved.
Copyright (c) Microsoft Corp
8.00.3200
32-bit C/C++ Optimizing Compiler Version
Microsoft (R)


== msvc32s ============================

Microsoft 8.00.0000 - Copyright (C) 1986-1993 Microsoft Corp.
Microsoft 8.00.0000 - Copyright (C) 1986-1993 Microsoft Corp.
@(#) Microsoft C/C++ 32 bits x86 Compiler Version 8.00.XXXX

8.00.000

== 13.10.6030 ============================

Microsoft (R) C/C++ Compiler Version 13.10.6030
From my install of Visual Studio 2003 Enterprise</code></pre>



<p class="wp-block-paragraph">As you can see many of these earlier OS/2 compilers report the same versions but are in fact different builds on the inside.  I suspect Microsoft had to support one version, and an Alpha version of version 6 is as good as it got.  I would have imagined there were internal 32bit versions of 6 or 7, but I haven&#8217;t seen them.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="960" height="609" src="/wp-content/uploads/2024/02/trek_3.gif" alt="" class="wp-image-13936"/><figcaption class="wp-element-caption">Compiling and running TREK</figcaption></figure>



<p class="wp-block-paragraph">Hopefully this gives some idea of how I tried to made a probably too modular build system to try all kinds of different compilers.  I might have to see if it&#8217;s possible to run the tools from the 1992 versions of Windows NT in this setup, perhaps they are interesting as well.</p>



<p class="wp-block-paragraph">One thing in my <a href="https://virtuallyfun.com/2024/02/10/porting-gcc-to-32bit-os-2/" target="_blank" rel="noreferrer noopener">porting GCC to OS/2 experience</a> is that the usability of the C compilers from 1991 were dramatically better than what Microsoft had given IBM at the time of the divorce.  No doubt the upcoming NTOS/2 project was placing a bigger demand on the tools team.</p>



<p class="wp-block-paragraph">If anyone has any access to other &#8216;cl386&#8217; compilers, or early OS/2 2.00 stuff, please let me know!  I&#8217;d love to do build/tests and see if my idea of distributing objects &#8216;just works&#8217;!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/02/11/targeting-os-2-with-visual-studio-2003/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>VC6 Ultimate updates</title>
		<link>https://virtuallyfun.com/2019/03/08/vc6-ultimate-updates/</link>
					<comments>https://virtuallyfun.com/2019/03/08/vc6-ultimate-updates/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 08 Mar 2019 10:49:54 +0000</pubDate>
				<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<category><![CDATA[Visual Studio 2005]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Win64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=9259</guid>

					<description><![CDATA[I&#8217;ve been trading emails with various people from the project after I had made my post, and helping them integrate more of Visual Studio 2003 into the project and working through a few issues to bring far better compatibility to &#8230; <a href="https://virtuallyfun.com/2019/03/08/vc6-ultimate-updates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I&#8217;ve been trading emails with various people from the project after I had made my post, and helping them integrate more of Visual Studio 2003 into the project and working through a few issues to bring far better compatibility to VS 2003.</p>



<p class="wp-block-paragraph">And the best part is being able to build projects in parallel!</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="1024" height="661" src="https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds-1024x661.png" alt="" class="wp-image-9261" srcset="https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds-1024x661.png 1024w, https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds-300x194.png 300w, https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds-768x496.png 768w, https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds-1200x775.png 1200w, https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-10-seconds.png 1306w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>10.2 seconds in parallel!</figcaption></figure></div>



<p class="wp-block-paragraph">I haven&#8217;t ordered new processors, so the 2.1Ghz parts are&#8230; lacking.  However being able to use all available cores makes building DOSBox pretty fast.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="467" height="138" src="https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-single-thread.png" alt="" class="wp-image-9262" srcset="https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-single-thread.png 467w, https://virtuallyfun.com/wp-content/uploads/2019/03/dosbox-parallel-build-single-thread-300x89.png 300w" sizes="auto, (max-width: 467px) 100vw, 467px" /></figure></div>



<p class="wp-block-paragraph">Restricting the build to a single process takes 1:13 while the full parallel build on this machine takes a mere 10 seconds!</p>



<p class="wp-block-paragraph"><a href="https://gitlab.com/VC6Ultimate/VC6Ultimate">So absolutely check out VC6Ultimate</a>!</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="827" height="1024" src="https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front-827x1024.jpg" alt="" class="wp-image-9263" srcset="https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front-827x1024.jpg 827w, https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front-242x300.jpg 242w, https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front-768x951.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front-1200x1486.jpg 1200w, https://virtuallyfun.com/wp-content/uploads/2019/03/Visual-Studio-.NET-Enterprise-Architect-Front.jpg 1563w" sizes="auto, (max-width: 827px) 100vw, 827px" /><figcaption>Visual Studio .net Enterprise Architect<br></figcaption></figure>



<p class="wp-block-paragraph">I uh, <a href="https://archive.org/details/VisualStudioNETEnterpriseArchitect">also saw this on archive.org</a>, which may help people looking for this stuff from the future as old tools get harder and harder to find.  Especially bigger editions like the Enterprise Architect version.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2019/03/08/vc6-ultimate-updates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VC6 Ultimate</title>
		<link>https://virtuallyfun.com/2019/02/26/vc6-ultimate/</link>
					<comments>https://virtuallyfun.com/2019/02/26/vc6-ultimate/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 26 Feb 2019 02:04:16 +0000</pubDate>
				<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<category><![CDATA[Visual Studio 2005]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[Win64]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=9244</guid>

					<description><![CDATA[I saw this the other day, VC6 Ultimate. It&#8217;s an interesting &#8216;update&#8217; on the old Visual C++ 6.0 product with an improved UI, along with updated compiler toolchain taken from later versions of Visual C++. Naturally something like this is &#8230; <a href="https://virtuallyfun.com/2019/02/26/vc6-ultimate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img loading="lazy" decoding="async" width="930" height="585" src="https://virtuallyfun.com/wp-content/uploads/2019/02/VC6-Ultimate.png" alt="" class="wp-image-9247" srcset="https://virtuallyfun.com/wp-content/uploads/2019/02/VC6-Ultimate.png 930w, https://virtuallyfun.com/wp-content/uploads/2019/02/VC6-Ultimate-300x189.png 300w, https://virtuallyfun.com/wp-content/uploads/2019/02/VC6-Ultimate-768x483.png 768w" sizes="auto, (max-width: 930px) 100vw, 930px" /><figcaption><br></figcaption></figure>



<p class="wp-block-paragraph">I saw this the other day, <a href="http://vc6.ultim.pw/">VC6 Ultimate</a>. It&#8217;s an interesting &#8216;update&#8217; on the old Visual C++ 6.0 product with an improved UI, along with updated compiler toolchain taken from later versions of Visual C++.  Naturally something like this is 1000000% unofficial.</p>



<p class="wp-block-paragraph">Features include:</p>



<ul class="wp-block-list"><li>Portable and compatible with Win7 / Win10<br>
bye bye regedit, hello .hjson setting file !<br>
also meaning it should not mess with your current install</li><li>More compatible compiler<br>
multicore version of VC7.1 compiler (It&#8217;s fast)<br>
you can compile with other compilers (64bit), but not debug yet</li><li>Real-time highlighting and diagnostics<br>
based on libclang 6.0 and compatible with VisualAssistX</li><li>Real multicursor editing<br>
search, sort, number, evaluate, etc. while in multicursor mode</li><li>Improved UX and UI<br>
32bit icons, dark skin, lot of visual hints<br>
multi-monitor friendly<br>
revamped dialogs (project settings, threads, breakpoints, â€¦)<br>
searchable command palette</li><li>It&#8217;s free (as in free beer)<br>
ever had to pay for a birthday present ? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li><li>Every change has a toggle<br>
only take what you like, but we can not check each combination</li><li>It&#8217;s an internal spare time project<br>
don&#8217;t expect everything to work in every setup, but feel free to reach out</li></ul>



<p class="wp-block-paragraph">Included in the bundle is the following compilers:</p>



<ul class="wp-block-list"><li>clang version 3.8.0 (branches/release_38)<br>
Target: i686-pc-windows-msvc</li><li>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.6030 for 80&#215;86<br>
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.</li><li>Microsoft (R) C/C++ Optimizing Compiler Version 14.00.40310.41 for AMD64<br>
Copyright (C) Microsoft Corporation.  All rights reserved.</li></ul>



<p class="wp-block-paragraph">It&#8217;s an interesting project, although I tried to re-build some Visual C++ 2003 projects and it bombed out.  Maybe it&#8217;s just more geared towards VC 6 as indicated.</p>



<p class="wp-block-paragraph">You can download it here</p>



<p class="wp-block-paragraph"><a href="https://gitlab.com/VC6Ultimate/VC6Ultimate">https://gitlab.com/VC6Ultimate/VC6Ultimate</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2019/02/26/vc6-ultimate/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Visual Studio 2003 on Windows 10 &#038; Errors with Desktop Compositing/Themes</title>
		<link>https://virtuallyfun.com/2018/12/13/visual-studio-2003-on-windows-10-errors-with-desktop-compositing-themes/</link>
					<comments>https://virtuallyfun.com/2018/12/13/visual-studio-2003-on-windows-10-errors-with-desktop-compositing-themes/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 13 Dec 2018 11:36:57 +0000</pubDate>
				<category><![CDATA[DOSBox]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<category><![CDATA[Windows 10]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/wordpress/?p=9113</guid>

					<description><![CDATA[While building the latest DOSBox SVN using Visual Studio 2003 I found something kind of annoying under Windows 10.&#160; The first thing is that if I search through the source code base, the application locks up, hard.&#160; &#160;It turns out &#8230; <a href="https://virtuallyfun.com/2018/12/13/visual-studio-2003-on-windows-10-errors-with-desktop-compositing-themes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><a href="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox-1024x680.png"><img loading="lazy" decoding="async" width="1024" height="680" src="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox-1024x680.png" alt="" class="wp-image-9118" srcset="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox-1024x680.png 1024w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox-300x199.png 300w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox-768x510.png 768w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-DOSBox.png 1136w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">While building the latest DOSBox SVN using Visual Studio 2003 I found something kind of annoying under Windows 10.&nbsp; The first thing is that if I search through the source code base, the application locks up, hard.&nbsp; &nbsp;It turns out that this has been an ongoing issue with Windows 8 (maybe Vista/7?) with Aero rendering of all things.&nbsp; The fix is to disable&nbsp;Desktop Compositing &amp; Desktop Themes, but the application comparability tab is hidden on many applications for Windows 10.</p>



<figure class="wp-block-image"><a href="https://virtuallyfun.com/wp-content/uploads/2018/12/Broken-VisualStudio-2003.jpg"><img loading="lazy" decoding="async" width="549" height="233" src="https://virtuallyfun.com/wp-content/uploads/2018/12/Broken-VisualStudio-2003.jpg" alt="" class="wp-image-9115" srcset="https://virtuallyfun.com/wp-content/uploads/2018/12/Broken-VisualStudio-2003.jpg 549w, https://virtuallyfun.com/wp-content/uploads/2018/12/Broken-VisualStudio-2003-300x127.jpg 300w" sizes="auto, (max-width: 549px) 100vw, 549px" /></a><figcaption>Broken Visual Studio</figcaption></figure>



<p class="wp-block-paragraph">See how the application preview doesn&#8217;t render anything at all?&nbsp; This is the hint that it&#8217;s broken.&nbsp; I think it may be worth sharing this &#8216;fix&#8217; as I&#8217;m sure that other applications that behave strangely have the same issue.</p>



<p class="wp-block-paragraph">I found the solution to this over on stackoverflow in this discusstion:[<a href="https://stackoverflow.com/questions/2422581/visual-studio-net-2003-on-windows-7-hangs-on-search">https://stackoverflow.com/questions/2422581/visual-studio-net-2003-on-windows-7-hangs-on-search</a>].&nbsp; The fix is a registry entry in the &#8220;HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers&#8221; key.</p>



<p class="wp-block-paragraph">The required settings to devenv.exe is:</p>



<p class="wp-block-paragraph">&#8220;^ RUNASADMIN DISABLEDWM DISABLETHEMES&#8221;</p>



<p class="wp-block-paragraph">Which, will run Visual Studio as Administrator allowing you to debug, and disable all the Aero assists for the application allowing things like search to work again.</p>



<figure class="wp-block-image"><a href="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-1024x182.png"><img loading="lazy" decoding="async" width="1024" height="182" src="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-1024x182.png" alt="" class="wp-image-9120" srcset="https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-1024x182.png 1024w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-300x53.png 300w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-768x137.png 768w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results-1200x213.png 1200w, https://virtuallyfun.com/wp-content/uploads/2018/12/Visual-C-2003-Search-Results.png 1276w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">I had gone further and enabled the Windows XP SP3 compatibility settings, however on doing a clean build I was presented with this error:</p>



<pre class="wp-block-code">fatal error C1033: cannot open program database ''</pre>



<p class="wp-block-paragraph">Which I never could find any good source on what caused it, other than by guessing to remove the Windows XP flag, and now I&#8217;m able to build.</p>



<p class="wp-block-paragraph">While debugging and re-building the debug database is held open on Windows 7 (maybe Vista?) and beyond on x64 based OS&#8217;s.  You&#8217;ll get the annoying LNK1201 error.</p>



<p class="wp-block-paragraph">There is a fix on <a href="http://bytepointer.com/articles/vs7.1_2003_handle_leak_bug_patch2_details.htm">bytepointer.com</a> (local backup <a href="https://vpsland.superglobalmegacorp.com/install/Visual%20C++%202003/vs7.1_on_win7_pdb_handle_leak_unofficial_fix_win10.zip">vs7.1_on_win7_pdb_handle_leak_unofficial_fix_win10.zip</a>) that involves patching/replacing natdbgde.dll .  All I can say is that it seems to be working for me.</p>



<p class="wp-block-paragraph">In order to do a full build of DOSBox I had to re-build SDL, SDL-net, zLib, libPNG, and set them to a common C runtime linker setting to get a build where the final link didn&#8217;t complain.&nbsp; However when it came to existing project files I did have to find some older Visual C++ 6.0 stuff for many of the components, but using those I was able to &#8216;upgrade&#8217; them to the 2003 environment and produce a working set.</p>



<p class="wp-block-paragraph">I&#8217;ve got to say, that the AVI capture in the newer branches (I&#8217;m using build r4177) is really great!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2018/12/13/visual-studio-2003-on-windows-10-errors-with-desktop-compositing-themes/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>SDL 1.2.15 not working with Visual Studio 2003 (2002, 6, 97..)</title>
		<link>https://virtuallyfun.com/2014/06/24/sdl-1-2-15-not-working-with-visual-studio-2003-2002-6-97/</link>
					<comments>https://virtuallyfun.com/2014/06/24/sdl-1-2-15-not-working-with-visual-studio-2003-2002-6-97/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 24 Jun 2014 05:36:48 +0000</pubDate>
				<category><![CDATA[SDL]]></category>
		<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Visual C++ toolkit 2003]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=4329</guid>

					<description><![CDATA[Well yeah fun errors like this: SDL &#8220;error LNK2001: unresolved external symbol __alloca_probe_16&#8221; What gives? well the binary kit was built using 2005 (I guess) something higher. Download and link againstÂ SDL-devel-1.2.13-VC6.zip and all will be happy. Â I suppose you could &#8230; <a href="https://virtuallyfun.com/2014/06/24/sdl-1-2-15-not-working-with-visual-studio-2003-2002-6-97/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Well yeah fun errors like this:</p>
<p style="padding-left: 30px;">SDL &#8220;error LNK2001: unresolved external symbol __alloca_probe_16&#8221;</p>
<p>What gives? well the binary kit was built using 2005 (I guess) something higher.</p>
<p>Download and link againstÂ <a href="http://www.libsdl.org/release/SDL-devel-1.2.13-VC6.zip">SDL-devel-1.2.13-VC6.zip</a> and all will be happy. Â I suppose you could build the source yourself, but who&#8217;s got time for that?</p>
<p>And remember to set your project to use the Multi Threaded DLL libc, otherwise you&#8217;ll get errors like this:</p>
<p style="padding-left: 30px;">LNK2005: __isctype already defined in LIBCMT.lib(isctype.obj)<br />
LNK2005: _exit already defined in LIBCMT.lib(crt0dat.obj)</p>
<p>Ok?</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/06/24/sdl-1-2-15-not-working-with-visual-studio-2003-2002-6-97/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installing Visual Studio 2003 on CrossOver (OS X)</title>
		<link>https://virtuallyfun.com/2014/01/20/installing-visual-studio-2003-on-crossover-os-x/</link>
					<comments>https://virtuallyfun.com/2014/01/20/installing-visual-studio-2003-on-crossover-os-x/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 20 Jan 2014 10:37:48 +0000</pubDate>
				<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[Visual C++]]></category>
		<category><![CDATA[Visual Studio 2003]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=3735</guid>

					<description><![CDATA[First run the &#8216;setup.exe&#8217; from the prerequisite CD-ROM. Set the supported application type to &#8220;Microsoft Office 2003&#8221;, and place it in a new bottle. This will be counter intuitive. Answer no, and the needed components will install. Don&#8217;t worry the &#8230; <a href="https://virtuallyfun.com/2014/01/20/installing-visual-studio-2003-on-crossover-os-x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>First run the &#8216;setup.exe&#8217; from the prerequisite CD-ROM.</p>
<p>Set the supported application type to &#8220;Microsoft Office 2003&#8221;, and place it in a new bottle.</p>
<p><div id="attachment_3736" style="width: 712px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.44.33-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3736" class="size-full wp-image-3736" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.44.33-PM.png" alt="Step 1" width="702" height="576" /></a><p id="caption-attachment-3736" class="wp-caption-text">Step 1</p></div></p>
<p><div id="attachment_3737" style="width: 718px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.45.41-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3737" class="size-full wp-image-3737" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.45.41-PM.png" alt="Pre-requisites install" width="708" height="578" /></a><p id="caption-attachment-3737" class="wp-caption-text">Components install</p></div></p>
<p>This will be counter intuitive.</p>
<p><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.50.56-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3739" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.50.56-PM.png" alt="Screen Shot 2014-01-20 at 5.50.56 PM" width="516" height="168" /></a></p>
<p>Answer no, and the needed components will install.</p>
<p><div id="attachment_3738" style="width: 505px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.48.11-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3738" class="size-full wp-image-3738" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.48.11-PM.png" alt="Pre-requ" width="495" height="454" /></a><p id="caption-attachment-3738" class="wp-caption-text">Pre-requisites</p></div></p>
<p>Don&#8217;t worry the .net 1.1 runtime &amp; the j# .net redistributable package will both fail.  It is nothing to worry about as we need to install them manually.</p>
<p><div id="attachment_3740" style="width: 519px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.52.37-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3740" class="size-full wp-image-3740" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.52.37-PM.png" alt="Everything is fine!" width="509" height="455" /></a><p id="caption-attachment-3740" class="wp-caption-text">Everything is fine!</p></div></p>
<p>CrossOver will then notice that something went wrong.  We just tell it to ignore the step, and pretend everything is OK.</p>
<p><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.53.02-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3741" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.53.02-PM.png" alt="Screen Shot 2014-01-20 at 5.53.02 PM" width="711" height="334" /></a></p>
<p>Just &#8216;Skip This Step&#8217; and all is well.</p>
<p>Now that the bottle is &#8216;setup&#8217; we manually install the .net 1.1 framework.  First tell the installer that we are going to install the runtime component .NET Framework 1.1.</p>
<p>I just point the installer to the CD&#8217;s &#8216;dotNetFramework&#8217; directory to the dotnetfx.exe.</p>
<p><div id="attachment_3742" style="width: 714px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.54.45-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3742" class="size-full wp-image-3742" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.54.45-PM.png" alt="Install .net 1.1" width="704" height="580" /></a><p id="caption-attachment-3742" class="wp-caption-text">Install .net 1.1</p></div></p>
<p>And let it install.</p>
<p>Next, I install the J# Runtime.  First select the &#8216;other&#8217; application type, then I select the JSharpRedistCore directory and the vjredist.exe</p>
<p><div id="attachment_3743" style="width: 714px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.57.21-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3743" class="size-full wp-image-3743" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.57.21-PM.png" alt="J# Runtime Install" width="704" height="581" /></a><p id="caption-attachment-3743" class="wp-caption-text">J# Runtime Install</p></div></p>
<p>This should install just fine.</p>
<p>Next, it&#8217;s time to install the MDAC 2.7 sp1 components.  I select MDAC 2.71 Serivce Pack 1, then point the installer to the MDAC27SP1 directory, and select the mdac_typ.exe installer</p>
<p><div id="attachment_3744" style="width: 712px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.59.51-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3744" class="size-full wp-image-3744" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-5.59.51-PM.png" alt="MDAC Installation" width="702" height="581" /></a><p id="caption-attachment-3744" class="wp-caption-text">MDAC Installation</p></div></p>
<p>And the MDAC components should install without issue.</p>
<p>Now for some reason I&#8217;ve had issues swapping CD&#8217;s so I &#8216;cheat&#8217; and do the following:</p>
<p><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.04.22-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3746" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.04.22-PM.png" alt="Screen Shot 2014-01-20 at 6.04.22 PM" width="483" height="415" /></a>Programs -&gt; Run Command, then open up the &#8216;Debug Options&#8217; and choose Open Shell.</p>
<p>From here I simply do this:</p>
<p>$ cd &#8216;/Users/neozeed/Library/Application Support/CrossOver/Bottles/Microsoft Visual Studio 2003/drive_c&#8217;<br />
drive_c neozeed$ mkdir temp<br />
drive_c neozeed$ mkdir vs2003<br />
drive_c neozeed$ cd vs2003<br />
vs2003 neozeed$ cp -R /Volumes/VSPROD2/* .<br />
vs2003 neozeed$ cp -R /Volumes/VSPROD1/* .<br />
cd ..</p>
<p>Now we can go ahead and install Visual Studio.</p>
<p><div id="attachment_3747" style="width: 684px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.10.09-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3747" class="size-full wp-image-3747" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.10.09-PM.png" alt="Choose" width="674" height="459" /></a><p id="caption-attachment-3747" class="wp-caption-text">Lets choose the right setup.exe</p></div></p>
<p>I find it easier to &#8216;Open the C: Drive&#8217; which will take us to the 2003 folder, then we can choose the vs2003\setup\setup.exe executable.  The vs2003\setup.exe will take note that the pre-requisites are installed, then just exit.</p>
<p>Use the &#8216;other application&#8217; template, and make sure it is installing to the bottle you&#8217;ve been installing to so far!</p>
<p><div id="attachment_3748" style="width: 714px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.12.18-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3748" class="size-full wp-image-3748" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.12.18-PM.png" alt="Running Setup" width="704" height="583" /></a><p id="caption-attachment-3748" class="wp-caption-text">Choosing Setup</p></div></p>
<p>Assuming you&#8217;ve done this right, it&#8217;ll take a while</p>
<p><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.13.34-PM.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-3749" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.13.34-PM.png" alt="Screen Shot 2014-01-20 at 6.13.34 PM" width="281" height="111" /></a>And with any luck you&#8217;ll finally see this!</p>
<p><div id="attachment_3750" style="width: 813px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.16.22-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3750" class="size-full wp-image-3750" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.16.22-PM.png" alt="Visual " width="803" height="572" /></a><p id="caption-attachment-3750" class="wp-caption-text">Visual Studio 2003 EULA</p></div></p>
<p>Now you can select what to install</p>
<p><div id="attachment_3751" style="width: 813px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.17.46-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3751" class="size-full wp-image-3751" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.17.46-PM.png" alt="Selecting components" width="803" height="573" /></a><p id="caption-attachment-3751" class="wp-caption-text">Selecting components</p></div></p>
<p>And again this will take a few minutes.</p>
<p><div id="attachment_3752" style="width: 825px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.38.14-PM.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3752" class="size-full wp-image-3752" src="https://virtuallyfun.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-20-at-6.38.14-PM.png" alt="Final Failure.." width="815" height="568" /></a><p id="caption-attachment-3752" class="wp-caption-text">Final Failure..</p></div></p>
<p>Then it bombs out with a Failed LookupAccountNameW:   &#8230; which I think a few installers bomb on stuff like this.  So close.</p>
<p>Anyways it&#8217;ll install but not work. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span style="line-height: 1.5;">Sorry to get your hopes up, I know I&#8217;m kinda </span>disappointed<span style="line-height: 1.5;">.</span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/01/20/installing-visual-studio-2003-on-crossover-os-x/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
