Ретроконсоль MK-61s
«МК-61s»: часы на экране
Выяснилось, что на борту ретроконсоли «
Вывел в интерфейс их настройку, приспособил их к энтропии генератора случайных чисел и задумался, куда бы их поместить на экране моего экземпляра
Пока ехал с работы домой, пришла мысль попробовать выделить под них два программируемых знакоместа,
Нашёл очень маленький шрифт, но две цифры помещались в каждую позицию только наискосок, и выглядело это плохо. В итоге взял редактор и нарисовал шрифт размером 2×5, в котором неплохо уместились все цифры. Восьмёрка получилась немного сомнительной, но главное — вполне читаемой. В итоге, правда, пришлось выделить три места, так как без двоеточия смотрелось так себе, а с ним в две позиции уже никак не умещалось.
Как шрифт выглядит на реальном устройстве с сомнительной «восьмёркой» можно увидеть на фотографии ниже:
«МК-61» и случайные числа
Один из досадных инженерных промахов «Электроники
Меня, если честно, это давно расстраивает, но я
В итоге мы решили брать шум с нескольких пинов, плюс замерять задержки между нажатиями и коды нажатых пользователем клавиш. В настройках появилось управление генератором случайных чисел — режим совместимости и новый режим, перехватывающий команду К СЧ калькулятора и подсовывающий ему значение из нового генератора.
Распределение сильно лучше: на десяти тысячах запусков старый генератор дал 179 случайных значений, а новый — 9957.
«МК61s»: распробовал «Фейбл 5»
Самая сложная задача, которую пришлось решать для ретроконсоли «MK61s», — это монтирование её как диска. В прежней прошивке программы были зашиты внутрь, и пользовательского способа сохранить туда новые программы не существовало. Я подумал, что раз есть
Перебрав в голове все варианты, я решил делать эмуляцию FAT12. Напрямую она не подходила: не очень хорошо ложится
Этот путь тоже не был безоблачным, проблем хватало. Система, к которой подключён такой диск, не пишет файлы последовательно, то есть там нет команд вроде: «мы начали писать вот такой файл, вот его полное упорядоченное содержимое, а вот и конец». Система пишет кусками, причём это могут быть куски разных файлов вперемешку. Их нужно получить в буфер, а по окончании аккуратно разобрать на файлы, найдя там же метаинформацию, из которой можно получить имя файла. Нетривиальная задача, на самом деле.
Я написал
В итоге, я открыл сеть «Фейбл 5», описал ей проблему и она задумалась минут на двадцать, после чего начала неспешно писать код, в котором проблема была исправлена. Без отладки, без тестов, без диагностики. Задачу я ставил в минимальной формулировке, почти буквально «пять файлов копирую, оно падает», а «Фейбл» разобрала весь код, увидела проблему и решила, даже ни разу ничего не запустив.
Что я хотел сказать этой историей — человек так не сможет.
«МК-61s»: русские буквы
Вчера я писал, что сделал ретроконсоли «
Как же делается русификация? Секрет в том, что в позициях от нуля до семи стоят символы, которые можно определять самостоятельно. Пришлось написать упаковщик, который, выводя на экран русские символы, на самом деле заменяет их латиницей, а те буквы, которые есть только в русском, распихивает по восьми символам, которые можно рисовать самостоятельно. Если позиций не хватает, пытается минимально изуродовать вывод, заменяя «Ч» на «4» и «У» на «Y».
Пока работает идеально, глюков не было — во тех фразах, что используются в интерфейсе, восьми дополнительных символов хватает, а пользователь русские символы ввести не может — для этого нет никаких средств.
Доработка «МК-61s»
Программировать всякие железки — увлекательнейшее занятие. За ночь и утро я её русифицировал (решив проблему распихивания русских букв на восьми программируемым знакоместам), выделил слой примитивов работы с экраном, что позволило объединить две прошивки в одну, добавил интепретаторы двух языков (Бейсик и Фокал), сделал файловую систему с монтированием этой системы на компьютере и ещё многое другое.
Бейсик планировали сделать в сообществе и я его прикрутил строго по техзаданию, но мне не понравился режим ввода букв — на клавиатуре калькулятора нет способа ввода алфавита, не нужно было, поэтому в Бейсике предлагалось нанести на клавиатуру ещё один слой клавиш со своей уникальной раскладкой.
Запомнить это тяжело, поэтому я и реализовал Фокал. Не совсем чистый, его диалект. В Фокале каждое ключевое слово начинается на свою собственную букву. Их вообще можно не дописывать, а так и оставить однобуквенными — Фокал их и в такой форме понимает.
В «
Я попробовал, так гораздо проще набирать программы. Мне кажется, что от Бейсика надо избавиться и, если уж хочется иметь в этой консоли
Ретроконсоль «МК-61s»
Мне довольно быстро дошла посылка с собранной ретроконсолью «
Ещё не успел как следует разобраться, только включил: правильно догадался, что за включение отвечает рычажок справа. Надо будет хотя бы инструкцию почитать, а то я пока даже не знаю, как к нему подступиться.
Пока интересует, как в него заливать свежую прошивку, что делает рычажок сверху и почему у него два
Дополнено: немножко разобрался, но вопросов стало только больше. Для работы с прошивкой предназначен разъём слева, устройство надо перевести в режим DFU через меню. Но, самое главное, — дата прошивки 10 мая 2026 года, а репозиторий устройства не обновлялся уже восемь месяцев. Вопрос — где же идёт работа?
Да и размеры не совпадают. Я слил прошивку с устройства, она там занимает около 80КБ, тогда как, если собрать прошивку из репозитория, она займёт около 60. Ничего не понимаю.