monobogdan

monobogdan

Топовый автор
На Пикабу
Дата рождения: 25 сентября
ilja9809 RealVaVa antracit1
antracit1 и еще 99 донатеров
154К рейтинг 4648 подписчиков 1 подписка 529 постов 472 в горячем
Награды:
Пикабу 17 лет!5 лет на Пикабу За киноманство За участие в Авторской неделеболее 1000 подписчиков Высокий разум
498
TECHNO BROTHER

Мощный одноплатник за копейки: Как я купил и отдриставрировал полноценный мини-ПК за 800 рублей, превратив в сервер [Длиннопост, про железо]⁠⁠

Спойлер: Вы тоже можете купить такой одноплатник за 800 рублей, благо на барахолках их навалом. Ну а как их починить и превратить во что-то полезное, я расскажу в рамках сегодняшней статьи!

По правде сказать, я огромный фанат купить что-то очень дешевое и нерабочее, чтобы затем найти новое применение железу со свалки. Недавно я изучал Авито и наткнулся на тонкие клиенты Dell Wyse 3040 по 800 рублей с нерабочими eMMC. Казалось бы, тонких клиентов на вторичке навалом — но у этого был 4х-ядерный процессор от Intel, неплохой GPU с поддержкой DirectX11, 2 гигабайта оперативной памяти и целых 4 слота под USB. Надо брать!

В этой статье всё как вы любите: диагностика, изучение схемотехники, перекатка и замена флэшки в BGA-корпусе, попытки впихнуть невпихуемое и очень изощренные способы загрузить Linux. Интересно? Тогда жду вас под катом!

❯ Предисловие

Недавно я мониторил барахолки на предмет каких-то необычных ретро гаджетов по типу телефонов, ноутбуков и минипк. В основном они мне интересны из-за возможности погонять на них ретро-игры, запустить экзотические ОС или просто для тестирования демок своих игр, которые я пишу в рамках отдельной серии статей. Неделю назад в моих рекомендациях всплыл некий Dell Wyse 3040: тонкий клиент на 4х-ядерном Intel Atom z8350, который из коробки работает на собственной операционке ThinOS.

В объявлении указана цена за полностью рабочий и укомплектованный компьютер — это не мой случай :)

В объявлении указана цена за полностью рабочий и укомплектованный компьютер — это не мой случай :)

По сути, это обычный x86 мини-компьютер, который вместо ноутбучного Celeron/Pentium использует планшетный Intel Atom на платформе Cherry Trail: такие Atom'ы можно было найти в дешевых Wintel-планшетах типа Irbis TW85, а также ноутбуках в категории «до 15.000 рублей» в 2015-2020 годах. У большинства таких гаджетов была одна критическая болячка: в качестве накопителя они использовали чипы памяти eMMC из смартфонов, а поскольку ресурс таких флэшек значительно ниже оных в обычных SSD-накопителях, они выходили из строя всего через 2-3 года активного использования. Wyse 3040 тоже использовал eMMC в качестве SSD, из-за чего сотни, если не тысячи экземпляров дожили до наших дней рабочими лишь частично и пошли под списание. Как раз именно такой списанный экземпляр я и решил купить всего за 870 рублей.

Конечно я немного лукавлю насчет "одной единственной болячки". У тех же Irbis'ов летело всё: USB-OTG хост, контроллеры питания, тачскрины, биосы... в общем, это было то ещё удовольствие.

Мой красавец

Мой красавец

Когда я получил девайс, он сразу же меня впечатлил: мало того что размером с мою ладошку (как и eBox, о котором я рассказывал в рамках прошлой статьи), так ещё и с полностью пассивным охлаждением, питанием от 5В/2А и целой кучей интерфейсных разъемов. На передней панели расположилась кнопка питания, один порт USB 3.0, один USB 2.0, а также 3.5мм джек для подключения наушников.

В то время как на задней целых два DisplayPort'а, ещё два USB и Ethernet. Существовало несколько разных версий 3040'ого: в базовой из коммуникаций есть только RJ-45 и накопитель объёмом в 8ГБ, а в продвинутой добавили ещё и Wi-Fi/Bluetoth модуль и увеличили объём накопителя аж до 16ГБ. В мои руки попала как раз базовая версия.

После получения, я пришёл домой, подключил компьютер и... увидел сообщение «No bootable devices found". В UEFI-прошивке Dell'ов есть режим самодиагностики, который честно сказал, что не может ничего прочитать с eMMC — а значит она не просто ушла в режим «только для чтения», а вообще полностью посыпалась. Неужто там стоят легендарные чипы от Samsung, которые в своё время досрочно унесли с собой Galaxy S4, S4 Mini, S4 Zoom, S3, Tab 3...

О косячных флэшках Samsung я недавно писал большую статью с практическим восстановлением редчайшей консоли-смартфона на Android. Ссылка в комментариях :)

❯ Разбираем и изучаем

Теперь отремонтировать наш минипк можно только заменив чип памяти на новый, благо сделать это не особо сложно. Для этого сначала нужно разобрать компьютер, что называется, голыми руками — отщелкиваем нижнюю часть корпуса с клипс и разбираем "бутерброд":

После чего перед нами открывается следующая картина:

В глаза сразу бросаются два чипа оперативной памяти типа DDR3 объёмом по 512МБ каждый, LAN-трансформатор, LDO для питания LAN-контроллера и слот M2... казалось бы, можно ставить самый дешевый SATA SSD с «алика» и заканчивать статью, но у этого слота нет ни PCI-E, ни SATA линий — на него выведена шина SDIO для подключения Wi-Fi/BT модуля в старших версиях.

С фронтальной стороны платы нас встречает относительно небольшая система охлаждения, состоящая из радиатора, который отводит тепло и с процессора, и с контроллера питания, и с памяти. TDP у процессора крошечный — всего ~2Вт, поэтому активное охлаждение ему не нужно совсем (а вот его температуры под нагрузкой мы узнаем чуть позже).

Под радиатором скрывается кастомный контроллер питания Texas Instruments SND9039A2, разработанный специально для Cherry Trail. Эти КП используются во всех устройствах на этой платформе, что потенциально несколько усложняет ремонт — те же Bay Trail'ы нередко использовали куда более распространенные и задокументированные КП от AXP.

Дроссель рядом с КП отвечает за единственную фазу питания VCore

Дроссель рядом с КП отвечает за единственную фазу питания VCore

КП формирует 6 основных шин питания из шины 5V: 1.15V, 1.25V и 1.05V для питания процессора, 1.35V для питания DDR3 в режиме LV, ещё одна 1.15V для питания видеочипа и 1.8V для общения с периферией. Помимо основных шести DC-DC преобразователей, в КП также есть аж 14 LDO, которые формируют периферийные шины по типу VRTC (дежурка и часы реального времени), 3.3V и 1.2V. За основную шину питания — т.е 5V отвечает другой чип — NCP81231, так что если компьютер не включается — смотрите в первую очередь в его сторону.

В центре платы расположилось сердце устройства — тот самый процессор Atom Z8350, представленный в феврале 2016 года. Концептуально это система на кристалле — по сути весь компьютер выполнен в виде одного крошечного чипа, выполненного по техпроцессу 14нм. Внутри него скрываются:

  • 4 ядра на архитектуре Airmont, способные работать на частоте от 1.4ГГц до 1.9ГГц в турбобусте и имеющие 2МБ общего L2-кэша. Кроме того, ядра поддерживают HyperThreading и являются прямыми наследниками ядер Silvermont, используемых в смартфонах Asus ZenFone и планшетах Asus FonePad. Так что да, чисто технически — этот процессор близкий родственник смартфонных чипов :)

  • GPU Intel HD Graphics 400, способный работать на частоте до 500МГц и имеющий всего 12 унифицированных шейдеров (даже в GeForce GT710 было 192 унифицированных шейдера, в i3 6100 — 24). Тем не менее, HD Graphics 400 вполне тянет игры из начала нулевых, имеет целых два DisplayPort'а и поддержку DSI-матриц планшетов, умеет декодировать 4K видео и поддерживает DirectX 11.2.

  • Встроенный контроллер оперативной памяти типа DDR3, плюс контроллер eMMC для накопителя. Интересно то, что SATA в нём вообще не было — что ещё раз подтверждает родство с смартфонными процессорами.

  • Из внешних шин есть PCI-Express 2.0 1x (да, всего одна дифпара на всю систему), UART, SPI, I2C и SDIO. За звук отвечает I2S контроллер, а за общение с параллельной периферией отдельный GPIO-контроллер.

  • И всё это с TDP всего в 2Вт!

Круто, да? Рядом с процессором расположились ещё два банка ОЗУ по 512МБ каждый, в сумме дающий нам 2ГБ памяти. В теории объём можно расширить и до 4ГБ, однако это потребует патч SPD-таблицы в UEFI, ведь отдельной SPD EEPROM-ки тут нет. Помимо этого, около процессора можно заметить гигабитный Ethernet-контроллер Realtek RTL8111H, подключенный через единственную дифференциальную пару PCI-Express в процессоре, и аудиоконтроллер ALC5672 от всё той же Realtek.

А ещё чуть ниже можно увидеть SPI-флэшку с прошивкой UEFI — MXIC 25U12873F, рядом с виновником торжества — eMMC-флэшкой Hynix H26M41204HPR объёмом в 8ГБ. И именно её нам сейчас предстоит заменить.

Ремонт

Как и во многих других устройствах, в Wyse 3040 используются флэшки в корпусе BGA153. Этот корпус пережил уже целых 3 поколения памяти: сначала в него упаковывали eNAND, затем eMMC, а сейчас во всю используют для UFS. У этого корпуса есть совместимый брат — BGA169, который отличается дополнительными пинами по бокам. Существуют два вида таких чипов:

  • Собственно сам чип-памяти eMMC, который состоит только из NAND-памяти.

  • И eMCP, который состоит из бутерброда флэш-память + оперативная память. Такой тип активно использовался в смартфонах и планшетах.

Оба этих типа частично взаимозаменяемы между собой — можно без проблем поставить eMCP в устройство с обычной eMMC на борту (просто пины оперативной памяти подключены не будут), однако обратное делать уже нельзя, иначе устройство останется без оперативной памяти. Перед заменой eMMC, старый чип необходимо выпаять, предварительно намазав под пузо флюс. Я использую AMAOE M53:

Никакого компаунда здесь нет, а плата хоть и толстая, но не особо теплоемкая — так что eMMC легко отлетает за минуту прогрева при 320 градусах на среднем потоке воздуха и без нижнего подогрева.

Плата маленькая, благодаря чему её не «ведёт» при длительном прогреве без нижнего подогрева.

Когда чип начал покачиваться от легкого прикосновения отвертки, осторожно поддеваем его специальным скальпелем и откидываем в ту сторону, где меньше всего обвязки. Но если он слишком упорно сопротивляется — лучше погреть его подольше, иначе есть шанс оторвать пятаки:

Эта гифка — лишь иллюстрация. Никогда не снимайте чип убрав фен, шанс оторвать пятаки крайне высок.

Далее зачищаем посадочную площадку оплеткой или просто паяльником, проверяем все ли пятаки на месте и отмываем площадку от флюса. На некоторых устройствах, например большинстве смартфонов от Samsung, NC-пятаки (никуда не подключенные пустышки) стабильно отлетают из-за сомнительного качества самих плат, так что если NC отлетели — ничего страшного. Должно быть вот так красиво:

Поискав в запасах чипы BGA153, я нашел два одинаковых SanDisk'а по 8ГБ, один из которых я сдул с убитой платы планшета, а также BGA169 чип от Toshiba на 32ГБ с Nokia N8. Чип от N8 я припаять нормально не смог из-за того что он слишком большой для этой площадки, а вот SanDisk'и залетели на плату на ура.

Слева родной чип памяти

Слева родной чип памяти

Поскольку чипы долго лежали в коробочке без вакуума, ставить их прям так рискованно — есть шанс что на шариках припоя уже образовались окислы, что может нарушить контакт в будущем. Поэтому снимаем старые шары паяльником, центрируем чип в трафарете и не перебарщивая наносим паяльную пасту, не забывая убрать излишки лопаткой. Я использую премиум пасту Mechanic XG50 и всем рекомендую :)

Далее оплавляем припой при температуре ~290-300 градусов. Если сильно переборщить — флюс испарится быстрее, чем припой начнет оплавляться и шары повылетают. Если поставить меньше — шары будут дольше оплавляться. С нагревом чипов памяти нужно быть осторожным — даже eMMC боится перегрева, не говоря уже об очень хрупких UFS, которые снимать нужно обязательно на нижнем подогреве.

Далее капаем немного флюса на посадочную площадку:

И припаиваем чип к плате. Даже если он где-то встал неровно, поверхностное натяжение поставит чип на место, а если его всё таки сдует чуть дальше, чем он должен быть — можно его осторожно поправить скальпелем.

И вот, чип наконец-то установлен! Но, как в известном анекдоте, есть нюанс...

❯ Ставим ОС

После включения, EFI всё также жаловался на отсутствие устройств, с которых можно загрузиться. Однако селф-тест теперь сразу вылетал с ошибкой «Short eMMC read test unsuccessful», что надвинуло меня на мысль о том, что инициализации не происходит.

Я перекатал несколько разных чипов еще 5 раз и эффект изменился только с чипом от Samsung на 4ГБ. И вот тут то я понял: а что, если только UEFI не видит eMMC из-за несовместимости бутпротокола в extCSD? Ведь на схеме не просто так указаны страпы для выбора ревизии памяти. И точно — флэшка Samsung заработала тут нормально. После этого я решил загрузить Linux с USB и проверить /dev/ — и eMMC там определился за счет собственного драйвера для Cherry Trail!

Что такое ExtCSD?

Это специальный конфигурационный регистр в eMMC, который отвечает за управление размером аппаратных разделов Boot, а также протоколом загрузки.
Дело в том, что не у всех устройств первичный загрузчик может сам проинициализировать флэшку и загрузить оттуда SPL, некоторые чипы заранее настраивают протокол загрузки в этом регистре и затем побайтно считывают загрузчик с помощью специального механизма. Если ExtCSD настроен неправильно - то устройство просто окирпичится. Касается это Tegra и Atom :)

Далее я поставил обратно чип от SanDisk, загрузился в Puppy и увидел что система запустила проверку разделов с файловой системой ext, что уже очень хороший знак — флэшка успешно инициализируется и читается системой. На этом этапе чип можно пропатчить с помощью специальной утилиты, но дампа extCSD оригинальной флэшки у меня нет :(

В качестве системы, я решил выбрать Debian 12 Bookworm — она не слишком старая и не слишком тяжелая, особенно с рабочим столом Xfce. Установщик сразу увидел eMMC, которую теперь необходимо переразметить — сейчас там остатки Android от планшета, из которого этот чип выпаяли.

После установки компьютер перезагрузился... но вы же не думаете, что всё было так просто? Он снова не увидел eMMC. Дело в том, что в Wyse 3040 кривой UEFI, который не учитывает путь до загрузчика из NVRAM и грузит только стандартный BOOTX64.EFI. Я скопировал его из папки EFI/debian/ в EFI/boot/

И даже после этого UEFI его не увидел, а значит моя теория с тем, что EFI привередлив к ExtCSD флэшки — верна. Поэтому я решил сделать финт ушами и записать на маленькую USB-флэшку только ядро и initrd, перенаправив root на eMMC. Для этого монтируем флэшку и копируем initrd из под Rescue-режима Debian:

mkdir -p /emmc/
mount -o remount,rw /cdrom/
mount -t /dev/mmcblk0p2 /emmc/
cp /emmc/initrd.img /cdrom/

Патчим grub.cfg так, чтобы он указывал на initrd и ядро на флэшке:

menuentry --hotkey=g 'Boot' {
set background_color=black
linux /install.amd/vmlinuz vga=788 root=/dev/mmcblk0p2 ---
initrd /initrd.img
}

И загружаемся с флэшки. Как итог — система пошла грузиться и уже через минуту я увидел окно входа LightDM.

Теперь компьютером можно полноценно пользоваться. Debian сразу подцепил все необходимые драйвера, в том числе и для GPU — так что даже аппаратное ускорение интерфейса присутствует. Конечно 2ГБ памяти для современного ПК очень мало, но тем не менее, 4х-ядерный Atom ещё кое-что может!

Например, можно с некоторыми лагами серфить современный интернет. Я спокойно зашел на свой профиль на Хабре дабы поностальгировать со статей 2023 года. И мне это удалось сделать, даже скроллинг почти не тормозит.

Драйвера Mesa также подтянулись сами, благодаря чему работает WebGL. Помимо 3D, также есть аппаратное ускорение видео, благодаря чему из такого минипк можно сделать мультимедийный центр.

А ещё этот малыш даже игры тянет! В OpenArena мы получаем 40-60 кадров на большинстве локаций в 800x600... результат конечно не супер крутой (все таки это игра на базе движка Quake 3), но тем не менее в TuxRacer или эмуляторы ретро-консолей поиграть можно :)

При максимальной нагрузке, процессор едва греется до 55 градусов — так что температурный режим у него максимально безопасный и думаю он никогда не начнет троттлить и не выдаст низкий уровень на пин PROCHOT при своевременном обслуживании :)

Что такое PROCHOT?

Это специальный сигнал на всех процессорах Intel, который сигнализирует о перегреве самого процессора или зоны VRM.

Ради интереса, я погонял его в бенчмарке sysbench cpu, где он набрал 1476 попугаев. Это результат примерно в два раза хуже чем у Core 2 Quad Extreme Q9300 и в полтора раза хуже чем у Pentium G4400. Для планшетного процессора результат отличный, Intel N95 с гордостью перенял эстафету экономичного, но достаточно шустрого процессора :)

Учитывая неплохую производительность и минимальное энергопотребление, вас наверняка может заинтересовать перспектива использования этого минипк в качестве SBC. И он вполне для этого годится! На плате есть пятаки для отладочного порта, где выведено сразу несколько шин I2C, UART и JTAG. К I2C можно «достучаться» с помощью i2c_dev, а к UART'у через обычный ttyS.

Более того, путем небольших вмешательств в плату можно взять линии PCI-Express с сетевого контроллера для подключения внешней видеокарты или накопителя, а питание для внешних дисплеев и прочей периферии можно попробовать взять прямо из шин питания компьютера. Например 3.3v можно взять от LDO, который формирует IO-питание LAN-контроллера — у него запас аж 3А, так что хватит с головой :)

Так что лично я считаю, что Wyse 3040 — прекрасная альтернатива Raspberry Pi 2/3 и OrangePi Zero/PC, которые сейчас можно найти на авито по схожей цене, а иногда даже и выше. А вы?

❯ Заключение

Вот такой интересный компьютер я купил всего за 800 рублей. Пару часов времени, немного паяльной пасты, трафарет и фен — и вот компьютер по цене пиццы уже работает и радует меня как маленький домашний сервер с минимальным потреблением. И ведь таких экземпляров на вторичке сотни, и каждый из них можно использовать для организации медиацентра, мини-NAS, сервера или, если очень постараться, и накатить Windows, даже машинки для ретро-игр. А что думаете вы? Какие применения могут быть у такого 4х-ядерного компьютера? Пишите свое мнение в комментариях!

Весь вечер, мой рабочий стол выглядел так :)

Весь вечер, мой рабочий стол выглядел так :)

В качестве тестовых машин, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал «Клуб фанатов балдежа„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»

А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х?:‑)

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)

Фото Nokia 9300 с сайта mobile&#x2011;<a href="https://pikabu.ru/story/moshchnyiy_odnoplatnik_za_kopeyki_kak_ya_kupil_i_otdristavriroval_polnotsennyiy_minipk_za_800_rubley_prevrativ_v_server_dlinnopost_pro_zhelezo_14455920?u=http%3A%2F%2Freview.com%2F&t=review.com&h=b39b8771d6642d0c50679b8d378f38bfe95d5f66" title="http://review.com/" target="_blank" rel="nofollow noopener">review.com</a>

Фото Nokia 9300 с сайта mobile‑review.com

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.

Как вам статья?
Всего голосов:
Показать полностью 41 1
305
TECHNO BROTHER

Купил комп за 800 рублей⁠⁠

Дело было вечером, делать было нечего. На авито увидел тонкий клиент Dell Wyse 3040 всего за 800 рублей. Машинка интересная - 4х-ядерный Atom, 2ГБ ОЗУ с потенциалом расширения до 4-х, eMMC в качестве SSD... казалось бы - шикарно

Но как и в одном бородатом анекдоте, есть нюанс. За такую цену эти минипк продают с отвальной eMMC, которая и без того здесь скромного объема - всего 8ГБ.

Комп был препарирован, eMMC успешно заменена, накатан Debian и теперь машинка выполняет роль домашнего сервера с пусть небыстрым, но все таки SSD😎

Как думаете, 800 рублей и 3 часа времени - дорого за комп с 4 ядрами, неплохим GPU Intel HD Graphics, 2ГБ DDR3 памяти и гигабитной сетью?

?
Всего голосов:
Показать полностью 2 1
52
TECHNO BROTHER
IT

Купил смартфон за 10к с 8/256 и 8-ядерным Unisoc'ом: обзор на Blackview Wave 10 [Длиннопост, про железо]⁠⁠

В этом году сегмент бюджетных смартфонов с ценой до 10.000 рублей не отличается особым разнообразием. Подавляющее большинство моделей построено на базе чипсетов от Unisoc, визуально имитируют внешний вид iPhone 17 Air и отличаются лишь экранами и конфигурацией памяти, за исключением редких "броневичков" с сменными аккумуляторами типа Cubot KingKong Dura.

Свежий Blackview Wave 10 является хорошим примером сбалансированного ультрабюджетника: за 10к мы получаем 8-ядерный Unisoc T615, 8ГБ оперативной памяти и 256ГБ постоянной, и свежую версию Android с фирменной оболочкой DokeOS. Стоит ли он своих денег? Сегодня узнаем!

Распаковка

Вообще, я сейчас пользуюсь сразу двумя смартфонами параллельно: Blackview Xplore 2 Projector как основной, и Cubot KingKong Dura в качестве дополнительного. Каждый из девайсов выполняет свою собственную задачу: Xplore 2 держит аккумулятор неделю, у него предфлагманское железо, и присутствует неплохой проектор - в условиях съёмной квартиры без телевизора, нам с девушкой функционал DLP-проектора пришелся очень по нраву. У KingKong Dura же есть два сменных аккумулятора, которые выручают в ситуациях когда забыл зарядить оба гаджета, плюс на нем стоит Max и прочие ВКонтакте.

Но недавно мне понадобился третий смартфон, причем на свежем, но бюджетном железе и ценой до 10к - и оным стал Blackview Wave 10. Нужен он мне был для тестирования своего хобби-проекта - 3D-игры для Android на самопальном движке с минимальным весом и числом зависимостей. Собственно пару лет назад мы такую игру уже с вами делали:

Помните как мы тестировали концепцию "Write once, run anywhere" и писали игру с единой кодовой базой для всех Java-устройств? :)

Помните как мы тестировали концепцию "Write once, run anywhere" и писали игру с единой кодовой базой для всех Java-устройств? :)

Смартфон я заказал 3 сентября, а приехал он в мой день рождения - 25 сентября.

Внутри устройства стандартная начинка по меркам бюджетника:

  • Процессор: восьмиядерный Unisoc T615, который состоит из 2-х ядер Cortex A75, работающих на частоте до 1.8ГГц и 6-и Cortex A55, работающих на частоте до 1.6ГГц, а за графику отвечает Mali-G57 в одноядерной конфигурации, работающий на частоте 850МГц. T615 является "средним" чипом в семействе T6xx и от T620 отличается только несколько сниженной частотой работы процессорных ядер.

    Помимо основных ядер, в процессоре также располагается модем, способный работать в LTE, 3G и 2G сетях, а платформа поддерживает Wi-Fi 5, BT 5.2, GPS, Глонасс, BeiDou и Galileo. По производительности процессор находится между MediaTek Helio G81 и G99 - мастодонтов бюджетных смартфонов.

  • Память: eMCP-чип, состоящий из 8ГБ оперативной памяти типа LPDDR4X и 128/256ГБ постоянной UFS. Для такого ценового сегмента конфигурация отличная - ОЗУ будет хватать для полноценной многозадачности, да и постоянной памяти здесь тоже вполне хватает. Помимо прочего, Wave 10 поддерживает MicroSD карты памяти.

  • Дисплей: большая IPS-матрица с диагональю 6.88", разрешением 720x1640 (HD+) и частотой обновления в 120Гц. Пожалуй это самая сильная сторона устройства, хотя я скучаю по временам, когда за 10к можно было купить смартфон с OLED'ом :)

  • Камеры: 32МП основная и 13МП фронтальная, модели сенсоров, к сожалению, неизвестны.

  • Аккумулятор: 5Ач, стандартная литий-полимерная без углеродных приколов. Быструю зарядку устройство не поддерживает.

  • Габариты: 171.9x78x9мм при весе в 205г, кроме того, устройство соответствует стандарту IP54 и не боится ни брызг воды, ни пыли. Тут всё стандартно.

  • Дополнительные фичи: сканер отпечатков пальца. Поддержки NFC нет.

  • ОС: Android 16 с фирменной оболочкой DokeOS 5.0. По правде сказать, я больше предпочитаю AOSP, нежели перегруженные функционалом оболочки, однако в моем Xplore 2 Projector, DokeOS показала себя отлично.

Поставляется аппарат в вот такой симпатичной коробочке:

Внутри коробки всё стандартно: сам смартфон, зарядное устройство, силиконовый чехол, кабель Type-C, защитное стекло, скрепка и мануал. На дисплей смартфона сразу наклеена пленка.

Блок питания здесь совсем простой и может выдавать только 10Вт. Как я уже говорил ранее, быструю зарядку смартфон совсем не поддерживает и заряжается около 2-2.5ч.

Визуально смартфон весьма симпатичный и отлично лежит в руке. На выбор предлагается четыре веселых цвета - оранжевый (как у iPhone 17 Air), черный, зеленый и голубой. В отличии от большинства других бюджетников этого года, Wave 10 внешне напоминает не iPhone 17 Air, а Galaxy S26 :)

Несмотря на 5 глазков камер, модуль по факту здесь только один, плюс вспышка. Не знаю с чем связана мода на фейковые объективы, но справедливости ради отмечу что камера здесь действительно очень неплохая по меркам бюджетника (об этом чуть позже).

С фронтальной стороны скрывается дисплей с относительно крупными рамками - при этом матрица одна из самых сильных сторон Wave 10. Экран неплохо откалиброван, у него приличная цветопередача и производительность смартфона вполне позволяет пользоваться 120Гц режимом с комфортом.

В целом первые впечатления от смартфона положительные, но главная фишка бюджетных Blackview - в DokeOS. Давайте же включим смартфон и проверим на что он способен на практике!

Включаем

После включения, нас встречает рабочий стол DokeOS. В целом, оболочка представляет из себя небольшой набор полезного софта + некоторые твики в настройках. Среди приложений можно найти морозилку (позволяет отключать неиспользуемые приложения), трекер здоровья, погоду и системный клинер.

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

Среди обещанных ИИ-фишек есть 4 приложения: чат (клиент к DeepSeek'у), музыка (клиент к Suno), видео и обработка фото. У всех приложений есть платные подписки, которые, однако, покупать необязательно - у каждого есть отдельный ежедневный лимит использований. Например можно отредактировать 20 фотографий в день бесплатно.

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

Тестируем

Переходим к тестированию устройства. Как мы с вами помним, в Wave 10 используется бюджетный 8-ядерный процессор Unisoc T615, состоящий из двух A75'ых и шести A55'ых ядер. Эти ядра появились ещё в 2017 году, и несмотря на возраст почти в 9 лет, они всё ещё используются в современных чипах - взять хотя-бы G99/G100/G200, где A55'ых целых 6 штук.

Например в Antutu 12 (не путать с 11), T615 смог выбить 474.314 попугая, в то время как T620, будучи разогнанным T615, выбивает уже 552.150 попугаев, а G99 целых 663.219 попугаев благодаря более современным A76'ым вместо A75'ых. Тем не менее, процессор уделывает G81 и G85, которые набирают чуть больше 300к попугаев в бенчмарке.

В GeekBench 7, T615 набирает 381 попугай в однопоточном режиме и 1496 в многопоточном. По сравнению с T620, T615 набрал на 100 очков меньше чем T620 из-за того, что клок A75'ых ядер снижен на 400МГц. В Geekbench T615 также расположился между G81, Dimensity 720 и G99, и по чистой производительности близок к Snapdragon 845 2018 года выпуска.

В PCMark Work 3.1, процессор набрал 9705 попугаев - аж на 1.000 очков больше чем T620. Но тут причины такого разброса не ясны :)

В целом как я уже и говорил, для повседневных задач смартфона хватит с головой. Но вот как насчет игр? В популярном шутере Standoff 2, T615 выдаёт стабильные 60 FPS на максимальных настройках графики в нативном разрешении. В целом оно и немудрено - в игре статический свет, в большинстве своем узкие и закрытые карты, где можно без проблем посчитать Occlusion Culling и хороший, оптимизированный рендер.

При этом несмотря на слабый процессор, Wave 10 вполне тянет и куда более тяжелый PUBG Mobile на минимальных настройках графики в 50-60 кадров. При быстрой езде иногда случаются микрофризы, однако они особо не мешают игре и поиграть на лоу-ранках можно без проблем.

Приятно порадовала COD: Mobile, которая также здесь работает отлично на низких настройках графики. Есть стабильные 60 FPS практически без микрофризов - так что даже в мейнстримные онлайн игры можно поиграть с комфортом.

Правда на совсем тяжелые тайтлы типа Genshin Impact можно не замахиваться. Кроме того, смартфон неплохо тянет эмуляторы игровых консолей вплоть до PSP включительно (кроме PS2). О ПК играх в Winlator'е можно забыть, однако даже тайтлы с PSP могут полностью закрыть потребность в сингплеерных мобильных играх.

Камера

Вот чем смартфон реально смог удивить, так это камерой. Я уже привык к тому, что в смартфонах до 20к, камера чаще всего очень посредственная и либо сильно мылит картинку, либо пытается вытянуть изображение нейронкой, что выглядит так себе, либо просто снимает на уровне Nokia 5800 несмотря на сенсор высокого разрешения. Хотя у Wave 10 тыловая камера всего на 32МП, она выдает очень приличные кадры при дневном освещении: видны как детали вблизи, так и вдали, при этом на умеренном расстоянии детали остаются четкими.

ISP у процессоров Unisoc достаточно простенький, поэтому в бюджетных смартфонах качество фотографий в основном вытягивает сам сенсор, а не драйвер камеры. В большинстве кейсов даже в авто-режиме можно получить приличное фото, а при базовой обработке (LUT, контраст) - фотографии, которые не стыдно выложить в инсту.

Пример макро-съемки листа. Вполне прилично.

Пример макро-съемки листа. Вполне прилично.

Однако у Unisoc'ов нет нормального денойзера, из-за чего мелкие объекты на значительном расстоянии превращаются в кашу. Лучше всего это можно увидеть на примере фото ниже:

В общем и целом - качество съёмки находится на очень приличном уровне и по сути для улучшения восприятия всех снимков при хорошем свете достаточно лишь приложение камеры с нормальным LUT'ом. Фронталка снимает неплохо, главным плюсом в ней считаю то, что смартфон не накидывает нейрохрючева для улучшения лица и таким образом не смазывает его черты.

Заключение

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

Плюсы:

  1. Замечательная IPS-матрица с частотой обновления 120Гц.

  2. Свежая версия Android, не перегруженная хламом оболочка DokeOS.

  3. Отличная скорость работы в повседневных приложениях и легких играх.

  4. Хорошая для своего ценового сегмента камера.

  5. Аккумулятора хватает на полутора-двое суток умеренного использования.

Минусы:

  1. Нет NFC. Пожалуй это самый главный минус, который нивелируется оплатой по QR лишь частично.

  2. Нет быстрой зарядки. Тут уж кому как, я лично привык заряжать свой 20Ач Blackview Xplore 2 Projector за полтора часа :)

  3. Слабоват процессор. Хотелось бы хотя-бы разогнанный T620, а лучше G99.

Показать полностью 23
534
TECHNO BROTHER
IT

Секреты первых 3D-игр: как работала графика в тайтлах 90-х [Длиннопост]⁠⁠1

Задумывались ли вы когда-нибудь о том, как разработчики 3D-игр умудрялись выжимать красивую графику из слабого железа в 90-х годах? Вспомните NFS High Stakes, Quake 3, Unreal или Jurassic Park: Tresspaser — все они, несмотря на простоту технологий, выглядят сногсшибательно - в них были и зеркала, и отражения на металлических поверхностях, и продвинутый статический свет с рейтрейсингом, и даже четкие тени...

...но немногие знают, что на видеокартах уровня 3dfx Voodoo 2 это достигалось путём использования хитрых техник, хаков и особенностей видеокарт тех лет. В этой статьи мы с вами из первых уст рассмотрим такие техники на практике — ведь одним из моих хобби является написание 3D-демок и игр под ретро-железо.

О железе

Конечно начать рассказ стоит с железа, на котором работали 3D-игры в те годы. Среднестатистический компьютер в середине девяностых состоял из:

  • Процессора — Intel 386/486 на частоте 16-50МГц, и его аналогов от AMD/Cyrix в сборках попроще, а Pentium 66 и 133 можно было встретить в моделях побогаче.

  • Оперативной памяти — 4-8 мегабайт в бюджетных сборках и 16-32 в более богатых

  • Видеокарты — простой VGA-адаптер без ускорения 2D, или же 2D-ускоритель типа S3 Trio с поддержкой аппаратного блиттинга. 3D ускорять такие видеокарты не умели.

  • HDD — от ~100 до 500МБ на бюджетных сборках, и до ~1ГБ на некоторых дорогих.

О 3D-ускорении в домашних ПК тогда можно было только мечтать, однако многие разработчики всё равно делали полноценные, пусть и несложные по графике 3D-игры и демки — просто в них отрисовкой мира занимался процессор. Такой подход назывался Software rendering и стал возможен благодаря развитию FPU в x86-процессорах — диковинке, о которой большинству чипов на ARM/MIPS оставалось только мечтать (FPU не было даже в PlayStation 1).

У софтрендеров были как плюсы, так и минусы. Главным плюсом можно отметить то, что в отличии от ранних видеокарт, у них не было фиксированного конвейера и разработчик мог реализовать отрисовку именно так, как он хочет — иными словами, он мог встроить «шейдеры» прямо в функцию растеризации треугольника. Другим важным плюсом я считаю то, что рендер имел «бесплатный» прямой доступ к буферу кадра, что позволяло реализовывать разные пост-эффекты по типу LUT, блюра или капель дождя на стекле.

Пример реализации дождя в Дальнобойщиках. Хотя именно в Д1 могли реализовать не пост-эффектом, а полупрозрачной текстурой-маской, которая формируется процессором, или вообще через стенсильный буфер.

Пример реализации дождя в Дальнобойщиках. Хотя именно в Д1 могли реализовать не пост-эффектом, а полупрозрачной текстурой-маской, которая формируется процессором, или вообще через стенсильный буфер.

Но были и минусы, и самый важный — огромная нагрузка на процессор, которая росла обратно пропорционально разрешению игры. В 320x200 Pentium 66 ещё мог кое-как справиться с простой сценой без особого овердрава (как в Quake 1), но на 640x480 и 800x600 FPS падал в однозначные числа. Второй минус происходит из первого — отсутствие фильтрации и перспективной коррекции текстур во многих играх, из-за чего текстуры полов и стен под определенным углом начинают искажаться.

Что тако Overdraw?

Overdraw — процент отрисовки поверхностей, которые перекрывают уже отрисованный ранее фрагмент.

Простой пример — мы сидим в доме и смотрим в стену. Если игра нарисует сначала ландшафт за домом, затем забор, затем качели за забором, и только потом стену перед нашим носом — это уже Overdraw. Некоторые игры умудряются рисовать за кадр практически весь уровень и это сильно бьёт по филлрейту.

В Quake-подобных такого не было, поскольку там работал хитрый PVS-куллинг, который отсекал даже те стенки, которые сейчас находятся прямо за стенкой на которую мы смотрим.

Гигагерцовый Vortex86 уже не вывозил Quake 1 в 1280x1024 даже под DOS!

Первой 3D-видеокартой на ПК была STG2000 (также известная как Diamond Edge 3D), выпущенная в 1995 году на чипе NV1 — который по совместительству был первым видеочипом Nvidia. На практике, NV1 был целым мультимедийным комбайном: в одном чипе скрывался 3D-ускоритель, 2D-ускоритель, аудио и MIDI-контроллер, и даже контроллер геймпадов Sega Saturn. И всё бы хорошо, но видеочип от Nvidia оперировал не привычными треугольниками, а квадами с хитрым способом представления текстурных координат — портирование 3D-игр на «треугольных» софтрендерах было слишком сложным, требовало переделывание всей геометрии (а значит и переобучения 3D-моделеров), из-за чего большинство разработчиков решило не заморачиваться и NV1 провалился, чуть не обанкротив молодую Nvidia.

Фото с сайта Vintage3D

Фото с сайта Vintage3D

Всего через год, в 1996 году, появилась первая 3dfx Voodoo, которая перевернула мир 3D-игр на ПК с ног на голову. Это был первый полноценный 3D-ускоритель, который мог реально разгрузить процессор и рендерить игры в куда большем разрешении с приличным FPS — можно было замахнуться не только на 640x480, но и 800x600 при 16-битном цвете! Главным нюансом было то, что 3dfx Voodoo был именно ускорителем — то есть чисто технически, он умел только растеризовывать треугольники, интерполировать цвета и наносить на них текстуры, и накладывать туман: у него не было ни вершинного конвейера, ни клиппинга, ни освещения — всё это делал процессор. Но под Voodoo было легко программировать, у него был понятный API Glide, а ещё он стоил относительно приемлемых денег — что и сделало 3dfx Voodoo стандартом на рынке конца 90-х.

3dfx Voodoo 1 с одним TMU. Фото с TechPowerUp

3dfx Voodoo 1 с одним TMU. Фото с TechPowerUp

Однако во времена первой 3dfx Voodoo, игры были сильно ограничены в плане графики из-за конвейера. Дело в том, что Voodoo 1, как и ViRGE с ATi 3D Rage, умели наносить лишь одну текстуру за проход отрисовки — из-за чего для рендеринга уровней с освещением приходилось рисовать сцену два раза — первый проход с основной текстурой, второй с лайтмапой в режиме альфа-блендинга с смешиванием, а если были ещё и detail-текстуры — то добавлялся и третий проход! Учтите что GL/D3D были ещё глупыми, и на каждый такой проход приходилось снова и снова трансформировать и клипать геометрию что также било по процессору.

Решением стало появление текстурных комбайнеров в ~1997-1998 году, которые были прямым предком пиксельных шейдеров. В зависимости от числа текстурных юнитов, видеокарта могла смешивать сразу несколько текстур за один проход отрисовки, и делать не только умножение — но и сэмплинг по маске (полезно было для реализации ландшафтов, ранняя вариация Splatmapping'а), умножение итогового цвета в два раза (для реализации эффекта псевдоблума), DOT3-бампмаппинг, Environment mapped bump-mapping (помните демки из конца 90-х с красивой отражающейся водичкой? Вот это и есть EMBM) и ещё много разных интересных эффектов.

Помните красивую шейдерную водичку из Morrowind? Она была сделана по сэмплу из D3D8. Ничего сложного в этой водичке нет: отражение наносилось с помощью проекционной матрицы для текстурных координат, а бамп маппинг работал за счет комбайнеров.

В 1999 году появился первый GPU — GeForce 256, который имел поддержку T&L и переносил вершинный конвейер и хранение геометрии на видеокарту, а в 2001'ом — GeForce 3 с поддержкой полноценных вершинных и пиксельных шейдеров. С того момента всё и изменилось: игры стали ещё более крутыми, графонистыми, появились новые техники освещения помимо затенения по Фонгу, и так мы с вами дошли до PBR с GI в реалтайме в любом мейнстримном движке...

Освещение

...но давайте же вспомним, как разработчики реализовывали свет на ограниченном железе в 90-х годах. Причём в некоторых играх освещение было достаточно сложным и реалистичным — взять как пример Quake и Half-Life, которые вероятно одними из первых адаптировали технику Radiosity-лайтмап в играх.

Сцена в Half-Life 1 без освещения

Сцена в Half-Life 1 без освещения

Radiosity — техника просчета глобального освещения с переотражениями и тенями за счет использования программного рейтрейсинга. QRAD бьёт всё сцену на так называемые патчи, считает для них влияние других патчей (в основном видимость и дистанцию) и симулирует аппроксимацию того, как свет проходил бы и отражался через них в реальном мире. То есть это именно физическая симуляция работы света, а не её красивая аппроксимация в виде шедоумап/Blinn-Phong в более современных играх с реалтайм освещением.

Главным нюансом Radiosity было то, что его невозможно было просчитывать в реальном времени до появления RTX-карт, поэтому освещение, рассчитанное этим алгоритмом, запекалось в специальные текстуры и затем наносилось на этапе рендеринга как второй слой.

Освещение в реальном времени реализовывалось схожим с современными играми способом, однако распределение света работало несколько по другому. В основе лежали всё те же алгоритмы затенения по Фонгу и ставший классикой N dot l, однако поскольку видеокарты в те годы не умели считать освещение сами и этим занимался процессор, программа (или OpenGL/D3D) рассчитывала свет для каждой вершины модели, а не пикселя, а полученный цвет от освещения записывался прямо в вершину.

В растеризации треугольников есть такое понятие, как барицентрические координаты — это интерполированные между тремя вершинами точки, которые описывают текущую «позицию» в системе координат треугольника и используются как для нанесения текстур и расчета попиксельного света, так и для интерполяции цвета. Как раз за счет интерполяции цвета между всеми тремя вершинами мы и получаем плавное освещение на каждом треугольнике, что в сумме даёт реалистичное освещение и блики, но только если у модели достаточная детализация. Такой подход называется затенением по Гуро.

Почему освещение в реальном времени использовали так мало?

Само по себе освещение в реальном времени не было прям таким уж тяжелым в те годы, но его использовали очень мало. Почему? Да потому что в графических API было строгое ограничение на число одновременных источников света для модели — всего 8 штук. Это нормально для модели персонажа, но мало для куска уровня, на который может влиять 10 источников света от фонарей/лампочек и т.д.

Решением проблемы стало появление Forward+ и Deferred-рендеринга, где свет считается в скринспейсе только для видимых пикселей. В мобильных играх повершинное освещение активно использовалось примерно до 2015 года.

Слева затенение по Гуро, справа попиксельный Blinn-Phong. Иллюстрация отсюда.

Слева затенение по Гуро, справа попиксельный Blinn-Phong. Иллюстрация отсюда.

Интересным способом реализовывали и фонарики, а также свет от ночных фонарей и других источников света, которые дают конусообразное освещение. Тут было две техники: либо использование честных Spotlight'ов (поддержка которых была как в D3D, так и в OpenGL), либо использование проективных текстур. Концепция проективных текстур очень простая: если умножить WorldSpace-позицию треугольника на комбинированную ViewProject-матрицу проектора (т.е позиции с которой светит фонарик), то мы получаем ClipSpace-координаты в пространстве проектора (верные и для треугольника) — и таким образом можем нанести на него текстуру так, будто на него текстуру проецирует проектор из реального мира.

Здесь свет от лампы — лайтмапа, а свет от фонарика — как раз проецированная текстура

Здесь свет от лампы — лайтмапа, а свет от фонарика — как раз проецированная текстура

Таким же способом реализовывали и так называемые проективные тени — ближайший предок шедоумап. Там суть заключалась в том, что в отдельную текстуру рендерится объект с позиции источника света, а затем на дорогу или пол проецируется текстура тени, создавая мягкие, красивые и дорогие по VRAM тени задолго до PCF-шедоумап! Такой подход использовался в Mafia 1, Half-Life 2 и Street Legal Racing: Redline.

Здесь можно увидеть четкие и относительно мягкие тени, пусть и с альясингом. Для 2003 года это отличный результат.

Здесь можно увидеть четкие и относительно мягкие тени, пусть и с альясингом. Для 2003 года это отличный результат.

В Portal 2 тоже активно использовались проективные текстуры. Из Вики valvedevelopernetwork.

В Portal 2 тоже активно использовались проективные текстуры. Из Вики valvedevelopernetwork.

Ну и конечно проективные текстуры использовались для реализации простых blob-теней во многих аркадах нулевых и 2010-х годов.

Пример блоб тени. Взято из мануала Unity.

Пример блоб тени. Взято из мануала Unity.

Раз уж мы с вами заговорили о тенях, то нужно обязательно вспомнить о так называемых Shadow Volumes или стенсильных тенях. На рубеже 90-х и 2000-х, вопрос теней в реальном времени в играх стоял остро. Shadowmap уже, конечно, придумали, однако видеокарты всё ещё не умели сравнивать Z-координату в шедоумапах до появления специального расширения в OpenGL и D3D9. Более того, шедоумапы без фильтрации страдали от альясинга и очень сомнительного качества, пусть даже у них было полноценное самозатенение.

Пример Shadowmap из статьи на <!--noindex--><a href="https://pikabu.ru/story/sekretyi_pervyikh_3digr_kak_rabotala_grafika_v_taytlakh_90kh_dlinnopost_14433434?u=http%3A%2F%2Fgamedev.ru&t=gamedev.ru&h=dd90b0896f935165e047f8b1db7f661cd12abfc9" title="http://gamedev.ru" target="_blank" rel="nofollow noopener">gamedev.ru</a><!--/noindex-->. Кстати, сделаны только на FFP!

Пример Shadowmap из статьи на gamedev.ru. Кстати, сделаны только на FFP!

Shadow Volumes работали по другому принципу, нежели image-based техники и предлагали весьма интересный способ решения проблемы:

  • Сначала программа вытягивает силуэтные грани модели по направлению от источника света. Получившаяся модель называется теневым объёмом.

  • Затем рисуется теневой объем только с передними видимыми гранями, а в стенсил-буфер записывается значение 1.

  • Далее рисуется всё тот же теневой объем, но только с задними видимыми гранями, которые перезаписывают в стенсил-буфер значение 0 в местах не связанных с тенью.

  • После рисования всей сцены, рисуется серый полупрозрачный прямоугольник на весь экран с включенной проверкой по стенсилу. Если в стенсиле значение 0 — значит тени в этом пикселе нет, если 1 — значит есть, и таким образом мы получаем корректные, четкие и красивые тени без проблем, свойственных ShadowMap'ам.

Стенсильный буфер работает по тому же принципу, что и трафарет при рисовании на листе бумаги, только в 3D-графике. Он имеет такое же разрешение, как и сама игра, и каждый пиксель в нем является флагом «можно ли рисовать в этом месте или нет» для основного экрана (рендертаргета) игры.

Силуэт о которм мы говорили. Скриншот из статьи Семёна Козлова на <!--noindex--><a href="https://pikabu.ru/story/sekretyi_pervyikh_3digr_kak_rabotala_grafika_v_taytlakh_90kh_dlinnopost_14433434?u=http%3A%2F%2Fgamedev.ru&t=gamedev.ru&h=dd90b0896f935165e047f8b1db7f661cd12abfc9" title="http://gamedev.ru" target="_blank" rel="nofollow noopener">gamedev.ru</a><!--/noindex-->.

Силуэт о которм мы говорили. Скриншот из статьи Семёна Козлова на gamedev.ru.

Стенсильные тени использовались во многих играх вплоть до ~2005 года. Самые известные — GTA San Andreas (там тени падали от фонарных столбов, пешеходов и машин) и F.E.A.R, однако поскольку просчет объёмов приходилось делать на процессоре для каждого источника света отдельно — техника устарела к появлению D3D10, и даже геометрические шейдеры, где их можно было считать почти бесплатно, волюмы не спасли.

Еще одна интересная техника тех лет — попытка симуляции атмосферного эффекта Godrays, или так называемые лучи Иакова: когда свет проходит сквозь узкие щели в пыльной и темной комнате, он выглядит как объемные лучи и многие разработчики делали красивый фейк этого эффекта за счет простейших вытянутых коробок с градиентной полупрозрачной текстурой. Эффектом пользуются еще с 90-х годов по сей день:

NFS High Stakes PS1

NFS High Stakes PS1

Прошу прощения за мыло :(

Прошу прощения за мыло :(

Отражения

Не менее интересно были реализованы и отражения. Сейчас в сети часто можно встретить жалобы игроков на то, что в современных играх отражения слишком примитивные, особенно это касается гонок, где в зеркалах автомобиля можно увидеть только статическую Reflection prob'у, а в зеркалах зданий разве что замыленную копию мира, отрисованную в рендертаргет низкого разрешения. В пример игроки приводят игры из нулевых и даже девяностых, где отражения были честными!

В GTA в зеркало можно было стрелять из снайперки и даже самого себя пристрелить. Многие думают что за зеркалом прячется клон игрока в виде отдельного игрового объекта, однако на практике снайперка — единственное оружие в игре, где пуля реально является объектом, а не рейкастом и она просто попадала по хитбоксу игрока сразу в тот момент, как была выпущена.

Секрет таких отражений в использовании всё того же стенсил-буфера. Игра сначала рисует объект зеркала с записью маски «зеркальных» пикселей в стенсил, затем рисует мир еще раз задом-наперед относительно зеркала и с помощью стенсилбуфера обрезает все пиксели, что попадают за пределы зеркала. Да, да, эта техника буквально строится на концепции «зазеркалья» и использовалась даже в Duke Nukem 3D 1995 года!

Скрин из статьи на Хабре.

Скрин из статьи на Хабре.

Однако у техники есть куча минусов: например с ней зеркало может быть только прямой формы, никаких отражающихся чайников и кузовов автомобилей. Кроме того, она требует реализации адекватного отсечения по перекрытию, иначе в отражении еще раз может отрисоваться половина мира и уронить FPS (самый простой способ — поделить уровень на комнаты и рисовать только ту комнату, в которой находится игрок, в таком случае зеркала превращаются в частный случай порталов). Но многие игры использовали ее для воды до появления нормального рендера в текстуру в качестве альтернативы screenspace-отражений.

Для кузовов автомобилей и других не-плоских объектов применялась иная, довольно хитрая техника. До появления кубических карт текстур (из которых сэмплить можно в «3д» координатах, которые в свою очередь можно посчитать от угла взгляда на объект) активно применялась техника сферических карт отражений. Выглядели они как 360 фотографии:

Поскольку геометрию трансформировал процессор, на этапе перемножения вершин на MVP-матрицу он генерировал новые текстурные координаты, которые брали нормаль вершины в пространстве камеры, делили его на 2 и прибавляли 0.5, дабы перевести из View-space в Normalized-space. Получалось что координата идеально огибала сферу и делала красивые отражения. Бонусом эту же карту можно было использовать в качестве неба (которое анимировалось путем того, что сфера прсто крутилась вокруг своей оси) — и таким образом мы получали статический Reflection-probe.

На скриншоте из NFS Hot Pursuit 1 можно увидеть отражения не только на автомобилях, но и на дороге. Техника была по сути «бесплатной» на видеокартах с мультитекстурированием — как например на 3dfx Voodoo 2.

На скриншоте из NFS Hot Pursuit 1 можно увидеть отражения не только на автомобилях, но и на дороге. Техника была по сути «бесплатной» на видеокартах с мультитекстурированием — как например на 3dfx Voodoo 2.

Анимация

Кроме того, думаю многим читателям будет интересно узнать о том, как в те годы делали анимацию. Ни для кого не секрет, что в подавляющем большинстве современных игр для анимации используется скиннинг — то есть модель разбивается на иерархию (кости), где трансформация каждого элемента зависит от трансформации родительского элемента. Это очень удобно для гуманоидных персонажей, поскольку позволяет легко одевать персонажа в броню или положить ему в руки пушку, а также позволяет использовать одну анимацию на десятках разных персонажей.

Однако до появления скиннинга существовала еще одна очень похожая система, называемая Object Transform. Работает она по тому же принципу, но положение объектов зависит не от костей и их весов, а от позиции/поворота самих объектов. Иными словами, персонажи собирались просто из набора кусочков — руки, локти, торс, ноги, и всё анимировалось отдельно. Помните угловатых персонажей в GTA III и Quake 3? Вот это оно и есть :)

Обратите внимание на сочленения — видно что колени и бедра как бы впиваются в таз персонажа, поскольку это отдельные объекты. Модель Томми выглядит естественно благодаря использованию скиннинга. Скриншот с gtaforums.

Обратите внимание на сочленения — видно что колени и бедра как бы впиваются в таз персонажа, поскольку это отдельные объекты. Модель Томми выглядит естественно благодаря использованию скиннинга. Скриншот с gtaforums.

Помимо Object Transform, в те годы также активно использовался морфинг. Это самая простая система анимации, которая «запекает» позиции вершин для каждого кадра отдельно, после чего вершины интерполируются движком для создания плавности. Несмотря на возможность реализации интересных эффектов по типу реакции на взрывы и лицевой анимации, она является самой неэффективной, поскольку занимает много памяти и не умеет ретаргетинг (применение одной анимации к нескольким моделям). Кроме того, с этой системой сложно положить пушку в руки персонажу, из-за чего во многих играх оружие было неотъемлемой частью персонажа.

В Quake можно было отключить интерполяцию и анимация монстров становилась дерганной и резкой. В современных играх этот способ тоже используется для объектов вдалеке - для экономии числа вычислений в вершинном шейдере.

Однако у этой системы есть неоспоримый плюс — нулевая нагрузка на процессор, благодаря чему ее использовали в Quake 1 и 2, и иногда используют для некоторых особых случаев в современных играх.

❯ Заключение

Вот такими техниками пользовались разработчики игр в 90-х годах. Многие из них используются и по сей день — например лайтмаппинг, шедоумапы, морфинг и PVS никуда не делись, и все эти техники за последние 20 лет сильно прокачались. А вам интересно было узнать о том, как работали графические фишки в играх прошлых лет? Стоит ли писать подобный материал для 2D-игр (там выйдет поменьше, но тоже есть о чем рассказать)? Пишите свое мнение в комментариях!

К слову можно считать эту статью предисловием к будущему материалу о разработке 3D-игры для ретро-компьютеров с нуля, без каких либо движков! В качестве тестовых машин, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Олды блога могут вспомнить мою демку про самолетики. Возможно скоро будет статья про куда более крутую игру для ретро компьютеров и возможно даже PSP и PS2!

Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал «Клуб фанатов балдежа„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»

А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram, Max или ВК. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х?:‑)

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)

Фото Nokia 9300 с сайта mobile&#x2011;<!--noindex--><a href="https://pikabu.ru/story/sekretyi_pervyikh_3digr_kak_rabotala_grafika_v_taytlakh_90kh_dlinnopost_14433434?u=http%3A%2F%2Freview.com&t=review.com&h=1df35ef747171c1d26299d8cf443e69188552976" title="http://review.com" target="_blank" rel="nofollow noopener">review.com</a><!--/noindex-->

Фото Nokia 9300 с сайта mobile‑review.com

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.

Программировали ли вы графику или игры?
Всего голосов:
Что думаете о статье?
Всего голосов:
Показать полностью 29 2
235
TECHNO BROTHER
IT

Купил бронесмартфон с съемными аккумуляторами за 15к: Cubot KingKong⁠⁠

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

Учитывая вышесказанное, я считаю символичным выход нового бюджетного бронесмартфона от Cubot - KingKong, в котором аккумуляторы меняются также легко, как и в телефонах нулевых, а в комплекте идёт вторая батарейка вместе с станцией для зарядки. Несмотря на нишевость, устройство не обделили приличным железом и оно получилось очень сбалансированным для цены в 15.000 рублей. Подробнее читайте под катом.

Распаковка

Вообще, я уже полгода гоняю с Blackview Xplore 2 Projector. Это флагманский броневичок за 45к с OLED-дисплеем, Dimensity 8350, 16ГБ DDR5-памяти, 20Ач аккумулятором и даже проектором. И вот во всем он хорош, кроме своего веса в 710г - смартфон умудряется стягивать с меня абсолютно любые штаны и шорты за исключением джинс. Мне захотелось какой-нибудь другой броневичок, который выглядел бы стильно, имел относительно адекватное железо и обязательно имел какую-то фишку. И мой выбор пал на Cubot KingKong Dura за 15к с съёмными аккумуляторами.

Как я уже говорил ранее, смартфон не обделили по железу и сейчас выпускаются две версии: попроще в конфигурации 8/128 (стоит 12.000 рублей) и поинтереснее в 12/256 (стоит 15.000 рублей). Характеристики у смартфона следующие:

  • Процессор: Unisoc T620, также известный как T7280. Состоит из двух ядер Cortex-A75, работающих на частоте до 2.2ГГц, и шести Cortex-A55 до 1.8ГГц. В качестве GPU используется Mali-G57 MP1, а из коммуникационных интерфейсов поддерживается LTE, 3G, GSM, Wi-Fi 5, BT 5.0 и GPS/Beidou/Gallileo/Глонасс.

    В линейке A55/A75'ых это самый мощный процессор у Unisoc и по уровню он стоит между Helio G81 (его он уделывает) и G99 (от него немного отстает). Можно сказать что это сильно разогнанная версия T610/T615.

  • Память: Тут как мы с вами помним две конфигурации - 8/128 и 12/256. Оперативная память как и положено бюджетным смартфонам - LPDDR4X. Также есть слот расширения для MicroSD.

  • Экран: HD+ IPS матрица с диагональю 6.8", разрешением 720x1640 и частотой обновления в 120Гц. Не 2K конечно, но тоже вполне неплохо.

  • Камеры: Основной модуль с разрешением 64МП + дополнительная макро-камера на 2МП. За фронтальную камеру отвечает 16МП модуль.

  • Дополнительные фичи: NFC и сканер отпечатков пальцев на кнопке включения. Тут всё стандартно.

  • ОС: Android 16. Свежачок, о системе поговорим немного позже.

Смартфон поставляется в компактной фирменной коробочке с довольно богатой комплектацией. Тут тебе и два аккумулятора, и мануал, и блок питания с кабелем Type-C, и станция для зарядки. В комплекте также идёт защитное стекло, которое сразу наклеено на дисплей смартфона:

Оба аккумулятора имеют стандартную для современных смартфонов ёмкость в 5Ач, которой с головой хватает на пару суток активного использования устройства, и выполнены они по классической литий-полимерной технологии. Несмотря на использование быстросъёмных АКБ, у устройства есть сертификация IP68 и IP69K, благодаря чему оно не боится ни погружения в воду, ни пыли.

Аккумуляторы подключаются к устройству посредством контактной группы и фиксируются защелкой, а не посредством винтиков. Конечно бронированные смартфоны с съёмными батареями выпускали и раньше, вот только чаще всего для замены аккумулятора приходилось носить с собой отвертку, медиатор или ноготь специального назначения :)

Зарядная станция очень напоминает те, которые выпускала Samsung для своих кнопочных телефонов в нулевые года. Здесь всё максимально просто: отсек для АКБ и два светодиода, которые показывают статус зарядки аккумулятора.

Блок питания здесь тоже весьма неплохой и способен выдавать до 20Вт. Заряжается смартфон около полутора часов, быстрая зарядка не поддерживается.

Что касается самого смартфона, то он достаточно легкий по сравнению с Blackview Xplore 2 Projector (300г против 710г), но при этом визуально заметно больше и вытянутее - 180x85x13мм. В отличии от других броневичков, KingKong Dura выглядит стильно и без излишней вычурности, оставаясь относительно тонким, и его приятно держать в руках. С правой стороны устройства расположились кнопки громкости и включения, а слева - настраиваемая кнопка, которая по умолчанию включает кемпинговый фонарь.

В отличии от почти килограммового Xplore 2, таким от гопников не отбиться. Хотя...

В отличии от почти килограммового Xplore 2, таким от гопников не отбиться. Хотя...

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

Синтетика и игры

После включения нас сразу встречает дисплей приличного качества. Цветопередача, частота обновления - всё на достойном уровне, хотя разрешение хотелось бы побольше. С другой стороны, у T620 не самый шустрый GPU, так что решение поставить HD+ вместо 2.5K имело смысл. В качестве ОС смартфон использует чистый Android 16 без вендорских наворотов, что я считаю огромным плюсом - никакого мусора в системе нет.

В ежедневных задачах смартфон проявляет себя просто замечательно. Мессенджеры, серфинг сети, просмотр видео - всё работает плавно и без особых лагов. Конечно связка A55/A75 уже считается несколько устаревшей, но учитывая бюджетный сегмент устройства - работает оно хорошо. Оперативной памяти с головой хватает на реальную многозадачность, тут смартфон практически держит паритет с Xplore 2 Projector, у которого 16ГБ LPDDR5.

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

Касательно характеристик, моя любимая AIDA64 показывает следующие данные. В целом, ТТХ стандартные для большинства устройств в этом ценовом сегменте.

В бенчмарке Geekbench 7, KingKong Dura выбивает 489 попугаев в однопоточном режиме и 1490 в многопоточном - практически как и его собрат в лице Cubot A50. В однопоточном тесте результат почти идентичен Snapdragon 685 и Snapdragon 845 - процессорам из 2017 и 2020 года, в то время как в многопоточном близок к тому же 685'ому и Dimensity 720. Во всех тестах T620 обошел G81, но значительно уступает G99.

В тесте Antutu 12, T620 набирает приличные 552150 попугаев. Это нормальный результат по меркам бюджетника, как и в случае с Geekbench, процессор обогнал G81 во всех версиях, но уступил G99. В целом неплохо.

Переходим к играм - и вот здесь уже всё куда интереснее. Дело в том, что смартфон использует слабенький GPU Mali-G57 MP1, который нельзя назвать игровым. Но тем не менее, многие современные тайтлы он все равно тянет. Например в PUBG: Mobile мы получаем стабильные 35-40 FPS на минимальных настройках графики, что вполне играбельно для мобильного мультиплеерного шутера.

Далее я поиграл в COD Mobile - игра в основном в закрытых пространствах, в которой больше простора оптимизации для GPU, и здесь смартфон показал себя относительно неплохо. На низких настройках графики играть комфортно и мы получаем железные 40-50 FPS...

Олды могут вспомнить фанатские "порты" CS на Unity из начала 2010-х. Те игры выглядели примерно также :)

Олды могут вспомнить фанатские "порты" CS на Unity из начала 2010-х. Те игры выглядели примерно также :)

Но стоит чуть повысить настройки графики и FPS падает до 30. Впрочем, фреймтайм все равно ровный и играть относительно комфортно на лоу-ранках.

Зато на средних настройках игра выглядит один в один как COD: MW2 :)

Зато на средних настройках игра выглядит один в один как COD: MW2 :)

Хотя T620 и тянет современные тяжелые игры лишь на минимально-средних настройках, процессор неплохо себя показывает в эмуляции ретро-платформ, особенно если получится найти телескопический геймпад подходящих размеров. Например игры с PS1 идут вообще без каких-либо проблем и с плавным звуком.

Делаю скриншоты и подсъемы для будущей статьи :)

Делаю скриншоты и подсъемы для будущей статьи :)

В целом, все платформы вплоть до PSP включительно, смартфон тянет хорошо. С играми для PSP тоже проблем нет, даже такие тяжелые тайтлы, как мобильные версии Need For Speed, здесь идут на полной скорости. Однако о PS2 можно забыть - T620 не потянет.

Камера

Пришло время протестировать камеры устройства. К сожалению, модели сенсоров неизвестны, но предположу что задний - это что-то вроде Sony IMX682/686, который появился 7 лет назад и остаётся популярным по сей день. Очень важно понимать что качество картинки в современных смартфонах зависит не только от сенсора, но и от ISP, который обрабатывает изображение, добавляет софтварный эффект Боке, делает цветокоррекцию по LUT и.т.п, и поэтому в смартфонах без нормальной софтовой поддержки даже самые крутые модули будут снимать на троечку.

На примере первой фотографии общего плана мы видим что камера отрабатывает неплохо - небо не превращается в белое пятно, номера автомобилей видны четко, и контуры объектов на заднем плане видны хорошо. Однако при детальном приближении видно, что ISP несколько перешарпливает детали и объекты типа кустов или плиточной кладки на панельных домах выглядят неестественно.

При этом качество фото сильно зависит от контекста сцены. Например на втором фото картинка получилась не очень - особенно объекты вдали.

При этом есть кейсы, где камера справляется реально хорошо. Например фотографирование плат - здесь видно что KingKong Dura смог достаточно четко передать не только видеочип Rendition V2200 и банки памяти рядом с ним, но и всю обвязку. И это при отнюдь не идеальном освещении.

Фронтальная камера показала себя хорошо. Да, здесь есть какие-то простые фильтры для лица, замазывающие дефекты кожи и попытка в Edge-detection в обычном режиме (не в режиме красоты), но в общем и целом картинка вполне неплохая.

В целом, сами модули неплохие - по большей части все болячки камер связаны с использованием Unisoc'а, у которого всегда были проблемы с ISP. Но тем не менее, устройство и не позиционируется как фотофлагман и с задачей сфотографировать документы, расписание, или закат на море, аппарат справится без проблем.

Заключение

В заключении хотелось бы сказать, что KingKong Dura получился действительно неплохим броневичком в бюджетном сегменте. Фича с быстросъёмыным аккумулятором оказалась реально удобной - аж вспомнились времена, когда можно было носить с собой парочку BL-4C и всегда оставаться на связи :)

При этом и сами аккумуляторы отнюдь не худые и смартфон на одном таком может спокойно жить до двух суток умеренного использования. Подведем итоги:

Плюсы:

  • Очень хороший объём ОЗУ и ПЗУ - запаса точно хватит как минимум на три-четыре года использования.

  • Свежая версия Android без вендорского хлама.

  • Хорошая ёмкость аккумуляторов, наличие дока для зарядки второй батареи в комплекте.

  • Плавная работа при повседневном использовании.

Минусы:

  • Не хватает стереозвука.

  • Хотелось бы чтобы камера снимала получше

Моя оценка - 8/10.

Что думаете о девайсе?
Всего голосов:
Показать полностью 22 1
230
TECHNO BROTHER

Самый экзотический x86-процессор: изучаем и тестируем Vortex86 [История, схемотехника, тесты, бенчмарки]⁠⁠

Осторожно: это большая и развернутая статья о редком процессоре. Если вам интересен полный разбор характеристик, схемотехники референсной платы, бенчмарки — статья обязательна к прочтению! Мы давно с вами привыкли к тому, что на рынке x86-процессоров бесспорными доминантами остаются Intel и AMD, и о каких-то альтернативах не слышно уже лет 15. Единицы читателей могут вспомнить процессоры Cyrix и VIA, а кто-то возможно даже слышал о TransMeta Crusoe и Эльбрусе — VLIW-процессорах с динамической ретрансляцией x86-кода в VLIW.

Однако на рынке x86-процессоров есть ещё одна серия чипов, о которой знают единицы гиков — Vortex86 от компании DM&P. Эти процессоры выпускаются по сей день, на их базе делают новые недорогие компьютеры, и они не основаны на какой-либо уже существующей микроархитектуре. Недавно в мои руки попал компьютер eBox с таким процессором и в сегодняшней статье мы с вами изучим, протестируем и сравним эту экзотику с процессорами Intel/AMD на практике!

Содержание:

  1. Предыстория

  2. Что я купил?

  3. Разбираем

  4. Включаем

  5. Заключение

❯ Предыстория

Вот уже более 40 лет подряд, наследники оригинального Intel 8086 продолжают использоваться в подавляющем большинстве персональных компьютеров и серверов. И если в наше время осталось всего два мейнстримных производителя — Intel и AMD (и еще Zhaoxin на технологиях VIA/Centaur, но это уже совсем недоступная экзотика), то в 80-х и 90-х ситуация была куда интереснее и x86-процессоров было куда больше...

Этот малыш 1978 года выпуска, состоящий всего из 23.000 транзисторов, положил начало всем современным компьютерам.

Этот малыш 1978 года выпуска, состоящий всего из 23.000 транзисторов, положил начало всем современным компьютерам.

...взять например NEC V30: в конце 80-х годов, японские инженеры умудрились сделать куда более производительную и энергоэффективную альтернативу 8086/80186, при этом добавив в него новые команды для битовых операций, работы с BCD-числами и специальный режим совместимости с 8080. Этот процессор можно было найти в электронных органайзерах и ТСД Psion 3-ей серии: по сути, это были миниатюрные 16-битные ноутбуки, для которых можно было писать свой собственный софт и они не особо сильно уступали многим обычным компьютерам тех лет.

Psion Series 3C, моя мечта. Фото с сайта RetroIsle.

Psion Series 3C, моя мечта. Фото с сайта RetroIsle.

Однако главная битва x86-ых развернулась в 90-х годах, когда множество разных фирм пыталась конкурировать с Intel: AMD, UMC (те самые, что производили клоны NES и SMD в одном чипе, и именно благодаря им появилась Денди), Cyrix (под эгидой IBM и Texas Instruments), Centaur (чуть позже стали VIA) и Rise Technology. И если о Cyrix'е и об их уникальном процессоре MediaGX 1997-года, который почти в неизменном виде прожил до 2020-го я уже рассказывал недавно, то процессоры Rise Technology всё это время мы с вами обходили стороной. Пришло время исправить это недоразумение...

Логотип компании. Взято из Википедии

Логотип компании. Взято из Википедии

Rise Technology появилась в 1993 году, когда глава полупроводникового подразделения NEC Дэвид Лин привлек деньги 15-и инвесторов (в том числе VIA, UMC и Acer — а вернее ALi). Целью компании было выпустить процессор, который смог бы конкурировать с передовым Intel Pentium и при этом стоить недорого — что было важно как для бюджетных десктопных сборок, так и для ноутбуков. В результате компания выпустила всего один малотиражный процессор за 5 лет — mP6, который поддерживал инструкции MMX, но сильно уступал в производительности чипам от Intel, AMD и даже Centaur. Несмотря на технологичность процессора (предсказание ветвлений, конвейерный АЛУ, включая FPU, и даже конвейерный SIMD), в реальных задачах он проигрывал AMD K6 и IDT (Centaur) WinChip, из-за чего широкого распространения не получил и был забыт...

Rise mP6. Фото из Википедии.

Rise mP6. Фото из Википедии.

...но только на десктопном рынке. В 1999 году, компания SiS, производившая чипсеты и видеокарты для x86-компьютеров, купила Rise и выпустила SIS 550 — уникальный для своего времени SoC, который интегрировал северный и южные мосты, а также mP6 в едином кристалле. Этот процессор получил распространение в мини-ПК (да, типа тех, что сейчас делает Minisforum, Ninkear и другие производители) и некоторых других устройствах типа DVD-плееров. Где-то в 2000-х, тайваньская фирма DM&P приобрела наработки по mP6 и решила создать свой собственный процессор, именуемый Vortex86.

SiS 550. Фото с сайта CPU Shack.

SiS 550. Фото с сайта CPU Shack.

В своей основе, Vortex86 наследовал концепцию SiS 550 — это была единая система на кристалле, которая интегрировала в себе оба моста, процессор и кэш, не требуя для производства Windows-совместимого ПК вообще ничего, кроме нескольких DC-DC преобразователей, оперативной памяти и какого-нибудь накопителя. Даже мультиконтроллер не был нужен - для сравнения, минипк на Intel Atom даже в конце нулевых нужен был отдельный север, отдельный юг, отдельный процессор, отдельный мультиконтроллер, клок, ШИМ-контроллер - и это еще по минимуму! Правда и ориентир у DM&P был не столько на потребительский сегмент ПК, сколько на промышленный.

Неттоп от Acer на базе Atom 230.

Неттоп от Acer на базе Atom 230.

В основном, Vortex86 используется в промышленных платах типа PC-104 (такие можно найти в платах управления станками ЧПУ и поездах к примеру) и тонких клиентах — маленьких ПК, созданных специально для работы с удаленными компьютерами. Там высокая производительность не нужна, зато важна надежность, энергоэффективность и отсутствие кулеров — благо у большинства Vortex86'ых TDP менее 1Вт и им охлаждение вообще не нужно.

Всего в семействе Vortex86 вышло 8 процессоров. Первым был Vortex86SX, который вышел в 2007 году и сочетал в себе mP6-ядро с 32КБ L1-кэша, и способное работать на частоте 300МГц, DDR2-контроллер, контроллеры шин ISA, PCI, PS/2, GPIO, IDE, таймеры, UART, USB, HDA для звука, PLL для формирования внутренних клоков, и даже 256КБ встроенной флэш-памяти для хранения BIOS'а. Даже отдельная флэшка была не нужна, и всё это на техпроцессе в 130нм (да, такой в теории даже в РФ смогут производить)!

Рефборда с Vortex86SX. Даже мульта нет! Правда VGA тоже нет — в 86SX контроллера еще не было, но можно было использовать специлаьный чип Vortex86VGA!

Рефборда с Vortex86SX. Даже мульта нет! Правда VGA тоже нет — в 86SX контроллера еще не было, но можно было использовать специлаьный чип Vortex86VGA!

В 2008'ом появился Vortex86DX — в нём частоту ядра подняли аж до 800МГц, он добавил возможность работы двум процессорам параллельно (если один выходит из строя — другой может выйти на подхват и отправить в ребут зависший модуль к примеру), I2C, LPC, а также добавили 256КБ L2-кэша. Еще через год появился Vortex86MX — в нём добавился 2D-видеоускоритель уровня DirectDraw с VGA-выходом, а также подняли частоту работы до 933МГц. В Vortex86DX2 2012-го года добавили PCI-E, в Vortex86EX 2013-го года поддержку DDR3 и SD-контроллер, а Vortex86DX3 2014-го года стал первым двухядерным процессором компании, где каждое ядро работает на частоте 1ГГц.

В 2018 году вышла такая экзотика, как Vortex86EX2 — это уникальный x86-процессор с двумя ядрами, где оба ядра работают независимо друг от друга и реализуют не симметричную модель многопроцессорности (то есть как все современные процессоры Intel/AMD, где каждое ядро работает в кооперации с остальными), а ассиметричную — то есть в одном процессоре могут свободно выполняться сразу две операционные системы одновременно, у них виртуализируется периферия и они могут обмениваться данными только с помощью RPC/Mailbox'ов. Такого в истории x86 вообще никогда не было, это лютая диковинка!

Самый последний процессор компании появился год назад, в 2025'ом. Это Vortex86EX3 с всё той же ассиметричной многопроцессорностью. Каждое ядро способно работать на частоте от 1.2ГГц до 1.6ГГц, чип поддерживает DDR4 с ECC и почему-то не имеет встроенного видеоядра. И да, DM&P сама является основным производителем компьютеров на своих процессорах, которые выходят под брендом eBox, и которые можно легко найти на барахолках типа Avito и Юлы за 1-2 тысячи рублей. Недавно таким обзавелся и я, и именно его мы с вами будем сегодня разбирать, изучать и тестировать!

❯ Что я купил?

В мои руки попал eBox-3550MX-AP 2013 года выпуска, который я купил на онлайн-барахолке за 1.500 рублей. На выходе он стоил около 250$ — или примерно 6-7 тысяч рублей по тому курсу. Такие устройства не продавались в магазинах типа DNS, а распространялись через дистрибьюторов промышленной техники.

В первую очередь, меня поразили габариты устройства. Оно настолько маленькое и легкое, что свободно помещается в ладошку и нагрудный карман рубашки. Гаджет весит всего 300г и имеет размеры 195x95x20мм — меньше, наверное, только Intel Compute Stick.

Давно мечтал так сделать!

Несмотря на крошечные размеры, нельзя сказать что устройство обделили внешними интерфейсами. С передней стороны скрывается два USB 2.0, два 3.5мм разъёма для наушников и микрофона, SD-кардридер и индикатор питания. Кстати у компьютера нет кнопки включения и стартует он сразу после подачи питания, а также у него вообще нет никакого встроенного накопителя и загружается он исключительно с SD-карты.

С обратной стороны скрывается еще один USB 2.0, RJ-45, VGA, а также MiniUSB, который и питает устройство. Весь корпус выполнен из цельного металла, никаких пластиковых элементов. Как вы уже понимаете, рёбра с верхней части устройства выполняют роль радиатора и отводят тепло с процессора через толстую термопрокладку. Впрочем с TDP 1Вт думаю можно было вообще обойтись без него :)

❯ Разбираем

Разбирается устройство очень просто — достаточно лишь открутить 4 винта с нижней части корпуса и снять радиаторную часть.

Внутри скрывается маленькая плата, где нет никаких навесных элементов, кроме хитро припаянного USB 2.0. Ни жестких дисков, ни IDE Flash-модулей, ничего — компьютер полностью самодостаточный. Технари уже могли обратить внимание на то, что на плате очень мало компонентов — никаких привычных мультов, мостов, ШИМ-контроллеров и прочего здесь нет.

В центре платы расположилось сердце устройства —чип PMX-1000, также известный как Vortex86MX. Внутри него скрывается:

  • Процессорное ядро на базе mP6 с 6-стадийным конвейером, FPU и SIMD-инструкциями. Как и полагается MX'у, ядро здесь работает на частоте 1ГГц, однако с точки зрения поддержки инструкций процессор остался во временах Pentium III/Pentium 4. У процессора всего 32КБ L1-кэша и 256КБ L2 — уровень P4 Willamette.

  • Контроллер DDR2, способный работать в одноканальном режиме на частоте до 400МГц (т.е по сути 800) и поддерживающий до 1ГБ памяти. Это уже уровень ранних 775-ых машин.

  • Двухканальный IDE-контроллер с нативной поддержкой SD-карт (т.е SD эмулируется как IDE).

  • Интерфейс LPC к мультиконтроллеру, если он вдруг нужен.

  • 2D VESA-совместимый видеоускоритель с поддержкой DirectDraw — т.е у него есть аппаратный блиттер и рисование примитивов. Это уровень видеокарт из 90-х — S3 Trio, ATi Mach64 и т.д.

  • Контроллер PCI, HDAudio, ISA, USB, PS/2, I2C, LPT, GPIO

  • PLL для тактирования самого себя, а также периферии — 24/25МГц, PCI (33МГц) и DDR2. Поскольку здесь нет северного моста и соответственно FSB, множитель клока процессора можно менять прямо в BIOS.

И всё это в 720-пиновом BGA-корпусе на техпроцессе ~90нм! Уже очень круто!

Чуть правее расположилось два банка DDR2-оперативной памяти Micron, каждый объёмом в 128МБ. С обратной стороны есть ещё два чипа — что в сумме даёт 512МБ памяти. SPD тут нет, так что проапгрейдить память скорее всего не выйдет.

Чуть ниже расположился еще один банк оперативной памяти от Winbond объёмом в 64МБ. Зачем он нужен я так и не понял (возможно для видеоядра).

Под аккумулятором CMOS расположился аудиокодек Realtek ALC262 с четырьмя 24-битными ЦАПами.и тремя АЦП. Стандартный кодек, который используется во многих компьютерах.

Всего в устройстве 4 домена питания:

  • 5В — идёт от MiniUSB. Используется только для питания подключаемых USB-устройств, больше никакой логике 5В не нужно.

  • 3.3В — формируется крошечным ШИМ-контроллером и питает кодек, SD-карту, а также периферию в процессоре.

  • 1.8В — формируется ШИМ-контроллером и используется для питания DDR2, а также VIO-линий процессора и является референсом для обмена данными с другими чипами.

  • 1.0В — формируется ещё одним ШИМ-контроллером и используется для питания самого ядра процессора. Это самый мощный и прожорливый домен во всей системе.

К сожалению, маркировки ШИМок установить не удалось, но принцип работы предельно понятен. Технари уже могли заметить, что питание процессора однофазное — никаких сложных систем с двумя плечами, программируемых ШИМок с сложным фидбеком и регулировкой напряжения VCore, ничего :) Думаю при желании их можно хоть на AMS1117 заменить.

Также у RJ-45 расположился чип PHY-уровня для Ethernet от Mingtek, MAC-контроллер (т.е сетевая «карта») находится в процессоре.

С обратной стороны платы расположилась обвязка процессора, слот для SD-карты, те самые два банка DDR2, а также две 28-пиновые площадки, подозрительно похожие на оные для SOIC EEPROM-ок.

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

Вот так всё легко и просто! Полноценный x86-компьютер из процессора, нескольких банков памяти и трех ШИМок... такой компьютер по рефборде даже студент сможет сам развести :)

Даже в Intel Compute Stick используется сложный отдельный контроллер питания AXP209 с кучей LDO-шек и DC-DC контроллеров

❯ Запускаем

Перед запуском машинки нужно подготовить для неё флэшку с операционной системой. В качестве оной я выбрал MicroSD-карточку на 32ГБ стандарта SDHC с переходником на SD, а первой ОС я поставлю FreeDOS. Запускаем Rufus, подготавливаем флэшку и записываем:

Далее вытаскиваем флэшку, вставляем в eBox и подаем питание. Нас встречает AMI BIOS образца 2010 года — никакого UEFI тут нет.

BIOS здесь достаточно функциональный: есть и управление периферией, и частотой процессора, и даже таймингами оперативной памяти (ставим оверклокерскую DDR2?). Самой важной опцией для ретрогейминга я считаю возможность выставить делитель частоты процессора.

Частоту процессора можно снизить вплоть до 29МГц — это уровень ~386 и 486

Частоту процессора можно снизить вплоть до 29МГц — это уровень ~386 и 486

Также в BIOS'е есть важная опция, переключающая режим работы IDE-контроллера. Нужно чтобы был включен режим эмуляции через SD-карту.

После настройки BIOS'а отправляемся в ребут и попадаем в оболочку FreeDOS. Я предустановил несколько игр и некоторый набор софта для тестирования нашего компьютера:

Первым делом мы протестируем скорость накопителя с помощью программы HDDSpeed. У меня флэшка 10 класса, поэтому программа точно показывает скорость линейного чтения в 10МБ/с.

Далее запускаем 3DBenchmark и получаем солидные 1103 очка. Процессор влегкую обгоняет Pentium III 800 на архитектуре Coppermine и уступает на 400 очков AMD Athlon Thunderbird 1400C.

Далее переходим к играм. Тестировать 2D-тайтлы времен EGA/CGA мы не будем — очевидно что они будут здесь летать без проблем, поэтому сразу перейдем к 2.5D и 3D-играм и начнём с Duke Nukem 3D. Игра в разрешении 800x600 работает в ~60 FPS, при этом без занижения клока процессора управление становится ватным.

Первая Need For Speed идёт в стабильных 60 FPS при разрешении 640x480. Прекрасный результат по меркам игры с софтрендером.

Первая Need For Speed идёт в стабильных 60 FPS при разрешении 640x480. Прекрасный результат по меркам игры с софтрендером.

Но настоящий бенчмарк для процессоров тех лет — это первая Quake. Тут тебе и рендер тяжелый по меркам процессоров тех лет, и FPU нагружен, и ещё геймплей с физикой и куллингом обрабатывать надо. И тут Vortex86MX показывает себя отлично: в разрешениях 640x480 и 800x600, игра идёт в вполне стабильные 30-35 кадров.

Однако проблемы начинаются в 1280x1024 — тут FPS падает до примерно 15. Играбельно, но... хотелось бы большего.

Интересно и то, что DM&P вместо драйверов даёт набор библиотек для написания софта — тут тебе и работа с внешними дисплеями, и сетевой стек, и последовательный порт... в общем есть всё. Помимо DOS, на Vortex86 также можно без особых проблем установить Windows CE (неожиданно!), Windows XP, Vista и 7, а также Linux. Только имейте ввиду, что у Vortex86SX нет FPU и на нем XP не запустится!

❯ Заключение

Вот такой интересный x86-процессор развивается последние 19 лет силами DM&P. И в целом нельзя сказать что он бесполезный — это классная и компактная основа для ретро-ПК, хороший процессор для обслуживания старых станков, промышленного оборудования и автоматики, а ещё это неплохой микроконтроллер для DIY-устройств. Да, да, если вы поперхнулись чаем или кофе —на базе Vortex86 делали Arduino-совместимую плату 86Duino!

Ardunio на DOS'е? Дайте две! К слову если у кого-то такая валяется и она вам не нужна — мне было бы интересно пощупать и сделать на её базе, например, игровую консоль.

Ardunio на DOS'е? Дайте две! К слову если у кого-то такая валяется и она вам не нужна — мне было бы интересно пощупать и сделать на её базе, например, игровую консоль.

К слову, мне было бы интересно пощупать что‑то ещё из семейства Nvidia ION/Radeon Xpress Graphics/VIA Chrome9 HC/Trident Blade, а в будущем возможно написать 3D‑демку под GPU. Если у кого‑то есть всякие интересные тонкие клиенты или ноутбуки на прикольном железе, или что‑то AMD'шное времен 939/462 — пишите в ЛС, обязательно сделаю контент! А если хотите поддержать материально (ради контента я частенько залезаю в долги) - то есть автоматический виджет ниже:

Ну а я надеюсь, что вам было интересно. Подписывайтесь на блог, чтобы не пропускать новые статьи каждую неделю! А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram‑канал «Клуб фанатов балдежа„, куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.“»

А если вы хотите что‑нибудь подарить из железа и увидеть о нём статью — пишите мне в Telegram. Меня очень интересуют самые разные гаджеты: начиная от игровых консолей и любых связанных с геймингом устройств, телефонов, смартфонов, КПК, заканчивая ретро‑компьютерами и ноутбуками. Кто знает, может героем следующей подобной статьи окажется ноутбук из 90-х?:‑)

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. <a href="https://pikabu.ru/story/samyiy_yekzoticheskiy_x86protsessor_izuchaem_i_testiruem_vortex86_istoriya_skhemotekhnika_testyi_benchmarki_14411203?u=https%3A%2F%2Fpikabu.ru%2Fstory%2Fnoutbuk_v_1990e_godyi_4031566%3Futm_source%3Dlinkshare%26utm_medium%3Dsharing&t=%D0%98%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA&h=47e3f04a044bd34c2939ae07315aacaf2dc2cae1" title="https://pikabu.ru/story/noutbuk_v_1990e_godyi_4031566?utm_source=linkshare&utm_medium=sharing" target="_blank" >Источник</a>

Особенно сильно я люблю ковыряться в ноутбуках из начала 90-х. Источник

После обзоров устройства не продаются, а остаются в моей коллекции. Когда‑нибудь я хочу сделать музей, где к каждому устройству можно будет приложить QR и почитать мою статью. Кто знает, вдруг на следующей неделе я также подробно расскажу про девайс из вашей юности?:)

Фото Nokia 9300 с сайта <a href="https://pikabu.ru/story/samyiy_yekzoticheskiy_x86protsessor_izuchaem_i_testiruem_vortex86_istoriya_skhemotekhnika_testyi_benchmarki_14411203?u=http%3A%2F%2Fmobile-review.com%2F&t=mobile%26%23x2011%3B&h=9db5630ded25aff7d98d651fef9b5e179e7b0d7e" title="http://mobile-review.com/" target="_blank" rel="nofollow noopener">mobile&#x2011;</a><a href="https://pikabu.ru/story/samyiy_yekzoticheskiy_x86protsessor_izuchaem_i_testiruem_vortex86_istoriya_skhemotekhnika_testyi_benchmarki_14411203?u=http%3A%2F%2Freview.com%2F&t=review.com&h=b39b8771d6642d0c50679b8d378f38bfe95d5f66" title="http://review.com/" target="_blank" rel="nofollow noopener">review.com</a>

Фото Nokia 9300 с сайта mobile‑review.com

Кстати, у меня есть GameBoy Advance SP, под который я очень хочу написать игру. Однако мой экземпляр был залит водой и кофе. Может у кого‑то есть донор с дохлой платой, откуда я смог бы взять контроллер питания? У меня AGS-101.

Что думаете о Vortex86?
Всего голосов:
Что думаете о статье?
Всего голосов:
Что думаете о производительности Vortex86?
Всего голосов:
Показать полностью 36 3
51
TECHNO BROTHER

Ищу ноутбук с битой eMMC⁠⁠

Привет, Пикабу! Думаю многие знают меня как автора подробных статей о железе, в том числе и о восстановлении ретро гаджетов. И я ищу сломанный ноутбук...

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

Думаю многие знают, что примерно с 2014 года рынок дешёвых ноутбуков заполонили модели с тонкой платой как у планшета, питанием 5В и eMMC вместо нормального HDD/SSD. Многие модели вплоть до ~2024 года использовали младшие Intel Celeron/Intel Pentium и вышедшая из строя память была одной из главных проблем. Девайсы включаются, работают, но при попытке накатить систему сыпят ошибками или вообще не видят диск

Собственно хочется поднять такое устройство и применить для чего нибудь полезного - например, диагностики своей ВАЗ 2110. На Авито не нашел, так что если у кого то пылится без дела - пишите, обсудим.

Показать полностью 2
173
Уголок ретрогеймера
Игры

А кто-то помнит игрушку Crimsonland?⁠⁠1

Представитель ныне вымершего типа игр — «шаровары», вышедший в далёком 2003 году для распространения на CD-дисках и через интернет.

Игра представляла из себя мясной 2D шутер с видом сверху, в котором главной целью было перестрелять инопланетных монстров. Сюжет в Crimsonland как в порно, ведь все действо фокусируется на геймплее.

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

Как и многие другие шароварки тех лет, игра работала на базе собственного движка Grim2D. Фирма разработчик даже предоставляла SDK для разработки собственных игр на этом движке.

И хотя игра была крутой с точки зрения геймплея, все равно ей было не сравнится с Alien Shooter...

Играли кримсонленд?
Всего голосов:
Показать полностью 3 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества