Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Чтение из VRAM (видеобуфера)






 

    D7 D6 D5 D4 D3 D2 D1 D0  
1 слово 1 байт     A13 A12 A11 A10 A9 A8 D15 – D8
$C00004 2 байт A7 A6 A5 A4 A3 A2 A1 A0 D7 – D0
2 слово 1 байт                 D15 – D8
$C00004 2 байт             A15 A14 D7 – D0
Данные 1 байт DT15 DT14 DT13 DT12 DT11 DT10 DT9 DT8 D15 – D8
$C00000 2 байт DT7 DT6 DT5 DT4 DT3 DT2 DT1 DT0 D7 – D0

 

A15~A0: Адрес VRAM

D15~D0: Данные VRAM

 

Данные всегда читаются словом (WORD). При чтении сигнал A0 игнорируется; байты остаются на своих местах

при любых значениях A0 (т.е. при A0=1 байты не обмениваются!).

Последовательные чтения происходят по адресу, который увеличивается на значение в Регистре #15. A0

Используется для вычисления следующего адреса.

 


_ ДОСТУП К CRAM (ОЗУ ЦВЕТА) _

 

CRAM содержит 128 байт, адресуемых с 0 по 7FH. Для записи слов в CRAM используйте:

 

    D7 D6 D5 D4 D3 D2 D1 D0  
1 слово 1 байт                 D15 – D8
$C00004 2 байт   A6 A5 A4 A3 A2 A1 A0 D7 – D0
2 слово 1 байт                 D15 – D8
$C00004 2 байт                 D7 – D0
Данные 1 байт         B2 B1 B0   D15 – D8
$C00000 2 байт G2 G1 G0   R2 R1 R0   D7 – D0

 

A6~A0: адрес VRAM

B2, B1, B0 – уровень синего (0…7);

G2, G1, G0 – уровень зеленого (0…7);

R2, R1, R0 – уровень красного (0…7);

Итого: 8*8*8=512 оттенков.

 

D15 ~ D0 верны при использовании 16 бит (слово). Если используются байты, то надо записывать старший байт в $C00000 и младший в $C00001. Длинное слово эквивалентно двум записям по 16 бит (слово). Первое слово надо поместить в D31 - D16 и второе в D15 - D0. Данные могут быть записаны последовательно; адрес автоматически увеличивается на величину в Регистре #15 после каждой записи, независимо от ширины записи (байт или слово).

 

Примечание: A0 используется для увеличения, но не для декодирования адреса, при этом получаются некоторые графические эффекты, если записывать по нечетным адресам.

 

Для чтения слова (WORD) из CRAM, нужно:

 

    D7 D6 D5 D4 D3 D2 D1 D0  
1 слово 1 байт                 D15 – D8
$C00004 2 байт   A6 A5 A4 A3 A2 A1 A0 D7 – D0
2 слово 1 байт                 D15 – D8
$C00004 2 байт                 D7 – D0
Данные 1 байт         B2 B1 B0   D15 – D8
$C00000 2 байт G2 G1 G0   R2 R1 R0   D7 – D0

 

A6~A0: адрес VRAM

R2~R0: красная составляющая цвета

G2~G0: зеленая составляющая цвета

B2~B0: синяя составляющая цвета


_ ДОСТУП К VSRAM (Память прокрутки) _

 

VSRAM состоит из 80 байтов с адресами от 0 до 4FH. Для обращния словом (WORD) для записи в VSRAM, надо:

 

    D7 D6 D5 D4 D3 D2 D1 D0  
1 слово 1 байт                 D15 – D8
$C00004 2 байт   A6 A5 A4 A3 A2 A1 A0 D7 – D0
2 слово 1 байт                 D15 – D8
$C00004 2 байт                 D7 – D0
Данные 1 байт * * * * * VS10 VS9 VS8 D15 – D8
$C00000 2 байт VS7 VS6 VS5 VS4 VS3 VS2 VS1 VS0 D7 – D0

 

A6~A0: адрес VSRAM

VS10~VS0: величина вертикальной прокрутки

 

Если используется слово (WORD) и данные в D15 ~ D0. D15 - D0 верны при использовании слов. Если запись идет побайтно, старший байт надо записать в $C00000, а младший в $C00001. Доступ двойным словом (LONG WORD) эквивалентен двумя последовательным словам (WORD). Первое слово нужно поместить в D31 - D16 и второе слово в D15 - D0. Данные можно писать последовательно; адрес автоматически увеличится на значение в Регистре #15 после каждой записи, независимо от разрядности доступа (байт или слово).

 

Примечание: A0 используется для увеличения, но не для декодирования адреса, при этом получаются некоторые графические эффекты, если записывать по нечетным адресам.

 

Для записи по словам в VSRAM, надо:

 

    D7 D6 D5 D4 D3 D2 D1 D0  
1 слово 1 байт                 D15 – D8
$C00004 2 байт   A6 A5 A4 A3 A2 A1 A0 D7 – D0
2 слово 1 байт                 D15 – D8
$C00004 2 байт                 D7 – D0
Данные 1 байт * * * * * VS10 VS9 VS8 D15 – D8
$C00000 2 байт VS7 VS6 VS5 VS4 VS3 VS2 VS1 VS0 D7 – D0

 

A6~A0: адрес VSRAM

VS10~VS0: величина вертикальной прокрутки

 


_ ВРЕМЕННЫЕ ИНТЕРВАЛЫ ДОСТУПА _

 

CPU и VDP используют CRAM, CRAM и VSRAM по очереди. Потому что VDP очень занят во время отображения картинки, доступ для CPU сильно ограничен. Однако во время кадрового гашения CPU может работать с VDP продолжительно.

 

Количество разрешенных доступов CPU дополнительно зависит от режима 32 ячейки или 40 ячеек. Еще зависит от размера обмениваемых данных, который зависит от типа RAM: VRAM всегда побайтно, а CRAM и CSRAM всегда словами (WORD).

 

 

 

Например, в режиме 32 символов в строке, CPU может получить доступ 16 раз за строку. Каждый доступ разрядностью в 1 байт и это нужно учитывать. CRAM и CSRAM делят 16-ти разовый лимит, но разрядностью в слово (WORD), поэтому может быть записано 16 слов за строку.

 

Дополнительно, у VDP есть буфер FIFO на 4 слова (WORD). Если писать во время сильной загрузки VDP или во время показа строки, буфер наполнится и процессору придется ждать освобождения VDP.

 

Максимальное время ожидания:

 

РЕЖИМ ДИСПЛЕЯ ВРЕМЯ ОЖИДАНИЯ
32 символа в строке Примерно 5.96 µsec
40 символов в строке Примерно 4.77 µsec

 

CPU получает безграничный доступ к своему ОЗУ (RAM) в любое время.


 

_ СЧЕТЧИК КООРДИНАТ ЛУЧА _

 

Счетчик HV дает координаты горизонтали и вертикали телевизионного луча. Если бит " M3" Регистра #0 установлен в “1”, счетчик HV будет остановлен когда сигнал HL будет равен “1”, так же, как переключается прерывание уровня 2.

 

M3 РЕЖИМ СЧЕТЧИКА
  СЧЕТЧИК НЕ СООТВЕТСТВУЕТ ПО СИГНАЛУ ЗАЩЕЛКИ
  СЧЕТЧИК СООТВЕТСТВУЕТ ПО СИГНАЛУ ЗАЩЕЛКИ

M3: Регистр # 0

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.