Финальная битва электронных чернил с сообществом калькуляторостроителей

О чем это все?

Невидимая рука рынка напряглась и сделала электронные чернила вполне доступными по цене для среднестатистического ардуиностроителя. Я не смог устоять и стал создавать "умную фоторамку" на основе Raspberry Pi Zero W, 7.5-дюймового трёхцветного eInk дисплея и опенсорного календаря. В процессе создания увлекся и приобрёл комплект поменьше, суммарной стоимостью 36$:

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

А потом подумалось - а что, если?

На сайте википедии производителя есть исходники Ардуино библиотеки с примерами, а также мануал.
Забегая вперед, скажу, что свежая Arduino IDE поддерживает ESP32 уже очень неплохо, вышеупомянутая библиотека установилась и скомпилировалась как по маслу.

Дальше будет много картинок

Общий вид комплекта в защитной коробке. Справа видна платка с microSD карточкой, но об этом будет ниже:
Общий вид комплекта

Плата драйвера eInk дисплея на основе ESP32-WROOM32:
Плата драйвера дисплея

Пример 1 из Ардуино библиотеки:
Пример 1

Пример 2 из Ардуино библиотеки:
Пример 2

И тут попался на глаза другой опенсорный проект:

RunCPM - Z80 CP/M 2.2 emulator.

Цитата с гитхаба проекта:

RunCPM is an application which can execute vintage CP/M 8 bits programs on many modern platforms, like Windows, Mac OS X, Linux, FreeBSD, MS-DOS, Arduino DUE and variants, like the Teensy or ESP32. It can be built both on 32 and 64 bits host environments and should be easily portable to other platforms.
RunCPM is fully written in C and in a modular way, so porting to other platforms should be only a matter of writing an abstraction layer file for it. No modification to the main code modules should be necessary.

If you miss using powerful programs like Wordstar, dBaseII, mBasic and others, then RunCPM is for you. It is very stable and fun to use.
RunCPM emulates CP/M 2.2 from Digital Research as close as possible, the only difference being that it uses regular folders on the host instead of disk images.

CP/M! Z80! Пальцы потянулись к клавиатуре, чтобы склонировать проект и открыть Visual Studio. Собралось как швейцарские часы.

Сборка под Windows и запуск в новом и замечательном "десяточном" терминале старой классики, написанной на Майкрософтовском Бейсике, выветрили из меня туман сомнений - а тепло и лампово ли будет?
Игра

А дальше?

А дальше было делом примерно получаса - руководствуясь схемой и мануалом все с той же вики-страницы, я подцепил платку со слотом для microSD карточки, на которой я создал каталоги для имитации флоппи-дисков CP/M системы. Распаковал туда архив с CP/M софтом. После чего подправил номера GPIO, которые в моей плате отведены под "железный" порт SPI и залил Ардуиновский скетч в платку.

Снова все заработало как часы:
CPM on esp32

Это все понятно, а дальше-то что?

Пока не знаю. Очень хочется вывести консоль CP/M на данный eInk дисплей, и тут навскидку мышеловками в икеевской сумке лежат проблемы:

  • Поддержки дисплеев в проекте CP/M пока нет, придется писать самому
  • Этот eInk дисплей очень медленный, потому что ни разу не полноценная и дорогая еЧиталка, а нечто бюджетное
  • eInk дисплей и ардуино-библиотека, теоретически, поддерживают частичное обновление, но насколько быстро это работает, и какое количество артефактов будет появляться перед тем, как будет сделан "полный сброс" дисплея - неизвестно

Но очень хочется увидеть консоль CP/M на этом дисплее! У меня есть небольшая PS/2 клавиатура от какого-то большого осциллографа, она выглядит очень аутентично и лампово. При помощи 3Д принтера и надфиля можно сделать чудо и вставить этот комплект внутрь клавиатуры, оставив дисплей откидывающимся вверх. Добавить питание от аккумулятора или моих любимых АА-батареек - и компьютерокалькулятор мечты может ....

Комментарии

400x300 это очхорошо. На МК-161 всего 128x64, и там вполне себе на Форте можно писать. Да и не только.

Да, 400х300 на еInk отрисовывают очень точный и прецизионный текст и графику, из-за большой контрастности. Попробую поэкспериментировать с частичной отрисовкой, если получится, сделаю видео.

А с точки зрения вычислительной платформы - да что угодно можно на этом сделать

Несмотря на мое предпочтение клавишам, признаю, что на сенсорном цветном e-Ink можно было бы сделать практически любой калькулятор :)

Для этого надо всего лишь купить еЧиталку под линуксом на цветном еИнк :)

А касательные (щупательные, осязательные; тактильные, сенсорные) чернила существуют, по вменяемой цене?

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

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

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