You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Схема управления адресной шиной. Управляет адресацией VRAM.
48
48
- Схемы выборки данных (DATA READER). Схема для выборки исходных данных из VRAM: тайлов и атрибутов. Включает в себя генератор адреса PAR и схему получения цвета бэкграунда.
Схема Logisim весьма приближенно передает исходную схему, т.к. в Logisim отсутствует поддержка inOut сущностей.
@@ -69,12 +69,10 @@ P.S. Если вы разработчик микросхем, пожалуйст
69
69
По соглашению группы ячеек, которые адресуются младшими разрядами адреса будем считать "рядами", а группы ячеек, адресуемые старшими разрядами будем считать "колонками".
70
70
71
71
Касательно Color RAM:
72
-
-PAL3, PAL2: Определяет колонку (PAL3 - msb)
73
-
-PAL4, PAL1, PAL0: Определяет ряд (PAL4 - msb)
72
+
-CGA3, CGA2: Определяет колонку (CGA3 - msb)
73
+
-CGA4, CGA1, CGA0: Определяет ряд (CGA4 - msb)
74
74
- Ряды 0 и 4 совмещены
75
75
76
-
Выглядит немного хаотично, но что есть - то есть. Реверсинг памяти по какой-то причине всегда проходит с подобными мучениями в понимании, но не забывайте такой факт, что порядок соединения адресных линий для индексации памяти в общем случае не имеет значения.
Copy file name to clipboardExpand all lines: BreakingNESWiki/PPU/dataread.md
-7Lines changed: 0 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,5 @@
1
1
# Схема выборки данных
2
2
3
-
> [!WARNING]
4
-
> На данный момент этот раздел вики претерпевает рефакторинг, в связи с тем, что мы некорректно интерпретировали положение схемы PAR (Picture Address Register). То что раньше назвалось "PatGen" - это на самом деле PAR,
5
-
> а то что раньше называлось PAR - это на самом деле не показанный в патенте адресный мультиплексор (который мы решили назвать нехитро - PPU Address Mux, PAMUX).
6
-
> Кроме этого "PAR Counters" теперь называются "Tile Counters", т.к. ничего общего с PAR они не имеют.
7
-
> Также мы планируем дать более понятные и адкеватные названия для некоторых сигналов (но уже после рефакторинга вики).
8
-
> Со временем, когда будет сделана вычитка всех правок и мы убедимся что нет ошибок переименования данная плашка будет также удалена.
9
-
10
3
В патенте PPU эта схема упоминается как `Still Picture Generator`.
11
4
12
5
Схема занимает почти четверть площади PPU и находится в правом нижнем углу микросхемы:
Copy file name to clipboardExpand all lines: BreakingNESWiki/PPU/fifo.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,22 +20,22 @@
20
20
|H0'' - H2''|Используются для получения сигналов /SHx|
21
21
|H3'' - H5''|Используются для выбора лейна|
22
22
|**FSM**||
23
-
|PAR/O|"PAR for Object". Выборка тайла для объекта (спрайта)|
23
+
|OBJ_READ|Сигнал для события выборки данных спрайтов из памяти.|
24
24
|0/HPOS|"Clear HPos". Очистить счётчики H в спрайтовой FIFO и начать работу FIFO|
25
25
|/VIS|"Not Visible". Невидимая часть сигнала (использует спрайтовая логика)|
26
26
|CLPO|1: Отсечение спрайтов.|
27
27
|**Из схемы сравнения спрайтов**||
28
28
|PD/FIFO|Для зануления выхода схемы H. Inv|
29
29
|**Внутренние сигналы**||
30
-
|/SH2|0: Загрузка атрибута спрайта|
31
-
|/SH3|0: Загрузка Х позиции в обратный счётчик|
32
-
|/SH5|0: Загрузка A байта спрайта в спаренный регистр сдвига|
33
-
|/SH7|0: Загрузка B байта спрайта в спаренный регистр сдвига|
30
+
|/OBJ_RD_ATTR|0: Загрузка атрибута спрайта|
31
+
|/OBJ_RD_X|0: Загрузка Х позиции в обратный счётчик|
32
+
|/OBJ_RD_A|0: Загрузка A байта спрайта в спаренный регистр сдвига|
33
+
|/OBJ_RD_B|0: Загрузка B байта спрайта в спаренный регистр сдвига|
34
34
|/Tx|Результат работы схемы H.INV, входное значение для загрузки в спаренный регистр сдвига (в инверсной логике)|
35
35
|#0/H|Производный сигнал от 0/HPOS|
36
36
|#x/EN|0: Лейн активен. Каждый лейн может активироваться индивидуально своим #EN сигналом.|
37
37
|**Выходные сигналы**||
38
-
|/SH2|Также используется в Data Reader|
38
+
|/OBJ_RD_ATTR|Также используется в Data Reader|
39
39
|/SPR0HIT|Для определения события `Sprite 0 Hit`.|
40
40
|#ZCOL0, #ZCOL1, ZCOL2, ZCOL3, #ZPRIO|Результаты работы FIFO для мультиплексора (MUX)|
41
41
@@ -137,8 +137,8 @@ HINV и HDIR - это два комплементарных сигнала (он
137
137
138
138
## Схема Sprite H
139
139
140
-
Также в состав FIFO было решено включить небольшую схему для получения значений `/SHx` (Sprite H). Схема находится выше мультиплексора, но большинство выходов `/SHx` используются только в Object FIFO (`/SH2` также используется в Data Reader).
140
+
Также в состав FIFO было решено включить небольшую схему для получения значений `/OBJ_RD_x` (Object Read). Схема находится выше мультиплексора, но большинство выходов `/OBJ_RD_x` используются только в Object FIFO (`/OBJ_RD_ATTR` также используется в Data Reader).
0 commit comments