Follow TV Tropes

Following

History MediaNotes / BackwardsCompatibility

Go To

OR

Is there an issue? Send a MessageReason:
Spelling/grammar fix(es), General clarification on work content


* The "PC" as we tend to know it (at least as of 2021) was built off of and based around the [[Platform/IBMPersonalComputer IBM 5150 Personal Computer]]. A driving point for clones and updates of the IBM PC was that backwards compatibility was paramount. If the computer you built wasn't compatible with many of the software used on the IBM PC, your chances of success were slim. And most of this standard is still being followed today. For example, the [=CPUs=] you put in your PC still boot up in a legacy mode called Real Mode, which the CPU behaves like the original Intel 8086/8088, including its now paltry 1 megabyte of addressable memory limit. It's to the point with little effort you can install and run [[https://www.youtube.com/watch?v=bS9hiSwL1KY MS-DOS 6.22]] on a computer made some 25 years after its release.
** The distinction of being based on the original IBM PC is important, as there are some computer systems that use [=x86=] processors like [=PCs=] do, but cannot use PC operating systems without modification. The [=PlayStation 4=] is an example of this. Even around the time, there were Intel 8086/8088 processors used for some computer-like systems, like a Kodak "computer" that was simply a slideshow creator/presenter (the predecessor to presentation software like Microsoft [=PowerPoint=]).

to:

* The "PC" as we tend to know it (at least as of 2021) was built off of and based around the [[Platform/IBMPersonalComputer IBM 5150 Personal Computer]]. A driving point for clones and updates of the IBM PC was that backwards compatibility was paramount. If the computer you built wasn't compatible with many of the software used on the IBM PC, your chances of success were slim. And most Most of this standard is still being followed today. For example, the [=CPUs=] you put in your PC still boot up in a legacy mode called Real Mode, which the CPU behaves like the original Intel 8086/8088, including its now paltry 1 megabyte of addressable memory limit. It's to the point with little effort you can install and run [[https://www.youtube.com/watch?v=bS9hiSwL1KY MS-DOS 6.22]] on a computer made some 25 years decades later after its release.
** The distinction of being based on the original IBM PC is important, as there are some computer systems that use [=x86=] processors like [=PCs=] do, but cannot use PC operating systems without modification. The [=PlayStation 4=] is an example of this. Even around the time, there were Intel 8086/8088 processors used for some computer-like systems, like a Kodak "computer" that was simply a slideshow creator/presenter (the predecessor to presentation software like Microsoft [=PowerPoint=]).



** Modems that run over a phone line over the decades they were used simply evolved from the Bell 103/V.21 300 bps standard. In fact, all modems basically talk in this 300 bps mode first, doing some handshaking before agreeing on which speed to actually talk over. The distinctive sound of a dial-up modem connecting is basically the handshaking going on. The last version of the 56 kbps standard had a special message to skip much of the handshaking when this got to be too much.
** The ISA expansion slot had two expansions to it that allowed the use of older ISA cards. The first one, a 16-bit extension, simply added more pins with a key where the old ISA slot ended. The second one, Extended ISA (EISA), had something of a two-layer-of-pins setup, where ISA cards can work in the upper layer while EISA cards uses both the upper and lower layers. Technically, the VESA Local Bus (VLB) slot used ISA, but it was considered a separate thing.
** PCI, which succeeded ISA, also had an extension called PCI-X (not to be confused with PCI Express), which basically added onto the existing PCI slot. In addition, PCI slots and cards were done such that they would be installed upside down relative to ISA cards, which allowed one expansion slot to fit either an ISA or PCI card. There were also 5V and 3.3V versions of the card, with cards eventually coming out with a universal standard.
** Storage drive interfaces like IDE and SATA retained the same connectors and simply updated the electrical bits over time.

to:

** Modems that run over a phone line over the decades they were used simply use landline phones evolved from the Bell 103/V.21 300 bps standard. In fact, all modems basically talk in this 300 bps mode first, doing some handshaking before agreeing to agree on which speed to actually talk over. The distinctive sound of a dial-up modem connecting is basically the handshaking going on. The last version of the 56 kbps standard had a special message to skip much of the handshaking when this got to be too much.
** The ISA expansion slot had two expansions to it that allowed the use of older ISA cards. The first one, a 16-bit extension, simply added more pins with a key where the old ISA slot ended. The second one, Extended ISA (EISA), had something of a two-layer-of-pins setup, where ISA cards can work in uses the upper layer while EISA cards uses use both the upper and lower layers. Technically, the VESA Local Bus (VLB) slot used expanded on ISA, but it was considered a separate thing.
** PCI, which succeeded ISA, also had an extension called PCI-X (not to be confused with PCI Express), which basically added onto the existing PCI slot like the 16-bit ISA slot. In addition, PCI slots and cards were done such that they would be installed upside down relative to ISA cards, which allowed one expansion slot to fit either an ISA or PCI card. There were also 5V and 3.3V versions of the card, with cards cards, but eventually coming out with a universal standard.
format was used both for cards and slots.
** Storage drive interfaces like IDE and SATA retained the same connectors and simply only updated the electrical bits over time.



** The [=PCIe=] standard that replaced PCI, ISA, and other expansion card slots is by far the most flexible expansion interface so far.

to:

** The [=PCIe=] PCI Express ([=PCIe=]) standard that replaced PCI, ISA, and other expansion card slots is by far the most flexible expansion interface so far.
Is there an issue? Send a MessageReason:
None


** [[UsefulNotes/UniversalSerialBus USB's]] wide range of compatibility stems from using standard device profiles that manufacturers must adhere to and using physical connectors that extend previous versions. However, this only allowed older devices to plug into newer receptacles. USB 3.0 Type B connectors can't fit in a USB 2.0 Type B receptacle, which led to devices using 2.0's Type B receptacles for longer than anticipated.

to:

** [[UsefulNotes/UniversalSerialBus [[MediaNotes/UniversalSerialBus USB's]] wide range of compatibility stems from using standard device profiles that manufacturers must adhere to and using physical connectors that extend previous versions. However, this only allowed older devices to plug into newer receptacles. USB 3.0 Type B connectors can't fit in a USB 2.0 Type B receptacle, which led to devices using 2.0's Type B receptacles for longer than anticipated.
Is there an issue? Send a MessageReason:
None


* UsefulNotes/{{WINE}} [[FunWithAcronyms (WINE Is Not an Emulator)]] allows Unix-like systems to run Windows programs. Its status in the Linux community is controversial because some users believe it discourages native Linux app development as OS/2's Windows compatibility did, but its proponents argue that WINE can attract more users to the platform.\\

to:

* UsefulNotes/{{WINE}} MediaNotes/{{WINE}} [[FunWithAcronyms (WINE Is Not an Emulator)]] allows Unix-like systems to run Windows programs. Its status in the Linux community is controversial because some users believe it discourages native Linux app development as OS/2's Windows compatibility did, but its proponents argue that WINE can attract more users to the platform.\\



* At the moment, 64-bit versions of Windows 10 and 11 could still run older 32-bit applications from as far back as Windows 95 and [=Win32S=] programs written for windows 3.1 and Windows NT 3.1 natively. By installing a compatibility layer called [=WineVDM=] (a fork of UsefulNotes/{{Wine}}), even 16-bit software from as far back as Windows 1.0 can also be run.

to:

* At the moment, 64-bit versions of Windows 10 and 11 could still run older 32-bit applications from as far back as Windows 95 and [=Win32S=] programs written for windows 3.1 and Windows NT 3.1 natively. By installing a compatibility layer called [=WineVDM=] (a fork of UsefulNotes/{{Wine}}), MediaNotes/{{Wine}}), even 16-bit software from as far back as Windows 1.0 can also be run.
Is there an issue? Send a MessageReason:
None


** UsefulNotes/{{Emulation}}: A program mimics the hardware of the older system in order for the game to run. For example, some versions of the Platform/PlayStation3 did this in order to play Platform/{{PS2}} games.

to:

** UsefulNotes/{{Emulation}}: MediaNotes/{{Emulation}}: A program mimics the hardware of the older system in order for the game to run. For example, some versions of the Platform/PlayStation3 did this in order to play Platform/{{PS2}} games.



* Thanks to the enormous processing power of modern computers, emulators for PC exist for '''all''' consoles up to MediaNotes/{{the sixth generation|of console video games}}, albeit with varying degrees of compatibility and requirements. For more information, see our UsefulNotes/{{Emulation}} page, and [[http://en.wikipedia.org/wiki/Emulator Emulation]] on Website/TheOtherWiki. If that's not enough, you can run multiple operating systems on the same machine through multi-booting and virtualization.

to:

* Thanks to the enormous processing power of modern computers, emulators for PC exist for '''all''' consoles up to MediaNotes/{{the sixth generation|of console video games}}, albeit with varying degrees of compatibility and requirements. For more information, see our UsefulNotes/{{Emulation}} MediaNotes/{{Emulation}} page, and [[http://en.wikipedia.org/wiki/Emulator Emulation]] on Website/TheOtherWiki. If that's not enough, you can run multiple operating systems on the same machine through multi-booting and virtualization.



* Early [=SKUs=] of the Platform/PlayStation3 came with the Emotion Engine (CPU) and the Graphic Synthesizer (GPU) from the Platform/PlayStation2, allowing people to play [=PS2=] games on the console; the Emotion Engine was shortly removed in later units, leaving the Graphics Synthesizer, and replaced with [[UsefulNotes/{{Emulation}} partial software emulation]] of the [=PS2=] hardware in which the CELL Broadband Engine emulated the Emotion Engine, a similar approach to how the [=PS2=] handled [=PS1=] support, but also an approach that led to issues running some games. Eventually, all [=PS2=] compatibility was left out for later models. Strangely enough, ''[=PS1=]'' software emulation was supported across all models. Later on [=PS2=] and PSP software emulation was added for use in the downloadable [=PS2=] Classics and PSP Minis.

to:

* Early [=SKUs=] of the Platform/PlayStation3 came with the Emotion Engine (CPU) and the Graphic Synthesizer (GPU) from the Platform/PlayStation2, allowing people to play [=PS2=] games on the console; the Emotion Engine was shortly removed in later units, leaving the Graphics Synthesizer, and replaced with [[UsefulNotes/{{Emulation}} [[MediaNotes/{{Emulation}} partial software emulation]] of the [=PS2=] hardware in which the CELL Broadband Engine emulated the Emotion Engine, a similar approach to how the [=PS2=] handled [=PS1=] support, but also an approach that led to issues running some games. Eventually, all [=PS2=] compatibility was left out for later models. Strangely enough, ''[=PS1=]'' software emulation was supported across all models. Later on [=PS2=] and PSP software emulation was added for use in the downloadable [=PS2=] Classics and PSP Minis.
Is there an issue? Send a MessageReason:
None


* The Commodore 128 was compatible not only with the Platform/Commodore64, but also with CP/M, though it was well past its prime when the 128 was released.

to:

* The Commodore 128 Platform/Commodore128 was compatible not only with the Platform/Commodore64, but also with CP/M, though it was well past its prime when the 128 was released.
Is there an issue? Send a MessageReason:
None


* Going to the Windows side, Windows Subsystem for Linux (WSL) allows developers to run native Linux binaries on Windows by translating Linux system calls into equivalent Windows system calls. WSL 2 even uses an actual Linux kernel. It's possible to launch Linux and Windows programs from each other's command lines. Before that, the open source Cygwin implemented an API to allow Unix-like programs to be compiled into Windows binaries. Microsoft's development of WSL also allowed them to develop an Android compatibility layer for Windows 11, though this is yet to be fully released as of 2022.

to:

* Going to the Windows side, Windows Subsystem for Linux (WSL) allows developers to run native Linux binaries on Windows by translating Linux system calls into equivalent Windows system calls. WSL 2 even uses an actual Linux kernel. It's possible to launch Linux and Windows programs from each other's command lines. Before that, the open source Cygwin implemented an API to allow Unix-like programs to be compiled into Windows binaries. Microsoft's development of WSL also allowed them to develop an Android compatibility layer for Windows 11, though this is yet Microsoft eventually discontinued it. The company did ship a Wayland/X server with WSL on Windows 11 to be fully released enable it to run Linux GUI apps as of 2022.well as terminal programs.
Is there an issue? Send a MessageReason:
None


* This is a sticking point with Linux. While Linux has a huge array of compatibility out of the box with regards to what hardware it can run on, it's the software where you may run into trouble. Most Linux distributions use a package manager system to distribute software. However, this software is usually only delivered as-is, requiring any dependencies the software needs to also be hosted on the package manager system. If the dependency isn't there (which is rare) or the version that's hosted is incompatible with what you're trying to run, you'll run into problems. The best you can do is hope a compatible version is uploaded somewhere, requiring you to find it, download it, and install it or build it. Windows and [=macOS=] get around this by having the application installer ship with the dependencies it needs and either runs them in an encapsulated manner or installs those dependencies. Though there are certain app distribution systems on Linux such as Snap, Flatpak, and AppImage that aim to resolve this.

to:

* This is a sticking point subverted with applications on Linux. While Linux has a huge array of compatibility out of the box with regards to what hardware it can run on, it's the software where you may run into trouble. Most Linux distributions use a package manager system to distribute software. However, this software is usually only delivered as-is, requiring any dependencies the software needs to also be hosted on the package manager system. If the dependency isn't there (which is rare) or the version that's hosted is incompatible with what you're trying to run, you'll run into problems. The best you can do is hope a compatible version is uploaded somewhere, requiring you to find it, download it, and install it or build it. Windows and [=macOS=] get around this by having the application installer ship with the dependencies it needs and either runs them in an encapsulated manner or installs those dependencies. Though there are certain app distribution systems on Linux such as Snap, Flatpak, and AppImage [=AppImage=] that aim to resolve this.

Top