WIn7 downgrade from 64bit->32bit

tangey

Veteran
Hey guys,

Just bought a nice PC, i7 950 3.06 overclocked to 4Ghz, 6GB memory, win 64-bit professional.

Then the problems begin. We have a number of 16-bit dos legacy programs that we use to process thousands of small graphics files to generate up custom graphics data to burn into a datacard. One of the main reasons for the PC purchase was to speed up photoshop stuff, and also speed up the legacy programs.

Of course i've now found out that 16-bit dos programs don't run on win7 64-bit. I specifically bought the professional version because it was advertised as having better compatibility, but I find now that that better compatibility is by running an XP machine in a window, which has no access to the files and folders of the host system, useless for my legacy dos programs processing the graphics files i've created.

I've found dosbox, and apparently that might work , but it appears to have very slow drive access, which will kill the legacy program performance.

we don't have an easy way to re-write the Dos programs for 32bit compliance.

i've been told/read on websites, that Win7 32-bit will run 16-bit DOS programs natively. So my question is, will the performance of my nice shiny high-end system take a real hit if I install win7-32bit instead of win7-64 bit, i.e. is the 64-bit version of Win7 a really performance enhancer ?. also will I lose access to the entire 6GB of memory ?
 
have you tried running the compatability program ? I have a few 16 bit apps that work in that mode on win 7
 
Of course i've now found out that 16-bit dos programs don't run on win7 64-bit. I specifically bought the professional version because it was advertised as having better compatibility, but I find now that that better compatibility is by running an XP machine in a window, which has no access to the files and folders of the host system, useless for my legacy dos programs processing the graphics files i've created.

Why doesn't the virtual machine have access to those files and folders? There should be a way to do this.

i've been told/read on websites, that Win7 32-bit will run 16-bit DOS programs natively. So my question is, will the performance of my nice shiny high-end system take a real hit if I install win7-32bit instead of win7-64 bit, i.e. is the 64-bit version of Win7 a really performance enhancer ?. also will I lose access to the entire 6GB of memory ?

The performance enhancement is probably minimal (some applications may see a notable performance boost, but it will be negligible for most), but you will lose access to all the memory over `3GB.
 
The longer you wait with dumping that old dos shit, the more problems like these you will run into the future. Bite the bullet, rewrite your tools now. You'll thank yourself later. Frankly I'm surprised Win7 runs any dos apps at all, TBH.

32-bit Win7 might actually run most programs faster as long as they don't need the large memory space only 64-bit offers, as there's some extra overhead in 64-bit mode with the larger registers, and switching back and forth between 64-bit and 32-bit mode for programs not compiled for 64-bit.

Maybe some of that has changed with newer, better compilers have fixed that now though, but at least when vista 64-bit was new, windows benchmarks typically scored higher in 32-bit mode. 64-bit is mainly useful it seems for when you need a lot of RAM available.

If you have 6GB installed you'll only get access to 4GB at the very most in 32-bit mode - less than that actually as the graphics card will take a chunk too for its onboard memory (the bigger the RAM on the graphics card, the more main RAM you'll lose), PCI add-in components takes an additional chunk, plus chipset and misc. devices yet some more. WinXP divided 4GB into 2GB user/2GB OS, with a "secret" switch to change to 3GB user/1GB OS, so the most RAM you ever got under regular XP was 3GB. Not sure how vista and up handles the same situation, if they permit an even more flexible division of memory space, but if you need a lot of RAM then you might get constrained in 32-bit mode. Regardless though, DOS programs won't see anything beyond normal 32-bit address range of course...

Dosbox kinda works, but it's very very slow because it emulates the entire PC even though you run it on a PC. So it's not just disk access that's slow - processor and graphics performance is also very very slow. My ~3.5GHz Corei7 system runs Duke Nukem 3D in Dosbox way slower than my old AMD K6-400MHz did back in 2000 using native DOS... It's OK if you got no other choice to get a program you occasionally need to run, but it's no fun if you have to rely on it every day.
 
Thanks for the replies guys.

regarding compatilbity mode, it doesn't like the 16-bit dos programs, regardless of which Os you tell it to be compatible with. Various webistes have confirmed that its simply not possible to run 16-bit dos programs under win7 64bit.

XPmode via virtual PC appears to generate up an entire virtual XP session in a window on win7, using its own virtual hard drive, and the very brief play I had with it seemed to show that you could not access the win7 filesystem.

Regarding running a dos OS from CD, thats of course possible, but the 16-bit dos program I'm locked into using is part of a developement cycle

Design graphics -> run dos program to process graphics files -> burn output of dos prog into dataflash card -> try out graphics on target system, repeat as necessary. its just not practicial to boot between dos & win each time the cycle is repeated.

Thanks for the heads up regarding DOSBOX, if its that slow its not going to be a useful solution for me.

The guy that wrote the 16-bit software is still in the company, but software programming isn't actually his job and he never moved on from using a Codeview developement platform. He is going to see if there are any switches or assembly/linking options that would allow him to re assemble the code for 32-bit compliance. x86 programming isn't my dept either, so I know exactly bugger all about it.

If He can't get the stuff to be 32-bit compliant, then at least it appears i have a solution (albeit a least than ideal one) of swapping to a 32-bit win7 installation. unfortunately the graphics card is 1GB, so from comments here looks like I'll have somwhat less than 3GB of my 6GB available.

Again, thanks for the feedback.
 
The main concern here though isn't wether you can get your DOS tools to run under Win7 - it's for HOW LONG in the future you'll be able to keep these ancient tools working. Who's to say Win8 will be capable to run any 16-bit programs period, 32-bit install or not?

For all we know, the switch to EFI instead of crappy old BIOS might well kill off DOS permanently, assuming EFI don't contain emulation layer for the old I/O hooks that DOS relies on (and a part of me wants to believe the peeps behind EFI are eager to junk all that legacy crap, since otherwise what's the point of switching to something new, really?)

So your at least second priority after fixing things short-term really should be to set up a plan of how to fix your problems once and for all - if neccessary by bringing in an external software developer to rewrite your tools to such an extent that they can run under modern OSes.

...Too expensive? Outsource it to India! Soon they'll be doing all software development anyway. :)
 
even if the graphics card is 1GB it should use a 256MB window of addressing space - only multiple graphics cards make you lose more memory.
 
Whoah, banking in this day and age, really?

Even in a 64-bit addressing environment?

That...sucks.
 
The guy that wrote the 16-bit software is still in the company, but software programming isn't actually his job and he never moved on from using a Codeview developement platform. .

Honestly, from a company standpoint, they should hire an actual programmer or school him. Perhaps dedicate some computers to run Dos,Win 98 or something.
 
Who mentioned banking ?
If you only map say a quarter (or an eigth, for high end consumer boards, sixteenth for some professional boards) of the card's memory into the computer's address space, then you must use some kind of banking scheme to access the rest of it.

It's not linear addressing that's for god damn sure.
 
Back
Top