경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!=== OAMADDR - 스프라이트 RAM 주소 ($2003 쓰기) === ---- 7 bit 0 ---- ---- AAAA AAAA |||| |||| ++++-++++- OAM 주소 여기에 접근하려는 [[PPU OAM|OAM]]의 주소를 쓴다. 대부분의 게임은 여기에 $00을 쓰고 [[#OAMDMA|OAMDMA]]를 사용한다. (DMA는 2A03/7 칩에 구현되어 있으며 [[#OAMDATA|OAMDATA]]에 반복적으로 쓰는 방식으로 작동한다) ==== 렌더링 중 값 ==== OAMADDR은 프리렌더 및 가시 스캔라인의 257-320 틱(스프라이트 타일 로딩 간격) 각각 동안 0으로 설정된다. 이는 또한 정상적으로 완료된 렌더링 프레임의 끝에서 OAMADDR이 항상 0으로 돌아온다는 것을 의미한다. 렌더링이 스캔라인 중간에 활성화되면<ref name="OAMADDR Clarification"/>, 가시 스캔라인의 틱 65에서 OAM 스프라이트 평가가 시작되기 전에 OAMADDR이 0으로 설정되지 않은 경우 추가적인 결과가 발생한다. 이 틱에서의 OAMADDR 값은 이 스캔라인에 대한 스프라이트 평가의 시작 주소를 결정하며, 이로 인해 OAMADDR의 스프라이트가 [[sprite-0 hit]] 및 우선 순위 모두에 대해 스프라이트 0인 것처럼 처리될 수 있다. OAMADDR이 정렬되지 않고 OAM 항목의 Y 위치(첫 번째 바이트)를 가리키지 않으면, 가리키는 모든 것(타일 인덱스, 속성 또는 X 좌표)이 Y 위치로 재해석되고 다음 바이트도 유사하게 재해석된다. OAM의 끝에 도달하면 더 이상 스프라이트가 발견되지 않으며, 시작 OAMADDR 이전의 모든 스프라이트를 효과적으로 숨긴다. ==== OAMADDR 주의사항 ==== 2C02G에서는 OAMADDR에 쓰면 OAM이 손상된다. 정확한 손상은 완전히 설명되지 않았지만, 이는 일반적으로 대상 주소의 8바이트 행 위에 스프라이트 8과 9(주소 $20)를 복사하는 것으로 보인다. 이 복사의 소스 주소는 CPU 버스의 이전 값(가장 자주 $2003 피연산자에서 $20)에서 오는 것으로 보인다.<ref name="OAMADDR Clarification">[//forums.nesdev.org/viewtopic.php?p=285674#p285674 OAMDATA $2003 손상 명확화?] - 포럼 스레드</ref><ref name = "OAMglitch">[//forums.nesdev.org/viewtopic.php?t=10189 수동 OAM 쓰기 결함] blargg의 스레드</ref> 다른 가능한 동작도 있을 수 있다. 그런 다음 OAM의 256바이트를 모두 써서 이 문제를 해결할 수 있지만, [[PPU OAM#Dynamic RAM decay|OAM 붕괴]]가 시작되기 전의 제한된 시간으로 인해 일반적으로 OAMDMA를 통해 수행해야 한다. 또한 렌더링이 시작될 때 OAMADDR이 8보다 작지 않으면 <tt>OAMADDR & 0xF8</tt>에서 시작하는 8바이트가 OAM의 첫 8바이트에 복사되는 경우도 있다. 이것이 관련이 있을 가능성이 높다. Dendy에서는 후자의 버그가 2C02 호환성을 위해 필요하다. 2C03, 2C04, 2C05<ref name="noOAMglitch">[//forums.nesdev.org/viewtopic.php?p=179676#p179676 $2003에 대한 쓰기는 OAM 손상을 일으키지 않는 것으로 보임] lidnariq의 게시물</ref> 및 2C07에서는 OAMADDR이 의도한 대로 작동하는 것으로 알려져 있다. 이 버그가 2C02의 모든 리비전에 존재하는지는 알려져 있지 않다. {{Anchor|OAMDATA}}{{Anchor|Reg2004}}{{Anchor|OAM_data_($2004)_<>_read/write}} 요약: 한식구 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 한식구위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 자동 편집 스팸으로부터 위키를 보호하기 위해, 다음 CAPTCHA를 풀어주세요: 취소 편집 도움말 (새 창에서 열림)