• Please review our updated Terms and Rules here

HAs anyone ever actually tried this?

josephdaniel

Experienced Member
Joined
Jul 3, 2012
Messages
317
Location
Florence, Texas, United States
Today I was thinking what a modern 64 bit operating system would run like on an XT class machine and I did some research and it turns out some one has actually asked the exact same thing!

I've thought about doing this myself, running a modern 64-bit Windows on my XT. The XT would simulate the CPU and L1/L2 cache and it would pass cache lines via serial link to and from a modern PC which acts as the main RAM and hard drive.

It would probably take decades to boot though, so I might have to run part of the simulation on the modern machine and when switch it to running on the XT after it's booted.

So has anyone actually tried this with something as new as windows XP or possibly as old as windows 95? Sure would be interesting abet boring though
 
Last edited:
Once you go below 32-bit you start seeing a lot that will not work because it is far too inefficient to break up and stuff that much data through the CPU and related resources.
 
A modern 64 or 32 bit OS will NOT run on an XT... or a 286 either.
Even the DOS for windows 95 will not boot on a 286... as much as I try. :rolleyes:
 
A modern 64 or 32 bit OS will NOT run on an XT... or a 286 either.
Even the DOS for windows 95 will not boot on a 286... as much as I try. :rolleyes:
Not actually installing it on the machine, but rather under an emulator that would simulate the CPU and trick windows into installing on the old XT.
Kinda like running old games on modern computers where on some of them they must be run under an emulator in order to install correctly but backwards. (I hope I got that Right)
 
I know that some people have run 64-bit operating systems inside 32-bit versions of virtual machine products. Mainframe emulators can run on quite limited hardware but then a 1960s mainframe is slow enough that not much is needed to match it.

Trying to run a current 64-bit operating system would take forever; actions that take a second on real hardware would end taking more than a day on an XT. Anything more than a 64-bit counterpart to DOS* would be untenable.

* Yes, there is really is such a thing. 64-bit kernel and itty bitty command processor that fits on a floppy. I can't recall the link. http://menuetos.net/index.htm is similar.
 
...Trying to run a current 64-bit operating system would take forever; actions that take a second on real hardware would end taking more than a day on an XT. Anything more than a 64-bit counterpart to DOS* would be untenable.
No problem; the OP obviously has way too much time on his hands anyway... ;-)
 
The 8086 is Turing-complete, no? So it can emulate any other Turing-complete machine. All you need is storage and time.

In point of fact, a classical universal Turing machine with tape storage could run a 64 bit OS. But not in your lifetime...

Or don't they teach computability theory in school any longer?
 
Well, since in #4 we went from physical to virtual...

... and I think they went from compatibility to acceptance. :p

:D
 
Memory is your biggest constraint. The XT had a maximum of 640KB and an Intel core i3 has 512KB of L2 Cache alone, L3 is 3MB+. So an XT wouldn't even have enough memory to emulate the basic cpu, let alone the main memory.

You could seek other options such as a HDD to give you more virtual memory, but I think debugging the emulator would be impossible because of the time each test would take.
 
I was planning that the emulated chip would be a early 64-bit Sempron with only 256kB of cache between L1 and L2. With a theorectical emulator that could take advantage of EMS and a XT filled to the brim with EMS, when running a small DOS sized 64-bit OS, the performance suggests that listing a directory might finish over a weekend.

Unfortunately, I do not know of any emulator that can run on the XT that could easily be modified to accept either 32 or 64-bit guests. I know of Z-80 emulation; I think there was a 6502 emulator; and I vaguely recall that one early PDP-11 emulator could run on an 8088 (Hey, its 16-bit; step in the right direction at least). I did a bit more searching than is sensible trying to find a starter point so the OP could cobble together an emulator and see what happens.
 
I was planning that the emulated chip would be a early 64-bit Sempron with only 256kB of cache between L1 and L2. With a theorectical emulator that could take advantage of EMS and a XT filled to the brim with EMS, when running a small DOS sized 64-bit OS, the performance suggests that listing a directory might finish over a weekend.

Unfortunately, I do not know of any emulator that can run on the XT that could easily be modified to accept either 32 or 64-bit guests. I know of Z-80 emulation; I think there was a 6502 emulator; and I vaguely recall that one early PDP-11 emulator could run on an 8088 (Hey, its 16-bit; step in the right direction at least). I did a bit more searching than is sensible trying to find a starter point so the OP could cobble together an emulator and see what happens.

While I don't think this would be possible in terms of processing time, I do think that if you worked on it you woulld learn a lot about the XT, 64-bit processors and whatever OS along the way. It's true that it has limited practical value, but then virtually all use of vintage computers is more about the fun of using and exploring them than genuine practical considerations.
 
My whole point is that the word size or address space of the host machine has no bearing on whether something is emulatable or not. You do need sufficient storage, but that's about it. Heck, you could emulate a 64-bit Sempron without a computer---just use a pencil and a LOT of paper. You'll probably die of old age before you get very far, but there's nothing in theory that says it can't be done.

Back in the day, I was reminded of computation being mostly a matter of storage and time.

CDC was selling a very large supercomputer in the early 70s called the STAR-100. The problem is that the machine was physically huge and very expensive. Development time on the machine was therefore quite limited. To alleviate that, a much smaller machine, dubbed the STAR-1B, was developed. It was something like 3 racks or so of cards, compared to a roomful of gear. It used the same I/O stations and peripherals as the real thing. And it ran at something less than 1/100 of the speed of the real thing. An operating system kernel compilation took all night--if you were lucky. But compared to hopping a plane and flying 2000 miles to the development lab and queuing for time, it was a bargain, I suppose.
 
I vaguely seem to recall someone trying something like this booting MacOS X on an 68K Mac using an emulator. As I recall after a month or so it still hadn't finished booting up and was interrupted by a power outage.
 
Mike Chambers I seem to recall compiled his fantastic fake86 to run an an XT; so an XT emulating an XT; in other words running code entirely through emulated instructions (no binary code from the 'guest', to use virtualisation-speak, is executed directly). I can't find the post now; perhaps Mike might chip-in with the outcome!
 
Mike Chambers I seem to recall compiled his fantastic fake86 to run an an XT; so an XT emulating an XT; in other words running code entirely through emulated instructions (no binary code from the 'guest', to use virtualisation-speak, is executed directly). I can't find the post now; perhaps Mike might chip-in with the outcome!

I think what would be more useful and easier is to emulate a 286 or 386, and an XT can take 32mb of ems and using the XT-IDE project controller an IDE hard disk upto 8-10gb or SSD could be used for storage, and most 16 ISA VGA cards will work in an XT, you could run a lot of software on an emulated 386 with 32mb of ram, but not fast, lol but some could be usable!
The 32bit 386 cpu is the base for all modern X86 type cpus!
windows 95a will run on a 386sx at 16mhz with 4mb of ram ok~ and with 8mb will be usable, windows 2000 and maybe xp can be tricked into installing on a 386!
 
Last edited:
The point is that the host hardware instruction set or architecture has little to do with whether or not any computer can be emulated. All you need is a Turing-complete host and a sufficient amount of storage--and a lot of time. Given sufficient storage, you could emulate a P4 on an Intel 4004.
 
I think what would be more useful and easier is to emulate a 286 or 386, and an XT can take 32mb of ems and using the XT-IDE project controller an IDE hard disk upto 8-10gb or SSD could be used for storage, and most 16 ISA VGA cards will work in an XT, you could run a lot of software on an emulated 386 with 32mb of ram, but not fast, lol but some could be usable!
The 32bit 386 cpu is the base for all modern X86 type cpus!
windows 95a will run on a 386sx at 16mhz with 4mb of ram ok~ and with 8mb will be usable, windows 2000 and maybe xp can be tricked into installing on a 386!

The 386sx-16 would be about 8 times as fast as an XT. If going the other way and with a perfect emulator, all software would take at least 8 times as long to run on the XT as compared to the 386sx. With a normal emulator somehow modified to run on a XT, I expect that the overhead of an emulator will make everything take about 100 times as long. Anyone who wants to run vintage software should pick up correct era hardware or use a much newer system with emulator.

It is an interesting thought experiment and was fun trying to calculate how many 808x cycles would be needed to handle later instructions. It would be too slow for anyone not in suspended animation to use.
 
The 386sx-16 would be about 8 times as fast as an XT. If going the other way and with a perfect emulator, all software would take at least 8 times as long to run on the XT as compared to the 386sx. With a normal emulator somehow modified to run on a XT, I expect that the overhead of an emulator will make everything take about 100 times as long. Anyone who wants to run vintage software should pick up correct era hardware or use a much newer system with emulator.

It is an interesting thought experiment and was fun trying to calculate how many 808x cycles would be needed to handle later instructions. It would be too slow for anyone not in suspended animation to use.

it all depends on the emulator efficiency, so you think the emulated 386 on an XT could be the equivalent of a 0.16mhz 386? if you worked out the expected emulator efficiency, you could use a program like dosbox to test what it would be like to use such a computer?

But even at 100x slower that is still only 1.6 minutes to do the same as a real 386 16mhz cpu in 1 second, or 1.6 hours per 1 minute?
you could do the equivalent of 7.5 minutes work on a 386 16mhz overnight on the XT! most of the time a cpu is idle

The point is that the host hardware instruction set or architecture has little to do with whether or not any computer can be emulated. All you need is a Turing-complete host and a sufficient amount of storage--and a lot of time. Given sufficient storage, you could emulate a P4 on an Intel 4004.

I would think 32mb of ram and 8gb or more of storage should do!

it is an interesting thought experiment!!!
 
Last edited:
Back
Top