Как стать автором
Обновить
22
-1
Наумов Роман @himysay

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

Отправить сообщение

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

Время на прочтение6 мин
Количество просмотров11K

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

Мечта под катом
Всего голосов 18: ↑17 и ↓1+16
Комментарии10

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

Время на прочтение3 мин
Количество просмотров3.4K

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

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

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

Время на прочтение3 мин
Количество просмотров4.5K

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

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

Время на прочтение5 мин
Количество просмотров4K

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

Столкновения под катом
Всего голосов 13: ↑10 и ↓3+7
Комментарии10

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

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.5K

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии2

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.9K

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии17

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

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.6K

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

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии3

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

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.5K

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

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии7

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

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.5K

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

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность