megov
30.01.2022, 23:30
Здравствуйте, коллеги!
Завершив борьбу с Burn_RT 1.1, занялся дальнейшими раскопками и вычитал обе родных РЕ3 со своего Вектора (+сделал копии)
В D36, которая заведует распределением RAS/CAS/MXn и остальных основных сигналов временной диаграммы, я нашел следующее
U8 data[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x99, 0x99, 0x99, 0xD9, 0xDB, 0x9A, 0xDB, 0xDB,
0x05, 0x0D, 0x09, 0x23, 0x07, 0x17, 0x15, 0x1D,
0x9D, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07
};
Это совпадает с тем, что приведено в доке к Астраханской редакции Вектора http://sensi.org/scalar/ware/514/
Но тут на форуме я встречал снятые логическим анализатором USBee диаграммы, к сожалению картинки сохранил,
но автора не запомнил :( Картинка немного переделана для выравнивания на цикл - приятно, когда ИЕ7 в схеме считает с нуля.
https://b.radikal.ru/b22/2201/12/cc67b7c5855et.jpg (https://radikal.ru/big/axrj7qz1wcpwp)
И тут прошивка явно отличается от моей, как минимум в том, что RAS возвращается в 1 не раньше CAS, а вместе с ним.
По картинке были подсмотрены значения ячеек ПЗУ и сохранена альтернативная прошивка.
Для осознания поведения сего аппаратно-программного узла был написан эмулирующий код на GCC, который по
прошивке строит "осциллограмму", отталкиваясь от 12MHz С0 сигнала. Получилось следующее:
Starting Their RE3...
ADDR :1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
:0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
CLK12 :_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_ ^_^_^_^_^_^_^_^
CLK6 :__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^_ _^^__^^__^^__^^
CLK3 :____^^^^____^^^^____^^^^____^^^^____^^^^____^^^^_ ___^^^^____^^^^
CLK1_5 :________^^^^^^^^________^^^^^^^^________^^^^^^^^_ _______^^^^^^^^
CLK0_75 :________________^^^^^^^^^^^^^^^^________________^ ^^^^^^^^^^^^^^^
A4 :^^^^^^^^^^^^^^^^____________^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
DATA :0 0 0 2 0 1 1 1 9 9 9 D D 9 0 0 0 0 0 2 0 1 1 1 9 0 0 0 0 0 0 0
:5 D 9 1 7 7 5 D D 9 9 9 9 A 6 7 5 D 9 1 7 7 5 D D 7 7 7 7 7 6 7
!RES :^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^__^^
!RAS :________^^^^______________^^^^^^________^^^^_____ _^^^^^^^^^^^^^^
!CAS :^^^^____^^^^^^^^^^__________^^^^^^^^____^^^^^^^^^ ^^^^^^^^^^^^^^^
MX1 :__^^^^________^^^^^^^^^^^^^^______^^^^________^^^ ^______________
MX2 :__________^^^^^^^^^^^^^^^^^^______________^^^^^^^ ^______________
WVR :______^^______________________________^^_________ _______________
W :______________________^^^^_______________________ _______________
SET :________________^^^^^^^^^^^^____________________^ ^______________
На моей прошивке получается так:
Starting My RE3...
ADDR :1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
:0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
CLK12 :_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_ ^_^_^_^_^_^_^_^
CLK6 :__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^_ _^^__^^__^^__^^
CLK3 :____^^^^____^^^^____^^^^____^^^^____^^^^____^^^^_ ___^^^^____^^^^
CLK1_5 :________^^^^^^^^________^^^^^^^^________^^^^^^^^_ _______^^^^^^^^
CLK0_75 :________________^^^^^^^^^^^^^^^^________________^ ^^^^^^^^^^^^^^^
A4 :^^^^^^^^^^^^^^^^____________^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
DATA :0 0 0 2 0 1 1 1 9 9 9 D D 9 0 0 0 0 0 2 0 1 1 1 9 0 0 0 0 0 0 0
:5 D 9 3 7 7 5 D 9 9 9 9 B A 7 7 5 D 9 3 7 7 5 D D 7 7 7 7 7 7 7
!RES :^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
!RAS :______^^^^^^____________^^^^^^^^______^^^^^^_____ _^^^^^^^^^^^^^^
!CAS :^^^^____^^^^^^^^____________^^^^^^^^____^^^^^^^^^ ^^^^^^^^^^^^^^^
MX1 :__^^^^________^^^^^^^^^^^^^^______^^^^________^^^ ^______________
MX2 :__________^^^^^^^^^^^^^^^^^^______________^^^^^^^ ^______________
WVR :______^^______________________________^^_________ _______________
W :______________________^^^^_______________________ _______________
SET :________________^^^^^^^^^^^^____________________^ ^______________
Что мне пока не до конца ясно, так это то, что в схеме бит адреса A4 заведен как результат обратной связи выхода Q7 ПЗУ
и сигнала 11 шины управления по И/НЕ. Как я понимаю, такой подход делает из простой комбинаторной схемы некое подобие
конечного автомата и бит SET/Q7 как раз переключает ветки выбора (и половинки ПЗУ).
Судя по схеме, сигнал 11 шины управления установлен в 1 при любом обращении к памяти (или на элементе D15.3)
Соответственно, есть вопрос: существуют ли дампы D36 отличные от приведенного здесь, и, если существуют,
можно ли ими поделиться. Ибо 32 байта можно и текстом отписать.
Спасибо!
Завершив борьбу с Burn_RT 1.1, занялся дальнейшими раскопками и вычитал обе родных РЕ3 со своего Вектора (+сделал копии)
В D36, которая заведует распределением RAS/CAS/MXn и остальных основных сигналов временной диаграммы, я нашел следующее
U8 data[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x99, 0x99, 0x99, 0xD9, 0xDB, 0x9A, 0xDB, 0xDB,
0x05, 0x0D, 0x09, 0x23, 0x07, 0x17, 0x15, 0x1D,
0x9D, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07
};
Это совпадает с тем, что приведено в доке к Астраханской редакции Вектора http://sensi.org/scalar/ware/514/
Но тут на форуме я встречал снятые логическим анализатором USBee диаграммы, к сожалению картинки сохранил,
но автора не запомнил :( Картинка немного переделана для выравнивания на цикл - приятно, когда ИЕ7 в схеме считает с нуля.
https://b.radikal.ru/b22/2201/12/cc67b7c5855et.jpg (https://radikal.ru/big/axrj7qz1wcpwp)
И тут прошивка явно отличается от моей, как минимум в том, что RAS возвращается в 1 не раньше CAS, а вместе с ним.
По картинке были подсмотрены значения ячеек ПЗУ и сохранена альтернативная прошивка.
Для осознания поведения сего аппаратно-программного узла был написан эмулирующий код на GCC, который по
прошивке строит "осциллограмму", отталкиваясь от 12MHz С0 сигнала. Получилось следующее:
Starting Their RE3...
ADDR :1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
:0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
CLK12 :_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_ ^_^_^_^_^_^_^_^
CLK6 :__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^_ _^^__^^__^^__^^
CLK3 :____^^^^____^^^^____^^^^____^^^^____^^^^____^^^^_ ___^^^^____^^^^
CLK1_5 :________^^^^^^^^________^^^^^^^^________^^^^^^^^_ _______^^^^^^^^
CLK0_75 :________________^^^^^^^^^^^^^^^^________________^ ^^^^^^^^^^^^^^^
A4 :^^^^^^^^^^^^^^^^____________^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
DATA :0 0 0 2 0 1 1 1 9 9 9 D D 9 0 0 0 0 0 2 0 1 1 1 9 0 0 0 0 0 0 0
:5 D 9 1 7 7 5 D D 9 9 9 9 A 6 7 5 D 9 1 7 7 5 D D 7 7 7 7 7 6 7
!RES :^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^__^^
!RAS :________^^^^______________^^^^^^________^^^^_____ _^^^^^^^^^^^^^^
!CAS :^^^^____^^^^^^^^^^__________^^^^^^^^____^^^^^^^^^ ^^^^^^^^^^^^^^^
MX1 :__^^^^________^^^^^^^^^^^^^^______^^^^________^^^ ^______________
MX2 :__________^^^^^^^^^^^^^^^^^^______________^^^^^^^ ^______________
WVR :______^^______________________________^^_________ _______________
W :______________________^^^^_______________________ _______________
SET :________________^^^^^^^^^^^^____________________^ ^______________
На моей прошивке получается так:
Starting My RE3...
ADDR :1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
:0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
CLK12 :_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_ ^_^_^_^_^_^_^_^
CLK6 :__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^__^^_ _^^__^^__^^__^^
CLK3 :____^^^^____^^^^____^^^^____^^^^____^^^^____^^^^_ ___^^^^____^^^^
CLK1_5 :________^^^^^^^^________^^^^^^^^________^^^^^^^^_ _______^^^^^^^^
CLK0_75 :________________^^^^^^^^^^^^^^^^________________^ ^^^^^^^^^^^^^^^
A4 :^^^^^^^^^^^^^^^^____________^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
DATA :0 0 0 2 0 1 1 1 9 9 9 D D 9 0 0 0 0 0 2 0 1 1 1 9 0 0 0 0 0 0 0
:5 D 9 3 7 7 5 D 9 9 9 9 B A 7 7 5 D 9 3 7 7 5 D D 7 7 7 7 7 7 7
!RES :^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
!RAS :______^^^^^^____________^^^^^^^^______^^^^^^_____ _^^^^^^^^^^^^^^
!CAS :^^^^____^^^^^^^^____________^^^^^^^^____^^^^^^^^^ ^^^^^^^^^^^^^^^
MX1 :__^^^^________^^^^^^^^^^^^^^______^^^^________^^^ ^______________
MX2 :__________^^^^^^^^^^^^^^^^^^______________^^^^^^^ ^______________
WVR :______^^______________________________^^_________ _______________
W :______________________^^^^_______________________ _______________
SET :________________^^^^^^^^^^^^____________________^ ^______________
Что мне пока не до конца ясно, так это то, что в схеме бит адреса A4 заведен как результат обратной связи выхода Q7 ПЗУ
и сигнала 11 шины управления по И/НЕ. Как я понимаю, такой подход делает из простой комбинаторной схемы некое подобие
конечного автомата и бит SET/Q7 как раз переключает ветки выбора (и половинки ПЗУ).
Судя по схеме, сигнал 11 шины управления установлен в 1 при любом обращении к памяти (или на элементе D15.3)
Соответственно, есть вопрос: существуют ли дампы D36 отличные от приведенного здесь, и, если существуют,
можно ли ими поделиться. Ибо 32 байта можно и текстом отписать.
Спасибо!