For many years (long after the introduction of Windows XP) I ran a collection of old Windows 9x desktop PCs. Basically, these machines were too low-spec in their hardware to be upgraded to XP (and had cost a lot of money), so I continued to use them, with their original software: various installations of Windows 98SE and Windows ME (all running as 32-bit versions).
In the event, I never used XP. The Win9x machines were so reliable that they were still working long after XP and Vista had come and gone. But I eventually had to migrate, over a period of time, onto Windows 7 64-bit.
I am not about to do something really dumb, such as ask why such-and-such a program won't run on Win7 64bit! :-)
Without exception, all the software I had been running on 32bit Windows 98SE worked out-of-the-box (so to speak) on Win7's NT 64bit architecture. Today, I still use a variety of this software, especially the word processing programs and HTML editors that I use routinely.
Is there a technical reason why I never experienced the difficulties I had expected in running Windows 9x programs on 64bit NT? I've been told about 'compatibility' settings on Win7, but have never had to run a program in "compatibility-mode".
I'm aware of Windows 7 keeping 32-bit and 64-bit software in separate locations, and handling them differently: but I had expected that this was related to 32bit and 64bit programs written for Windows 7.
I am surprised that Windows 98 32bit programs seem to be entirely compatible with Windows XP/Vista/7 32bit programs, and would like to understand why this is so. Is there really no difference between them?
Also, many of the old Windows 9x programs were/are portable. I have been in the habit of putting them on USB sticks, or on the Windows 7 desktop, and just running them. I've not experienced any problems. Even though they are not being run from a Program Files folder. Again, I'd like to understand why does the O/S not object to this, from a technical perspective?
Am I doing anything unsafe? The Windows 7 O/S seems very stable: but I would like to know whether I am asking it to do things that I ought not to.