famicom
-
Хабрахабр
Цифровая музыка на микрокомпьютерах (часть 2/2)
В первой части статьи мы узнали про существование такого явления, как цифровая музыка, то есть состоящая из оцифрованных кусочков звучания реальных инструментов, на маломощных 8-битных микрокомпьютерах 1980-х годов, а затем углубились в детали этой истории в рамках горячо любимой на постсоветском пространстве платформы ZX Spectrum в реалиях 1990-х годов. Но в то же самое время аналогичные разработки существовали и активно…
Читать далее » -
Хабрахабр
Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2)
Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования, а также ситуацию с мапперами на других платформах. ▍ Обзор мапперов В результате описанных в первой части статьи перипетий на рынке, а также участию пиратов,…
Читать далее » -
Хабрахабр
Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 1/2)
Примерно раз в десятилетие на русскоязычных около-компьютерных ресурсах кто-нибудь поднимает тему такого элемента архитектуры 8-битной Денди и её прародителей, как «маппер», пытаясь на пальцах объяснить, что же это такое. И каждый раз у меня возникает ощущение, что рассказчики сами не вполне знакомы с сюжетом. К тому же практически всегда речь идёт о чисто технических моментах, совершенно не затрагивая историю вопроса:…
Читать далее » -
Хабрахабр
Как я писал свою первую игру для Dendy
Что такое Dendy? Что так любит детвора? Это электронная игра! Ооо, дендиии... Думаю, что у многих читателей хабра был один из многочисленных клонов Dendy (а точнее консоли Famicom). Я в этом плане не исключение, причем даже получилось сохранить мою приставку из детства (но картриджи были утеряны:(). Фото взял из обзора моей старой денди (она в хорошем состоянии и даже работает)…
Читать далее » -
Хабрахабр
assembler 6502 (nes, famicom, dendy), миграция с мапера MMC1 на MMC3 прерывание IRQ
MEMORY SEGMENTS { HEADER: load=HEADER, type=ro, align=$10; ZEROPAGE: load=ZEROPAGE, type=zp; STACK: load=STACK, type=bss, optional=yes; OAM: load=OAMBUFFER, type=bss, optional=yes; BSS: load=RAM, type=bss, optional=yes; DMC: load=ROM_H, type=ro, align=64, optional=yes; CODE_1: load=ROM_0, type=ro, align=$0100; CODE_2: load=ROM_1, type=ro, align=$0100; CODE_3: load=ROM_2, type=ro, align=$0100; CODE_4: load=ROM_3, type=ro, align=$0100; CODE_5: load=ROM_4, type=ro, align=$0100; CODE_6: load=ROM_5, type=ro, align=$0100; CODE_7: load=ROM_6, type=ro, align=$0100; CODE_8: load=ROM_7, type=ro, align=$0100; CODE_9:…
Читать далее » -
Хабрахабр
Дизассемблер 6502 (nes/famicom/dendy) на php
<?php return [ '69' => [ 'ADC #$argument', 2 ], '65' => [ 'ADC $argument', 2 ], '75' => [ 'ADC $argument,X', 2 ], '6D' => [ 'ADC $argument', 3 ], '7D' => [ 'ADC $argument,X', 3 ], '79' => [ 'ADC $argument,Y', 3 ], '61' => [ 'ADC ($argument,X)', 2 ], '71' => [ 'ADC ($argument),Y', 2 ], '29'…
Читать далее » -
Хабрахабр
Дампер картриджей для Денди/Famicom
Восемь лет назад я уже писал статью о том, как я делал простенький дампер (устройство для чтения картриджей) для Денди/Famicom. Думаю, пора рассказать о том, как этот проект преобразился спустя эти годы вместе с ростом моих скиллов. Как обычно, моё повествование и в виде традиционной текстовой статьи, и посредством видео. Кому как больше нравится. Видео Статья Напомню, как вообще работает…
Читать далее » -
Хабрахабр
Имплементация маппера MMC1 ассемблер 6502 nes/famicom/dendy
Игры не использующие мапперы в NES ограничены, 16 кб PRG ROM (хранилище программного кода) и 8 кб CHR ROM (хранилище графики). С развитием разработки игр на NES, встал вопрос, а как увеличить данные ограничения и на помощь пришли микросхемы мапперы. Что же такое мапперы мы и разберем сегодня и как их использовать в своем коде. Что такое мапперы? Мапперы -…
Читать далее » -
Хабрахабр
Статус флаги ассемблера 6502 nes/famicom/dendy
Для более глубокого понимания как происходит ветвление в программах написанных на ассемблере 6502 необходимо углубиться в флаги и понять какие команды влияют на тот или иной флаг. Это поможет избежать множество ошибок связанных с не очевидностью ветвления вашей программы. Состояние статус флагов это один из шести архитектурных регистров процессора 6502: Регистр аккумулятора A Регистры X и Y Статус регистр (статус…
Читать далее » -
Хабрахабр
Программирование assembler 6502 nes/famicom/dendy векторы прерывания, процедуры и их вызов
Векторы прерывания в формате программирование на ассемблере 6502, можно представить как всем хорошо известный патерн event-observer в высокоуровневых языках программирования. Конечно же можно реализовать данный патерн и на ассемблере но я его привел для большего понимания работы вектора прерывания. Если помните раннее я уже упоминал про память в 6 байт (3 слова, по 16 бит), которые выделены для секции VECTOR…
Читать далее »