Texas Instruments TMS9918

редактировать
VDP TMS9918A VDP TMS9918A VDP TMS9928A

TMS9918 - это Контроллер видеодисплея (VDC) производства Texas Instruments, представленный в 1979 году. TMS9918 и его варианты использовались в ColecoVision и CreatiVision, Memotech MTX, MSX, SG-1000 / SC-3000, Spectravideo, Sord M5, Tatung Einstein, Texas Instruments TI-99/4, Casio PV-2000 и Tomy Tutor.

TMS9918 поддерживает генерацию как сетевых на основе символьной графики (используется для отображения текста или фоновых изображений) и спрайтов, используемых для перемещения объектов переднего плана.

Содержание
  • 1 Семейство продуктов
  • 2 Внешние интерфейсы
    • 2.1 Видео RAM
    • 2.2 ЦП
  • 3 Графика
    • 3.1 Символы
      • 3.1.1 Режимы экрана
        • 3.1. 1.1 Документированный
        • 3.1.1.2 Недокументированный
      • 3.1.2 Сведения о режиме экрана 2
      • 3.1.3 Прокрутка
    • 3.2 Спрайты
    • 3.3 Цвета
  • 4 Технические характеристики
  • 5 Устаревшие
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Семейство продуктов

Существует несколько вариантов, называемых TMS9918, TMS9918A, TMS9928A и TMS9929A, где 'A' указывает вторую версию микросхемы, которая добавлены новые функции, в первую очередь добавление режима bitmap (Graphic II). Версия не-A использовалась только в TI-99/4; TI-99 / 4A и другие компьютеры имели VDC версии A. TMS9918A и TMS9928A выводят видеосигнал с частотой 60 Гц, а TMS9929A ​​- с частотой 50 Гц. Разница между «1» и «2» в «TMS9918A» и «TMS9928A» заключается в том, что версия «1» выводит видео composite NTSC, а версии «2» ( включая TMS9929A) выводит YPbPr, а точнее цветовые различия Y, RY и BY (сигналы яркости и цветоразностные сигналы). Потребность в последнем была преобладающей в мире 50 Гц, включая Европу, из-за различных стандартов видеосигнала PAL и SECAM. Было более экономически выгодно выводить Y, R-Y и B-Y и кодировать их в PAL или SECAM в RF модулятор, чем пытаться иметь разные консоли для каждого другого стандарта цвета. Версия «1» также имеет внешний композитный видеовход, что сделало ее удобным чипом для использования в «заголовках» видео, которые могут накладывать текст или графику на видео, в то время как версия «2» - нет.

Более поздний вариант микросхем серии TMS9918, TMS9118, TMS9128 и TMS9129, был выпущен в середине-конце 1980-х годов, но никогда не пользовался большой популярностью. Функция одного вывода изменена, и отображение видеопамяти позволяет использовать два чипа размером 16Kx4 бит вместо восьми чипов размером 16Kx1 бит, необходимых для TMS99xx. В остальном чипы полностью идентичны TMS9918A, TMS9928A и TMS9929A ​​соответственно.

Все микросхемы этого семейства обычно обозначаются именем TMS9918, иногда с добавлением постфикса «A».

Обзор семейства продуктов Texas Instruments TMS9918
Вариант микросхемыВидеовыходВидеовходЧастота видеосигналаПоддержка режима 2
9918композитныйкомпозитный60 ГцНет
9918A / 9118композитныйкомпозитный60 ГцДа
9928A / 9128Яркость и разница цвета(Нет)60 ГцДа
9929A ​​/ 9129Яркость и разница цвета(Нет)50 ГцДа
Внешние интерфейсы

Видео RAM

VDP имеет 16k × 8 бит внешней видеопамяти. Эта память находится вне адресного пространства CPU. Наличие отдельного адресного пространства означает, что ЦП должен выполнять больше работы для записи или чтения этой памяти, но это также означает, что VDC не замедляет ЦП, когда он периодически считывает эту память для генерации отображения. Кроме того, он оставляет больше адресного пространства, доступного ЦП для другой памяти и оборудования с отображением памяти.

В зависимости от используемого режима экрана не вся видеопамять может потребоваться для создания изображения. В этих случаях ЦП может использовать дополнительную видеопамять для других целей. Например, одно использование - это блокнот для распаковки графических или звуковых данных, хранящихся в ПЗУ картриджа. Другое популярное использование - создание второй копии некоторых или всех данных дисплея для устранения мерцания и разрывов, метод, известный как двойная буферизация.

ЦП

ЦП связывается с VDP через 8-битная шина. Контакт, управляемый ЦП, разделяет эту шину на два «порта», порт управления и порт данных. Чтобы записать или прочитать байт видеопамяти, ЦП сначала должен записать два байта из порта управления VDP во внутренний адресный регистр VDC. Затем ЦП выполняет фактическую запись или чтение порта данных VDP. При записи или чтении байта данных TMS9918 автоматически увеличивает внутренний адресный регистр. Эта функция автоматического увеличения ускоряет запись и чтение блоков данных. Порт управления также используется для доступа к различным внутренним регистрам.

Графика

TMS9918 имеет два отдельных и разных типа графики: символы и спрайты.

Символы

Символы обычно используются для создания текста или фоновых изображений. Они появляются за спрайтами.

Режимы экрана

TMS9918 имеет несколько режимов экрана, которые управляют характеристиками символов.

Задокументировано

В TMS9918A доступно четыре задокументированных режима экрана (как упоминалось ранее, в TMS9918 отсутствует режим Graphic 2):

  • Mode 0 (Text): 240 × Всего 192 пикселя, как 40 × 24 символов, извлеченных из 1 набора символов из 256 символов 6 × 8 пикселей. У всего набора символов есть ограничение на 2 цвета. Этот режим не поддерживает спрайты.
  • Режим 1 (Графика 1): 256 × 192 пикселей всего, как 32 × 24 символа, извлеченные из 1 набора символов из 256 символов 8 × 8 пикселей. Каждая группа из 8 символов в наборе символов имеет 2-цветное ограничение. Например, символы от «0» до «7» будут иметь одинаковые атрибуты цвета.
  • Режим 2 (Рисунок 2): Всего 256 × 192 пикселей, как 32 × 24 символа, извлеченные из 3 наборов символов. 256 символов 8 × 8 пикселей. Каждая строка символа шириной 8 пикселей в наборах символов имеет ограничение в 2 цвета. Этот режим обеспечивает уникальный символ для каждого местоположения символа на экране, что позволяет отображать растровые изображения.
  • Режим 3 (многоцветный): 256 × 192 пикселей всего, 64 × 48 изменяемых виртуальных пикселей, как 32 × 24 «полуграфические» персонажи. Эта полуграфика определяется в специальном наборе символов из 256 символов, определяемых как «жирные пиксели» 2 × 2. В каждом жирном пикселе есть 4 × 4 пикселя, но пиксели внутри жирного пикселя не могут быть определены индивидуально, хотя каждый жирный пиксель может иметь свой собственный цвет, отсюда и название этого режима (Многоцветный). Этот режим очень блочный и используется редко.
Недокументированный

Texas Instruments изначально задокументировала только четыре режима, перечисленных выше. Однако бит, который включает режим 2, более интересен, чем предполагалось изначально. Лучше всего описывать его как бит-модификатор для других режимов. Включение этого параметра делает три вещи:

  1. Увеличивает размер таблицы цветов.
  2. Делит экран по горизонтали на три части.
  3. Изменяет два адресных бита таблицы шаблонов и цветов на биты маски, которые управляют имеет ли каждая треть экрана свой собственный узор и цветовую таблицу или нет.

Имея это в виду, возможны три дополнительных режима. Обратите внимание, что хотя подлинные микросхемы TMS9918A поддерживают эти режимы, клоны и эмуляторы не могут.

  • Режим 0 (Текст) + Режим 2 (Графика 2) : Известный как режим растрового текста. Этот режим позволяет использовать двухцветные растровые изображения без таблицы цветов. Это экономит память за счет небольшого уменьшения горизонтального разрешения (текстовый режим имеет горизонтальное разрешение 240 пикселей вместо 256 пикселей, как в графических режимах).
  • Режим 1 (Графика 1) + Режим 2 (График 2) : Известный как режим Half-Bitmap. Компания Texas Instruments фактически задокументировала этот «недокументированный» режим экрана в своем руководстве под названием «Руководство программиста процессоров видеодисплея SPPU004». В разделе 8.4.2, Игра в игры с адресацией VRAM, они обсуждают, как этот режим сочетает экономию памяти в режиме 1 с детализацией цвета в режиме 2. Однако, как они продолжают говорить, этот режим ограничивает количество спрайтов, которые могут быть отображается как 8 вместо 32. Следовательно, термин «недокументированный», используемый для описания этого режима, неверен. Однако, поскольку это руководство не было широко известно, этот режим обычно считается одним из недокументированных режимов. Как правило, единственной причиной использования этого режима вместо режима 2 является уменьшение потребления памяти.
  • Режим 3 (многоцветный) + режим 2 (графический 2) : известен как многоцветный режим растрового изображения. Этот режим является скорее новинкой, поскольку он не предлагает ничего, кроме того, что уже может сделать стандартный многоцветный режим.

Подробности о режиме экрана 2

Технически режим 2 - это режим символов с красочным набором символов. Экран разделен по горизонтали на три области размером 256 × 64 пикселей, каждая из которых получает свой собственный набор символов. Последовательно печатая символы от 0 до 255 во всех трех областях, программа может имитировать графический режим, в котором каждый пиксель может быть установлен индивидуально. Однако результирующий буфер кадра является нелинейным.

Программа также может использовать три идентичных набора символов, а затем обрабатывать экран как текстовый режим с набором красочных символов. Фоновые узоры и спрайты состоят из красочных персонажей. Это обычно использовалось в играх, потому что нужно было переместить только 32x24 байта, чтобы заполнить и прокрутить весь экран. Графика может быть нарисована так, чтобы границы 8 × 8 пикселей не были слишком очевидными, искусство, в котором Konami была особенно известна своим превосходством.

Проблема использования режима 2 TMS9918 заключалась в том, что каждая область 8 × 1 пикселя могла иметь только два цвета: передний план и фон. Их можно было свободно выбирать из 16 цветовой палитры, но для каждой области 8x1 могло существовать только два цвета. При манипулировании экраном в BASIC с помощью команды СТРОКА можно легко превысить максимальное количество 2 цветов на область 8 × 1 и получить «разлив цвета ».

Прокрутка

TMS9918 не имеет регистров прокрутки, поэтому прокрутка должна выполняться программно. Кроме того, прокрутка может выполняться только по границам символов.

Спрайты

Спрайты обычно используются для создания движущихся объектов переднего плана. Они появляются перед персонажами (плитками).

Режимы 1, 2 и 3 могут отображать спрайты. На экране может быть до 32 монохромных спрайтов размером 8 × 8 или 16 × 16 пикселей, каждый спрайт имеет свой единственный цвет. Иллюзию разноцветных спрайтов можно создать, наложив несколько спрайтов друг на друга.

На одной строке сканирования может быть не более 4 спрайтов; любые дополнительные горизонтальные пиксели спрайтов удаляются. Первыми отрисовываются спрайты с более высоким приоритетом. VDP сообщает в регистре состояния номер первого сброшенного спрайта. ЦП может обойти это ограничение, меняя приоритеты спрайтов так, чтобы в каждом кадре отображался другой набор спрайтов; вместо того, чтобы полностью исчезнуть, спрайты будут мерцать. Этот метод известен как мультиплексирование спрайтов.

Автоматическое перемещение спрайта не обрабатывается VDP. Вместо этого на практике ЦП улавливает «вертикальное прерывание» VDP - стандартный вывод VDP, который автоматически запускается каждые 50 или 60 секунд (в зависимости от варианта чипа) в начале VBI (интервал вертикального гашения ). Затем ЦП переходит к программе обработки спрайтов в программном обеспечении, которая, в свою очередь, сообщает VDP, где изменить положение спрайтов.

Когда два непрозрачных пикселя в любой паре спрайтов сталкиваются, устанавливается флаг столкновения спрайтов. Это полезно для запуска более продвинутых процедур обнаружения столкновений внутри программного обеспечения, которые затем могут определять точное место столкновения и действовать в соответствии с ним, поскольку сам VDP не может сообщить, какие два спрайта столкнулись.

Цвета

TMS9918 имеет фиксированную 16-цветовую палитру, состоящую из 15 отображаемых цветов и «прозрачного» цвета.

  • Когда для спрайтов используется «прозрачный», будут отображаться символы фона.
  • Если для символов используется «прозрачный», будет отображаться внешний видеосигнал.

Согласно таблице данных, три аналоговых цветных выхода обеспечивают следующие уровни:

Цветовой кодЦветYRYBY
0прозрачный---
1черный0%47%47%
2средне-зеленый53%7%20%
3светло-зеленый67%17%27%
4темно-синий40%40%100 %
5светло-синий53%43%93%
6темно-красный47%83 %30%
7голубой73%0%70%
8средний красный53%93%27%
9светло-красный67%93%27%
10темно-желтый73%57%7%
11светло-желтый80 %57%17%
12темно-зеленый47%13%23%
13пурпурный53%73%67%
14серый80%47%47%
15белый100%47%47%

Вы должны учитывать, что до того времени только электронно-лучевые трубки были доступны как для компьютерных мониторов, так и для телевизоров, и эти ЭЛТ требовали гамма-коррекции. Значение для Гамма-коррекции ЭЛТ для телевизоров было 1,6 (примечание: ЭЛТ мониторов Macintosh имели 1,8, а ЭЛТ мониторов ПК - 2,2). Современные компьютерные мониторы с плоским экраном не нуждаются в гамма-коррекции, и по этой причине цвета TMS9918 будут несколько бледными, если вы забудете учесть этот факт. В приведенной выше таблице уже используются исправленные значения, которые (записаны в шестнадцатеричном формате, поскольку это необходимо для кодировки Википедии):

Цветовой кодЦветRGB
1черный000000
2средне-зеленый0AAD1E
3светло-зеленый34C84C
4темно-синий2B2DE3
5голубой514BFB
6темно-красныйBD2925
7голубой1EE2EF
8средне-красныйFB2C2B
9светло-красныйFF5F4C
10темно-желтыйBDA22B
11светло-желтыйD7B454
12темно-зеленый0A8C18
13пурпурныйAF329A
14серыйB2B2B2
15белыйFFFFFF
Spe Характеристики
  • Видеопамять: 16 КБ
  • Текстовые режимы: 40 × 24 и 32 × 24
  • Разрешение: 256 × 192 (15 цветов + прозрачный)
  • Спрайты: 32, 1 цвет, максимум 4 на горизонтальную линию
Legacy

TMS9918 был первым потребительским устройством, использующим DRAM. Поскольку в то время достаточно DRAM для хранения полного буфера кадра было слишком дорого, TMS9918 использует спрайты.

TMS9918A Texas Instruments сменил Yamaha V9938, который добавил дополнительные режимы растровых изображений, более красочные спрайты, регистр вертикальной полноэкранной прокрутки, регистры вертикального и горизонтального смещения, аппаратный блиттер и настраиваемая палитра . V9938 был разработан для стандарта компьютеров MSX2, а затем использовался в стороннем обновлении до TI-99 / 4A - Geneve 9640 «компьютер на карте». На смену V9938, в свою очередь, пришел V9958, в котором были добавлены некоторые дополнительные режимы высокой цветности и регистр горизонтальной двухстраничной прокрутки. Эти микросхемы использовались в системах MSX2 + / turboR, а также на карте обновления TIM для TI-99 / 4A, хотя ходят слухи, что V9958 также использовался в поколении игровых автоматов Photo Play. Yamaha также произвела A, который некоторые считают продолжением V9958, но он не имеет обратной совместимости.

Toshiba создала клон под названием T6950 и не поддерживает недокументированную функцию маскирования шаблонов / таблиц цветов в графическом режиме 2. Позже Toshiba выпустила T7937A MSX-Engine со встроенным VDP и исправила функции маскировки. Оба VDP от Toshiba имеют немного другую палитру, чем Texas VDP, с более яркими цветами.

TMS9918 был основой для чипов VDP в Master System от Sega, Game Gear и Mega Drive.. Они использовали дополнительные режимы отображения и регистры, а также добавили аппаратные возможности прокрутки и другие расширенные функции.

См. Также
  • 8-битное семейство Atari, линейка домашних компьютеров с сопоставимым графическим оборудованием, представленная в том же году.
  • Motorola 6845, контроллер дисплея, широко используемый в 8-битных системах. компьютеры
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-10 03:24:23
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте