Search
Write a publication
Pull to refresh
54
0.1

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

Send message

Как я делал линейно-интерактивный ИБП (Часть 1)

Reading time3 min
Views13K
Однажды возникла задача разработать линейно-интерактивный ИБП. Это фактически самый простой тип ИБП c выходом «модифицированный синус», но дополнительно имеющий возможность регулировать выходное напряжение при изменении входного. Что-то вроде простейшего стабилизатора напряжения. Функция простоя, но довольно полезная, позволяющая не переходить на питание от инвертора при кратковременных провалах в сети. Позже напишу об этом подробнее, а пока вот этой первой статьёй я хотел бы открыть небольшой цикл. Всех заинтересованных прошу под кат.
Читать дальше →

Создание 1k intro Chaos для ZX-Spectrum

Reading time7 min
Views15K

Изначально я не планировал делать демо на Chaos Constrictions 2018, однако за 2-3 недели до cc понял, что с пустыми руками идти на демопати никак нельзя, и решил написать небольшую демонстрацию для 386/EGA/DOS.

Скомпилировав в Turbo-C под DOS свою либу AnotherGraphicsLibrary, которая идеально ложиться в битплановую структуру EGA режима, я разочаровался, от тормозов, прежде всего тормозов EGA. Демо в том виде, в котором я хотел бы его видеть, за этот весьма ограниченный срок, сделать было невозможно.

Однако сдаваться и не делать что-либо, я уже не мог. И тут я вспомнил, что давно хотел принять участие в ZX-Spectrum конкурсах демо. А так, как за последний год у меня появилось целых два 48k реала, я мог получить определенное удовольствие от создания демо. К слову — для меня самое главное в написании демо это именно тестирование на реале, эмульгаторы не дают такого наслаждения от процесса, уж очень это замечательное чувство, когда после очередного изменения в коде ты закачиваешь демо на реал, и видишь как настоящая железка тасует байтики в памяти, отрисовывая эффект.

Поскольку из реалов у меня только 48k, то и демо я решил сделать для 48k. А из-за ограниченности сроков и отсутствия каких-либо наработок, выбор пал на создание 1k intro(демо объёмом всего 1 килобайт, или 1024 байта).
Читать дальше →

Исследование файловой системы HDD видеорегистратора модели QCM-08DL

Reading time15 min
Views33K


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

Создание демо для старого телефона — AONDEMO

Reading time11 min
Views14K
Хотел сделать демку с тех самых пор, как познакомился с этим явлением компьютерной субкультуры на классическом примере польской Lyra II. Также регулярно хотел выставить что-нибудь на крупнейшем российском демопати, Chaos Constructions, но каждый раз не доходили руки. Наконец-то удалось удовлетворить обе потребности сразу, в стиле Ван Дамма (двойной удар, с вертушки) — сделать и выставить AONDEMO. В конкурсе ZX Spectrum 640K Demo.


Вашему вниманию предлагается подробное руководство, как именно можно докатиться до жизни такой.
Читать дальше →

Какими были сварочники для оптики

Reading time3 min
Views14K

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

Надёжность World of Tanks Server

Reading time21 min
Views24K

Сегодняшняя тема — надежность World of Tanks Server — достаточно скользкая. Надежность игры — это trade off, потому в разработке игр все нужно делать быстро и быстро изменяться. Нагрузка на серверы большая, а пользователи склонны что-нибудь поломать просто из интереса. Левон Авакян на РИТ++ рассказал, что в Wargaming делают для обеспечения надежности.


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




О спикере: Левон Авакян работает в компании Wargaming в должности Head of WoT Game Services and Reliability и занимается проблемами надежности танкового сервера.


К вопросу о пульсациях, интересных людях и индуктивностях

Reading time8 min
Views7.7K

Law 14 (Edison’s Law) ‘Better’ is the enemy of ‘good’




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

Пишем модуль ядра Linux: GPIO с поддержкой IRQ

Reading time15 min
Views20K
Хабр, привет!

Данная статья посвящена разработке GPIO (General-Purpose Input/Output) модуля ядра Linux. Как и в предыдущей статье мы реализуем базовую структуру GPIO драйвера с поддержкой прерываний (IRQ: Interrupt Request).


Читать дальше →

Французская школа в разработке видеоигр: Another World

Reading time21 min
Views16K
image

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

Какими бы грубыми ни были эти стереотипы, но когда французы открыли для себя компьютерные игры, они остались себе верны. Долгое время «французская игра» для англоязычного человека была синонимом «странной», эксцентричной, и трудно было понять, чья в этом вина — игры или игрока. Винтажные французские игры не всегда были самыми отполированными или сбалансированными с точки зрения дизайна, но сегодня они славятся своей готовностью использования палитры чувств, гораздо более богатой, чем примитивные «страх-ярость», «смех-грусть». Особенно это справедливо для игры Эрика Шайи Another World.

Отправляем «анонимное» СМС из Консоли на нужный номер используя сервис bytehand и C++

Reading time4 min
Views22K
Порой появляется необходимость отправки анонимного сообщения нужному адресату, не используя при этом своего телефона или тогда, когда под рукой только компьютер, работающий интернет и открытая консоль.

Во многих фильмах есть момент, когда хакеру, взламывающего человека, нужно отправить сообщение на его номер, чтобы его отвлечь или напугать и в таких ситуациях самое важное, чтобы, когда человек позвонит на номер с которого пришло СМС у вас не загорелся экран смартфона и не заиграла музыка. Упс… Неловкая ситуация. В этой теме мы напишем программу на C++, которая позволит отправить СМС не используя вашего номера, сим-карты и души.

Mr. Robot TV Show
Читать дальше →

Сколько стоит для студента микросхему выпустить?

Reading time15 min
Views41K

1. Введение


Всем нам известна проблема курицы и яйца: работодатели не хотят брать на работу выпускников без опыта работы, но где же в таком случае выпускникам получить опыт работы? В микроэлектронике эта проблема стоит особо остро ввиду требуемого огромного количества специфического опыта. Наши ВУЗы с советских времен знамениты широчайшей теоретической подготовкой, которая должна помочь выпускнику в любой сложной ситуации в жизни. Однако, современная индустрия требует практического опыта. Добавим сюда еще отсутствие мотивации, приводящее к тому, что по специальности работает процентов 15% выпускников, и получим жесточайший кадровый голод в отрасли, которая очень требовательна к качеству кадров. А ведь если бы каждый студент мог "поморгать лампочкой" со своего собственного кристалла ситуация могла бы развиваться совсем иначе.



Рисунок 1. КДПВ


Что же мешает таким грандам подготовки кадров отечественной микроэлектроники, как, например, МИФИ и МИЭТ, поступать аналогично своим зарубежным коллегам (например, MIT или UZH), а именно — давать возможность студентами-дипломникам выпускать свои собственные кристаллы? Можно, конечно, предположить, что выпуск собственного кристалла занятие крайне долгое, сложное и дорогое, а потому для института — дорого, а для студента — непосильно. Однако, это не так. Давайте же взглянем на одну из доступных технологий на отечественном рынке микроэлектроники, знакомство с которой позволит студенту стать значительно более привлекательным в плане будущего трудоустройства, а предложение которой для студента — позволит университету значительно поднять свой рейтинг в глазах абитуриентов и работодателей.

Читать дальше →

Создание эмулятора аркадного автомата. Часть 1

Reading time11 min
Views6.5K
image

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

Вам потребуется знание C, а также пригодится знание ассемблера. Если вы не знаете язык ассемблера, то написание эмулятора — лучший способ освоить его. Также вам нужно будет освоить шестнадцатеричную математику (также известную как base 16 или просто «hex»). Я расскажу и об этой теме.

Я решил выбрать эмулятор автомата Space Invaders, в котором используется процессор 8080. Эта игра и этот процессор очень популярны, потому в Интернете можно найти о них кучу информации. Для завершения проекта она вам понадобится.

Весь исходный код туториала выложен на github. Если вы не освоили работу с git, то на странице github есть кнопка «Download ZIP», позволяющая скачать архив со всем кодом.
Читать дальше →

Создание эмулятора аркадного автомата. Часть 2

Reading time12 min
Views4.8K
image

Первая часть здесь.

Дизассемблер процессора 8080


Знакомство


Нам понадобится информация об опкодах и соответствующих им командах. Когда вы будете искать информацию в Интернете, то заметите, что есть много перемешанных сведений о 8080 и Z80. Процессор Z80 был последователем 8080 — он выполняет все инструкции 8080 с теми же hex-кодами, но также имеет и дополнительные инструкции. Думаю, пока вам стоит избегать информации о Z80, чтобы не запутаться. Я создал таблицу опкодов для нашей работы, она находится здесь.

У каждого процессора есть написанное изготовителем справочное руководство. Обычно оно называется как-то наподобие «Programmer's Environment Manual». Руководство для 8080 называется «Intel 8080 Microcomputer Systems User's Manual». Его всегда называли «справочником» («data book»), поэтому я тоже буду так его называть. Мне удалось скачать справочник по 8080 с http://www.datasheetarchive.com/. Эта PDF представляет собой некачественный скан, так что если найдёте версию получше, то используйте её.
Читать дальше →

Разработка скалера LVDS с двумя интерфейсами DisplayPort

Reading time6 min
Views21K


Доброго времени суток, Хабр!

Описание проекта платы скалера, разработанного на чипе компании Realtek – RTD2662, для двухканальной матрицы. Кому тема интересна, добро пожаловать под кат.
Читать дальше →

Как сделать мощную лестницу Иакова из трансформатора от микроволновки своими руками

Reading time8 min
Views66K
Желание написать данный пост побудила вот это фотография со студенческой конференции технического ВУЗа.



— Видел, что студенты показывали на конференции? — спросил товарищ, показывая фотографию.
— Ничего себе! Это же полный *****! И ты там был?
— Да, я к ним подходил, разговаривал, но они не стали меня слушать. Что я мог сделать???

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

8088 MPH: мы сломаем все ваши эмуляторы

Reading time16 min
Views16K
image

Одним из пунктов списка моих желаний после прочтения первого отчета с пати в 1991 году стало посещение европейской демопати и участие в соревнованиях compo. Я участвовал в NAID ’96 и даже занял там место, но моей мечтой всегда было соревноваться с лучшими из лучших. Я рад объявить о том, что спустя шесть месяцев упорной работы с хорошими друзьями и невероятно талантливыми людьми нам это удалось. Наше демо 8088 MPH победило в oldskool demo compo Revision 2015. (Моей личной победой стало то, что наше демо показали в compo последним, что стало знаком уважения организаторов.) 7 апреля 2015 года в мире не было эмуляторов IBM PC, способных правильно запускать наше демо; они зависали или вываливались ещё до завершения демо, а цвета были искажены. То же относится и ко всему остальному железу, кроме целевого (см. ниже). Чтобы увидеть, что такое 8088 MPH, я рекомендую вам посмотреть видео записи демо, запущенного на реальном железе:


В демо так много технологических открытий, сделанных впервые в мире, а мы эксплуатируем железо так, как никто до нас не додумывался, поэтому будет честным рассказать, как же нам это удалось. Одной из моих должностей была «организатор» демо, поэтому я расскажу о нём сцена за сценой, вкратце объяснив основы каждого трюка. О частях, написанный мной, я расскажу чуть подробнее, но для глубокого анализа технологий я буду обновлять этот пост, чтобы можно было оставить ссылки на посты reenigne, VileR и Scali. Мы надеемся, что этот рассказ привлечёт интерес к «олдскульному» программированию ПО для платформы. После прочтения этого обзорного поста рекомендую пройти по ссылкам на статьи, где подробнее рассматриваются отдельные части демо.

50 (или 60) лет разработки процессоров… ради этого?

Reading time12 min
Views52K
«Закон масштабирования Деннарда и закон Мура мертвы, что теперь?» — пьеса в четырёх действиях от Дэвида Паттерсона

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

15 марта д-р Дэвид Паттерсон выступил перед аудиторией из примерно 200 наевшихся пиццы инженеров. Доктор вкратце изложил им полувековую историю конструирования компьютеров с трибуны в большом конференц-зале здания E в кампусе Texas Instruments в Санта-Кларе во время лекции IEEE под названием «50 лет компьютерной архитектуры: от центральных процессоров до DNN TPU и Open RISC-V». Это история случайных взлётов и падений, провалов и чёрных дыр, поглотивших целые архитектуры.

Паттерсон начал с 1960-х годов и новаторского проекта IBM System/360, основанного на ранних работах Мориса Уилкса по микропрограммированию 1951 года. По меркам IT это было давным-давно… Ближе к концу выступления Паттерсон показал потрясающую диаграмму. Она наглядно демонстрирует, как именно смерть закона масштабирования Деннарда, за которой следует смерть закона Мура, полностью изменили методы проектирования компьютерных систем. В конце он объяснил посмертные технологические последствия этих потрясений.
Читать дальше →

Как я (пере)делал «рогалик» за неделю

Reading time34 min
Views15K
image

Неделя с 4 по 11 марта была просто безумной.

Всё было не так плохо, как я ожидал, исходя из своего опыта 2012 года (на этот раз мне на самом деле удавалось спать по добрых 7-8 часов за ночь!), скорее всего, потому, что я стал гораздо более опытным, чем тогда, и имел в своём распоряжении гораздо больше инструментов. Желание создать что-то потрясающее заставило меня потратить более 80* часов работы на POLYBOT-7, мою игру для Seven-Day Roguelike Challenge этого года. (*Это только за неделю, сюда не включено время на подготовку перед 7DRL !)

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

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

Эта статья является подробным постмортемом, описывающим разработку POLYBOT-7. В ней рассматривается как весь процесс в целом, так и размышления, которыми я руководствовался, принимая решения.
Читать дальше →

Распределённая система управления на базе SoC FPGA

Reading time10 min
Views8.7K
Реализация связки прошивки ПЛИС, ПО микроконтроллера NIOS и управляющего ПО под Linux на базе Altera Cyclone V SoC с использованием Avalon Mailbox для создания на их основе распределенной системы управления.
Читать дальше →

Как работает FIFO

Reading time17 min
Views40K
FIFO это один из ключевых элементов цифровой техники. Это память типа «первым вошёл-первым ушёл» (first input – first output). Меня как разработчика ПЛИС FIFO окружают повсюду. Собственно я только и делаю что беру данные из одного FIFO и перекладываю в другое. Но как оно работает? В современных САПР конечно уже есть готовые элементы, у Altera есть замечательные мегафункции. У Xilinx есть Core Generator. Но что делать если что-то не устраивает в стандартных решениях? Ответ один – разобраться и написать самому.
Читать дальше →

Information

Rating
7,160-th
Date of birth
Registered
Activity