Недокументированные возможности
Для экономии места разработчики сильно упростили микрокод при обработке ошибок и различных нестандартных ситуаций, что породило множество недокументированных возможностей; например, если в моделях поздних выпусков переключатель «градусы-радианы» поставить в среднее положение, то калькулятор будет считать тригонометрические функции в градах.
Множество прочих неожиданных и трудно предсказуемых недокументированных возможностей были объектами регулярных любительских исследований и публикаций в известных журналах; некоторые из них даже использовались в играх и прочих программах. Например,
Недокументированные возможности
Для экономии места разработчики сильно упростили микрокод при обработке ошибок и различных нестандартных ситуаций, что породило множество недокументированных возможностей; например, если в моделях поздних выпусков переключатель «градусы-радианы» поставить в среднее положение, то калькулятор будет считать тригонометрические функции в градах.
Множество прочих неожиданных и трудно предсказуемых недокументированных возможностей были объектами регулярных любительских исследований и публикаций в известных журналах; некоторые из них даже использовались в играх и прочих программах. Например,
ПРОГРАММИРУЕМЫЙ МИКРОКАЛЬКУЛЯТОР «БЗ-34»
Модель БЗ-34 пришла на смену первому советскому ПМК «БЗ-21», используя тот же корпус и тот же источник питания. Люминисцентный индикатор давал более приятный свет и лучший обзор, но, конечно, главным было не это. Новый ПМК содержал принципиально другой набор команд и другую систему их кодирования.
Появились команды циклов, а самое важное — команды косвенной адресации. Кольцевой стек стал линейным и уменьшился в размере, но зато увеличилось число регистров памяти и появился регистр для хранения последнего операнда
Ну, и число шагов программы тоже на 50% выросло.
Если БЗ-21 позволял решать многие, но далеко не все задачи, да и программировать на нем было не просто, то БЗ-34 снял почти все ограничения и дал простор фантазии программиста. А кроме того, удобная и логичная система кодирования команд позволяла легко и быстро запомнить все коды, что многократно ускоряло процесс ввода и отладки программ.
Многие популярные журналы регулярно печатали статьи и программы для этого ПМК, выпускались десятки книг-сборников с программами от математики до водоснабжения. Модель стала чрезвычайно популярной и распространенной, не только облегчая труд студентам и ученым, но и помогая многим обычным людям реально почувствовать себя программистами, творцами. Ведь каждая программа — это нечто почти живое, со своими способностями и своим характером (иногда довольно строптивым).
С БЗ-34 был связан еще один интересный момент. Как известно, практически все карманные калькуляторы (с самосветящимися индикаторами уж точно) могли работать как от батареек, так и от сети через выносной блок. При соединении разъема блока в корпус МК батарейки автоматически отключались (для заряда аккумуляторов блок питания имел отдельный контакт и разъем это учитывал).
Так вот, в случае отключения света МК оставался без питания, а значит, счет по программе (иногда очень долгий) прерывался, а сама программа и все данные из памяти пропадали. Да и вдруг надо срочно его куда-то перенести во время работы? И в одном из журналов была опубликована простая электрическая схема. Всего лишь один диод, впаянный в корпусе МК между контактом батарейки и внешним входом питания, позволял превратить МК в подобие современного ноутбука.
Идея была простой: когда включен блок питания, напряжение на нем выше батареечного и диод закрывается, изолируя батарею. Но как только внешнее напряжение упадет — диод откроется и МК мгновенно получит спасительную энергию от батареи. Конечно, сам диод имеет некоторое сопротивление (в журнале перечислялись подходящие для монтажа марки диодов) и часть энергии батареи уйдет впустую. Но зато какое повышение надежности! Я сделал своему БЗ-34 такой диод и много раз это спасало положение…
БЗ-34 прослужил мне много лет (хотя ему дважды пришлось менять индикатор) и только недавно совсем перестал работать… Когда он окончательно вышел из строя, я решил его разобрать и показать внутренность сыну. Ему для игр очень пригодились золотые «монеты» — контакты клавиш. Вот из-за них, видимо, клавиатура и выдерживала многие годы очень большие нагрузки. Делали ведь раньше!..
Что ж, спасибо ему за приятно проведенные часы и за навыки программирования, полезные мне даже сейчас.
На отдельной странице можно посмотреть коды команд «МК-52», которые частично подходят и «Б3-34».