Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM PC compatible
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Compatibility issues== {{See also|Influence of the IBM PC on the personal computer market}} ===Non-compatible MS-DOS computers: Workalikes=== [[File:DEC Rainbow 100.jpg|thumb|The DEC [[Rainbow 100]] runs MS-DOS but is not compatible with the IBM PC.]] At the same time, many manufacturers such as [[Tandy Corporation|Tandy]]/[[RadioShack]], [[Xerox]], [[Hewlett-Packard]], [[Digital Equipment Corporation]], [[Sanyo]], [[Texas Instruments]], [[Tulip Computers|Tulip]], [[Wang Laboratories|Wang]] and [[Olivetti]] introduced personal computers that supported MS-DOS, but were not completely software- or hardware-compatible with the IBM PC. Tandy described the [[Tandy 2000]], for example, as having a "'next generation' true 16-bit CPU", and with "More speed. More disk storage. More expansion" than the IBM PC or "other MS-DOS computers".<ref>{{cite web|title=Radio Shack Computer Catalog RSC-12, page 4|url=http://www.radioshackcatalogs.com/html/catalogs_extra/1985_rsc-12/hr004.html|website=radioshackcatalogs dot com|publisher=Tandy/Radio Shack|access-date=June 27, 2017|archive-date=October 3, 2014|archive-url=https://web.archive.org/web/20141003155302/http://www.radioshackcatalogs.com/html/catalogs_extra/1985_rsc-12/hr004.html|url-status=dead}}</ref> While admitting in 1984 that many PC DOS programs did not work on the computer, the company stated that "the most popular, sophisticated software on the market" was available, either immediately or "over the next six months".<ref>{{cite web|title=Radio Shack Computer Catalog RSC-11, page 6|url=http://www.radioshackcatalogs.com/html/catalogs_extra/1984_rsc-11/h006.html|website=radioshackcatalogs dot com|publisher=Tandy/Radio Shack|access-date=June 27, 2017|archive-date=October 3, 2014|archive-url=https://web.archive.org/web/20141003154718/http://www.radioshackcatalogs.com/html/catalogs_extra/1984_rsc-11/h006.html|url-status=dead}}</ref> Like IBM, Microsoft's apparent intention was that application writers would write to the [[application programming interface]]s in MS-DOS or the firmware BIOS, and that this would form what would now be termed a [[Hardware abstraction|hardware abstraction layer]]. Each computer would have its own [[Original equipment manufacturer|Original Equipment Manufacturer]] (OEM) version of MS-DOS, customized to its hardware. Any software written for MS-DOS would operate on any MS-DOS computer, despite variations in hardware design. This expectation seemed reasonable in the computer marketplace of the time. Until then Microsoft's business was based primarily on computer languages such as [[BASIC]]. The established small system operating software was [[CP/M]] from [[Digital Research]] which was in use both at the hobbyist level and by the more professional of those using microcomputers. To achieve such widespread use, and thus make the product viable economically, the OS had to operate across a range of machines from different vendors that had widely varying hardware. Those customers who needed other applications than the starter programs could reasonably expect publishers to offer their products for a variety of computers, on suitable media for each. Microsoft's competing OS was intended initially to operate on a similar varied spectrum of hardware, although all based on the 8086 processor. Thus, MS-DOS was for several years sold only as an OEM product. There was no Microsoft-branded MS-DOS: MS-DOS could not be purchased directly from Microsoft, and each OEM release was packaged with the [[trade dress]] of the given PC vendor. Malfunctions were to be reported to the OEM, not to Microsoft. However, as machines that were compatible with IBM hardware—thus supporting direct calls to the hardware—became widespread, it soon became clear that the OEM versions of MS-DOS were virtually identical, except perhaps for the provision of a few utility programs. MS-DOS provided adequate functionality for character-oriented applications such as those that could have been implemented on a text-only [[computer terminal|terminal]]. Had the bulk of commercially important software been of this nature, low-level hardware compatibility might not have mattered. However, in order to provide maximum performance and leverage hardware features (or work around hardware bugs), PC applications quickly developed beyond the simple terminal applications that MS-DOS supported directly. [[Spreadsheet]]s, [[WYSIWYG]] [[word processor]]s, [[Presentation program|presentation software]] and remote [[communication software]] established new markets that exploited the PC's strengths, but required capabilities beyond what MS-DOS provided. Thus, from very early in the development of the MS-DOS software environment, many significant commercial software products were written directly to the hardware, for a variety of reasons: * MS-DOS itself did not provide any way to position the text cursor other than to advance it after displaying each letter ([[teleprinter|teletype mode]]). While the BIOS video interface routines were adequate for rudimentary output, they were necessarily less efficient than direct hardware addressing, as they added extra processing; they did not have "string" output, but only character-by-character teletype output, and they inserted delays to prevent [[Color Graphics Adapter|CGA]] hardware "snow" (a display artifact of CGA cards produced when writing directly to screen memory)——an especially bad artifact since they were called by [[Interrupt request (PC architecture)|IRQs]], thus making multitasking very difficult. A program that wrote directly to video memory could achieve output rates 5 to 20 times faster than making [[system call]]s. [[Turbo Pascal]] used this technique from its earliest versions. * [[Computer graphics|Graphics]] capability was not taken seriously in the original IBM design brief; graphics were considered only from the perspective of generating static business graphics such as charts and graphs. MS-DOS did not have an [[Application programming interface|API]] for graphics, and the BIOS only included the rudimentary graphics functions such as changing screen modes and plotting single points. To make a BIOS call for every point drawn or modified increased overhead considerably, making the BIOS interface notoriously slow. Because of this, [[line drawing algorithm|line-drawing]], arc-drawing, and [[Bit blit|blitting]] had to be performed by the application to achieve acceptable speed, which was usually done by bypassing the BIOS and accessing video memory directly. Software written to address IBM PC hardware directly would run on any IBM clone, but would have to be rewritten especially for each non-PC-compatible MS-DOS machine. * [[Video game]]s, even early ones, mostly required a [[Computer display standard|true graphics mode]]. They also performed any machine-dependent trick the programmers could think of in order to gain speed. Though initially the major market for the PC was for business applications, games capability became an important factor motivating PC purchases as prices decreased. The availability and quality of games could mean the difference between the purchase of a PC compatible or a different platform with the ability to exchange data like the [[Amiga]]. * Communications software directly accessed the [[Universal asynchronous receiver-transmitter|UART]] serial port chip, because the MS-DOS API and the BIOS did not provide full support and was too slow to keep up with hardware which could transfer data at 19,200 bit/s. * Even for standard business applications, speed of execution was a significant competitive advantage. [[Integrated software]] [[Context MBA]] preceded [[Lotus 1-2-3]] to market and included more functions. Context MBA was written in [[UCSD Pascal|UCSD p-System]], making it very portable but too slow to be truly usable on a PC. 1-2-3 was written in x86 assembly language and performed some machine-dependent tricks. It was so much faster that it quickly surpassed Context MBA's sales. * Disk [[copy protection|copy-protection]] schemes, in common use at the time, worked by reading nonstandard data patterns on the diskette to verify originality. These patterns were impossible to detect using standard DOS or BIOS calls, so direct access to the disk controller hardware was necessary for the protection to work. * Some software was designed to run only on a true IBM PC, and checked for an actual IBM BIOS.{{r|pournelle198411}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)