Forwarded from EXL
Появилось немного свободного времени и я решил поковырять и изучить API графического чипа ATI Imageon, который встроен в слабенькие P2K-телефоны Motorola, а в качестве референсного примера как раз портировать демки Кирилла Лейфера из видео с Nokia 3310 на наши моторолки 😊
Мне были интересны именно графические 2D-операции и мне удалось успешно заставить этот чип аппаратно скейлить и поворачивать поверхность (битмап), что называется ёмким словом rotozoom. Обсчитывать всё это программно на самом MCU потребовало бы очень много усилий. Как видно из этого видеоролика, демка огня тормозит как и на Nokia 3310, причиной тому именно слабый MCU и даже возросшая в четыре раза частота (13 MHz vs 52 MHz) ситуацию слабо спасает. Операции процедурной генерации битмапов силами ядрышек ARM7TDMI очень дороги, как и рисование чего-либо отдельными пикселями на дисплеях. Так что если нагенерировать подобные битмапы заранее и крутить по циклу все тормоза полностью исчезнут, но вместе с ними исчезнет и волшебство 😄
Немного технической информации. Сердцем как Motorola L6, так и Motorola E398 является SoC Neptune LTE, который в свою очередь содержит в себе ядро ARM7TDMI, работающее на частоте 52 MHz и кучу всякой другой периферии. Для сравнения у Nokia 3310 такое же ядро процессора встроено в SoC TI MAD2WD1, но работает оно на частоте в 13 MHz. У моторолок есть ещё графический чип ATI Imageon W2240 (L6) и W2250 (E398), представляющий собой ASIC-решение с отдельной внутренней прошивкой. Кроме различных 2D-графических манипуляций этот чип умеет аппаратно декодировать/энкодировать популярные мультимедиа форматы и ещё отвечает за работу карт памяти.
Исходный код, если кому интересно: https://github.com/EXL/P2kElfs/tree/master/Perlin
Мне были интересны именно графические 2D-операции и мне удалось успешно заставить этот чип аппаратно скейлить и поворачивать поверхность (битмап), что называется ёмким словом rotozoom. Обсчитывать всё это программно на самом MCU потребовало бы очень много усилий. Как видно из этого видеоролика, демка огня тормозит как и на Nokia 3310, причиной тому именно слабый MCU и даже возросшая в четыре раза частота (13 MHz vs 52 MHz) ситуацию слабо спасает. Операции процедурной генерации битмапов силами ядрышек ARM7TDMI очень дороги, как и рисование чего-либо отдельными пикселями на дисплеях. Так что если нагенерировать подобные битмапы заранее и крутить по циклу все тормоза полностью исчезнут, но вместе с ними исчезнет и волшебство 😄
Немного технической информации. Сердцем как Motorola L6, так и Motorola E398 является SoC Neptune LTE, который в свою очередь содержит в себе ядро ARM7TDMI, работающее на частоте 52 MHz и кучу всякой другой периферии. Для сравнения у Nokia 3310 такое же ядро процессора встроено в SoC TI MAD2WD1, но работает оно на частоте в 13 MHz. У моторолок есть ещё графический чип ATI Imageon W2240 (L6) и W2250 (E398), представляющий собой ASIC-решение с отдельной внутренней прошивкой. Кроме различных 2D-графических манипуляций этот чип умеет аппаратно декодировать/энкодировать популярные мультимедиа форматы и ещё отвечает за работу карт памяти.
Исходный код, если кому интересно: https://github.com/EXL/P2kElfs/tree/master/Perlin
👍8
Limowski' Precious Little Life pinned «Появилось немного свободного времени и я решил поковырять и изучить API графического чипа ATI Imageon, который встроен в слабенькие P2K-телефоны Motorola, а в качестве референсного примера как раз портировать демки Кирилла Лейфера из видео с Nokia 3310 на…»
EXL
Появилось немного свободного времени и я решил поковырять и изучить API графического чипа ATI Imageon, который встроен в слабенькие P2K-телефоны Motorola, а в качестве референсного примера как раз портировать демки Кирилла Лейфера из видео с Nokia 3310 на…
This media is not supported in your browser
VIEW IN TELEGRAM
👍4
Эта огромная тяжелая штуковина от Toshiba (не знаю, помните ли вы его) оказалась отличным игровым ноутбуком из нулевых. Матрица 1600х1200 (почти фуллхд в пересчете на 16х9), мощная звуковая система со стереодинамиками и сабом (несколько изношенная, особенно саб), крутое железо: пень 4 2Ггц, гиг оперативы, GF 4 Go 440 64 Mb. Внезапно мне даже в Серьезного Сэма на нем играть понравилось. Хотя раньше я эту игру недолюбливал. К сожалению, GF4 не все игры в таком высоком разрешении нормально вывозит. Сэм, NFS Порше работают отлично, а вот Мафия тормозит. Нужно сравнение с Т43, пожалуй.
👍10
Limowski' Precious Little Life
Эта огромная тяжелая штуковина от Toshiba (не знаю, помните ли вы его) оказалась отличным игровым ноутбуком из нулевых. Матрица 1600х1200 (почти фуллхд в пересчете на 16х9), мощная звуковая система со стереодинамиками и сабом (несколько изношенная, особенно…
А, да. Тачпад всё ещё не работает, но я подумал, что играть на нем все равно не удобно, поэтому, какая разница, использую мышку. И PCMCIA от длинка не просто так. У ноутбука нет USB 2.0. Надо будет найти карточку, которая целиком прячется в слоте. Интересно, заведется ли усб 3.0.
👍6
Limowski' Precious Little Life
Эта огромная тяжелая штуковина от Toshiba (не знаю, помните ли вы его) оказалась отличным игровым ноутбуком из нулевых. Матрица 1600х1200 (почти фуллхд в пересчете на 16х9), мощная звуковая система со стереодинамиками и сабом (несколько изношенная, особенно…
Мафия даже в 800х600 без сглаживания притормаживает. Упирается в процессор?
👍12
Limowski' Precious Little Life
Мафия даже в 800х600 без сглаживания притормаживает. Упирается в процессор?
Я в итоге не стал разбираться и поставил её на T43. Там в 1400х1050 работает отлично. И не мудрено, 3дмарк 2001 показывает удвоение производительности относительно Тошибы.
👍1
Forwarded from EXL
Media is too big
VIEW IN TELEGRAM
Теперь, когда я немного разобрался, как программировать видеочип ATI Imageon в телефонах Motorola P2K, можно попробовать портировать пару моих любимых небольших игрушек.
Одной такой игрушкой является "Spout" от японского разработчика с никнеймом "kuni". В этой игре нужно взлетать вверх на реактивном потоке из множества частиц с физикой, этот же поток можно использовать для разрушения стен, чтобы прокладывать себе путь выше. Несмотря на кажущуюся простоту, геймплей очень затягивает.
Игра использует некоторую процедурную генерацию битмапов размера 128x88 и к моему удивлению работает со скоростью 30-35 FPS на моём Motorola E398, что является очень крутым результатом, я ожидал куда меньшей производительности, учитывая что просчитываются 500 частиц. А для тех, у кого почему-то в 2023 году всё еще нет старого телефона Motorola на P2K, который может запускать ELF-приложения, я подготовил онлайновую Web-версию:
Играть: https://lab.exlmoto.ru/spout/
Зеркало: https://exlmotodev.github.io/spout/
Одной такой игрушкой является "Spout" от японского разработчика с никнеймом "kuni". В этой игре нужно взлетать вверх на реактивном потоке из множества частиц с физикой, этот же поток можно использовать для разрушения стен, чтобы прокладывать себе путь выше. Несмотря на кажущуюся простоту, геймплей очень затягивает.
Игра использует некоторую процедурную генерацию битмапов размера 128x88 и к моему удивлению работает со скоростью 30-35 FPS на моём Motorola E398, что является очень крутым результатом, я ожидал куда меньшей производительности, учитывая что просчитываются 500 частиц. А для тех, у кого почему-то в 2023 году всё еще нет старого телефона Motorola на P2K, который может запускать ELF-приложения, я подготовил онлайновую Web-версию:
Играть: https://lab.exlmoto.ru/spout/
Зеркало: https://exlmotodev.github.io/spout/
👍4
Forwarded from EXL
Ну а для тех счастливчиков у которых до сих пор имеются старые но клёвые телефончики Motorola, выкладываю ELF-файлы и исходный код:
https://github.com/EXL/P2kElfs/tree/master/Spout
https://github.com/EXL/P2kElfs/tree/master/Spout
Forwarded from EXL
Limowski' Precious Little Life
Эта огромная тяжелая штуковина от Toshiba (не знаю, помните ли вы его) оказалась отличным игровым ноутбуком из нулевых. Матрица 1600х1200 (почти фуллхд в пересчете на 16х9), мощная звуковая система со стереодинамиками и сабом (несколько изношенная, особенно…
Тут, кстати, кнопки клавиатуры полупрозрачные, как у iBook и PowerMac ранних. А ещё игровой опыт по настоящему очень крутой, потому что саббуфер заставляет вибрировать весь корпус, добавляя обратной связи выстрелам.
Forwarded from Linux / Линукс
Энтузиастам предоставлен доступ к редакции ОС OpenVMS 9.2 для архитектуры x86-64
Компания VMS Software, выкупившая у Hewlett-Packard права на продолжение разработки операционной системы OpenVMS, предоставила энтузиастам возможность загрузки порта операционной системы OpenVMS 9.2 для архитектуры x86_64. Помимо файла с образом системы (X86E921OE.ZIP) для загрузки предложены лицензионные ключи community-редакции (x86community-20240401.zip), действующие до апреля следующего года. Релиз OpenVMS 9.2 отмечен как первый полноценный выпуск, доступный для архитектуры x86-64.
Порт для архитектуры x86 собран на основе тех же исходных текстов OpenVMS, что применяются в версиях для архитектур Alpha и Itanium, c использованием условной компиляции, заменяющей возможности, привязанные к особенностям аппаратных архитектур. Для определения и инициализации оборудования задействованы UEFI и ACPI, а для загрузки задействован RAM-диск вместо специального загрузочного механизма VMS, специфичного для оборудования. Для эмуляции недостающих уровней привилегий VAX, Alpha и Itanium, отсутствующих в системах x86-64, в ядре OpenVMS задействован модуль SWIS (Software Interrupt Services).
Компания VMS Software, выкупившая у Hewlett-Packard права на продолжение разработки операционной системы OpenVMS, предоставила энтузиастам возможность загрузки порта операционной системы OpenVMS 9.2 для архитектуры x86_64. Помимо файла с образом системы (X86E921OE.ZIP) для загрузки предложены лицензионные ключи community-редакции (x86community-20240401.zip), действующие до апреля следующего года. Релиз OpenVMS 9.2 отмечен как первый полноценный выпуск, доступный для архитектуры x86-64.
Порт для архитектуры x86 собран на основе тех же исходных текстов OpenVMS, что применяются в версиях для архитектур Alpha и Itanium, c использованием условной компиляции, заменяющей возможности, привязанные к особенностям аппаратных архитектур. Для определения и инициализации оборудования задействованы UEFI и ACPI, а для загрузки задействован RAM-диск вместо специального загрузочного механизма VMS, специфичного для оборудования. Для эмуляции недостающих уровней привилегий VAX, Alpha и Itanium, отсутствующих в системах x86-64, в ядре OpenVMS задействован модуль SWIS (Software Interrupt Services).
👍1
Forwarded from Do Androids Dream of Game boy?
This media is not supported in your browser
VIEW IN TELEGRAM
Зацените графон, очень прикольный эффект на фоне.
Это хомбрюшка для геймбоя, ром можно скачать здесь
#homebrew #gameboy
Это хомбрюшка для геймбоя, ром можно скачать здесь
#homebrew #gameboy
👍5