I/O: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
(Pokémon Red and Blue specific (I reworded it with respect to the Datacrystal author).)
Line 21: Line 21:


==Specific games==
==Specific games==
*Pokémon Red and Blue:<!--Check Yellow-->
[[Pokémon Red and Blue]]:<!--Check Yellow-->


*FFB1 - Previous frame's joypad input
*FFB1 - Previous frame's joypad input
Line 37: Line 37:
<!-- ==Nintendo 3DS==-->
<!-- ==Nintendo 3DS==-->
<!-- ==Nintendo Switch==-->
<!-- ==Nintendo Switch==-->

==External links==
==External links==
*[https://gbdev.gg8.se/wiki/articles/Joypad_Input Joypad input on Game Boy dev wiki]
*[https://gbdev.gg8.se/wiki/articles/Joypad_Input Joypad input on Game Boy dev wiki]

Revision as of 12:10, 8 November 2022

I/O (input/output) refers to how a computer communicates with the outside world. In the Game Boy/Color's Z80-based processor, registers for the input/output range between 0xFF00 to 0xFF70.

The Game Boy/Color has included a huge amount of communication peripherals. One of the most commonly used is the Link Cable; which inspired the Pokémon concept as Satoshi Tajiri was a bug catcher during his childhood, and there were also inspirations from Menko card games, and kaijuu media such as Kamen Rider, Ultraman. Additionally, the Game Boy Color (but not the Game Boy Advance) included a built-in infrared port.

The Japanese version of Pokémon Crystal communicated over the Internet using a mobile phone and the Mobile GB Adapter, but the Mobile GB Adapter fell into relative obscurity and never left Japan.

DMG mode

  • $FF00 - Joypad
  • $FF01 - Serial transfer
  • $FF04 $FF07 - Timer/divider
  • $FF10 $FF26 - Audio
  • $FF30 $FF3F - Wave pattern
  • $FF40 $FF4B - LCD Control, Status, Position, Scrolling, Palettes
  • $FF50 - Is boot ROM disabled? (non-zero if true)

CGB mode

  • $FF4F - VRAM Bank Select
  • $FF51 $FF55 - VRAM DMA
  • $FF68 $FF69 - BG/OBJ Palettes
  • $FF70 - WRAM Bank Select

Specific games

Pokémon Red and Blue:

  • FFB1 - Previous frame's joypad input
  • FFB2 - Which buttons were released on this frame?
  • FFB3 - Which buttons were pressed on this frame?
  • FFB4 - Which buttons were held on this frame?
  • FFB5 - Low sensitivity joypad output. (This is controlled by FFB6 and FFB7)
  • FFB6 - Nothing if zero and A or B is held, else buttons held for more than half a second are pressed twelve times/s. No influence if FFB7 is zero.
  • FFB7 - (If zero): Newly-pressed buttons are contained in FFB5.

[1]


External links

References

This article or section is a stub. You can help Glitch City Wiki by expanding it.