Research Game Boy/Game Boy Color hardware details from Pan Docs first, with curl and mirror fallbacks, and SameBoy implementation only when specs are incomplete.
Use this skill whenever you need details about any part of Game Boy or Game Boy Color hardware. This includes CPU (SM83/LR35902), PPU, APU, DMA, serial port, joypad, cartridge bus behavior, memory maps, timing, electrical quirks, MBC (memory bank controllers), and model differences (DMG, MGB, CGB, SGB). Prefer source-backed answers, be thorough, and never guess when the documentation is missing or incomplete.
https://gbdev.io/pandocs/.curl.https://github.com/gbdev/pandocs and read the relevant markdown files from src/.curl https://raw.githubusercontent.com/Gekkio/mooneye-test-suite/main/<path>.sacceptance/oam_dma_start.gb → acceptance/oam_dma_start.s; M=1: OAM still accessible are authoritative — they document verified hardware observations.mode3_extra_dots — it must be quantized: mode3_extra_dots = floor(raw_penalty_dots / 4) * 4.intr_2_mode0_timing_sprites) to pass. Without quantization, STAT mode reads by the CPU will be off by one M-cycle.LIJI32/SameBoy and focus on Core/.references/source-priority.md: source order, retrieval tips, and SameBoy lookup starting points.Researching joypad register ($FF00) behavior:
start with Pan Docs joypad and register pages, then follow links for timing, interrupt behavior, and model differences.
Researching an APU channel detail:
start with Pan Docs APU and sound controller pages, then inspect Core/ in SameBoy only if the written specification leaves a behavior unclear.
Researching an MBC quirk:
start with the MBC page on Pan Docs, follow cartridge-specific links, then inspect Core/ or related MBC files in SameBoy if the written documentation is incomplete.
Diagnosing a failing Mooneye acceptance test (oam_dma_start):
fetch the test source with curl https://raw.githubusercontent.com/Gekkio/mooneye-test-suite/main/acceptance/oam_dma_start.s, read the inline timing comments to understand the exact expected behavior, then cross-check Pan Docs for the register specification.