PDA

Просмотр полной версии : [Поиск 1] Установка ОЗУ до 1Мб



pilgrim
10.04.2014, 23:44
В данной теме я буду, по мере моих возможностей, выкладывать информацию по установке дополнительных 512кБ ОЗУ на борт Поиска.
Всё, что будет здесь описано - касается Поиска-1 с платой второй ревизии. Для поиска первой версии,как минимум, дополнительно потребуется установка ИМС мультиплексора для адреса МА8, а также замена к155ре3 с прошивкой от второй версии.
Основным критерием при доработке Поиска было минимальное вмешательство в топологию платы, а также минимальная "порча" уже установленных на плате ИМС, а также использование ИМС эпохи ПЭВМ.
На фото представлен окончательный, рабочий вариант данной доработки.

Quest
11.04.2014, 03:51
Не могли-бы Вы немного поподробнее описать процесс доработки и конечный результат ? Из приложенного фото, не совсем понятно :(

pilgrim
11.04.2014, 07:25
Не могли-бы Вы немного поподробнее описать процесс доработки и конечный результат ? Из приложенного фото, не совсем понятно :(

Да, я здесь так и хочу сделать, написав пошаговую инструкцию и выложив сопутствующую информацию и файлы, просто сразу всё не получается сделать.

pilgrim
12.04.2014, 13:33
Основная идея была такова: На плате имеется 512кБ памяти,которые имеют схемы управления по записи и чтению ЦП, регенерации и вывода данных в видео адаптер.
Таким образом, для того, чтобы добавить ещё 512кБ (условно назовём банк ОЗУ), необходимо для них организовать те же схемы управления, а также обеспечить выборку между двумя банками памяти. Учитывая,что видео находится в банке памяти старших адресов, то можно сделать вывод, что банку памяти младших адресов не требуется схема вывода данных в видео. Значит, для того, чтобы упростить схему можно вновь устанавливаемую память сделать в области младших адресов, а та,что на борту -в области старших, и выборку между ними производить по выводу А19. Далее можно несколькими способами проводить манипуляции с памятью,для того чтобы можно было делать выборку между банками.
В моём случае был выбран способ, когда схема регенерации и выбора адреса остаётся общей, но схему ввод и вывода данных приходится делать раздельной.
Таким образом необходимо сигналы записи в память старшего и младшего байтов разделить ещё на 2 каждый - для старего и младшего банка памяти соответственно, с выборкой по А19. Аналогично с сигналами вывода данных из ОЗУ на шину данных ЦП, т.е.сигналы разрешения вывода регистров D77 и D78.
И ещё остаётся доработать вывод сигнала MA8 так, чтобы запись в видео память происходила не в последие 32 кБ банка ОЗУ, а уже на положенное место.
На рис.1(файл 1) и рис. 2(файл 2 (http://zx.pk.ru/attachment.php?attachmentid=47323&d=1396811820)) представлено распределение памяти для версии 512кБ и 1024кБ, где обозначены, в том числе, области памяти, при обращении к которым ЦП, будут присходить обращения к видео памяти. В файле 3 показано, как происходит адресация к памяти в режим регенерации (одновременно с адресацией для вывода данных на видеоадаптер)и в режиме обращения ЦП к ОЗУ.

pilgrim
15.04.2014, 16:19
В приведённом архиве 2 листа схем:
Первый - это доработанный 2-й лист бумажной схемы, в основном на нём отмечено то, что нуждается в доработке на плате.
Второй - это лист касающийся всех дополнительно установленных элементов, за исключением R29,R30 и D13. Вновь устанавливаемые элементы имеют точно такие же позиционные обозначения как и их прототипы, но с добавлением к их номеру 100.


Технологию установки элементов, по которой устанавливал у себя, опишу чуть позже.

pilgrim
18.04.2014, 15:55
Технология сборки.
1. Необходимые доработки на плате.
а) Необходимо у ИМС D46 (1533кп7) поднять 3,12 и 14 ноги, далее 12 ногу соеденить проводом с 1-й нагой ИМС, а 3 и14 проводками подключить к "земле". Таким образом будет получена необходимая адресация к видео памяти.
б) Поднять 1-ю ногу ИМС D77, D78 (на своём ПК я эти ноги подрезал, т.к. после напайки сверху доп.микросхем не очень было бы удобно припаивать и протаскивать соеденительные провода).
в) Выпаять D6 (556РТ4А), т.к. именно она отвечает за карту памяти и доступ по чтению/записи к ОЗУ и ПЗУ.
г) Выпаять по одной ножке у резисторов R29,R30, те, которые идут к ИМС D30, соответственно к выодам 3 и 6.
Таким образом, это все варварства, которые необходимо сотворить с платой в заводском варианте, и всё можно вернуть обратно, практически без потери внешнего вида платы.
2. Список радиоэлементов, которые потребуются для доработки ПК:
1) 565РУ7В(Г,И,К) (или имп. аналог) - 16шт.
2) 555ЛЛ1(1533ЛЛ1)(или имп. аналог) - 2 шт
3) 1533ИР22(или имп. аналог) - 2шт
4) 556РТ4(А) - 1шт (с соответствующей прошивкой)
5) Резистор млт-0.125(0.25, 0.5) - 24 Ом (или имп. аналог) - 2шт
6)Соединительный провод, типа МГТФ или что-то подобное.
3. Установка элементов на плату:
1) 565РУ7 напаивается на соответствующую ИМС на плате "нога в ногу", предварительно отогнув 3 и 14 ноги, т.к. они не припаиваются.
2) ЛЛ1, та, что на схеме обозначена как D101 напаивается на D3 контактами 7 и 14 (питание), остальные отгибаются и не припаиваются. D102 напаивается аналогичным образом на D30, но перед этим на D30 желательно на ноги 3 и 6 напаять провода, которые затем пойдут на D102 на ноги 2 и 5 соответственно.
3)1533ИР22 - необходимо отогнуть ножки 1,3,4,7,8,13,14,17,18. А остальными ножками припаятся к соответствующей ИМС, т.е. D177 напять на D77, а D178 - на D78.
4) R129,R130 лучше припаять сразу одной ногой к 3 выв. ИМС D66, D44 соответственно
4.Провести коммутацию проводами проводить согласно представленной ранее схеме.
5. Установить D6 c соответствующей прошивкой.
Если всё нормально, то схема должна сразу заработать.
Один из недостатков представленной компановки - невозможность использование "кроваток" для ОЗУ из-за ограничения по высоте.

CodeMaster
18.04.2014, 16:43
по установке дополнительных 512кБ ОЗУ на борт Поиска.

А насколько это всё прозрачно и доступно для софта?

pilgrim
18.04.2014, 16:53
А насколько это всё прозрачно и доступно для софта?

Для софта прозрачно до 736кБ, а вот чтобы записывать в более высокую область те же драйверы, то нужны утилитки, возможно такие и существуют, главное, чтобы DOS знал, что там тоже есть память. С точки зрения прямого обращения ЦП к данным участкам памяти, то проблем нет, и если сделать резедент, то он вполне может находится в верхних областях памяти и не "отъедать" от основных 640кБ (736кБ) .

pilgrim
21.04.2014, 11:18
Прошивка для D6 в соответствии с данной картой памяти:
Файл с картой памяти 1 (http://zx.pk.ru/attachment.php?attachmentid=47332&d=1396868063)

pilgrim
24.04.2014, 22:55
Небольшое дополнение относительно D6. Т.к. выход с открытым коллектором и активация сигнала происходит по логическому "0", то при расширении памяти можно не выпаивать D6, а напаять на неё ИМС с новой прошивкой.

Quest
25.04.2014, 01:34
Существует ли возможность не модифицировать сам Поиск, а расширить память путем модификации модуля расширителя памяти, например В108 или В109 ? А то получается, что в Поиске 512 + ставим расширитель на 512, а на выходе получаем 608 :( А так хочется добиться хотя бы 640...

DrPass
25.04.2014, 03:10
Это лечится модификацией РТ4 в расширителе. Так можно расширить память Поиска до 736К.

Mifody
25.04.2014, 08:39
Это лечится модификацией РТ4 в расширителе. Так можно расширить память Поиска до 736К.
А где найти модифицированные прошивки для модулей В108 и В109?

Quest
25.04.2014, 13:22
А где найти модифицированные прошивки для модулей В108 и В109?

Тоже интересует этот вопрос.

DATAsoft
25.04.2014, 14:20
А где найти модифицированные прошивки для модулей В108 и В109?

Наверное придётся делать самим. Может как-то поможет это (http://zx-pk.ru/showpost.php?p=687516&postcount=29)?

pilgrim
25.04.2014, 23:25
Прошивку для B108 - не проблема, надо определиться только с картой памяти, и таким образом получить к 736кБ ещё ОЗУ в области UMB. Cудя по имеющимся на форуме прошивкам, имеется 2 модификации этого блока, в которых по разному сделана выборка из РТ.

pilgrim
27.04.2014, 16:04
Прошивки для B108 для поиска 512кБ согласно данной карте памятиhttp://zx.pk.ru/attachment.php?attachmentid=47332&d=1396868063:
1. Для стандартного варианта как у Quest'а
2. Для самодельного варианта как у Tronix'a

Quest
28.04.2014, 00:54
Спасибо большое за прошивку для В108. Можно-ли так же модифицировать прошивку для В109 ?

pilgrim
28.04.2014, 07:20
Спасибо большое за прошивку для В108. Можно-ли так же модифицировать прошивку для В109 ?
А данная прошивка она была рабочей? А то как-то странно она выглядит.

Quest
28.04.2014, 10:55
Да, работает. А что в ней странного ?
Есть еще вторая прошивка от аналогичного адаптера В109, которую опубликовал Starik.

pilgrim
28.04.2014, 11:31
Да, работает. А что в ней странного ?
Есть еще вторая прошивка от аналогичного адаптера В109, которую опубликовал Starik.
В первой прошивке странно то, что по адресам 0xX6 и 0хХЕ(где Х - 0-F) записаны значения 0xFF. Во второй прошивке этого нет, там всё нормально. Т.е. прошивки, видимо были одинаковы, но первая битая, либо в следствии неисправности ИМС, либо сбоя считывающего устройство.
Если есть возможность, не могли бы вы посмотреть какие сигналы, или с каких выводов и элементов приходят сигналы на РТ4 на выводы: 1,2,3,4,5,6,7 и 15.

Quest
28.04.2014, 11:49
Я схемку отрисовывать пытался по своему В109, она находится здесь: http://zx-pk.ru/attachment.php?attachmentid=47342&d=1396909243

pilgrim
28.04.2014, 14:50
В архиве файл с картой памяти и прошивка под В109 соответствующая данной карте памяти. Карта памяти немного изменилась, т.к. адресация возможна только блоками по 32кБ, а не 16кБ и 8кБ как в В108 стандартном и В108 "самодельном" соответственно.

Quest
30.04.2014, 00:56
pilgrim, спасибо огромное !!!
В109 - заработал отлично, теперь показывает 736 и тест в Checkit проходит.
В108, который был с оригинальной прошивкой РТ4, тоже отлично заработал и показывает 736 и тест в Checkit проходит.

А вот второй В108, внешне абсолютно идентичный первому, у которого была не родная прошивка(здесь опубликована http://zx-pk.ru/showthread.php?t=23183), показывает 736, все хорошо, но тест памяти в Checkit не проходит, пишет ошибку при тесте базовой памяти. С оригинальной или своей модифицированной ошибок нет, только с 736й прошивкой ошибка. :( В чем может быть причина ?

---------- Post added at 23:56 ---------- Previous post was at 23:44 ----------

Нашел бумажную наклейку, которая была наклеена на РТ4 с не оригинальной прошивкой, на ней написано М5-7 CGA108.

pilgrim
30.04.2014, 07:44
pilgrim, спасибо огромное !!!
В109 - заработал отлично, теперь показывает 736 и тест в Checkit проходит.
В108, который был с оригинальной прошивкой РТ4, тоже отлично заработал и показывает 736 и тест в Checkit проходит.

А вот второй В108, внешне абсолютно идентичный первому, у которого была не родная прошивка(здесь опубликована http://zx-pk.ru/showthread.php?t=23183), показывает 736, все хорошо, но тест памяти в Checkit не проходит, пишет ошибку при тесте базовой памяти. С оригинальной или своей модифицированной ошибок нет, только с 736й прошивкой ошибка. :( В чем может быть причина ?

---------- Post added at 23:56 ---------- Previous post was at 23:44 ----------

Нашел бумажную наклейку, которая была наклеена на РТ4 с не оригинальной прошивкой, на ней написано М5-7 CGA108.

Если всё происходит на Поиске с 512кБ, то похоже, что что-то с самой памятью В108, т.к. имеющаяся разница в прошивках никак не влияет на работу блока. А безошибочная работа на стрых прошивках связана, видимо с тем, что ранее происходло наложение памяти выше 96кБ вплоть до 512кБ, и видимо по этой причине ошибки не выявлялись за счёт рабочей памяти ПЭВМ. Интересно по каким адресам происходит сбой базовой памяти, скорее всего выше 512кБ, а затем понять в каких битах.

Quest
30.04.2014, 10:42
Да, Поиск 512й. Попробую запустить полный тест, посмотрю по каким адресам сбой...

А как происходит увеличение памяти модулем расширения ? Используется вся память встроенная в ПК и добавляется из модуля расширения или часть память ПК и часть из модуля ?

pilgrim
30.04.2014, 11:24
Да, Поиск 512й. Попробую запустить полный тест, посмотрю по каким адресам сбой...

А как происходит увеличение памяти модулем расширения ? Используется вся память встроенная в ПК и добавляется из модуля расширения или часть память ПК и часть из модуля ?

Если брать сам "Поиск", то в нём при обращении к какой-либо области памяти РТ4(D6) выдаёт сигнал разрешения на запись или чтение к ОЗУ самого "Поиска", при этом само обращение к области памяти происходит как по внутренней шине, так и по внешней (разъёмы расширения). Если данная область в D6 не активированна, то соответственно и записи/чтения в ОЗУ ПЭВМ не будет, но при этом на внешние разъёмы обращение в любом случае происходит. Минимальный размер области памяти, который можно включить или отключить с помощью D6 - 16кБ. В блоках расширения всё происходит точно также, но теперь разрешённая область памяти определяется РТ4 самого блока. Таким образом, чтобы всё работало, без сбоев необходимо чтобы РТ4 блока и РТ4 ПЭВМ имели не пересекающиеся разрешённые области памяти. Если пересечение будет, то и в ОЗУ ПЭВМ и в ОЗУ блока будет писаться одно и тоже, и считываться тоже одно и тоже, таким образом, с высокой долей вероятности они друг другу мешать не будут (хотя возможны и сбои), но вот размер памяти пересекающиеся области не добавят.

Tronix
30.04.2014, 11:55
А у меня так же не заработал с модифицированной прошивкой b108PT4SM1024v1.rt4. Симптомы такие-же, как когда и я пытался ковыряться с тестовой прошивкой - при включении каждый раз показывает разный объем памяти: 512Kb, 480Kb (при этом работает нормально), 528K, 560K (на этом виснет), 496K, 544K и тд. Пытается грузиться с дискеты, но после загрузки IO.SYS начинает водить головой туда-сюда, как будто читает плохие сектора. Загрузиться не может.

При этом со старой прошивкой отлично живет на Поиске-128, все тесты памяти какие есть проходит. Странно...

UPD: Ща осмотрел плату, смутила меня микросхема, та что в кадре... Остальные все 555, 1533 серий... Попробовать заменить на 74LS32, что ли.... Если верить схеме, которые я выкладывал, она как раз там завязана на MEMW, MEMR. Вполне может не успевать, имхо....

Quest
30.04.2014, 12:17
Если брать сам "Поиск", то в нём при обращении к какой-либо области памяти РТ4(D6) выдаёт сигнал разрешения на запись или чтение к ОЗУ самого "Поиска", при этом само обращение к области памяти происходит как по внутренней шине, так и по внешней (разъёмы расширения). Если данная область в D6 не активированна, то соответственно и записи/чтения в ОЗУ ПЭВМ не будет, но при этом на внешние разъёмы обращение в любом случае происходит. Минимальный размер области памяти, который можно включить или отключить с помощью D6 - 16кБ. В блоках расширения всё происходит точно также, но теперь разрешённая область памяти определяется РТ4 самого блока. Таким образом, чтобы всё работало, без сбоев необходимо чтобы РТ4 блока и РТ4 ПЭВМ имели не пересекающиеся разрешённые области памяти. Если пересечение будет, то и в ОЗУ ПЭВМ и в ОЗУ блока будет писаться одно и тоже, и считываться тоже одно и тоже, таким образом, с высокой долей вероятности они друг другу мешать не будут (хотя возможны и сбои), но вот размер памяти пересекающиеся области не добавят.

Ок. Я так понял, что с модулем расширения, что без, изначально используется память ПК, т.е. 512, а дальше используется память 512 самого модуля расширения. Так ? Т.е. получается что 512ПК + 256Модуля, а раньше(с родной прошивкой) было 512ПК + 128Модуля. Таким образом, поскольку раньше использовалась меньше памяти из модуля, то ошибки памяти не возникало, а теперь задействована дополнительная область памяти модуля и в ней есть сбой. Правильно ?

---------- Post added at 11:17 ---------- Previous post was at 11:14 ----------

Tronix, в Вашем случае может имеет место как раз пересечения адресов памяти и возникает какой-то конфликт?

pilgrim
30.04.2014, 12:44
Ок. Я так понял, что с модулем расширения, что без, изначально используется память ПК, т.е. 512, а дальше используется память 512 самого модуля расширения. Так ? Т.е. получается что 512ПК + 256Модуля, а раньше(с родной прошивкой) было 512ПК + 128Модуля. Таким образом, поскольку раньше использовалась меньше памяти из модуля, то ошибки памяти не возникало, а теперь задействована дополнительная область памяти модуля и в ней есть сбой. Правильно ?
Примерно так.


А у меня так же не заработал с модифицированной прошивкой b108PT4SM1024v1.rt4. Симптомы такие-же, как когда и я пытался ковыряться с тестовой прошивкой - при включении каждый раз показывает разный объем памяти: 512Kb, 480Kb (при этом работает нормально), 528K, 560K (на этом виснет), 496K, 544K и тд. Пытается грузиться с дискеты, но после загрузки IO.SYS начинает водить головой туда-сюда, как будто читает плохие сектора. Загрузиться не может.

При этом со старой прошивкой отлично живет на Поиске-128, все тесты памяти какие есть проходит. Странно...

UPD: Ща осмотрел плату, смутила меня микросхема, та что в кадре... Остальные все 555, 1533 серий... Попробовать заменить на 74LS32, что ли.... Если верить схеме, которые я выкладывал, она как раз там завязана на MEMW, MEMR. Вполне может не успевать, имхо....
Странно, посмотрел прошивку, должна работать. Наложения где и могут быть, то только в области верхних адресов, например с ПЗУ какого-нибудь контроллера, хотя это мало вероятно.
Если с другой прошивкой работает, то мало вероятно, что это из-за 133лл1, но всё может быть.
Проверить бы качество приходящих сигналов на РТ4, особенно А19, А18.

Tronix
30.04.2014, 14:44
Заменил 133ЛЛ1 на КР1533KЛЛ1 - вообще не стартует Поиск.

---------- Post added at 14:44 ---------- Previous post was at 13:34 ----------

Какой то прикол вообщем с этим модулем.. Заменил КР1533ЛЛ1 на 74LS32 - не стартует, заменил на 74HC32 - стартует. С Поиском-128 показывает как и раньше 608K, все работает (с оригинальной прошивкой). С Поиском-512 показывает 480K, все работает, это с "новой прошивкой". То есть теперь не показывает каждый раз по разному количество памяти, а всегда 480K, при этом работает. Ничего не понимаю -)

pilgrim
30.04.2014, 14:54
Заменил 133ЛЛ1 на КР1533KЛЛ1 - вообще не стартует Поиск.

---------- Post added at 14:44 ---------- Previous post was at 13:34 ----------

Какой то прикол вообщем с этим модулем.. Заменил КР1533ЛЛ1 на 74LS32 - не стартует, заменил на 74HC32 - стартует. С Поиском-128 показывает как и раньше 608K, все работает (с оригинальной прошивкой). С Поиском-512 показывает 480K, все работает, это с "новой прошивкой". То есть теперь не показывает каждый раз по разному количество памяти, а всегда 480K, при этом работает. Ничего не понимаю -)

Хорошо бы посмотреть откуда приходят сигналы на РТ4 (особенно адресные), а также их внешний вид.

Tronix
30.04.2014, 15:52
Хорошо бы посмотреть откуда приходят сигналы на РТ4 (особенно адресные), а также их внешний вид.

Прозвонил, соответствует схеме MEMCENTR.BMP из этого архива: http://zx.pk.ru/showpost.php?p=696432&postcount=52

Вообще, схема ужасно похожа на мой адаптер. Один в один можно сказать...

---------- Post added at 15:52 ---------- Previous post was at 15:10 ----------

Видимо когда паял, отвалилось питание +5 от части микросхем (в том числе и РТ4). Вся плата держится на честном слове. Кинул туда провод. В итоге - работает точно так же как и раньше, при старте показывает разное кол-во памяти, если оно не равно 480K - начинает загрузку, и либо виснет, либо трясучка головой дисковода.... Это с 74HC32. С 74LS32 - не стартует вообще.

Tronix
30.04.2014, 17:56
Не знаю, видимо дело в самой схеме. Я лично не асиливаю этот клубок из ТМ2 / ТМ8. Может потом когда-нибудь. А пока получается, что он только для Поиск-128. Ну и ладно, там он нужнее тем более.

pilgrim
30.04.2014, 18:41
Не знаю, видимо дело в самой схеме. Я лично не асиливаю этот клубок из ТМ2 / ТМ8. Может потом когда-нибудь. А пока получается, что он только для Поиск-128. Ну и ладно, там он нужнее тем более.
Посмотрел схему. Совершенно не понятно почему так работает, т.к. прошивка похоже правильная, от адресации не сильно зависит правильность записи в ту или иную область. Надо смотреть осциллографом или анализатором, что там происходит в верхних адресах.
По симптомам очень похоже на наползание одной памяти на другую.