Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Калькуляторы, арифмометры, PDA, HPC » Прошивка микрокода Д3-28 |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 7 мая 2018 2:13 Сообщение отредактировано: 7 мая 2018 2:14
Если кто-то захочет повторить опыт, то пишите сюда — я дам комментарии по запросу. Схему я собрал предельно примитивную: - шлейфы для подключения к модулю --- вот это было, пожалуй, самым трудоёмким моментом - микроконтроллер ATmega32, четыре керамических кондюшка и один электролит в цепи питания... кварц тут не понадобился... ну, ещё я добавил светодиод, чтобы по его "условному подмигиванию" как-то видеть, что там контроллер сейчас делает - плата для быстрого прототипирования и пучок проводков к ней - блок питания... Нюанс! Модуль микросхемного ПЗУ хавает аккурат 1 ампер постоянного тока при напряжении питания 5 вольт - ну и самый задрипищенский программатор AVR ISP MKII (даже не JTAG) Вот фоточки: Внимательные инженеры, наверное, обратили внимание, что в перечне совершенно отсутствуют детали для организации канала передачи прошивки из микроконтроллера в компутер... ... да, такого канала там суть и не было. Мне было нереально в лом заморачиваться с чем-то типа COM-порта (RS-232). Поэтому я реализовал сохранение считанной прошивки в Flash память ATmega, а потом просто вычитывал всю его память через программатор. Контроллер ATmega32 имеет четыре 8-битных порта. Два из них я использовал для линий адреса и управления - ПY, ПX, СТРОБ, tПЗУ, свето-диод. Другие два - для чтения части линий шины данных "E..". // понятно, что мне пришлось дампить прошивку в три итерации, т.к. 48/16 = 3. |
Sergei Frolov
Advanced Member
Коллекционер Откуда: Питер Всего сообщений: 2719 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июля 2003 |
Вот спасибо! |
Kinder5912 |
Могу в дополнение выложить перерисованную схему микросхемного модуля ПЗУ (чтобы не ломать глаза на оригинальной схеме). http://www.portal.kinderland.r...T1JUQUw%3D. |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 8 мая 2018 4:26 Сообщение отредактировано: 8 мая 2018 5:03
Похоже, удалось проссечь, для чего таки нужны четыре дополнительных битика E45..E48 в микросхемном ПЗУ. В общем, если из разрядов E45..E48 составить 4-битное двоичное число (разряд E48 - самый младший), то... ... дополнение этого числа до 16 и число единиц в разрядах E1...E44 должны быть равны по модулю 16. То есть, эти четыре бита - это просто контрольные биты. Например, строка: PY..... PX.... E...................................................E 64....1 32...1 48....41 40....33 32....25 24....17 16.....9 8......1 0000000 101010 : 10110000 10011000 00000000 00001011 11111100 11111011 разряды E44..E1: 0000 10011000 00000000 00001011 11111100 11111011 число "единиц" равно 19 по модулу 16 получим 3 в разрядах E48..E45: 1011 составим число >E45.E48> — получим 0b1101 = десятичное 13 дополнение до 16 будет равно 3 Вот. Это выполняется по всему файлу. // скриптик для python 2.7: f = open("rom.txt", "r") |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Друзья, всем привет! Перезалил прошивку — так что, кто уже успел качнуть файл, обновитесь! Что поменялось — только форматирование: 1) упорядочил столбцы E1 .. E48 в порядке от 1 до 48 изначально я их выстроил в обратном порядке - от 48 до 1 почему их так необходимо перевернуть? ну, выяснилось, что на самом деле "старший" бит имеет меньший номер линии, чем "младший" например, в блоке ветвлений микрокода адрес следующей инструкции принимается по такой схеме: E29 => ПY16 E30 => ПY8 E31 => ПY4 E32 => ПY2 E33 => ПY1 E34 => ПX32 E35 => ПX16 E36 => ПX8 E37 => ПX4 например, микрокоманда 8W0..7 выбирается по коду с весами: E18 => 4 E19 => 2 E20 => 1 ну и ещё там полно таких же примеров Короче, бит E1 - самый старший — поэтому удобней будет, если его показывать первым слева. 2) отделил биты E45..48, т.к. они лишь кодируют проверочный код и не являются частью микрокоманды 3) отделил бит адреса ПY64, т.к. он выбирает один из двух (идентичных) банков ПЗУ больше ничего не менял |
shattered
Advanced Member
Всего сообщений: 953 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 17 фев. 2008 |
Круто Формат микрокода похож на Wang? |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
да кто же его знает! вот здесь — единственная, известная мне, фотография блока ПЗУ от Wang 720: http://www.oldcalculatormuseum.com/wang720.html // ищите "Compare to the ROM in the Wang 720C (right)" рискну предположить, что у wang 720, по крайней мере, такая же ширина слова микрокода — 44 бита кстати, по фото видно, что у wang 720 поляна диодиков в два раза больше, чем у Д3-28 надо думать это потому, что наши инженеры догадались поставить 22 трансформаторных блока вместо 11, как было в оригинале, и тем самым сократить число прооводочков и число диодиков с 4096 до 2048 // а инхние инженеры — не догадались!! |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Сегодня с коллегой по интересам Kinder5912 сличали прошивки микрокода Д3-28 - с моей стороны был опубликованный здесь файлик - со стороны Kinder5912 были помикросхемные дампы — снятые отдельно с каждой К596РЕ1 0082..0087 О результатах, думаю, Kinder5912 сам в скором времени подготовит детальный отчёт — ждите! Но, в процессе сличения была обнаружена ошибка в схеме принципиальной блока "микросхемного" ПЗУ ПЕЛ3.065.001. Ошибка именно в схеме (т.е. в документе). Сама суть плата, конечно же, сделана правильно. Ошибка выявлена путём сравнительного сравнения одного с другим, другого с третьим и т.д. Исправленный участок схемы: Если вдруг картиночка не грузится, то словами: - ошибочно указано: выводы D20:10 и D20:11 обозначены как цепи ~E42 и ~E43 и показаны подключенными к контактам X2:Б3 и X1:А3 соответственно - должно быть: выводы D20:10 и D20:11 обозначены как цепи ~E43 и ~E42 и показаны подключенными к контактам X1:А3 и X1:Б3 соответственно То есть там сразу две ошибки: - указан номер разъёма X2 (неправильно) вместо X1 (правильно) - взаимно перепутаны цепи ~E42 и ~43, а также контакты А3 и Б3 разъёма X1 Большое спасибо Kinder5912 за предоставленные для сличения помикросхемные файлы-дампы. Без них ошибка в схеме осталась бы невыявленной. P.S. Да, если, что то файл с прошивкой, опубликованный здесь выше, — он правильный. То есть ошибка в принципиальной схеме, вскрывшаяся сегодня, на этот файл влияния не оказывала. |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Полигон-2 » Калькуляторы, арифмометры, PDA, HPC » Прошивка микрокода Д3-28 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |