Доступен первый публичный выпуск W4ME Station, среды выполнения для запуска неизменённых игровых картриджей WASM-4 на устройствах с поддержкой CLDC 1.1 и MIDP 2.0, таких как кнопочные телефоны середины 2000-х годов. Код написан на языке Java, сохраняет совместимость с Java 1.3 и распространяется под лицензией MIT. В поставку включены 13 игр и демонстрационных картриджей, среди которых Sokoban, Wasm Wars, Watris, Glowfish Chess, Duck Maze, Rubido, Untangle и Plasma Cube. Сформированы две сборки - полная (275 КБ) с поддержкой просмотра файлов через JSR-75 и базовая сборка для устройств без API FileConnection. Разработка ведётся с применением AI-инструментов.
Для выполнения картриджей используется интерпретатор WebAssembly без JIT-компиляции. Перед запуском модули проходят проверку, после чего промежуточное представление W4IR может сохраняться в постоянном кэше RMS. Реализованы интерфейсы WASM-4 для графики, текста, ввода, звука, дискового хранилища и трассировки, а также поддержка двух игровых контроллеров. Дополнительные файлы ".wasm" можно устанавливать через HTTP или HTTPS, указывать в виде "file://"-ссылки либо выбирать через файловый интерфейс JSR-75. После установки картриджи копируются в RMS и могут запускаться без повторного доступа к исходному файлу или сети.
Поддерживается управление клавишами телефона, аппаратной клавиатурой, указателем и экранным сенсорным контроллером. Производительность зависит от реализации виртуальной машины конкретного телефона. Картриджи, требующие больших вычислительных ресурсов, могут работать слишком медленно на реальных устройствах. Например, режим игры против компьютера в Glowfish Chess пока непригоден для практического использования, но режим игры двух пользователей на одном телефоне работает.
Дополнительно можно отметить другой проект того же автора - WiPhone Lab, развивающий неофициальную ветку прошивки 0.8.30 для программируемого телефона WiPhone на базе чипа ESP32, совершающего звонки через Wi-Fi с использованием SIP/VoIP. В проекте сохранены штатные функции телефона, включая телефонию, адресную книгу, сообщения и настройки.
В состав прошивки добавлен системный тест производительности и корректности работы устройства, который охватывает оба ядра процессора, целочисленные операции и вычисления с плавающей запятой, внутреннюю память и PSRAM, аудиокодеки, отрисовку, передачу данных на дисплей и чтение Flash-памяти. Для автоматизированного тестирования предусмотрен работающий через UART протокол @WP1 и клиент на языке Python. Также реализована система воспроизводимых сборок, формирующая идентификатор на основе SHA-256, манифест сборки, ELF-файл и карту памяти.
Для демонстрации возможностей прошивки подготовлены порты игр Doom и Gravity Defied. В Doom поддерживаются звуковые эффекты и музыка через эмулятор OPL2, при включении которых производительность составляет около 14 кадров в секунду при разрешении 320×240 (в Gravity Defied без звука - примерно 22 кадра в секунду). Игры не входят в стандартную сборку и для запуска Doom пользователь должен самостоятельно предоставить совместимый IWAD-файл. Код портов Doom и Gravity Defied распространяется под лицензией GPLv2, основная прошивка - под WiPhone Public License 1.0.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65980






