Hardware compatibility rant

If it doesn't fit anywhere else, drop it in here. (not to be used as a chat/nonsense section)

Moderator: Moderator Team

Post Reply
SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Hardware compatibility rant

Post by SomeGuy » Sun Jun 03, 2012 8:46 pm

An off topic rant, but this does affects ReactOS:

Devices that were once standard to all "IBM PC Compatible" computers have all but disappeared from recent motherboards. Worse yet, for most of these devices there is no good alternative available.

For the longest time, it was standard for "IBM PC" clone motherboards to have:
1 Floppy Disk Controller that could attach 2 floppy drives 360k-1.44mb
2 Serial COM ports (16550 compatible UARTS)
1 Parallel port
2 IDE ports that supported 2 IDE channels each (a Compaq invention, but still standard)
2 PS/2 Ports for a mouse and keyboard

Each of these devices had standard I/O ports and resources for compatibility with software and OSes.

Without these on the motherboard, there are very few good alternatives.

Floppy disk drives:
* PCI Floppy Disk Contrllers simply do not exist.
* The Lack of a PC compatible controller makes it impossible to use FDDs on older OSes and utilities.
* USB Floppy drives require operating system USB support.
* Current motherboards provide USB BIOS services for DOS, however this BIOS support is often poor and likely to go away soon.
* External USB FDDs can be found, but not internal USB ones.
* Current USB Multi-memory readers with FDDs are a lie - they require a motherboard FDD connector.
* USB floppy drives often don't support 720k formats, or other non-standard formats.
* Recent Motherboards with FDCs only support one drive.
* Newer motherboards omit FDCs.

Serial and Parallel ports:
Newer motherboard omit Serial/Parallel. Thankfully there are PCI/PCIe cards that provide 16550 and LPT compatible serial and parallel ports. However expansion cards have the following drawbacks:
* PCI cards do not default to the standard addresses making them incompatible with some OSes or COM programs. (ReactOS works!)
* Only a vendor supplied DOS utility can reassign the ports for compatibility with DOS programs.
* Modern motherboards are providing fewer and fewer expansion slots.

IDE ports:
* Newer motherboards omit IDE ports.
* PCI IDE cards exist,
- but require a manufacturer's driver to operate
- Except they usually do provide BIOS support for DOS and bootloaders.
* Current motherboards provide an optional "IDE Compatibility" mode, but this may go away.
* There is no fully standard software interface for SATA chipsets, each model is different.
* Those SATA chipsets that implement AHCI usually treat it a secondary to their own proprietary interfaces (At least the ones I have seen).

On the brighter side, unlike floppy drives, devices with an IDE interface can attach to an SATA controller with an adapter, where they should work 100% if the OS recognizes the SATA controller.

PS/2 ports:
* Current motherboards often only include 1 PS/2 port, which is not wired for use with a splitter.
* Newer motherboards omit PS/2 ports.
* No PCI cards exist that provide a software compatible PS/2 keyboard mouse controller.
* Current PCI cards that have PS/2 ports on them are actually USB cards with a built in PS/2 to USB adaptor.

Ironically, on the original IBM PC all of these except the keyboard controller were optional ISA cards.

Should I even mention the stupid things manufacturers try to do with USB? Manufacturers seem to love stuffing everything in USB these days.
USB Sound cards?! Seriously, the latency on those has got to be crazy bad. USB Network cards?! Perhaps good enough for browsing the web, but any PCI card will be much faster and efficient. But people are somehow conditioned to think that if it doesn't resemble a Rube Goldberg machine, then it is somehow not "modern".

While large stores like Newegg still have a few motherboards with compatible components, most of these are older, less capable, models of motherboard.

Here is one link I have been keeping an eye on:
http://search.directron.us/newsearch.ph ... therboards
This lists the motherboards with FDCs on Directron. I'd bet by the end of the year this will return no results.

Stupidly, Newegg doesn't seem to permit searching text in the full item specifications. But even if they did, their motherboard specs usually fail to list these devices even if it has them!

It is really sad and crazy. The garbage they are selling these days can hardly even be considered "IBM PC Compatible" any more. At the rate we are going, soon all "computers" will be locked down, stripped down, iPad/iPhone style devices. Time to stock up on parts from eBay! :(

PurpleGurl
Posts: 1778
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Hardware compatibility rant

Post by PurpleGurl » Mon Jun 04, 2012 2:49 am

I was going to say I found an internal USB floppy, but upon closer examination and reviews, I discovered it was a card reader like you told about, where the card-reader portion plugs onto a USB header, but the floppy portion plugs to a FDD connector.

While a good BIOS should let you boot an external floppy drive into DOS, you are right about the shortcomings.

For SATA, there are converters for both directions. If you need to convert from an IDE port to a SATA device (on an older PC), there are dangle cards (SATA 1.0) and PCI to SATA 1.0 cards. The problems there include:

1. Being unable to plug in a dangle card. That would be like if it plugs onto the SATA drive and the case requires that the drive be mounted in a way where the card cannot fit. I was going to get a card like that when I realized the card would never fit on the drive once the drive was mounted. However, there were also cards that plugged into the motherboard onto the IDE connector. Mounting was no problem with those, but you would require 2 power cords - one for the converter and one for the drive. The drive-mounted ones only need one power cord since it is split on the board and has a SATA power socket beside the SATA data socket.

2. Slow dangle cards. They cannot convert from IDE to SATA 2, though a SATA 2 drive might be usable, depending. These tend to be slower than PCI bus cards (20-40 mb/s), but if you have SATA driver troubles with the OS and blue screens, then temporarily using one of these may be enough to let you reinstall the drivers for a faster SATA card.

3. Slow PCI cards. Cards that fully follow standard PCI standards and go into a standard PCI socket (excludes PCI-X and PCI-E) are not physically possible of communicating at SATA 2 or higher speeds (bus too narrow and too slow). They might be able to communicate with drives that require a 2.0 controller, but it cannot be higher than 1.0 speed. Very often, they require that you jumper the drive to operate at 1.0 speeds.

Going the other way like you are talking about, where you convert from a newer port to an older drive, I have no experience, though I imagine that experience would go smoother, though with possible performance issues. Sometimes you can use the above type of dangle cards for this, but usually, you would need to get the exact type of dangle card for the application.

They do make even USB to PATA/SATA external adapters. I am sure that would be a poor choice for a primary drive, assuming the BIOS could be configured to boot from it.

On parallel sockets, there are even such things as a USB to a 36-pin Centronics plug (the plug on the printer end), but that would only work with devices that have a Centronics socket, and cannot work on other parallel devices which require a 25-pin (?) socket. I would assume the circuit board would be in the printer end. Some converter cables contain a DB-25 parallel and also contain a DB-9 serial socket. These type solutions have all the problems you outline and possible driver compatibility issues. If the driver can use a "virtual parallel" port that maps to USB, that is fine, but without that, the driver might not find it.

On one hand, I wouldn't mind less sockets I would be less likely to use, particularly if it improved performance. However, modern BIOSes are even more complicated, and machines with lots of RAM and CPUs with large caches may take longer than the OS to boot.

On sound cards, USB solutions are not necessarily as bad as they seem. Some motherboards already split the sound circuitry between the bridge and the USB controller. Before anyone says it, I am not mistaken. My other machine was like that, according to the manufacturer. The chipset contained the DC-97 controller, but the AC-97 controller was wired through the USB on the board. I first discovered this when I was disabling USB to test ReactOS and found I lost sound in Windows XP as well. Weird, huh? I do wonder if a USB-only solution would be worse.

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: Hardware compatibility rant

Post by SomeGuy » Mon Jun 04, 2012 9:40 pm

The SATA/IDE hardware connections aren't much of an issue thankfully. For adding SATA drive to older machines I really like the Vantec CB-SP200. Works 100% (Avoid the Kingwin adapters like the plague!), is fully software compatible since you are still using your IDE chipset, and you can get rid of the bulky IDE cables too. Speed is usually not an issue since the drives are usually still faster anyway.

But that reminds me of another piece of functionality that has been dropped.... SATA CD drives, and even some late model IDE CD drives no longer implement the analog CD-Audio out! That means old (mostly DOS) games that try to play CD Audio tracks can no longer do that!

There is probably a software solution (either reading the audio as data, or converting to local MP3s) but I am not familiar with any off hand.

The other day at the local Microcenter I picked up what I think was their very last motherboard with a real Floppy Disk Controller. Very depressing.

PurpleGurl
Posts: 1778
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Hardware compatibility rant

Post by PurpleGurl » Fri Jun 15, 2012 3:03 am

SomeGuy wrote:The SATA/IDE hardware connections aren't much of an issue thankfully. For adding SATA drive to older machines I really like the Vantec CB-SP200. Works 100% (Avoid the Kingwin adapters like the plague!), is fully software compatible since you are still using your IDE chipset, and you can get rid of the bulky IDE cables too. Speed is usually not an issue since the drives are usually still faster anyway.
Actually, that was what I was talking about. They are incredibly slow from my experience, but it certainly has its uses, like fixing failed SATA drivers (just bring up the machine with this and download/repair the drivers). I was replacing an IDE drive in a neighbor's machine. I got much better throughput using a Sabrent PCI SATA controller card with the Silicon Image chipset. I flashed it with the latest non-RAID version of its firmware since only one drive will go in the machine and she doesn't need to be bothered with another delay on an old Dell Dimension. Too bad that the PCI bus is not capable of SATA II and faster. There are SATA cards, but they are for PCI-X (not regular PCI nor express). Some folks attempt to use converters like you shared above to go the other way (new motherboard to old devices), with mixed results.

These cards and converters for older PCs won't work forever. Very few SATA drives these days are SATA I compatible. A few have a jumper for this, but many don't, or they just autodetect between II and III.
But that reminds me of another piece of functionality that has been dropped.... SATA CD drives, and even some late model IDE CD drives no longer implement the analog CD-Audio out! That means old (mostly DOS) games that try to play CD Audio tracks can no longer do that!
I didn't notice that until now, and you are correct. Interestingly, the traces are often still there. If someone knew what they were doing and were not afraid of voiding any warranty, they could in theory solder the connections, assuming that other components are not missing. But then you run into the other end of the problem. So lets say you can run an audio cord out of the drive. What do you do with the other end of it when newer motherboards might not have that socket either?
The other day at the local Microcenter I picked up what I think was their very last motherboard with a real Floppy Disk Controller. Very depressing.
Ah. How sad. At least Tiger Direct has floppy drives:
http://www.tigerdirect.com/applications ... &CatId=287

I cannot find any floppy controllers. If you do a search on the term, you end up with a SATA plus IDE controller. At least that provides a PATA socket.

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: Hardware compatibility rant

Post by SomeGuy » Fri Jun 15, 2012 7:57 pm

PurpleGurl wrote:These cards and converters for older PCs won't work forever. Very few SATA drives these days are SATA I compatible. A few have a jumper for this, but many don't, or they just autodetect between II and III.
I've never had any problems connecting newer, faster (3 gb/s, 6gb/s) drives to adapters for IDE. All of the current adapters, even if they only use 1.5 gb/s know how to do proper SATA speed negotiation.

It is only some certain specific early motherboard SATA I 1.5 gb/s chipsets that don't know how to do proper speed negotiation, and require fiddling with that switch.
PurpleGurl wrote: I didn't notice that until now, and you are correct. Interestingly, the traces are often still there. If someone knew what they were doing and were not afraid of voiding any warranty, they could in theory solder the connections, assuming that other components are not missing.
You would also probably have to modify the firmware. All of the recent drives I have tested quietly reject the command to play CD-Audio. Try it with the old Windows CD player - it will just keep flipping to the next track.

Bblaauw
Posts: 149
Joined: Mon Aug 03, 2009 12:59 am

Re: Hardware compatibility rant

Post by Bblaauw » Mon Jun 18, 2012 8:29 pm

There are still a few modern motherboards with Floppy and IDE controllers, notably Asrock. Typically also PCI then next to PCIe. These are the latest Z77 and X79 boards.
Maybe someone will introduce a Thunderbolt docking station with legacy connections, who knows.

PurpleGurl
Posts: 1778
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Hardware compatibility rant

Post by PurpleGurl » Sat Nov 17, 2012 2:26 pm

Another gripe along this line is the SATA CD-ROMS in terms of Windows compatibility. How can you set up a board as RAID in Windows 7? Oh, I know how to set up RAID, but the new CD ROM drives pose a challenge. On my board, there are 3 SATA modes - IDE compatibility, AHCI, and RAID. I have to set it up as AHCI. Think about it. Windows 7 has AHCI drivers, but not that many RAID drivers. Now, if you try to install as RAID using a SATA CD ROM, the installer will reach a point to where the CD/DVD cannot be read without a RAID driver. Where will you put the driver? There are no floppy connectors and the only other drive with removable media requires a driver. So how can you install a driver without a driver to read the driver? So it creates a classic catch-22 situation. If it could read the driver at that point, it would not need it.

SomeGuy
Posts: 586
Joined: Mon Nov 29, 2004 9:48 am
Location: Marietta, GA

Re: Hardware compatibility rant

Post by SomeGuy » Sat Nov 17, 2012 7:49 pm

The only answer to that is slipstreaming the driver(s), but that is a PITA and nobody should have to do that. Just more proof that "modern" computer designs are a failure.

At this point all they have to do is remove the ability to boot anything other than 64-bit OSes and they will no longer be "IBM PC" compatible in any way.

And my Directron link is down to two entries :cry:

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests