Pull to refresh
-7
0.9
Евгений @Zara6502

ATARI XL/XE, ретро-ноутбуки

Send message

Брезенхэм и FPGA

Reading time6 min
Views4.9K

Приветствую читателей Хабра.

В рамках решения одной конкурсной задачи понадобилось реализовать алгоритм построения линий на FPGA. “Это вопрос простой, есть же алгоритм Брезенхэма” – так подумал я и приступил к реализации. Что из этого получилось читайте дальше.

Читать далее

Спасение CD/DVD-дисков полировкой

Reading time1 min
Views57K


Страшнейший враг CD/DVD-дисков — это царапины. Из-за одной маленькой царапинки можно потерять бэкап или важный файл, записанный 10 лет назад. Но если диск перестал читаться — есть довольно высокий шанс его спасти с помощью полировки рабочей поверхности. См. инструкцию по сборке самодельной полировочной машинки.
Читать дальше →

Разбираемся с Р и Е ядрами на примере гибридного процессора Raptor Lake

Level of difficultyMedium
Reading time19 min
Views11K

Волей случая мне в руки попал ноутбук с гибридным процессором i7-13850HX, у которого есть производительные "Р" и эффективные "Е" ядра, и захотелось разобраться чуть поглубже, процессор довольно любопытный. Под катом мы сделаем несколько несложных замеров производительности.

Окунуться в Озеро Хищника

Цикл уроков по SDL 2.0: урок 1

Reading time4 min
Views164K

От переводчика: вдохновившись циклом статей, я решил попробовать свои силы в SDL. Да вот незадача, каких-либо толковых уроков по SDL версии 2.0 на русском языке найти мне не удалось. Это и подтолкнуло меня к переводу замечательной серии туториалов Twinklebear, в оригинале доступных тут.

Добро пожаловать!

Цель данных уроков — познакомить вас с основами SDL 2.0 и гейм-дева на С++. Подразумевается, что у читателя есть некоторый опыт программирования на С++ и минимальные знания массивов, векторов, управляющих структур, функций и указателей.

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

Если вы хотите увидеть полный исходник или же скачать ресурсы для уроков, то все это можно получить на GitHub’е. Но не копируйте!

Также документация по SDL 2.0 доступна для чтения в этой вики.
Читать дальше →

GRUB всемогущий, или Делаем загрузочную флешку

Reading time8 min
Views561K
Про сам grub, загрузочные флешки и особенно специальные утилиты для создания дисков написано уже не мало, но выглядят они узко направленными. Например только для создания флешки Windows 7, различные PEtoUSB, есть более универсальные как в этом топике. Куча утилит по сути устанавливают загрузчик grub, isolinux (реже BCDW или lilo, еще реже свой как Win7), и затем раскладывают предложенные ему файлы (Windows7,WindowsXP, Ubuntu и т.д.) по папкам. От сюда и требовательность к образам (как писали в комментариях к этому топику).

А между тем абсолютное большинство выложенных в интернете дисков (особенно USB) как раз и используют isolinux и grub, что мешает их просто объединять? да ничего!

Я постараюсь с примерами рассказать, как сделать загрузочную, установочную и просто Live флешку, причем все в одном без заточенных под конкретный дистрибутив утилит. И иметь возможность, при необходимости, легко добавить на флешку еще что-то, без очередного ее переформатирования.
image
(С) Картинка оттуда
Читать дальше →

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Reading time12 min
Views468K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!

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

Level of difficultyMedium
Reading time15 min
Views30K

Это еще одна статья про демосцену, сайзкодинг, ассемблер, MS‑DOS и ретрокодинг. То есть, о том, как ночами напролет добровольно и бесплатно писать бесполезный и очень трудоемкий код, и получать от этого массу удовольствия (и седую бороду). Даже если вы уже пробовали и вам не понравилось, вам все равно стоит почитать. Возможно, вы что‑то делали не так. Например, использовали не те буквы и цифры. А еще тут есть подборка «демок» размером в 256 байт!

Читать далее

Demoded: разбор олдскульных демо-эффектов на примере

Level of difficultyEasy
Reading time21 min
Views3.3K

Как повернуть время вспять и выиграть Assembly с DOS-демкой в 2025-м году.
Разбираем олдскульные эффекты на примере демки "Demoded".

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

Читать далее

MZ-Executable | Исполняемые файлы и MS-DOS (переработка)

Level of difficultyMedium
Reading time12 min
Views3.8K

Практически сразу, в PC-DOS, вместе с .COM файлами,
появились .EXE файлы (полн. "EXEcutable" или "исполняемые"). Сегодня речь пойдет именно об этом.
Поскольку история происходит снова в Microsoft, запутаться можно очень легко, в любом месте.

Читать далее

Как написать bzip2-архиватор на Python: разбираем преобразование Барроуза-Уилера

Level of difficultyHard
Reading time25 min
Views4.7K

Привет! Я Рома, бэкендер-питонист в KTS.

Это вторая статья в моем цикле об алгоритме архивации bzip2. Первую можно прочитать здесь, но для понимания сегодняшней темы она необязательна. Ниже я разберу преобразование Барроуза-Уилера — ключевой этап сжатия bzip2.

Читать далее

Как приручить AI-пиксель-арт

Level of difficultyMedium
Reading time5 min
Views16K

За последние пару лет генеративные нейросети стали волшебной кисточкой для всего: концепт‑артов, иконок, иллюстраций, обложек, аватаров, спрайтов… Особенно — пиксель‑арта. В Midjourney, Stable Diffusion, Dall‑E, Image-1 и в других моделях можно просто вбить: «Pixel art goose with goggles in the style of SNES» — и получить шикарного пиксельного гуся за 10 секунд.

Но если ты пробовал вставить такого гуся в игру — ты уже знаешь боль.

Я решил вкопаться в эту тему поглубже и сделать open‑source‑инструмент, который автоматизирует превращение AI‑generated pixel art в pixel‑perfect pixel art.

Читать далее

Прямое подключение крохотного OLED-дисплея по HDMI

Reading time11 min
Views28K

Есть у меня склонность к реализации глупых и бессмысленных проектов. Перед вами один из них, который появился в результате беседы, закончившейся словами: «Слушай, а ведь технически возможно…», — не вопрос, давай сделаем.
Читать дальше →

Стоит ли покупать NVIDIA RTX 5070, 5080, 5090: игры, где новые видеокарты реально решают

Level of difficultyEasy
Reading time8 min
Views37K

Покупка видеокарты стоимостью как подержанная машина — решение откровенно непростое. 300 тысяч рублей за RTX 5090, 150 за RTX 5080 и даже 100 за RTX 5070 Ti — суммы, которые любого заставляют задуматься о целесообразности трат. Особенно когда нет гарантии, что любимая игра раскроет потенциал этих монстров и даст мало-мальски ощутимый прирост кадров в секунду. Тесты показывают неприятную правду: далеко не везде RTX 5000 стоят своих денег.

Читать далее

Алгоритм Диница: как найти максимальный поток в сети (для начинающих)

Level of difficultyEasy
Reading time6 min
Views3.9K

Привет, будущие инженеры и программисты! Сегодня мы погрузимся в мир алгоритмов и разберём одну очень крутую штуку — алгоритм Диница. Звучит сложно? Не переживайте, мы разберём его по полочкам, как конструктор LEGO, и вы поймёте, как он помогает решать реальные задачи.

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

Читать далее

«The Legend of Zelda: Breath of the Wild» — идеальный открытый мир, но какой ценой?

Level of difficultyEasy
Reading time10 min
Views21K
image

Игры с открытым миром являются трендом последних 10 лет, и кажется, что индустрия не собирается останавливаться. Миры эти растут вширь, становятся многослойными, включают в себя целые вселенные и сотни планет.

Однако игроки кричат своё «не верю!» и указывают на то, что разработчики давно перестали наполнять свои открытые миры интересным контентом и привязывать его к основной истории.

Сегодня я хочу поговорить об одной из самых ценных для меня игр, «The Legend of Zelda: Breath of the Wild», которая служит для меня образцом хорошего открытого мира. Будем разбираться, как она этого добилась, и чем пришлось пожертвовать разработчикам.
Читать дальше →

Процессор на коленке ч.3. Алгоритм быстрого деления

Level of difficultyMedium
Reading time33 min
Views8.4K


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

Как делать видеоигры в 2025 году (без движка)

Reading time9 min
Views23K

На дворе 2025 год, а я всё ещё продолжаю делать видеоигры. Если верить archive.org, я начал заниматься этим двадцать лет назад! Достаточно долгий срок для одного увлечения...

Когда я рассказываю о том, над чем работаю, люди часто спрашивают меня, как я делаю игры, и их часто удивляет (а иногда и тревожит?), когда я говорю, что не пользуюсь коммерческими игровыми движками. Существует какой-то стереотип, что если ты делаешь игры не в популярном инструменте наподобие Unity или Unreal, это значит, что ты чуть ли не вручную пишешь ассемблерный код.

Я искренне считаю, что создание игр без огромного «многофункционального» движка может быть проще и интереснее, а часто и позволяет оптимальнее тратить вычислительные ресурсы. Я не делаю игру, в которой «есть всё», поэтому мне не нужны 90% фич, предоставляемых движками. Все мои игры обладают конкретным стилем и у меня есть конкретные способы работы с моими инструментами. Часто оказывается так, что используемым по умолчанию реализациям фич в крупных движках наподобие Unity не хватает столь многого, что мне всё равно приходится писать их самостоятельно. В конечном итоге, мои проекты по большей мере оказываются моими собственными инструментами и системами, а движок становится необходим лишь для создания удобного UI и части рендеринга...

Тут можно задаться вопросом, а зачем вообще использовать движок? Что он даёт? Зачем я позволяю инструменту потенциально препятствовать моей работе, когда его владельцы внезапно принимают неэтичные и ужасные бизнес-решения? Или выпускают обновление, которое требуется для запуска моей игры на консолях, но ломает всю систему в игре, заставляя переписывать её? Зачем я ежедневно борюсь с этим для работы с движком, пока я постепенно заменяю все его стандартные системы и он постепенно становится только загрузчиком ресурсов и фреймворком UI редактора?

Читать далее

Красно-чёрное дерево: полная реализация на C#

Level of difficultyMedium
Reading time19 min
Views6.6K

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

Читать далее

5 смертельных проблем первого метро, и как их решили

Level of difficultyEasy
Reading time8 min
Views15K

Привет, на связи Андрей Шведов, руководитель проектов ГРАН Груп.

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

Вот и я сегодня добирался до работы на метро.

Турникет на входе мгновенно считал проездной с моего смартфона. На табло высветилось точное время прибытия следующего поезда — 1 минута 40 секунд. 

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

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

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

Читать далее

Information

Rating
1,887-th
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity

Specialization

Specialist
Middle