Skip to content

Nintendo Game Boy

Overview

The Game Boy application for webЯcade is an emulator for the Game Boy handheld game console.

Rocket Man (Demo) by Light Games

Controls

The emulator supports one controller. The keyboard and gamepad mappings are listed in the tables below.

Keyboard

Keyboard controls are listed below.

Name
Keys
Comments
Move
A or
B or
Start
Select The Right Shift Key.
Show Pause Screen

Gamepad

Gamepad mappings are listed below.

Name
Gamepad
Comments
Move  or 
A or
B or
Start Not available for Xbox and not recommended for iOS (see alternate)

Press the Menu (Start) Button.
Start
(Alternate)
 and  Hold down the Right Trigger and click (press down) on the Right Thumbstick.
Select Not available for Xbox and not recommended for iOS (see alternate)

Press the View (Back) Button.
Select
(Alternate)
 and  Hold down the Right Trigger and click (press down) on the Left Thumbstick.
Show Pause Screen  and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the Left Trigger and press the Menu (Start) Button.
Show Pause Screen
(Alternate)
 and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the Left Trigger and press the View (Back) Button.
Show Pause Screen
(Alternate 2)
 and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the X Button and press the View (Back) Button.
Show Pause Screen
(Alternate 3)
 and  Hold down the Left Trigger and click (press down) on the Left Thumbstick.
Show Pause Screen
(Alternate 4)
 and  Hold down the Left Trigger and click (press down) on the Right Thumbstick.

Battery-backed SRAM

Some Game Boy cartridges include battery-backed SRAM as a means of preserving state between sessions. The Game Boy application supports persisting this SRAM state into the browser's local storage. The SRAM contents will be persisted to local storage whenever the pause screen is displayed (or the game is existed). Therefore, the menu should be displayed periodically for games that support battery-backed SRAM to ensure the state is properly persisted.

Feed

This section details how Game Boy application instances can be added to feeds.

Type

The type name for the Game Boy application is vba-m-gb.

Note

The alias gb also currently maps to this application. In the future, the gb alias may be mapped to another Nintendo Game Boy application (different emulator implementation) if it is determined to be a more appropriate default.

Properties

The table below contains the properties that are specific to the Game Boy application. These properties are specified in the props object of a feed item.

Property Type Required Details
rom URL Yes URL to a Game Boy ROM file or a zip file containing a ROM file.
hwType Numeric No The type of hardware to emulate (defaults to Automatic).
  • 0 : Automatic
  • 1 : Game Boy Color
  • 2 : Super Game Boy
  • 3 : Game Boy
  • 4 : Game Boy Advance
  • 5 : Super Game Boy 2
colors Numeric No The category of colors to use for the display. (defaults to Grayscale).
  • 0 : Grayscale
  • 1 : Greenscale
  • 2 : Super Game Boy
palette Numeric No The specific palette to use within the selected color category (see colors property).

This value defaults to the first palette available within the selected color category.

Each color category has a set of palettes available for selection. The simplest way to determine a specific palette value for this property is by using the Feed Editor, selecting a palette, exporting the feed and viewing the numeric value for the selected palette.
border Numeric No Whether to display a border around the screen (defaults to Off).
  • 0 : Off
  • 1 : On
  • 2 : Automatic

Example

The following is an example of a complete feed that consists of a single Game Boy application instance (type value of gb). The rom property value is a URL that points to a Dropbox location that contains the excellent demo of the homebrew game Rocket Man by Light Games.

The hwType value has been set to 5 to force the emulated hardware to be the Super Game Boy 2. The border value has also been set to 1 to enable the game's custom border on the Super Game Boy. Neither of these options are required, but can be used to customize the experience for each game.

{
  "title": "Game Boy Feed",
  "longTitle": "Nintendo Game Boy Example Feed",
  "categories": [
    {
      "title": "Game Boy Games",
      "longTitle": "Nintendo Game Boy Games",
      "items": [
        {
          "title": "Rocket Man",
          "longTitle": "Rocket Man (Demo)",
          "type": "gb",
          "props": {              
            "rom": "https://dl.dropboxusercontent.com/s/0z8wwdxk54v9dgi/Rocket%20Man%20%28Demo%29%20v1.2.1.gb",
            "hwType": 5,
            "border": 1
          }
        }
      ]
    }
  ]
}

This example can be tested by adding a feed with the following URL within the webЯcade player:

https://tinyurl.com/sample-gb-feed

References

Back to top