Homebrew (video games)
Homebrew, when applied to video games, refers to software produced by hobbyists for proprietary video game consoles which are not intended to be user-programmable. The official documentation is often only available to licensed developers, and these systems may use storage formats that make distribution difficult, such as ROM cartridges or encrypted CD-ROMs. Many consoles have hardware restrictions to prevent unauthorized development.
This article is about video games unofficially produced by hobbyists for closed systems. For modifications to ROM images of video games, see ROM hacking. For the package manager, see Homebrew (package manager).Development can use unofficial, community maintained toolchains or official development kits such as Net Yaroze, Linux for PlayStation 2, or Microsoft XNA.[1] Targets for homebrew games are typically those which are no longer commercially relevant or produced, and with simpler graphics and/or computational abilities, such as the Atari 2600, Nintendo Entertainment System, Wii, Nintendo 3DS, Wii U, Genesis, Dreamcast, Game Boy Advance, PlayStation, and PlayStation 2.
Development[edit]
New games for older systems are typically developed using emulators. Development for newer systems usually involves actual hardware, given the lack of accurate emulators. Efforts have been made to use actual console hardware for many older systems, though. Atari 2600 programmers may burn an EEPROM to plug into a custom cartridge board or use audio transfer via the Starpath Supercharger. Game Boy Advance developers have several ways to use GBA flash cartridges in this regard.
First generation consoles[edit]
Odyssey[edit]
In 2009, Odball became the first game for the Magnavox Odyssey since 1973. It was produced by Robert Vinciguerra[2] who has since written several other Odyssey games. On July 11, 2011, Dodgeball was published by Chris Read.[3]
Third/Fourth generation consoles[edit]
NES / Famicom[edit]
Several compilers are available for the Nintendo Entertainment System, but like the Atari 2600, most development is done in 6502 assembly language. One impediment to NES homebrew development is the relative difficulty involved with producing physical cartridges, although third-party flash carts do exist, making homebrew possible on original NES hardware.[5] Several varieties of custom processors are used within NES cartridges to expand system capabilities; most are difficult to replicate except by scavenging old cartridges unless the mapper in question was commonly used and thus cloned a lot, as is the case with the MMC3, or is simply consisted of discrete logic. One of the unofficial games that supports parallax scrolling and the MMC5 chip is Street Fighter II: Nostalgic Edition, which is a port of Street Fighter II: The World Warrior developed by Parisoft.[6]
While the original Famicom and its clones can play unlicensed games, the 10NES hardware lock-out mechanism of the original model NES complicates the production of physical cartridges. The 10NES chip can be permanently disabled by performing a minor change to the hardware. The redesigned NES (also known as the New-Style NES or the New Famicom) lacks the 10NES chip.
Genesis / Mega Drive[edit]
The Sega Genesis has no physical lockout mechanism (instead relying on software encoding), making it easier to release software for the system. Pier Solar and the Great Architects, Paprium, and a port of Teenage Queen are examples of games that were released as physical cartridges. Other games include Sacred Line Genesis, Coffee Crisis, and Frog Feast for the Genesis and Mighty Mighty Missile for the Sega CD.
The 2018 game Tanglewood was notable in that it was developed using original Sega Genesis development hardware.[7]
Sixth generation consoles[edit]
Dreamcast[edit]
Despite its short commercial lifespan of less than two years in North America, the Dreamcast benefits from an active homebrew scene even ten years after its discontinuation. Due to a flaw in the Dreamcast’s BIOS, which was intended for use with MIL-CD's, the console can run software from a CD-R without the use of a modchip. Sega responded to this by removing MIL-CD support from the BIOS on Dreamcast consoles manufactured from November 2000 onwards.
The console is especially notable for its commercial homebrew scene. One notable project was the Bleemcast! emulator, which was a series of bootdisks made to play PlayStation games on the system, featuring visual enhancements over the original console. Newer independent releases include Last Hope, released by RedSpotGames, and DUX,[74] both Shoot 'em up style games. These releases were written using the KallistiOS development system. A port of the freeware high-level development language Fenix and BennuGD is available for use in game development; many DIV Games Studio games have been ported and others were originally written for the system.
PlayStation 2[edit]
Early versions of the PlayStation 2 have a buffer overflow bug in the part of the BIOS that handles PS1 game compatibility; hackers found a way to turn this into a loophole called the PS2 Independence Exploit, allowing the use of homebrew software. Other options for homebrew development would be the use of a modchip or the utilization of a PS2 hard drive and an HD Loader. In Europe and Australia, the PS2 came with a free Yabasic interpreter on the bundled demo disc for some time. This allows simple programs to be created for the PS2 by the end-user. This was included in a failed attempt to circumvent a UK tax by defining the console as a "computer" if it contained certain software.[75] A port of the NetBSD project and BlackRhino GNU/Linux, an alternative Debian-based distribution, are also available for the PS2.
Using homebrew programs (e.g. 'SMS Media Player'[76]) it is possible to listen to various audio file formats (MP3, OMA, Ogg Vorbis, AAC, FLAC, AC3), and watch various video formats (DivX/XviD, MPEG1, MPEG2, MPEG4-ASP in AVI Container) using the console. Media can be played from any device connected to the console i.e. external USB/FireWire/thumb drive/hard disk drive (FAT32 only), the internal hard disk on early revision consoles, optical CD-R(W)/DVD±R(W) disks (modded systems or patched disks), or network shares (Windows Network or PS2 host: protocol).
A more recent development (May 2008) called Free McBoot or FMCB allows homebrew programs to be launched without a trigger disc required by the older exploit. This also allows the use of homebrew on unmodded systems without a functional disc drive. However, installation of the exploit to each individual memory card requires either an already exploited/modded system in order to launch the installer, or a boot image that can load an app that loads ELF files (a Network Adaptor with a hard drive is also required). Simply copying from one memory card to another will not work. This exploit does not work on the latest slimline PS2s (the later SCPH-9000x models with BIOS 2.30 and newer) but will work on all models prior to that. The newest versions of Free McBoot (version 1.90 and newer) also have the ability to install and boot from both Sony and non-Sony HDDs when using an original "fat" model PS2 and network adapter.[77] This support is called Free HDBoot or FHDB. With a few minor issues, it is now possible to play games entirely from the HDD, without needing to use the optical disc drive nor a physical memory card.
Unlike the Independence Exploit, which requires a trigger disk, Free McBoot needs only a standard Memory Card, which allows it to be used on systems with broken optical drives. The installation is keyed to the Memory Card and will only be usable on the same version consoles that it was originally installed on, unless a Multi-Install is performed. The drawback of this exploit is that it needs to be installed/compiled on each individual memory card. Simply copying the exploit is not possible. Along with this, an already modded or exploited system is required to install Free McBoot on a Memory Card. After installing an exploit, unsigned executables (Executable and Linkable Format) may be launched from a Memory Card or a USB drive. Such programs include emulators, media players, hard drive management tools, and PC-based or NAS-based file shares. The exploit is also notable for allowing the user to copy PS1/PS2 save files from a Memory Card to a USB drive, a functionality normally only possible with tools such as DexDrive.
Sony released a Linux-based operating system for the PS2 in a package that also includes a keyboard, mouse, Ethernet adapter and HDD. The North American versions went out of stock not too long afterwards, however the European version was still available. The kit boots by installing a proprietary interface (the run-time environment) which is on a region-encoded DVD, meaning that the European and North America kits would only work with a PS2 from their respective regions.
A number of homebrew emulators of older computer and gaming systems have been developed for the PS2.[78]
GameCube[edit]
Homebrew development on the Nintendo GameCube tended to be difficult, since it uses a proprietary MiniDVD-based drive and media as opposed to the standard DVD drives of the PS2 and Xbox for piracy protection. Also, its connectivity is limited, as it does not feature a USB port or an HDD port like the PlayStation 2.
The barrier to burning Nintendo GameCube discs with a consumer DVD burner is the Burst Cutting Area, a "barcode" in the innermost ring of the disc, an area inaccessible to most burners and writeable only by very expensive disc pressing machines. For a long time the only way to run homebrew software on Nintendo GameCube was through a patching-system exploit of Phantasy Star Online Episode I & II, requiring users to find the game and a Broadband Adapter. Both of these are difficult to find because a follow-up has been released (under the name Phantasy Star Online Episode I & II Plus) and thus the original PSO was rarely sold after then, and because the Broadband Adapter was not often carried in stores due to the Nintendo GameCube's very limited selection of online games.
As of August 2019, the most common method is to use an Action Replay in conjunction with an SD card adapter inserted into the memory card slot, allowing the user to run homebrew from the SD card, or over Ethernet. Another method involves using a modchip to allow the GameCube to run homebrew from a MiniDVD-R via the disc drive. Another method uses a save game exploit which involves transferring modified game save files to a GameCube memory card that triggers arbitrary code execution when loaded by an official game, allowing custom software to be run from a memory card, SD card, or other media.[79] As the Nintendo GameCube's case does not fit a full-size DVD-R, third party replacement cases are available.
Homebrew software for the Nintendo GameCube mainly consist of emulators for other systems, as well as several popular homebrew utilities. Swiss is an “all-in-one homebrew utility”, including a file browser, and the ability to force software to use different video modes that aren't officially supported, such as progressive scan or 16:9 widescreen.[80] The Game Boy Interface is a homebrew software frontend for the Game Boy Player peripheral, and is often used for capturing high-quality footage from Game Boy, Game Boy Color, and Game Boy Advance games.[81]
The 16-bit top-down shooter Xeno Crisis has received a version for the Gamecube, released on physical optical disc.[73]