Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Undocumented feature
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Aspect of computer hardware or software}} {{use dmy dates|date=August 2023|cs1-dates=y}} {{use list-defined references|date=August 2023}} 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 [[help desk|software support]] and development. Also, some unintended operation of hardware or software that ends up being of utility to users is simply a [[bug (engineering)|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. {{anchor|NOMAS}}Undocumented or unsupported features are sometimes also called "not manufacturer supported" (NOMAS), a term coined by ''[[PPC Journal]]'' in the early 1980s.<ref name="PPC_1983"/><ref name="Zenrom_1984"/><ref name="PPC_1985"/><ref name="Wright_2023"/> Some user-reported defects are viewed by [[software developer]]s as working as expected, leading to the catchphrase "[[it's not a bug, it's a feature]]" (INABIAF) and its variations.<ref name="Carr_2018"/> == 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]]. [[File:CamelPark part9 bobbyborder11.png|thumb|A [[Commodore 64 demo]] using undocumented features to bypass the machine's usual screen border]] [[Video game]] and [[demoscene]] programmers have taken advantage of the unintended operation of computers' hardware to produce new effects or optimizations.{{Citation needed|date=January 2023}} In 2019, researchers discovered that a manufacturer debugging mode, known as VISA, had an undocumented feature on [[Intel Corporation|Intel]] [[Platform Controller Hub]]s (PCHs), chipsets included on most Intel-based motherboards, which makes the mode accessible with a normal motherboard.<ref name="Armasu_2019"/> Since the chipset has [[direct memory access]] this is problematic for security reasons. == Software == Undocumented features (for example, the ability to change the [[Switch (command line)|switch]] character in [[MS-DOS]], usually to a [[hyphen]]) can be included for [[computer compatibility|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.<ref name="Arredondo_1984"/> In some cases, [[software bug]]s are referred to by developers either jokingly or conveniently as undocumented features.<ref name="Carr_2018"/><ref name="Dourish"/> This usage may have been popularised in some of Microsoft's responses to bug reports for its first [[Word for Windows]] product,<ref name="Gleick_1984"/> but does not originate there. The oldest surviving reference on [[Usenet]] dates to 5 March 1984.<ref name="FirstUse_1984"/> 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.<ref name="Mathes_2010"/> Undocumented features themselves have become a major feature of [[computer game]]s. Developers often include various [[cheat code|cheat]]s and other special features ("[[Easter egg (media)|easter egg]]s") 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 [[language localization|localized]] from their native language. [[Closed source]] [[application programming interface|API]]s 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 == * [[Backdoor (computing)]] * [[Easter egg (media)]] == References == {{Reflist|refs= <ref name="PPC_1983">{{cite book |title=PPC HP-75 Description |date=1983 |volume=II |series=NOMAS series |publisher=[[Personal Programming Center]] |publication-place=Fountain Valley, California, USA |url=https://literature.hpcalc.org/community/hp75-nomas-vol2.pdf |access-date=2023-08-12 |url-status=live |archive-url=https://web.archive.org/web/20230812072937/https://literature.hpcalc.org/community/hp75-nomas-vol2.pdf |archive-date=2023-08-12 |quote-page=i |quote=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)</ref> <ref name="Zenrom_1984">{{cite book |title=ZENROM - The HP-41 Programmer's Module - ZENROM 3B User's Handbook - A Programmer's Module - For Use With The HP-41 Handheld Computer |chapter=Nomas - An Explanation |date=June 1984 |publisher=Zengrange Ltd. / Leeds Booklet Printing Company |publication-place=UK |page=viii |url=https://literature.hpcalc.org/community/zenrom.pdf |access-date=2023-08-12 |url-status=live |archive-url=https://web.archive.org/web/20230812074948/https://literature.hpcalc.org/community/zenrom.pdf |archive-date=2023-08-12}} (2+2+viii+152+2 pages)</ref> <ref name="PPC_1985">{{cite journal |title=NOMAS Listings |journal=[[PPC Journal]] |issue=PPC Special Issue E |date=1985 |publisher=[[Personal Programming Center]] |publication-place=Fountain Valley, California, USA |page=3 |url=https://perlmeister.com/prisma/prisma-1984-ppc.pdf |access-date=2023-08-11 |url-status=live |archive-url=https://web.archive.org/web/20230811135955/https://perlmeister.com/prisma/prisma-1984-ppc.pdf |archive-date=2023-08-11 |quote-page=3 |quote=NOMAS Listings - [[Personal Programming Center|PPC]] has selected listings of the [[HP-41]] system, associated [[ROM]]s ([[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.}}</ref> <ref name="Wright_2023">{{cite web |title=HP-15c CE hidden features - NOMAS |author-first=Gene |author-last=Wright |date=2023-08-03 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/forum/thread-20262.html |access-date=2023-08-09 |url-status=live |archive-url=https://web.archive.org/web/20230809195422/https://www.hpmuseum.org/forum/thread-20262.html |archive-date=2023-08-09}}</ref> <ref name="Carr_2018">{{cite web |title='It's Not a Bug, It's a Feature.' Trite—or Just Right? |website=[[wired.com]] |author-first=Nicholas G. |author-last=Carr |author-link=Nicholas G. Carr |date=2018-08-19 |department=Business |url=https://www.wired.com/story/its-not-a-bug-its-a-feature/ |access-date=2023-08-09 |url-status=live |archive-url=https://web.archive.org/web/20230809202650/https://www.wired.com/story/its-not-a-bug-its-a-feature/ |archive-date=2023-08-09}}</ref> <ref name="Armasu_2019">{{cite web |title=Intel Chipsets' Undocumented Feature Can Help Hackers Steal Data |work=[[Tom's Hardware]] |author-first=Lucian |author-last=Armasu |date=2019-03-29 |url=https://www.tomshardware.com/news/intel-visa-undocumented-feature-chipsets-cpus,38954.html |access-date=2023-08-09 |url-status=live |archive-url=https://web.archive.org/web/20230809203342/https://www.tomshardware.com/news/intel-visa-undocumented-feature-chipsets-cpus,38954.html |archive-date=2023-08-09}}</ref> <ref name="Arredondo_1984">{{cite journal |title=Review: WordStar 3.3 |author-last=Arredondo |author-first=Larry |date=1984-03-26 |journal=[[InfoWorld]]}}</ref> <ref name="Dourish">Older versions of the [[hacker (programmer subculture)|hacker]] [[Jargon File]] [https://www.dourish.com/goodies/jargon.html] define FEATURE as "A surprising property of a program. Occasionally documented."</ref> <ref name="Gleick_1984">[[James Gleick]], ''What Just Happened'', ch. 1</ref> <ref name="FirstUse_1984">[http://groups.google.com/group/net.bugs.uucp/msg/4cf617f8eb9482da?hl=en&dmode=source First Use on Usenet]. Google Groups</ref> <ref name="Mathes_2010">Memories of Sandy Mathes, now Sandra Lee Harris, [[MIT]] Class of 1969, as of August 2010.</ref> }} {{DEFAULTSORT:Undocumented Feature}} [[Category:Software anomalies]] [[Category:Technical communication]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Citation needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Use list-defined references
(
edit
)