Pull to refresh
22
-1
Наумов Роман @himysay

User

Send message

Программирование NES (dendy), assembler 6502

Reading time6 min
Views11K

У меня с детства была мечта написать игру для любимой приставки денди, шло время, мечта то появлялась то затихала снова. Она меня направляла в сторону магии программирование, и вот прошло больше 20-ти лет я программист, и снова в который раз пытаюсь постигнуть магию той самой денди что так будоражило моё воображение в тяжелом но счастливом детстве. Сегодня Я расскажу вам как постиг секреты этой магии, наконец то смог вывести спрайты на экран и научился рисовать фон, и надеюсь это будет не последняя мая статья на Хабре.

Мечта под катом
Total votes 18: ↑17 and ↓1+16
Comments10

Считывание контроллера nes (dendy) на ассемблере

Reading time3 min
Views3.4K

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

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments2

Создание графики для nes/dendy

Reading time3 min
Views4.5K

Предыдущие мои статьи рассказывают о том как начать программировать под денди на ассемблере. Мы научились отрисовывать спрайты и background, так же мельком обсудили что такое таблица атрибутов и таблица имен, так же мы разобрались как прочитать контроллер. В тех статьях Я использовал chr от игры super mario bros 2 потому как не художник, но все же для создания игры мне пришлось искать инструменты какое мне помогут в создание своей графики для игры. Под катом этапы разработки графики.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments2

Программирование nes (dendy) вычисление коллизий

Reading time5 min
Views4K

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

Столкновения под катом
Total votes 13: ↑10 and ↓3+7
Comments10

Программирование nes/dendy скроллинг фона

Level of difficultyMedium
Reading time3 min
Views2.5K

Я несколько раз задавался вопросом а как сделать прокрутку фона как в марио или черном площе, и постепенно подобрался к выводу что надо перерисовать nametable динамически в момент аппаратной прокрутки. Объяснение и код как это сделано на ассемблере 6502 в данной статье.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments2

Программирование assembler 6502 nes/famicom/dendy векторы прерывания, процедуры и их вызов

Level of difficultyEasy
Reading time2 min
Views3.9K

Векторы прерывания в формате программирование на ассемблере 6502, можно представить как всем хорошо известный патерн event-observer в высокоуровневых языках программирования. Конечно же можно реализовать данный патерн и на ассемблере но я его привел для большего понимания работы вектора прерывания...

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments17

Статус флаги ассемблера 6502 nes/famicom/dendy

Level of difficultyMedium
Reading time3 min
Views2.6K

Для более глубокого понимания как происходит ветвление в программах написанных на ассемблере 6502 необходимо углубиться в флаги и понять какие команды влияют на тот или иной флаг. Это поможет избежать множество ошибок связанных с не очевидностью ветвления вашей программы.

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments3

Имплементация маппера MMC1 ассемблер 6502 nes/famicom/dendy

Level of difficultyMedium
Reading time6 min
Views2.5K

Игры не использующие мапперы в NES ограничены, 16 кб PRG ROM (хранилище программного кода) и 8 кб CHR ROM (хранилище графики). С развитием разработки игр на NES, встал вопрос, а как увеличить данные ограничения и на помощь пришли микросхемы мапперы. Что же такое мапперы мы и разберем сегодня и как их использовать в своем коде.

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments7

Вывод спрайтов, создание анимации, программирование nes/famicom/dendy

Level of difficultyMedium
Reading time4 min
Views1.4K

Ранее я уже писал статью о выводе спрайтовой графики на экрана с использованием регистра OAMDATA ($2004), но это подходит лишь для экспериментов и вывода некой статической картинки. Но движение либо анимация будет приводить к появлению различных артефактов наслоению спрайтов, моргание кадра, и так далее. Что бы этого избежать следует сформировать для каждого кадра буфер спрайтов и вывести на экран.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments0

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity