Указатели спрайтов в 6502 (Commodore 64)

Итак, я пытаюсь установить указатели спрайтов, но не могу понять, как это сделать.

Я знаю, что если я хочу установить указатель, скажем, на $2000, я должен установить указатель ($07F8) на #$80 с 40 * 80 = 2000. Но что, если у меня есть двоичные файлы спрайтов в верхнем баране: $C000, я не могу этого сделать, так как это будет #$300, и это большой.


person Insert joke here    schedule 16.07.2020    source источник
comment
Ретрокомпьютинг — место для этого вопроса.   -  person tum_    schedule 16.07.2020


Ответы (1)


VIC-II может адресовать только 16 КБ памяти. Вероятно, это связано с тем, что C-64 (VIC-40) сначала разработал 16 КБ ОЗУ, позже Джек Трамиэль продиктовал, что это будет 64 КБ.

Итак, основная память разделена на 4 банка:

0000-3FFF (0)
4000-7FFF (1)
8000-BFFF (2)
C000-FFFF (3)

Поэтому, когда вы устанавливаете VIC-II в 3-й банк (то есть C000-FFFF), $C000 становится 0th спрайтом.

person the kamilz    schedule 16.07.2020