Pull to refresh
150
33.3
Евгений@JordanCpp

Разработчик

Send message

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 3: Аппаратный HAL и Прерывания

Level of difficultyMedium
Reading time10 min
Reach and readers9.5K


Это третья статья из цикла по разработке ОС на С++. В данной статье я познакомлю читателя, с прерываниями x86 реализуем ее поддержку. Добавим работу с клавиатурой. Познакомимся с такими устройствами как PIC и напишем код для работы и инициализации. Я так же буду делать упор, на абстракцию и высокоуровневый код.

Заходите будет интересно.

Читать далее

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 2 — PMM + Allocator

Level of difficultyEasy
Reading time8 min
Reach and readers12K

В текущей статье, реализуем поддержку памяти и аллокатора в ядре, а так же перегрузим new и delete используя новый механизм памяти. На последок напишем контейнер OS::String для работы со строками, интерфейс API будет совпадать с интерфейсом std::string. Что бы в будущем просто сделать using на std контейнеры. Когда получится их завести. Цель создать фундамент для использования C++ идиом (включая умные указатели и STL‑подобные контейнеры) в «голом» окружении ядра без стандартных библиотечных аллокаторов. Решение позволяет тестировать код на хост‑системе (Windows/Linux) и затем без изменений запускать на целевой платформе (QEMU).

Читать далее

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 1 — HAL всему голова

Level of difficultyEasy
Reading time8 min
Reach and readers12K

В теории я бы хотел сделать ОС на современном C++ — с умными указателями, лямбдами и прочими красивостями. А на практике пока что научился выводить текст прямо в видеопамять. Но это же и есть самый честный low-level — когда ты по-настоящему чувствуешь, как железо оживает от твоего кода.

Читать далее

Движок для Arcanum: Ретро-кодинг на ПК 1995 года как акт цифровой археологии. Глава 01 — Синопсис

Level of difficultyEasy
Reading time5 min
Reach and readers10K

Недавно сообщество фанатов классической RPG Arcanum: Of Steamworks and Magick Obscura потрясла новость: разработчик по имени Alex завершил титанический труд по реверс-инжинирингу оригинального движка игры. Теперь у нас есть его полнофункциональные исходные коды, которые можно компилировать под Windows, Linux и macOS с использованием современной библиотеки SDL3.

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

Так родился этот личный эксперимент. Я не буду переделывать готовый движок. Я попытаюсь с нуля написать свой движок для Arcanum так, как если бы на дворе был 1995 год.

Егог

ПК, железо и при чём тут ноутбук от Acer

Level of difficultyEasy
Reading time3 min
Reach and readers6.3K

Приветствую, Хабравчане!

Возможно, это многим будет близко.

ПК, железо и при чём тут ноутбук от Acer.

Я люблю всякую разную технику, если я прохожу мимо магазина электронной техники непременно зайду посмотрю. К технике отношусь с уважением и заботой. Не ведусь на маркетинг, а покупаю только если техника устаревает и мне на ней работать или проводить время уже становится не комфортно.

Читать далее

Мы наш, мы новый SDL3 построим или вперед в прошлое

Level of difficultyEasy
Reading time11 min
Reach and readers3.3K

Приветствую, Хабравчане!

В данной статье, хочу вам рассказать о своём проекте по реализации SDL3 для старых систем. Конечно, я не ограничиваюсь только Windows 95, разработку веду по современным ПК. Главная причина, это конечно фан и любовь к старому железу, которое ещё многое умеет.

Читать далее

Хабр таки торт

Level of difficultyEasy
Reading time3 min
Reach and readers4.9K

Приветствую, Хабравчане!

Написать данную статью меня подстегнуло несогласие со статьей Хабр мёртв. Это не будет ответ на статью, ответ автору или разбор его тезисов. Я бы хотел рассказать почему я считаю, что Хабр торт. Отложу свое ИМХО, как говорится :-) Поехали.

Читать далее

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 05 — GDI рендер

Level of difficultyEasy
Reading time10 min
Reach and readers2K

Приветствую, Хабравчане!

В данной статье опишу реализацию GDI рендера для Windows. Узнаем как программировали деды под windows в середине 1990-ых. И наконец создадим функциональный рендер, с возможностью рисовать все типы изображений.

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 04 — Компиляторная археология

Level of difficultyEasy
Reading time8 min
Reach and readers2.8K

В данной статье затронем частичку компиляторной истории. И постараемся собрать проект под компилятор 1995 года. Вы спросите, но зачем? Я отвечу: Потому, что можем!

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 03 — Начинаем разрабатывать фреймворк

Level of difficultyEasy
Reading time5 min
Reach and readers3K

Приветствую, Хабравчане!

В данной статье я начну реализацию кроссплатформенной библиотеки LDL. Опишу её исходный код, архитектуру. Пока библиотека умеет только рисовать несколько примитивов, но я только в начале реализации. Если интересно заходите.

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 02 — Рисуем в Windows

Level of difficultyEasy
Reading time8 min
Reach and readers7.1K

Приветствую Хабравчане!

В прошлой статье получилось создать минимальную программу "Hello world!" размером 3,5 кб. Теперь будем рисовать нативными средствами Windows.

Loading, please wait

Пишем легаси с нуля на С++, не вызывая подозрение у санитаров. 01 — Маленькая программа

Level of difficultyEasy
Reading time4 min
Reach and readers9.4K

Приветствую, Хабравчане!

Решил сделать цикл статей по написанию на С++, различных небольших программ. Под новые и старые ОС. Мне кажется мы стали забывать как раньше программировали:) Для себя определил несколько важных критериев.

Loading, please wait

Предлагаю сделать интернациональный форк ядра Linux

Level of difficultyEasy
Reading time4 min
Reach and readers20K

Приветствую, всех!

Я думаю, многие не только на Хабре, читали ядреные новости о Linux и Open Source. Если кратенько, то из мейнтейнеров ядра Linux исключены русские программисты работающие в подсанкционных компаниях.

Читать далее

Разработчики dzen.ru, что с вами не так?

Level of difficultyEasy
Reading time5 min
Reach and readers12K

Приветствую, Хабравчане!

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

Читать далее

Пилим движок Arcanum. Урок 03. Работа с памятью, используем полиморфные аллокаторы

Level of difficultyMedium
Reading time11 min
Reach and readers5.2K

Приветствую Хабравчане!

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

Читать

Пилим движок Arcanum. Урок 02. Работа с файлами игры, рисуем первый спрайт

Level of difficultyEasy
Reading time9 min
Reach and readers3.2K

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

Читать

Пилим движок Arcanum. Урок 01. Начало

Level of difficultyEasy
Reading time6 min
Reach and readers9.5K

Приветствую, Хабравчане!

Начинаю цикл статей, по воссозданию движка моей любимой игры Arcanum. Цель, написать движок Arcanum'а и в каждой статье шаг за шагом добавлять функционал с описанием кода, принятых решений, прогресса.

Читать

Ответ на «Коротко о том, почему Rust лучше C/C++» или меня не бомбит

Level of difficultyEasy
Reading time11 min
Reach and readers52K

Собственно ответка на указанную статью.

Решил ответить на претензии автора. А так же рассказать, почему С\С++ именно такой какой есть. Почему приняты такие решения при его создании и развитии. Указать на явные недостатки Rust'а и его инфраструктуры. Язык не может существовать сам по себе. Он должен иметь не только токсичное сообщество, но и быть нужным работодателю.

Поехали

Программирование и ИТ во мгле, но это не точно

Level of difficultyEasy
Reading time14 min
Reach and readers35K

Приветствую хабравчане!

В данной статье хочу поделиться проблемами в ИТ. Высказать об этом своё мнение. Обсудить в комментариях, всё ли так плохо на самом деле и каков выход из данной ситуации. Меня не покидает ощущение, что мы как программисты, что то потеряли при очередном витке ИТ прогресса. Обсудим?

Давай, чё там у тебя
1

Information

Rating
246-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Разработчик баз данных
Ведущий
SQL
Linux