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 для предотвращения графических сбоев.