Использует ли графика Chip-8 биты или байты?
Я следовал этому руководству: http://www.codeslinger.co.uk/pages/projects/chip8.html пытаясь создать эмулятор Chip-8, но я не понимаю код операции Draw. В этом учебном пособии говорится, что необходимо создать массив байтов размером 64 x 32 для хранения данных для экрана, и я видел то же самое в других местах.
Моя проблема в том, что графика отрисовывается по крупицам, а не побайтно. Объяснение этого вопроса Как графическая карта ЧИП 8 отображается на экране? Например, говорит, что каждый байт содержит 8 пикселей данных спрайта. Если каждый байт содержит 8 пикселей, а размер экрана составляет 64 x 32 пикселя, и во всех эмуляторах и учебниках Chip-8, которые я вижу, имеются экраны размером 64 x 32 байта, значит ли это, что каждый пиксель состоит из 8 пикселей? Кроме того, поскольку пиксели на самом деле просто нарисованы в строках, это означало бы, что экран действительно (64*8) x 32. Это просто не имеет смысла, и я не могу найти кого-то еще, кто задает этот вопрос.
1 ответ
Chip8 имеет только 2 цвета: черный и белый. Поэтому каждый пиксель может быть представлен битом. Размеры экрана составляют 64 на 32 пикселя. Таким образом, экран может быть представлен как 64 бита * 32 бита (8 байт * 4 байта).
Если бы я хотел нарисовать прямую линию, данные спрайта будут выглядеть так:
11111111
или визуально:
********
В то время как пунктирная линия будет выглядеть так:
11011011
** ** **