Backward compatibility

Short description: Technological ability to interact with older technologies

The Wii features backward compatibility with its predecessor, the GameCube, having the ability to run its discs and use its controllers and memory cards.
Later versions of the system from 2011 onwards removed the controller and memory card slots which effectively removed this ability, however the motherboard still has the pads for them and can be soldered back in with modification.

In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system.

Modifying a system in a way that does not allow backward compatibility is sometimes called "breaking" backward compatibility.[1] Such breaking usually incurs various types of costs, such as switching cost.

A complementary concept is forward compatibility; a design that is forward-compatible usually has a roadmap for compatibility with future standards and products.[2]

## Contents

* 1 Usage
* 1.1 In hardware
* 1.2 In software
* 2 Tradeoffs
* 2.1 Benefits
* 2.2 Costs
* 3 See also
* 4 References
* 5 External links

## Usage

### In hardware

A simple example of both backward and forward compatibility is the introduction of FM radio in stereo. FM radio was initially mono, with only one audio channel represented by one signal. With the introduction of two-channel stereo FM radio, many listeners had only mono FM receivers. Forward compatibility for mono receivers with stereo signals was achieved by sending the sum of both left and right audio channels in one signal and the difference in another signal. That allows mono FM receivers to receive and decode the sum signal while ignoring the difference signal, which is necessary only for separating the audio channels. Stereo FM receivers can receive a mono signal and decode it without the need for a second signal, and they can separate a sum signal to left and right channels if both sum and difference signals are received. Without the requirement for backward compatibility, a simpler method could have been chosen.[3]

Full backward compatibility is particularly important in computer instruction set architectures, two of the most successful being the IBM 360/370/390/Zseries families of mainframes, and the Intel x86 family of microprocessors.

IBM announced the first 360 models in 1964 and has continued to update the series ever since, with migration over the decades from 32-bit register/24-bit addresses to 64-bit registers and addresses.

Intel announced the first Intel 8086/8088 processors in 1978, again with migrations over the decades from 16-bit to 64-bit. (The 8086/8088, in turn, were designed with easy machine-translatability of programs written for its predecessor in mind, although they were not instruction-set compatible with the 8-bit Intel 8080 processor of 1974. The Zilog Z80, however, was fully backward compatible with the Intel 8080.)

Fully backward compatible processors can process the same binary executable software instructions as their predecessors, allowing the use of a newer processor without having to acquire new applications or operating systems.[4] Similarly, the success of the Wi-Fi digital communication standard is attributed to its broad forward and backward compatibility; it became more popular than other standards that were not backward compatible.[5]

### In software

See also: Binary-code compatibility, DLL hell, and Opaque pointer

In software development, backward compatibility is a general notion of interoperation between software pieces that will not produce any errors when its functionality is invoked via API.[6] The software is considered stable when its API that is used to invoke functions is stable across different versions.[6]

In operating systems, upgrades to newer versions are said to be backward compatible if executables and other files from the previous versions will work as usual.[7]

In compilers, backward compatibility may refer to the ability of a compiler for a newer version of the language to accept source code of programs or data that worked under the previous version.[8]

A data format is said to be backward compatible when a newer version of the program can open it without errors just like its predecessor.[9]

## Tradeoffs

This section only describes one highly specialized aspect of its associated subject. Please help improve this article by adding more general information. The talk page may contain suggestions. (May 2023)

|

### Benefits

There are several incentives for a company to implement backward compatibility. One is that it can be used to preserve older software that would have otherwise been lost when a manufacturer decides to stop supporting older hardware. A great example of this approach would be that of video games, since it is a common example used when discussing the value of supporting older software. The cultural impact of video games is a large part of their continued success, and some believe ignoring backward compatibility would cause these titles to disappear. Though in modern times advancements in emulation and preservation efforts have made it much easier to play many older computer, handheld, and console video games outside of their original or intended hardware or computer specifications.[10] Backward compatibility also acts as a selling point for new hardware, as an existing player base can more affordably upgrade to subsequent generations of a console. This also helps to make up for the lack of titles at the launch of new systems, as users can pull from the previous console's library of games while developers transition to the new hardware.[11] Backward compatibility with the original PlayStation (PS) software discs and peripherals is considered to have been a key selling point for the PlayStation 2 (PS2) during its early months on the market.[12][13] Moreover, studies in the mid-1990s found that even consumers who never play older games after purchasing a new system consider backward compatibility a highly desirable feature, valuing the mere ability to continue to play an existing collection of games even if they choose never to do so.[13]

Despite not being included at launch, Microsoft slowly incorporated backward compatibility for select titles on the Xbox One several years into its product life cycle.[14] Players have racked up over a billion hours with backward-compatible games on Xbox. A large part of the success and implementation of this feature is that the hardware within newer generation consoles is both powerful and similar enough to legacy systems that older titles can be broken down and re-configured to run on the Xbox One.[15] This program has proven incredibly popular with Xbox players and goes against the recent trend of studio-made remasters of classic titles, creating what some believe to be an important shift in console makers' strategies.[14] The current generation of consoles such as the PlayStation 5 (PS5)[16] and Xbox Series X/S also support this feature as well.

### Costs

The monetary costs of supporting old software is considered to be a large drawback to the usage of backward compatibility.[11][13] The associated costs of backward compatibility are a larger bill of materials if hardware is required to support the legacy systems; increased complexity of the product that may lead to longer time to market, technological hindrances, and slowing innovation; and increased expectations from users in terms of compatibility.[1] Furthermore, it also introduces the risk that developers will favor developing games that are compatible with both the old and new systems, since this gives them a larger base of potential buyers, resulting in a dearth of software which uses the advanced features of the new system.[13] Because of this, several console manufacturers phased out backward compatibility towards the end of the console generation in order to reduce cost and briefly reinvigorate sales before the arrival of newer hardware.[17] One such example of this approach was the PlayStation 3 (PS3), where it had removed backward compatibility with PlayStation 2 (PS2) games on later systems (which includes eliminating the onboard Emotion Engine and Graphics Synthesizer hardware chips that were previously used on earlier revisions) to reduce hardware costs and improve console sales.

Despite this, it is still possible to bypass some of these hardware costs. For instance, earlier PS2 systems had the core of the original PlayStation (PS1) CPU integrated into the I/O processor for dual-purpose use; it could act as either the main CPU in PS1 mode or it can up-clock itself to offload I/O in PS2 mode. The original I/O core was replaced with a PowerPC-based core in later systems to serve the same functions, emulating the same functions as the PS1 CPU core. Such an approach can backfire, however, as was the case of the Super Nintendo Entertainment System (Super NES). It opted for the more peculiar 65C816 CPU over the more popular 16-bit microprocessors on the basis that it would allow for easier backwards compatibility with the original Nintendo Entertainment System (NES) due to the 65C816's software compatibility with the 6502 CPU in emulation mode, but ultimately did not proved to be workable once the rest of the Super NES's architecture was designed.[18]

## See also

* Bug compatibility, backward compatibility that maintains known flaws
* Compatibility mode
* Computer compatibility
* Deprecation
* Downgrade attack
* Emulator
* Flag day (computing)
* Legacy mode
* List of backward-compatible games for Xbox One and Series X/S
* List of Xbox games compatible with Xbox 360
* ReactOS
* Shim (computing)
* Software regression
* Vendor lock-in

## References

1. ↑ 1.0 1.1 Belleflamme, Paul; Peitz, Martin (2010), "Strategies in standard wars", Industrial Organization: Markets and Strategies, Cambridge University Press, ISBN 9780521862998
2. ↑ Zeldman, Jeffrey (2006). Designing with Web Standards. Peachpit Press. pp. 15–16. ISBN 0-321-38555-1. https://books.google.com/books?id=ZCPWYFoWaMIC&q=compatibility.
3. ↑ Winder, Steve; Carr, Joseph (2002), Newnes Radio and RF Engineering Pocket Book (3 ed.), Newnes, pp. 121–123, ISBN 9780080497471
4. ↑ Naresh Jotwani (2009), Computer System Organization, Tata McGraw-Hill Education, pp. 320-324, ISBN 9781259081217
5. ↑ Perahia, Eldad; Stacey, Robert (2013), "Foreword", Next Generation Wireless LANs: 802.11n and 802.11ac, Cambridge University Press, ISBN 9781107016767
6. ↑ 6.0 6.1 ((etc1M)) (2019-12-18). "Backward Compatibility in Software Development: What and Why" (in en-US). https://www.redstar.be/backward-compatibility-in-software-development-what-and-why/.
7. ↑ "What is Backward Compatible?" (in en). December 31, 2022. https://www.computerhope.com/jargon/b/backcomp.htm.
8. ↑ Kay, Michael (2004). XSLT 2.0 Programmer's Reference. Wiley. p. 123. ISBN 0-7645-6909-0. https://archive.org/details/xslt20programmer0000kaym. "forward compatibility."
9. ↑ Bos, Bert (2003). "Backwards Compatibility". What is a Good Standard?. http://www.w3.org/People/Bos/DesignGuide/compatibility.html. Retrieved July 12, 2016.
10. ↑ "Backwards Compatibility is the Only Way Forward". 2015-04-10. https://www.popmatters.com/192068-backwards-compatibility-is-the-only-way-forward-2495543836.html.
11. ↑ 11.0 11.1 "Understanding Backwards Compatibility and How It Benefits Gamers". 2018-08-14. http://techconnectmagazine.com/what-is-backwards-compatibility/.
12. ↑ "Sony Playstation 2(PS2)". http://pnpgames.com/blog/?page_id=25.
13. ↑ 13.0 13.1 13.2 13.3 "Backward Compatibility for PlayStation 2?". Next Generation (39): 22. March 1998.
14. ↑ 14.0 14.1 "Remasters aren't needed if the PS5 is completely backward compatible". 2019-09-24. https://www.androidcentral.com/playstation-5-set-be-backward-compatible-remasters-wont-be-necessary.
15. ↑ Leadbetter, Richard (2017-12-09). "Xbox One Backwards Compatibility: How Does It Actually Work?". https://www.eurogamer.net/articles/digitalfoundry-2017-xbox-one-x-back-compat-how-does-it-actually-work.
16. ↑ Wales, Matt (March 20, 2020). "Sony clarifies "overwhelming majority" of PS4 games will be backward compatible on PS5". Eurogamer. https://www.eurogamer.net/articles/2020-03-20-sony-clarifies-overwhelming-majority-of-ps4-games-will-be-backward-compatible-on-ps5.
17. ↑ Stein, Scott. "Game consoles and the death of backward-compatibility: Why we don't care". https://www.cnet.com/news/game-consoles-and-the-death-of-backward-compatibility-why-we-dont-care/.
18. ↑ "The SNES Was Supposed to be Backwards Compatible?". 2015-08-10. https://gamingreinvented.com/uncategorized/the-snes-was-supposed-to-be-backwards-compatible/.

## External links

* v
* t
* e

Software engineering

Fields|

* Computer programming
* Requirements engineering
* Software deployment
* Software design
* Software maintenance
* Software testing
* Systems analysis
* Formal methods

Concepts|

* Data modeling
* Enterprise architecture
* Functional specification
* Modeling language
* Orthogonality
* Programming paradigm
* Software
* Software archaeology
* Software architecture
* Software configuration management
* Software development methodology
* Software development process
* Software quality
* Software quality assurance
* Software verification and validation
* Structured analysis

Orientations|

* Agile
* Aspect-oriented
* Object orientation
* Ontology
* Service orientation
* SDLC

Models|

| Developmental|

* Agile
* EUP
* Executable UML
* Incremental model
* Iterative model
* Prototype model
* RAD
* UP
* Scrum
* Spiral model
* V-Model
* Waterfall model
* XP

|

Other|

* SPICE
* CMMI
* Data model
* ER model
* Function model
* Information model
* Metamodeling
* Object model
* Systems model
* View model

Languages|

* IDEF
* UML
* USL
* SysML

Software
engineers

* Victor Basili
* Kent Beck
* Grady Booch
* Fred Brooks
* Barry Boehm
* Peter Chen
* Danese Cooper
* Ward Cunningham
* Tom DeMarco
* Edsger W. Dijkstra
* Delores M. Etter
* Martin Fowler
* Adele Goldstine
* Margaret Hamilton
* C. A. R. Hoare
* Lois Haibt
* Mary Jean Harrold
* Grace Hopper
* Watts Humphrey
* Michael A. Jackson
* Ivar Jacobson
* Alan Kay
* Nancy Leveson
* Stephen J. Mellor
* Bertrand Meyer
* David Parnas
* Trygve Reenskaug
* Winston W. Royce
* James Rumbaugh
* Mary Shaw
* Peri Tarr
* Elaine Weyuker
* Niklaus Wirth
* Edward Yourdon

Related fields|

* Computer science
* Computer engineering
* Project management
* Risk management
* Systems engineering

* Category
* Commons

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Backward compatibility. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Backward_compatibility&oldid=4230570"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template