Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Бесплатная браузерная игра «Слаймы Атакуют: Головоломка!» в жанре головоломка. Подходит для мальчиков и девочек, доступна без регистрации, на русском языке

Слаймы Атакуют: Головоломка!

Казуальные, Головоломки, Аркады

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
21
Timeweb.Cloud
Timeweb.Cloud
2 года назад

Ракета с руками⁠⁠

Автор: turbovagon

Оригинальный материал

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

18 марта 1965 года советский космонавт Алексей Леонов совершил первый в мире выход в открытый космос, перевернув новую страницу в истории космонавтики. Спустя менее трех месяцев, 03 июня 1965 года это повторил американский космонавт Эдвард Уайт. Дальше — больше. Однако, хоть работы в открытом космосе и превратились из подвига в обыденность, менее опасными и менее простыми они не стали.

Космонавту угрожает опасность столкновения с микрометеоритами или космическим мусором. Любое серьезное повреждение скафандра грозит разгерметизацией и практически неизбежной смертью. Космонавт может оторваться от корабля и затеряться в космическом пространстве. Спасти его в этом случае также почти невозможно. Длительные и сложные манипуляции в многослойных скафандрах требуют от космонавтов высочайшей квалификации и физической подготовки.

Поэтому неудивительно, что в НАСА довольно быстро задумались о том, чтобы облегчить жизнь работникам орбиты. На волне моды на роботизацию всего и вся возник проект по оснащению каждого космического корабля и станции одним или несколькими вспомогательными аппаратами, которые бы помогали космонавтом во время работ в открытом космосе, а в идеале и вовсе бы их заменяли. Эдакие дроны-помощники, в лучших традициях современной фантастики.

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

В 1971 году был дан старт проекту Free Flyer по разработке телеуправляемых миниракет, оснащенных манипуляторами, которые смогли бы избавить космонавтов от многих трудных или опасных задач, выполняемых на орбите.
Предполагалось, что такой дрон будет иметь форму коробки 1.2х0.9х0.8 м и снаряженной массой около 180 кг. Каждый дрон оснащался как минимум двумя сложными манипуляторами с 7 сочленениями. При необходимости манипуляторы могли заменяться другим оборудованием. Также имелось как минимум три камеры. Главная, на выдвижной стреле спереди и две вспомогательных на манипуляторах. За перемещение дрона в пространстве отвечали 16 направленных разные стороны миниатюрных двигателя на гидразине.

А почему гидразин, а не пневмо например... ведь было бы гораздо экологичнее (для испытаний в лаборатории) да и в кино видали. Разгадка проста — 50 лет назад топлива на гидразинах были очень широко распространены, особенно у военных, и работать с ними, скажем так, не боялись и умели. Минус у гидразина существенен — его чрезвычайная токсичность, но на этом минусы на тот момент заканчивались. А среди плюсов есть возможность использовать его в качестве однокомпонентноого топлива, в том числе и для маломощных двигателей. В общем, удобно, практично, дёшево и всё для него уже есть.

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

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

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

Экспериментальный образец дрона.

Отдельно хочется сказать пару слов про манипуляторы. Дрон планировалось оснастить манипуляторами модели M-12, разработанными на основе протеза «Золотая рука» — механизированного ортеза для рук, разработанного в 1965 году мединститутом Rancho Los Amigos, Inc. Впоследствии велись работы по созданию полноценного протеза, полностью заменяющего руку и управляемого нейросигналами нервной системы. Увы, не давшие на то время ощутимого результата. Однако сам ортез был очень популярен в США на фоне всплеска заболеваемости полиомиелитом.

В середине ХХ века полиомиелит был настоящим бичом в ШтатахВакцину от него придумали в конце 1950-х, а до этого времени довольно обыденным явлением были подобные картины:

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

Лос-Анджелес, 1950-е. Пациенты с осложнениями полиомиелита часто становятся парализованными настолько, что не могут дышать самостоятельно. В те времена их аппараты ИВЛ выглядели так.

Менее тяжёлые последствия «всего лишь» вызывали паралич и атрофию мышц конечностей. И тогда на помощь людям приходили первые «экзоскелеты» — ортезы.
Ортез даже успел сыграть одну из главных ролей в фильме.

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост
Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

В 1972 году были начаты испытания экспериментального образца дрона, во многом не менее интересные, чем сам дрон. В испытательном центре Textron Bell Aerospace (Буффало, штат Нью-Йорк) была смонтирован испытательный бокс размером 145 кв. м. Дрон закреплялся на мобильной платформе на воздушной подушке, которая с минимальным сопротивлением ездила по пластиковому покрытию пола. Экспериментальный дрон был оснащен 12 реактивными минидвигателями, мощности которых хватало для перемещения платформы вперед и в стороны. Сделано это было для того, чтобы создать имитацию инерции, которая неизбежно будет возникать при маневрах дрона в космосе. За вертикальные маневры всё же отвечала гидравлика платформы. Управление дроном осуществлялось миниатюрными джойстиками с операторского пульта в другом помещении, ориентироваться оператор мог только по встроенным в дрон телекамерам и приборной доске. Напротив дрона монтировался имитатор стыковочного узла, отдельных элементов спутника или иные модели.

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

Испытательный стенд и пульт управления.

В ходе серии испытаний экспериментальному Free Flyer удалось состыковаться со спутником с помощью простого стержнеобразного зонда. С помощью дистанционного управления он удалил и заменил узел двигателя спутника, установил и удлинил штыревую антенну, сменил аккумулятор. Он также смог обнаружить треснувшие и разрушенные элементы солнечных панелей. С помощью зеркала и телекамеры на манипуляторе оказалось возможным даже провести инспекцию внутренних узлов оборудования. Нельзя сказать, что испытания прошли идеально — все действия оператору удавалось выполнить со второй-третьей попытки. Однако было доказано, что при должных тренировках и навыках оператора дрон может полноценно выполнять возложенные на него задачи.

Увы, практической реализации именно этот проект так и не дождался, хотя в вялотекущем состоянии продолжается до сих пор.

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

V-Bat от DARPA (США) — дрон с «рукой».

Ракета с руками Технологии, Познавательно, Космос, Timeweb, Наука, Техника, Изобретения, Космонавтика, Инженерия, СССР, Дрон, Длиннопост

Европейский же манипулятор на модуле «Наука» — без движков — прикручен.

После окончания Холодной войны и распада СССР темпы освоения космоса сильно снизились и сейчас там для автономных роботов банально нет работы. Вся надежда на будущее.

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 9
Технологии Познавательно Космос Timeweb Наука Техника Изобретения Космонавтика Инженерия СССР Дрон Длиннопост
0
178
Timeweb.Cloud
Timeweb.Cloud
2 года назад
IT минувших дней
Серия Старое железо

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54»⁠⁠

Автор: CyberPaul

Оригинальный материал

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор


Я вырос в простой советской семье, которая, как водилось в те времена, жила от одной скромной зарплаты до другой. Я взахлёб прочитывал «Технику Молодежи» и «Юный Техник» с приложением «ЮТ для умелых рук», которые мы выписывали на дом, а для того чтобы разжиться «Моделистом-Конструктором», приходилось раз в месяц наведываться в районную библиотеку. Больше всего меня привлекали заметки про электронно-вычислительные машины и компьютерную технику. Однако о том, чтобы заиметь свой собственный компьютер, не могло быть и речи: даже простенький «ZX Spectrum 48K» стоил для нас совершенно неподъемных денег. Я безуспешно попытался собрать по чертежам и схемам из журнала персоналку «ЮТ-88», но бросил эту затею после того, как родители притащили откуда-то программируемый калькулятор «Электроника МК-54». Ведь на нем можно было писать самые настоящие игры!

Недавно, прибираясь в чулане, я неожиданно нашел это замечательное устройство. Вставил батарейки, включил, работает! Когда-то калькулятор комплектовался дерматиновым чехлом и книжечкой карманного формата с подробными инструкциями по эксплуатации, но эти аксессуары, как и адаптер питания с хитрым двухштырьковым разъемом, оказались безвозвратно потеряны. Осталось только само устройство, сжимая в руках которое, я испытал сильный приступ ностальгии.

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор


На Хабре уже подробно рассказывали о конструкции калькуляторов этой серии, которая с современной точки зрения выглядит довольно примитивной. Но тогда, в 1988 году, «МК-54» казался самым настоящим чудом техники. Советская промышленность начала выпуск этой машины в 1982-м, и вскоре калькулятор появился на полках магазинов по цене 65 рублей — довольно дорого по тем временам (для сравнения, более «продвинутая» трехпроцессорная версия калькулятора, «МК-61», стоила 85 рублей). Тем не менее, это был самый доступный программируемый калькулятор в СССР в середине 80-х, более дешевого варианта попросту не существовало.

«МК-54» был оборудован двумя процессорами на базе бескорпусной микросхемы серии К745: один, помимо основных функций ЦП, отвечал за контроллеры дисплея и клавиатуры, второй играл роль математического сопроцессора. Быстродействие калькулятора при выполнении программ составляло примерно 5 операций в секунду.

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор


Память «МК-54» позволяла хранить 98 шагов программы (по 1 байту каждый), калькулятор располагал 4 операционными регистрами и 14 адресуемыми регистрами памяти. В отличие от своего «старшего брата» «МК-52», этот аппарат не обладал энергонезависимой памятью, поэтому при отключении питания записанная ранее программа сбрасывалась, и ее приходилось вводить заново.

Человек, привыкший к обычным карманным или настольным калькуляторам, и впервые взявший в руки «МК-54», обычно впадал в состояние ступора: как на нем считать? На клавиатуре отсутствует клавиша «=», зато имеется множество странных кнопок вроде «К», «СХ», «БП», «ПП», «В/О», «С/П» и других.

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор


Действительно, простые арифметические действия на этой «Электронике» выполнялись следующим образом: нужно было ввести одно число, затем переместить его в следующий регистр стековой операционной памяти нажатием кнопки «В↑», потом указать второе число, и, наконец, ввести знак операции. Иными словами, классический арифметический пример «2+2=» на «МК-54» выполнялся такой хитроумной последовательностью клавиш: «[2], [В↑], [2], [+]».

Собственно, устройство создавалось в первую очередь не для простых арифметических, а для сложных инженерных расчетов, которые можно было выполнять автоматически — при помощи составленных и записанных в память программ. Но для этого следовало сначала выучить множество новых и незнакомых обычному советскому обывателю понятий: «счетчик команд», «адреса возврата из подпрограмм», «регистры памяти», «операционный стек». Именно так для многих граждан СССР и начался путь в «большое программирование».

Способов применения в народном хозяйстве для «МК-54» существовало великое множество: строительные, сельскохозяйственные и экономические расчеты, навигация, биология и химия, астрономия и инженерное дело. Пожалуй, нет ни одной научно-технической сферы, для которой не придумали бы подходящих программ, способных работать на этой машине. В различных журналах и сборниках время от времени попадались программы для определения биоритмов человека, для подсчета объема ингредиентов при приготовлении кулинарных блюд, для построения наиболее эффективной диеты, учёта узлов и петель в процессе вязки шарфиков и свитеров, и даже для огородников с вычислением оптимальных дат посадки укропа на личных шести сотках. Но лично мне в первую очередь были интересны игры, код и описания которых регулярно публиковались в рубрике «Клуб электронных игр» журнала «Техника молодежи».

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор


Для программирования этого калькулятора (как и у его ближайших сородичей) использовался так называемый язык машинных команд ЯМК-34. Этот язык позволял выполнять математические операции, а также процедуры пересылки данных и управления, чего при реализации большинства прикладных задач оказывалось вполне достаточно. Программа могла выполняться на калькуляторе пошагово — для этого на клавиатуре имелись специальные клавиши с направленными вправо и влево стрелками и обозначением «ШГ», они позволяли отследить ход исполнения команд, оценить содержимое регистров и обнаружить допущенные ошибки.

Безусловно, двенадцатиразрядный вакуумно-люминесцентный индикатор не позволял отображать что-либо, кроме цифр, математических знаков и некоторых символов: Г, L, С, Е, вроде знаменитого сообщения об ошибке «ЕГГОГ», поэтому игры для «МК-54» были весьма своеобразными. Обычно они включали подробное текстовое описание сюжета игры с завязкой, развитием истории и персонажами, иногда к нему добавлялись изображения игрового поля — например, расчерченного на квадратные секции. Калькулятор же играл вспомогательную роль: просчитывал ходы за соперников, выдавал случайные числовые значения, или несколько цифр через десятичный разделитель. Пользователь вводил цифры, характеризующие его ход, и снова запускал программу на выполнение — после чего калькулятор выдавал следующее значение. Цикл повторялся до условной победы или поражения игрока. Помимо классики вроде «Морского боя», «Крестиков-ноликов» и «Шашек» существовали почти настоящие остросюжетные квесты, «экономические стратегии», военные баталии. Были и «динамические» игры вроде бегающей по индикатору «мишени» в виде буквы «О», в которую нужно было «попасть снарядом». Еще были «гонки», и совершенно изумительный «Лунолёт», в котором пользователь задавал условному космическому кораблю тормозящий и разгонный импульсы, следя при этом за остатками топлива и расстоянием до планеты, с целью погасить скорость до нуля и приземлиться на Луну, не разбив корабль.

Карманный компьютер из 1985 года: программируемый калькулятор «Электроника МК-54» IT, Timeweb, Длиннопост, Калькулятор, СССР, Программирование, Программист, Познавательно, Электроника, Сделано в СССР, Ретротехника, Программируемый калькулятор

В первое время я просто вводил команды в калькулятор со страниц «Техники Молодежи», стараясь не наделать ошибок, а самые интересные варианты терпеливо переписывал в тетрадочку. Случались и неприятные сюрпризы, если программа оказывалась длиннее доступной памяти: многие игры писались для калькулятора «МК-61», позволявшего хранить 105 шагов программы, в то время как мой «пятьдесят четвертый» поддерживал только 98. Такие «длинные» цепочки команд приходилось оптимизировать и сокращать, что само по себе представляло отличную головоломку и давало неплохую пищу для ума. Ну, а следующим шагом стало написание собственных игр, сопряженное с придумыванием увлекательного сюжета и сложных игровых алгоритмов. При этом «электронную» часть игры, хоть ты тресни, нужно было уложить в 98 команд, желательно, с запасом. Одну свою игру, помнится, я даже отправил в «Технику Молодёжи», но ее почему-то так и не опубликовали.

Тем не менее, упражнения с калькулятором не прошли даром. Поступив в институт и оказавшись на лекциях в рамках курса «Программирование микроконтроллеров», я с удивлением обнаружил, что преподаваемый там язык Ассемблера чем-то мне смутно знаком. Программы писались без особого труда, в то время как однокурсники постоянно путались в непонятных для них стеках и регистрах. Все-таки опыт работы с «МК-54» прививал определенную логику и соответствующий стиль мышления, позволяющий понять, как работает программа «в железе».

Сегодня существует несколько полноценных эмуляторов, позволяющих посмотреть на работу «МК-54», «МК-61» и их сородича «Б3-34» вживую, ввести программу и проследить за ее исполнением. Вот, например, отличный эмулятор «шестьдесят первого» — с ним можно поиграться прямо в браузере. Кроме того, в сети нетрудно обнаружить и подборки игр для калькуляторов этой серии — вот одна из них.

В том числе и из-за того, что в свое время платы с советскими микросхемами серии К145 (ими комплектовался «Б3-34») активно сдавали «на золото», таких калькуляторов в рабочем состоянии сегодня осталось немного. Мой экземпляр, с заводским номером 10658, выпущенный в апреле 85-го — один из хорошо сохранившихся. Осталось только отыскать старую замусоленную тетрадку, в которую я переписывал код игр для этой машины, и можно будет вспомнить давно ушедшую юность, проведя пару вечеров за «Лунолётом» и «Колхозным рынком». Нынешним подросткам подобные развлечения, к сожалению, недоступны.

P. S. Ждем упоминания в комментариях легендарной «Энциклопедии профессора Фортрана» через пять… Четыре… Три…

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 5
IT Timeweb Длиннопост Калькулятор СССР Программирование Программист Познавательно Электроника Сделано в СССР Ретротехника Программируемый калькулятор
51
168
Timeweb.Cloud
Timeweb.Cloud
2 года назад
TECHNO BROTHER
Серия Старое железо

Реверс-инжиниринг нестандартной ps/2 клавиатуры⁠⁠

Автор: dlinyj

Оригинальный материал

Дополнительные фото и видео в
источнике материала.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Терминал VT520 c клавиатурой LK46W-A2

После моего предыдущего поста с подключением советской клавиатуры к современному ПК, я как-то заразился оригинальными клавиатурами от DEC, и уж больно хотелось их испытать в деле. И на удивление, на досках удалось найти даже клавиатуру LK201, однако для меня показалась не очень уж интересной. А вот клавиатуру Wyse 85 со свичами Cherry MX нашёл намного более стильной и крутой. Однако смущал вопрос, как же её использовать с современным железом, удобно ли будет такое расположение клавиш?

И тут мне на глаза попадается объявление с ещё одной терминальной клавиатурой LK46W-A2 которую можно подключить к обычному компьютеру по стандартному интерфейсу PS/2, но с количеством клавиш и расположением, как у LK201 с небольшими дополнениями. После того как ознакомился с информацией, принял волевое решение купить кота в мешке и попробовать эту клавиатуру с обычным ПК, а также понять, что же делают все остальные «нестандартные клавиши». Этакий реверс-инжиниринг клавиатуры.

❯ Распаковка и отмывка

Итак, спустя пару недель мне пришла посылка с этой удивительной клавиатурой. Терминал найти невозможно, а вот клавиатуру – пожалуйста.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Клавиатура LK46W-A2 собственной персоной

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

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Наклейка модели

С большим трудом удалось установить, что использовалась с моделями терминалов DEC VT520 (см КДПВ). Терминал не найти, а клаву – вот, пожалуйста.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Вид снизу

Предварительное включение показало, что клавиатура рабочая, но требует водных процедур. Поэтому принял решение её разобрать. Само устройство разбирается не так просто: требуется отогнуть большое количество пластиковых защёлок, благо на корпусе изделия есть специальные технологические отверстия для отвёртки. После нескольких пассов две половинки клавиатуры разделились.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Внутри стандартная плёночная клавиатура, с резиновыми «давилками».

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Что приятно удивило, что все длинные клавиши имеют металлические поддерживающие клипсы от перекоса. И все места трения смазаны густой смазкой.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Металлические клипсы

Плёнка клавиатуры прижимается к контроллеру специальной резинкой, вмонтированною в корпус клавиатуры.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Резинка для прижима контактов

Контроллер – обычная капля, 4 стандартных контакта для ps/2: Data, Clock, +5, GND.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно
Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Контроллер

После разборки, корпус клавиатуры ждала процедура купания. Не стал фотографировать, как я мою клавиатуру в ванной с мылом. Грязи вышло достаточно много.

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

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Тестирование перед закрытием

Не забываю смазать все движущие части, и окончательно собираю клавиатуру.

❯ Поиск потерянных клавиш

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Если взглянуть на фотографию, и сравнить две клавиатуры, то можно заметить, что, во-первых, клавиш намного больше, а во-вторых, непонятно что эти клавиши делают. Сравните, для примера, расположение клавиш вокруг кнопки «Z».

В чём прикол?

На самом деле вас немного разыгрываю, нижняя клавиатура имеет сербскую латинскую раскладку, у которой «Y» и «Z» поменяны местами:

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно


Если тут есть сербы, объясните мне, что за спецсимволы нанесены на клавиши и где они используются?

Главный вопрос, который меня волнует: как понять какая клавиша за что отвечает?

Изначально пытался найти хоть какую-то внятную документацию по теме, но в результате пришлось действовать методом научного тыка. Для этого пошёл на сайт en.key-test.ru и начал нажимать все клавиши, перебирая их последовательно. В результате получилась такая картинка:

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Вы видите нажатую левую кнопку мыши? Это тоже реакция на нажатие одной кнопки, и, как можно заметить, практически все клавиши присутствуют на этой клавиатуре. PrtScr у меня под линуксом просто вызывало создание скриншота и не перехватывалось этим сайтом, то есть и она тоже работает.

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

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

На самом деле Right Ctrl

Итак, что же тут интересного:

  1. Клавиши F13, F14, Help, Do, F17, левый Compose Character – не определены. Назначение и функциональность пока неясны.

  2. Клавиша ESC расположена, где находится тильда "~" на обычной клавиатуре, а тильда рядом с клавишей «Z».

  3. Функциональные клавиши типа Home, End, PageUp, PageDown, Isert и т.д. находятся в других местах, но достаточно логично. Не стал их подписывать, потому что и так можно догадаться (например, Re-move = Del, Prev = PageUp). Часть функциональных клавиш расположена на клавишах F18-F20.

  4. Цифровой блок достаточно стандартен, кроме одной клавиши – это клавиша «минуса», она даёт странный код: "±". Да, символ «плюс-минус», который можно набрать прямо с клавиатуры, с одной клавиши (Linux Mint).

❯ Пробуем получить скан-код клавиши


Согласно стандарту, клавиатура при нажатии передаёт скан-код нажатия клавиши и скан-код «отжатия» клавиши.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно
Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Примеры скан-кодов стандартной клавиатуры

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

Для начала попробовал получить скан-коды неизвестных клавиш через утилиту showkey. Для этого нужно полноправно завладеть устройством ввода, без иксов. Поэтому переключаюсь на консоль комбинацией клавиш ctrl-alt-F1 и ввожу:

showkey -scancodes
И начинаю радостно жать на неизвестные клавиши, но удивительно: ничего не происходит! Те клавиши, которые мне удалось перехватить, дают корректный скан-код, а вот «тайные» — «молчат». То есть либо эти клавиши вообще не работают, либо фильтруются на уровне драйвера ядра.

Начал думаю, что же мне проще: подключить логический анализатор, либо найти другой способ получения скан-кодов нажатых клавиш? И тут я вспомнил, что у меня есть тестовая машина с DOS.

❯ Получаю скан-коды под ДОС

Синей пеленой экран заполнил чистый DOS
Мышь…
Стала вдруг квадратной, потеряла форму мышь…
Я разбил окно,
девяностопятое мастдайное окно,
И поставил DOS, и тогда увидел:
Это счастье, — вот оно.

Итак, для того чтобы получать скан-коды клавиш, нужно иметь какую-то программу, которая бы читала их из BIOS. Контроллер клавиатуры позволяет читать коды набранных клавиш из порта 0x60, осталось только это всё аккуратно написать. Для того чтобы понять, о чём я говорю, вы можете посмотреть пример на ассемблере.

Поскольку я человек ленивый, знаю, что всё давно придумано за нас, решил погуглить. У меня как раз в системе есть qbasic, значит, можно сходу найти пример приложения для него. И беглым гуглением, после нескольких тестов нашёл приложение, которое наиболее полно меня устраивает.
Не буду описывать весь код, главное, что оно читает скан-коды из порта, и в удобоваримом для меня виде выводит на экран. Вот, пример чтения кода из порта.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

После того как протестировал в Dosbox, пришла пора проверить на реальном железе.

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Тестовая машина с ДОС

Для своего удобства делал фотографии с именованием «неизвестной» клавиши и её кодом. Так получилось, что после запуска приложения, из буфера читается «мусорный код». Его я прикрывал бумажкой, важно, что ниже. Вот, например, нажатие левой клавиши «Compose Character».

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Как я и предполагал, все они идут через код расширения 0xE0. То есть, код клавиши получается: 0xE00F. Вторая пара байт 0xE08F – это код отпускания этой клавиши (на это действие тоже есть отдельный код).
Ну и по аналогии, остальные клавиши.

Из забавного, что в ДОС даже есть какая-то скромная попытка обрабатывать нажатия на клавиши, например, реагирует на них, запуская копирование (хотя это ошибка).

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Ложное срабатывание

В общем, ДОС хоть и стар, но оказывается местами даже очень полезен.

❯ А что там с документацией?


Явно найти документацию на клавиатуру модели LK46W-A2 мне не удалось. Но, когда я искал документацию на стандарт ps/2, то наткнулся на сайт Keyboard scancodes, в котором есть раздел, посвящённый клавиатурам LK411 и LK450. Нашёл это уже после прохождения всех моих мытарств, но они лишь подтвердили результаты моих экспериментов:

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно


То есть, фактически мне это удалось подтвердить эмпирическим путём, хотя у меня немного другая модель клавиатуры.

❯ Выводы

Реверс-инжиниринг нестандартной ps/2 клавиатуры Timeweb, IT, Программирование, Разработка, Длиннопост, Своими руками, Клавиатура, Реверс-инжиниринг, Терминал, Linux, СССР, Программист, Познавательно

Сравнение Wise 85 и LK46W-A2

Наверное, буду лукавить, если скажу, что текст набран именно на этой клавиатуре. Клавиши мне показались очень тугими. Но попробовал работать с ней, и достаточно быстро привык к такому вот нестандартному расположению клавиш, даже нахожу их весьма удобным и комфортным. Особенно стрелочная часть. Даже не испытывал проблем с набором текста и запуском программ. Поначалу ищешь ESC не там, где он есть. А вот расположение тильды я нахожу очень удобным.

Единственный вопрос, который остался за кадром: почему Linux фильтровал нажатия этих клавиш? Возможно ли поправить dts-файл так, чтобы ядро корректно отрабатывала нажатия этих клавиш? Добавить ими дополнительную, необходимую для комфортной работы функциональность? В общем, вопросов пока больше, чем ответов. Если опытные драйверисты есть, буду рад обсудить этот момент.

Из личного опыта такое расположение нахожу весьма удобным, и резюмируя, могу сказать что клоны клавиатур lk201, в том числе советский клон может быть использован для набора текста. Разве что потребуется программирование некоторых клавиш под свои нужды, и придётся отказаться от правого Alt и Ctrl.

Полезные ссылки:

  1. Keyboard tester online

  2. Keyboard scancodes (основная документация)

  3. The Scan Code values generated by the PC Keyboard

  4. Пример кода чтения скан-кодов клавиатуры, на бейсике.

  5. DEC KEYBOARDS


P.S. Если вам интересно моё творчество, вы можете следить за мной ещё в телеграмме.

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 23
Timeweb IT Программирование Разработка Длиннопост Своими руками Клавиатура Реверс-инжиниринг Терминал Linux СССР Программист Познавательно
19
133
Timeweb.Cloud
Timeweb.Cloud
2 года назад
IT минувших дней
Серия Старое железо

Подключение советской клавиатуры Электроника МС 7004 к современному ПК⁠⁠

Автор: dlinyj

Оригинальный материал

Дополнительные фото и видео в
источнике материала.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


Когда я листал доски объявлений, на глаза попалась отличная клавиатура «Электроника МС 7004». Даже по современным меркам клавиатура выглядит просто потрясающе. У неё есть откидной блок со светодиодами, клавиши механика. И она настолько крутая, что даже сейчас на ней хочется работать. Но, как обычно есть один маленький нюанс: у неё свой интерфейс и электропитание.

Такие клавиатуры встречаются часто, выглядят стильно и, в общем-то, можно получить уникальное устройство ввода, но как же её подключить? Этим вопросом я занялся уже после покупки, потому что клавиатура была крута, и вылилось всё в интересное копание в схемотехнике клавиатуры, протоколах и многом другом.

❯ Историческая справка


В одном из объявлений была дана интересная историческая справка на эту клавиатуру, приведу её, поскольку она достаточно исчерпывающе описывает, что это такое.

Ретро клавиатура МС7004 — это клавиатура, которая является аналогом клавиатуры LK201 производства компании DEC. МС7004 использовалась с рядом советских ЭВМ конца 80-х годов, совместимых с архитектурой PDP-11, например, ДВК-3, ДВК-3М, Квант-4С, Электроника-85, и, вполне возможно, что ещё на кое-каких машинах. Сама клавиатура построена на микроконтроллере, и связь с ЭВМ осуществляется через стандартный последовательный порт. Принцип работы кнопок — ёмкостный. Раскладка клавиатуры — JCUKEN, в отличие от аналога LK201 с раскладкой QWERTY.


Это очень интересный момент, что клавиатура использовалась не только с определёнными ЭВМ, но и применялась для различных типов. И ещё то, что она совместима с иностранной клавиатурой LK201, и, забегая вперёд, скажу, что совместима достаточно хорошо.
Стоит даже их сравнить между собой, чтобы понять, что копировали их очень близко.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Клавиатура «Электроника» МС 7004 (фото любезно предоставлены xlat)

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Оригинальная клавиатура DEC LK201 (фото с сайта)

Про оригинальную клавиатуру LK201, с которой была скопирована клавиатура «Электроника» МС 7004, стоит рассказать более подробно.
Форм-фактор этой клавиатуры определил стандарт клавиатур, которым мы пользуемся и сейчас. Основная область ввода стала стандартом ISO, клавиатура QWERTY с вертикальной клавишей Enter (которой в копии, увы, нет), клавиша Tab находится слева от «Q», а клавиша "<" слева от «Z». Как и у предыдущей модели, которая была прародителем это — клавиатуры для терминала VT102, клавиши управления и клавиша Caps Lock находятся слева от клавиши «A». Клавиши вставки, удаления (insert, del) были перемещены в новую группу клавиш, чтобы справа от клавиши ввод было место.

LK201 также была первой клавиатурой с клавишей Shift, расположенной слева от пробела.
Главной отличительной чертой клавиатуры была компоновка клавиш курсора, в виде перевёрнутой буквы Т. Хотя LK201 не была первой клавиатурой, в которой использовалось такое расположение, она была выбрана после серьёзных исследований удобства использования. Был ли дизайн заново изобретён независимо или скопирован с более ранней клавиатуры, неизвестно.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


Компоновка перевёрнутой-T, представленная LK201

Такое решение быстро прижилось, поскольку компания DEC, будучи крупным игроком в компьютерной индустрии в начале 1980-х годов, вдохновила многих преемников своими раскладками клавиатуры. Расположение клавиш курсора, клавиши удаления и функциональных клавиш было специально скопировано.

В 1983–1984 годах рабочая группа инженеров IBM, разрабатывавшая IBM Enhanced Keyboard (Model M), использовала макет LK201, включая его фирменный кластер стрелок в виде перевёрнутой буквы T, но переместила его на одну строку вниз.
Поскольку отечественную клавиатуру скопировали весьма точно, то и электрический интерфейс оказался полностью совместим. Поэтому стоит пару слов сказать и о нём.

Клавиатура LK201 питается от 12 В, которые поступают от компьютера. Клавиатура и компьютер, к которому она подключена, общаются через относительно стандартный последовательный интерфейс.

  • Двунаправленное асинхронное последовательное соединение: 4800 бод, 8N1.

  • Уровни последовательного интерфейса соответствуют стандарту EIA RS-423 (т.е. колебания сигналов ± 5 вольт).

  • Потребляемая мощность: 4,2 Вт Макс. 350 мА при 11,8 В ± 6%.

  • Здесь следует особенно остановиться на интерфейсе RS-423, его отличие от интерфейса RS-232 в амплитуде передаваемого сигнала. У RS-423 — это от минус 5 до +5 В, а у RS-232 от минус 15 до +15 В. Таким образом, в целом можно подключать клавиатуру и к интерфейсу RS-232 с некоторыми оговорками.


Специально подробно остановился на этих моментах, потому что они полезны будут и для подключения клавиатуры МС7004.

❯ «Электроника» МС 7004


После ознакомления со всеми историческими материалами, и осознанием того, что мне предстоит, было принято решение купить эту клавиатуру. На данный момент достаточно легко, пока ещё, можно найти эти клавиатуры в продаже. И ценник на них более чем адекватен, особенно для такой удивительной модели.

Поэтому спустя пару недель приехала мне такая красавица, с откидной крышкой, под которой видны светодиоды.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР
Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


Обратите внимание, что раскладка английской клавиатуры фонетическая JCUK, как и на всех отечественных компьютерах, и это ужасно…
Для того чтобы просто включить клавиатуру (подать питание), пришлось рыть кучу документации. Нашёл неплохой сайт по ДВК, где приведены два типа паспорта (см. раздел «Клавиатура МС 7004»). В паспорте самое ценное — это схема и коды клавиш. Как ни странно, далее английская документация оказалась более полной. Итак, схема подключения.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Схема разъёма клавиатуры

У этой модели клавиатуры съёмный провод, можно подключиться непосредственно к плате, либо к стандартному 5-контактному разъёму типа DIN. Выбрал второй вариант, и для этого набросал распиновку разъёма для подключения. Обязательно при таких операциях перепроверяйте, где находится питание, особенно если оно 12 В!

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Распиновка разъёма

Попутно с подключением сделал неполный разбор для чистки. Хотел разобрать полностью, но побоялся, что сломаю крепления пластика, который от возраста стал хрупким. Поэтому полностью клавиатуру мне разобрать не удалось.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Первый успешный запуск клавиатуры

На фотографии видно, что я уже перехватываю нажатия клавиш, с помощью осциллографа. Клавиатура потребляет достаточно большой ток 0,3 А, при 12 В — это уже 3,6 Вт! Что, как по мне, для обычной клавиатуры многовато.

Теперь момент истины — подключить её к компьютеру. Как уже говорил выше, интерфейс у клавиатуры RS-423 (то есть сигналы имеют уровень ± 5 вольт относительно земли). Но решил рискнуть и подключил через шнурок USB-COM, настроил терминалку на 4800 8N1 и, всё заработало!

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Оно живое!

Помните, я говорил, что клавиатура имеет фонетическую раскладку? Самое удивительное, что слизали всё подчистую, и коды клавиш точно соответствуют кодам клавиш по физическому расположению у оригинальной клавиатуры LK201.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Коды клавиш LK201, которые точно соответствуют кодам клавиш МС 7004

Вот это поворот! Значит, не нужно будет переучиваться, осталось сделать железку конвертер. И казалась задачей простой и быстрой.

❯ Тщетная попытка сделать конвертер


Есть два пути для подключения подобной клавиатуры: подключить её к COM-порту и написать свой драйвер и сделать преобразователь в USB-HID. Первый вариант прост, но плох тем, что клавиатура будет привязана к конкретной машине, а второй более сложен, но более универсален.

Решил реализовывать второй вариант, питание брать от USB, повышать его, а в качестве USB-HID использовать модуль Arduino Leonardo.

Взял остатки старых своих проектов, которые вы даже когда-то видели в моей статье "С чего начинается устройство". Там как раз есть подходящий корпус, DIN-разъём и макетная плата.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Остатки старых проектов

Одной из задач было получать питание 12 В, и сделать преобразователь RS-423. Последнее можно реализовать на max232. В результате у меня получилась такая платка, с max232 и повышающим преобразователем от USB.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


Но радость была недолгой, при подключении клавиатуры тока порта не хватало, и всё просаживалось в ноль. Поэтому такая схема питания оказалась неработоспособной. Затем, с большим трудом добытая дефицитная max232 отказалась работать с интерфейсом RS-423, и не переваривала такой тип напряжения (хотя оно находится в стандартах RS-232). Короче, на этом моё вдохновение закончилось. Повоевал несколько дней, и вечные трудности сильно подрезали вдохновение.

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

❯ Несколько слов о создание ПО для клавиатуры


На самом деле, информации по клавиатуре LK201 достаточно, как и примеров кода, чтобы сделать нормальный преобразователь, не влезая в схемотехнику. Есть прекрасный сайт LK201 Keyboard Interface, где приводятся примеры дефайнов для клавиш, и описание интерфейса работы.

Достаточно просто скопировать примеры оттуда, немного пошаманить с кодом и получить готовый результат.
Есть примеры в коде ядра, по работе с этим типом клавиатуры, например вот хедер с кодами клавиш. Стоит тоже покопаться по всему репозиторию. Вот, например, коды команд для работы с процессором клавиатуры:

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


Другой пример – это ремап кодов клавиатуры для преобразования к нормальным сканкодам k201-remap.c. И там же в папке выше тоже полезные коды. Пример табличного ремапа:

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


В общем, преобразователь можно сделать и велосипед изобретать с нуля не требуется. Нужно просто найти время, чтобы переработать всю информацию.

❯ Другой путь – аппаратная доработка


Есть более варварский способ – это переделка клавиатуры аппаратно. Есть «аутентичный» способ переделки – это сделать из клавиатуры, классическую DIN-клавиатуру. Нужно будет выкинуть часть преобразователя из 12-ти вольтового питания в 5 вольт, и преобразователь интерфейса RS-423, чтобы всё соответствовало TTL-логике. Затем заменить прошивку в ПЗУ. Схемы клавиатуры можно найти в паспортах на сайте.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


В журнале «Радио» за ноябрь 1991 года было техническое описание такой переделки.

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


И там даётся текстовое описание, что нужно сделать с клавиатурой. Единственное, что может вызвать проблемы – это набор кода вручную, а также найти программатор и УФ стиратель, чтобы стереть и прошить ПЗУ. Подробнее, как это сделать, можно прочитать в моей статье "Что с памятью моею стало".

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР


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

Подключение советской клавиатуры Электроника МС 7004 к современному ПК Timeweb, Электроника, Длиннопост, Клавиатура, Инженерия, Электрика, IT, СССР

Раскладка после переделки из журнала «Радио»

Как видно, остаётся достаточно много свободных клавиш, которым можно добавить нужный функционал, например, добавить клавишу Win, скан-коды которой, соответственно, 0x5B левой и 0x5C – правой.

Но, если вам этот путь кажется сложным, есть другой вариант – это заменить микроконтроллер КМ1816ВЕ48 на Arduino Leonardo и уже ей заниматься сканированием клавиш. Схему питания тоже придётся переделывать, но на выходе уже получим USB-HID. Но, в любом случае мы потеряем в аутентичности.

❯ Выводы


Проковырявшись месяц с этим проектом, посидев за кодом, так и не пришёл к элегантному решению подключения клавиатуры к ПК. Вроде бы всё и так ясно, но вот чтобы было красиво, так и не придумал. В результате проект был заброшен на шкаф, а впоследствии всё оборудование было распродано, включая саму клавиатуру.

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

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 19
Timeweb Электроника Длиннопост Клавиатура Инженерия Электрика IT СССР
18
60
Timeweb.Cloud
Timeweb.Cloud
2 года назад
IT минувших дней
Серия Старое железо

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад⁠⁠

Автор: OldFashionedEngineer

Оригинальный материал

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Привет, хабр!

Предлагаю вашему вниманию ретроспективу совершенно замечательной микропроцессорной лаборатории “Микролаб КР580ИК80 907”, выполненной в духе ядерного чемоданчика. Именно так выглядели одноплатные компьютеры конца эпохи холодной войны, эдакая Raspberry Pi конца 70-х годов. Всем, кто желает вместе со мной погрузиться в пучину воспоминаний или просто послушать, как старики мучились инженеры старшего поколения осваивали микропроцессорную технику, прошу под кат.

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

Уже в техникуме с помощью калькуляторов нас пытали расчетами спектра сигналов, параметров фильтров и согласующих устройств, построением диаграмм направленности различных антенн. Все эти бублики на миллиметровке до сих пор мерещатся в кошмарных снах. И казалось, что места в моей жизни для вычислительной техники уже не останется. Но все кардинально изменилось благодаря короткому 72-х часовому курсу вычислительной техники, который практически факультативно преподавали нам на старших курсах.

После таких тягучих разборов команд для процессора КР580ВМ80А (аналог Intel 8080А) на микропрограммном уровне, лабораторные работы стали как гром среди ясного неба! Вот тот переломный момент, который надолго изменил мои профессиональные предпочтения. Я полностью утратил интерес к радио и телевидению, и переключился на микроконтроллеры.

Лабораторные работы проводились на основе микропроцессорной лаборатории “Микролаб КР580ИК80 907”. Эта учебная ЭВМ предназначалась для изучения основ работы микропроцессорных систем и общих принципов программирования в машинных кодах, а также освоения приемов отладки встраиваемого программного обеспечения. К сожалению, в русском сегменте интернета не так много упоминаний об этом устройстве, но одну ссылочку для вас мне удалось найти.

Кому интересно, микролаборатория обладала двумя блоками ОЗУ по одному килобайту для размещения кода программ и данных. Дополнительно на панельке могла размещаться микросхема ПЗУ. Именно такая микросхема заставляет чемодан петь на видео в начале статьи, шла она в комплекте с устройством. Сам же процессор КР580ВМ80А имел 16 разрядную шину адреса и 8 разрядную шину данных, и мог работать на частотах до 2,5МГц. Конечно же выполнение команд занимало далеко не по одному такту. Но все же производительность процессора была близка к современным 8-ми битным микроконтроллерам.
Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Невооруженным глазом было понятно, что наша “микролаб” являлась аналогом американской микролаборатории «Hewlett-Packard 5036A», базировавшейся на процессоре Intel 8085. Более подробно об этом девайсе можно почитать на сайте HP. Но конечно же это стало очевидным для меня значительно позже. Оригинальная лаборатория от HP на десять лет определила нашу, ну или, точнее сказать, наша отстала на десять лет. Hewlett-Packard 5036A вышла в 70-х годах прошлого века. А наша родная “Микролаб КР580ИК80 907” примерно в 1983 году. Хорошо это или плохо? Я лично считаю, что хорошо. Ибо в образовании нет понятия плагиат, все делается на благо обучаемым. И именно благодаря тому, что в моей жизни был этот “чемоданчик”, я совершенно спокойно оперирую со всеми этими флагами и битовыми масками в микроконтроллерах.

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Примечательно только то, что устройство, по сути лабораторного стенда, было выполнено максимально наглядно. Своими глазами можно было наблюдать печатную плату и установленные на ней компоненты. А как элегантно с помощью маски и шелкографии на печатной плате была представлена структура ЭВМ. Разработчики явно подошли к задаче со знанием дела, и не только западные, но и наши, т. к. все-таки наша микролаб не была полной копией зарубежного прототипа.

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

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

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Предохранители на 2А и огроменные сетевые трансформаторы предавали устройству дополнительной солидности, а кейс “дипломат”, в который оно облачено, наводили особый лоск. Несмотря на солидный вес и размеры, по тем меркам устройство вполне можно было считать мобильным.

Боковой разъем позволял подключать различные платы расширения, в том числе и самодельные.

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Никакого компилятора в комплекте к компьютеру не поставлялось, кроме размещенной на внутренней части крышки бумажной таблицы с командами процессора. Поэтому голову приходилось подключать основательно. Программа составлялась на ассемблере карандашом в тетрадке. Затем полученную программу нужно было преобразовать в машинный код с учетом карты памяти учебной микро ЭВМ. К счастью, сейчас все это за нас делают различные линкеры и компиляторы.

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Средством управления “компьютером” служит системный монитор: встроенная в ПЗУ программа, позволяющая считывать данные с клавиатуры, выводить их на дисплей, и обрабатывать вводимые команды. Замечу, что клавиатура была шестнадцатеричной. Это немного упрощало процесс работы, ведь сличать с записями в тетрадке двоичные коды было бы просто невыносимо.

Микропроцессорная лаборатория «Микролаб КР580ИК80 907». Разработка и отладка встроенного ПО полвека назад IT, Познавательно, Идея, Научпоп, История IT, Старое железо, СССР, Ретро, Длиннопост, Timeweb, История, Техника

Левая половина дисплея предназначалась для отображения адреса ячейки памяти. Правая – отображала содержимое этой ячейки, либо записываемые в нее данные. На светодиодах можно было видеть флаги состояния процессора. А замечательный двухпозиционный переключатель позволял переводить систему в режим автоматического или пошагового тактирования.

В автоматическом режиме можно было наблюдать за работой программы в реальном времени. В пошаговом режиме можно контролировать результат выполнения отдельных команд. На дисплее выводить содержимое регистров процессора и анализировать свою программу. Сейчас все это и даже больше позволяют выполнять различные внутрисхемные эмуляторы.

Никакой возможности записать свою программу в ПЗУ во время лабораторных работ нам не предоставлялось. И это было хорошим стимулом сдать работу прямо во время занятия, чтобы потом повторно не вбивать в память все это многообразие машинных кодов.

На самом деле, я рад, что успел зацепить ту эпоху и у меня имелась возможность посмотреть на работу процессора “изнутри”. И пусть даже процессор был аналогом западного, да и сама учебная ЭВМ тоже, но важно, что это было!

Если вам понравилась эта статья, вы можете посмотреть, во что вылилось моё увлечение ретро электроникой в одной из моих предыдущих записей.

P.S. Отдельно хотелось бы запечатлеть здесь слова благодарности моему камраду R5PM из Богородицка за предоставленные по моей просьбе фотографии и видеозапись с сохранившегося у него экземпляра. Подумать только, его экземпляр микролаборатории сохраняет работоспособность уже четвертый десяток лет.

P.P.S. На некоторых известных интернет-барахолках и сегодня можно встретить Микролаб КР580ИК80, правда в разных состояниях сохранности. И средняя стоимость может составлять до 20 тысяч рублей за рабочий экземпляр.

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 7
IT Познавательно Идея Научпоп История IT Старое железо СССР Ретро Длиннопост Timeweb История Техника
19
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии