контролируется регистром 2000
что это за команда должна быть, для включения режима? хотя бы в принципе?
Вот это вот нашел в вики:
7 bit 0
---- ----
VPHB SINN
|||| ||||
|||| ||++- Base nametable address
|||| || (0 = $2000; 1 = $2400; 2 = $2800; 3 = $2C00)
|||| |+--- VRAM address increment per CPU read/write of PPUDATA
|||| | (0: add 1, going across; 1: add 32, going down)
|||| +---- Sprite pattern table address for 8x8 sprites
|||| (0: $0000; 1: $1000; ignored in 8x16 mode)
|||+------ Background pattern table address (0: $0000; 1: $1000)
||+------- Sprite size (0: 8x8 pixels; 1: 8x16 pixels – see PPU OAM#Byte 1)
|+-------- PPU master/slave select
| (0: read backdrop from EXT pins; 1: output color on EXT pins)
+--------- Generate an NMI at the start of the
vertical blanking interval (0: off; 1: on)
значит это пятый бит
у меня в программке было прописано
#define PPU_CTRL *((unsigned char*)0x2000)
и далее
PPU_CTRL = 0x90
если перевести 16 в двоичный, это будет
10010000
ага, пятый бит был пустой...
попробуем записать в пятый бит единицу - 10110000
это будет 0xB0
пишу PPU_CTRL = 0xB0,
запускаю, ничего не работает, порядок спрайтов не меняется с виду.
пробую b4, ff, без изменений.
где же я ошибаюсь? как же это включить?