Skip to content

Commit 2c7e8b6

Browse files
authored
Merge pull request #1371 from ogamespec/master
OAM Evaluation -> Object Evaluation
2 parents 85fa225 + cae3604 commit 2c7e8b6

10 files changed

Lines changed: 15 additions & 15 deletions

File tree

BreakingNESWiki/PPU/contents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- [Палитра](cram.md)
1111
- [Видеосигнал NTSC](tv.md)
1212
- [Генератор видеосигнала](video_out.md)
13-
- [Сравнение спрайтов](sprite_eval.md)
13+
- [Сравнение спрайтов](obj_eval.md)
1414
- [Мультиплексор](mux.md)
1515
- [Спрайтовая память (OAM)](oam.md)
1616
- [Object FIFO](fifo.md)

BreakingNESWiki/PPU/fsm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
|E/EV|Sprite Logic|"End Sprite Evaluation"|
5555
|I/OAM2|Sprite Logic|"Init OAM2". Инициализировать дополнительную [OAM](oam.md)|
5656
|PAR/O|All|"PAR for Object". Выборка тайла для объекта (спрайта).|
57-
|/VIS|Sprite Logic|"Not Visible". Невидимая часть сигнала (использует [спрайтовая логика](sprite_eval.md))|
57+
|/VIS|Sprite Logic|"Not Visible". Невидимая часть сигнала (использует [схема сравнения спрайтов](obj_eval.md))|
5858
|#F/NT|Data Reader, OAM Eval|0: "Fetch Name Table"|
5959
|F/TB|Data Reader|"Fetch Tile B"|
6060
|F/TA|Data Reader|"Fetch Tile A"|

BreakingNESWiki/PPU/mux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Sprite 0 Hit - это алиенская особенность работы PPU
7777

7878
Контрольный выход `STRIKE` равен 1 только когда BGC0=1 или BGC1=1, при этом все остальные входы равны 0.
7979

80-
Контрольный сигнал `/SPR0HIT` приходит со схемы контроля приоритетов спрайтов (см. [Obj FIFO](fifo.md)), а контрольный сигнал `/SPR0_EV` со [схемы сравнения спрайтов](sprite_eval.md).
80+
Контрольный сигнал `/SPR0HIT` приходит со схемы контроля приоритетов спрайтов (см. [Obj FIFO](fifo.md)), а контрольный сигнал `/SPR0_EV` со [схемы сравнения спрайтов](obj_eval.md).
8181

8282
## Трюки с мультиплексором
8383

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Сравнение спрайтов (OAM Evaluation)
1+
# Сравнение спрайтов (Object Evaluation)
22

3-
![ppu_locator_sprite_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_sprite_eval.jpg)
3+
![ppu_locator_obj_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_obj_eval.jpg)
44

55
Схема сравнения спрайтов занимается сравнением всех 64 спрайтов и выборкой первых 8 спрайтов, которые встречаются раньше всех на текущей строке (V). То что PPU умеет рисовать только первые 8 спрайтов строки - широко известный факт, который приходится учитывать при программировании NES. Обычно программисты применяют перемешивание спрайтов, но даже при этом возникает эффект "мерцания" спрайтов.
66

BreakingNESWiki/imgstore/ppu/ppu_locator_sprite_eval.jpg renamed to BreakingNESWiki/imgstore/ppu/ppu_locator_obj_eval.jpg

File renamed without changes.

BreakingNESWiki_DeepL/PPU/contents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- [Color RAM](cram.md)
1111
- [NTSC Video Signal](tv.md)
1212
- [Video Signal Generator](video_out.md)
13-
- [OAM Evaluation](sprite_eval.md)
13+
- [Object Evaluation (Sprite Comparison)](obj_eval.md)
1414
- [Multiplexer](mux.md)
1515
- [Object Attribute Memory (OAM)](oam.md)
1616
- [Object FIFO](fifo.md)

BreakingNESWiki_DeepL/PPU/fsm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Outputs:
5454
|E/EV|Sprite Logic|"End Sprite Evaluation"|
5555
|I/OAM2|Sprite Logic|"Init OAM2". Initialize an extra [OAM](oam.md)|
5656
|PAR/O|All|"PAR for Object". Selecting a tile for an object (sprite)|
57-
|/VIS|Sprite Logic|"Not Visible". The invisible part of the signal (used by [sprite logic](sprite_eval.md))|
57+
|/VIS|Sprite Logic|"Not Visible". The invisible part of the signal (used by [sprite comparison](obj_eval.md))|
5858
|#F/NT|Data Reader, OAM Eval|"Fetch Name Table"|
5959
|F/TB|Data Reader|"Fetch Tile B"|
6060
|F/TA|Data Reader|"Fetch Tile A"|

BreakingNESWiki_DeepL/PPU/mux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Sprite 0 Hit circuit:
7777

7878
The control output `STRIKE` is 1 only when BGC0=1 or BGC1=1 with all other inputs set to 0.
7979

80-
The control signal `/SPR0HIT` comes from the sprite priority control circuit (see [Obj FIFO](fifo.md)) and the control signal `/SPR0_EV` from [sprite comparison circuit](sprite_eval.md).
80+
The control signal `/SPR0HIT` comes from the sprite priority control circuit (see [Obj FIFO](fifo.md)) and the control signal `/SPR0_EV` from [sprite comparison circuit](obj_eval.md).
8181

8282
## Multiplexer Tricks
8383

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Sprite Comparison (OAM Evaluation)
1+
# Sprite Comparison (Object Evaluation)
22

3-
![ppu_locator_sprite_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_sprite_eval.jpg)
3+
![ppu_locator_obj_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_obj_eval.jpg)
44

55
The sprite comparison circuit compares all 64 sprites and selects the first 8 sprites that occur first on the current line (V). The fact that the PPU can only draw the first 8 sprites of a line is a well-known fact that has to be taken into account when programming NES. Usually programmers use sprite shuffling, but even this has the effect of "flickering" sprites.
66

BreakingNESWiki_DeepL/all_ppu.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ TODO: Duplicate all image in ASCII art so that they are understood by LLMs which
1616
- [Color RAM](#color-ram)
1717
- [NTSC Video Signal](#ntsc-video)
1818
- [Video Signal Generator](#video-signal-generator)
19-
- [OAM Evaluation](#sprite-comparison-oam-evaluation)
19+
- [Object Evaluation (Sprite Comparison)](#sprite-comparison-object-evaluation)
2020
- [Multiplexer](#multiplexer)
2121
- [Object Attribute Memory (OAM)](#oam)
2222
- [Object FIFO](#object-fifo)
@@ -696,7 +696,7 @@ Outputs:
696696
|E/EV|Sprite Logic|"End Sprite Evaluation"|
697697
|I/OAM2|Sprite Logic|"Init OAM2". Initialize an extra [OAM](#oam)|
698698
|PAR/O|All|"PAR for Object". Selecting a tile for an object (sprite)|
699-
|/VIS|Sprite Logic|"Not Visible". The invisible part of the signal (used by [sprite logic](#sprite-comparison-oam-evaluation))|
699+
|/VIS|Sprite Logic|"Not Visible". The invisible part of the signal (used by [sprite comparison](#sprite-comparison-object-evaluation))|
700700
|#F/NT|Data Reader, OAM Eval|"Fetch Name Table"|
701701
|F/TB|Data Reader|"Fetch Tile B"|
702702
|F/TA|Data Reader|"Fetch Tile A"|
@@ -1141,9 +1141,9 @@ Level values of the unloaded video signal:
11411141

11421142
If the `TINT` signal value is 1, the voltage is multiplied by approx. 0.746f.
11431143

1144-
# Sprite Comparison (OAM Evaluation)
1144+
# Sprite Comparison (Object Evaluation)
11451145

1146-
![ppu_locator_sprite_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_sprite_eval.jpg)
1146+
![ppu_locator_obj_eval](/BreakingNESWiki/imgstore/ppu/ppu_locator_obj_eval.jpg)
11471147

11481148
The sprite comparison circuit compares all 64 sprites and selects the first 8 sprites that occur first on the current line (V). The fact that the PPU can only draw the first 8 sprites of a line is a well-known fact that has to be taken into account when programming NES. Usually programmers use sprite shuffling, but even this has the effect of "flickering" sprites.
11491149

@@ -1387,7 +1387,7 @@ Sprite 0 Hit circuit:
13871387

13881388
The control output `STRIKE` is 1 only when BGC0=1 or BGC1=1 with all other inputs set to 0.
13891389

1390-
The control signal `/SPR0HIT` comes from the sprite priority control circuit (see [Obj FIFO](#object-fifo)) and the control signal `/SPR0_EV` from [sprite comparison circuit](#sprite-comparison-oam-evaluation).
1390+
The control signal `/SPR0HIT` comes from the sprite priority control circuit (see [Obj FIFO](#object-fifo)) and the control signal `/SPR0_EV` from [sprite comparison circuit](#sprite-comparison-object-evaluation).
13911391

13921392
## Multiplexer Tricks
13931393

0 commit comments

Comments
 (0)