All streams
Search
Write a publication
Pull to refresh
161
20.1
Павел Довгалюк @Dovgaluk

Системный программист

Send message

Эмулятор в эмуляторе для проигрывания чиптюн-мелодий на YM2149F

Reading time4 min
Views6.4K

Кто помнит Tetris 2 на Спектруме? Там были куча уровней, возможность играть вдвоём и классная музыка.

Недавно мы сделали 8-битный компьютер для несложных игр, но никаких звуковых возможностей в нём не предусмотрели. И вот захотелось добавить туда какую-нибудь 8-битную музыку. Мне вспомнилась именно мелодия из Tetris 2 (много за ним часов проведено), поэтому я стал с ней ковыряться.

Процессор ATmega328P в нашем компьютере большую часть времени занят отрисовкой изображения, поэтому времени на синтезирование нормальной музыки совсем нет. Значит нам понадобится звуковой процессор YM2149F (он же AY-3-8910), такой же как в ZX Spectrum и других компьютерах.

A fistful of relays. Часть 4. Система команд или что можно уместить в 8 машинных инструкций?

Reading time4 min
Views7.9K

Наконец-то можно запустить в моём компьютере на электромагнитных реле программу длиннее одной инструкции. Сейчас в нём есть ПЗУ на 8 команд, процессор с АЛУ и 8 восьмибитных регистров (один из которых PC).

Всего процессор поддерживает 5 групп инструкций: Арифметико-логические операции (ALU), Загрузка числа в регистр (MOVI), пересылка между регистрами (MOV), Остановка работы (HALT), Работа с памятью (LDST). Но есть нюансы…

Как удалённо отлаживать через WinDbg не включая отладочный режим Windows

Reading time4 min
Views13K
Иногда при анализе какой-нибудь платной программы малвари случается так, что она не хочет нормально работать, если в памяти есть отладчик или включён отладочный режим Windows.
В таких ситуациях помогает использование виртуальной машины с подключённым к ней отладчиком (например, GDB или IDA). Это если программа не пытается «сломаться» и в виртуальной машине тоже.
Читать дальше →

Backspace Invaders или как подключить светодиодный дисплей 64x64 к Arduino

Reading time3 min
Views18K

4095 светодиодов и все-все-все

Как ни удивительно, с выводом изображения на такой дисплей вполне справляется контроллер ATmega328, что лежит в основе Arduino Uno. Из этого всего получилась «карманная» консоль (весом несколько килограмм), в которую прошита игра по мотивам Space Invaders. В планах придумать что-нибудь ещё, ведь свободной памяти осталось полно.

Под катом вы сможете прочитать о том, как такой дисплей устроен и как им можно управлять.

A fistful of relays. Часть 3 — декодер команд и управляющий автомат

Reading time3 min
Views7.3K
Моя коллекция старых компьютеров пополняется не очень быстро, поэтому я делаю старый компьютер своими руками.

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

Тёплый ламповый щелкающий звук тактового генератора:


A fistful of relays. Часть 2 — Регистровый файл

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


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

Как посчитать 2+2, используя электромагнитные реле

Reading time5 min
Views59K
В прошлый раз я кратко описал то, как создавался первый модуль моего (будущего) компьютера на электромагнитных реле – арифметико-логическое устройство. Сейчас я хочу немного рассказать о принципах работы этого АЛУ, а точнее, как устроено выполнение логических и арифметических операций.


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

A fistful of relays, или компьютер на электромагнитных реле. Часть 1 — АЛУ

Reading time5 min
Views51K
Я расскажу вам о том, как можно создать компьютер (точнее, пока только его часть) на электромагнитных реле своими руками.


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

Information

Rating
363-rd
Location
Великий Новгород (Новгород), Новгородская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Software Architect
Lead
C++
System Programming
Compilers
C
Algorithms and data structures
QEMU