один мудвин написал в справочнике а остальные позаимствовали без проверки.
Аналогом Am29705 является КМ1804ИР4 (в керамическом ДИП корпусе выпускалась в Воронеже). На ней так-же можно сделать MMU.
Вид для печати
MiX, рецепт по реализации Reset подтверждаете на основе имеющейся схемы?
По просмотру платы, за формирование DCLO отвечают два транзистора которые возле батарейки. Далее на базу одного транзистора подключена R-C цепочка делающая задержку запуска. Для повторного запуска достаточно замкнуть конденсатор.
Конденсатор находится рядом с батарейкой (розовый).
Думаю кнопку как в УКНЦ туда воткнуть.
Datasheet не видел, увы. Только везде упоминание, что серия 1822 аналогична серии 1802.
- - - Добавлено - - -
У меня там опечатка - нужно переименовать PF_PN => PF_PB
- - - Добавлено - - -
Микросхема VC формирует старшие два бита адресе CA8 (выбор младшие/старшие байты палитры), CA9 (номер блока памяти памяти палитр — нижний/верхний), а также четыре младших бита адреса памяти палитры (либо пропускает туда биты VA0-VA3, либо устанавливает их в зависимости от видеорежима и текущего типа обмена с памятью)
Микросхемой V9 формируются сигналы CA4-CA6 (средние биты адреса памяти палитры), причём использует управление выходными буферами с Z состоянием для того, чтобы на резисторах R1, R2, R7 и R8 сделать мультиплексирование VD4-VD7.
* [Тут нужно заметить, что сигналы на этих резисторов похоже нужно повернуть по горизонтали зеркально, т.*к. VD4-VD7 подают на CA4-CA7, а не наоборот; тоже самое с резисторами R31,R30,R9,R29 — там выходные сигналы A1-A4 должны подаваться с левой стороны. И, кстати, по ТО резистор R7 находится в схеме начального пуска - видимо нужно поставить вместо R11].
Кроме того, на выходах RF15-RF17 реализован счетчик, но как о работает мне не нравится (RF15 один в один повторяет состояние RF17, зачем?), похоже здесь ошибка в прошивке. Нужно будет попробовать посмотреть содержимое других дампов этой микросхемы...
- - - Добавлено - - -
Немного про контроллер жесткого диска, вроде никому ненужный... Разработчики схемы видимо так хотели сэкономить один корпус, что поставили 8-ми битный двоичный счетчик D60 из К561 серии, а к ней и памяти отдельное питание +5V1 на фильтре R65/С27 (кстати почему не +4V9? А может это 537РУ10 на самом деле такая капризная к питанию?).
Переполнение счетчика (через C15) продвигает трёхразрядный счетчик в прошивке микросхемы P11 (выводы 17, 16 и 14).
В общем тут просится такая замена:
+(возможно там стоит убрать переплетение проводов, спрятав сигналы в шину, - снова разработчики печатной платы ради упрощения разводки линии шины данных и адресные переставили).Код:F => ~HDBUFCS (выборка микросхемы памяти буфера жесткого диска)
F/2 => HDBUFA0 (адреса буфера жесткого диска)
F/4 => HDBUFA1
F/8 => HDBUFA2
F/16 => HDBUFA3
F/32 => HDBUFA4
F/64 => HDBUFA5
F/128 => HDBUFA6
F/256 => HDBUFA7
P11 вывод 17 => HDBUFA8
P11 вывод 16 => HDBUFA9
P11 вывод 14 => HDBUFA10
- - - Добавлено - - -
Насчет пар диод+резистор - как я понимаю, реализуют они простую логику на два входа:
VD1+R10 => ИЛИ
VD6+R71 => И
VD7+R66 => ИЛИ
VD13+R24 => ИЛИ
Их бы сориентировать так, чтобы выход этой пары (соединение резистора и диода) находился справа, в остальные входы слева - как это было бы для элементов И/ИЛИ. Сейчас этому соответствует только пара VD1+R10. Можно даже в прямоугольник (в рамочку) их закатать для наглядности...
А вот думки про модули ОЗУ…
1) Пока я не очень понимаю зачем было вводить режим маскирования при записи в ОЗУ — довольно много оборудования под это ушло... Какой от этого профит программам-то? Прямого описания пока не видел, но могу предположить, что там что-то вроде такого: если некоторые поля (двух или 4 битные), в записываемых значениях в память нулевые, то они не прописываются в соответствующее поле, т.*е. там сохраняется прежний цвет. Это потребовало 4-х линий строба записи на каждый байт - в обычной памяти только один такой строб. Если эмулировать такое свойство на привычных планках памяти, то придётся использовать режим чтение-модификация-запись.
2) Ну зачем они в модуле памяти используют сигналы RAS1 и RAS2, т.*е. почему не RAS0 и RAS1? Откуда вообще взялась распиновка разъема XP1 модуля памяти? У нас ведь схема модуля M256 (кто-то видел модули M1024 или их схему?), сигналами RAS выполняется выбор конкретного модуля, но для M1024 нужна дополнительная адресная линия A9 — где она на разъеме? Что такие-то RAS-ы могут превращаться в A9? Какие-то ПЛМки специально устанавливали на сокеты для смены прошивки? (Как видно тут.
В формуляре на ПК11-16к пишут, что там используется память TC51100-12 или аналогичная (1Мх1), - действительно, отечественных чипов ёмкостью 1Мх1 вроде как не было, а напаять 4 комплекта РУ7-х на одну планку было бы сложно, разве что использовать чипы в корпусе ПМ: http://www.155la3.ru/images2/565ru7pm_1.jpg,
- вот тогда все RAS-ы бы пригодились бы на одной планке (только тогда 4 такие планки не установить — нечем их выбирать).
3) Если делать свои модули, то резистор R2 нужно размножить на каждый из RAS-ов, но запаять только один. Чтоб не заниматься вандализмом с откусыванием выводов 20-23 разъема XP1.
Предлагаю на разъемах памяти (XP1 и RAM1-RAM4) сделать такую замену по названию сигналов разрешения записи пары бит данных:
Тогда можно более корректно обозначит эти сигналы в соответствии с сигналами на шине данных памяти (уже в основной схеме, а не в схеме модуля памяти):Код:WE0 => ~WE_0_1
WE1 => ~WE_2_3
WE2 => ~WE_4_5
WE3 => ~WE_6_7
RAS0 => ~RAS0
RAS1 => ~RAS1
RAS2 => ~RAS2
RAS3 => ~RAS3
CAS => ~CAS
Код:WE0 => ~WE_10_11
WE1 => ~WE_0_1
WE2 => ~WE_7_8
WE3 => ~WE_12_13
V5-F2 => ~WE_14_15
V5-F1 => ~WE_8_9
V5-F0 => ~WE_4_5
V5-F7 => ~WE_2_3
Про явно идентифицируемые счётчики в прошивках, из тех которые я пробовал моделировать на простых Си программках: Вложение 65773
1) Счётчик на выводах rf16, rf15, rf14, rf17 в V4 - используют 4 бита, чтобы крутить 6 разных состояний. Немного странно, т.к. достаточно было задействовать только 3 триггера:
2) Счётчик на выводах rf14, rf16, rf15, rf17 в V9 - используют 4 бита, но состояние выводов rf15 и rf17 полностью совпадает (что очень странно!):Код:| |
001 => 1111 -_-_-_-_-_-_ 17
002 => 1100 -_-_---_-_-- 14
003 => 1011 --__----__-- 15
004 => 1000 ----__----__ 16
005 => 0111
006 => 0110
далее повтор...
007 => 1111
Если использовать, например, такой вариант "new_v9_rf15 = !((!v9_rf17 && v9_rf15) || (v9_rf17 && !v9_rf15));", а он будет отличаться только одними битом в прошивке, то состояния будут такими (снова цикл на восемь состояний, которому достаточно трёх триггеров):Код:000 => 0000
001 => 1111
002 => 1100
003 => 1011
004 => 1000
005 => 0111
006 => 0100
007 => 0011
008 => 0000
3) Счётчик на выводах v2_rf17, v2_rf16, v1_rf14, v1_rf15, v1_rf16, !v1_rf17 (да, последний вывод нужно инвертировать, чтобы он был в той же полярности как другие выходы). Там ещё два триггера есть v2_rf15 и v2_rf14, их поведение зависит от сигнала i3, который сильно связан с выводом на экран (выглядит как смена приоритета когда не требуются данные для вывода на экран монитора):Код:000 => 0000
001 => 1111 (-1)
002 => 1110 (-2)
003 => 1101 (-3)
004 => 1100 (-4)
005 => 1011 (-5)
006 => 1010 (-6)
007 => 1001 (-7)
008 => 0000 (0)
Все эти счётчики выполняют обратный отчёт, иначе вычитающие или декрементирующие. Толи так проще в этих конкретных ПЛМка было сделать, то ли разработчикам как привычнее было, когда у них процессор весь с инверсными шинам. Кстати, почему бы не поставит инверсию над всеми сигналами приходящими на процессор? А за одно:Код:i, v2_rf15, (i3 = 0)
v2_rf14,
v2_rf17,
v2_rf16,
v1_rf14,
v1_rf15,
v1_rf16,
!v1_rf17
v2_rf15, (i3 = 1)
v2_rf14
Version: i3 = 0 i3 = 1
000 => 11 111111 => 11
001 => 10 111110 => 10
002 => 10 111101 => 10
003 => 10 111100 => 10
004 => 00 111011 => 00
005 => 01 111010 => 01
006 => 01 111001 => 01
007 => 11 111000 => 10
008 => 11 110111 => 10
009 => 01 110110 => 10
010 => 01 110101 => 10
011 => 11 110100 => 01
012 => 11 110011 => 01
013 => 11 110010 => 11
014 => 11 110001 => 01
015 => 11 110000 => 11
016 => 10 101111 => 10
017 => 10 101110 => 10
018 => 10 101101 => 10
019 => 10 101100 => 10
020 => 00 101011 => 00
021 => 01 101010 => 01
022 => 01 101001 => 01
023 => 11 101000 => 10
024 => 11 100111 => 10
025 => 01 100110 => 10
026 => 01 100101 => 10
027 => 11 100100 => 01
028 => 11 100011 => 01
029 => 11 100010 => 11
030 => 11 100001 => 01
031 => 11 100000 => 11
032 => 10 011111 => 10
033 => 10 011110 => 10
034 => 10 011101 => 10
035 => 10 011100 => 10
036 => 00 011011 => 00
037 => 01 011010 => 01
038 => 01 011001 => 01
039 => 11 011000 => 10
040 => 11 010111 => 10
041 => 01 010110 => 10
042 => 01 010101 => 10
043 => 11 010100 => 01
044 => 11 010011 => 01
045 => 11 010010 => 11
046 => 11 010001 => 01
047 => 11 010000 => 11
048 => 10 001111 => 10
049 => 10 001110 => 10
050 => 10 001101 => 10
051 => 10 001100 => 10
052 => 00 001011 => 00
053 => 01 001010 => 01
054 => 01 001001 => 01
055 => 11 001000 => 10
056 => 11 000111 => 10
057 => 01 000110 => 10
058 => 01 000101 => 10
059 => 11 000100 => 01
060 => 11 000011 => 01
061 => 11 000010 => 11
062 => 11 000001 => 01
063 => 11 000000 => 11
064 => 10 111111 => 10
065 => 10 111110 => 10
066 => 10 111101 => 10
067 => 10 111100 => 10
068 => 00 111011 => 00
069 => 01 111010 => 01
Но если вернуться к счётчику, на V1 и V2, то его выводы много где используются, причём как в качестве частоты, так и как код, - поэтому пронумеровать бы их так:Код:PC3 => ~VIRQ
P2-19 => HALT
Тут ещё просятся такие вот сигналы, которые пока не могу указать достоверно, где формируются:Код:V1-17 => X0-8MHz (Позиция вывода луча по горизонтали или тактовая частота 8 МГц)
V1-16 => X1-4MHz
2MHz => X2-2MHz
V1-14 => X3-1MHz
V2-16 => X4-500kHz
V2-17 => X5-250KHz
Т.е. мы так должны выйти на частоту строчной развёртки 15625 Гц. Вот так 16 МГц кварц и обычный 10-ти разрядный двоичный счётчик даст желаемую строчную частоту (период повторения 64мкс). Т.к. строчный гасящий импульс требует 12 мкс, то остаётся 52 мкс на активную часть строки (https://studfiles.net/preview/1666872/page:31/ ). А при 26 полосках выходит что каждая полоска по 2 мкс (темп 500кГц)...Код:X6_125KHz
X7_62500Hz
X8_31250Hz
X9_15625Hz