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. 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. Some user-reported defects are viewed by developers as working as expected, leading to the catchphrase "it's not a bug it's a feature" and its variations.
Hardware
Undocumented instructions, known as illegal opcodes, on the MOS Technology 6510 of the Commodore 64 and MOS Technology 6502 of the Apple II computers are sometimes utilized. Similarly programmers on the Commodore Amigatake advantage of the unintended operation of its coprocessors to produce new effects or optimizations. In 2019 researchers discovered that a manufacturer debugging mode, known as VISA, had an undocumented feature on Intel Platform Controller Hubs, known as chipsets and which are included on most Intel-based motherboards, which made the mode accessible with a normal motherboard. Since the chipset has direct memory access this is problematic, mostly for security reasons.
Software
Undocumented features can be included for compatibility purposes 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 features in documentation but keep them implemented for users who've grown accustomed to them. In some cases, software bugs are referred to by developers either jokingly or conveniently as undocumented features. This usage may have been popularised in some of Microsoft's responses to bug reports for its first Word for Windowsproduct, but doesn't originate there. The oldest surviving reference on Usenet dates to 5 March 1984. Between 1969 and 1972, Sandy Mathes, a systems programmer for PDP-8 software at Digital Equipment Corporation 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. Undocumented features themselves have become a major feature of computer games. Developers often include various cheats and other special features 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 sourceAPIs 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.