Энтузиаст превратил отладочную плату M5Stack PaperS3 с экраном E-Ink в портативную консоль Game Boy
Устройство работает на ультрабюджетном микроконтроллере ESP32-S3 с двумя ядрами, одно из которых целиком занято эмуляцией
Картинка Game Boy эмулируется за счёт масштабирования разрешения 160×144 до 960×540, а каждый пиксель обновляется независимо благодаря FPGA-контроллеру
Проект «Paper Boy S3» доступен в инструменте M5Burner, но сама плата PaperS3 уже снята с производства
Предприимчивый энтузиаст Wenting превратил набор для разработки M5Stack PaperS3 с E-Ink-дисплеем в более-менее полнофункциональный Game Boy. Если вы сами не занимаетесь аппаратным взломом, то вряд ли слышали о Wenting Zhang или Modos Labs. Канал инженера Wenting Channel на YouTube уже давно популярен у гиков, увлекающихся железом: он демонстрирует всевозможные экспертные трюки с аппаратным обеспечением. Последние несколько лет Zhang посвятил превращению этих навыков в компанию Modos Labs, чьи E-Ink-дисплеи с высокой частотой обновления мы уже освещали ранее.
Источник изображения — tomshardware.com
Признаем: он не сможет читать настоящие картриджи, звук довольно скверный, а производительность не всегда достигает полной скорости. Тем не менее, это впечатляющее достижение по нескольким причинам. PaperS3 — это набор для разработки с E-Ink-экраном, а не коммерческий продукт. Он предназначен для прототипирования и, как раз, для такого рода аппаратных проектов. Ключевая деталь в том, что устройство работает не на многоядерном Rockchip или Allwinner SoC, а на сверхбюджетном микроконтроллере ESP32-S3 всего с двумя ядрами, работающими на частотах в сотни мегагерц, а не гигагерц. Более того, его E-Ink-дисплей изначально не предназначен для плавного обновления, необходимого для видеоигр, но Zhang справился с этой задачей.
Чтобы понять, как вообще возможна эта эмуляция Game Boy, нужно разобраться в прорыве Zhang с аппаратным обеспечением E-Ink, который он изначально разработал для своего open-source-проекта монитора Modos Flow. У него есть целое видео, объясняющее технологию, но суть сводится к тому, что он заменил контроллер дисплея типичного E-Ink-экрана мощной FPGA, чтобы обрабатывать каждый отдельный пиксель как независимую область дисплея и обновлять только те части экрана, которые действительно меняются в каждом кадре.
Как же ему удалось добиться этого на встроенном контроллере в PaperS3? Это возможно только потому, что экран Game Boy имеет очень низкое разрешение по современным меркам — всего 160×144 пикселя. Разрешение экрана PaperS3 составляет 960×540, поэтому он смог утроить разрешение, оставив достаточно места для дизеринга, чтобы воспроизвести четыре возможных оттенка оригинального экрана Game Boy. Этот процесс загружает почти все второе ядро процессора в ESP32, оставляя ровно столько ресурсов для обработки аудио, в то время как сама эмуляция выполняется на первом ядре.
В итоге получается очень правдоподобная копия дисплея Game Boy, только вместо крошечного и тусклого LCD это резкий и кристально чистый E-Ink-экран. Zhang даже реализовал некоторые функции для удобства: частичную поддержку Bluetooth LE-контроллера и выделенные сенсорные кнопки для быстрого сохранения и загрузки состояния эмулятора. Вы даже можете загрузить сохранение прямо из интерфейса, чтобы мгновенно продолжить с того места, где остановились, когда нужно прерваться.
Это не значит, что проект безупречен. Во-первых, он полагается на сенсорное управление без тактильной обратной связи — у устройства просто нет необходимого для этого аппаратного обеспечения. Возможно, ещё более критично то, что PaperS3 имеет только простой пьезоизлучатель для звука, и хотя Zhang проявил настоящую изобретательность, чтобы получить узнаваемое аудио Game Boy из монофонического динамика (используя псевдополифонию в стиле хакеров ZX Spectrum), это звучит не совсем как настоящий Game Boy. Хакер также не упоминает время автономной работы устройства при запущенном эмуляторе; учитывая, что он использует оба ядра микроконтроллера на пределе, а также то, что E-Ink-дисплеи довольно энергозатратны при работе на частоте 60 Гц, можно предположить, что оно невелико.
Если вы хотите попробовать Paper Boy S3, Zhang говорит, что загрузил его в инструмент M5Burner, который служит одновременно прошивальщиком и магазином приложений для устройств M5Stack. Однако, как он сам отмечает в своём видео о проекте, PaperS3 уже снят с производства производителем, так что вам будет трудно раздобыть его, если у вас его ещё нет. Тем не менее, этот проект служит увлекательной демонстрацией того, чего можно добиться с помощью сверхбюджетного оборудования, и является прямым опровержением одного из недостатков E-Ink-дисплеев.
Отдельного объяснения заслуживает то, почему электронные чернила вообще считались непригодными для игр. Обычная матрица E-Ink перерисовывает изображение за сотни миллисекунд и делает это с характерным мельканием — для книги это незаметно, для динамичной картинки убийственно. Обойти ограничение можно только собственным контроллером обновления, который перерисовывает лишь изменившиеся области и работает с матрицей напрямую, минуя штатную логику.
Для российских любителей DIY-электроники проект интересен прежде всего доступностью компонентов: платы M5Stack и модули на ESP32-S3 продаются на маркетплейсах за скромные деньги и не требуют ни специнструмента, ни пайки. Порог входа здесь ниже, чем кажется, — прошивка заливается через утилиту в пару кликов.












