VOGONS


First post, by sbussinger

User metadata
Rank Newbie
Rank
Newbie

I'm interested in playing with DOSBox development on Windows, but I have a bunch of questions on how to set stuff up to compile correctly, which code fork to use, and what pieces serve what purpose. I'd like to use the latest version of Visual Studio (2012) to do the development (I've already got that environment in place anyway and work with it regularly).

I know people have used Visual Studio to compile DOSBox and I've seen some posts talking about it, but I'm not very familiar with C/C++ and would like some help getting things set up initially.

I'd like to pay someone who's done this before for a couple of hours of their time to help me fork the code base, collect the prerequisites, set up the Visual Studio solution, and get it to compile. I'll have questions about the various existing forks and what pieces I should be grabbing from each.

If you've got the experience and you're interested, please send me a message through this forum software and I'll give you my email address so we can discuss the details.

Thanks!

Reply 2 of 10, by sbussinger

User metadata
Rank Newbie
Rank
Newbie

Hi Qbix, Thanks for the link. I had actually found that page along with some other forum messages about building DOSBox under Windows.

I'm really looking for a bit more hand holding than those pages offer because C isn't an environment that I have more than a rudimentary familiarity with. Rather than stumble around for hours guessing, I was hoping I could hire someone to tutor me a bit and get me off to a smoother start.

Reply 3 of 10, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

that page is really good. if you follow it, then you will end up with a working binary.

Water flows down the stream
How to ask questions the smart way!

Reply 5 of 10, by VileR

User metadata
Rank l33t
Rank
l33t

That guide will get it to compile just fine. (Though without screenshots... would be nice if it were updated w/ instructions for libpng/zlib).

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 6 of 10, by sbussinger

User metadata
Rank Newbie
Rank
Newbie
wd wrote:

Honestly if you don't invest time into actually knowing what you're doing you should maybe not compile anything at all.

An interesting comment considering that the whole point of my post is that I do want to "actually know what I'm doing" and I'm not only willing to spend time on this but offering to pay for someone else's time to speed up the process.

For examples of what I want help with is getting the libraries statically linked. In reading Compile DOSBOX with Visual C++ 2008 Express Edition??, it sounds like it's a fiddly process involving arcane settings and configurations. Since I don't work with the C compilers regularly I'm not terribly excited about wasting hours looking for the magic combination to make the compiler and linker happy.

I'm also planning to disable / strip out a bunch of features I don't care about for my particular needs and it's not clear to me what a bunch of stuff in the distribution is used for. All of the truetype fonts for instance. As an experiment I removed them from the program folder and everything seemed to work the same so they're obviously only used in some situations that don't apply to me. But are there subtle issues with removing them?

Another example is the SDL libraries that appear to be troublesome for Windows builds and there are various comments about using precompiled versions vs. building them with the same toolchain. Which versions of which SDK's are required, etc.

If nobody steps up, I'll plunge ahead on my own. It just doesn't seem like the easiest/fastest approach. For sure I'll be asking a bunch of questions on the forums. <smile>

Reply 7 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

If you link the libraries static then you will not be able to exchange them for newer versions. SDL is troublesome but essential to dosbox.
The truetype fonts are something new that I don't remember coming with windows Dosbox. Sounds more like a mix with builts from yhkwong or so.
This all sounds as if you are trying an open heart operation without learning/starting with frogs first.

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 8 of 10, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

I'm also planning to disable / strip out a bunch of features I don't care about for my particular needs

are you sure you want to go there? And what are your particular needs? Why risk ripping stuff out that maymake dosbox unstable for no real need?

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 9 of 10, by sbussinger

User metadata
Rank Newbie
Rank
Newbie
Dominus wrote:

are you sure you want to go there? And what are your particular needs? Why risk ripping stuff out that maymake dosbox unstable for no real need?

My changes would be limited to the built-in options (like those in dosbox.conf) or any built-in conditional compilation options (assuming there are any, I haven't gotten that far yet). I'm not planning wholesale changes to the source code, but the documentation mentions that many libraries are optional and only used for specific features I don't care about (e.g. Libpng and Zlib for screenshots, or SDL_Net for modem/ipx support). My goal is to strip it down to just what makes sense for me, tweak the cosmetics a bit, add a few features I require (e.g. the locking patch), and tweak the deployment for my environment (that's why I want the VC libraries statically linked).

I'm forking the source on GitHub so any patches I have to write will be available back to the community.

As for what I'm doing, I have a legacy application with some 16 bit code in it that I'd like to be able to run on an x64 version of Windows. Testing with DOSBox shows that it works quite well except for some specific missing features (mailslots) that I'm willing to add myself. I can run the application in a VM of course but it's more cumbersome than I'd like and DOSBox looks like it will be a possible alternative.

I know that DOXBox wasn't intended for non-gaming applications, but you've all really done a remarkable job with it!

Reply 10 of 10, by bloodbat

User metadata
Rank Oldbie
Rank
Oldbie

A number of features are optional and can be controlled with config.h
No need to strip it down, really

For examples of what I want help with is getting the libraries statically linked. In reading Compile DOSBOX with Visual C++ 2008 Express Edition??, it sounds like it's a fiddly process involving arcane settings and configurations.

Not really, but get used to working with C++ beforehand.