Debug menu

Last updated

A debug menu or debug mode is a user interface implemented in a computer program that allows the user to view and/or manipulate the program's internal state for the purpose of debugging. Some games format their debug menu as an in-game location, referred to as a debug room (distinct from the developer's room type of Easter egg). Debug menus and rooms are used during software development for ease of testing and are usually made inaccessible or otherwise hidden from the end user.

Contents

Compared to the normal user interfaces, debug menus usually are unpolished and not user-friendly, intended only to be used by the software's developers. They are often cryptic and may allow for destructive actions such as erasing data without warning.

In video games

Debugging display in Super Mario 64. This display prints both current memory and CPU usage as well as information about the game's state. Mario64debug.png
Debugging display in Super Mario 64. This display prints both current memory and CPU usage as well as information about the game's state.

Debug menus are often of interest to video game players as they can be used to cheat, access unused content, or change the game configuration beyond what is normally allowed. [1] Some game developers will reveal methods to access these menus as bonus features, while others may lock them out of the final version entirely such that they can only be accessed by modifying the program.

Debug window in Gearheads that enables players to change the specifications of each toy GearheadsToyStats.png
Debug window in Gearheads that enables players to change the specifications of each toy

The Cutting Room Floor (TCRF) is a website dedicated to researching and documenting hidden content in video games, including debugging material. [2] In December 2013, Edge described the website as "the biggest and most organised" of its kind, and by that time it had 3712 articles. [3]

In other software

Debugging functions can be found in many other programs and consumer electronics as well. For example, many TVs and DVD players contain hidden menus that can be used to change settings that aren't accessible through the normal menus. Many cell phones also contain debug menus, usually used to test out functions of the phone to make sure they are working. For example, the hidden menu of the Samsung Galaxy S III has test functions for the vibrator, proximity sensor, sound, and other basic aspects of the phone.

Related Research Articles

The GUI, graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, instead of text-based UIs, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of CLIs, which require commands to be typed on a computer keyboard.

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools, and a debugger. Some IDEs, such as NetBeans and Eclipse, contain the necessary compiler, interpreter, or both; others, such as SharpDevelop and Lazarus, do not.

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system automation tools. The term "AppleScript" may refer to the language itself, to an individual script written in the language, or, informally, to the macOS Open Scripting Architecture that underlies the language.

Object Linking & Embedding (OLE) is a proprietary technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control Extension (OCX), a way to develop and use custom user interface elements. On a technical level, an OLE object is any object that implements the IOleObject interface, possibly along with a wide range of other interfaces, depending on the object's needs.

In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carry out the main function of the system. Particularly for older systems, with limited processors, this usually involved replacing the processor temporarily with a hardware emulator: a more powerful although more expensive version. It was historically in the form of bond-out processor which has many internal signals brought out for the purpose of debugging. These signals provide information about the state of the processor.

A game programmer is a software engineer, programmer, or computer scientist who primarily develops codebases for video games or related software, such as game development tools. Game programming has many specialized disciplines, all of which fall under the umbrella term of "game programmer". A game programmer should not be confused with a game designer, who works on game design.

JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.

<span class="mw-page-title-main">Microsoft Visual Studio Express</span> Integrated development environment

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Express editions started with Visual Studio 2005.

thinBasic is a BASIC-like computer programming language interpreter with a central core engine architecture surrounded by many specialized modules. Although originally designed mainly for computer automation, thanks to its modular structure it can be used for wide range of tasks.

ProDG by SN Systems is a suite of development tools produced for PlayStation 3, PlayStation 2, PSP, Nintendo DS, GameCube, and Game Boy Advance.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

Cheating in video games involves a video game player using various methods to create an advantage beyond normal gameplay, usually in order to make the game easier. Cheats may be activated from within the game itself, or created by third-party software or hardware. They can also be realized by exploiting software bugs; this may or may not be considered cheating based on whether the bug is considered common knowledge.

<span class="mw-page-title-main">Video game console emulator</span> Program that reproduces video game consoles behavior

A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass the limitations of the original hardware, such as broader controller compatibility, timescale control, greater performance, clearer quality, easier access to memory modifications, one-click cheat codes, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or rare consoles.

Game Editor is a 2D game authoring package. It supports multi-platform development to iPhone, iPad, Mac OS X, Windows, Android, Linux, Windows Mobile-based Smartphones, GP2X, Pocket PCs, and Handheld PCs. Compatibility with these platforms is mentioned on Game Discovery, a popular site for game developers, among other software like The 3D Gamemaker, DarkBASIC, and GameMaker.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

GameSalad Creator is an authoring tool developed by GameSalad used by educators and non-programmers alike. It consists of a visual editor and a behavior-based logic system. GameSalad is used in over 223 schools for teaching computer science concepts, logic based thinking, and problem solving skills without all the pain of syntax. GameSalad is used by consumers and creative professionals such as graphic designers, animators, and game developers for rapidly prototyping, building and self-publishing cross-platform games and interactive media. The application runs on both Mac OS X and Windows computers. Access to a Mac is required for publishing to iTunes, but all other supported publishing platforms are accessible for both Mac and Windows users.

<span class="mw-page-title-main">The Cutting Room Floor (website)</span> Video game wiki

The Cutting Room Floor (TCRF) is a website dedicated to the cataloguing of unused content and leftover debugging material in video games. The site and its discoveries have been referenced in the gaming press.

TCRF may refer to:

References

  1. Jeff Ramos (17 August 2017). "How to access and use Sonic Mania's debug mode". Polygon. Retrieved 26 March 2018.
  2. Jack Yarwood (29 March 2016). "The People Obsessed With Uncovering Gaming's Deepest, Darkest Secrets". Kotaku . Retrieved 26 March 2018.
  3. "The Explorers: The gaming archaeologists digging through the code you were never meant to see". Edge. 16 December 2013. Archived from the original on 18 February 2014. Retrieved 26 March 2018.

[1] [2]

  1. The Cutting Room Floor - The Cutting Room Floor is a site dedicated to unearthing and researching unused and cut content from video games. From debug menus, to unused music, graphics, enemies, or levels, many games have content never meant to be seen by anybody but the developers — or even meant for everybody, but cut due to time/budget constraints. https://tcrf.net/
  2. Skies of Arcadia Dreamcast prototype V0.830 2000/09/05 (sous réserve ) +V0.840 2000/09/14 (sous réserve ) https://www.dreamcastsegainfo.org/skies-of-arcadia-v0-830-2000-09-05