Тамагочи не вымирают, а становятся лучше

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

Наверняка вы думаете, что тамагочи, из-за которых сходили с ума дети в 90-х, сейчас полностью забыты. И ошибаетесь. Франшиза все ещё жива и вполне себе процветает. Новые модели выпускаются регулярно. Более того, даже оригинальный тамагочи 1996 года, известный как Tamagotchi P1, поддерживается небольшой группой энтузиастов. А теперь появилась возможность запустить его на портативном устройстве.

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

Пользователь [JC] разработал OpenTama: портативную аппаратную платформу, на которой работает эмулированная версия оригинального программного обеспечения Tamagotchi P1. OpenTama максимально приближен к виртуальным питомцам первого поколения, но имеет некоторые дополнения, облегчающие жизнь.

Программной платформой является TamaLib от [JC]. По сути, это эмулятор с открытым исходным кодом, который позволяет запускать ПЗУ Тамагочи на различных современных платформах. Он также содержит несколько дополнительных опций, таких как возможность сохранять и восстанавливать свой прогресс или выбирать настраиваемые ПЗУ.

Суть TamaLib

Инструментарий TamaLib  разделён на две части: TamaLIB и TamaTool. Первая — это аппаратно-независимая библиотека эмуляции P1, которая использует уровень HAL для связи с оборудованием. Вторая является интерфейсом для первого, позволяя отлаживать, редактировать ОЗУ и модифицировать ПЗУ. В частности, TamaTool поддерживает простую модификацию изображений в ПЗУ и позволяет создавать собственные тамагочи.

Поскольку эмуляция не зависит от платформы, а доступ к таймеру низкого разрешения не гарантируется, подсчёт циклов становится затруднительным. [JC] придумал довольно умное решение, которое заключалось в синхронизации с опросом ввода, обновлениями экрана и выводом звука. TamaLIb отслеживает, сколько циклов ЦП прошло, и регулярно проверяет, не происходит ли эмуляция слишком быстро или слишком медленно. Замедление или ускорение позволяет ему работать в режиме реального времени.

Последней целью [JC] было запустить эмуляцию на встроенном оборудовании. Используя плату STM32F072 и дешёвый OLED-экран, был создан портативный эмулированный Тамагочи, известный как MCUGotchi. Код доступен на GitHub и должен работать на большинстве микроконтроллеров STM32 с небольшими изменениями.

Отличие OpenTama

Аппаратное обеспечение OpenTama, в свою очередь, представляет собой адаптацию оригинала под 21-й век. Это небольшая печатная плата размером с яйцо с микроконтроллером STM32, управляющим ЖК-дисплеем или OLED-дисплеем. Устройство питается от батареи ёмкостью 100 мАч, которую можно заряжать через USB-C порт.

OpenTama также не ограничивается программным обеспечением TamaLib. Будучи универсальной платформой с открытым исходным кодом, она также может использоваться в качестве инструмента для программирования. Если вы всегда хотели запрограммировать своего собственного виртуального питомца или просто хотите создать модный таймер для яиц, страница OpenTama на GitHub — это то, что вам нужно. 

А у вас есть опыт переделки тамагочи?

Источник: https://habr.com/ru/company/cloud4y/blog/665176/


Интересные статьи

Интересные статьи

От нас, разработчиков, постоянно требуют дать оценку той или иной задаче. Зачем управленцам оценки, они вам сами расскажут. Зачем клиентам оценки — вам расскажут управленцы. Но нужны ли оценки самим...
Уже не первый десяток лет учёные способствуют совместной эволюции человека и техники. Процесс, когда-то названый Джеймсом Литтеном «киборгизацией», с каждым днём становится не просто возможным, а всё ...
Как специалист, который большое время работал на PHP и Python, я сделаю разбор того, какой язык программирования лучше выучить новичку, чтобы стать web-разработчиком, и в...
werf — наша GitOps CLI-утилита с открытым кодом для сборки и доставки приложений в Kubernetes. Как и обещали, выход версии v1.0 знаменовал начало добавления в werf новых возможностей и пересм...
Дальняя кривая меня привела к написанию этого поста. Перечитываю шедевральный труд про историю зарождения интернета, начиная с лейденской банки, в большей степени шедевральный конечно — с точки з...