Undocumented feature

Last updated

An undocumented feature is an unintended or undocumented hardware operation, for example an undocumented instruction, or software feature found in computer hardware and software that is considered beneficial or useful. Sometimes the documentation is omitted through oversight, but undocumented features are sometimes not intended for use by end users, but left available for use by the vendor for software support and development. Also, some unintended operation of hardware or software that ends up being of utility to users is simply a bug, flaw or quirk.

Contents

Since the suppliers of the software usually consider the software documentation to constitute a contract for the behavior of the software, undocumented features are generally left unsupported and may be removed or changed at will and without notice to the users.

Undocumented or unsupported features are sometimes also called "not manufacturer supported" (NOMAS), a term coined by PPC Journal in the early 1980s. [1] [2] [3] [4] Some user-reported defects are viewed by software developers as working as expected, leading to the catchphrase "it's not a bug, it's a feature" (INABIAF) and its variations. [5]

Hardware

Undocumented instructions, known as illegal opcodes, on the MOS Technology 6502 and its variants are sometimes used by programmers. These were removed in the WDC 65C02.

Video game and demoscene programmers for the Amiga have taken advantage of the unintended operation of its coprocessors to produce new effects or optimizations.[ citation needed ]

In 2019, researchers discovered that a manufacturer debugging mode, known as VISA, had an undocumented feature on Intel Platform Controller Hubs (PCHs), chipsets included on most Intel-based motherboards, which makes the mode accessible with a normal motherboard. [6] Since the chipset has direct memory access this is problematic for security reasons.

Software

Undocumented features (for example, the ability to change the switch character in MS-DOS, usually to a hyphen) can be included for compatibility purposes (in this case with Unix utilities) or for future-expansion reasons. However; if the software provider changes their software strategy to better align with the business, the absence of documentation makes it easier to justify the feature's removal.

New versions of software might omit mention of old (possibly superseded) features in documentation but keep them implemented for users who've grown accustomed to them. [7]

In some cases, software bugs are referred to by developers either jokingly or conveniently as undocumented features. [5] [8] This usage may have been popularised in some of Microsoft's responses to bug reports for its first Word for Windows product, [9] but doesn't originate there. The oldest surviving reference on Usenet dates to 5 March 1984. [10] Between 1969 and 1972, Sandy Mathes, a systems programmer for PDP-8 software at Digital Equipment Corporation (DEC) in Maynard, MA, used the terms "bug" and "feature" in her reporting of test results to distinguish between undocumented actions of delivered software products that were unacceptable and tolerable, respectively. This usage may have been perpetuated. [11]

Undocumented features themselves have become a major feature of computer games. Developers often include various cheats and other special features ("easter eggs") that are not explained in the packaged material, but have become part of the "buzz" about the game on the Internet and among gamers. The undocumented features of foreign games are often elements that were not localized from their native language.

Closed source APIs can also have undocumented functions that are not generally known. These are sometimes used to gain a commercial advantage over third-party software by providing additional information or better performance to the application provider.

See also

Related Research Articles

<span class="mw-page-title-main">Amiga</span> Family of personal computers sold by Commodore

Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 16/32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphics and audio compared to previous 8-bit systems. These systems include the Atari ST—released earlier the same year—as well as the Macintosh and Acorn Archimedes. Based on the Motorola 68000 microprocessor, the Amiga differs from its contemporaries through the inclusion of custom hardware to accelerate graphics and sound, including sprites and a blitter, and a pre-emptive multitasking operating system called AmigaOS.

<span class="mw-page-title-main">BIOS</span> Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The BIOS firmware comes pre-installed on an IBM PC or IBM PC compatible's system board and exists in some UEFI-based systems to maintain compatibility with operating systems that do not support UEFI native operation. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

<span class="mw-page-title-main">Network interface controller</span> Hardware component that connects a computer to a network

A network interface controller is a computer hardware component that connects a computer to a computer network.

nForce4 Motherboard chipset

The nForce4 is a motherboard chipset released by Nvidia in October 2004. The chipset supports AMD 64-bit processors and Intel Pentium 4 LGA 775 processors.

<span class="mw-page-title-main">American Megatrends</span> International hardware and software company

American Megatrends International, LLC, doing business as AMI, is an international hardware and software company, specializing in PC hardware and firmware. The company was founded in 1985 by Pat Sarma and Subramonian Shankar. It is headquartered in Building 800 at 3095 Satellite Boulevard in unincorporated Gwinnett County, Georgia, United States, near the city of Duluth, and in the Atlanta metropolitan area.

The Intel Graphics Media Accelerator (GMA) is a series of integrated graphics processors introduced in 2004 by Intel, replacing the earlier Intel Extreme Graphics series and being succeeded by the Intel HD and Iris Graphics series.

System Management Mode is an operating mode of x86 central processor units (CPUs) in which all normal execution, including the operating system, is suspended. An alternate software system which usually resides in the computer's firmware, or a hardware-assisted debugger, is then executed with high privileges.

<span class="mw-page-title-main">Illegal opcode</span> Undocumented CPU instruction that has an effect

An illegal opcode, also called an unimplemented operation, unintended opcode or undocumented instruction, is an instruction to a CPU that is not mentioned in any official documentation released by the CPU's designer or manufacturer, which nevertheless has an effect. Illegal opcodes were common on older CPUs designed during the 1970s, such as the MOS Technology 6502, Intel 8086, and the Zilog Z80. On these older processors, many exist as a side effect of the wiring of transistors in the CPU, and usually combine functions of the CPU that were not intended to be combined. On old and modern processors, there are also instructions intentionally included in the processor by the manufacturer, but that are not documented in any official specification.

A hardware bug is a defect in the design, manufacture, or operation of computer hardware that causes incorrect operation. It is the counterpart of software bugs which refer to flaws in the code which operates computers, and is the original context in which "bug" was used to refer to such flaws. Intermediate between hardware and software are microcode and firmware which may also have such defects. In common usage, a bug is subtly different from a "glitch" which may be more transient than fundamental, and somewhat different from a "quirk" which may be considered useful or intrinsic. Errata may be published by the manufacturer to reflect such unintended operation, and "errata" is sometimes used as a term for the flaws themselves.

<span class="mw-page-title-main">Sandy Bridge</span> Intel processor microarchitecture

Sandy Bridge is the codename for Intel's 32 nm microarchitecture used in the second generation of the Intel Core processors. The Sandy Bridge microarchitecture is the successor to Nehalem and Westmere microarchitecture. Intel demonstrated an A1 stepping Sandy Bridge processor in 2009 during Intel Developer Forum (IDF), and released first products based on the architecture in January 2011 under the Core brand.

<span class="mw-page-title-main">Intel Active Management Technology</span> Out-of-band management platform by Intel

Intel Active Management Technology (AMT) is hardware and firmware for remote out-of-band management of select business computers, running on the Intel Management Engine, a microprocessor subsystem not exposed to the user, intended for monitoring, maintenance, updating, and repairing systems. Out-of-band (OOB) or hardware-based management is different from software-based management and software management agents.

<span class="mw-page-title-main">Intel Rapid Storage Technology</span> Computer storage device

Intel Rapid Storage Technology (RST) is a driver SATA AHCI and a firmware-based RAID solution built into a wide range of Intel chipsets. Currently also is installed as a driver for Intel Optane temporary storage units.

Intel Active Management Technology (AMT) is hardware-based technology built into PCs with Intel vPro technology. AMT is designed to help sys-admins remotely manage and secure PCs out-of-band when PC power is off, the operating system (OS) is unavailable, software management agents are missing, or hardware has failed.

<span class="mw-page-title-main">Intel Graphics Technology</span> Series of integrated graphics processors by Intel

Intel Graphics Technology (GT) is the collective name for a series of integrated graphics processors (IGPs) produced by Intel that are manufactured on the same package or die as the central processing unit (CPU). It was first introduced in 2010 as Intel HD Graphics and renamed in 2017 as Intel UHD Graphics.

<span class="mw-page-title-main">LGA 1155</span> Intel CPU socket

LGA 1155, also called Socket H2, is a zero insertion force flip-chip land grid array (LGA) CPU socket designed by Intel for their CPUs based on the Sandy Bridge and Ivy Bridge microarchitectures.

In computing, a hardware code page (HWCP) refers to a code page supported natively by a hardware device such as a display adapter or printer. The glyphs to present the characters are stored in the alphanumeric character generator's resident read-only memory and are thus not user-changeable. They are available for use by the system without having to load any font definitions into the device first. Startup messages issued by a PC's System BIOS or displayed by an operating system before initializing its own code page switching logic and font management and before switching to graphics mode are displayed in a computer's default hardware code page.

<span class="mw-page-title-main">Intel Management Engine</span> Autonomous computer subsystem

The Intel Management Engine (ME), also known as the Intel Manageability Engine, is an autonomous subsystem that has been incorporated in virtually all of Intel's processor chipsets since 2008. It is located in the Platform Controller Hub of modern Intel motherboards.

In digital computing, hardware security bugs are hardware bugs or flaws that create vulnerabilities affecting computer central processing units (CPUs), or other devices which incorporate programmable processors or logic and have direct memory access, which allow data to be read by a rogue process when such reading is not authorized. Such vulnerabilities are considered "catastrophic" by security analysts.

References

  1. PPC HP-75 Description (PDF). NOMAS series. Vol. II. Fountain Valley, California, USA: Personal Programming Center. 1983. Archived (PDF) from the original on 2023-08-12. Retrieved 2023-08-12. p. i: The information contained in this document is made available with the understanding that it is not supported by Hewlett-Packard. […] When you read this document you will quickly notice that there is no effort to explain to non-design team members how or what is going on. At the time of [development] there was no plan to do this. While this document may stimulate more questions than it answers that situation must be accepted "as is". See the NOMAS statement stamped below. This material is being made available to the user community through PPC because we believe that information in this form is better than none at all. PPC offers this information as a service to the community. […] NOMAS - NOt MAnufacturer Supported - recipient agrees NOT to contact manufacturer […] (710 pages)
  2. "Nomas - An Explanation". ZENROM - The HP-41 Programmer's Module - ZENROM 3B User's Handbook - A Programmer's Module - For Use With The HP-41 Handheld Computer (PDF). UK: Zengrange Ltd. / Leeds Booklet Printing Company. June 1984. p. viii. Archived (PDF) from the original on 2023-08-12. Retrieved 2023-08-12. (2+2+viii+152+2 pages)
  3. "NOMAS Listings" (PDF). PPC Journal . Fountain Valley, California, USA: Personal Programming Center (PPC Special Issue E): 3. 1985. Archived (PDF) from the original on 2023-08-11. Retrieved 2023-08-11. p. 3: NOMAS Listings - PPC has selected listings of the HP-41 system, associated ROMs (HP-IL, […] etc.), and HP-75 system listings available on a NOt MAnufacturer Supported basis. These listings have been made available to the user community with the understanding that those receiving the listings not contact the manufacturer regarding them.
  4. Wright, Gene (2023-08-03). "HP-15c CE hidden features - NOMAS". MoHPC - The Museum of HP Calculators. Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  5. 1 2 Carr, Nicholas G. (2018-08-19). "'It's Not a Bug, It's a Feature.' Trite—or Just Right?". Business. wired.com . Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  6. Armasu, Lucian (2019-03-29). "Intel Chipsets' Undocumented Feature Can Help Hackers Steal Data". Tom's Hardware . Archived from the original on 2023-08-09. Retrieved 2023-08-09.
  7. Arredondo, Larry (1984-03-26). "Review: WordStar 3.3". InfoWorld .
  8. Older versions of the hacker Jargon File define FEATURE as "A surprising property of a program. Occasionally documented."
  9. James Gleick, What Just Happened, ch. 1
  10. First Use on Usenet. Google Groups
  11. Memories of Sandy Mathes, now Sandra Lee Harris, MIT Class of 1969, as of August 2010.