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.
63-525: (Redirected from Legacy Mode ) [REDACTED] This article does not cite any sources . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed . Find sources: "Legacy mode" – news · newspapers · books · scholar · JSTOR ( December 2009 ) ( Learn how and when to remove this message ) In computing, legacy mode
126-443: A serial , lane-based architecture. PCI's heyday in the desktop computer market was approximately 1995 to 2005. PCI and PCI-X have become obsolete for most purposes and has largely disappeared from many other modern motherboards since 2013; however they are still common on some modern desktops as of 2020 for the purposes of backward compatibility and the relative low cost to produce. Another common modern application of parallel PCI
189-454: A 100-pin stacking connector, while Type III uses a 124-pin edge connector, i.e. the connector for Types I and II differs from that for Type III, where the connector is on the edge of a card, like with a SO-DIMM . The additional 24 pins provide the extra signals required to route I/O back through the system connector (audio, AC-Link , LAN , phone-line interface). Type II cards have RJ11 and RJ45 mounted connectors. These cards must be located at
252-495: A computer is first turned on, all PCI devices respond only to their configuration space accesses. The computer's BIOS scans for devices and assigns Memory and I/O address ranges to them. If an address is not claimed by any device, the transaction initiator's address phase will time out causing the initiator to abort the operation. In case of reads, it is customary to supply all-ones for the read data value (0xFFFFFFFF) in this case. PCI devices therefore generally attempt to avoid using
315-520: A console. This also helps to make up for 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. 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. Backward compatibility with
378-420: A device signals its need for service by performing a memory write, rather than by asserting a dedicated line. This alleviates the problem of scarcity of interrupt lines. Even if interrupt vectors are still shared, it does not suffer the sharing problems of level-triggered interrupts. It also resolves the routing problem, because the memory write is not unpredictably modified between device and host. Finally, because
441-483: A manufacturer decides to stop supporting older hardware. Classic video games are 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. Backward compatibility also acts as a selling point for new hardware, as an existing player base can more affordably upgrade to subsequent generations of
504-493: A protocol so that the interrupt-request (IRQ) lines can be shared. The PCI bus includes four interrupt lines, INTA# through INTD#, all of which are available to each device. Up to eight PCI devices share the same IRQ line (INTINA# through INTINH#) in APIC -enabled x86 systems. Interrupt lines are not wired in parallel as are the other PCI bus lines. The positions of the interrupt lines rotate between slots, so what appears to one device as
567-723: A special " Wii Mode" that activates an emulated version of the Wii Menu as a means of playing games made for the latter system (it is not compatible with GameCube games without system modification, however). See also [ edit ] Backward compatibility Compatibility mode Dongle Legacy system Retrieved from " https://en.wikipedia.org/w/index.php?title=Legacy_mode&oldid=1253072490 " Categories : Backward compatibility Legacy hardware Legacy systems Hidden categories: Articles lacking sources from December 2009 All articles lacking sources Backward compatibility Modifying
630-420: A special mode allowing them to emulate an older release in order to support software applications dependent on the specific interfaces and behavior of that release. Windows XP can be configured to emulate Windows 2000 and Windows 98 . Windows 11 can run programs in "compatibility mode" for Windows 8, Windows 7, Windows Vista (Service Pack 2), Windows Vista (Service Pack 1), Windows Vista, Mac OS X can support
693-430: A system in a way that does not allow backward compatibility is sometimes called " breaking " backward compatibility. 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. A simple example of both backward and forward compatibility
SECTION 10
#1732868898774756-488: A write must affect only the enabled bytes in the target PCI device. They are of little importance for memory reads, but I/O reads might have side effects. The PCI standard explicitly allows a data phase with no bytes enabled, which must behave as a no-op. PCI has three address spaces: memory, I/O address, and configuration. Memory addresses are 32 bits (optionally 64 bits) in size, support caching and can be burst transactions. I/O addresses are for compatibility with
819-479: Is a general notion of interoperation between software pieces that will not produce any errors when its functionality is invoked via API . The software is considered stable when its API that is used to invoke functions is stable across different versions. 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. In compilers , backward compatibility may refer to
882-512: Is a state in which a computer system, component, or software application behaves in a way that is different from its standard operation in order to support older software, data, or expected behavior. It differs from backward compatibility in that an item in legacy mode will often sacrifice newer features or performance, or be unable to access data or run programs it normally could, in order to provide continued access to older data or functionality. Sometimes it can allow newer technologies that replaced
945-562: Is in industrial PCs , where many specialized expansion cards, used here, never transitioned to PCI Express, just as with some ISA cards. Many kinds of devices formerly available on PCI expansion cards are now commonly integrated onto motherboards or available in USB and PCI Express versions. Work on PCI began at the Intel Architecture Labs (IAL, also Architecture Development Lab) c. 1990 . A team of primarily IAL engineers defined
1008-475: Is installed into a PCI-X bus capable of 133 MHz, the entire bus backplane will be limited to 66 MHz. To get around this limitation, many motherboards have two or more PCI/PCI-X buses, with one bus intended for use with high-speed PCI-X peripherals, and the other bus intended for general-purpose peripherals. Many 64-bit PCI-X cards are designed to work in 32-bit mode if inserted in shorter 32-bit connectors, with some loss of performance. An example of this
1071-496: Is meant to know this, and set the "interrupt line" field in each device's configuration space indicating which IRQ it is connected to. PCI interrupt lines are level-triggered . This was chosen over edge-triggering to gain an advantage when servicing a shared interrupt line, and for robustness: edge-triggered interrupts are easy to miss. Later revisions of the PCI specification add support for message-signaled interrupts . In this system,
1134-503: Is part of the PCI Local Bus standard. The PCI bus supports the functions found on a processor bus but in a standardized format that is independent of any given processor 's native bus. Devices connected to the PCI bus appear to a bus master to be connected directly to its own bus and are assigned addresses in the processor's address space . It is a parallel bus, synchronous to a single bus clock . Attached devices can take either
1197-527: 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
1260-485: Is required to implement a timer, called the Latency Timer, that limits the time that device can hold the PCI bus. The timer starts when the device gains bus ownership, and counts down at the rate of the PCI clock. When the counter reaches zero, the device is required to release the bus. If no other devices are waiting for bus ownership, it may simply grab the bus again and transfer more data. Devices are required to follow
1323-617: Is the Adaptec 29160 64-bit SCSI interface card. However, some 64-bit PCI-X cards do not work in standard 32-bit PCI slots. Installing a 64-bit PCI-X card in a 32-bit slot will leave the 64-bit portion of the card edge connector not connected and overhanging. This requires that there be no motherboard components positioned so as to mechanically obstruct the overhanging portion of the card edge connector. PCI brackets heights: PCI Card lengths (Standard Bracket & 3.3 V): PCI Card lengths (Low Profile Bracket & 3.3 V): Mini PCI
SECTION 20
#17328688987741386-466: 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
1449-632: The PCI Configuration Space , which uses a fixed addressing scheme, allows software to determine the amount of memory and I/O address space needed by each device. Each device can request up to six areas of memory space or input/output (I/O) port space via its configuration space registers. In a typical system, the firmware (or operating system ) queries all PCI buses at startup time (via PCI Configuration Space ) to find out what devices are present and what system resources (memory space, I/O space, interrupt lines, etc.) each needs. It then allocates
1512-431: The 'component side': if the card is held with the connector pointing down, a view of side A will have the backplate on the right, whereas a view of side B will have the backplate on the left. The pinout of B and A sides are as follows, looking down into the motherboard connector (pins A1 and B1 are closest to backplate). 64-bit PCI extends this by an additional 32 contacts on each side which provide AD[63:32], C/BE[7:4]#,
1575-510: The INTA# line is INTB# to the next and INTC# to the one after that. Single-function devices usually use their INTA# for interrupt signaling, so the device load is spread fairly evenly across the four available interrupt lines. This alleviates a common problem with sharing interrupts. The mapping of PCI interrupt lines onto system interrupt lines, through the PCI host bridge, is implementation-dependent. Platform-specific firmware or operating system code
1638-560: The Intel x86 architecture 's I/O port address space. Although the PCI bus specification allows burst transactions in any address space, most devices only support it for memory addresses and not I/O. Finally, PCI configuration space provides access to 256 bytes of special configuration registers per PCI device. Each PCI slot gets its own configuration space address range. The registers are used to configure devices memory and I/O address ranges they should respond to from transaction initiators. When
1701-447: The PAR64 parity signal, and a number of power and ground pins. Most lines are connected to each slot in parallel. The exceptions are: Notes: Most 32-bit PCI cards will function properly in 64-bit PCI-X slots, but the bus clock rate will be limited to the clock frequency of the slowest card, an inherent limitation of PCI's shared bus topology. For example, when a PCI 2.3, 66-MHz peripheral
1764-408: The PCI bus. Any number of bus masters can reside on the PCI bus, as well as requests for the bus. One pair of request and grant signals is dedicated to each bus master. Typical PCI cards have either one or two key notches, depending on their signaling voltage. Cards requiring 3.3 volts have a notch 56.21 mm from the card backplate; those requiring 5 volts have a notch 104.41 mm from
1827-462: The abilities and limitations of them in order to run legacy 16-bit and 32-bit operating systems, and to run programs requiring virtual 8086 mode to run in Windows. 32-bit x86 processors themselves have two legacy modes: real mode and virtual 8086 mode. Real mode causes the processor to mostly act as if it was an original 8086, while virtual 8086 mode allows the creation of a virtual machine to allow
1890-409: The abilities of PCI. The preferred interface for video cards then became Accelerated Graphics Port (AGP), a superset of PCI, before giving way to PCI Express. The first version of PCI found in retail desktop computers was a 32-bit bus using a 33 MHz bus clock and 5 V signaling, although the PCI 1.0 standard provided for a 64-bit variant as well. These have one locating notch in
1953-471: 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. 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. There are several incentives for a company to implement backward compatibility. Backward compatibility can be used to preserve older software that would have otherwise been lost when
Legacy mode - Misplaced Pages Continue
2016-449: The all-ones value in important status registers, so that such an error can be easily detected by software. There are 16 possible 4-bit command codes, and 12 of them are assigned. With the exception of the unique dual address cycle, the least significant bit of the command code indicates whether the following data phases are a read (data sent from target to initiator) or a write (data sent from an initiator to target). PCI targets must examine
2079-522: The architecture and developed a proof of concept chipset and platform (Saturn) partnering with teams in the company's desktop PC systems and core logic product organizations. PCI was immediately put to use in servers, replacing Micro Channel architecture (MCA) and Extended Industry Standard Architecture (EISA) as the server expansion bus of choice. In mainstream PCs, PCI was slower to replace VLB , and did not gain significant market penetration until late 1994 in second-generation Pentium PCs. By 1996, VLB
2142-403: The backplate. This allows cards to be fitted only into slots with a voltage they support. "Universal cards" accepting either voltage have both key notches. The PCI connector is defined as having 62 contacts on each side of the edge connector , but two or four of them are replaced by key notches, so a card has 60 or 58 contacts on each side. Side A refers to the 'solder side' and side B refers to
2205-451: The basis that it would allow for easy backwards compatibility with the original Nintendo Entertainment System (NES), but ultimately did not proved to be workable once the rest of the Super NES's architecture was designed. Peripheral Component Interconnect Peripheral Component Interconnect ( PCI ) is a local computer bus for attaching hardware devices in a computer and
2268-536: The card. Version 2.0 of the PCI standard introduced 3.3 V slots, physically distinguished by a flipped physical connector to prevent accidental insertion of 5 V cards. Universal cards, which can operate on either voltage, have two notches. Version 2.1 of the PCI standard introduced optional 66 MHz operation. A server-oriented variant of PCI, PCI Extended ( PCI-X ) operated at frequencies up to 133 MHz for PCI-X 1.0 and up to 533 MHz for PCI-X 2.0. An internal connector for laptop cards, called Mini PCI ,
2331-429: The data phases must be in the same direction. Either party may pause or halt the data phases at any point. (One common example is a low-performance PCI device that does not support burst transactions , and always halts a transaction after the first data phase.) Any PCI device may initiate a transaction. First, it must request permission from a PCI bus arbiter on the motherboard. The arbiter grants permission to one of
2394-541: The edge of the computer or docking station so that the RJ11 and RJ45 ports can be mounted for external access. Mini PCI is distinct from 144-pin Micro PCI. PCI bus traffic consists of a series of PCI bus transactions. Each transaction consists of an address phase followed by one or more data phases . The direction of the data phases may be from initiator to target (write transaction) or vice versa (read transaction), but all of
2457-553: The execution of Mac OS 9 applications on PowerPC-based Macintoshes. Computer buses emulated through legacy mode: Emulated bus (Host bus) ISA ( LPC ) PCI ( PCI Express ) PS/2 or RS-232 mouse ( USB mouse ) PS/2 or AT keyboard ( USB keyboard ) Many SATA disk controllers offer a legacy mode of operation for compatibility i.e. parallel ATA emulation Some niche markets have enabled Compact Flash and SD cards to emulate IDE hard drives for old DOS and Windows 95 computers. The Wii U can be run in
2520-461: 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
2583-827: The form of an integrated circuit fitted onto the motherboard (called a planar device in the PCI specification) or an expansion card that fits into a slot. The PCI Local Bus was first implemented in IBM PC compatibles , where it displaced the combination of several slow Industry Standard Architecture (ISA) slots and one fast VESA Local Bus (VLB) slot as the bus configuration. It has subsequently been adopted for other computer types. Typical PCI cards used in PCs include: network cards , sound cards , modems , extra ports such as Universal Serial Bus ( USB ) or serial , TV tuner cards and hard disk drive host adapters . PCI video cards replaced ISA and VLB cards until rising bandwidth needs outgrew
Legacy mode - Misplaced Pages Continue
2646-489: The initiator transmits the high 32 address bits, plus the real command code. The transaction operates identically from that point on. To ensure compatibility with 32-bit PCI devices, it is forbidden to use a dual address cycle if not necessary, i.e. if the high-order address bits are all zero. While the PCI bus transfers 32 bits per data phase, the initiator transmits 4 active-low byte enable signals indicating which 8-bit bytes are to be considered significant. In particular,
2709-406: The kinds of functions a Mini PCI card can perform. Many Mini PCI devices were developed such as Wi-Fi , Fast Ethernet , Bluetooth , modems (often Winmodems ), sound cards , cryptographic accelerators , SCSI , IDE – ATA , SATA controllers and combination cards. Mini PCI cards can be used with regular PCI-equipped hardware, using Mini PCI-to-PCI converters . Mini PCI has been superseded by
2772-639: The main CPU for PS1 mode or upclocking itself to offload I/O in PS2 mode. This coprocessor was replaced with a PowerPC -based processor in later systems to serve the same functions, emulating the PS1 CPU core. Such an approach can backfire, though, 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
2835-621: The message signaling is in-band , it resolves some synchronization problems that can occur with posted writes and out-of-band interrupt lines. PCI Express does not have physical interrupt lines at all. It uses message-signaled interrupts exclusively. These specifications represent the most common version of PCI used in normal PCs: The PCI specification also provides options for 3.3 V signaling, 64-bit bus width, and 66 MHz clocking, but these are not commonly encountered outside of PCI-X support on server motherboards. The PCI bus arbiter performs bus arbitration among multiple masters on
2898-497: The much narrower PCI Express Mini Card Mini PCI cards have a 2 W maximum power consumption, which limits the functionality that can be implemented in this form factor. They also are required to support the CLKRUN# PCI signal used to start and stop the PCI clock for power management purposes. There are three card form factors : Type I, Type II, and Type III cards. The card connector used for each type include: Type I and II use
2961-431: The new system. 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. It is possible to bypass some of these hardware costs. For instance, earlier PlayStation 2 (PS2) systems used the core of the original PlayStation (PS1) CPU as a dual-purpose processor, either as
3024-487: The newest generation of consoles such as PlayStation 5 and Xbox Series X/S also support this feature. 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. This program has proven incredibly popular with Xbox players and goes against
3087-444: The old to emulate them when running older operating systems. Examples [ edit ] x86-64 processors can be run in one of two states: long mode provides larger physical address spaces and the ability to run 64-bit applications which can use larger virtual address spaces and more registers, and legacy mode. These processors' legacy mode allows these processors to act as if they were 16- or 32-bit x86 processors with all of
3150-433: The operating system. In addition, there are PCI Latency Timers that are a mechanism for PCI Bus-Mastering devices to share the PCI bus fairly. "Fair" in this case means that devices will not use such a large portion of the available PCI bus bandwidth that other devices are not able to get needed work done. Note, this does not apply to PCI Express. How this works is that each PCI device that can operate in bus-master mode
3213-491: 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. 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. Players have racked up over a billion hours with backward-compatible games on Xbox, and
SECTION 50
#17328688987743276-423: The product that may lead to longer time to market , technological hindrances, and slowing innovation; and increased expectations from users in terms of compatibility. 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
3339-424: The recent trend of studio-made remasters of classic titles, creating what some believe to be an important shift in console makers' strategies. The monetary costs of supporting old software is considered a large drawback to the usage of backward compatibility. The associated costs of backward compatibility are a larger bill of materials if hardware is required to support the legacy systems; increased complexity of
3402-527: The requesting devices. The initiator begins the address phase by broadcasting a 32-bit address plus a 4-bit command code, then waits for a target to respond. All other devices examine this address and one of them responds a few cycles later. 64-bit addressing is done using a two-stage address phase. The initiator broadcasts the low 32 address bits, accompanied by a special "dual address cycle" command code. Devices that do not support 64-bit addressing can simply not respond to that command code. The next cycle,
3465-549: The resources and tells each device what its allocation is. The PCI configuration space also contains a small amount of device type information, which helps an operating system choose device drivers for it, or at least to have a dialogue with a user about the system configuration. Devices may have an on-board read-only memory (ROM) containing executable code for x86 or PA-RISC processors, an Open Firmware driver, or an Option ROM . These are typically needed for devices used during system startup, before device drivers are loaded by
3528-413: The running of programs that require real mode in order to run under a protected mode environment. Protected mode is the non-legacy mode of 32-bit x86 processors and the 80286. Most PC graphic cards have a VGA and a SVGA mode that allows them to be used on systems that have not loaded the device driver necessary to take advantage of their more advanced features. Operating systems often have
3591-490: 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 . 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. In software development, backward compatibility
3654-469: The serial PCI Express in c. 2004 . Since then, motherboard manufacturers have included progressively fewer PCI slots in favor of the new standard. Many new motherboards do not provide PCI slots at all, as of late 2013. PCI provides separate memory and memory-mapped I/O port address spaces for the x86 processor family, 64 and 32 bits , respectively. Addresses in these address spaces are assigned by software. A third address space, called
3717-444: 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. Full backward compatibility
3780-450: Was added to PCI version 2.2 for use in laptops and some routers; it uses a 32-bit, 33 MHz bus with powered connections (3.3 V only; 5 V is limited to 100 mA) and support for bus mastering and DMA . The standard size for Mini PCI cards is approximately a quarter of their full-sized counterparts. There is no access to the card from outside the case, unlike desktop PCI cards with brackets carrying connectors. This limits
3843-463: Was all but extinct, and manufacturers had adopted PCI even for Intel 80486 (486) computers. EISA continued to be used alongside PCI through 2000. Apple Computer adopted PCI for professional Power Macintosh computers (replacing NuBus ) in mid-1995, and the consumer Performa product line (replacing LC Processor Direct Slot (PDS)) in mid-1996. Outside the server market, the 64-bit version of plain PCI remained rare in practice though, although it
SECTION 60
#17328688987743906-638: Was introduced in version 2.2 of the PCI specification. The PCI bus was also adopted for an external laptop connector standard – the CardBus . The first PCI specification was developed by Intel , but subsequent development of the standard became the responsibility of the PCI Special Interest Group ( PCI-SIG ). PCI and PCI-X sometimes are referred to as either Parallel PCI or Conventional PCI to distinguish them technologically from their more recent successor PCI Express , which adopted
3969-524: Was used for example by all (post-iMac) G3 and G4 Power Macintosh computers . Later revisions of PCI added new features and performance improvements, including a 66 MHz 3.3 V standard and 133 MHz PCI-X , and the adaptation of PCI signaling to other form factors. Both PCI-X 1.0b and PCI-X 2.0 are backward compatible with some PCI standards. These revisions were used on server hardware but consumer PC hardware remained nearly all 32-bit, 33 MHz and 5 volt. The PCI-SIG introduced
#773226