Sergei Frolov (sfrolov) wrote,
Sergei Frolov
sfrolov

Categories:

Эмулятор "Электроники Б3-34"

Знаете, чем отличается эмулятор от симулятора?
В двух словах, симулятор - это попытка воспроизвести предмет так, как мы его представляем, а эмулятор - так, как он есть на самом деле.
Например, чтобы сделать симулятор компьютера "ZX Spectrum", можно написать самому Бейсик, почти такой же, как на ZX, примерно такие же графические режимы и т. д.
А такой же эмулятор - это точное воспроизведение работы видеосистемы, процессора Z80 и главное - прогона его родного ПЗУ с прошивкой. Тогда будут идти все программы, работать все режимы и т. д.



Микрокалькуляторы семейства "Электроники Б3-34" ( http://www.leningrad.su/museum/show_calc.php?n=47 ) славились своим количеством недокументированных функций. Популярные журналы "Техника - молодежи" и другие посвящали целые серии специальных выпусков для обсуждения его режимов и способов формирования различных видеосообщений на дисплее калькулятора. Появилась даже целая наука - "ЕГГОГОЛОГИЯ" ( http://ru.wikipedia.org/wiki/Еггогология )

Эти недокументированные функции оказались очень сложными даже для симуляции, потому что никто не мог точно понять причины появления тех или иных режимов. А об эмуляторе не могло идти и речи, потому что сама прошивка была неизвестна и оставалась спрятанной в калькуляторных чипах.
Такая ситуация происходила до тех пор, пока Феликс Лазарев в корне не изменил эту ситуацию.
Ему удалось при помощи металлургического оптического микроскопа с фокальной подсветкой и цифровой камерой на 10 мегапикселей получить сканы топологии процессорных чипов, при помощи книги Трохименко, где он описывает систему команд процессора, разобраться, что там к чему, и на днях на базе программы "Калькуляторы 3000" Евгения Троицкого эмулятор заработал!
Вот ссылки на проект и эмулятор.

http://code.google.com/p/emu145/
http://www.emulator3000.org/c3.htm

Словами тут многое не объяснишь, надо туда идти и смотреть.

В итоге заработали ВСЕ недокументированные функции! Это - большое событие в нашем калькуляторном мире. Всем вышеперечисленным товарищам - большой респект и уважение за проделанную колоссальную работу!

А напоследок приведу мой любимый пример программы, которая зажигает почти все сегменты на индикаторе Б3-34 - десять восьмерок и два нуля, и без пробелов.

Программа:

[F] [ПРГ]
[F] [x^2] [F] [x^2] [F] [x^2] [К] [П] [0] [Cx] [с/п] [БП] [00]
Вводим:
[F] [АВТ]
8.8888888 [ВП] 88 [П] [C]
14 [П] [0]
1 [ВП] 90 [В/О] [С/П]
[К] [ИП] [0]
1 [ВП] 85 [В/О] [С/П]
[ИП] [d]
[ИП] [С]
[F] [АВТ]
[ИП] [B]
[ИП] [B]
[F] [АВТ]


UPD: А если вместо 8.8888888е88 в регистр С занести 8.8888888е888, то останется всего один ноль.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 84 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →