Важная информация
RSS лента

vinxru

Компьютер Texas Instruments TI99/4

Оценить эту запись
Процессор: Texas Instruments TMS 9900 3,3 МГц 16 бит
ОЗУ: 32 Кб
Графика: 256x192 16 цветов (256 тайлов 8x8 + спрайты)
Звук: Полифония + внешний голосовой синтезатор
Выпускался: 1979-1984 годы.

[IMG]http://cs605217.vk.me/v605217349/35e3/jCYzv9QaUd0.jpg[/IMG]

В 1979 году фирма Texas Instruments, одна из крупнейших фирм выпускающих электронику, решила выпустить собственный домашний компьютер.

В этот компьютер они поставили процессор TMS9900 собственной разработки. Процессор был выпущен 3-мя годами ранее (1976 год), но не пользовался спросом. Это был первый 16-битный процессор (с 16-битной шиной данных), что должно было быть гигантским плюсом. Но из-за использования 8-битного ОЗУ, убогого видеопроцессора и двойной интерпретации, увеличения производительности по сравнению с 8-битными процессорами не произошло. То есть, это были впустую потраченные деньги.

Шина адреса у этого процессора так же была 16-бит, что позволяло адресовать лишь 64 Килобайта памяти. 16-битный процессор Intel 8086, который уже был на рынке, имел шину адреса 20-бит и соответственно позволял адресовать 1 Мб памяти.

Интересной особенностью процессора было отсутствие регистров. Все команды работали с памятью, что тоже не добавляло скорости.

Компьютер TI99/4 не выдерживал никакой конкуренции, и фирме Texas Instruments пришлось снизить цену компьютера ниже себестоимости. И в 1984 году из-за колоссальных убытков они отказалась от дальнейшего производства и развития этого компьютера.

Особой изюминкой игр для TI99/4, которые часто не дотягивали по графике даже до Atari 2600, был голосовой синтезатор. Игру сопровождали фразы на английском языке, и это завораживало.

[video=youtube;4cuHwMEsgA8]https://www.youtube.com/watch?v=4cuHwMEsgA8[/video]

Особого внимания заслуживает видеопроцессор этого компьютера. Видеопроцессор имеет собственные 16 Кбайт ОЗУ, доступ к которым возможен только через регистры видеопроцессора. И было это очень медленно.

Видеопроцессор умеет отображать только текстовые режимы 32x24 и 40x24 символа. Размер символа 8x8 пикселей для 32x24, и 6x8 пикселей для 40x24. Знакогенератор содержит 256 символов. При этом цвет определяется для символа, а не знакоместа. То есть, символ с кодом 33 в любом месте экрана будет иметь идентичный цвет фона и цвет текста.

Ради справедливости стоит сказать, что полноценный графический режим тоже поддерживался. 64x48 пикселей 16 цветов. Но даже в 1979 году это было смешно.

Видеопроцессор позволял отображать в произвольных местах экрана 32 картинки 8x8 (или 16x16) пикселей одного цвета (второй цвет прозрачный). Эти картинки назывались спрайтами. Видео процессор мог отображать не более 4х спрайтов на одной линии. (Кстати, наложением спрайтов друг на друга можно было получить двух цветные спрайты.)

Аппаратного скроллинга не было.

Обобщая написанное. Разработчик определял 256 картинок 8x8 пикселей, формировал из них изображение. Объекты, плавно перемещающиеся по экрану, могли быть только одноцветные, и их могло быть не более 4-х на горизонтальной линии.

Если требовалось отображать множество плавно движущихся объектов, то в знакогенераторе определялись несколько сдвинутых изображений. Вот пример типичной игры того времени:

[IMG]http://cs605217.vk.me/v605217349/35db/zEGkNAYusHM.jpg[/IMG]

Для реализации более серьезной графики требовалось постоянное изменение знакогенератора, но из за медленного доступа к видео памяти, это было не всегда возможно.

Похожий видеопроцессор использовался в приставке NES (Dendy). Но там был аппаратный скроллинг и 4-х цветные символы, что в корне меняет дело. Если бы разработчики TI99/4 пораскинули мозгами, то история могла бы сложится по другому.

видео режим. В нем используется 3 знакогенератора (каждый для своей области экрана. 768 символов как раз покроют весь экран). А цвет задается для каждой строки символа. В теории, этот режим позволил бы писать полноценные графические программы с одним лишь ограничением, в области (x*8,y)-(x*8+7,y) может быть использовано лишь 2 цвета. Но из медленного обращения к видеопамяти в играх эта возможность не использовалась. А для серьезных программ (САПР) ограничение 2-х цветов было фатальным.

Так же, в новом компьютере появилась полноценная клавиатура вместо резиновых кнопок. Печатать на ней даже сейчас одно удовольствие, но к сожалению, разработчики не догадались добавить отдельную клавишу для Backspace. Удалить символ можно было только комбинацией клавиш. Интересной особенностью этой клавиатуры была кнопка Caps Lock с механической фиксацией.

В том же 1981 году, фирма IBM представила видеоплату MDA, которая отображала текстовый режим 80x25 символов. Этого было достаточно для комфортной работы в офисных приложениях. И этот режим на 15 лет стал стандартом для офисных программ.

Компьютер ZX Spectrum, у которого нет видеопроцессора вообще, обеспечивает несравненно красивую и динамичную графику. Получается, что видеопроцессор и навороченная архитектура TI99/4 попросту мешала работать компьютеру.

Программы для этого компьютера распространялись на магнитофонных кассетах, картриджах с ПЗУ и дискетах.

Крупные фирмы распространяли свои программы на картриджах с ПЗУ. То есть объем программы мог быть произвольным, и при этом всегда оставалось 16 Кбайт ОЗУ (не считая неиспользуемой видео памяти) для собственных нужд. Некоторые картриджи содержали расширение ОЗУ. (Хотя, 16 Кб ОЗУ должно хватить для многого. Для сравнения, Dendy хватало 2 Кбайт ОЗУ.)

Как в других компьютерах того времени, сразу после включения компьютера, пользователю был доступен язык программирования Бэйсик. Но ПЗУ компьютера содержало не Бэйсик, как следовало ожидать. Оно содержало интерпретатор байт кода, который назывался GPL. Программы для этого интерпретатора были записаны в специализированные ПЗУ, которые назывались GROM (Graphics ROM).

Чтение данных из GROM осуществлялось через 8-битные порты ввода-вывода. Установка адреса чтения происходила за 2 команды процессора, сначала записывались старшие 8 бит адреса, затем младшие. При каждом чтении данных, адрес чтения автоматически увеличивался. При этом, GROM работал намного медленнее процессора.

Если кому надо, то я написал эмулятор GROM на ATMega.

[url]https://github.com/vinxru/TI99_Grom_Emulator[/url]

Производительность программ записанных в GROM была крайне низкая. И никаких активных игр с использованием GROM написано не было. Почти для всех игр программисты использовали стандартное ПЗУ и машинный код. А GROM использовался лишь там, где производительность была не нужна. Например стартовое меню игр.

Интересной особенностью GROM было то, что последние 2 Кб каждых 8 Кб данных не использовались. Таким образом, адресное пространство GROM составляло 48 Кбайт.

Дак вот. Бэйсик, использовавшийся в этом компьютере, был написан на языке GPL и записан в микросхему GROM, установленную внутри компьютера. То есть, интерпретатор Бэйсика сам написан на интерпретаторе! Двойная интерпретация.

Программа, написанная на Бэйсике, хранится в видео памяти. Доступ к ней возможен только через медленные порты ввода вывода.

И получаются страшные тормоза...

Из-за сложности и медленности растровой графики, встроенный Бэйсик и "Extended BASIC" на картридже не имели команд рисования точек, линий, кругов, закраски.

Интересной особенностью встроенного Бэйсика был знакогенератор, где 160 символов были пустыми, а строчные буквы выглядели как заглавные.

Эмулятор и игры: [url]http://www.harmlesslion.com/cgi-bin/onesoft.cgi?10[/url]
Очень много информации: [url]http://www.mainbyte.com/ti99/[/url]
Страница на народе: [url]http://ti99-4a.narod.ru/[/url]
Метки: Нет Добавить / редактировать метки
Категории
Без категории

Комментарии

  1. Аватар для MacBuster
    На мой взгляд самым интересным в TI99/4 можно считать центральный процессор, у которого нет указателя стека, но система команд позволяет менять содержимое некоторых регистров, указав адрес памяти откуда будут загружены новые значения (и сохранены старые). А так же возможность выполнить произвольную команду по указанному адресу при этом не прерывая течения выполнения основной программы, благодаря чему можно сделать своего рода интерпретатор байт-кода - записывая вместо самих команд только адреса выполняющих их подпрограмм.

    Так же стоит отметить, что компания TI разрабатывала и собиралась выпустить несколько новых моделей со схожей архитектурой, как упрощенных - TI99/2 подешевле (только ч/б изображение, без звука, конкурент ZX81), - так и заметно развитых - TI99/6 и TI99/8 - в которые встроили все что можно было (периферия, синтезатор речи и памяти до 15 мегабайт).

    Возможно это совпадение, но при определенной фантазии можно усмотреть некоторые общие черты во внешности TI99/4A (оригинальной модели в алюминиевом корпусе) и небезызвестного автомобиля DeLorean из фильма «Назад в будущее».
    Обновлено 25.08.2016 в 20:04 MacBuster