Как стать автором
Обновить
17
0
Русский Калькуляторщик @RusCalc

Инженер-программист

Отправить сообщение

Спасибо за замечание, исправил.

Интересная работа. Но я бы всё же сказал, что это не декомпилятор, а дизассемблер. Собственно, в подобном коде прошивка, по всей видимости, и писалась, а не на чём-то более высокоуровневом, вроде C, во что можно было бы в принципе декомпилировать. Я выше уже писал, что проводил подобные опыты, но понятнее код не стал, выявив лишь наиболее очевидные пути исполнения (например, нашлись команды, где лежит слово ЕГГОГ, или какие инициализируют память и ждут ввод). Даже подумывал дописать автоматический оптимизатор, но руки как-то не дошли.

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

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

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

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


Я, честно говоря, так и не понял смысл разработки этих устройств.

Я тоже. Судя по всему, разработчики хотели выехать именно на волне "ностальгии", примазавшись к отечественной серии калькуляторов (не имея на это ровным счётом никаких оснований), но это даже мне, без всяких маркетинговых исследований, кажется абсурдом, особенно учитывая какие-то невменяемые цены, завышенные на порядки в сравнении со стоимостью комплектующих. Разработчики ещё что-то писали про использование этих поделок как управляющих/контролирующих устройств на производстве или что-то в этом духе, но это такой же бред — они там и даром никому не сдались. А может, рекламный ход такой: хоть кто-то теперь, пусть краем уха, но услышал, что в Новосибирске существует такая фирма.

Ну так регистры M, R и ST по 42 слова, две памяти по 252, итого 42 * 3 * 3 + 252 * 2 = 882 слова (т. е. всё то, что выведено на этой странице). А раз считаем 8-битными байтами, то делим на 2. Всякие ЛТП и S/S1 по очевидным причинам здесь не учитываем. Разумеется, сам термин "оперативная память" сюда за уши и другие концы тела притянут, поскольку это по сути внутренние регистры процессоров, а доступ к памяти последовательный, но функционально — оно самое.

Спасибо, было интересно ознакомиться с Вашим опытом.
Прокомментирую некоторые моменты, надеюсь, Вы не против.


Также у калькулятора было 15 регистров для хранения данных и 105 байт оперативной памяти.

Всё-таки оперативной памятью у него является всё, что не хранится в ПЗУ (ну за исключением специальных регистров процессора). Т. е. формально у МК-61 есть 441 байт оперативки. Если же мы понимаем под оперативной памятью только то, чем может оперировать пользовательская программа, то ведь МК-61 не следует в полной мере принципам архитектуры Неймана-Лебедева, по которым программы и данные логически представлены в одной памяти, а оперативки у него тогда всего 10 байтов (регистры + стек).


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

Очень даже возможно. Только это мало кому придёт в голову, потому что понадобится далеко не один экземпляр МК-61 и утомительный процесс с переброской данных между ними. Вот, например, программа, выполняющая шифрование по ГОСТ 28147-89 при помощи двух калькуляторов.


Клуб любителей игровых программ (КЛИП) своеобразная социальная сеть

Я бы очень удивился, узнав, что, поучаствовав когда-то в переписке по интересам, вдруг стал пользователем "социальных сетей".


существует продолжение серии: МК-152/162

К серии советских калькуляторов они имеют очень опосредованное отношение.

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

Кстати, насколько помню, в книге есть некоторые неточности, которые устранили только при восстановлении кода и разработке эмуляторов. Например, микроприказ №6, пихающий в альфу сумматора константу 4, у Трохименка напрочь отсутствует (с. 111), в итоге микрокоманда у него 27-битная.

Ну так вот похожий инструмент. Можно расписать действие каждой команды, пробовали такое делать. Много ли это дало?
Вот, например, разбор команды №30 ИК1302, которая принимает участие в выводе сообщения "ЕГГОГ":


S = R[0];
ОТ сч = 0 ДО 30 ПО 3:
    R[сч] = R[сч + 3];
пам = R[33]; R[33] = S; S = пам;
ЕСЛИ S1 == 0xF:
    L = 1; S1 = 0;
ИНАЧЕ:
    L = 0; S1 = S1 + 1;
R[36] += L;
L = 0;
S = R[41];
Я бы не сказал, что этот пресловутый ЕГГОГ вообще кому-то был нужен. Можно было, например, просто индикатор прочерками забить. А вот минус и пустое место — это да. Так-то семисегментного знакоместа действительно хватает для шестнадцатеричных символов.
Не продавать, а продвигать. Вы, видимо, недооцениваете пропагандистско-рекламный потенциал этого сайта, а он, к сожалению, пока весьма велик.
Ну да, исполнитель этого самого кода.
Разумеется, микрокод там — просто набор числовых массивов (строки 1289—1845). Думаю, было бы лишним цитировать его в статье.
Такое ощущение, что статью целиком никто не читает. Разместил же ссылку на этот же самый эмулятор, только версией поновее лет на пять, ещё и фрагменты кода разбирал, указав, что это JavaScript.
Ну не совсем, коды команд-то всё равно с ихней помощью выводились, те же косвенные переходы; да и основное назначение кодов A и F — минус и пробел — одинаково что в Б3-34, что в МК-61.
На эмуляторе вводить и отлаживать проще, чем на реальном калькуляторе:
image

А косинус тут просто-напросто для определения чётности номера клетки во время хода игрока.
Согласен, упоминать Википедию в приличном обществе — это вообще моветон. Но давайте не будем снобами и будем называть вещи своими именами.
А какая вообще разница, маленькие они или большие? Для простого человека это выглядит одинаково бессмысленно и нелепо: image

При этом не стоит забывать, что шестнадцатеричные цифры в МК-61 иногда тоже используются, обозначаясь символами "-", «L», «C», «Г», «E», " ".
«A» используется как знак минуса, «F» — как пустой разряд.
Да, учитывая хаос 90-х, рассчитывать на то, что документация была заботливо сохранена, вряд ли стоит. Я. К. Трохименко и так постарался, так сказать, сохранить для потомков хоть какую-то информацию, издав целую книгу по теме.
Почему же к счастью?
1

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность