Homebrew (video games)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by EWS23 (talk | contribs) at 20:49, 4 June 2006 (→‎Microsoft Xbox: remove redlink, article transwikied and deleted). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

File:Passme.jpg
The PassMe is one way to run Nintendo DS homebrew games.

Homebrew video games are video games written by hobby programmers.

The term is frequently applied only on video games that are produced on proprietary game platforms - in other words, game platforms that are not typically user-programmable, or use proprietary hardware for storage. Sometimes games developed on official development kits, such as Net Yaroze or PS2 Linux are included in the definition. Some, however, also refer all non-commercial, "home-developed" games for open architectures as homebrew games, though these typically go under more frequently used labels, such as freeware. The term doesn't, however, include commercially sold games that are developed without console manufacturer's license.

A popular type of homebrewed games is fangames. In Japan, these games are usually called Dojin soft.

The homebrew games are typically developed to be used with emulators. There have been efforts to use actual console hardware; Atari 2600 homebrew developers can use various methods (such as audio transfer via SuperCharger module) and Game Boy Advance has several ways to use flash memory cartridges (see Game Boy Advance flash cartridges).

Older generations

Today, along with Sega Dreamcast, the most frequently used platforms for homebrew development represent a good part of the older generations of the consoles - the Atari 2600, Nintendo Entertainment System, and Game Boy Advance, latter of which has capabilies comparable and in some cases far exceeding those of the standalone consoles of that era.

The Atari 2600 and NES are interesting because they both use 6502 instruction set which is likely to be familiar to people who have programmed 8-bit computers, such as Commodore 64.

A big factor is that the platforms (and portable platforms in general) are simple enough that a very small team, or a lone programmer, can make a decent enough game for them, therefore favoring homebrew projects which are usually undertaken by small teams or individuals.

Game Boy Advance

The popularity of homebrew development for the Game Boy Advance system in 2001 through 2006 is due to the availability of C compilers and ready-made, high-quality code libraries, and the direct gdb debugger integration for VisualBoyAdvance (the most popular GBA emulator). Also contributing to the success is both the popularity of the system in general, and the wide availability of Flash ROM cartridges and cartridge writers in online shops.

Sixth-generation consoles

All of the major sixth generation ("128-bit") consoles also enjoy some popularity with the modders, but less so than earlier generations. Mostly this is due to the fact that producing software for powerful platforms needs more resources, there aren't very good emulators for these platforms yet, and the consoles themselves often employ rather complex systems to prevent unauthorized code. Homebrew developers often have to use "loopholes" to get their software to run.

Sega Dreamcast

Sega Dreamcast was a console that, while shadowed by its later competitors, is particularly lauded for its homebrew development capabilities. Today, many versions of Linux and BSD can be used on Dreamcast.

PlayStation 2

Early versions of the PlayStation 2 have 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 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 Linux article for more information.

Nintendo GameCube

The GameCube, when it comes to homebrew, has not enjoyed much success due to the fact that it uses quite obscure hardware. Popular rumor stated that the GameCube used non-standard dvd-media that was incompatible with consumer dvd burners. Among other things, the rumors stated that GameCube discs spun backwards, and that they were written from the outside in. In fact, the only barrier to burning GameCube discs with a consumer dvd burner is a "barcode" in the innermost ring of the disc, in an area inaccessible to most burners. The console itself uses very low-profile lockout; for a long time the only way to run homebrew software on GameCube was through a patching-system exploit of Phantasy Star Online.

Nowadays the most common method is to use a special loader software, with or without using a modchip, and homebrew software can be loaded from SD cards or over Ethernet. In addition, several mod chips now exist for the system that allows software to be booted from DVD-Rs.

Microsoft Xbox

The Xbox console uses several measures ranging from cryptographically signed code to obfuscated firmware, but a softmod which uses a commercial game such as 007: Agent Under Fire to load up homebrew software has been discovered.

Sixth-generation Handhelds

Playstation Portable

Running homebrew software on the Playstation Portable has become very popular, but is hindered by the fact that the PSP firmware is a moving target - Sony is patching exploits as soon as they are found. The first version of the firmware allowed unsigned code to be executed without any exploits. In the upgrade to this (version 1.5), two exploits were found to run unsigned code-Swaploit (which involved 2 memory sticks) and Kxploit (which only required 1). Versions 1.51 and 1.52 (which shipped with new PSPs) combated these exploits. In the next version of the firmware, an exploit was found in the PSP's image viewing software that could use buffer overflow to run small pieces of code, including PONG. This exploit was used to create a downgrader, so that version 2.0 PSPs could return to 1.50 state and run homebrew software.

Recently there has been a way of running Homebrew on a 2.0 software of the PSP using a TIFF image overflow. The "EBOOT" loader was made by Fanjita.

Upon the release of Grand Theft Auto: Liberty City Stories, Edison Carter made a save game that ran a small program during gameplay for cheating purposes. This inspired Fanjita to create a save game that would be a homebrew game or load other homebrew games.

On January 9, 2006, Fanjita exploited a flaw in GTA, by releasing a homebrew Tetris application that would run under firmware revision 2.50.

Later that month, Fanjita released a GTA Exploit Eboot Loader for PSP firmware revisions 2.01, 2.5 and 2.6 (known as the eLoader).

Fanjita has released a couple of non-beta versions including Brown Ale, Bière d'Alsace, and Bock. He names them after beer styles.

No exploit has been found in 2.70 yet.

Actually, homebrew applications are fine provided that it does not infringe on copyright. The problem arises when people use such loopholes not to run custom applications but to pirate commercial games.

Nintendo DS

Main article: Nintendo DS homebrew

The Nintendo DS has many methods available to run homebrew software.

Although the DS will normally only boot programs digitally signed by Nintendo, the homebrew community soon found different methods of booting unsigned DS programs from the GBA slot. The DS does not need modification to run Game Boy Advance homebrews.

There are four methods available: PassMe, PassMe2, WiFiMe and FlashMe. PassMe and PassMe2 are adapters that plug into the DS game slot. WiFiMe is a special program sent to the DS using Wireless Multi Boot and a compatible WiFi card. FlashMe is an alternative firmware. However, to install FlashMe, you need to use PassMe, PassMe2, or WiFiMe to launch the flashing program.

GP2X

The GP2X by Gamepark Holdings is fully dedicated to running homebrew software.

External links