Search code examples
gameboy

Does the GameBoy have provisions to run in a low/lower power mode, e.g. when games are paused?


When paused some Gameboy games:

  1. Continue with moving visuals (to some degree),
  2. Continue with music.
  3. Get silent and have a static image only:
  • either last frame frozen, maybe combined with a "Paused" overlay,
  • or feature a custom static Pause screen.

As this was a portable console and battery life limited I ask myself:

  • Did the GameBoy more or less run in an endless processing loop and consumed the same energy regardless where in gameplay?
  • Or did the GameBoy provide a low power mode for less active gameplay, like "Inventory Screens" or "Pause screens" from which a key press functioned as a CPU interrupt to continue at full throttle again?

Solution

  • It is definitely possible to program your game in a way that reduces power consumption. This guide contains some good examples. One of the more notable examples is to use the halt CPU instruction when waiting for things like VBlank.