Page 1 of 2

Legacy support in modern computers

Posted: Mon Sep 10, 2012 7:32 pm
by azblue
From what I understand, things like the PIT and PIC are no longer with us, but are usually emulated in modern BIOSes/chipsets, etc, so legacy OSes and software can still work correctly.

I like having good legacy support (I have DOS installed on a partition on my main computer and run other old programs). I'm going to be buying a new computer soon, and I was curious if anyone is aware of any motherboards that have been dropping legacy support that I should avoid, or can I be sure that anything omitted is at least emulated?

In short, is legacy support still universal, or are there pitfalls?

Re: Legacy support in modern computers

Posted: Mon Sep 10, 2012 11:23 pm
by Combuster
IIRC All x86 macintoshes lack legacy support entirely, so don't get one of those. Saves you quite a bit of money as well.

Re: Legacy support in modern computers

Posted: Tue Sep 11, 2012 12:36 am
by bluemoon
Run legacy OS within emulators. For instance, DOSBOX can run almost everything in the era including VESA drivers and DPMI support.

Re: Legacy support in modern computers

Posted: Tue Sep 11, 2012 3:35 am
by Brendan
Hi,
azblue wrote:In short, is legacy support still universal, or are there pitfalls?
Unfortunately; "white box" hardware manufacturers (excluding Apple machines) only really care about Windows. More specifically, they care about the versions of Windows that large companies use (and more recent versions of Windows). Microsoft started supporting UEFI on 80x86 with Vista service pack 1 in 2008.

Currently there's still too many companies still using Windows XP (which doesn't support UEFI). When enough of these companies have upgraded to any newer version of Windows, hardware manufacturers can stop caring about legacy/BIOS compatibility.

My guess is that "legacy free" systems will start being common in the next few years (and once it starts it'll be an avalanche, as there's only a few firmware manufacturers).

Of course this prediction doesn't include Apple (already UEFI) or embedded systems like tablets, smartphones, etc (which are likely to all be "legacy free" when Windows 8 is released next month if they're not already).


Cheers,

Brendan

Re: Legacy support in modern computers

Posted: Tue Sep 11, 2012 9:41 am
by Owen
x86 Macs have pretty much all the legacy hardware other than the keyboard controller (whether it does anything useful or not is another matter - but then again, when was the last time you saw a COM port on a machine?)

Windows XP doesn't require the keyboard controller, so machines without one are now viable. As I've reported many times before here, prodding where the keyboard controller would be generally does Very Bad Things (TM) to the machine.

Re: Legacy support in modern computers

Posted: Wed Sep 12, 2012 2:19 am
by Brendan
Hi,
Owen wrote:x86 Macs have pretty much all the legacy hardware other than the keyboard controller (whether it does anything useful or not is another matter - but then again, when was the last time you saw a COM port on a machine?)

Windows XP doesn't require the keyboard controller, so machines without one are now viable. As I've reported many times before here, prodding where the keyboard controller would be generally does Very Bad Things (TM) to the machine.
To cut costs, x86 Macs use mostly the same "off the shelf" hardware that generic x86 boxes use. It's only really the firmware that is actually different. For this reason x86 Macs share the same fate as generic x86.

Here's a summary of legacy devices (now, and the effect UEFI will eventually have):
  • Keyboard controller - already optional. Lots of new hardware doesn't have one, and it's emulated via. SMM and USB devices. This emulation isn't needed on UEFI.
    Floppy controllers - very optional and missing from a lot of new hardware
    Serial and parallel controllers - also optional (replaced by USB)
    PIT - optional. Not too sure how many computers actually have a PIT and how many emulate it using SMM/HPET. For those that emulate, the PIT emulation isn't needed for UEFI.
    RTC/CMOS - still mostly here (HPET can replace the periodic IRQ, but not the time/date or CMOS). This is probably the only legacy hardware that I can't imagine disappearing.
    PIC - still here, but only for BIOS emulation. Can be removed once BIOS emulation isn't necessary (use IO APIC instead).
    ISA DMA - still here, but I can't really see why if the hardware that uses it (floppy controller, serial/parallel) isn't present.
    IDE/ATA disk controllers - already gone. Replaced by SATA and AHCI (with ATA emulation in hardware that isn't needed once BIOS emulation is gone).
    VGA - still here, but I can't see why it'd be necessary once BIOS emulation is gone
That covers everything I can think of... ;)


Cheers,

Brendan

Re: Legacy support in modern computers

Posted: Wed Sep 12, 2012 5:59 am
by Owen
Brendan wrote:Keyboard controller - already optional. Lots of new hardware doesn't have one, and it's emulated via. SMM and USB devices. This emulation isn't needed on UEFI.
And lots of hardware doesn't have one, and uses the keyboard controller I/O ports to talk to the embedded controller (Hey, it's already built into the chipset!). If ACPI says there is no keyboard controller, there is no keyboard controller, and ignore that at your peril
Brendan wrote: Floppy controllers - very optional and missing from a lot of new hardware
Serial and parallel controllers - also optional (replaced by USB)
Are these actually gone, or is it more a matter of "they exist but have nothing connected to them"? I know, they both pretty much amount to the same :P

Re: Legacy support in modern computers

Posted: Wed Sep 12, 2012 6:16 am
by Combuster
There's not much of a problem when something is just missing, it becomes a problem when there's something else responding to the same addresses.

COM ports have traditionally been varied already, typically in number, so you can expect at least COM3/4 to be randomly missing on any hardware from now to 20 years ago. And with lesser probabilites, the same could be said of the remaining serial and parallel ports. There's still the proper way of using the BDA to go looking for them, which means having none is still legacy-compliant.

Re: Legacy support in modern computers

Posted: Wed Sep 12, 2012 8:36 am
by bluemoon
How can we missed the PC Speaker? (Although mac do come with internal speaker, I guess it's not implemented as "PC Speaker")

Re: Legacy support in modern computers

Posted: Wed Sep 12, 2012 11:21 pm
by rdos
Brendan wrote:Floppy controllers - very optional and missing from a lot of new hardware
That has more to do with floppies being obsolete rather than being an legacy issue.
Brendan wrote: Serial and parallel controllers - also optional (replaced by USB)
Wrong. There is no USB-to-serial converter that has the same stability as the real serial port + many PCs for unattended environments still have 2 or 4 serial ports.
Brendan wrote: PIT - optional. Not too sure how many computers actually have a PIT and how many emulate it using SMM/HPET. For those that emulate, the PIT emulation isn't needed for UEFI.
Software emulation doesn't cost hardware developpers anything and thus is not likely to disappear. A more likely scenario is that the emulations will become more and more broken to a point where they become meaningless. This is what we see with VBE.
Brendan wrote: IDE/ATA disk controllers - already gone. Replaced by SATA and AHCI (with ATA emulation in hardware that isn't needed once BIOS emulation is gone).
Not likely either. In my experience, many AHCI implementations are severely broken and error-prone. For instance, the CQ57 machine that I bought a few years ago, had the BIOS setup for AHCI. When I bought a new machine, it was setup for IDE. Both run Windows 7.

Re: Legacy support in modern computers

Posted: Thu Sep 13, 2012 6:11 am
by Brendan
Hi,
rdos wrote:
Brendan wrote:Floppy controllers - very optional and missing from a lot of new hardware
That has more to do with floppies being obsolete rather than being an legacy issue.
Brendan wrote: Serial and parallel controllers - also optional (replaced by USB)
Wrong. There is no USB-to-serial converter that has the same stability as the real serial port + many PCs for unattended environments still have 2 or 4 serial ports.
So you're saying that many (not all) PCs for unattended environments (which doesn't include normal PCs) still have serial ports?

Find me a laptop made this year that has a serial port. It should be very easy to find one if serial ports aren't optional.
rdos wrote:
Brendan wrote:PIT - optional. Not too sure how many computers actually have a PIT and how many emulate it using SMM/HPET. For those that emulate, the PIT emulation isn't needed for UEFI.
Software emulation doesn't cost hardware developpers anything and thus is not likely to disappear. A more likely scenario is that the emulations will become more and more broken to a point where they become meaningless. This is what we see with VBE.
So you're saying that a hardware manufacturer wouldn't need to pay for a programmer to implement support for the PIT emulation that nobody will ever want or use for UEFI?
rdos wrote:
Brendan wrote:IDE/ATA disk controllers - already gone. Replaced by SATA and AHCI (with ATA emulation in hardware that isn't needed once BIOS emulation is gone).
Not likely either. In my experience, many AHCI implementations are severely broken and error-prone. For instance, the CQ57 machine that I bought a few years ago, had the BIOS setup for AHCI. When I bought a new machine, it was setup for IDE. Both run Windows 7.
In your experience there were many AHCI implementations (broken or otherwise); and this is proof that AHCI doesn't exist in hardware?


Cheers,

Brendan

Re: Legacy support in modern computers

Posted: Thu Sep 13, 2012 8:11 am
by rdos
Brendan wrote:Find me a laptop made this year that has a serial port. It should be very easy to find one if serial ports aren't optional.
Laptops are not used in unattended systems. Laptops are for typical "desktop" uses.
Brendan wrote:So you're saying that a hardware manufacturer wouldn't need to pay for a programmer to implement support for the PIT emulation that nobody will ever want or use for UEFI?
No, because those things are already part of the BIOS they purchase. UEFI or not.
Brendan wrote:In your experience there were many AHCI implementations (broken or otherwise); and this is proof that AHCI doesn't exist in hardware?
In my experience, SATA discs operated in IDE mode work far better than SATA discs operated with AHCI. Obviously, this also is the case when used with Windows 7, otherwise Compaq would not have changed from AHCI to IDE on their CQ57 laptop.

Re: Legacy support in modern computers

Posted: Thu Sep 13, 2012 1:26 pm
by Owen
rdos wrote:
Brendan wrote:Find me a laptop made this year that has a serial port. It should be very easy to find one if serial ports aren't optional.
Laptops are not used in unattended systems. Laptops are for typical "desktop" uses.
Doesn't mean they aren't disappearing from common hardware
rdos wrote:
Brendan wrote:So you're saying that a hardware manufacturer wouldn't need to pay for a programmer to implement support for the PIT emulation that nobody will ever want or use for UEFI?
No, because those things are already part of the BIOS they purchase. UEFI or not.
The PIT emulation is a part of the BIOS emulation module that they purchase separately
rdos wrote:
Brendan wrote:In your experience there were many AHCI implementations (broken or otherwise); and this is proof that AHCI doesn't exist in hardware?
In my experience, SATA discs operated in IDE mode work far better than SATA discs operated with AHCI. Obviously, this also is the case when used with Windows 7, otherwise Compaq would not have changed from AHCI to IDE on their CQ57 laptop.
Because IDE is the default provided by most BIOSes, because most motherboard manufacturers don't want to field support calls from people trying to run Windows XP?

No doubt HP factored this into their decision to use IDE (i.e. the performance difference is 2%, the hard drive isn't hot plugable, and some people will install Windows XP on it and get very confused if we enable AHCI by default)

Re: Legacy support in modern computers

Posted: Thu Sep 13, 2012 1:35 pm
by rdos
Owen wrote:No doubt HP factored this into their decision to use IDE (i.e. the performance difference is 2%, the hard drive isn't hot plugable, and some people will install Windows XP on it and get very confused if we enable AHCI by default)
Might be except for the fact that their BIOS is of the UEFI-type, and doesn't contain any setting for IDE/AHCI (its hidden in some way). In addition to that, their laptop comes with Windows 7 preinstalled, and they have used all 4 primary partitions on it so it is impossible to install something else without "killing" their preinstalled software. Therefore, I doubt few people will install XP or Linux on them.

Re: Legacy support in modern computers

Posted: Thu Sep 13, 2012 8:52 pm
by JackScott
Brendan wrote:Find me a laptop made this year that has a serial port.
My own laptop, an ASUS B33E, has one in its docking station. Your point still stands though, I'd be fairly confident that it's implemented via USB (that said, I haven't checked).