Интерес к простым и энергоэффективным вычислениям привёл к неожиданному эксперименту — запуску Photoshop на компьютерном чипе стоимостью около 60 пенсов. Сам факт, что это вообще возможно, впечатляет.

Фото: монохромный экран с Adobe Photoshop и простым рисунком, работающий на эмулированном Apple Macintosh
Разумеется, речь не идёт о редактировании цветной детализированной фотографии, но «автопортрет», получившийся в итоге, определённо не совершит революцию в мире иллюстрации.
Эксперимент построен на эмуляции старого Apple Mac на чипе Raspberry Pi RP2350, который можно купить примерно за 60 пенсов. С учётом дополнительных компонентов компьютер, эквивалентный середине 1990-х, сегодня можно собрать в единичном экземпляре за несколько фунтов — цена чашки кофе с пирожным в европейском кафе.
С поправкой на инфляцию Macintosh SE, аналог которого эмулируется, сегодня стоил бы около £9554. Цена найдена в обзоре из журнала Personal Computer World за 1989 год, а для перевода первоначальной цены в £3495 в современные деньги использован калькулятор инфляции Банка Англии.
Как ни считай — компьютеры сегодня стали намного дешевле, а описанный чип обходится дешевле любого современного ПК.
Тот же эмулированный Mac способен запускать и другое ПО — например, текстовый редактор WordPerfect, популярный в своё время. Печатать в нём оказалось на удивление приятно: минималистичный интерфейс без отвлекающих факторов резко контрастирует с современным MacBook, заваленным уведомлениями и перегруженными экранами.

Фото: WordPerfect 1.0 на эмулированном Apple Macintosh
Иногда подобные эксперименты рождают новые идеи. Простые и энергоэффективные компьютеры вызывают живой интерес, поэтому возникает вопрос: каким должен быть минимально жизнеспособный современный компьютер? Чип за 60 пенсов — не самый дешёвый вариант из возможных, но соотношение вычислительной мощности к цене у него впечатляющее.
Условно это эквивалент компьютера середины 1990-х (два процессора по 150 МГц, легко добавляется 4 Мб оперативной памяти и гигабайты хранилища). В то время люди уже готовили презентации, писали документы, работали с таблицами, отправляли почту и — пусть в упрощённом виде — просматривали веб-страницы. Во многом это не сильно отличается от сегодняшнего использования компьютеров.
Отсюда возникает ряд вопросов. Как обеспечить вычислениями тех, кто хочет или вынужден тратить свои ресурсы на что-то другое? Как мог бы выглядеть сверхтонкий и сверхлёгкий ноутбук? Возможно, с экраном на электронных чернилах — спокойным для глаз. Мог бы он работать на солнечной энергии? Мог бы иметь более спокойный, менее перегруженный и менее отвлекающий интерфейс по сравнению с современными операционными системами, сохраняя схожий функционал? Мог бы такой компьютер служить долго, с надёжным ПО, не отправляясь на свалку каждые несколько лет? Достаточно ли у него мощности и качества, чтобы стать частью персональной музыкальной системы? Способен ли он снизить зависимость от современных устройств и остановить бесконечный скроллинг?
Относительная простота такого чипа по сравнению с более мощными аналогами (и вытекающие из этого программные ограничения) означает, что весь компьютер — при должных усилиях нужных людей — остаётся достаточно понятным, всё документировано, а энергопотребление ниже.
Если бы такой компьютер заменил телефон или ноутбук — чего бы не хватало? Возможность читать веб-страницы, писать тексты и слушать музыку закрыла бы большую часть повседневных нужд. Понадобился бы какой-то мессенджер и, вероятно, карты — их можно было бы показывать в упрощённом стиле, наподобие бумажного атласа с перелистыванием страниц. Но такой компромисс между функциональностью и энергопотреблением мог бы пригодиться в удалённых местах без возможности зарядить смартфон — например, велотуристам.Устройство могло бы (медленно) снимать и показывать зернистые фотографии, но видео и качественные снимки оказались бы недоступны. Впрочем, сохранение видео для просмотра позже, на домашнем экране, вероятно, более здоровый способ потребления контента, чем постоянное отвлечение на него, а отдельная цифровая камера не была бы большой жертвой.
Современный веб, к сожалению, слишком сложен для просмотра на подобном устройстве, но переходным решением могло бы стать конвертирующее ПО, работающее на более мощных компьютерах. Браузер для протокола Gemini вполне реализуем. Wi-Fi-чип на такой плате уже есть, а вот сложность современных сетей 4G и 5G может стать серьёзным вызовом. У Adafruit есть демонстрация IRC-клиента, работающего на этом чипе.
Возможно, это наивная ностальгия по прошлому, которого никогда не существовало. Но важно задумываться о компромиссах, на которые идут современные компьютеры, и, возможно, эксперименты подобного рода помогают делать технику добрее — эта мысль обсуждается Джеймсом в его посте, написанном после совместного обсуждения темы. Здесь есть пересечения с сообществами солнечного панка и пермакомпьютинга. Компьютеры на солнечной энергии, уважающие приватность и поддающиеся модификации под личные нужды, — образ увлекательного и позитивного будущего.
Интересно представить альтернативный мир, где подобные современные чипы появились бы гораздо раньше, принеся немыслимую по тем временам вычислительную мощность и объём памяти за копейки. Как эволюционировали бы компьютеры и как бы они выглядели сегодня?
Технические заметки для тех, кто хочет повторить
То же оборудование, что использовалось для эмулятора Commodore PET, подходит для запуска эмулятора pico-mac с VGA-выходом. Для WordPerfect и Photoshop, вероятно, потребуется больше оперативной памяти — придётся добавить отдельный чип RAM.
Это ПО может работать на Pi Pico2 с адаптером DVI sock для HDMI, USB-адаптером и адаптером SD-карты, но в данном случае этот путь не использовался — понадобилось бы заказывать и паять дополнительные детали и память. Вместо этого нашлись готовые открытые решения, объединяющие все компоненты на одной плате:
- ZeroFrank — компактная плата
- Pico Computer 3 и PicoMiteHDMIUSB от Питера Мэзера
- Olimex RP2350pc
Выбор пал на Adafruit Fruit Jam, который продаётся в собранном виде — удобно при не самых уверенных навыках пайки.
Плюсы:
- Fruit Jam поставляется с Wi-Fi, ИК-пультом и готовым образом Circuit Python, использующим HDMI и клавиатуру как терминал. Есть идея другого проекта, для которого пригодятся Wi-Fi и инфракрасный порт.
- У Fruit Jam есть готовый эмулятор Mac и симпатичный корпус, напечатанный на 3D-принтере.
Минусы:
- Fruit Jam использует другую схему разводки по сравнению с остальными платами: свои GPIO-пины для SD-карты и PIO для управления USB-портами. Из-за этого ПО, написанное для других плат, без доработки не запустится. Есть желание попробовать операционную систему Fuzix и эмуляторы BBC Micro, но для этого придётся разобраться с добавлением поддержки PIO USB.
Что было сделано
С Fruit Jam обошлось без сложных доработок — достаточно было следовать инструкции, но образ был кастомизирован для добавления дополнительного ПО:
- На плату установлен образ 4096k-1280x720-psram-oc.
- Загружен образ SD-карты.
- Образ загружен в эмулятор Mini vMac.
- На Macintosh Repository найден диск с большим количеством софта, распакованный из SIT-архива с помощью утилиты 'unar' (установленной командой
brew install unar). - Из эмулятора программы скопированы на основной диск, после чего эмулятор закрыт.
- SD-карта отформатирована в FAT, на неё скопирован файл образа эмулятора и переименован в "umac0w.img". Затем пришлось воспользоваться Linux-компьютером, чтобы удалить лишние файлы, добавленные Mac — именно они мешали эмулятору: он застревал в цикле и не загружался.
Что ещё умеет эта плата
Adafruit собрала коллекцию демонстрационных программ для Fruit Jam, включая:
- Просмотрщик фото для fediverse
- Музыкальную сэмплерную клавиатуру
- Запуск DOOM
- Эмулятор Commodore 64
- Эмулятор ПК на 80286
На плате Frank доступны:
На Pico Computer доступны:
- Простая версия UNIX — порт FUZIX (видео на YouTube)
- Интерпретатор языка BASIC со встроенной графикой и текстовым редактором
Судя по электрическим схемам, ПО между платами Frank, Pico Computer и Olimex RP2350pc должно быть взаимозаменяемым.
Интересное ПО для портирования
Ранее уже была написана заметка о ведении блога через старый терминал, поэтому кажется интересным сделать нечто похожее с эмулятором терминала Blaze VT420.
На этом железе могли бы работать некоторые самодостаточные системы 1980-х — например, Oberon (отправной точкой мог бы стать порт на RISC-V). Простота системы Oberon подкупает, как и одноимённая книга.
Портирование Smalltalk могло бы приблизить к идее Dynabook, описанной Аланом Кэем в статье «A Personal Computer for Children of All Ages».
Компактная система в духе emacs/lisp — zepl, редактор с расширениями на lisp объёмом всего 2744 строки кода.
Операционная система Plan9, вероятно, тоже могла бы запуститься на этом железе.
Проект os8088 пытается воссоздать простой интерфейс в стиле старого Mac для компьютера на процессоре 8086.
Также возможен запуск эмулятора Psion.
Проект STEPS от Viewpoints Research Institute в 2012 году пытался упростить вычисления в целом. В итоговом отчёте можно найти немало интересных идей и результатов.