NES(сборка 6502) спрайты не двигается

Я пытаюсь написать игру на языке ассемблера 6502, но мой спрайт не хочет двигаться: мой спрайт стоит 200 долларов, поэтому я сделал следующее:

Spriteloop:
    LDX $200 ;loading content of $200 address in X register
    INX  ;increment the number
    JMP Spriteloop ;loop back to move again

Однако, это не работает, мой спрайт не двигается.

Спасибо

1 ответ

Вам нужно сохранить X обратно в регистр памяти. Я думаю, что это STOX или STX? Прошло некоторое время, так как я использовал любую сборку 6502.

Вы используете OAMDMA для копирования страницы 2 во VRAM в PPU? Если вы этого не сделаете, спрайты не будут двигаться. Системная оперативная память не подключена к PPU, поэтому вам необходимо скопировать ее.

Имейте в виду, что обновления VRAM должны выполняться во время VBlank для предотвращения графических сбоев.

Другие вопросы по тегам