Часовой форум Watch.ru (http://forum.watch.ru/index.php)
-   Электроника (http://forum.watch.ru/forumdisplay.php?f=28)
-   -   Уголок яйцеловов. Обсуждаем, чиним, хвастаемся находками (http://forum.watch.ru/showthread.php?t=154411)

rumod 05.05.2025 07:32

Цитата:

Сообщение от Igor427 (Сообщение 7226614)
Обсуждение велось на этом форуме, однако, на мой взгляд, ко многим сообщениям (особенно касающимся планов модификации МК-85) стоит относиться с определённой осторожностью:

http://www.leningrad.su/calc/cforum....1&topicid=1215

Да. Раньше было интересно читать разные бредни про то, в чем сам принимал участие, я даже иногда ввязывался в споры. Но потом совсем надоело. Если спрашивают - отвечаю, если помню. Не спрашивают - и не надо.

Цитата:

Сообщение от Igor427 (Сообщение 7226614)
Использование двух ЖКИ-контроллеров КА1013ВГ2 (МК-85/87)

Посмотрел я тут структурную схему и засомневался. Сомнение не критичное, но заодно расскажу эксклюзив, про который нигде не написано.:)
Изначально контроллер ЖКИ имел встроенный делитель напряжения (подразумевалось, что ему не будут нужны внешние резисторы), и встроенный выключатель питания. Делитель был нарисован как длинный резистор с отводами, а выключатель представлял собой транзистор чудовищного размера в углу кристалла (видимый невооруженным глазом) через который на кристалл проходило питание от внешнего вывода. Однако на первой же опытной пластине выяснилось, что из-за отсутствия защитных карманов имеются нелинейные утечки тока в подложку по всей длине резистора. За неимением времени на коррекцию в нижних слоях - мы этот резистор просто отрезали, благо что внешние выводы для делителя все равно существовали (для подключения демпферных емкостей). Чуть позже выяснилось еще одно обстоятельство - при выключении питания путем закрытия чудовищного транзистора, кристалл запитывается через защитные диоды на управляющих входах (ну то есть - например если процессор оставил высокий уровень на входе SYNC, его хватало, чтобы контроллер запитался и включился). И более того - если в такой ситуации включить питание контроллера, его намертво клинило, вплоть до выхода из строя (т.н. "тиристорный эффект"). Поэтому этот транзистор тоже отрезали и провели питание вокруг него. И делитель, и транзистор еще очень долго оставались на серийных кристаллах. Потом вроде бы мы их убрали, когда время уже позволило провести коррекцию. Так вот к чему я это все - этот транзистор открывался и закрывался сигналом на внешнем выводе CE. Этот вывод сделался незадействованым. И вот настигло меня сомнение - не путаю ли я функции выводов "T" и "CE". Это довольно легко выяснить опытным путем, так что ничего критичного тут нет, просто надо взять на заметку.


Цитата:

Сообщение от Igor427 (Сообщение 7226614)
Да, думаю что мог бы сделать "лучше" - хотя, конечно, есть такие факторы как ТЗ и возможные ограничение на использование только 8К в ПЗУ (хотя вроде микросхема стояла 16К), которые я не могу оценить.

Тут надо определиться с тем, что такое сделать "лучше":
- Удобство использования - однозначно (разве что было жесткие ограничения ТЗ).
- Расширение/дополнения языка BASIC - от введения целых/одинарной/двойной точносит (скорость) до другого определения массивов, команд работы с портами, возможность ассемблерных вставок (опять-таки тут возможны проблемы с ТЗ)
- Изменение работы с переменными (предварительная упаковку, одинарная/двойная точность, денормализация). Тут, возможно, были бы проблемы с размером кода в 8К ПЗУ, но частично можно было бы реализовать.

У меня (был) неплохой опыт разработки ПРО под эту платформу (Э-60/ ДВК/НЦ-80) - не только "офисных" приложений (за моим авторством EDIK, CALC, EM.SYS), но и оптимизации вычислений для систем управления реального времени.

К сожалению, без сравнительных тестов производительности трудно говорить о чем-то конкретном в смысле скорости.

Это все, конечно, хорошо бы, но имеет смысл только если есть способ хранения программ на внешнем носителе, согласитесь. У нас разрабатывалась, как сейчас сказали бы, "док-станция" для МК-85, с блоком питания, кассетным накопителем и даже цветным принтером (на самом деле это был крошечный четырехцветный плоттер). Модернизация самого МК-85 для совместимости тоже подразумевалась. Но до завершения дело не дошло по причине развала страны.

Igor427 05.05.2025 17:11

Цитата:

Сообщение от rumod (Сообщение 7226704)
Если спрашивают - отвечаю, если помню.

Очень здорово, что отвечаете, и что помните!

Цитата:

Сообщение от rumod (Сообщение 7226704)
И вот настигло меня сомнение - не путаю ли я функции выводов "T" и "CE". Это довольно легко выяснить опытным путем, так что ничего критичного тут нет, просто надо взять на заметку.

Спасибо за подробности! Вот документация (https://www.dropbox.com/scl/fi/8b7ji...dylld3ppelkset) , но понятно, что там нумерация может не соответствовать действительности - тем более, что в МК-85 оба вывода сидят на общем. Давайте я добавлю, что в "Описании возможно перепутаны выводы Т и CE".


Цитата:

Сообщение от rumod (Сообщение 7226704)
Это все, конечно, хорошо бы, но имеет смысл только если есть способ хранения программ на внешнем носителе, согласитесь.

Тут я (частично используя послезнание) не совсем соглашусь. На мой взгляд, Basic архитектурно надо было в любом случае делать по другому (но опять таки - могли быть требования ТЗ, например по точности). Что касается возможности работы с портами, вставок на ассемблере, автозапуск программы пользователя и многого другого - то это, конечно, не имеет смысла без поддержки внешнего носителя. Но это ведь не только про развитие линейки, но и про возможность использования МК-85 в качестве откытой платформы для создания встроенных устройств.

Но понятно, что все эти разговоры - старческое брюзжание в пользу бедных.


Цитата:

Сообщение от rumod (Сообщение 7226704)
Но до завершения дело не дошло по причине развала страны.

К сожалению, я неплохо предствляю, что тогда проиходило. Нашу лабораторию, занимавшуюся разработкой спецсистем ПРО, «продали на Запад» ещё в конце 1989 года, и мы начали ездить в Германию вахтовым методом. Естественно, все профильные разработки при этом практически полностью остановились.

Где-то до середины 1991 года с нами ещё ездил представитель первого отдела и переводчица-стенографистка из министерства т.к. у всех «проданных», разумеется, были допуска. Но позже всем уже стало совершенно всё равно - вот тогда-то и до меня дошло, что СССР больше нет :-)

rumod 06.05.2025 13:01

Цитата:

Сообщение от Igor427 (Сообщение 7227026)
Спасибо за подробности! Вот документация (https://www.dropbox.com/scl/fi/8b7ji...dylld3ppelkset) , но понятно, что там нумерация может не соответствовать действительности - тем более, что в МК-85 оба вывода сидят на общем. Давайте я добавлю, что в "Описании возможно перепутаны выводы Т и CE".

Да, наверное так будет корректнее.

Цитата:

Сообщение от Igor427 (Сообщение 7227026)
Тут я (частично используя послезнание) не совсем соглашусь. На мой взгляд, Basic архитектурно надо было в любом случае делать по другому (но опять таки - могли быть требования ТЗ, например по точности). Что касается возможности работы с портами, вставок на ассемблере, автозапуск программы пользователя и многого другого - то это, конечно, не имеет смысла без поддержки внешнего носителя. Но это ведь не только про развитие линейки, но и про возможность использования МК-85 в качестве откытой платформы для создания встроенных устройств.

Ну тут смотря с какой точки зрения рассуждать и кого считать потребителем. Насколько я помню МК-85 использовался для расчетов в артиллерии и в штурманских расчетах в ДА ВВС. И все они в один голос говорили, что это гораздо удобнее, чем возиться с логарифмической линейкой или даже с обычным калькулятором:)

Igor427 06.05.2025 17:53

Цитата:

Сообщение от rumod (Сообщение 7226704)
Если спрашивают - отвечаю, если помню.

Борис, ещё раз большое спасибо за то, что отвечаете и за то, что помните — было очень приятно виртуально с Вами пересечься!

И, конечно, МК-85/87 были безусловно прорывными "машинками" для своего времени, супер технологии с огромным потенциалом для развития платформы.

Очень жаль, что тогда, в конце 80-х, нам не удалось пообщаться за «рюмочкой чая». Хотя в те годы я занимался в основном ПРО и к "железу" относился скорее потребительски, зато сегодня все эти обсуждения вызывают ностальгию — и по тому времени, и по молодости. :)

neosphere 14.05.2025 10:40

Друзья, я тут загорелся идеей заказать новодельные ЖКИ для ИМ-50, Весёлая арифметика. Подскажите, пожалуйста,
1. остались ли у кого контакты тех, с кем можно про это поговорить? Техночас? Китайцы?
2. нету ли у кого топологии данного ЖКИ?

Заранее спасибо ;)

Igor427 23.05.2025 10:57

Цитата:

Сообщение от neosphere (Сообщение 7231910)
Друзья, я тут загорелся идеей заказать новодельные ЖКИ для ИМ-50, Весёлая арифметика.

Отписал Вам в личку

Harmah 11.06.2025 17:10

Интересная статья по получению прошивки, интересна тем, что там упоминается инструмент для извлечению битов по фотографиям кристалла масочной ПЗУ. Ещё статья по теме.

IgorR76 16.06.2025 15:52

Юбилей эмуляции!
 
Друзья! Сегодня ровно десять лет, как из чипа была считана прошивка игры "Ну, погоди!" Это важное событие положило начало возможности эмуляции игр Нинтендо и Электроника. Своеобразный юбилей! За эти десять лет десятки тысяч людей по всему миру смогли снова поиграть в ту самую игру детства. Спасибо всем, кто помогал и участвовал в обсуждении этой (безумной тогда) идеи!

Igor427 25.06.2025 16:48

Цитата:

Сообщение от IgorR76 (Сообщение 7251248)
Друзья! Сегодня ровно десять лет, как из чипа была считана прошивка игры "Ну, погоди!"

Игорь, огромное спасибо за проделанную работу!
Десять лет назад сама идея считать ПЗУ "Ну, погоди!" напрямую с чипа, а не по фотографии кристалла, казалась невозможной!

Не думали ли Вы закончить цикл статей о процессоре КБ1013ВК1-2 и о том, как считывается ПЗУ?

Думаю, что общая схама процесса чтения мне понятна (вот попытался написать на псевдокоде), но дьявол, как обычно, кроется в деталях. Было бы здорово, если бы Вы описали аппаратную схему и дали больше конкретики по таймингам и проблемам.

Код:

for each Bank in (0..1)
  for each Page in (0..15)
    set Test0 = high      // CPU executes instruction at K1-K8
    write  CMS (6Dh)    // Bank = !Bank, reading Bank #1 first
    write  LP Page (70h + Page)
    write  BR #0 (80h)
    set Test0 = low
    set Test1 = high      // CPU executes NOP's in the current page
    read 63 bytes          // Content of (PC)->K1-K8, 
                                  // 6-bit LFSR PC-counter in 63-cycle
    set Test1 = low
  end for
end for


IgorR76 26.06.2025 05:18

Igor427
Описание 1013 было предназначено для создания эмуляторов чипа. Устройство чтения прошивок из Sharp SM5A было повторено по моим наработкам разработчиками MAME, после этого были считаны все программы из всех моделей игр Game&Watch. Таким образом, сам процесс считывания/управления реальным процессором более неактуален.
Если коротко пройтись по нюансам считывания, то:
1) Подаваемые извне коды команд должны быть инвертированы (относительно того, что читается из чипа)
2) Момент смены внешних команд относительно клока должен в точности совпадать с моментом переключения шины при чтении пзу, иначе команды не принимаются, либо проц виснет.
Больше никаких подводных камней не припомню.


Часовой пояс UTC +3, время: 00:08.

© 1998–2024 Watch.ru