Pull to refresh
0
0
Send message

16-битная операционная система на коленках

Level of difficultyMedium
Reading time15 min
Views17K

В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.

Заменит Windows?
Total votes 39: ↑45 and ↓-6+51
Comments34

Пишем свой ROM BIOS

Reading time12 min
Views27K

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

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

В этой статье мы с вами разберём создание своего ROM BIOS, дальше я расскажу про тонкости и нюансы, напишу низкоуровневый «Hello world», сделаю настоящий интерпретатор BASIC ROM, который стартует при включении компьютера, как в первых IBM PC.
Читать дальше →
Total votes 141: ↑140 and ↓1+139
Comments70

Разработка BIOS на языках высокого уровня

Level of difficultyHard
Reading time11 min
Views23K
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

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

Здесь я хочу свести основные моменты разработки BIOS в одном месте и разобраться обо всех проблемах, которые я получил во время своих опытах в разработке (первая и вторая части).
Читать дальше →
Total votes 134: ↑133 and ↓1+132
Comments58

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)

Level of difficultyMedium
Reading time24 min
Views7K

Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments20

Мой вам подарок к Новому году или как наконец запустил то, что надо было давно запустить…

Level of difficultyMedium
Reading time6 min
Views38K

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

Читать дальше →
Total votes 267: ↑267 and ↓0+267
Comments95

Stable Diffusion. Курс молодого бойца

Level of difficultyMedium
Reading time22 min
Views57K

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

Я бы очень сильно хотел чтобы такой материал попался мне, когда я только начинал познавать возможности SD. Тут я попытался кратко и концентрированно описать все те знания и инструменты, которые имеют большое практическое значение при работе c SD.

Так же в конце будет изложен mindset, который необходимо иметь чтобы научиться пользоваться SD. Я буквально попытаюсь научить вас думать как AI художник.

Поэтому без лишних слов, начинаем.

Поехали!
Total votes 74: ↑72 and ↓2+70
Comments23

70 вопросов по JavaScript для подготовки к собеседованию

Reading time43 min
Views870K
Доброго времени суток, друзья!

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

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

Буду признателен за развернутые комментарии. Все замечания будут учтены при редактировании статьи.

Итак, поехали.
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments135

Данные бывают смешными (и вот примеры)

Reading time4 min
Views23K


Мы в HFLabs перелопачиваем колоссальное количество данных: адреса, ФИО, реквизиты компаний, документы. Весь год писали о сложных и полезных штуках, но пора и честь знать. Перед праздниками — подборка смешных данных, что нам принес 2018-й.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments69

«Камень я не дам» или как устроены ресурсы игры «Проклятые Земли»

Reading time27 min
Views60K


Много ли вы вспомните российских игр? Качественных? Запоминающихся? Да, такие были. Если вам больше 35 или вы фанат российского игропрома, то с "Проклятыми Землями" вы наверняка знакомы.


История начиналась весьма прозаично: лето, жара. Делать особо нечего, а при ленивом просмотре содержимого жёсткого диска ноутбука взгляд зацепился за папку со знакомой иконкой-дракончиком, лежащую без дела уже пару лет.


Какому фанату игры не будет интересно узнать, что же там внутри?

Рычаг я дам
Total votes 52: ↑52 and ↓0+52
Comments32

Universal Radio Hacker — легкий способ исследовать цифровые радиопротоколы

Reading time3 min
Views43K

Universal Radio Hacker (URH) — невероятно простой и понятный инструмент для анализа цифровых радиопротоколов. В отличие от монстров вроде GNU Radio, освоить его можно за пять минут, без мучений.
Главные особенности URH:

  • Работает на всех платформах — на macOS/Linux/Windows, из коробки! Не нужно часами компилять километры зависимостей.
  • Поддерживает популярные SDR — нативная поддержка RTL-SDR, HackRF, LimeSDR, AirSpy и других.
  • Все в одном — все нужные инструменты встроены в одну программу: анализатор спектра для поиска частот, запись сигнала, интерпретатор цифрового сигнала для автоматического преобразования записанного сигнала в цифровые данные.
  • Поддерживает передачу — для проведения replay-атаки достаточно выделить мышкой нужный отрезок сигнала и нажать Replay. Великолепно!

В статье мы будем анализировать сигнал пульта от шлагбаума, при помощи народного RTL-SDR (радио из дешевого USB ТВ-тюнера) и macOS.

Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments23

ВКонтакте вычисляет ваше местоположение по IP

Reading time1 min
Views85K
19 ноября 2018 года социальная сеть vk.com дала пользователям возможность скачать архив со всеми данными о них, имеющихся у соцсети. Скачав свою копию такого архива, помимо данных, которые я там ожидал увидеть, я обнаружил, что вконтакте знает два моих домашних адреса с точностью до 5 метров.

Я никогда в жизни не давал доступ к местоположению ни приложению вконтакте на IOS, ни сайту vk.com в браузере.

image

Один из адресов определился как «Работа/учёба», но по факту это просто моя вторая квартира. Которая, кстати, появилась в моей жизни всего около 3-х месяцев назад.

Мне стало любопытно, где-же я так оплошал, что такие данные утекли у меня из под носа. С этим вопросом я обратился в поддержку vk.com. Оказывается, всё дело в моём IP.

Под катом скрин переписки.
Читать дальше →
Total votes 88: ↑77 and ↓11+66
Comments219

PornHub как замена VK

Reading time2 min
Views91K


11 декабря PornHub опубликовал ежегодный отчет о своей работе в 2018. В 20 стран с наибольшим трафиком в этом году впервые вошла Украина. Занимая 16 место по трафику, украинские пользователи поднялись сразу на 11 позиций в сравнении с 2017 годом.


Неочевидной причиной столь резкого роста популярности PornHubʼа стал запрет вконтакте на территории Украины с мая 2017 года. Часть аудитории социальной сети, которая пользовалось вконтакте как PornHubʼом на протяжении последних полутора лет плавно мигрировала на PornHub.


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

Читать дальше →
Total votes 116: ↑92 and ↓24+68
Comments131

Спустя два года я всё ещё скучаю по разъёму для наушников

Reading time4 min
Views62K


Два года назад компания Apple убила разъём для наушников. И я её до сих пор за это не простил.

Когда Apple объявила, что у iPhone 7 не будет разъёма для наушников, я сразу же испытал раздражение по этому поводу. Я подумал, что, возможно, через несколько месяцев я к этому привыкну. Но нет. Я решил, что в самом худшем случае сменю платформу. А затем за нею последовали все остальные компании.

Это ощущение раздражения мне не в новинку. Я ненавидел адаптеры для наушников на телефонах и писал об этом на сайте TechCrunch с 2009 года. И какое-то время мне казалось, что всё налаживается.
Читать дальше →
Total votes 101: ↑88 and ↓13+75
Comments564

Расшифровка трассировщика лучей размером с открытку

Reading time12 min
Views49K

«Он снова это сделал!», — вот, что первое пришло мне в голову, когда я посмотрел на оборотную сторону флаера Pixar [1], полностью заполненную кодом. Скопление конструкций и выражений была подписана в правом нижнем углу не кем иным, как Эндрю Кенслером. Для тех, кто его не знает, скажу: Эндрю — это программист, придумавший в 2009 году 1337-байтный трассировщик лучей размером с визитку.

На этот раз Эндрю придумал нечто более объёмное, но с гораздо более интересным визуальным результатом. Так как я закончил писать свои Game Engine Black Books про Wolf3D и DOOM, у меня появилось время на изучение внутренностей его загадочного кода. И почти сразу меня буквально очаровали обнаруженные в нём техники. Они сильно отличались от предыдущей работы Эндрю, основанной на «стандартном» трассировщике лучей. Мне было интересно узнать о ray marching, функциях конструктивной объемной геометрии, рендеринге Монте-Карло/трассировкой пути, а также множестве других трюков, которые он использовал, чтобы ужать код в такой небольшой кусок бумаги.

Читать дальше →
Total votes 114: ↑113 and ↓1+112
Comments56

Заметки фитохимика. Зеленый банан, или Не забудь покормить микробиоту

Reading time20 min
Views99K

Как то уж так повелось со времен голодной студенческой юности, что я чаще на остатки денег покупал себе бананы, а не чипсы или гречку. Причин этому наверное может быть много, от "в Беларуси бананы дешевле картошки", до "банан как и шоколад способствует мозговой активности". Но факт остается фактом. Если хурма фрукт сезонный, то банан — это такая штука которая сопровождает нас по жизни постоянно. Как не отдать долг и не черкнуть заметку. Кроме того, про проведенному мной среди знакомых мини-опросу, одним из основных фруктов, которые с вероятностью 99% будут практически на каждом Новогоднем столе, также является банан. А ведь правильный банан еще нужно найти...


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



Ну а за ответом — традиционно, под кат.

Читать дальше →
Total votes 118: ↑117 and ↓1+116
Comments102

Пуск ракеты с Восточного своими глазами

Reading time3 min
Views29K


Наконец-то удалось увидеть старт космической ракеты с достаточно близкого расстояния. На космодроме Восточный 27 декабря 2018 года произведен пуск ракеты "Союз-2.1а" с полезной нагрузкой на низкую околоземную орбиту. В полутора километрах от стартового стола находилось несколько десятков человек и один блогер.
Читать дальше →
Total votes 125: ↑123 and ↓2+121
Comments128

Неканоничный ламповый усилитель

Reading time9 min
Views57K
Всем доброго времени суток!

Как-то, холодным тоскливым вечером, почитывал я статью про высококачественный усилитель класса D c Aliexpress. И пришла мне в голову мысль рассказать про свою DIY-поделку. А вот теперь дошли и руки. Ниже приведен ворклог об изготовлении очередного-сколько-уже-можно лампового (и не только) усилителя. Статья изобилует несерьезностью и петросянством, но все же пару, возможно, полезных схем вы здесь сможете найти.

Предупреждения:


  1. ОСТОРОЖНО, трафик! Много картинок.
  2. ОСТОРОЖНО! В представленых схемах используются опасные для жизни напряжения. Воспроизводя приведённые схемы, вы делаете это на свой страх и риск. Автор не несёт ответственности за последствия, наступившие в результате дублирования как всего устройства, так и отдельных его частей.
Читать дальше →
Total votes 135: ↑134 and ↓1+133
Comments69

Трехмерный движок на формулах Excel для чайников

Reading time9 min
Views69K


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

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

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

Осторожно: 19 картинок и 3 анимации под катом.
Читать дальше →
Total votes 211: ↑209 and ↓2+207
Comments54

Как PVS-Studio оказался внимательнее, чем три с половиной программиста

Reading time3 min
Views26K
Как PVS-Studio оказался внимательнее, чем три с половиной программиста

PVS-Studio, как и другие статические анализаторы кода, часто выдаёт ложные срабатывания. Но не стоит спешить считать странные срабатывания ложными. Это короткая история о том, как PVS-Studio вновь оказался внимательнее нескольких человек.

Нам в поддержку написал пользователь, утверждая, что анализатор выдаёт сразу четыре ложных срабатывания на одну строчку кода. Письмо, написанное в поддержку, изначально попало к Евгению Рыжкову, который, бегло прочитав его и не заметив аномального в фидбеке, сразу переслал его ведущему разработчику Святославу Размыслову. Евгений не всматривался в код, так что будет честно посчитать его только за половину программиста :).
Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments86

Майнинг еды или «Перекресток» глазами хакера

Reading time4 min
Views128K

Введение


Доброго времени суток, друзья. Кто читал мои предыдущие статьи, должны понимать, что это будет еще один увлекательный взлом. Вот только взламывать мы будем магазин еды. Скажу сразу, что это не просто взлом. Мы не будем использовать дыры в коде системе. Мы возьмем эту систему и просто посмотрим на нее с другой стороны. Иначе говоря: «глазами хакера».

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

image
Читать дальше →
Total votes 168: ↑143 and ↓25+118
Comments122
1
23 ...

Information

Rating
Does not participate
Registered
Activity