First post, by buenhembro
CONFIGURING GENERIC CADD 6.1 TO RUN WITHIN DOSBox 0.74
IN WINDOWS XP PROFESSIONAL 32-BIT AND WINDOWS 7 ULTIMATE 64-BIT
Background
Generic CADD 6.1 is a DOS-based CAD program circa 1992. Although ancient by any metric it is still an excellent program and enjoys, to this date, an extensive following throughout the world. Most users are running it in older computers booting either Windows 98 or any flavor of Windows XP, in this last case using XP's ability to emulate DOS programs.
Most machines and many applications are becoming obsolete almost daily. This has been a given in the PC world since its very beginnings, and the process has accelerated in the last few years, as more and more people are tempted by the ever-increasing availability of excellent and reasonably priced hardware and software. Therefore, a lot of people nowadays are running modern equipment with either Vista or, more likely, Windows 7.
I am not going to delve here in the limitations that both Vista and Windows 7 pose for running DOS-based programs. Suffice to say that most users who want to run an old DOS-based software in these last two Microsoft OS's have had to deal with the use of some sort of emulator or have had to dual-boot either Vista or 7 with XP, since Windows 98 is not very amenable to modern multi-core CPU's and video cards.
My equipment
In my particular case, I use two machines.
One is my “top dog,” an ASUS P5K Deluxe mobo dual-booting Windows 7 Ultimate 64-bit SP1 and openSUSE Linux 11.4 through an INTEL Core Quad Q6600 overclocked to 3.42 GHz and 8 Gb of DDR2 RAM. It uses two SAMSUNG LCD monitors, one 27” with 1920x1080 native resolution, and an older 19” with 1280x1024 native resolution, both driven concurrently by an ATI HD 4850 X2 video card with 2 Gb RAM capable of running up to 4 separate high resolution monitors. I use the latest ATI 11.3 Catalyst driver and software, including Hydravision, and have configured my desktop using the 27-incher as the main monitor and the 19-incher as a separate video “scratch pad.” The monitors run through DVI cables.
My other machine is much older, but it is still quite capable. I do most of my work in it (including this instructive.) It dual-boots Windows XP Professional 32-bit SP3 and openSUSE Linux 11.3 on an ABIT AN8 Ultra mobo running an AMD Opteron 165 dual core CPU overclocked to 2.7 GHz, with 1 Gb of DDR RAM. My video card in this system is an XFX 7300 GT with 512 Mb of RAM and dual DVI outputs converted to VGA signals through adapters. I use Nvidia 196.21 drivers and Control Panel software. The video card fires two monitors, a Samsung 19” as primary (shared with my other machine) and a 17” as secondary; both having 1280x1024 native resolution.
So, essentially, I have three monitors on my desk. The 27” on my left, the 19” in the center, and the 17” to the right. This setup is possible only because both smaller monitors have DVI as well as VGA input connectors, so I can run either machine, but not at the same time, since they share the 19” monitor.
Running Generic Cadd 6.1 in Windows XP Professional 32-bit
Windows XP has an excellent ability to run Generic CADD, even without the use of compatibility mode. Before I assembled my newer machine (and thus started sharing my 19” monitor) I was running Generic CADD directly as a DOS program benefitting of my video card's capability of running VESA 0107h mode (1280x1024 8-bit color) through the DVI cable I used to use then in that machine. For that, only the following instructions were necessary:
1. Go to C:\Windows\System32 folder and edit AUTOEXEC.NT file. Add the following:
rem ***The following 2 lines are for Generic CADD***
SET CADD_INIT= 107h
SET CADD_FONT= 10h
SET CADD_COLORS= 00h 00h 00h (this line sets the CADD background to black)
Save the file and exit.
2. Execute the C:\CADD6\CONFIG.EXE file. Enter to change the display and the mouse. Select VESA256.VGD as the driver, and 3-button MOUSE.COM mouse, Bus, speed=1.
3. Start CADD. Type MA (Macro Assign), press RH mouse button and assign it NP; (Nearest Point Snap), then press [Enter]. Then, press [F1] and assign it VM; (Video Menu Toggle), press [Enter].
4. Type DI and toggle Tandem Cursor OFF, click [Enter].
5. To run CADD, then press [F1] to hide the video menu and click it again only when needed. Work with CADD normally, the three buttons should work as in a DOS or Win 98 environment.
6. If by any chance your video menu does not come back when invoked through [F1], then type LV (Load Video Menu) and select CADD6 from its choices.
Running like this, the machine became a DOS platform. I would run CADD in a full screen of the 19” monitor. As such, I was incapable of using the dual moniotor arrangement with the 17” monitor, It would become blank, so I would simply turn it off until I ended my CADD session and returned to XP.
However, once I comandeered the 19” monitor and its DVI connector to plug into the newer machine, my old machine lost the ability to run CADD as configured since I was forced to connect its video card to the VGA port of the shared 19” monitor. With this setup, for some unknown reason, the video card was incapable of running CADD in the 0107h VESA mode, and when the program was invoked it just blanked both monitors. I had to CTRL-ALT-DEL out of the jam.
Much as I tried, I could not find a solution for this problem, so I started researching and found DOSBox 0.74.
With it I was able to run Generic CADD with no loss of functionality whatsoever just by tweaking DOSBox's dosbox-0.74.conf file, located in the C:\Documents and Settings\username\Local Settings\Application Data\DOSBox\ folder.
In my particular case, these settings worked best. Your mileage might vary, so experiment with different values. The file itself is well documented (Thank You, DOSBox!) I left the other settings as default.
fullscreen=false
fulldouble=false
fullresolution=1280x1024 (Note: this is my main monitor's native resolution, yours might vary)
windowresolution=original
output=overlay (Note: this value is essential, otherwise CADD will probably not run)
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true
Further down,
frameskip=0
aspect=false
scaler=normal2x
And
core=dynamic
cputype=auto
cycles=23000 (Note: depending on your CPU, this determines your speed. Start at 10000 and play up or down with the value until you have a fast, smooth CADD operation.)
cycleup=10
cycledown=20
Finally,
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
# ***The following 3 lines are for Generic CADD***
SET CADD_INIT= 107h
SET CADD_FONT= 10h
SET CADD_COLORS= 00h 00h 00h
mount c c:\CADD6\
C:
CADD
As you can see, I set the DOS environment variables for CADD, automounted its main folder and subfolders, changed to it as virtual C: under DOSBox and autostarted CADD itself when I invoke DOSBox.
In the CPU section, do NOT set the cycles value to max. If you do, CADD will run just nice, but your CPU usage will go to around 50% even with CADD/DOSBox at idle and your core temperatures will raise significantly (in my Opetron's case from around 30-32C normally, to 45-48C which is quite high. Set it to 10000 and start playing with it until you find the sweet spot of your machine. In my case it was 23000. At this setting my CPU usage with CADD/DOSBox on was around 1-3%, and my core temperatures went from 32-33C at idle to just 36-38C which is very acceptable.
Running Generic CADD 6.1 in Windows 7 Ultimate 64-bit
Once I had Generic CADD/DOSBox running sweetly in my old machine with XP, I started getting the itch to try it in my newer machine and run the combo under Windows 7 Ultimate 64-bit. I was not too certain that it would run but I was encouraged by the many forum users who had had success running finicky DOS games in similar modern platforms.
I must say that having had the experience of putting the combo to work in XP, setting it up under Windows 7 was almost a veritable piece of cake.
Preliminary steps:
1. Since the program is DOS-based, I simply copied my CADD main folder and subfolders with everything in there onto a USB key and then copied them under the C:\ main drive in Win 7.
2. I also copied the DOSBox installer from my old machine and executed it in Win 7 to install it.
3. Then, I verified the existence of the dosbox-0.74.conf file, which in Win 7 is located in the C:\Users\username\AppData\Local\DOSBox folder. I played with the all essential values I mentioned in the XP portion of this instructive and found that I only had to change the cycles value to 20000 to run very sweetly in this machine, instead of the 23000 value used with my old Opteron in XP.
That's it.
However, I only had one problem:
In this machine I run a complex, dual GPU, high-RAM ATI video card using their latest Catalyst drivers/CCC. I love ATI products. They are the cat's meow. But IMHO when pressed into unusual situations such as this (or, for instance, setting up Linux), Nvidia cards and drivers are simply much easier to configure successfully than their ATI equivalents.
Thus, with the original ATI 11.2 Catalyst driver set, every time that I invoked CADD/DOSBox it woud open into the large 27” monitor which has 1920x1080 native resolution. The monitor would scale down to CADD's preferred 1280x1024 environment, but the screen looked distorted and ackward. A change of drivers to the latest 11.3 did not bring any improvement. Finally, I downloaded the ATI Hydravision software (it becones a part of the ATI CCC) and through it configured 2 separate desktops. In the second desktop, I assigned the 19” monitor as primary monitor and voila!, when I run CADD/DOSBox it starts properly in my 19” monitor, not in the larger 27”. Once I am done and get out of CADD, I simply change to desktop 1 and go back to the full functionality of my everyday configuration, with the larger monitor being the main one and the 19-incher just a “scratch pad” for additional windows.
Had I been running an NVidia equivalent card in this machine, its excellent Control Panel would have simply allowed me to assign a perticular monitor for CADD/DOSBox to run in without resorting to the multiple desktop legerdemain that ATI seems to require.
At this stage I am satisfied with this solution, but I am going to keep on experimenting to see if I find a way to invoke CADD in my smaller monitor without having to go through Hydravision and the 1-2 desktop rigmarole. I have the feeling that it might be possible. Help anyone?