Jump to content

I/O: Difference between revisions

(Dan Docs information)
 
(4 intermediate revisions by the same user not shown)
Line 1:
'''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 are allocated 0xFF00 to 0xFF70 on the memory map.
 
The Game Boy/Color will interact with various components on an external Game Pak, such as the ROM, RAM, [[Memory Bank Controller]], [[realReal-timeTime clockClock]], while I/O is also used for details independent of the Game Pak, such as the sound/speaker, internal infrared port (Game Boy Color only). There is also an I/O register for OAM DMA, represented by FF46 on the memory map.
 
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, [http://lavacutcontent.com/sugimori-masuda-developer-interview/ 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.
Line 8:
 
==DMG mode==
*$FF00 - Joypad (also used for Super Game Boy command packets using P14 and P15 output lines)
*$FF00 - Joypad
*$FF01 - Serial transfer (used for the Link Cable, also used in the Turbo File GB's communication protocol)
*$FF02 - Serial control (used for the Link Cable, also used in the Mobile GB Adapter (64KB/s, bits 0 and 1 high), and the DMG-07 4-Player Adapter for "ping" packets)
*$FF04 - Divider
*$FF05 - Timer counter
*$FF06 - Timer modulo
*$FF07 - Timer control
*$FF0F - Interrupt flag (interrupt vector 0058 is also requested after a Link Cable transfer{{elaborate}})
*$FF10-$FF26 - Audio
**$FF10-$FF14 - NR10-NR14
Line 50:
**HDMA dest low
**HDMA count
*$FF56 - Infrared port RP Register (infrared is also used with the Pokémon Pikachu 2 virtual pet, Pocket Sakura, Full Changer, Chee-Chai Alien spectrum communicator)
**Bit 0: Is the Game Boy Color's infrared light on/off? (read/write)
**Bit 1: Infrared signal (0=receiving it, 1=normal/no signal) (read only)
Line 63:
*$FF70 - WRAM bank select
*$FF74 - Unknown
 
==Also relevant==
*$FFFF - Interrupt enable register (IE)
<ref>[https://gbdev.gg8.se/wiki/articles/CGB_Registers GB Dev wiki CGB Registers]</ref><ref>BGB emulator</ref>
==High RAM pertaining to I/O==
==Specific games==
[[Pokémon Red and Blue]]:<!--Check Yellow-->
 
Cookies help us deliver our services. By using our services, you agree to our use of cookies.