Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix A: Signal Concordance

Every netlist gate named in this book — 1019 signals — with its role, cell type, and the chapter that owns its primary description. Gate names come from the DMG-CPU B netlist via msinger/dmg-schematics; each is independently checkable against the schematics and the dmg-sim Verilog. Roles are taken from the owning chapter's reference blocks; gates without a role row appear in prose or chain descriptions, where the linked chapter carries the context.

This index is generated from the book's own text and validated against the netlist sources, so every entry corresponds to a real cell and a real mention.

GateRoleTypePrimary chapterAlso appears in
ABAFMode Transitions
ABAKPer-slot-reset shared gating termor2Mode 2: OAM ScanMode Transitions
ABEZMode Transitions
ABONFAMU enablenot_x2 chainMode 3: The Sprite Pipeline
ACORWave data latch reset driver (= NOT(apu_reset))not_x1CH3: Wave Channel
ACYLOAM DMA
ADARRegister Writes
ADEHATAL complementnot_x1The Clock TreeRegister Writes
ADYKPhase generator ring stage 4dffThe Clock TreeRegister Writes
AFASRing decode driving CUPA (inputs ADAR, ATYP)nor2Register Writes
AFURPhase generator ring stage 1dffThe Clock TreeRegister Writes
AGETLength counter load enable (upper bits)not_x1Length Counters and Power Cycling
AJEPOAM DMA
AJERCH1 prescaler /2 stage 1dffrAPU Clock Tree and Frame SequencerCH1/CH2: Pulse Channels, Sweep and Envelope
AJONMode 3 + non-DMAand2Rendering Mode ControlOAM and VRAM Access, OAM DMA, CPU-Visible Mode Boundaries
AJUJOAM-access permitnor3OAM and VRAM AccessOAM DMA, CPU-Visible Mode Boundaries
AKYDCH2 length counter bit 5 (MSB)tffnlLength Counters and Power Cycling
ALEFPhase generator ring stage 2dffThe Clock TreeRegister Writes
ALESMode Transitions
ALET4 MHz PPU main clocknot_x2The Clock TreeRendering Mode Control, Register Writes, Register Reads
AMABOAM CPU-write address gateand2OAM and VRAM Access
AMUVLCDC.3 → ~ma10 tri-state drivernot_if0Mode 3: The BG Pipeline
AMYGMode 2: OAM Scan
ANELScan counter reset chain stage 2dffrOAM DMAMode 2: OAM Scan, Mode Transitions
ANOMScan counter resetnor2Mode 2: OAM ScanMode Transitions
ANOSCrystal feedback NANDnand2The Clock Tree
ANYPSCY read enable (AND2 with ppu_rd)and2Register Reads
APAROAM DMAMode 2: OAM Scan
APOVCUPA driver stage 4notRegister Writes
APUGThe IF Register
APUKPhase generator ring stage 3dffThe Clock TreeRegister Writes
APUVCH1 prescaler clock buffernot_x1APU Clock Tree and Frame Sequencer
AREVCUPA driver stage 5nand2Register Writes
ARORSprite-trigger gate (LCDC.1-gated rendering enable)and2LCDC StructureMode 2: OAM Scan, Mode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
AROVRegister Writes
ARURSCX write enableand2Register Writes
ASAMOAM CPU-address disableor3Rendering Mode ControlOAM DMA
ASENBESU reset driveror2Rendering Mode ControlMode 2: OAM Scan, Mode Transitions
ATAGAPU 4 MHz polarity restorenot_x1APU Clock Tree and Frame Sequencer
ATAL4 MHz buffered enablenot_x2The Clock TreeRegister Writes
ATARVID_RST active-highnotRendering Mode ControlMode 2: OAM Scan, Mode Transitions
ATEJRendering Mode ControlMode 2: OAM Scan, Mode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
ATEPCH2 prescaler /2 stage 1dffrAPU Clock Tree and Frame SequencerCH1/CH2: Pulse Channels
ATYPRegister Writes
AVAPMode 2→3 triggernot_x2Mode 2: OAM ScanThe Clock Tree, Rendering Mode Control, Register Writes, Register Reads
AVER= NAND2(mode2, XYSO) — scan-phase term in BYCUnand2OAM DMAMode 2: OAM Scan, OAM and VRAM Access
AVETCrystal feedback NANDnand2The Clock Tree
AVOGSCX read enable (AND2 with ppu_rd)and2Register Reads
AWOHMode Transitions
AXADMode 3: The BG Pipeline
AZEGCH2 prescaler clock buffernot_x1APU Clock Tree and Frame Sequencer
AZEMAROR second input (rendering-active AND mid-scanline-control)and2Rendering Mode ControlMode 2: OAM Scan
AZETWave-RAM precharge-window term (with AZUS)dffrCH3: Wave Channel
AZOFPPU clock buffernot_x6The Clock TreeAPU Clock Tree and Frame Sequencer
AZUSwave_data_latch synchroniser stage 3dffrCH3: Wave Channel
AZYBSlot counter reset drivernot_x1Mode 2: OAM ScanMode Transitions
BAFUapu_wr buffer stage 1not_x1APU Clock Tree and Frame Sequencer
BAFYAMUV enable (BG tilemap stage)not_x2Mode 3: The BG Pipeline
BAGYBYBA/DOBA reset drivernot_x1Mode 2: OAM Scan
BALUOAM-parse reset (active-high)not_x1Mode 2: OAM ScanMode Transitions
BAMAwave_data_latch synchroniser reset driver (= NOT(apu_reset))not_x1CH3: Wave Channel
BANOwave_data_latch synchroniser stage 2dffrCH3: Wave Channel
BAPYRegister Writes
BARYCH3 DAC input bit 0 gate (AND with ch3_active)and2CH3: Wave Channel
BATUThe IF Register
BAVESweep pace = 0 detectorand3Sweep and Envelope
BAVUch4_1mhz — CH4 base clock (= NOT avok, ~1.048 MHz)not_x1CH4: Noise Channel
BAXOMode 3: The Sprite Pipeline
BEBA= NOT(AVOG) — SCX read drivers' ena_nnot_x1Register Reads
BEBUScan-complete aggregateor3The Clock TreeRendering Mode Control, Mode 2: OAM Scan, Mode Transitions
BEDYSCY write enableand2Register Writes
BEGOSlot counter bit 2dffrMode 2: OAM Scan
BEGUWave data latch bit 3drlatch_eeCH3: Wave Channel
BELUdata_phase gate (= NOR2(ATYP, clk_ena_n))nor2Register Reads
BELYCH3 DAC input bit 3 gate (AND with ch3_active)and2CH3: Wave Channel
BEPAWave data latch bit 7drlatch_eeCH3: Wave Channel
BERURegister Writes
BESESlot counter bits 0–3dffr (toggle)Mode 2: OAM Scan
BESUScan-active latch (Q=1 during Mode 2)nor_latchRendering Mode ControlRegister Writes, Register Reads, OAM and VRAM Access
BETEOAM DMA
BEVAdata_phase rebuffernot_x6Register Reads
BEXASweep-fire latchdffrSweep and Envelope
BODEOAM DMA
BOGAPPU timing divider (held 0 under VID_RST)Register WritesPost-Boot State
BOGEOAM and VRAM AccessOAM DMA, Mode 2: OAM Scan
BONESweep overflow channel-disable term (= NOT(ch1_sum_ovfl_n))not_x1Sweep and Envelope
BOPACH3 DAC input bit 2 gate (AND with ch3_active)and2CH3: Wave Channel
BORAWave data latch bit 6drlatch_eeCH3: Wave Channel
BUDYWave data latch bit 2drlatch_eeCH3: Wave Channel
BUKOLength counter bit-3→4 ripple inverternot_x1Length Counters and Power Cycling
BUREFrame-sequencer 512 Hz clocknot_x2APU Clock Tree and Frame Sequencer
BURYBEXA async-reset driver (pace 0)nor2Sweep and Envelope
BUSAwave_data_latch synchroniser stage 1dffrCH3: Wave Channel
BUVACH2 length counter bit 4tffnlLength Counters and Power Cycling
BUWY= NOT(ANYP) — SCY read drivers' ena_nnot_x1Register Reads
BUZARendering Mode Control
BYBAScan-done flagdffrThe Clock TreeMode 2: OAM Scan, Mode 3: The BG Pipeline, Mode Transitions
BYCU= NAND3(CUFE, XUJY, AVER) — COTA drivernand3OAM DMAMode 2: OAM Scan, OAM and VRAM Access
BYHAMode Transitions
BYJOAZEM first input (mid-scanline control)not_x1Mode 2: OAM Scan
BYKACH3 DAC input bit 1 gate (AND with ch3_active)and2CH3: Wave Channel
BYLUFrame sequencer /2 → 128 Hz (sweep tap)dffrAPU Clock Tree and Frame SequencerPost-Boot State
BYMOLength counter load enable (lower bits)not_x1Length Counters and Power Cycling
BYRASweep shift-step counter bit 2tffnlSweep and Envelope
BYRYdata_phase inverter (of BELU)not_x2Register Reads
CAGYCH2 duty counter bit 1dffr_ccCH1/CH2: Pulse Channels
CAJASweep shift-step counter bit 1tffnlSweep and Envelope
CAKEMode 2: OAM Scan
CALACH1 overflow detector (NOT stage)not_x1CH1/CH2: Pulse Channels
CALOCH1 prescaler /2 stage 2dffrAPU Clock Tree and Frame SequencerCH1/CH2: Pulse Channels
CALYint_serial driver (toggle DFF on serial transfer clock)dffrThe IF Register
CAMACH2 divider toggle clock (NOR stage)nor2CH1/CH2: Pulse Channels
CAMECH2 length counter bit 3tffnlLength Counters and Power Cycling
CANOCH2 duty counter bit 0 (LSB)dffrCH1/CH2: Pulse Channels
CAPEMode 2: OAM Scan
CAPYCH1 length-clock gatenor3Length Counters and Power Cycling
CAREGlobal sprite-save enableand3Mode 2: OAM ScanMode Transitions, Scanline and Frame Timing
CARUFrame sequencer /2 → 256 Hz (length tap)dffrAPU Clock Tree and Frame SequencerLength Counters and Power Cycling, Post-Boot State
CARYnoise_counter_clk — CH4 shift-divider clock (ch4_1mhz & gary)and2CH4: Noise Channel
CASYSCX bit-7 read drivernot_if0Register Reads
CATASCX bit-5 read drivernot_if0Register Reads
CATUScan-boundary triggerdffrOAM DMAMode 2: OAM Scan, Mode Transitions, CPU-Visible Mode Boundaries
CAVACH1 duty-pattern selectnor2CH1/CH2: Pulse Channels
CAXOCH1 duty-pattern selectnor2CH1/CH2: Pulse Channels
CAXUMode 2: OAM Scan
CAXYSweep counter bit 2tffnlSweep and Envelope
CEDEinverted dma_addr_extnot_x2OAM DMA
CEDUSCX bit-4 read drivernot_if0Register Reads
CEDYMode 2: OAM ScanMode 3: The Sprite Pipeline
CEHAMode 2: OAM Scan
CEMOCH2 prescaler /2 stage 2dffrAPU Clock Tree and Frame SequencerCH1/CH2: Pulse Channels
CENOXUPY-phased scan-active copydffrThe Clock TreeRendering Mode Control, Mode 2: OAM Scan, Races
CERACH2 length counter bit 1tffnlLength Counters and Power Cycling
CERYCH3 prescaler /2 stagedffrAPU Clock Tree and Frame SequencerCH3: Wave Channel
CESYWave data latch bit 1drlatch_eeCH3: Wave Channel
CEVOWave data latch bit 5drlatch_eeCH3: Wave Channel
CEVUCH1 duty-pattern selectnor2CH1/CH2: Pulse Channels
CEXOCH4 shift divider bit 0dffrCH4: Noise Channel
CODOCH1 duty counter-state decodenot_x1CH1/CH2: Pulse Channels
COMYCH1 overflow capture (/2 toggle)dffrCH1/CH2: Pulse Channels
CONUCH2 length counter bit 2tffnlLength Counters and Power Cycling
COPASweep shift-step counter bit 0tffnlSweep and Envelope
COPUCH1 divider bit 10 (MSB)tffnlCH1/CH2: Pulse Channels
COSOCH1 duty-pattern selectnor2CH1/CH2: Pulse Channels
COTAStage-2 capture enable; complement WOVU drives the OAM bitline prechargenot_x1OAM DMAMode 2: OAM Scan, OAM and VRAM Access
COWECH1 PWM gated by channel-runningand2CH1/CH2: Pulse Channels
COZESweep counter-at-max detectorand3Sweep and Envelope
CUFE= OAI21(FEXX, dma_run, dma_phi_n) — $FExx/DMA bus-cycle term in BYCUoai21OAM DMAMode 2: OAM Scan, OAM and VRAM Access
CUGASCX bit-2 read drivernot_if0Register Reads
CULECH2 duty counter clocknot_x1CH1/CH2: Pulse Channels
CUPAShared PPU register write strobecombinational (derived from phase gen)Register WritesRegister Reads, OAM and VRAM Access, Mode 2: OAM Scan
CUPOSweep counter bit 0tffnlSweep and Envelope
CUSASCY bit-4 read drivernot_if0Register Reads
CUVOWave data latch bit 4drlatch_eeCH3: Wave Channel
CUXYSlot counter bit 1dffrMode 2: OAM Scan
CYBOCH3 prescaler clock buffernot_x1APU Clock Tree and Frame Sequencer
CYFOWave data latch bit 0drlatch_eeCH3: Wave Channel
CYKEMode 2: OAM Scan
CYMUSweep counter load enable (NOT stage)not_x1Sweep and Envelope
CYPUSweep counter bit 1tffnlSweep and Envelope
CYRAOAM DMAMode 2: OAM Scan
CYRECH2 length-clock gate (DEME) inputdffrLength Counters and Power Cycling
CYSECH2 PWM gated by channel-runningand2CH1/CH2: Pulse Channels
CYVOCH2 divider bit 3tffnlCH1/CH2: Pulse Channels
DAFASweep counter load enable (NOR stage)nor2Sweep and Envelope
DAJOCH1 duty counter clocknot_x1CH1/CH2: Pulse Channels
DALECH4 shift divider bit 5dffrCH4: Noise Channel
DAPECH1 duty counter bit 2 (MSB)dffr_ccCH1/CH2: Pulse Channels
DARECH2 duty counter-state decodenot_x1CH1/CH2: Pulse Channels
DARYCH4 divider low-tap mux (bits 0,1,2,3 group)ao2222CH4: Noise Channel
DASAMode 2: OAM Scan
DATOCH4 LFSR output → envelope gateor2CH4: Noise Channel
DEGOPer-slot X match, FEFY group (active-low)nand3Mode 3: The Sprite Pipeline
DEKOCH4 shift divider bit 1dffrCH4: Noise Channel
DEMECH2 length-clock gatenor3Length Counters and Power Cycling
DEMOCH4 shift divider bit 7dffrCH4: Noise Channel
DEPOOAM attribute bit 7 latch (BG-over-OBJ priority)dlatch_eeMode 3: The Sprite Pipeline
DERECH4 shift divider bit 12dffrCH4: Noise Channel
DEROCH3 wave-position counter clocknot_x1CH3: Wave Channel
DERUCH1 divider ripple inverter (bits 8–10)not_x1CH1/CH2: Pulse Channels
DETECH4 shift divider bit 9dffrCH4: Noise Channel
DOBAALET-clocked scan-done-prevdffrThe Clock TreeMode 2: OAM Scan, Mode Transitions, Scanline and Frame Timing
DOCACH2 divider toggle clock (NOT stage)not_x1CH1/CH2: Pulse Channels
DODACH3 length-clock gatenor3Length Counters and Power Cycling
DOJUCH2 duty-pattern selectnor2CH1/CH2: Pulse Channels
DOKAOverflow-capture self-clear term (= AND2(COMY, ch1_1mhz))and2CH1/CH2: Pulse Channels
DOKECH4 shift divider bit 6dffrCH4: Noise Channel
DOMECH2 PWM latchdffrCH1/CH2: Pulse Channels
DOMOCH2 duty-pattern selectnor2CH1/CH2: Pulse Channels
DONECH2 divider bit 0tffnlCH1/CH2: Pulse Channels
DOSECH4 shift divider bit 8dffrCH4: Noise Channel
DOTACH4 shift divider bit 11dffrCH4: Noise Channel
DOVECH2 duty-pattern selectnor2CH1/CH2: Pulse Channels
DOXESCX bit-6 read drivernot_if0Register Reads
DUGAOAM DMA
DUJUCH2 divider load enablenor2CH1/CH2: Pulse Channels
DURECH4 shift divider bit 4dffrCH4: Noise Channel
DUWOCH1 PWM latchdffrCH1/CH2: Pulse Channels
DYBA= NOT(BYVA) — per-slot line-reset termnot_x1Mode 3: The Sprite Pipeline
DYBESlot counter bit 3 (MSB)dffrMode 2: OAM Scan
DYDUPer-slot X match, FEFY group (active-low)nand3Mode 3: The Sprite Pipeline
DYKAPer-slot X match, FOVE group (active-low)nand3Mode 3: The Sprite Pipeline
DYKYCUPA driver stage 1notRegister Writes
DYMUCH2 duty counter-state decodeand2CH1/CH2: Pulse Channels
DYNUCH2 divider bit 1tffnlCH1/CH2: Pulse Channels
DYROGated 256 Hz length tick (= NOT(DEME))not_x1Length Counters and Power Cycling
DYRUCOMY async-reset driver (= NOR(apu_reset, ch1_restart, DOKA))nor3CH1/CH2: Pulse Channels
DYTACH2 duty-pattern selectnor2CH1/CH2: Pulse Channels
DYVECH2 duty counter bit 2 (MSB)dffr_ccCH1/CH2: Pulse Channels
DYWESlot-0 reset driver = OR2(DYBA, EBOJ)or2Mode 3: The Sprite Pipeline
EBEBSlot-3 write-enable inverternot_x1Mode 2: OAM ScanRaces
EBOJSlot-0 fetch-done flag (d = GUVA, clk = WUTY)dffrMode 3: The Sprite PipelineMode 2: OAM Scan
EBOSMode 2: OAM Scan
ECEDOAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
EDOSSCX bit-0 read drivernot_if0Register Reads
EFALCH3 wave-position bit 4 (MSB)dffrCH3: Wave Channel
EFARCH3 wave-position bit 0 (wave_nibble_sel)dffrCH3: Wave Channel
EFUZCH3 wave-position bit 2dffrCH3: Wave Channel
EFYLPer-slot X match, FOVE group (active-low)nand3Mode 3: The Sprite Pipeline
EGOGCH2 duty counter-state decodeand2CH1/CH2: Pulse Channels
EGOMPer-slot X match, FOVE group (active-low)nand3Mode 3: The Sprite Pipeline
EKOBSCX bit-1 read drivernot_if0Register Reads
EKOVCH1 divider bit 7tffnlCH1/CH2: Pulse Channels
ELYNScan counter bit 3dffrMode 2: OAM Scan
ELYXCH4 divider mid-tap mux (bits 4,5,6,7 group)ao2222CH4: Noise Channel
EMUSCH1 divider bit 8tffnlCH1/CH2: Pulse Channels
EMYRVolume saturation detector (vol 0 + down)nor5Sweep and Envelope
ENEFY-compare carry-chain bit 1full_addMode 2: OAM Scan
ENEKCH1 duty counter-state decodeand2CH1/CH2: Pulse Channels
EPORCH4 shift divider bit 3dffrCH4: Noise Channel
EPYKCH1 divider load enablenor2CH1/CH2: Pulse Channels
EROSCH1 duty counter bit 1dffr_ccCH1/CH2: Pulse Channels
ERUCY-compare carry-chain bit 0full_addMode 2: OAM Scan
ERUSCH3 wave-position bit 1dffrCH3: Wave Channel
ERUTCH4 shift divider bit 10dffrCH4: Noise Channel
ERYCCH2 length counter bit 0tffnlLength Counters and Power Cycling
ERYFCH4 divider low-tap aggregateor2CH4: Noise Channel
ESEPCH4 shift divider bit 13dffrCH4: Noise Channel
ESUTCH1 duty counter bit 0 (LSB)dffrCH1/CH2: Pulse Channels
ETANWave-position counter reset (active-low)nor2CH3: Wave Channel
ETYRCH4 divider high-tap mux (bits 8–13)ao222222CH4: Noise Channel
EVAKCH1 divider bit 9tffnlCH1/CH2: Pulse Channels
EXELCH3 wave-position bit 3dffrCH3: Wave Channel
EZEFCH4 shift divider bit 2dffrCH4: Noise Channel
EZOFCH2 divider bit 2tffnlCH1/CH2: Pulse Channels
EZOZCH1 duty counter-state decodeand2CH1/CH2: Pulse Channels
EZULCH4 LFSR-output / bypass muxmuxCH4: Noise Channel
FABOch3_restart sample clock (= NOT(ch3_2mhz))not_x1CH3: Wave Channel
FAHAScan counter bit 4dffrMode 2: OAM Scan
FAJUch3_fdis enable pulse (= NOT(GYRA))not_x1CH3: Wave Channel
FAMU~ma4 tri-state drivernot_if0Mode 3: The Sprite Pipeline
FECOY-compare carry-chain bit 2full_addMode 2: OAM Scan
FEFYSprites 0–4 X-match aggregatenand5Mode 2: OAM ScanMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
FEMECH4 LFSR shift-clock select (ff22_d7 ? etyr : eryf)muxCH4: Noise Channel
FEMOMode 2: OAM Scan
FENAVolume counter bit 3tffnlSweep and Envelope
FENOVolume counter bit 0tffnlSweep and Envelope
FEPOSprite X priority aggregateor2Rendering Mode ControlMode 2: OAM Scan, Mode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
FEPUMode 2: OAM Scan
FETEVolume counter bit 1tffnlSweep and Envelope
FETOScan-done decodeand4Mode 2: OAM ScanMode Transitions
FETYCH3 counter-wrap interlock (/2 toggle)dffrCH3: Wave Channel
FEVACH1 divider bit 6tffnlCH1/CH2: Pulse Channels
FEXX$FExx address-range decode (= NOT(ROPE))not_x2OAM and VRAM Access
FFFFInterrupt Dispatch
FOBANR34 trigger M-cycle synchroniserdffrCH3: Wave Channel
FOCOSlot-3 selectornand4Mode 2: OAM Scan
FOFAMode 2: OAM Scan
FOMYVolume counter bit 2tffnlSweep and Envelope
FONEMode 2: OAM Scan
FONOMode 2: OAM ScanMode 3: The Sprite Pipeline
FONYScan counter bit 5 (MSB)dffrMode 2: OAM Scan
FOVESprites 5–9 X-match aggregatenand5Mode 2: OAM ScanMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
FOZUCH3 active-bit nor_latchnor_latchCH3: Wave Channel
FUFOXYMO complementnot_x1Mode 3: The Sprite Pipeline
FUKYMode 2: OAM Scan
FULOCH1 divider toggle clock (NOR stage)nor2CH1/CH2: Pulse Channels
FUVEMode 2: OAM Scan
FUVOch3_fdis disable level (= NOR(ch3_amp_en_n, apu_reset))nor2CH3: Wave Channel
FUWAY-compare carry-chain bit 5full_addMode 2: OAM Scan
FUXOCH2 divider bit 4tffnlCH1/CH2: Pulse Channels
FUXUSlot-0 X save strobe (store-counter = 0 decode)not_x1Mode 3: The Sprite Pipeline
FYCUMode 2: OAM Scan
FYGOFOZU clear term (= OR3(apu_reset, GEDO, ch3_amp_en_n))or3CH3: Wave Channel
FYNEhoru_512hz buffer chain stagenot_x3APU Clock Tree and Frame Sequencer
FYREVolume saturation detector (vol 15 + up)not_x1Sweep and Envelope
GACENOT(GOPU) — Y-compare sum bit 4, complementednot_x1Mode 2: OAM Scan
GALEhoru_512hz buffer chain stagemuxAPU Clock Tree and Frame Sequencer
GAMElfsr_out — CH4 LFSR output AND ch4_activeand2CH4: Noise Channel
GANECH2 divider bit 7tffnlCH1/CH2: Pulse Channels
GANOCH2 divider bit 5tffnlCH1/CH2: Pulse Channels
GARAch3_restart synchroniser DFFdffrCH3: Wave Channel
GARYCH4 shift-divider clock-enable latch (cleared by trigger)dffrCH4: Noise Channel
GAVAScan counter clockor2Mode 2: OAM Scan
GAVUNR34 trigger-bit capturedrlatch_eeCH3: Wave Channel
GAXECH1 divider bit 0tffnlCH1/CH2: Pulse Channels
GEDOCH3 length-stop term (length expired AND NR34 length enable)and2CH3: Wave Channel
GEJYOBJ_SIZE muxao22LCDC StructureMode 3: The Sprite Pipeline
GEKUCH1 divider toggle clock (NOT stage)not_x1CH1/CH2: Pulse Channels
GENAch4_active nor_latch (set by ch4_restart)nor_latchCH4: Noise Channel
GEPOCH4 LFSR-reset OR (ch4_restart, apu_reset)or2CH4: Noise Channel
GEPYCH4 length-clock gatenor3Length Counters and Power Cycling
GESEsprite_y_match drivernot_x1Mode 2: OAM Scan
GEWYNOT(WUHU) — Y-compare sum bit 7, complementednot_x1Mode 2: OAM Scan
GEXYhoru_512hz buffer chain stagenot_x1APU Clock Tree and Frame Sequencer
GOBASCY bit-1 read drivernot_if0Register Reads
GOCACH2 divider bit 6tffnlCH1/CH2: Pulse Channels
GODOSCY bit-3 read drivernot_if0Register Reads
GOFUCH4 prescaler load-enable NOR (ch4_restart, gary)nor2CH4: Noise Channel
GOFYNR34 trigger nor_latch (q_n is held)nor_latchCH3: Wave Channel
GOGECH4 LFSR reset (= NOT gepo)not_x2CH4: Noise Channel
GOJUY-compare carry-chain bit 6full_addMode 2: OAM Scan
GOMOMode 3: The Sprite Pipeline
GONEch4_restart synchroniser DFF (clk hama_512khz)dffrCH4: Noise Channel
GONUSCY bit-2 read drivernot_if0Register Reads
GOPUY-compare carry-chain bit 4full_addMode 2: OAM Scan
GOSOScan counter bit 2dffrMode 2: OAM Scan
GOVULCDC.2 maskor2LCDC StructureMode 2: OAM Scan
GUFYVolume saturation detector aggregateor2Sweep and Envelope
GUGUChannel-disable latch (q_n = ch3_fdis)nand_latchCH3: Wave Channel
GUNESCY bit-6 read drivernot_if0Register Reads
GUNYCH4 gary reset (NOR apu_reset, ch4_restart)nor2CH4: Noise Channel
GUSUMode 2: OAM Scan
GUVA= NOT(YDUG) — slot-0 match selectnor2Mode 3: The Sprite Pipeline
GUVUNOT(FUWA) — Y-compare sum bit 5, complementednot_x1Mode 2: OAM Scan
GYBACH4 divider-enable-latch clock (= NOT ch4_1mhz)not_x1CH4: Noise Channel
GYDANOT(GOJU) — Y-compare sum bit 6, complementednot_x1Mode 2: OAM Scan
GYKYCarry-chain bit 3full_addMode 2: OAM Scan
GYRATrigger-pulse retime DFF (GYTA on ch3_2mhz; feeds FAJU)dffrCH3: Wave Channel
GYSUch4_start capture DFF (clk apu_phi)dffrCH4: Noise Channel
GYTACH3 trigger self-clear delaydffrCH3: Wave Channel
GYZASCY bit-7 read drivernot_if0Register Reads
GYZOSCY bit-5 read drivernot_if0Register Reads
HAFEJOPA reset driver (pace 0)nor4Sweep and Envelope
HAMAhama_512khz buffer (= NOT jeso_n)not_x4CH4: Noise Channel
HAPECH4 LFSR state bitdffrCH4: Noise Channel
HAZOCH4 trigger nor_latch (feeds ch4_restart.d)nor_latchCH4: Noise Channel
HEFOCH3 divider toggle clock (NOR stage)nor2CH3: Wave Channel
HENOCH4 LFSR state bitdffrCH4: Noise Channel
HEPACH4 LFSR state bitdffrCH4: Noise Channel
HEPOSaturation capturedffrSweep and Envelope
HEPUCH2 divider bit 9tffnlCH1/CH2: Pulse Channels
HERACH3 divider load enable (active-low)nor2CH3: Wave Channel
HEROCH2 divider bit 10 (MSB)tffnlCH1/CH2: Pulse Channels
HEVYCH2 divider bit 8tffnlCH1/CH2: Pulse Channels
HEZUCH4 LFSR output bitdffrCH4: Noise Channel
HOFOVolume bit-0 toggle clockor3Sweep and Envelope
HOGANR44 trigger-bit (d7) write strobe → ch4_startdrlatch_eeCH4: Noise Channel
HORUhoru_512hz buffer chain stagenot_x3APU Clock Tree and Frame Sequencer
HORYCH4 LFSR state bitdffrCH4: Noise Channel
HUCECH4 prescaler load enable (= NOT gofu)not_x1CH4: Noise Channel
HUNOCH3 overflow capture (/2 toggle)dffrCH3: Wave Channel
HURACH4 LFSR feedback XNOR (the two XNOR taps)xnorCH4: Noise Channel
HYFECH1 divider bit 1tffnlCH1/CH2: Pulse Channels
HYFOCH3 overflow detector (NOT stage)not_x1CH3: Wave Channel
HYKECH1 divider bit 5tffnlCH1/CH2: Pulse Channels
HYLYEnvelope counter load enable (NOR stage)nor2Sweep and Envelope
HYNOCH4 prescaler terminal-count (jyfu&jyre&jyco)and3CH4: Noise Channel
HYROCH4 LFSR state bitdffrCH4: Noise Channel
JAJUCH4 LFSR state bitdffrCH4: Noise Channel
JAKEEnvelope counter load enable (NOT stage)not_x1Sweep and Envelope
JAPUCH3 divider bit 10 (MSB)tffnlCH3: Wave Channel
JAVOCH4 LFSR state bitdffrCH4: Noise Channel
JEMACH1 divider bit 4tffnlCH1/CH2: Pulse Channels
JEMEEnvelope-stop latchnor_latchSweep and Envelope
JEPECH4 LFSR state bit (7-bit inject point)dffrCH4: Noise Channel
JERACH3 divider load-enable fan-outnot_x1CH3: Wave Channel
JERYch4_fdis channel-disable latchnand_latchCH4: Noise Channel
JESOCH4 free-running 512 kHz prescaler bitdffrCH4: Noise Channel
JEVYEnvelope counter bit 2tffnlSweep and Envelope
JONAEnvelope counter bit 1tffnlSweep and Envelope
JOPAEnvelope-fire latchdffrSweep and Envelope
JOREEnvelope counter bit 0tffnlSweep and Envelope
JOTOCH4 LFSR feedback/chain-entry DFFdffrCH4: Noise Channel
JUPUEnvelope pace = 0 detectornor3Sweep and Envelope
JUTYCH3 divider toggle clock (NOT stage)not_x1CH3: Wave Channel
JUXECH4 LFSR state bitdffrCH4: Noise Channel
JYCOCH4 divisor prescaler bit 0 (loadable toggle)tffnlCH4: Noise Channel
JYFUCH4 divisor prescaler bit 2 (loadable toggle)tffnlCH4: Noise Channel
JYJACH4 LFSR feedback-DFF clock (= NOT ch4_lfsr_clk1)not_x1CH4: Noise Channel
JYNAFrame sequencer /2 → 64 Hz (envelope tap)dffrAPU Clock Tree and Frame SequencerPost-Boot State
JYRECH4 divisor prescaler bit 1 (loadable toggle)tffnlCH4: Noise Channel
JYTYCH1 divider bit 2tffnlCH1/CH2: Pulse Channels
KAFOCH3 divider bit 6tffnlCH3: Wave Channel
KAHECPL source (AO22 LCDC.7 mux)ao22LCDC StructureLCD Output
KANUCH4 divisor-prescaler toggle clock (= kyku)not_x1CH4: Noise Channel
KASACPL PPU-clock source (LCD-on arm)notLCD Output
KASOCH3 divider load enable (bits 4–7)not_x1CH3: Wave Channel
KAVUCH4 LFSR 7-bit-mode feedback injectao22CH4: Noise Channel
KEBOFR PPU-clock source (LCD-on arm)notLCD Output
KEDYMux selector complement (LCDC.7=0 arm)notLCD Output
KEJUCH3 divider bit 8tffnlCH3: Wave Channel
KEMUCH3 divider bit 3tffnlCH3: Wave Channel
KENOCH3 divider bit 7tffnlCH3: Wave Channel
KEPACH3 divider bit 5tffnlCH3: Wave Channel
KESECH3 divider ripple inverter (bits 8–10)not_x1CH3: Wave Channel
KETUCH4 LFSR state bitdffrCH4: Noise Channel
KEZACH3 divider bit 9tffnlCH3: Wave Channel
KOFOFR pad drivernotLCD Output
KOMUCH4 LFSR state bitdffrCH4: Noise Channel
KONYCH4 prescaler-clock gate inverter stagenot_x1CH4: Noise Channel
KUNUCH3 divider bit 2tffnlCH3: Wave Channel
KUPAFR source (AO22 LCDC.7 mux)ao22LCDC StructureLCD Output
KUPECH3 divider bit 1tffnlCH3: Wave Channel
KUTACH4 LFSR state bitdffrCH4: Noise Channel
KUTUCH3 divider bit 0tffnlCH3: Wave Channel
KUZYCH4 LFSR state bitdffrCH4: Noise Channel
KYGUCH3 divider bit 4tffnlCH3: Wave Channel
KYKOCH3 divider load enable (bits 0–3)not_x1CH3: Wave Channel
KYKUCH4 prescaler-clock gate (ch4_fdis OR jeso_512k)or2CH4: Noise Channel
KYMOCPL pad drivernotLCD Output
KYNACH1 divider bit 3tffnlCH1/CH2: Pulse Channels
KYPECH1 divider ripple inverter (bits 4–7)not_x1CH1/CH2: Pulse Channels
KYRUCH3 divider ripple inverter (bits 4–7)not_x1CH3: Wave Channel
KYVOEnvelope counter-at-max detectorand3Sweep and Envelope
KYWYCH4 LFSR state bitdffrCH4: Noise Channel
LACEBGP bit-4 read drivernot_if0Register Reads
LAFOLY bit 7dffrLine CountersRegister Reads
LAJUOBP1 bit-0 read drivernot_if0Register Reads
LALUSTAT interrupt latch (IF bit 1)dffsrSTAT InterruptsInterrupt Dispatch, The IF Register
LAMALY resetnor2Line CountersRegister Reads, Mode Transitions, CPU-Visible Mode Boundaries
LAPEMode 3: The Sprite Pipeline
LARAOAM DMA
LARYBGP bit-7 read drivernot_if0Register Reads
LAVYOAM DMA
LAXUFetch counter bit 0dffrThe Clock TreeMode 3: The BG Pipeline, Scanline and Frame Timing, Races
LEBAOBP1 bit-6 read drivernot_if0Register Reads
LEBOFetch-counter gated clocknand2Mode 3: The BG PipelineScanline and Frame Timing
LEFEMode 3: The Sprite Pipeline
LEGUMode 3: The BG Pipeline
LELUOBP1 bit-7 read drivernot_if0Register Reads
LEMALY bit 5dffrLine Counters
LEPAOBP1 bit-1 read drivernot_if0Register Reads
LESUMode 3: The Sprite Pipeline
LESYMode 3: The Sprite Pipeline
LEXALY bit 2dffrLine Counters
LOBEBGP bit-3 read drivernot_if0Register Reads
LOBYPOKY reset drivernot_x1Rendering Mode ControlMode 3: The BG Pipeline
LODEOBP1 bit-2 read drivernot_if0Register Reads
LODYBGP bit-6 read drivernot_if0Register Reads
LOGODMA bus-read windownot_x1OAM DMA
LOKAWY bit-3 read drivernot_if0Register Reads
LOKYOAM DMA
LOLEWX bit-3 read drivernot_if0Register Reads
LOMAMode 3: The BG PipelineRaces
LONYTile-fetch latchnand_latchRendering Mode ControlScanline and Frame Timing
LOPEIF[0] capture (VBlank)dffsrScanline and Frame TimingThe IF Register
LOTAMode 3: The Sprite Pipeline
LOTE= NOT(MUMY) — OBP1 read drivers' ena_nnot_x1Register Reads
LOVAWX bit-0 read drivernot_if0Register Reads
LOVULY bit 4dffrLine Counters
LOZEMode 3: The BG PipelineMode 3: The Sprite Pipeline
LUGAOBP1 bit-5 read drivernot_if0Register Reads
LUKYOBP1 bit-4 read drivernot_if0Register Reads
LUMAdma_addr_ext drivernot_x1OAM DMA
LUNATemp-latch enable chainnot / nand3Mode 3: The BG PipelineRaces
LURYRendering Mode Control
LUZOMode 3: The BG Pipeline
LYCOLY bit-2 read drivernot_if0Register Reads
LYDOLY bit 3dffrLine Counters
LYFARegister Writes
LYHALine CountersMode Transitions
LYKABGP bit-5 read drivernot_if0Register Reads
LYKUMode 3: The Sprite Pipeline
LYMESprite palette pipe output stage (sprite_px_palette)dffsrMode 3: The Sprite Pipeline
LYRY"Fetch complete" combinationalnot_x1Mode 3: The BG PipelineMode 3: The Sprite Pipeline
LYZAOBP1 bit-3 read drivernot_if0Register Reads
LYZUFetch counter bit 0 sampledffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Scanline and Frame Timing
MACUMode 3: The BG Pipeline
MAKAOAM DMA
MARAWX bit-7 read drivernot_if0Register Reads
MASOMode 3: The Sprite Pipeline
MATOLY bit 6dffrLine Counters
MATUOAM DMA
MECOFR PPU-clock feeder(DFF chain)LCD Output
MEDALCD vertical-sync sourcedffrThe Clock TreeLine Counters, LCD Output, Mode Transitions
MEFUMode 3: The Sprite Pipeline
MEGAWY bit-4 read drivernot_if0Register Reads
MEGUMode 3: The BG Pipeline
MEHENUNU clock buffernotWindow Control
MEKEReload enable chainnot / nand3The Timer
MELEWX bit-4 read drivernot_if0Register Reads
MERAWY bit-7 read drivernot_if0Register Reads
MERYWrap detectnor2The Timer
MESUFetch counter bit 1dffrMode 3: The BG PipelineScanline and Frame Timing
METEMode 3: The BG PipelineRaces
MEVEMode 3: The Sprite Pipeline
MEXUThe Timer
MOBAWrap capturedffrThe TimerHALT and EI, The IF Register
MOCESelf-stop conditionnand3The Clock TreeMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline, Post-Boot State
MODASprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
MODUMode 3: The BG Pipeline
MOFOMode 3: The Sprite Pipeline
MOJUMode 3: The BG Pipeline
MOKAOBP1 palette AO2222 combinerao2222LCD Output
MOKOWX bit-2 read drivernot_if0Register Reads
MOLUDMA read enable (AND2 with ppu_rd)and2Register Reads
MORYDMA-vs-CPU address MUX select sourcenand2OAM DMA
MOSUWindow triggernot_x2Mode 3: The BG PipelineWindow Control, Mode Transitions
MOXEALET complement (fine-scroll path)not_x1The Clock TreeMode 3: The BG Pipeline, Races
MUDELX resetnor2Line Counters
MUFEWX bit-5 read drivernot_if0Register Reads
MUKAWX bit-1 read drivernot_if0Register Reads
MUKUMode 3: The BG Pipeline
MULYWX bit-6 read drivernot_if0Register Reads
MUMYOBP1 read enable (AND2 with ppu_rd)and2Register Reads
MUREs_pad (VSYNC) drivernot_x1LCD Output
MUWYLY bit 0dffrLine CountersRegister Reads, Mode 2: OAM Scan, Mode Transitions
MYDEMode 3: The BG Pipeline
MYJYMode 3: The BG Pipeline
MYROLY bit 1dffrLine Counters
MYTAFRAME_END capturedffrThe Clock TreeLine Counters, Rendering Mode Control, Mode Transitions
MYTEOAM DMA
MYTUMode 3: The Sprite Pipeline
MYVOALET complementnot_x1The Clock TreeMode 3: The BG Pipeline, Scanline and Frame Timing, Races
MYZOMode 3: The Sprite Pipeline
NAFYMode 3: The BG PipelineRaces, Post-Boot State
NAPOThe Clock Tree
NASAMode 3: The BG Pipeline
NATYMode 3: The Sprite Pipeline
NAXYOAM DMA
NAZEWindow Control
NEDAMode 3: The BG Pipeline
NEFOMode 3: The BG Pipeline
NELEWY decode completionnot / nand5 / notWindow Control
NEPOMode 3: The BG Pipeline
NERULY=0 decodenor8Line CountersMode Transitions
NETAVURY enable producer (tile-data stages)and2Mode 3: The BG Pipeline
NEVUWindow Control
NOCUin_window drivernotMode 3: The BG Pipeline
NOFUMode 3: The BG PipelineRaces
NOGYWX register match decodernand5Window Control
NOJOWindow Control
NOKOFRAME_END decodeand4Line CountersRendering Mode Control, Mode Transitions
NOLOOAM DMA
NOPAWindow modedffrThe Clock TreeWindow Control, Scanline and Frame Timing, Races
NOZOMode 3: The BG Pipeline
NUDUMode 3: The BG Pipeline
NUFAWindow Control
NUGAThe Timer
NUKESprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
NUKOWX matchnotMode 3: The BG PipelineWindow Control
NULYSprite-visibility masknor2Mode 3: The Sprite Pipeline
NUNUWX-match capture 2dffrWindow Control
NUNYWindow-trigger pulseand2Window Control
NUPAWindow Control
NURABGP palette AO2222 combinerao2222LCD Output
NUROMode 3: The Sprite Pipeline
NUVYDMA bit-7 read drivernot_if1Register Reads
NYBOIF[2] capturedffsrThe TimerThe IF Register
NYDUNUGA pre-wrap capturedffrThe Timer
NYDYMode 3: The BG PipelineRaces
NYFOTrigger buffernot / notWindow Control
NYGO= NOT(MOLU) — DMA read-enable inverter stage 1not_x1Register Reads
NYKAFetch-complete capturedffrThe Clock TreeMode 3: The BG Pipeline, Window Control, Scanline and Frame Timing
NYLUMode 3: The Sprite Pipeline
NYPEThe Clock TreeLine Counters, Rendering Mode Control, LCD Output
NYVAFetch counter bit 2dffrMode 3: The BG PipelineScanline and Frame Timing, Races
NYXUBG fetch counter resetnor3Rendering Mode ControlMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline, Window Control
NYZEMatch capture (even)dffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Scanline and Frame Timing
PABABGP bit-1 read drivernot_if0Register Reads
PAFUWY register match decodernand5Window Control
PAGAWindow Control
PAGOSTAT Interrupts
PAHAROXY set drivernot_x1Rendering Mode ControlMode 3: The BG Pipeline
PAHOPX-bit-3 capturedffrRendering Mode ControlLCD Output, Scanline and Frame Timing, Post-Boot State
PALOWY bits 4–7 + LCDC.5 decodenand5Window Control
PALUSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
PALYLY==LYC comparatornot_x1STAT InterruptsCPU-Visible Mode Boundaries, HALT and EI
PANEDMA bit-3 read drivernot_if1Register Reads
PANYRYFA data driver (window/fine-scroll NOR)nor2Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Window Control
PAREDMA bit-4 read drivernot_if1Register Reads
PARUMode 1 conditionnot_x1STAT Interrupts
PASOFine-counter resetnor2Mode 3: The BG PipelinePost-Boot State
PATYPixel-mux outputor3Mode 3: The Sprite PipelineLCD Output
PEBAMode 3: The Sprite Pipeline
PEBOWindow Control
PECUFine-counter gated clocknand2Mode 3: The BG Pipeline
PEDAThe Timer
PEFOMode 3: The Sprite Pipeline
PEFUMode 3: The Sprite Pipeline
PELAWY bit-5 read drivernot_if0Register Reads
PEROPalette-output multiplexer signalcombinationalPalette LatchesLCD Output
PERUThe Timer
PEZOWindow Control
PODAWY bit-1 read drivernot_if0Register Reads
POFOSTAT bit-4 read driver (mode-1 enable, from rufo_n)not_if0Register Reads
POFYLoop inverter + feedbacknot_x1LCD OutputMode Transitions, Post-Boot State
POGUcpg_pad (clock pulse gate) drivernot_x1LCD Output
POHUMatch comparatornot_x1Mode 3: The BG Pipeline
POKABG-pixel combinenor3LCD OutputMode 3: The Sprite Pipeline
POKYPixel-pipe data readynor_latchRendering Mode ControlMode 3: The BG Pipeline, Window Control, Scanline and Frame Timing
POLOWY bit-6 read drivernot_if0Register Reads
POLYDMA bit-0 read drivernot_if1Register Reads
POMELoop AVAP gatenor2LCD OutputMode Transitions
POMOWindow Control
POPUVBlank capturedffrThe Clock TreeLine Counters, Rendering Mode Control, Mode Transitions
POREMode 3: The BG Pipeline
PORYNYKA pipeline stagedffrThe Clock TreeMode 3: The BG Pipeline, Window Control, Scanline and Frame Timing
POTESTAT bit-6 read driver (LYC enable, from rugu_n)not_if0Register Reads
POVAMatch pulseand2Rendering Mode ControlRegister Reads, Mode 3: The BG Pipeline, LCD Output
POVYThe Timer
POWUOAM and VRAM AccessOAM DMA
PUDUMode 3: The Sprite Pipeline
PUFYLYC bit-7 read drivernot_if0Register Reads
PUKUWindow hit-and-latchnor2 / nor3Window Control
PUKYWX-match decodenand5 / not / nand5 / notWindow Control
PUNUWY bit-0 read drivernot_if0Register Reads
PUPURegister Writes
PUSY= NOT(NYGO) — DMA read drivers' active-high enanot_x1Register Reads
PUXAMatch capture (odd)dffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Scanline and Frame Timing
PUZOSTAT bit-3 read driver (mode-0 enable, from roxe_n)not_if0Register Reads
PYBOMode 3: The BG PipelineLCD Output
PYCOWX-match capture 1dffrWindow Control
PYGOPORY pipeline stagedffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Scanline and Frame Timing
PYGUWY bit-2 read drivernot_if0Register Reads
PYJOMode 3: The Sprite Pipeline
PYJUTile-index bit-7 capture DFFdffr_cc_qMode 3: The BG Pipeline
PYNUWindow-armed latchnor_latchRegister ReadsMode 3: The BG Pipeline, Window Control
RACELYC bit-4 read drivernot_if0Register Reads
RACOOAM and VRAM Access
RAGEThe Timer
RAHUOAM and VRAM Access
RAJYBG plane A output (LCDC.0 gated)and2LCDC StructureMode 3: The Sprite Pipeline, LCD Output
RALUMode 3: The BG Pipeline
RALYDMA bit-5 read drivernot_if1Register Reads
RAMAMode 3: The Sprite Pipeline
RAMUMode 3: The Sprite Pipeline
RAPESTAT Interrupts
RAROBGP bit-0 read drivernot_if0Register Reads
RATEThe Timer
RAVOLD1 / LD0 driversnotRegister ReadsLCD Output
RAZULYC bit-2 read drivernot_if0Register Reads
REDOBGP bit-2 read drivernot_if0Register Reads
REDYLYC bit-3 read drivernot_if0Register Reads
REFESTAT Interrupts
REGATIMA bits 0–7tffnl (toggle FF with load)The Timer
REJOWY-match frame latchnor_latchMode 3: The BG PipelineWindow Control, Scanline and Frame Timing
REMADMA bit-2 read drivernot_if1Register Reads
REMYLD0 pad drivernot_x2Register ReadsLCD Output
RENEDrain-detect stage 2dffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
REPUREJO resetor2Window ControlScanline and Frame Timing
RESUDMA bit-6 read drivernot_if1Register Reads
RETULYC bit-0 read drivernot_if0Register Reads
REVOOAM and VRAM Access
REWOMode 3: The Sprite Pipeline
ROBYMode 3: The Sprite Pipeline
ROCOWindow Control
ROCYPer-bit data-pad tri-state enable chaincombinationalOAM and VRAM Access
ROFODMA bit-1 read drivernot_if1Register Reads
ROGAFine count bit 1dffrMode 3: The BG Pipeline
ROGEWY matchnotWindow Control
ROKAMode 3: The Sprite Pipeline
ROMOSUVU NAND4 input (POKY inverter)not_x1Mode 3: The BG Pipeline
RONEDrain-gated match aggregatenand4Mode 3: The BG Pipeline
ROPE= NAND2(SOHA, RYCU) — $FExx decode stagenand2OAM and VRAM Access
ROPOLY==LYC synced matchdff17The Clock TreeLine Counters, Register Reads, STAT Interrupts
ROPYMode 3 inverter for VRAM enablesnot_x1Rendering Mode ControlOAM and VRAM Access
RORUOAM DMA
ROSASprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
ROSYMode 3: The Sprite Pipeline
ROXESTAT.3/.4/.5/.6 enablesdrlatch_eeSTAT Interrupts
ROXOInverted CLKPIPE buffer (fine-scroll clock source)not_x1Mode 3: The BG PipelineLCD Output
ROXYFine-scroll gatenor_latchRendering Mode ControlMode 3: The BG Pipeline, Scanline and Frame Timing, Post-Boot State
ROZEFine-counter self-stopnand3Mode 3: The BG Pipeline
RUBUFine count bit 2dffrMode 3: The BG Pipeline
RUBYThe Timer
RUDAMode 3: The Sprite Pipeline
RUFOSTAT Interrupts
RUGOSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
RUGUSTAT Interrupts
RUJULoop OR combineror3LCD Output
RUPOSTAT bit 2 visible latchnor_latchSTAT Interrupts
RUTABG plane B gated by sprite priorityand2LCD Output
RUTULINE_END capturedffrThe Clock TreeLine Counters, Rendering Mode Control, Register Writes
RUZEST pad buffernot_x3LCD Output
RYCEOne-shot fireand2Mode 3: The BG PipelineMode 3: The Sprite Pipeline
RYCUROPE input (= NOT(fexx_ffxx_n))not_x1OAM and VRAM Access
RYDUMode 3: The Sprite Pipeline
RYDYWindow hitnor3Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Window Control
RYFADrain-detect stage 1dffrRendering Mode ControlMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline, Window Control
RYFUBG plane A gated by sprite priorityand2Mode 3: The Sprite PipelineLCD Output
RYKUFine count bit 0dffrThe Clock TreeMode 3: The BG Pipeline
RYNOLCD Output
RYPOCP pad drivernot_x3LCD Output
RYSAMode 3: The BG Pipeline
RYVERegister Writes
SABEGated fetch clocknand2Mode 3: The Sprite PipelineScanline and Frame Timing
SACUPixel pipe shift clock (CLKPIPE)or2Register WritesRegister Reads, Mode 2: OAM Scan, Mode 3: The BG Pipeline
SADURendering Mode ControlRegister Reads, CPU-Visible Mode Boundaries
SADYMode 3: The BG Pipeline
SAJAMode 3: The Sprite Pipeline
SANULINE_END decodeand4The Clock TreeLine Counters, Rendering Mode Control, Mode Transitions
SARYWY-match samplerdffrWindow Control
SASYSTAT bit-5 read driver (mode-2 enable, from refe_n)not_if0Register Reads
SATASprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
SAVYPX bit 1dffrMode 3: The BG Pipeline
SAXOLX bit 0dffrThe Clock TreeLine Counters, Races, Post-Boot State
SAZOOAM and VRAM Access
SEBAFetch-counter TULY capture stage 3dffrRendering Mode ControlMode 3: The Sprite Pipeline, Scanline and Frame Timing, Races
SEBYVRAM read-latch enablenot_x1OAM and VRAM Access
SECATAKA set netnor3Mode 3: The Sprite PipelineMode Transitions
SEGAMode 3: The Sprite Pipeline
SEGOSTAT bit-2 read driver (LYC match, from rupo_n)not_if1Register Reads
SEGUBuffered CLKPIPEnot_x4Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Scanline and Frame Timing, Post-Boot State
SEKOTile-boundary drain detectornor2Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Window Control
SELAMode TransitionsSTAT Interrupts
SELEMode 3: The Sprite Pipeline
SEMOMode 3: The Sprite Pipeline
SEMUCP pixel-clock source (pre-buffer)or2LCD Output
SEPASTAT write enableand2Register Writes
SERECPU data-bus enable stage 2and2OAM and VRAM Access
SETUMode 3: The BG Pipeline
SOBOMode 3: The BG Pipeline
SOBUFetch requestdffrMode 3: The BG PipelineMode 3: The Sprite Pipeline, Scanline and Frame Timing
SOCYWindow-halt gatenot_x1Mode 3: The BG PipelineWindow Control, Post-Boot State
SOGUTIMA clock gatenor2The Timer
SOHAROPE input (= NOT(ffxx))not_x1OAM and VRAM Access
SOHUMode 3: The BG PipelineLCD Output
SOHYWrite-strobe drivernand2OAM and VRAM Access
SOKAMode 3: The Sprite Pipeline
SOMYSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
SONO1 MHz LINE_END capture clock (TALU complement)not_x1The Clock TreeLine Counters, Rendering Mode Control, Register Writes
SOVUSTAT Interrupts
SOWOTEKY re-trigger block (TAKA inversion)not_x1Mode 3: The Sprite Pipeline
SOZUFine-count bit 2 matchxnorMode 3: The BG Pipeline
STOPOAM DMAThe Timer
SUBOSTAT Interrupts
SUDATrigger one-shot partnerdffrMode 3: The BG PipelineMode 3: The Sprite Pipeline, Scanline and Frame Timing
SUDELX bit 4dffrLine Counters
SUHAPer-bit SCX matchxnorMode 3: The BG Pipeline
SUKOCondition combining gateao2222STAT InterruptsThe IF Register
SUNYMode 3: The Sprite Pipeline
SUTOMode 3: The Sprite Pipeline
SUVUStartup-/window-restart NAND4 (TAVE input)nand4Rendering Mode ControlMode 3: The BG Pipeline
SUZUWindow-activation triggernotMode 3: The BG PipelineWindow Control
SYBEMode 3: The BG Pipeline
SYBYFine-count bit 1 matchxnorMode 3: The BG Pipeline
SYGUThe Clock TreeLCD Output, Races
SYLORYDY first inverter (consumer-chain stage 1)notMode 3: The BG PipelineWindow Control
SYSYOAM and VRAM Access
TACAMode 3: The BG Pipeline
TACEGlobal DAC-off term — amp_en_n = AND4 of the four ch*_amp_en_nand4CH3: Wave Channel
TADEBG plane B output (LCDC.0 gated)and2LCDC StructureLCD Output
TADYVOGA + PX-counter resetnor2Rendering Mode ControlMode 3: The BG Pipeline, Window Control, Mode Transitions
TAHALX bit 5dffrLine Counters
TAKAFetch-running latchnand_latchMode 3: The BG PipelineMode 3: The Sprite Pipeline, Window Control, Mode Transitions
TAKOMode 3: The BG Pipeline
TALU1 MHz LX counter clocknot_x4The Clock TreeLine Counters, Register Writes, Register Reads
TAMESelf-stopnand2Mode 3: The Sprite Pipeline
TAPAMode 2 conditionand2STAT Interrupts
TAPEThe Timer
TAPUCUPA driver stage 2notRegister Writes
TARUMode 0 conditionand2STAT Interrupts
TAVASOBU clock gatenot_x1Mode 3: The Sprite Pipeline
TAVEStartup / window-restart triggernotMode 3: The BG PipelineMode 3: The Sprite Pipeline
TAXYCPU-bus-phase strobe assemblycombinationalOAM and VRAM Access
TEBYSTAT bit-0 read driver (from SADU)not_if1Register Reads
TECYThe Timer
TEGO= NOT(VAMA) — $FF49 active-high selectnot_x2Register Reads
TEKOThe Timer
TEKYX-match triggerand4Mode 2: OAM ScanMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline, Scanline and Frame Timing
TELULX bit 3dffrLine Counters
TEPANOT(mode3)not_x1Rendering Mode Control
TEPOBGP write enable sub-signalcombinationalRegister WritesPalette Latches
TEPY= NOT(VUSO) — BGP read drivers' ena_nnot_x1Register Reads
TESESprite fetch counter bit 2 (SFETCH_S2)dffrMode 3: The Sprite Pipeline
TEVOTile-boundary / restart triggeror3Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Window Control, Mode Transitions
TOBAMode 3: The BG PipelineLCD Output
TOBEFF41 read enableand2Register Reads
TOBUTULY capture chaindffrRendering Mode ControlMode 3: The Sprite Pipeline, Scanline and Frame Timing, Races
TOCAUpper-nibble clocknotMode 3: The BG PipelineRaces
TOFUVideo resetnotRendering Mode ControlMode 3: The BG Pipeline, LCD Output, Mode Transitions
TOLECPU data-bus enable stage 1combinationalOAM and VRAM Access
TOLUmode1 inverternot_x1STAT InterruptsThe IF Register
TOMURYDY second inverter (consumer-chain stage 2)notMode 3: The BG PipelineWindow Control
TOMYMode 3: The BG Pipeline
TORYMode 3: The Sprite Pipeline
TOXEFetch counter bits 0–2dffrThe Clock TreeMode 3: The Sprite Pipeline
TOZAOAM DMA
TUHUPX bits 4–7dffrMode 3: The BG Pipeline
TUKUSprite-trigger window block (consumer-chain stage 3)notMode 3: The Sprite PipelineWindow Control
TUKYMode 3: The BG Pipeline
TULYSprite fetch counter bit 1 (SFETCH_S1)dffrMode 3: The Sprite Pipeline
TUTOOAM and VRAM Access
TUVAInverter pairnotSTAT InterruptsThe IF Register
TUVOOAM DMAMode 3: The Sprite Pipeline
TUXYWindow-trigger NAND (SUZU input)nand2Mode 3: The BG PipelineWindow Control
TYCOMode 3: The Sprite Pipeline
TYFACLKPIPE gateand3Mode 3: The BG PipelineScanline and Frame Timing, Post-Boot State
TYFODone decode BdffrMode 3: The Sprite PipelineScanline and Frame Timing
TYHOOAM DMA
TYJYOAM and VRAM Access
TYNODone decode Anand3Mode 3: The Sprite Pipeline
TYPOLX bit 1dffrLine Counters
TYRYLX bit 6dffrLine CountersPost-Boot State
TYTAMode 3: The Sprite Pipeline
UBALCUPA driver stage 3muxiRegister Writes
UBULIF[3] capture (Serial)dffsrThe IF Register
UCOBThe Timer
UKAPTAC mux chainmuxiThe Timer
UKUPreg_div16 bits 0–15dffThe Timer
ULAKIF[4] capture (Joypad)dffsrThe IF Register
UMOBCPL audio-clock source (LCD-off arm)(external)LCD Output
UPOFThe Timer
USECFR audio-clock source (LCD-off arm)(external)LCD Output
UVYTOAM DMA
VAFELYC bit-6 read drivernot_if0Register Reads
VAFOMode 3: The Sprite Pipeline
VAHALCDC bit-6 read drivernot_if0Register Reads
VAMA$FF49 address decodenand5Register Reads
VANUMode 3: The Sprite Pipeline
VAREMode 3: The Sprite Pipeline
VARO= NOT(WAFU) — LY read drivers' ena_nnot_x1Register Reads
VARY= NOT(WOFA) — $FF41 active-high selectnot_x2Register ReadsRegister Writes
VATOLCDC bit-5 read drivernot_if0Register Reads
VAVAPriority mask pipe MSB / LSBdffsrMode 3: The Sprite PipelineLCD Output
VAVENOT(TOBE) — STAT enable-bit read gatenot_x1Register Reads
VAZULYC bit-5 read drivernot_if0Register Reads
VCLKLCD Output
VEGALY bit-0 read drivernot_if0Register Reads
VEKUMode 3: The Sprite Pipeline
VELYBGP write enableand2Register WritesRegister Reads
VENA1 MHz toggle dividerdffrThe Clock TreeLine Counters, Register Writes, Scanline and Frame Timing
VEVYLCDC.6 → ~ma10 tri-state drivernot_if0Mode 3: The BG Pipeline
VEZOMask pipe (LSB end)dffsrMode 3: The Sprite Pipeline
VOCA= NOT(WORU) — $FF40 active-high selectnot_x2Register ReadsRegister Writes
VOGAH-Blank capture DFFdffrThe Clock TreeRendering Mode Control, Mode 3: The BG Pipeline, Mode Transitions
VOJOLYC bit-1 read drivernot_if0Register Reads
VOKELCDC bit-4 read drivernot_if0Register Reads
VOMY= NOT(WAXU) — WY read drivers' ena_nnot_x1Register Reads
VONUFetch-counter TULY capture stage 2dffrRendering Mode ControlMode 3: The Sprite Pipeline, Scanline and Frame Timing, Races
VOSASprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
VOTOMode 3: The Sprite Pipeline
VOTYSTAT InterruptsThe IF Register
VUJOWindow Control
VUMOSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
VUMY= NOT(WAGE) — $FF4B active-high selectnot_x2Register Reads
VUPYMode 3: The Sprite Pipeline
VURYVUZA → ~ma12 tri-state drivernot_if1Mode 3: The BG Pipeline
VUSAFetch-done aggregateor2Mode 3: The Sprite Pipeline
VUSOBGP read enable (AND2 with ppu_rd)and2Register Reads
VUZATILE_SEL XOR tile-index MSBnor2Mode 3: The BG Pipeline
VYBOOperational per-dot gatenor3Mode 3: The BG PipelineMode 3: The Sprite Pipeline, Scanline and Frame Timing, Post-Boot State
VYCU= NOT(WYZE) — WX read drivers' ena_nnot_x1Register Reads
VYGA= NOT(WYVO) — $FF4A active-high selectnot_x2Register Reads
VYNELY bit-4 read drivernot_if0Register Reads
VYNOWindow line counter LSBdffrWindow Control
VYPUint_vbl drivernot_x3The IF Register
VYRELCDC read enable (AND2 with ppu_rd)and2Register Reads
VYSAMode 3: The Sprite Pipeline
VYXELCDC StructureLCD Output
VYZOLX bit 2dffrLine Counters
WAFULY read enable (AND2 with ppu_rd)and2Register Reads
WAGE$FF4B address decodenand5Register Reads
WAGO8×16 half-selectxorMode 3: The Sprite Pipeline
WAHEOAM wordline-driver precharge (oam_wldrv_precharge_n = NOT(WUJY))not_x3OAM and VRAM Access
WAMALY bit-5 read drivernot_if0Register Reads
WAMEOAM output-enable inverternot_x2OAM and VRAM Access
WARESCY bit-0 read drivernot_if0Register Reads
WARULCDC write enableand2Register WritesMode 3: The BG Pipeline
WATE$FF46 address decodenand5Register Reads
WAVOLY bit-6 read drivernot_if0Register Reads
WAVU$FF43 address decodenand5Register Reads
WAXUWY read enable (AND2 with ppu_rd)and2Register Reads
WAZOWUJY input — wordline-precharge timingor3OAM and VRAM Access
WAZYWindow line counter clocknot_x1Window Control
WEBAMode 3: The Sprite Pipeline
WEBU$FF42 address decodenand5Register Reads
WEFYMode 3: The Sprite Pipeline
WEGOXYMU set driveror2Rendering Mode ControlMode 3: The BG Pipeline, Mode Transitions
WEKU= NOT(XYLY) — LYC read drivers' ena_nnot_x1Register Reads
WELOSlot-0 X store bit 4 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
WERA= NOT(WYBO) — $FF47 active-high selectnot_x2Register ReadsRegister Writes
WETA$FF48 address decodenand5Register Reads
WETY$FF45 address decodenand5Register Reads
WEWYScan counter bit 1dffrMode 2: OAM Scan
WEXULCDC.4 (TILE_SEL) latchdrlatch_eeLCDC StructureMode 3: The BG Pipeline
WEZELY bit-7 read drivernot_if0Register Reads
WODASprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
WODUMode 0 conditionand2Rendering Mode ControlRegister Writes, Register Reads, Mode 3: The BG Pipeline
WOFA$FF41 address decodenand5Register Reads
WOJOLCD control phasenor2The Clock Tree
WOJUSlot-0 X comparator bit 4 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
WOJYLY bit-3 read drivernot_if0Register Reads
WOKYLCDC.6 (WIN_MAP) latchdrlatch_eeLCDC StructureMode 3: The BG Pipeline
WONEOAM DMAMode 2: OAM Scan
WONYSCX bit-3 read drivernot_if0Register Reads
WOPEMode 3: The Sprite Pipeline
WORAMode 3: The Sprite Pipeline
WORU$FF40 address decodenand5Register Reads
WOSUWUVU samplerdffrThe Clock TreeScanline and Frame Timing
WOTAY-compare decodernand6Mode 2: OAM Scan
WOTESlot-0 X store bit 6 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
WOVUOAM bitline precharge driver (oam_bl_precharge_n = NOT(COTA))not_x2OAM and VRAM Access
WOXAPlane-A pixel-output gateand2LCDC StructureMode 3: The Sprite Pipeline
WUDAMode 2: OAM Scan
WUFUOBP0 palette AO2222 combinerao2222LCD Output
WUFYMode 3: The Sprite Pipeline
WUGASTAT bit-1 read driver (from XATY)not_if1Register Reads
WUHUY-compare carry-chain bit 7full_addMode 2: OAM Scan
WUJY= NAND2(WAZO, oam_bl_precharge_n) — wordline-precharge timingnand2OAM and VRAM Access
WUKALCDC bit-3 read drivernot_if0Register Reads
WUKOVEVY enable (window tilemap stage)not_x2Mode 3: The BG Pipeline
WUKYY-flip termnot_x1Mode 3: The Sprite Pipeline
WURUSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
WUTYFetch donenotMode 2: OAM ScanMode 3: The BG Pipeline, Mode 3: The Sprite Pipeline
WUVALY bit-1 read drivernot_if0Register Reads
WUVU2 MHz toggle dividerdffrThe Clock TreeRegister Writes, Mode 2: OAM Scan, Scanline and Frame Timing
WYBO$FF47 address decodenand5Register Reads
WYCE= NOT(VYRE) — LCDC read drivers' ena_nnot_x1Register Reads
WYFUSprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
WYHOMode 3: The Sprite Pipeline
WYJAOAM write enable (combined)ao21OAM and VRAM AccessOAM DMA, CPU-Visible Mode Boundaries
WYJULCDC bit-2 read drivernot_if0Register Reads
WYLE$FF44 address decodenand5Register Reads
WYMOLCDC Structure
WYNOOAM DMAMode 2: OAM Scan
WYPOLCDC bit-0 read drivernot_if0Register Reads
WYSOMode 3: The Sprite Pipeline
WYVO$FF4A address decodenand5Register Reads
WYZASlot-0 X comparator bit 6 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
WYZEWX read enable (AND2 with ppu_rd)and2Register Reads
XAFOLCDC.3 (BG_MAP) latchdrlatch_eeLCDC StructureMode 3: The BG Pipeline
XAFUOAM DMAMode 2: OAM Scan
XAGEPer-slot X match, FEFY group (active-low)nand3Mode 3: The Sprite Pipeline
XAJUOBP0 bit-4 read drivernot_if0Register Reads
XAKOSlot-0 X store bit 7 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
XANEVRAM address tri-state-disable sourcenor2Rendering Mode ControlOAM and VRAM Access
XANO"PX at terminal count" (inverted XUGU)not_x1Rendering Mode ControlMode 3: The BG Pipeline, Mode Transitions, STAT Interrupts
XAPORendering Mode ControlMode 2: OAM Scan
XARO= NOT(WEBU) — $FF42 active-high selectnot_x2Register ReadsRegister Writes
XARYOBP0 bit-0 read drivernot_if0Register Reads
XATYRendering Mode ControlRegister Reads, CPU-Visible Mode Boundaries
XAVY= NOT(WAVU) — $FF43 active-high selectnot_x2Register ReadsRegister Writes
XAWOOBP0 bit-7 read drivernot_if0Register Reads
XAXAOBP0 bit-6 read drivernot_if0Register Reads
XAYO= NOT(WETA) — $FF48 active-high selectnot_x2Register Reads
XAYU= NOT(WETY) — $FF45 active-high selectnot_x2Register Reads
XEBASlot-0 match, high-nibble collapsenor4Mode 3: The Sprite Pipeline
XEBULCDC bit-7 read drivernot_if0Register Reads
XEDA= NOT(WATE) — $FF46 active-high selectnot_x2Register Reads
XEDUVRAM address tri-state enablenot_x2OAM and VRAM Access
XEFYGlobal sprite shifter parallel-load disablenot_x1Mode 3: The Sprite Pipeline
XEGUMode 3: The Sprite Pipeline
XEHOPX bit 0dffrMode 3: The BG Pipeline
XENA"No sprite match" (inverted FEPO)not_x1Rendering Mode ControlMode 3: The BG Pipeline, Mode Transitions, STAT Interrupts
XEPESlot-0 X store bit 0 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
XEROLCDC bit-1 read drivernot_if0Mode 3: The Sprite PipelineRegister Reads
XETESprite attribute pipe stagedffsrMode 3: The Sprite Pipeline
XEZEMode 3: The BG Pipeline
XOBOOBP0 bit-5 read drivernot_if0Register Reads
XOCEOAM DMAMode 2: OAM Scan
XODOVID_RST signalcombinationalRegister WritesLCDC Structure, Scanline and Frame Timing
XODUPX bit 2dffrMode 3: The BG Pipeline
XOFOPYNU reset (WIN_EN gate)nand3LCDC StructureWindow Control
XOGSInterrupt Dispatch
XOGY= NOT(WYLE) — $FF44 active-high selectnot_x2Register Reads
XOKEOBP0 bit-1 read drivernot_if0Register Reads
XONALCDC.7 storage latchdrlatch_eeRegister WritesLCDC Structure
XOTAWUVU clocknot_x1The Clock Tree
XOTEMode 3: The Sprite Pipeline
XOVUMode 3: The Sprite Pipeline
XOZY= NOT(XUFY) — OBP0 read drivers' ena_nnot_x1Register Reads
XUBORegister Writes
XUBYOBP0 bit-3 read drivernot_if0Register Reads
XUFYOBP0 read enable (AND2 with ppu_rd)and2Register Reads
XUGUTerminal count decodenand5Rendering Mode ControlMode 3: The BG Pipeline, Window Control, Mode Transitions
XUJAOAM DMA
XUJYSprite-fetch counter term in BYCUcombinationalOAM DMAMode 2: OAM Scan, OAM and VRAM Access
XUKEMode 3: The BG Pipeline
XULAPlane-B pixel-output gateand2LCDC StructureMode 3: The Sprite Pipeline
XUNOOBP0 bit-2 read drivernot_if0Register Reads
XUNYSlot-0 X store bit 5 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
XUPY2 MHz scan-counter clock (NOT(wuvu_n) = WUVU.q)not_x2The Clock TreeRegister Writes, Mode 2: OAM Scan, Mode 3: The BG Pipeline
XURERegister Writes
XUSOOAM Y-offset bit 0 latch (Mode 2) / tile-index bit 0 latch (Mode 3)dlatch_eeOAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
XYDOPX bit 3dffrMode 3: The BG PipelineLCD Output, Races
XYFYXOTA complementnot_x1The Clock Tree
XYJUMode 3: The Sprite Pipeline
XYKYOAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
XYLEMode 3: The BG Pipeline
XYLOLCDC.1 (OBJ_EN) register bitdrlatch_eeLCDC StructureMode 2: OAM Scan, Mode 3: The Sprite Pipeline
XYLYLYC read enable (AND2 with ppu_rd)and2Register Reads
XYMOLCDC.2 (OBJ_SIZE) register bitdrlatch_eeLCDC StructureMode 2: OAM Scan, Mode 3: The Sprite Pipeline
XYMURendering-mode latch (active-low Mode 3 indicator)nor_latchRendering Mode ControlRegister Writes, OAM and VRAM Access, OAM DMA
XYSOMode 2: OAM Scan
XYVAParallel divider branchnot_x1The Clock Tree
XYVOVBlank decodeand2Line CountersRendering Mode Control, Mode Transitions
YBEZPer-slot X match, FOVE group (active-low)nand3Mode 3: The Sprite Pipeline
YBOGMode 3: The Sprite Pipeline
YCEBOAM DMAMode 2: OAM Scan
YDUGSlot-0 X match (active-low)nand3Mode 3: The Sprite Pipeline
YDYVOAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
YFELScan counter bit 0 (LSB)dffrMode 2: OAM Scan
YFUNSlot-0 X comparator bit 5 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
YGEMPer-slot X match, FOVE group (active-low)nand3Mode 3: The Sprite Pipeline
YJEXMode 3: The Sprite Pipeline
YKUAHALT and EI
YLAHSlot-0 X store bit 1 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
YLOROAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
YLOZPer-slot X match, FEFY group (active-low)nand3Mode 3: The Sprite Pipeline
YLYCOAM A-side / B-side write strobe driversper-byte selectorOAM and VRAM AccessOAM DMA
YNKWHALT and EI
YNYCOAM and VRAM AccessOAM DMA
YOIIInterrupt DispatchHALT and EI, The IF Register
YPUKSlot-0 X comparator bit 7 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
YRUMOAM DMAMode 2: OAM Scan
YSESOAM DMAMode 2: OAM Scan
YSEXOAM DMAMode 2: OAM Scan
YVELOAM DMAMode 2: OAM Scan
YZABMode 3: The Sprite Pipeline
YZOSMode 3: The Sprite Pipeline
ZACWInterrupt Dispatch
ZAGOMode 2: OAM Scan
ZAHASlot-0 X comparator bit 2 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
ZAIJInterrupt DispatchHALT and EI
ZAKOSlot-0 match, low-nibble collapsenor4Mode 3: The Sprite Pipeline
ZAOCInterrupt Dispatch
ZAXEOAM DMAMode 2: OAM Scan
ZAXYBuffer stagenot_x2The Clock Tree
ZEBASlot-0 X comparator bit 1 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
ZECAOAM DMAMode 2: OAM Scan, Mode 3: The Sprite Pipeline
ZEMEBuffer stagenot_x4The Clock Tree
ZEZYMode 3: The Sprite Pipeline
ZFEXInterrupt Dispatch
ZIVVHALT and EI
ZJJEime_pending — "IME pending" SR latch (q drives dmg-sim wire ime_state)sm83_srlatch_r_nHALT and EI
ZKOGInterrupt Dispatch
ZLOZInterrupt Dispatch
ZOGYSlot-0 X comparator bit 0 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
ZOKYSlot-0 X comparator bit 3 (XOR vs NOT(PX))xorMode 3: The Sprite Pipeline
ZOLASlot-0 X store bit 2 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
ZRSYRETI / reset gating SR latch (q = zrsy)sm83_srlatch_r_nHALT and EI
ZUCAOAM DMAMode 2: OAM Scan
ZULUSlot-0 X store bit 3 (holds NOT(X))drlatch_eeMode 3: The Sprite Pipeline
ZUVEOAM DMAMode 2: OAM Scan
ZYTYMode 3: The Sprite Pipeline
ZYVEMode 3: The Sprite Pipeline
ZZOMInterrupt Dispatch