First post, by kjliew
First of all, great job to all DosBox developers. DosBox is indeed a wonderful piece of marvel. I can now play some old DOS gooddies in XP in windowed mode. Believe me, it really helps for some games to be able to open up notepad to take some notes during gameplay rather than resort to pen and paper. And, most notable, wonderful sound system emulation at decent speed.
I am most interested with current CVS version of DosBox. Well, the official release 0.60 is really great undoubtedly, but the CVS version has DirectDraw Overlay support which speeds up screen drawing of supported display mode tremendeously, leaving more CPU power for increasing DOSBox CPU cycle and smooth sound. Just for comparison, with no frameskip, full sound and DOSBox CPU cycle at 1800, DOSBox 0.60 is stressing my PIII 1Ghz at ~99%, but with DOSBox CVS, the CPU utilization is mere ~16%. And, I can pump up the CPU cycle to >4000 with CPU utilization hovering at ~80%, and still with smooth sound!!!!
However, DosBox CVS can no longer be built by MSVC6 SP5 which is my prefered tools. I don't have MSVC.net. I know that someone in the forum already mentioned that don't use MSVC6 as the code produced is not correct, but I want to know if this also affect MSVC6 with latest service pack update. I am able to build from source the offical release DOSBox 0.60 with VC6 SP5 and run most of the known working DOS games flawlessly. To someone knowledgeable in the VC6 issue, please provide more information and someway to expose the error (eg. games run in DOSBox built from MinGW/MSVC.net, but not from MSVC6.
I am getting a few of compile errors with the latest DOSBox source from CVS (Jan 6). There seems to be some re-write of the rendering code (render.cpp, render.h, render_normal.h, render_scale2x.h etc.) to use C++ template instead of the macro used in DOSBox 0.60 source. There is also some re-write in ntddscsi.h which uses DEFINE_GUID macro, but did not include the neccessary header file (initguid.h and objbase.h), and some minor errors that break the build from MSVC6.
I can resolve all the build errors and produce a successful DOSBox CVS build with MSVC6 but the software behaves erraneously. It starts up to the DOSBox usual welcome screen with big text size, as if the screen was 320x200, and some protection faults that cause DOSBox to quit.
The same source from CVS (without the modification for MSVC6) build perfectly from MinGW. I am going to try to use MinGW to build the MSVC6 source to see if it works. I am pretty sure the modification I made for MSVC6 doesn't change anything functionally. It's a simple re-write to get around the build error. I am fine if anyone want to look at the changes.
Please feel free to provide inputs of any nature even very technically. And, Thank You for DOSBox, a truly marvellous piece of software.