Monday, December 18, 2017

Dosbox 0.74 is over 7 years old... and it shows...

DosBox is quite a nifty program. Dos games galore... For years I've used dosbox, and its worked fine.  Though to be fair i never tried compiling it until running into a segmentation fault on an Ubuntu xenial-based distro. boy was i in for a surprise.

Oh boy....

That segmentation fault occurred on my part when i tried running my favorite DOS PC kart racer: Wacky Wheels.

So i download the sources and extract them... then i ran make, only to see it sputter out in an avalanche of errors... Thats when i found out that the "stable" 0.74 wont even compile on GCC 4.6 and newer. (and that xenial-based distro is running 5.4)

So then, i found a patch that would fix the error that was keeping it from compiling, and sure enough it compiled...  So, I was eager to see if my now-patched dosbox 0.74 would work better than the one from the repo...

nope.

Well I tried.

That is also when it occurred to me that dosbox 0.74 is already over 7 years old, and it seems its age is catching up to it...

The fault appears to be in dosbox itself, as some games like Duke Nukem 3D work without a hitch. I do have a hunch that those errors in cpu.cpp might not have been entirely fixed by that patch...

another thing i knoticed while compiling dosbox after the patch is the at least dozens of warnings that seem to be related to mismatched integer types... whether thats what caused the segmentation fault is beyond this mostly-python programmer, but i figured id mention it.

Conclusion:
 
Now, This blogger has more questions than answers:
  • What has taken so long? 
  • Are there any forks or such I should look into?
  • Why does the dosbox download page not even mention the compiling issues?
  • anyone else run into problems with dosbox? (feel free to comment below)
Also, while I wouldn't expect any of the dosbox developers to somehow happen across my blog, if by some chance, perhaps some more light on the situation could be cast?

In the meantime, my trusty IBM Thinkpad 600E will have to do.

No comments:

Post a Comment