News for hackers. Stuff that matters.
Re:86Box: Why Not Pentium III? by spijdar on Friday April 08, 2022 @06:54AM (#30955449)
Something alluded to, but not really elaborated on, is what the motivation is for emulating progressively newer CPUs, versus virtualizing them.

With old hardware, the sort I imagine 86Box is mainly used to emulate (it's how I use it, anyway), old OSes rely on specific behavior of old systems and peripherals that can't be easily virtualized through KVM + QEMU or the like. A mixture of processors being too fast and behaving subtly different, possibly due to differences in "undefined behavior".

I doubt there's a binary cutoff point where it's obviously more useful to virtualize or emulate, but it's obvious that emulating an 80386 is ideal, and virtualizing a "Core 2 Duo" is ideal, for running software from those respective periods. Is the Pentium III desirable to emulate, and simply not computationally feasible, or is this just people wanting to make cool things for cool things' sakes? Or a little of both?

Re:86Box: Why Not Pentium III? by captainmuon on Friday April 08, 2022 @07:50AM (#30955791)
What about old versions of VirtualBox? As far as I understand, VirtualBox originally used some kind of dynamic recompilation to run on hosts without modern virtualization (like VT-D). It used to run most instructions directly on the host CPU, emulating only certain ones. I think they removed it at some point, though. Is it not accurate enough? I remember it used to run OS-X much better than other virtualizers.
Re:86Box: Why Not Pentium III? by yuuko11 on Friday April 08, 2022 @10:22AM (#30957116)
I'm not sure why this was ever dropped, if I remember right back in the early 2010s, this ran XP very usable on a C2D XP laptop. Pretty sure I even got 7 working at some point, the only real limit was that it absolutely could not run 64 bit vms.
Re:86Box: Why Not Pentium III? by oso2k on Friday April 08, 2022 @04:16PM (#30962017)
It's because dynamic recompilation as done in VirtualBox & QEmu is on the order of 10x slower than CPU accelerated/supported virtualization. You don't notice that (as much) with DOS or a simple Windows 9x VM. But you will notice that if you're running busy SQLServer, ISS, .Net, Linux, PostgreSQL, MySQL Servers.
Re:86Box: Why Not Pentium III? by shadowofneptune on Friday April 08, 2022 @09:40AM (#30956650)
I pulled out my version of 86Box to check, and it does have mandatory dynamic recompilation if you try to emulate later chips.
Re:86Box: Why Not Pentium III? by leeter on Friday April 08, 2022 @09:14AM (#30956412)
I recall awhile back Linus Tech Tips pointed out that the primary failure point for old machines wasn't the CPUs which tend to be piling up cheaply (I can't say how true this is for pre PIII parts) but instead the motherboards.

I wonder if in some sense there isn't a market for someone to just make new motherboards instead for this stuff using modern parts. I realize there are some licensing issues after a certain point, but in theory everything up to a PIII should be doable. Particularly since memory controllers are in the chipset there are options to use things like modern ram chips and then 'downgrade' performance to be compatible in the chipset. This could also be used to allow for modern M.2 SATA drives to be run in IDE emulation mode locally or even have SD/CF options directly on the board.

The main downside at that point is space of course, hardware always takes up more space than an emulator ;)

Re:86Box: Why Not Pentium III? by drewzero1 on Friday April 08, 2022 @11:23AM (#30958318)
I kind of miss add-in processor cards to allow a computer to run software from another architecture. Those devices were basically a whole computer on a card or add-on that would use the host computer for I/O with some level of integration. Stuff like the Apple IIe card for the Macintosh LC, or the MacCharlie sidecar for the original Macintosh that allowed it to run PC programs.

I bet there are modern PCI cards out there that can add a hard-to-emulate processor to a consumer/prosumer-grade system, but I'm not sure what to search for.

Re:86Box: Why Not Pentium III? by maccard on Friday April 08, 2022 @11:30AM (#30958460)
Honestly that's pretty close to what a usb c dock is.
Re:86Box: Why Not Pentium III? by emteycz on Friday April 08, 2022 @02:59PM (#30961143)
Well if we're going that far, why not just connect your phone to your PC and adb shell into it?
Re:86Box: Why Not Pentium III? by sidewndr46 on Friday April 08, 2022 @10:11AM (#30956969)
For the Intel chips up to and including the Pentium 4 licensing a chipset would not be an issue. VIA made chipsets back when those products were new. I think there was a lawsuit about it, but VIA prevailed. You could license the chipset from them, then use it with an authentic Intel CPU.

https://en.wikipedia.org/wiki/List_of_VIA_chipsets#:~:text=V....

But to your original point: CPUs don't really fail unless abused is my understanding. The bad ones are filtered out at the factory before they ever get to consumers.

Re:86Box: Why Not Pentium III? by leeter on Friday April 08, 2022 @10:43AM (#30957496)
That might even be ideal insofar as the chipset is driver compatible with equivalent from the time. Via wasn't anything special but they were super common and thus decently supported IIRC.
Re:86Box: Why Not Pentium III? by Zardoz84 on Friday April 08, 2022 @11:24AM (#30958358)
Except Pentium 4
Re:86Box: Why Not Pentium III? by jbjbjbjb on Friday April 08, 2022 @11:45AM (#30958686)
There is a precedent for that with the reproduction Amiga motherboards that came out a couple of years ago. Those were actually just pcbs but something more accessible would be cool.
Re:86Box: Why Not Pentium III? by happycube on Saturday April 09, 2022 @11:03AM (#30968624)
Chinese companies are making new boards for >=Nehalem Xeons using recycled server chipsets, mostly because they're still OK for gaming on a budget.

If there was a demand they could probably do the same for older models if they can harvest enough chipsets. There were quite a few 430HX's on embedded modules that could be recycled...

Re:86Box: Why Not Pentium III? by kitsunesoba on Friday April 08, 2022 @11:32AM (#30958492)
This is an avenue I’d like to see more pursuit of, and not just for x86 machines — new PowerPC mac motherboards that can be fitted into standard ATX PC cases and can be powered by unmodded off the shelf PSUs would be huge.
Re:86Box: Why Not Pentium III? by crest on Friday April 08, 2022 @12:33PM (#30959256)
Where will you get your supply of custom chipsets? Do you want to reverse engineer Apple's already badly documented chipsets and reimplement them on fast enough FPGAs maybe even support more modern RAMs or improved off-chip caches? It would be nice to have a mATX NewWorld Mac you can maintain for playing old MacOS games, but the farther you go into the G4 (or even worse G5) era the more advanced GPUs you would have to reimplement as well. The PPC6xx era 2D on-board graphics may be in reach of such a project, but I can't see anyone without Nvidias active support releasing a Quadro FX 4500 compatible GPU clone.
Re:86Box: Why Not Pentium III? by kitsunesoba on Friday April 08, 2022 @01:06PM (#30959727)
Chipsets indeed prove a challenge, but it’s not insurmountable. QEMU’s emulation of a G3 tower is a decent example of this.

There’s decent availability of PCI and AGP GPUs supported by OS 9 and early OS X, especially if you include PC variants that can be flashed to work with Mac OS, so I wouldn’t worry about video too much in the short term… just make sure the motherboard has a PCI or AGP slot.

Re:86Box: Why Not Pentium III? by dehrmann on Friday April 08, 2022 @12:45PM (#30959425)
Maybe you could do a hardware version of that the emulation community does and say "this FPGA should act like a chipset X, here's how to program it, but don't ask us for the blob."
Re:86Box: Why Not Pentium III? by chrononaut on Friday April 08, 2022 @06:57AM (#30955471)
> old OSes rely on specific behavior of old systems and peripherals that can't be easily virtualized through KVM + QEMU or the like

This sounds interesting. Do you have examples of these behaviors where something is faulty using standard virtualization versus hardware-level emulation? (I know clock speed can make a difference.)

Re:86Box: Why Not Pentium III? by AshamedCaptain on Friday April 08, 2022 @07:00AM (#30955482)
AMD has relaxed a bit coherency behavior after page table manipulation leading to Windows 9x crashes:

https://blog.stuffedcow.net/2015/08/win9x-tlb-invalidation-b...

These crashes are not related to clock speed. While Windows 9x already cannot run on these CPU due to clock speed, the clock speed issues have mostly been patched in 9x.

Re:86Box: Why Not Pentium III? by exfascist on Friday April 08, 2022 @09:23AM (#30956487)
Windows 9x couldn't even run on ~2007 era Intel Macbooks because of the A20 gate.
Re:86Box: Why Not Pentium III? by AshamedCaptain on Friday April 08, 2022 @09:41AM (#30956665)
Yes it can: https://www.youtube.com/watch?v=9si1le2EOGU (2009 iMac, they just use some himem.sys replacement).

And 9x can still be virtualized even on the latest Intel iMac, with nested paging enabled (or not). On AMD, you need to disable nested paging due to the above change in behavior.

Re:86Box: Why Not Pentium III? by userbinator on Friday April 08, 2022 @09:40AM (#30956649)
The Intel Macs were a strange not-quite-PC-compatible; the BIOS was EFI, and I believe things like the 8042 (which controls A20) weren't present although I'd have to check the schematic to be sure. That said, I'd be surprised if port 92h "fast A20" wasn't present --- that's been in nearly every chipset since ~386 or so.
Re:86Box: Why Not Pentium III? by andrewf on Friday April 08, 2022 @07:11AM (#30955555)
This article goes into some specifics for OS/2: http://www.os2museum.com/wp/why-os2-is-hard-to-virtualize/
Re:86Box: Why Not Pentium III? by hulitu on Friday April 08, 2022 @07:18AM (#30955588)
win 98 had a bug which would cause win98 to not boot on faster AMD systems.