![]() |
Вопрос по экранной области памяти
Здравствуйте! В последнее время увлекся изучением программирования для ZX Spectrum. Меня интересует вопрос, который возник в процессе прочтения книги издательства "ПИТЕР":
1) Почему размер файла-изображения, созданного в Art Studio, составляет 6912 байт? 2) Разрешение экрана 256*176 глубина цвета 3 бита (8 цветов). Итого вес матрицы должен составить 135 168 бит (16 896 байт). Я правильно думаю? |
Quote:
http://en.wikipedia.org/wiki/ZX_Spectrum_graphic_modes |
Более чем понятно. Это изображение грузится в область символов, определяемых пользователем, емкостью 32*24*9 = 6912 байт. Буду разбираться дальше. Спасибо.
|
Quote:
(256*192) / 8 бит = 6144 байт монохромной графики (256*192) / 64 пиксела в блоке 8х8 = 768 байт цветовых данных 6144+768 = 6912 байт всего |
boo_boo, Ясно. Адрес начала области UDG я смогу найти
(let a = usr chr$(0)), там можно разместить всего 49152 бит своих монохромных блоков 8х8. А как найти адрес области памяти, куда можно записывать атрибуты каждого из блоков (3 бита цвет знака, 3 бита цвет фона, 1 бит повышенной яркости и 1 бит мерцания знакоместа)? |
забудь про UDG
экран начинается с $4000 = 16384 атрибуты $5800 = 22528 poke 16384,128 - точка в левом-верхнем poke 22528,0 - черный inc/paper в левом-верхнем |
Quote:
UDG -- абстракция, существующая на уровне бейсиковских процедур печати, железо ни о каком UDG не знает, оно знает только о области памяти начинающейся с 16384 и длиной 6912 байт. сначала идут 6144 байт монохромных пикселов (причем нелинейно, увидишь, если сделаешь в цикле poke 16384+i, 255). потом 768 байт цвета познакоместно, линейно. подробно см например в http://trd.speccy.cz/book/ZX_TRDOS.ZIP (архитектура ZX Spectrum -- организация памяти -- экранная область памяти) |
skyther,
boo_boo, Большое вам спасибо! |
Лучше почитай книгу "Как написать игру на Ассемблере" издательства Питер...
|
rasmer, Я начал читать предыдущую, ту что на бейсике. Думаете, что ее следует пропустить?
|
| All times are GMT +4. The time now is 06:18. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.