What's purpose of this transistor?

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
wasdwdsa
Posts: 3
Joined: Sat Mar 26, 2022 2:01 am

What's purpose of this transistor?

Post by wasdwdsa »

http://www.qmtpro.com/~nes/chipimages/v ... &zoom=53.3

(t1727 in centre)

Without it, I understand that there's an RS-latch here: [node: 426 spr_d7_int_reg]/[node: 3591 /spr_d7_int_reg]
set by [node: 273 spr_d7_int] and reset by [node: 253 /spr_d7_int]

But this transistor seems connect two inversed nodes 426 and 3591 together during pclk0, I cannot understand what it's doing.

(Similar thing also exists in palette access logic,
http://www.qmtpro.com/~nes/chipimages/v ... &zoom=53.3)
My tiny cycle-accurate NES emulator https://github.com/wasdwdsa/tiny_nes
User avatar
Quietust
Posts: 1920
Joined: Sun Sep 19, 2004 10:59 pm
Contact:

Re: What's purpose of this transistor?

Post by Quietust »

When pclk0 is active and turns on t1727, it also turns on t1941 which pulls node 3591 low (via t1930), so the state of t1738 no longer matters.

For reference, I've attached excerpts from the layer images I originally traced when making that simulator.
Attachments
spr_poly.png
spr_metal.png
pal_poly.png
pal_metal.png
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.
User avatar
org
Posts: 155
Joined: Tue Aug 07, 2012 12:27 pm

Re: What's purpose of this transistor?

Post by org »

This transistor connects the Input FF outputs and thus clears it during PCLK Precharge.

This transistor is part of the OAM Buffer bit. The OAM Buffer circuit itself is very tricky because it has to work with the Tristate logic associated with the OAM cells.

A large and detailed description of OAM + OAM Buffer can be found here:

https://github.com/emu-russia/breaks/bl ... PPU/oam.md
Post Reply