VOGONS


First post, by joe_pool_is

User metadata
Rank Newbie
Rank
Newbie

Background: My boss wants our company to try out DOSBox for running simulations of our "Extended Mode DOS Applications" in WinXP machines. This would allow us to debug our DOS Apps and provide demos to our clients.

I started by going to SourceForge and downloading the latest DOSBox code (ver 0.63) and the compiled installing executable DOSBox0.63-win32-installer.exe.

I installed and ran the executable. It seems to work okay. (No extensive testing.)

I started compiling the code found in the "visualc_net" folder for the SourceForge source files. I quickly realized that several other library files were required: Adaptec, LibPNG, PD Curses, SDL 1.2.8, SDL net, and ZLib. I hunted all of these down, and found that the source code for some of these components specified multi-threading while others used single-threading. I set the code for each project to single-threading (simplest case) so that DOSBox could use them, and recompiled each library file.

I have eventually gotten DOSBox to compile under Visual C++ .NET, and I have copied the executable dosbox.exe into a directory with the other required DLL components that were compiled earlier.

Problem: When I execute DOSBox by double-clicking on it, I get an "Ordinal Not Found" message stating:

The ordinal 355 could not be located in the dynamic link library libpng13.dll.

What should I do at this point? Is there some setting in LibPNG that needs to be set? The installer that I used to successfully install the program earlier (DOSBox0.63-win32-installer.exe) created a dosbox.exe file that is about 1,629 KB, whereas my compiled version of dosbox.exe comes to only about 1,256 KB. Also, the installer created different DLL files than the code (that I downloaded for the libraries) created; these three DLL files are libogg-0.dll, libvorbis-0.dll, and libvorbisfile-3.dll. Obviously, something is missing.

Does anyone have better procedure that they went through to get DOSBox to compile for them on a Windows system other than the brief procedure I listed above?

Wanted: Gasoline and matches.

Reply 3 of 6, by joe_pool_is

User metadata
Rank Newbie
Rank
Newbie

What about threading? Most of the supporting projects I downloaded pulled up with the Runtime-Library set to multi-threading. Since a few (maybe 2?) were set to single-thread, I changed them all to single-thread. I don't see where this would hurt myself, but I haven't spent a very long time with the code.

Wanted: Gasoline and matches.

Reply 4 of 6, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

If you don't need you can disable screenshots, modem, ipx & internal debugger. Then you can edit project configuration and delete all these libs except SDL. The *vorbis libs are there so that imgmount can mount bin/cue with ogg soundtracks...again, if you don't need this functionality the dlls are not needed.

Reply 5 of 6, by Markus

User metadata
Rank Newbie
Rank
Newbie

The ordinal 355 could not be located in the dynamic link library libpng13.dll.

Probably your import-lib doesn't match your dll, I think you must have mixed libpng.lib and libpng.dll from two sources.

Reply 6 of 6, by joe_pool_is

User metadata
Rank Newbie
Rank
Newbie

Markus:

That is exactly what happened. I looked into the dosbox.vproj file, and it was referencing the old libpng.lib files, whereas I had compiled new libpng13.lib files. Problem solved.

Gulikoza:

Thanks for the extra tips! I'll check to see if we need any of those features. What "da boss" wants are some patches to make dosbox 1) go as fast as possible (not based on a timer) and 2) use the COM port. He says he heard of a patch that would allow both of these. I'll start searching tomorrow (it's after 5), but if someone happens to know what patches my boss is referring to - please give me a clue!

Thanks!

Wanted: Gasoline and matches.