Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
IBM PC compatible
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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!
==Design limitations and more compatibility issues== Although the IBM PC was designed for expandability, the designers could not anticipate the hardware developments of the 1980s, nor the size of the industry they would engender. To make things worse, IBM's choice of the [[Intel 8088]] for the CPU introduced several limitations for developing software for the PC compatible platform. For example, the 8088 processor only had a 20-bit memory [[address space|addressing space]]. To expand ''PC''s beyond one megabyte, Lotus, Intel, and Microsoft jointly created [[expanded memory]] (EMS), a bank-switching scheme to allow more memory provided by add-in hardware, and accessed by a set of four 16-[[kilobyte]] "windows" inside the 20-bit addressing. Later, Intel CPUs had larger address spaces and could directly address 16 MB (80286) or more, causing Microsoft to develop [[extended memory]] (XMS) which did not require additional hardware. "Expanded" and "extended" memory have incompatible interfaces, so anyone writing software that used more than one megabyte had to provide for both systems for the greatest compatibility until MS-DOS began including EMM386, which simulated EMS memory using XMS memory. A [[protected mode]] OS can also be written for the 80286, but DOS application compatibility was more difficult than expected, not only because most DOS applications accessed the hardware directly, bypassing BIOS routines intended to ensure compatibility, but also that most BIOS requests were made by the first 32 interrupt vectors, which were marked as "reserved" for protected mode processor exceptions by Intel. [[Video card]]s suffered from their own incompatibilities. There was no standard interface for using higher-resolution [[SVGA]] graphics modes supported by later video cards. Each manufacturer developed their own methods of accessing the screen memory, including different mode numberings and different [[bank switching]] arrangements. The latter were used to address large images within a single 64 KB segment of memory. Previously, the VGA standard had used [[Planar (computer graphics)|planar]] video memory arrangements to the same effect, but this did not easily extend to the greater color depths and higher resolutions offered by SVGA adapters. An attempt at creating a standard named [[VESA BIOS Extensions]] (VBE) was made, but not all manufacturers used it. When the 386 was introduced, again a [[protected mode]] OS could be written for it. This time, DOS compatibility was much easier because of [[virtual 8086 mode]]. Unfortunately programs could not switch directly between them, so eventually, some new memory-model APIs were developed, [[VCPI]] and [[DOS Protected Mode Interface|DPMI]], the latter becoming the most popular. Because of the great number of third-party adapters and no standard for them, programming the PC could be difficult. Professional developers would operate a large test-suite of various known-to-be-popular hardware combinations. To give consumers some idea of what sort of PC they would need to operate their software, the [[Multimedia PC]] (MPC) standard was set during 1990. A PC that met the minimum MPC standard could be marketed with the MPC logo, giving consumers an easy-to-understand specification to look for. Software that could operate on the most minimally MPC-compliant PC would be guaranteed{{who|date=April 2014}} to operate on any MPC. The MPC level 2 and MPC level 3 standards were set later, but the term "MPC compliant" never became popular. After MPC level 3 during 1996, no further MPC standards were established.
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
IBM PC compatible
(section)
Add topic