LINUX.ORG.RU

Новости FPDoom: поддержка 4G телефонов на чипе UMS9117

 , , , ,

Новости FPDoom: поддержка 4G телефонов на чипе UMS9117

1

2

FPDoom – проект, позволяющий запустить классический Doom, его дополнения и другие портированные игры на очень распространённом на дешевых кнопочных телефонах чипе Spreadtrum SC6531 и его модификациях. Проект содержит порты ванильного Doom, а также Duke3D, Shadow Warrior, Blood, Wolfenstein 3D и порт InfoNES.

Порты выполнены в виде приложений bare-metal, запускаемых через свой загрузчик (добавляется в прошивку, загружает игры с SD-карты). Устанавливается на современные кнопочные телефоны с чипами Spreadtrum SC6530/SC6531, что составляет более половины предложений на российском рынке. Список протестированных моделей и ссылка на описание загрузки приведены в Readme.

В обновлении 1.20251101 добавлена поддержка нового чипа Unisoc UMS9117, который является развитием Spreadtrum SC6531 (компания Unisoc ранее называлась Spreadtrum). Характеристики нового чипа: поддержка 4G, поддержка NAND flash, одно ядро ARMv7-a на 1ГГц и 64МБ ОЗУ. Приглашаются желающие запустить на нём Linux.

Протестировано на 10 моделях телефонов на чипе UMS9117. Есть загрузка с SD-карты. Все порты игр и эмуляторов уже работают на новом чипе (с эмуляторами есть мелкие недоработки). Нет драйвера NAND (пока в зачаточной стадии чтения ID чипа), поэтому таблицы настройки контактов чипа и раскладку клавиш нужно извлекать из самостоятельно сдампленной прошивки (для протестированных моделей телефонов эти файлы есть в релизах на гитхабе).

Другие обновления со времён прошлой новости:

  • 1.20241116: портирован Snes9x - эмулятор SNES. За счёт использования виртуальной памяти можно загружать игры, чей ROM больше памяти телефона (реализовано как маппинг памяти в операционных системах).
  • 1.20250615: портирован Chocolate Doom (в который входят игры на том же движке: Heretic, Hexen и Strife, но Strife пока не работает).
  • 1.20250728: портирован gnuboy - эмулятор GameBoy/GameBoy Color (также сделан маппинг памяти).

>>> Исходный код



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от mittorn

Потом уже opengl рендер прикрутили, причём весьма убогий

Он ломал стиль, но сильно повышал качество и производительность скакала в разы. В конце концов процессор переставал делать много работы.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Там преобразование полигонов мира происходит по bsp дереву (edge рендерер) дум трейсил каждый пиксель по горизонтали, quake только каждый полигон в экране, это не сильно тяжелее. Что будет тяжело - это если рендер quake пиыаться заставить работать больше, чем на 640x480 - вот тут он начинает упираться в span рендерер.
Кстати, есои вынести span и triangle рендереры на какой-нибудь 2д ускоритель - проблемы не будет
Это не зависит от разрешения, но сильно быстрее чем матричные преобразования в opengl
В обработку полигонов сильно упирается рендер скелетных моделей вот здесь могут быть проблемы. Но они есть и в opengl рендерере

А физика, анимации и хренова туча полигонов куда делись?

А какая физика в играх 90х? Трейс по bsp дереву - операция простая

Что то мне кажется даже простой импорт модели вортигонта

там не может быть простого импорта, формат моделей принципиально разный

Примерно соответствующем 200Мгц пеньтиум3

Кто-нибудь проводил бенчмарки? Ну и 200мгц pentium 3 как раз был достаточен для игры в 320x240 (но слабоват для 640x480), так что если сранвение верное - этого как раз хватит

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от gns

Пока на этой клавиатуре iddqd наберешь, тебя уже убьют! :)

Ну, «Жить захочешь — и не так раскорячишься!»... :))

Somebody ★★★
()
Ответ на: комментарий от jpegqs

GCC предоставляет готовые библиотеки. Если собран для soft,не путать с softfp. Для последнего fpu обязателен.

zanac1
()
Ответ на: комментарий от kirill_rrr

Где то там спрятан перерассчёт положения полигонов и их текстурирование и это не должно зависеть от разрешения а только от числа полигонов на сцене.

Как раз таки растеризация текстурированных поверхностей это и есть самая тяжелая часть движка, и вот именно она имеет квадратичную зависимость от размера экрана. В Doom и Doom2 никаких полигонов в современном смысле нет. Стены рисуются по столбцам, где для каждого пикселя в столбце на экране выполняется вычисление позиции пикселя в столбце текстуры, считается поправка от освещения комнаты, и установка значения финального цвета в буфер. Полы и потолки рендерятся по строкам, алгоритм чуть другой, но опять же все вычисляется для каждого пикселя по очереди. Потом поверх этого с overdraw рисуются спрайты, от дальнего к ближнему. Стоимость вычисления того, где должны рисоваться конкретные столбец/строка в разы меньше стоимости самой растеризации, ее тянут все тостеры, тамагочи, и тесты на беременность на которые был портирован дум.

Playermet
()
Последнее исправление: Playermet (всего исправлений: 2)
Ответ на: комментарий от Playermet

тесты на беременность на которые был портирован дум.

У меня каждый раз пригорает когда упоминают тест на беременность. Там от теста на беременность не осталось ничего кроме корпуса. Оригинальный экран был сегментирован, то есть там были не пиксели, а значки.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Да я в курсе, это просто для красного словца. Я к тому, что даже невероятно слабые системы способны тянуть эту часть.

Например, есть видео на ютубе, где фрагмент первого уровня дума запустили на Sega Mega Drive. Вьюпорт пришлось уменьшить примерно до трети по высоте и половины по ширине. Плюс в SMD нельзя установить цвет отдельному пикселу, только двум соседним сразу. Однако, все расчеты геометрии по-прежнему выполняются, и при появлении в камере ступенек (реализованных как множество комнат с разной высотой пола) фреймрейт не проседает в сравнении со случаем, когда камера смотрит в стену на краю уровня.

Playermet
()
Ответ на: комментарий от Somebody

Эротика — это красивая женщина, возможно занимающаяся любовью, 1024х768, high color. А порнография — это то же самое, но mono vga, 320x200. (Максима эпохи Дума на 386х)

gns ★★★★★
()
Ответ на: комментарий от mittorn

А какая физика в играх 90х?

Как раз в Халве - очень даже крутая. Почти такая же крутая как в hl2, только объектов сильно меньше и упрощения такие что иногда ящик может улететь ракетой под 90 градусов к толчку.

там не может быть простого импорта, формат моделей принципиально разный

Ну ладно, сложный импорт. Но вот мы взяли и запихали в Ку1 модели с х10 числом полигонов и более сложными анимациями... А потом накидали на сцену х2-х4 юнитов.

Кто-нибудь проводил бенчмарки?

Я гонял малины. Кортекс-А53 на 1000Мгц соответствует что то примерно 100-150Мгц бульдозера или коре2 в алгоритмах типа bzip2 или lzma. В кодировании фото/видео через neon ситуация резко менялась.

200мгц pentium 3 как раз был достаточен для игры в 320x240

Именно в халве на софтовом рендере или с видеокартой?

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 2)
Ответ на: комментарий от kirill_rrr

Как раз в Халве - очень даже крутая. Почти такая же крутая как в hl2

Даже не близко. В HL2 встроен Havok с полноценной физикой rigid body, а в HL1 толкания AABB. По сути примерно как сокобан, только в 3д и не привязано к дискретной сетке.

Именно в халве на софтовом рендере или с видеокартой?

Специально сейчас сделал виртуалку Pentium II 200MHz c Windows XP в 86Box. Он точно эмулирует все железо, от отдельных команд CPU до пропускной способности шин и жестких дисков.

При разрешении 640х480 фреймрейт 10-15, некомфортный, но играть можно. При 512х386 фреймрейт около 20, терпимо, в нулевых так в игры зачастую и играли. При 400х300 фреймрейт около 25-40, вполне комфортная игра. Разрешения меньше отсутствуют, во всех тестах софтверный рендеринг.

Скриншоты: 640х480 1 640х480 2 512х386 400х300

Playermet
()
Последнее исправление: Playermet (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Как раз в Халве - очень даже крутая. Почти такая же крутая как в hl2, только объектов сильно меньше и упрощения такие что иногда ящик может улететь ракетой под 90 градусов к толчку.

Обычные кваковые хуллы, с полноценным ivp, что в hl2 это бесполезно сравнивать

бульдозера или коре2

Но тем не менее ты говоришь про целерон, работающий совершенно иначе

Именно в халве на софтовом рендере или с видеокартой?

Именно в софтовом. На видеокартах стаивли 640x480 и выше

mittorn ★★★★★
()
Ответ на: комментарий от Playermet

По сути примерно как сокобан, только в 3д и не привязано к дискретной сетке.

Как известно 10% усилий приводят к 90% итогового результата. Дум2 не оперирует категориями прыгающей гранаты, а Квейк1 - толкаемого по полу ящика или хотя бы взаимодействия с объектами.

Pentium II 200MHz c Windows XP

Получается вполне себе достаточно. Остаётся вопрос - справится ли чип телефона с этим уровнем производительности. Там конечно гигагерц, но всё таки не кортекс-А53 в режиме arm7l, что раза в 2 быстрее чем arm6 hf.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от mittorn

Но тем не менее ты говоришь про целерон, работающий совершенно иначе

Иначе, хуже, но на такт не более 2 раз насколько я помню соотношения производительностей пеньтиум3/пеньтиум4/коре2. Новые процы большую часть брали частотой а не ipt.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Целерон работал довольно шустро. Так что я удивлен что его могут эмулировать

ckotctvo
()

А что-нибудь более полезное чем Дум на эти телефоны еще не портировали? Почтовый клиент, irc или jabber? На моем Siemens S65 всё это есть, и даже навигация (с подключением внешнего gps-приемника через штатный разъем телефона).

Предупреждая вопросы: есть места где крайне не желательно «светить» огромной андроидной «лопатой».

watchcat382
()
Ответ на: комментарий от watchcat382

А что-нибудь более полезное чем Дум на эти телефоны еще не портировали?

Нужно драйвер для модема, а с минимумом драйверов (usb, дисплей, клавиши, SD-карта) только игры и портировать.

jpegqs
() автор топика

какой же балдёж!хотел бы я быть таким же крутым, как тот, кто всё это делает

Neresar ★★
()
Ответ на: комментарий от jpegqs

Нужно драйвер для модема

А что, там модем не AT-командами управляется? Я лет десять назад HTC HD2 ковырял, там именно что AT-команды. Поставил Дебиан, заставил ходить в интернет. Вот с голосовыми функциями не разбирался, мне в том проекте нужен был микрокомп,а не телефон.

watchcat382
()
Ответ на: комментарий от n0mad

Это в каких и зачем? Я вот сижу древнюю схему паяю щас. Которая не выгодна по себестоимости в наше цифровое время. 😊

wandrien ★★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от watchcat382

Под новостью давал человеку ссылки на гитхаб, это ссылки на исходники ОС для прошлого 2G чипа. Можете там поискать как драйвер работает.

jpegqs
() автор топика
Ответ на: комментарий от watchcat382

Предупреждая вопросы: есть места где крайне не желательно «светить» огромной андроидной «лопатой».

А в этим местах на входе разве не всякие «мобилки» отбирают??... ;)

Или таки нарушаем и проносим, рискуя сами знаем, чем?.. ;))

Somebody ★★★
()
Ответ на: комментарий от watchcat382

Мда... Знать, фальшивая там у вас «безопасность»...

Somebody ★★★
()
Ответ на: комментарий от watchcat382

Не, ты чего, если всё это запустить на телефоне то это ж лопатофоны продаваться перестанут! Нельзя так рисковать!

kirill_rrr ★★★★★
()
Ответ на: комментарий от mittorn

kaios

О, это троллинг 999 уровня от Гугла. Они выкупили невзлетевшую firefoxOS, ЗАБЫЛИ обновить лежащую в её основе версию файерфокса до актуальной, и специально сделали похожей на андроид для нищебродов, которые должны страдать.

kirill_rrr ★★★★★
()
Ответ на: комментарий от jpegqs

Вот кстати в 00-х каждый третий телефон среднего и выше класса умел быть модемом.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

это ж лопатофоны продаваться перестанут!

Из-за почтовика,джаббера и irc на кнопочных телефона - продаваться лопатофоны не перестанут. Потому что ни модные нынче вотсапы с телеграмами ни тем более игрушки на кнопочный телефон не запихать.

watchcat382
()
Ответ на: комментарий от watchcat382

ни модные нынче вотсапы с телеграмами ни тем более игрушки на кнопочный телефон не запихать

И слава багу!.. :))

От меня моё местное отделение Почты России только сравнительно недавно отстало с их дурацкими предложениями-требованиями «установить приложение Почты России» на мой «смартфон» — маленький «кнопочник».

И то только после того, когда я несколько раз попросил их помочь мне это сделать... Не сумели... ;P ;))

Somebody ★★★
()
Ответ на: комментарий от watchcat382

А чем модный нынче вотсапп принципиально отличается от джаббера? Если не псать его клиент на электроне так ему не не нужно 8 ядер и 2Ггц чтобы листать чат и воспроизводить аудиопоток в 64Кб/с.

А тяжёлые игрушки на кнопочнике и в принципе не нужны.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

А чем модный нынче вотсапп принципиально отличается от джаббера?

Толщиной и жручестью. Ну еще возможностью зарегистрироваться в дажббере не отсвечивая своим номером телефона.

Если не псать его клиент на электроне

Так у него вроде только один клиент,который типа официальный. И он «электронный».

watchcat382
()
Ответ на: комментарий от watchcat382

У него есть клиенты под КаиОС и даже под S60 или даже более скромные телефоны. Так что быть жирным и жручим это не техническая проблема а политический выбор.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

А эти клиенты точно поддерживаются? Когда разработчик перестаёт поддерживать архитектуру, то клиент через какое-то время ломается из-за изменений в протоколе.

jpegqs
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.