Важная информация

User Tag List

Страница 1 из 6 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 51

Тема: Вопрос по экранной области памяти

  1. #1
    Junior Аватар для ipaSoft
    Регистрация
    17.09.2008
    Адрес
    Орск
    Сообщений
    11
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Вопрос по экранной области памяти

    Здравствуйте! В последнее время увлекся изучением программирования для ZX Spectrum. Меня интересует вопрос, который возник в процессе прочтения книги издательства "ПИТЕР":
    1) Почему размер файла-изображения, созданного в Art Studio, составляет 6912 байт?
    2) Разрешение экрана 256*176 глубина цвета 3 бита (8 цветов). Итого вес матрицы должен составить 135 168 бит (16 896 байт). Я правильно думаю?
    Последний раз редактировалось ipaSoft; 18.09.2008 в 23:45. Причина: фатальная ошибка

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    668
    Благодарностей: 113
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ipaSoft Посмотреть сообщение
    2) Разрешение экрана 256*176 глубина цвета 3 бита (8 цветов). Итого вес матрицы должен составить 135 168 бит (16 896 байт). Я правильно думаю?
    нет
    http://en.wikipedia.org/wiki/ZX_Spectrum_graphic_modes
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  4. #3
    Junior Аватар для ipaSoft
    Регистрация
    17.09.2008
    Адрес
    Орск
    Сообщений
    11
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Более чем понятно. Это изображение грузится в область символов, определяемых пользователем, емкостью 32*24*9 = 6912 байт. Буду разбираться дальше. Спасибо.

  5. #4
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ipaSoft Посмотреть сообщение
    грузится в область символов, определяемых пользователем
    не, в экранную область. в то что называют "область символов, определяемых пользователем" атрибуты не загрузишь, и структура данных другая, и символов не хватит.
    (256*192) / 8 бит = 6144 байт монохромной графики
    (256*192) / 64 пиксела в блоке 8х8 = 768 байт цветовых данных
    6144+768 = 6912 байт всего

  6. #5
    Junior Аватар для ipaSoft
    Регистрация
    17.09.2008
    Адрес
    Орск
    Сообщений
    11
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    boo_boo, Ясно. Адрес начала области UDG я смогу найти
    (let a = usr chr$(0)), там можно разместить всего 49152 бит своих монохромных блоков 8х8.
    А как найти адрес области памяти, куда можно записывать атрибуты каждого из блоков (3 бита цвет знака, 3 бита цвет фона, 1 бит повышенной яркости и 1 бит мерцания знакоместа)?

  7. #6
    Veteran Аватар для skyther
    Регистрация
    24.06.2005
    Адрес
    Лысьва
    Сообщений
    1,183
    Благодарностей: 187
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    забудь про UDG
    экран начинается с $4000 = 16384
    атрибуты $5800 = 22528

    poke 16384,128 - точка в левом-верхнем
    poke 22528,0 - черный inc/paper в левом-верхнем

  8. #7
    Master Аватар для boo_boo
    Регистрация
    10.05.2005
    Адрес
    Москва
    Сообщений
    713
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ipaSoft Посмотреть сообщение
    (let a = usr chr$(0))
    ага, skyther дело говорит, забудь про UDG
    UDG -- абстракция, существующая на уровне бейсиковских процедур печати, железо ни о каком UDG не знает, оно знает только о области памяти начинающейся с 16384 и длиной 6912 байт. сначала идут 6144 байт монохромных пикселов (причем нелинейно, увидишь, если сделаешь в цикле poke 16384+i, 255). потом 768 байт цвета познакоместно, линейно.
    подробно см например в http://trd.speccy.cz/book/ZX_TRDOS.ZIP (архитектура ZX Spectrum -- организация памяти -- экранная область памяти)

  9. #8
    Junior Аватар для ipaSoft
    Регистрация
    17.09.2008
    Адрес
    Орск
    Сообщений
    11
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    skyther,
    boo_boo, Большое вам спасибо!

  10. #9
    Guru Аватар для rasmer
    Регистрация
    20.01.2005
    Адрес
    Саранск
    Сообщений
    2,172
    Благодарностей: 140
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лучше почитай книгу "Как написать игру на Ассемблере" издательства Питер...
    Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
    Мои игры: [Overload][Removal]

    Список игр для ZX-Spectrum: [2015] [2014]

  11. #10
    Junior Аватар для ipaSoft
    Регистрация
    17.09.2008
    Адрес
    Орск
    Сообщений
    11
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    rasmer, Я начал читать предыдущую, ту что на бейсике. Думаете, что ее следует пропустить?

Страница 1 из 6 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 21
    Последнее: 24.05.2013, 07:11
  2. Ответов: 54
    Последнее: 16.07.2012, 23:44
  3. как добавить памяти
    от White_Hunter в разделе Amiga
    Ответов: 9
    Последнее: 03.07.2008, 12:41
  4. Ответов: 11
    Последнее: 23.02.2007, 05:23
  5. Ищу спектрумистов с Харькова и области!
    от Cooper^RSM^P7S в разделе Люди
    Ответов: 5
    Последнее: 24.05.2005, 09:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •