- Homebrew (video games)
Homebrew is a term frequently applied to
video games produced by consumers to target proprietary hardwareplatforms not typically user-programmable or that use proprietary storage methods. This might include games developed with official development kits, such as Net Yarozeor Linux for PlayStation 2. Some more frequently used labels, such as freeware, are often applied as well. A popular type of homebrew game is the fangame. In Japan, these games are usually called " Dōjin soft", the legality of which depends on what the software does.
Homebrew games for older systems are typically developed using
emulators for convenience, since testing then requires no extra hardware on the part of the programmer. Development for newer systems typically involves actual hardware given the lack of accurate emulators. Efforts have been made to use actual console hardware for many older systems, though. Atari 2600homebrew developers use various methods, for example, burning an EEPROMto plug into a custom cartridge board or audio transfer via the Starpath Supercharger. Game Boy Advancehomebrew developers have several ways to use GBA flash cartridges in this regard.
Along with the
Sega Dreamcast, Game Boy Advance, and PlayStation Portable, the most frequently used platforms for homebrew development are older generations of consoles, among them the Atari 2600 and Nintendo Entertainment System(NES). The Atari 2600 and NES are particularly interesting because they use the 6502 instruction set, likely familiar to people who have programmed 8-bit home computers, such as the Commodore 64or Apple II. Another factor in the popularity of older or portable systems for homebrew development, relative to modern consoles, is that their simplicity enables an individual or small group to develop acceptable games in a reasonable time frame.
All major sixth generation consoles enjoy some popularity with homebrew developers, but less so than earlier generations. This is mostly the case because software production requires more resources, accurate emulators do not exist yet, and the consoles themselves often employ rather complex systems to prevent the execution of unauthorized code. Homebrew developers must often exploit loopholes to enable their software to run.
econd through fourth generation consoles
Atari 2600, released in 1977, is a popular platform for homebrew projects. Games created for the Atari can be executed using either an emulator or directly when copied onto a blank cartridge making use of either a PROM or EPROMchip. Unlike later systems such as the Microsoft Xbox, the console does not require a modchip.
Although there is one high-level
compileravailable (batari Basic), most development for the Atari 2600 is still done in 6502 assembly language, Homebrews written in assembly are typically considered programming challenges.
The Atari 2600 lacks video memory, and programs run simultaneously with the television screen, updating graphical registers a fraction of a second before the television draws each
scan line. For each scan line, the system's Television Interface Adaptercan only draw two custom, eight-bit graphical objects, a twenty-bit "playfield", and three solid pixels: two "missiles" and one "ball". [cite web|url=http://www.atariage.com/2600/programming|title=AtariAge - Atari 2600 Programming|Publisher=AtariAge.com|accessdate=December 27|accessyear=2007] Timing is critical in this environment. If a program takes too long to update the registers, the television will update the screen before the graphics are properly initialized, resulting in glitches or other video problems. In this respect, Atari 2600 programming could be considered a form of hard real-time computing.
Nintendo Entertainment System (NES)
Several compilers are available for the
Nintendo Entertainment System, but like the Atari 2600, most development directly applies assembly language. One impediment to NES homebrew development is the relative difficulty involved with producing physical cartridges. Several varieties of custom integrated circuits are used within NES cartridges to expand system capabilities; most are difficult to replicate except by scavenging old cartridges. The hardware lockout mechanism of the NES further complicates construction of usable physical cartridges.
ega Master System and Genesis/Mega Drive
Sega Master Systemand Sega Genesis/Mega Drive benefit from limited homebrew development, as there is no physical lockout mechanism, thereby easing the operation of software on these platforms. Homebrew efforts for the Genesis have grown, as there are now several full games scheduled for release in physical form, such as " Pier Solar and the Great Architects" and a port of " Teenage Queen". " Frog Feast" for the Mega Drive and " Mighty Mighty Missile" for the Sega Mega-CDare examples of homebrew games already released for Sega consoles.
ixth generation consoles
Nuonwas a game chip built into several DVD players. The company who made the system called VM Labsreleased a homebrew SDK just before they went bankrupt. The graphical capabilities are on par with the PlayStation. Homebrew Nuon apps can only be played on Samsung DVD-N50x and RCA Nuon DVD players.
Sega Dreamcastwas a console that, while overshadowed by its later competitors, is particularly lauded for its homebrew development capabilities because it does not need any modchip to run them.
One example is Last Hope released by
Red Spot Gamesin 2007, which was actually a port from a Neo-Geohomebrew game.
Early versions of the
PlayStation 2have a buffer overflow bug in the part of the BIOS that handles PS1 game compatibility; hackers figured out how to turn this into a loophole called the PS2 Independence Exploit, allowing the use of homebrew software. Another option for homebrew development is the use of a modchip. Or, developers can use a PS2 hard drive and HD Loader.
Sony also released an official homebrew-development kit that allows PlayStation 2 to run Linux. See the
PS2 Linuxarticle for more information.
The GameCube, when it comes to homebrew, has historically enjoyed little success because it uses quite obscure hardware. False rumors claimed that the GameCube used non-standard DVD-media that was incompatible with consumer DVD burners, or stated that GameCube discs spun backwards, claiming that the discs were written from the outside in.
In fact, the only barrier to burning 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 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 disc has been released (under the name " Phantasy Star Online Episode I & II Plus") and thus the original PSO is rarely sold, and because the Broadband Adapter is not often carried in stores due to the Gamecube's very limited selection of online games.
Currently the most common method is to use a special loader software, often using a
modchip, and homebrew software can be loaded from DVD-R, SD card(with an SD Gekko adapter), or over Ethernet. As the GameCube's case does not fit a full-size DVD-R, third party replacement cases are available. Most of GameCube homebrew software is developed to emulate other videogame systems such as NES, SNES, Master System, Genesis, Turbografx-16, Game Gear, GameBoy, GB Color, GBA, Neo Geo Pocket, Neo Geo CD, MAME, N64,...
Xboxconsole uses several measures, including cryptographically signed code to obfuscated firmware. The primary method of executing homebrew code required installing a mod chipwhich could be flashed with a modified Microsoft BIOS. This BIOS allowed the system to boot unsigned executables (XBEs) and control several hardware variables, such as region coding and video mode. With the leak of Microsoft's official development kit ( XDK) homebrew coders were able to write replacement Xbox GUIs (known as dashboards), games and applications for the Xbox.
softmodwhich uses a commercial game such as "", " Mech Assault" or " Splinter Cell" to load up homebrew software has been discovered. This method utilizes modified font and sound files to cause the Xbox to intentionally crash and load one of the homebrew dashboards. Once in this condition, the Xbox was now able execute homebrew games and applications.
Because the Xbox uses standard PC libraries, writing homebrew games is extremely easy, as the vast majority of commands available for a PC programmer are available to an Xbox homebrew programmer. This ease of coding is the same reason that commercial developers loved the Xbox.
One of the more common type of homebrew games for the Xbox are ports of PC games whose source has been publicly released or leaked. Many classic PC games have been released for Xbox, but most are created with the XDK which limits their availability. The only places to find these ports are through
The Xbox system is also very adept at running
emulatorswhich have been ported from PC. The Xbox is able to emulate systems up to the previous generation, including the Nintendo 64and the PlayStation. For this reason, many different emulators have been created for the Xbox, and some of them have even more development support than their PC counterparts.
Recently, progress has been made in the creation of a legal development kit for the Xbox, known as
OpenXDK. The OpenXDK is intended to allow coders to create new applications and games, as well as port existing source codes, without using illegally obtained Microsoft software. The games and applications created under the OpenXDK can be legally hosted on the net, and downloaded by users.
Even after the release of the
Xbox 360, the Xbox homebrew scene remains extremely active, with new game ports, emulators, and applications coming out weekly. Microsoftis currently encouraging Xbox 360 homebrewed content with XNA, though at a charge of $99 per year.
Seventh generation consoles
PlayStation Portable (PSP)
Microsofthas released a free Software Development Kit (SDK) to would-be homebrew programmers. This SDK, called XNA Game Studio 2.0, is a free version of the SDKavailable to professional development companies. But to create Xbox 360 games you must pay for a premium membership to the XNA Creators Club. Microsoft has announced that the games written with XNA Studio 2.0 will be made available for 200, 400, or 800 Microsoft Points to all Xbox 360owners, this is expected to launch holiday of 2008. This will allow creators of homebrew content access to their target audience of Xbox 360 owners. It is believed that a new "Community Games" blade will appear in the console's Dashboard, similar to the Xbox Live Arcade.
March 20 2007it was announced that a hack using the previously discovered Hypervisor Vulnerability in the Xbox 360 kernel versions 4532 and 4548 had been developed to allow users to run XeLL, a Linux bootloader. The initial hack was beyond the average user and required an Xbox serial cable to be installed and a flashed DVD Drive firmware. Felix Domke, the programmer behind XeLL, has since announced a live bootable Linux CD suitable for novice users, with the capabilities to be installed to the SATA hard drive of the Xbox 360. Despite the availability of such a distribution, the Xbox 360 still isn't considered a popular platform for homebrew development, given the dependence of the exploit on the DVD-ROM being able to load a burnt DVD game, a modified version of the game King Kong, and two older kernel revisions of the console itself.
A group independent of Microsoft is working on the means to run homebrew code, as part of the
The Playstation 3 has been designed to run other operating systems from day one. Very soon after launch, the first users managed to install Fedora Core 5 onto the Playstation 3 via the 'Install Other OS' option in the PS3's XMB (Cross Media Bar), which also allows configuring the PS3 to boot into the other OS installed by default.
So far, several Linux flavors have been successfully installed to the PS3, such as Fedora Core 5, Fedora Core 6, Gentoo and
Yellow Dog Linux(YDL). The latter comes installed with the Cell SDK by default, allowing programmers a low cost entry into Cell programming. See also: Linux for PlayStation 3
At this point graphics support is limited to framebuffer access only (no access to the PS3's graphics chip RSX yet). Since
NVIDIAhas a good track record when it comes to releasing Linux drivers for its products, there is some hope that Linux on PS3 will be able to support the RSX graphics card eventually. In the meantime however, they will have to make do with framebuffer access and software-only implementations of OpenGL, such as Mesa 3D. A port of Lua Player, which will implement Mesa 3D, is already underway.
Homebrew developers do have access to the
Cell microprocessor, including 6 of its 7 active Synergistic Processing Elements (SPEs). The Game OS resides under a hypervisorand prevents users to take full control of the PS3's hardware. This is a security measure which has helped Sony feel secure enough to allow users to install other operating systems to the PS3.
The Sixaxis controller has also been exposed to Linux and Windows [cite web|url=http://forums.ps2dev.org/viewtopic.php?t=7099|title=Sixaxis driver for Windows XP] , but as of yet no driver seems to have been successfully created that exposes its
tilt sensorand accelerometerfunctionality.
From May 2008 a vulnerability was found in the Playstation 3 allowing users to install a partial debug firmware on a regular console. However, the debug functionality is disabled, so neither homebrew applications nor backup games can be run yet.
Another exploit was found on August 14 2008, allowing users to boot some backup games from the PS3's HDD, although the exact instructions on how to do this were not released at that time. However, a different person posted instructions 10 days later, which explained the exploit. [cite web|url=http://forums.maxconsole.net/showthread.php?t=122140|title=How to run a PS3 game backup]
GP2Xby Gamepark Holdingsis fully dedicated to running homebrew software.
Gizmondowas cracked in early 2006. Because Tiger Telematics, the creator of Gizmondo, is bankrupt, a small but loyal fan base provided a fair amount of homebrew applications and emulators.
* [http://www.dcemu.co.uk DC Emu news]
* [http://www.gp2x.info GP2x developers forums] (English and Dutch)
* [http://www.dev-scene.com Dev-Scene Nintendo related Homebrew Portal] Dead link|date=October 2008
* [http://www.pdroms.de/ PDRoms – Homebrew News and Downloads for many systems]
* [http://creators.xna.com/en-US/XboxLIVECommunityGames XNA Creators Club Online]
Wikimedia Foundation. 2010.