I just got a new computer that has Windows 8. I’d like to download some programs, e.g. Picasa, but I see their site says it’s for XP, Vista, and 7. Will this not work on a machine with 8?
If it works on 7, it will work on 8.
It depends. 64 bit Windows will not directly run 16 bit software.
As for Picasa, have you tried Googling?
Not all. My dad called me about a database of phone numbers and addresses he bought on a dvd years ago, that wouldn’t open in Windows 7. My programmer friend told me that it was 16-bit, meaning it was made for CPUs that could only process 16 binary digits at a time. Like many people, my dad now has a computer that uses 64 digits at a time, and the emulator to run 16-bit programs is not included any more in 64-bit Windows.
Edit: Ninja’d by Quartz!
Not relevant to the exact OP, but relevant to the general question:
Chain of Fools : Upgrading through every version of Windows (YouTube)
reason being that the NTVDM (NT Virtual Dos Machine) and WoW (“Windows on Windows”) relied on the Virtual 8086 feature in the CPUs. When AMD created the x86-64 architecture they removed access to Virtual 8086 when the CPU is running in 64-bit mode.
If that was truly a database, not a program, it is likely to be a data file, and unless highly-proprietary, is readable by modern programs. A data file is not usually dependent upon the bit-width of an OS.
Some people don’t know the difference between databases and programs, and developers aren’t forthcoming about such details unless you pry.
I didn’t watch the entire video, but one thing they seem to be ignoring is that there used to be two completely different operating system lines, Windows and Windows NT. This was clear back in the days of Windows version 3.x when you had Windows 3.0, Windows 3.1, and Windows NT 3.1 and Windows NT 3.51, for example. It got confusing for Windows 4, because “Windows” 4 was called Windows 95, while Windows NT 4 was called Windows NT 4.0.
At Windows 2000 (aka NT 5.0), Microsoft decided to “merge” the two operating systems into one so that they wouldn’t have to sell two completely different OS lines. You can’t merge an OS built around allowing direct hardware access with one that has a hardware abstraction layer (HAL). Either you have a HAL or you don’t. What Microsoft really did was kill off the Windows line and forced everyone to NT (not that this was a bad thing in the long run). The only problem was that too much home software wouldn’t run on NT back then, so halfway through development they had to switch gears and say 2000 was only for business. This left Microsoft with nothing to sell to their home users, so they took the latest Windows 4.x, ported some multimedia type apps that had been intended for NT 5 into it, slapped it all together and called it ME. As you’d expect from something so hastily thrown together, it sucked.
Microsoft completed their “merge” with XP. They added some “compatibility mode” type of stuff in an attempt to solve some of the switching problems that had plagued 2000 and they slapped on a new spiffy user interface, but underneath the hood XP was NT 5.1. It was basically the same underlying OS as 2000.
Vista is NT 6.0. Windows 7, confusingly, is NT 6.1, and Windows 8 is NT 6.2. While Microsoft has gone out of their way to imply that these are whole new operating systems, Windows 7 is really Vista with all of its crappy stuff and poor performance fixed, with a tweaked user interface to make it look like it was more than a bug fix. And Windows 8 is basically the NT 6.x operating system heavily tweaked to run on tablets.
You run into a lot of compatibility problems jumping from Windows to Windows NT because of the differences in the underlying structure of the operating systems, but that switch happened over a decade ago for most folks and isn’t really an issue these days. What you run into now are people going from XP to 8 or from Vista or 7 to 8. Going from XP is a major version number jump, 5 to 6. This is a more significant change than going from one minor version to another, like 6.0 or 6.1 to 6.2 as in the case of Vista or 7 to Windows 8. So XP to 8 is much more likely to run into trouble.
The difference between 32 bit and 64 bit also causes some compatibility issues. While there was a 64 bit version of XP, it wasn’t all that popular and most folks coming from XP will be coming from the 32 bit version.
There are also some compatibility problems caused by Microsoft not bothering to include “old” stuff like older versions of .NET. Windows 7 shipped with .NET 3.5.1 for example, which is not included in Windows 8 (it has .NET 4.5 instead). Programs written for Windows 7 may assume that .NET 3.5.1 is already there and won’t work properly until it is installed.
While Wolf333’s claim that “If it works on 7, it will work on 8” isn’t 100% true, you are only jumping one minor version, so you aren’t likely to run into too many problems.
Specific to the OP, poking around on google does reveal some folks who have had problems with Picasa on Windows 8. However, a large number of folks also report running Picasa on Windows 8 without any problems.
You got me, it probably wasn’t a database/data file, but a program that interfaced with data on the same DVD or CD. I don’t remember the details of it, but my friend seemed pretty confident that it was 16-bit and that that was the problem.
I recently (against my will) switched from XP to 8. So far, I’ve gotten a bunch of ‘This program will not run in 64 yada yada yada’ messages. Is there a general fix for getting these vitally important programs (old video games) to run on 8?
Use DOSBOX, or some other emulator/virtual machine. The hardware simply does not support direct running of 16-bit code within a 64-bit OS. And no, it’s not because of Windows 8. None of the 64-bit versions of XP, Vista, or 7 would run your “critically important” games either.
AFAIK Dosbox (which I love) only runs games that have a dos mode. I’ve gotten a few “This game cannot be run in dos mode” messages.
Can anybody suggest a similar program for running 16 bit Windows programs?
You can run a copy of Windows XP in a virtual machine. (Software emulation, not hardware virtualization.) Depending on what copy of Windows you own, you might have a feature called “XP Mode” which is designed exactly for this purpose. If not, you need to find/create your own emulator setup, which isn’t trivial unfortunately.
Remember, it has to be software emulation, so something like Microsoft’s Virtual PC will work, and something like VMWare will not. I believe Virtual PC 2007 is still a free download from Microsoft’s site, so if you can get that running and install a copy of XP or older in it, you should be good to go… the only real difference between that and XP Mode is that XP Mode comes with a free copy/license for Windows XP, and Virtual PC doesn’t.
Does Win 8 still have the “Command Prompt” window, and can you still run, generally, any old DOS 2.x program? I still have a bunch of those that I use from time to time.
They aren’t games that require any real-time computation or user interaction, or any other kind of fancy user interface functions. Mostly, they just read some input data from a file or from standard input, and write output to a file or standard output. Some of my program were originally written in assembler code, using the 80286 instruction set.
That was surprisingly interesting!
yes
Only the 32-bit version, and even then maybe not completely. At least up to Windows 7, if you were running the 32-bit version you still had support for running 16-bit programs. But even then, a lot of DOS programs (games especially) assumed being able to control hardware directly, and these programs have practically never been able to work fully in Windows NT.
it doesn’t matter. DOS programs could assume they could access hardware directly. Windows NT broke that in 1993. If your 16-bit code was simple it could run under NTVDM or WoW, but the AMD64 architecture removed the hardware support that Windows relied upon to support running 16-bit code in a 64-bit OS.