Электроника МК-90 и МК-92 (всяко разно о них)
-
Bs0Dd
- Newbie
- Сообщения: 9
- Зарегистрирован: 23.02.2025,02:18
- Откуда: Польша
- Поблагодарили: 7 раз
- Контактная информация:
Электроника МК-90 и МК-92 (всяко разно о них)
На мою просьбу с СМП откликнулись добрые люди и предоставили пару модулей.
Первое с чем я, конечно, столкнулся - отсутствие возможности что-либо загрузить в оригинальные МПО-10, кроме файлов БЕЙСИКа.
Программатор собирать не хотелось, поэтому пришла мысль иного характера:
поскольку у меня уже есть пара модулей PIMP, можно на них выбирать нужный файл (на то и есть режим мультикартриджа),
а затем переписывать содержимое "примонтированного" образа на вставленный в соседний слот МПО-10.
Идею довольно быстро удалось воплотить в реальность: получилась программа "Gen-проггер".
Достаточно просто иметь модуль-эмулятор STMP или PIMP, загрузить в него желаемые образы,
вставить модуль-эмулятор и МПО-10 (номера слотов значения не имеют), запустить проггер и указать файл для "заливки" в МПО,
после чего программа оперативно скопирует первые 10КБ образа в модуль и отключится (на модуле-эмуляторе монтируется файл AUTORUN.BIN).
Теперь собирать программатор для обычного ПК не обязательно (а PIMP и STMP значительно проще в сборке и функциональнее, поскольку, собственно, эмулируют сам СМП).
Программа должна запускаться на машинах с BASIC 1.0 и 2.0 (последнее, естественно, аппаратно не проверено, просьба добровольцам глянуть и откликнуться).
Видеодемонстрация: https://youtu.be/iDYlAOFz4h0
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tree/master/GEN-MPO
P.S.: Загрузчик для образов СМП тоже получил обновление (некоторые улучшения, фиксы багов + та же поддержка BASIC 2.0), изменения скоро появятся в официальной ветке.
Первое с чем я, конечно, столкнулся - отсутствие возможности что-либо загрузить в оригинальные МПО-10, кроме файлов БЕЙСИКа.
Программатор собирать не хотелось, поэтому пришла мысль иного характера:
поскольку у меня уже есть пара модулей PIMP, можно на них выбирать нужный файл (на то и есть режим мультикартриджа),
а затем переписывать содержимое "примонтированного" образа на вставленный в соседний слот МПО-10.
Идею довольно быстро удалось воплотить в реальность: получилась программа "Gen-проггер".
Достаточно просто иметь модуль-эмулятор STMP или PIMP, загрузить в него желаемые образы,
вставить модуль-эмулятор и МПО-10 (номера слотов значения не имеют), запустить проггер и указать файл для "заливки" в МПО,
после чего программа оперативно скопирует первые 10КБ образа в модуль и отключится (на модуле-эмуляторе монтируется файл AUTORUN.BIN).
Теперь собирать программатор для обычного ПК не обязательно (а PIMP и STMP значительно проще в сборке и функциональнее, поскольку, собственно, эмулируют сам СМП).
Программа должна запускаться на машинах с BASIC 1.0 и 2.0 (последнее, естественно, аппаратно не проверено, просьба добровольцам глянуть и откликнуться).
Видеодемонстрация: https://youtu.be/iDYlAOFz4h0
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tree/master/GEN-MPO
P.S.: Загрузчик для образов СМП тоже получил обновление (некоторые улучшения, фиксы багов + та же поддержка BASIC 2.0), изменения скоро появятся в официальной ветке.
-
SuperMax
- Advanced Member
- Сообщения: 2576
- Зарегистрирован: 27.08.2012,11:38
- Откуда: Красноярск
- Благодарил (а): 7 раз
- Поблагодарили: 23 раза
- Контактная информация:
-
Конкурсы
Вклад в сообщество
Электроника МК-90 и МК-92 (всяко разно о них)
на всякий случай напомню где я собираю все по МК90
https://mirrors.pdp-11.ru/_mk90/
если есть что-то еще - заливайте на FTP - ссылка внизу страницы
https://mirrors.pdp-11.ru/_mk90/
если есть что-то еще - заливайте на FTP - ссылка внизу страницы
-
Bs0Dd
- Newbie
- Сообщения: 9
- Зарегистрирован: 23.02.2025,02:18
- Откуда: Польша
- Поблагодарили: 7 раз
- Контактная информация:
Электроника МК-90 и МК-92 (всяко разно о них)
Адаптировал тесты из системы BASIC 2.0 для исполнения на аппаратах с BASIC 1.0, коих, как известно, подавляющее большинство.
Самое важное - тест СМП. У 1.0 он естественно нерабочий, так что это единственный способ проверять МПО-10 на машинках с 1.0.
Тестируемый СМП вставляется в другой слот (порядок не важен).
Ну и тест клавиатуры, он более подробный, чем в 1.0.
Тест дисплея отличается только наличием зацикленного режима, поэтому его адаптировать не стал.
Видеодемонстрация: https://youtu.be/3Rf55HnD7rk
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tree/master/TESTS20
-------------
Да, можете обновить перепечатку руководства, давно уже версия 1.1 есть.
Самое важное - тест СМП. У 1.0 он естественно нерабочий, так что это единственный способ проверять МПО-10 на машинках с 1.0.
Тестируемый СМП вставляется в другой слот (порядок не важен).
Ну и тест клавиатуры, он более подробный, чем в 1.0.
Тест дисплея отличается только наличием зацикленного режима, поэтому его адаптировать не стал.
Видеодемонстрация: https://youtu.be/3Rf55HnD7rk
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tree/master/TESTS20
-------------
Есть вроде кое-что, чего не увидел на FTP. Позже посмотрю, соберу в кучку и выгружу наверное.
Да, можете обновить перепечатку руководства, давно уже версия 1.1 есть.
-
SuperMax
- Advanced Member
- Сообщения: 2576
- Зарегистрирован: 27.08.2012,11:38
- Откуда: Красноярск
- Благодарил (а): 7 раз
- Поблагодарили: 23 раза
- Контактная информация:
-
Конкурсы
Вклад в сообщество
-
Bs0Dd
- Newbie
- Сообщения: 9
- Зарегистрирован: 23.02.2025,02:18
- Откуда: Польша
- Поблагодарили: 7 раз
- Контактная информация:
Электроника МК-90 и МК-92 (всяко разно о них)
Придумал решение для довольно назойливой проблемы с МПО-эмуляторами STMP/PIMP.
Дело в том, что после выбора образа для эмуляции через меню (AUTORUN.BIN) нет возможности сменить этот образ без физического сброса модуля.
Это каждый раз вынуждает лезть под крышку, достаточно неудобная тема.
Долго думал, как бы можно было послать в эмулятор сигнал о размонтировании средствами самого МК90.
Можно было бы позволить авторану оставлять в ОЗУ "резидента", который при каждом рестарте машинки перед показом основного загрузочного меню давал бы время, чтобы нажать кнопку и послать команду "размонтировать образ".
После посылки сигнала производилось бы самоуничтожение резидента. Благо МК позволяет задать адрес, с которого будет производиться загрузка системы (он хранится в RTC ВИ1), но я так и не нашел подходящего места
для этого резидента, ибо 16КБ это весьма скромный по меркам PDP-11 показатель и вся память может активно использоваться машинными программами, которые легко затрут собой резидента, что будет проблемой.
Как-либо "зацепиться" за команды BASIC-а тоже не получилось. Да, можно было бы реагировать на команду стирания через INIT, но тогда каждый раз пришлось бы выжидать по ~10 секунд, пока закончится процедура форматирования.
Можно было бы реагировать на команды создания/удаления какого-то файла, но это уже потребовало бы серьезной модификации ПО модулей, а с микроконтроллерами я совсем не "на ты". Да и ввод таких команд - процедура не сильно быстрая.
В случае с Бейсиком 2.0 еще можно было бы использовать какую-то небольшую программу в машинных кодах. Но вводить ее тоже гораздо дольше, чем добраться до модуля.
В итоге придумал решение. Если пользователь имеет эмулятор, то второй порт в МК скорее всего будет пустовать, либо же пользователь разместит там настоящий МПО-10 (его худо-бедно но можно найти),
чтобы что-то сохранять в бейсике (ведь эмуляторы пока что работают только в режиме ROM).
Вот за этот МПО-10 и было решено зацепиться. После разметки первый его блок в ФС не используется, потому что он загрузочный и туда прописывается заглушка "СМП без загрузчика".
Вот, собственно, вместо заглушки туда и внедряется программа. ФС и Бейсик файлы оно, естественно, не затрагивает, работать с ним можно как обычно. Но машинные программы на такой модуль уже конечно не записать, хотя с эмулятором это не шибко нужно. И форматировать нельзя, ибо программа размонтирования опять затрется заглушкой.
Простейший вариант (Silent) занимает всего 100 байт, после его загрузки с МПО посылает в эмулятор команду смонтировать файл AUTORUN.BIN (набором команд Genjitsu предусмотрен код для сброса образа (0xF2), но фактически в эмуляторах он не реализован, поэтому используется костыль), а затем загружается с него, т.е. фактически пользователь выбирает в загрузочном меню слот с МПО и сразу же оказывается в меню выбора образа. В целом, получилось удобно, на мой взгляд.
Заменить загрузочный блок можно простой программой-копиром, которая и запишет туда утилиту Gen-UMOUNT.
Еще Коротнев предложил иной вариант - добавить в модули поддержку второго входа тактирования (поскольку по ним определяется запрашиваемое устройство), который будет цепляться на соседний слот СМП. Таким образом при обращении на основной слот будет выводиться эмулируемый образ, а на втором всегда будет считываться меню выбора образа. Фактически, это лишь добавит один лишний проводок и позволит обойтись без МПО.
Но опять же решение требует изменения ПО, поэтому такой вариант сможет реализовать только azya, хотя он, боюсь, в проекте уже не особо заинтересован.
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tre ... GEN-UMOUNT
Может в июне все и посортирую у себя.
Дело в том, что после выбора образа для эмуляции через меню (AUTORUN.BIN) нет возможности сменить этот образ без физического сброса модуля.
Это каждый раз вынуждает лезть под крышку, достаточно неудобная тема.
Долго думал, как бы можно было послать в эмулятор сигнал о размонтировании средствами самого МК90.
Можно было бы позволить авторану оставлять в ОЗУ "резидента", который при каждом рестарте машинки перед показом основного загрузочного меню давал бы время, чтобы нажать кнопку и послать команду "размонтировать образ".
После посылки сигнала производилось бы самоуничтожение резидента. Благо МК позволяет задать адрес, с которого будет производиться загрузка системы (он хранится в RTC ВИ1), но я так и не нашел подходящего места
для этого резидента, ибо 16КБ это весьма скромный по меркам PDP-11 показатель и вся память может активно использоваться машинными программами, которые легко затрут собой резидента, что будет проблемой.
Как-либо "зацепиться" за команды BASIC-а тоже не получилось. Да, можно было бы реагировать на команду стирания через INIT, но тогда каждый раз пришлось бы выжидать по ~10 секунд, пока закончится процедура форматирования.
Можно было бы реагировать на команды создания/удаления какого-то файла, но это уже потребовало бы серьезной модификации ПО модулей, а с микроконтроллерами я совсем не "на ты". Да и ввод таких команд - процедура не сильно быстрая.
В случае с Бейсиком 2.0 еще можно было бы использовать какую-то небольшую программу в машинных кодах. Но вводить ее тоже гораздо дольше, чем добраться до модуля.
В итоге придумал решение. Если пользователь имеет эмулятор, то второй порт в МК скорее всего будет пустовать, либо же пользователь разместит там настоящий МПО-10 (его худо-бедно но можно найти),
чтобы что-то сохранять в бейсике (ведь эмуляторы пока что работают только в режиме ROM).
Вот за этот МПО-10 и было решено зацепиться. После разметки первый его блок в ФС не используется, потому что он загрузочный и туда прописывается заглушка "СМП без загрузчика".
Вот, собственно, вместо заглушки туда и внедряется программа. ФС и Бейсик файлы оно, естественно, не затрагивает, работать с ним можно как обычно. Но машинные программы на такой модуль уже конечно не записать, хотя с эмулятором это не шибко нужно. И форматировать нельзя, ибо программа размонтирования опять затрется заглушкой.
Простейший вариант (Silent) занимает всего 100 байт, после его загрузки с МПО посылает в эмулятор команду смонтировать файл AUTORUN.BIN (набором команд Genjitsu предусмотрен код для сброса образа (0xF2), но фактически в эмуляторах он не реализован, поэтому используется костыль), а затем загружается с него, т.е. фактически пользователь выбирает в загрузочном меню слот с МПО и сразу же оказывается в меню выбора образа. В целом, получилось удобно, на мой взгляд.
Заменить загрузочный блок можно простой программой-копиром, которая и запишет туда утилиту Gen-UMOUNT.
Еще Коротнев предложил иной вариант - добавить в модули поддержку второго входа тактирования (поскольку по ним определяется запрашиваемое устройство), который будет цепляться на соседний слот СМП. Таким образом при обращении на основной слот будет выводиться эмулируемый образ, а на втором всегда будет считываться меню выбора образа. Фактически, это лишь добавит один лишний проводок и позволит обойтись без МПО.
Но опять же решение требует изменения ПО, поэтому такой вариант сможет реализовать только azya, хотя он, боюсь, в проекте уже не особо заинтересован.
Программа и исходники: https://github.com/Bs0Dd/MK90-projs/tre ... GEN-UMOUNT
Все никак не найду на это время, тем более что еще пару мест надо в инструкции "подрихтовать", а потом бы аналогично отреставрировать руководство по программированию и к Бейсику 2.0 (2.1).
Может в июне все и посортирую у себя.
- ikle
- Advanced Member
- Сообщения: 667
- Зарегистрирован: 27.11.2023,21:22
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 37 раз
Электроника МК-90 и МК-92 (всяко разно о них)
А никто не сталкивался со следующим поведением?
Вставляем комплект новых батареек, пытаемся включить — на экране пусто (на регулировку контрастности не реагирует), но есть писк или щелчки еле слышимые. Выключаем кнопкой — звук пропадает, включаем кнопкой — звук появляется. Частота звука может меняться.
В какую сторону копать? Первая версия, 88-ой год.
P.S. Насколько я понял по схеме, там, внутри, линейный стабилизатор (пищать в котором нечему) с парой электролитических на выходе (как они переживают такой возраст в почти сорок лет?). Хотя там же есть ещё БП LCD...
Вставляем комплект новых батареек, пытаемся включить — на экране пусто (на регулировку контрастности не реагирует), но есть писк или щелчки еле слышимые. Выключаем кнопкой — звук пропадает, включаем кнопкой — звук появляется. Частота звука может меняться.
В какую сторону копать? Первая версия, 88-ой год.
P.S. Насколько я понял по схеме, там, внутри, линейный стабилизатор (пищать в котором нечему) с парой электролитических на выходе (как они переживают такой возраст в почти сорок лет?). Хотя там же есть ещё БП LCD...
DEC 3000/300LX (EV4s 125 MHz), DEC 3000/400S+ (EV4-133), DEC AlphaStation 250 4/266 (EV45), AlphaPC 164LX + EV56-600, AlphaServer DS10 (EV67-617),
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
DEC VXT 2000+ (VAX SOC 25 MHz, color), DEC VXT 2000 (mono), SGI Indy (R4600PC 100 MHz), кучка Sun-станций
-
BlackBloodyRabbit
- Newbie
- Сообщения: 18
- Зарегистрирован: 05.11.2023,20:51
- Откуда: Москва
Электроника МК-90 и МК-92 (всяко разно о них)
Пищит она всегда, даже полностью рабочая, по неисправности надо разбирать и смотреть, как наиболее вероятная причина - отвалилась одна из перемычек от платы контроллеров.
Т.е. снимаешь процессорную плату, смотришь, поднимаешь плату контроллеров и осматриваешь.
Если все перемычки на месте, то осматриваешь смд компоненты.