Pull to refresh
54
0

Пользователь

Send message

ToF-датчик VL53L0 и STM32F103C8T6

Reading time5 min
Views2.3K

Подключение датчика VL53L0X к микроконтроллеру STM32F103 и вывод расстояния в реальном времени. Рассмотрены особенности инициализации датчика, настройка I²C-интерфейса и обработка данных. Приведен пример кода на языке C для работы с периферией STM32.

Читать далее

Лучшие игры легендарной машины: 45 лет назад на свет появилась линейка компьютеров ZX

Level of difficultyEasy
Reading time11 min
Views6.8K

Sinclair ZX80 по праву считается одним из родоначальников персональной компьютерной революции. Начало R&D-проекта по созданию ZX80 положено в 1979 году, когда Клайв Синклер совместно с командой инженеров приступил к проектированию. Через год мир увидел ZX81. Инженеры Sinclair буквально выжали максимум из него, стремясь удержать минимальную стоимость устройства.  А в 1982 году произошел прорыв – свет увидел ZX Spectrum, ставший впоследствии культовой моделью 1980-х годов, сыгравшей ключевую роль в революции, благодаря которой компьютеры впервые появились в домах британцев.

Игры для ZX Spectrum загружались с помощью кассетного проигрывателя и выводились на экран телевизора. В отличие от своего монохромного предшественника, они были цветными. Давайте вспомним несколько наиболее – на мой взгляд – знаковых и популярных тайтлов игровой индустрии этой легендарной серии.

LOAD ""

Как я обнаружил древнюю пасхалку в Power Mac G3

Reading time5 min
Views3.3K

Недавно залез в ROM оригинального Power Macintosh G3 и случайно обнаружил там пасхалку, о которой до этого ещё нигде не писали.

Началось с того, что одним воскресным утром я решил заглянуть в файл-шаблон ROM для Mac с помощью программы HEX Fiend Эрика Хармана. Меня интересовало, какие ресурсы хранятся в постоянной памяти Power Mac G3. Эта ROM использовалась в моделях Beige, Mini Tower и всех G3, выпускавшихся с 1997 по 1999 годы.

Пишу я эту статью в середине 2025, и мне не верится, что сегодня Power Mac G3 уже больше 27 лет. Невероятно!

Читать далее

Запускаем MIPI DSI экраны от смартфонов. Разработка схемы основной платы. Часть 1. Обзор решений, создаём своё

Level of difficultyMedium
Reading time5 min
Views5.2K

Некоторое время назад мне удалось-таки сделать обратную разработку нескольких экранов от смартфонов с интерфейсом MIPI DSI.

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

Обратная и прямая разработки поскакали в одной упряжке :-)

Посмотрим живой процесс разработки. Это всегда интересно!

В первой части рассмотрим несколько решений и выберем наиболее подходящее. А также начнём проектировать схему.

Полетели!:)

FireWire на Mac официально мёртв

Level of difficultyEasy
Reading time2 min
Views2K

Возможно, вы много лет не пользовались компьютером с портом FireWire, но тем не менее в 2025 году он всё ещё поддерживался в macOS. В своё время FireWire считался "убийцей" USB, теперь он уничтожается полностью и навсегда.

В первой бета-версии macOS 26 Tahoe для разработчиков Apple полностью удалила поддержку стандарта передачи данных IEEE 1394. Разработчики и бета-тестеры сообщили, что устройства FireWire больше не отображаются в приложении «Сведения о системе», Disk Utility или Finder. Даже при подключении устройств через адаптеры или док-станции Thunderbolt > FireWire, которые до сих пор служили "спасательным кругом" для устаревшего оборудования, macOS 26 их не распознает. Это означает что классическое оборудование (в том числе iPod'ы первого, второго и третьего поколения, звуковые интерфейсы, внешние жёсткие диски и прочий "антиквариат") больше не будет совместимо с новой операционной системой macOS.

Технология FireWire, была впервые представлена Apple в 1999 году на компьютерах PowerMac G3. В то время, когда USB первого поколения предлагало крайне медленную скорость, FireWire 400 показывал скорость передачи данных в 400 мегабит в секунду, что было более чем в 30 раз быстрее, чем у USB! Эта производительность быстро сделала FireWire основным интерфейсом для творческих профессионалов в области цифрового видеомонтажа, внешнего хранения и профессионального звука. Как известно, в конечном итоге USB выиграл эту битву, но в свое время FireWire был хорошей идеей и хорошим решением реальных проблем пользователей.

Читать далее

Насколько быстр Intel 8080? Используем чипсет на FPGA чтоб проверить

Level of difficultyMedium
Reading time14 min
Views9.5K

Я люблю вызовы - например, написать код в условиях ограниченных ресурсов: медленный процессор, странный набор инструкций, крохи памяти. У меня уже было несколько проектов такого рода - я запускал тяжелую вычислительную задачу на процессорах, которые уже разменяли пол-века: Intel 4004, Intel 4040 и Intel 8008. Очевидно, что на очереди Intel 8080!

В этой статье я опишу детали проекта по созданию системной платы с чипсетом на основе FPGA, на которой будет запущен Intel 8080A-1 на частоте выше 3Мгц. А также расскажу о том, как писать программы для этого процессора на C, и в финале покажу результаты бенчмарков - Dhrystone и CoreMark.

Читать далее

Написание i2c контроллера для FPGA и подключение камер ov7670 и ov2640

Level of difficultyEasy
Reading time10 min
Views3.5K

Здравствуйте меня зовут Дмитрий сегодня мы продолжим исследование FPGA плат и напишем контроллер для шины i2c, а также подключим камеры ov7670 и ov2640.

Данная статья является продолжение статей Доступ к SDRAM памяти на FPGA и «множество Мандельброта» и Создание видеокарты Бена Итера на FPGA чипе. Ну а мы начинаем.

Читать далее

Абсурдно усложнённая схема регистров в Intel 80386

Reading time16 min
Views17K
Фото кристалла i386 с обозначенным блоком регистров (полномасштабная версия фото доступна в оригинале статьи)

Революционный Intel 80386 (1985 год) стал первым 32-битным процессором с архитектурой x86. Как и большинство процессоров, он содержит огромное число регистров, которые являются ключевой составляющей, обеспечивая сверхбыструю обработку данных в сравнении с основной памятью. К ним относятся регистры общего назначения, регистры индекса и селекторы сегментов, а также специальные регистры для управления памятью и разработки операционной системы. В этой статье я буду говорить о кремниевом кристалле i386 и объясню, как в нём организованы основные регистры.
Читать дальше →

Всё об устройстве и работе SSTV с примерами на Python

Level of difficultyMedium
Reading time23 min
Views2.9K

SSTV (slow-scan television) — телевидение с медленной разверткой, узкополосный формат передачи данных, позволяющий передавать изображения через эфир. В этой статье будут рассмотрены подробности кодирования, декодирования SSTV-сигнала.
Статья может быть интересна радиолюбителям, желающим познакомиться с новым форматом связи, а также тем, кто хочет в подробностях понять как же работает эта технология.

Читать далее

TIG сварка — мои советы начинающим

Level of difficultyMedium
Reading time6 min
Views14K

Привет! Это своеобразный ответ на недавнюю статью на Хабре "TIG сварка в домашней мастерской, начало." Сразу скажу, что с 95% изложенного там я согласен, но есть нюансы, которые хотел бы оспорить или уточнить. Здесь не будет подробного описания процессов, работы и подключения, предполагается, что читатель уже сам это изучил. Сам я айтишник (DataScientist), который в качестве хобби выбрал DIY и эксперименты у себя на балконе или в мастерской, и TIG сварку выбрал из-за её универсальности, о чём пойдёт речь дальше. Поехали!

Читать далее

Эффективное использование GPU в Kubernetes: Настройка и использование Volcano Scheduler + Volcano vGPU Device Plugin

Level of difficultyMedium
Reading time13 min
Views2K

В этой статье я расскажу, как можно разделить GPU на vGPU в кластере Kubernetes с поддержкой жесткой изоляции, используя Volcano и Volcano vGPU Device Plugin.

Читать далее

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

Level of difficultyMedium
Reading time19 min
Views14K

Осторожно: помните ли вы, как в вашем телефоне Siemens, Motorola и Sony поселились маленькие программы — «эльфы»? В рамках этой статьи мы во всех деталях исследуем прошивку бюджетного кнопочника, разберемся в её архитектуре, хакнем и напишем загрузчик тех самых эльфов с MicroSD-флэшки. При этом я постараюсь объяснить всё максимально простым и доступным языком!

Недавно я познакомился с легендой форума allsiemens.ru — Ilya_ZX, который известен своим огромным вкладом в тему реверса и моддинга телефонов на платформе E-Gold и S-Gold. Илья поведал мне интересную историю о том, как в начале нулевых, будучи студентом, поспорил с одногруппником, сможет ли он добавить ‭‭«змейку‭‭» в свой Siemens A60. И спор он этот выиграл, путем бессонных ночей ковыряния прошивки в IDA Pro! Я подумал ‭‭— «а чем я хуже?‭‭». Взял в руки кнопочный телефон на платформе Spreadtrum, сдампил прошивку и загрузил в дизассемблер...

Если вам интересен подробный процесс реверса различных модулей прошивки, как они взаимодействуют между собой, как я написал программу для применения патчей к фуллфлэшу и, собственно, бинлоадер с первой программой — жду вас под катом!

Читать далее

Изучаем работу SIM-карт с помощью Osmocom SIMTrace2

Level of difficultyHard
Reading time7 min
Views6.4K
Приветствую всех!
Если вы интересуетесь тем, как работают различные компоненты сотовых сетей, то вам наверняка хотелось посмотреть на то, что вообще происходит в момент регистрации и какими данными телефон обменивается с симкой. Конечно, всё это можно посмотреть и обычным логическим анализатором, однако, как выяснилось, существуют и куда более специализированные девайсы, предназначенные как раз для анализа таких данных.



Именно о такой штуке мы сейчас и поговорим. Узнаем, что интересного можно сделать этим устройством, разберёмся с тем, как установить и настроить софт, и, конечно же, посмотрим на всё это в работе.
Читать дальше →

DIY-проект: Сенсор изображения и цифровая камера

Level of difficultyEasy
Reading time6 min
Views5.5K

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

Читать далее

Процессор на коленке ч.2

Level of difficultyMedium
Reading time10 min
Views7.1K

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

Как работает рендеринг 3D-игр: текстурирование и фильтрация текстур

Reading time17 min
Views34K
image

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

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

Часть 1: обработка вершин

Часть 2: растеризация и трассировка лучей

Начнём с простого


Можно взять любые трёхмерные игры-бестселлеры, выпущенные за последний год, и с уверенностью сказать, что все они имеют нечто общее: в них используются текстурные карты (или просто текстуры). Это настолько распространённый термин, что думая о текстурах, большинство людей представляет одинаковую картинку: простой плоский квадрат или прямоугольник, содержащий изображение поверхности (травы, камня, металла, ткани, лица и т.д.).

Но при многослойном использовании и комбинировании с помощью сложных вычислений такие простые изображения в 3D-сцене могут создавать поразительно реалистичные изображения. Чтобы понять, как такое возможно, давайте полностью их отключим и посмотрим, как будут выглядеть объекты 3D-мира без текстур.
Читать дальше →

Низкоуровневое программирование под 8086 для любопытных, часть 1

Level of difficultyMedium
Reading time27 min
Views12K

Вторая часть уже здесь.

В первой части мы:

посмотрим, как работать с памятью и регистрами 8086

узнаем, как написать простую программу на ассемблере прямо в отладчике

изучим работу механизма прерываний и сделаем демонстрационный пример

Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности.

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

Читать далее

Низкоуровневое программирование под 8086 для любопытных, часть 2

Level of difficultyMedium
Reading time15 min
Views10K

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

Читать далее

Введение в OpenCL

Reading time11 min
Views63K
Эта статья посвящена основам программирования на OpenCl. OpenCl -это язык программирования на GPU/CPU, по своей структуре близкий к стандарту c99. Его развитием занимается Khronos Group, где на их сайте доступна полная документация. Во избежание полемики на тему «ну это же всё тривиально, достаточно покопаться в инете» сразу оговорюсь: в рунете информация на эту тематику практически полностью отсутствует, а в западном инете доступна весьма в разрозненном состоянии на десятке сайтов. Здесь будет приведена некоторая компиляция базовых принципов, максимально упрощающая начинающему программисту жизнь, а так же позволяющая с самого первого проекта максимально задействовать вычислительные мощности видеокарты. Людям написавшим 2-3 серьёзных программы на OpenCl это будет уже неинтересно. Статья в некотором смысле является продолжением моей прошлой статьи.
Читать дальше →

Как на самом деле хранятся изображения?

Reading time29 min
Views12K

Этот пост — погружение в кроличью нору. Разработчик Монсеф Аббад задумался о изображениях — вероятно, после недавнего изучения им некоторых схем компрессии. Общеизвестно, что изображения бывают либо полутоновыми, либо RGB, когда новые цвета создаются на основе смешения красного, зелёного и синего. Но для хранения изображения требуется нечто большее, чем просто выравнивание трехбайтовых значений RGB.

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

Читать далее
1
23 ...

Information

Rating
Does not participate
Date of birth
Registered
Activity