Архитектура и программирование Vectrex

— А видеовыход у него есть?
— И как ты себе это представляешь?
(из разговора о Vectrex)


Vectrex выпускался GCE в 1982 — 1983 гг. и представляет собой игровой компьютер (приставку) ключевая особенность которой, векторный дисплей, делает его одним из самых необычных и интересных 8-разрядных компьютеров. С некоторой натяжкой можно сказать, что он является упрощённой версией векторных игровых автоматов Cinematronics, технически более совершенных.

В качестве процессора в Vectrex используется Motorola 6809 — он похож на MOS 6502/6510, но добавлены 16-битные регистры, дополнительные режимы адресации, умножение.
Тактовая частота — 1.5MHz.

Поскольку компьютер был выпущен как игровая приставка и игры для него продавались на картриджах, программа размещается в ПЗУ картриджа (32 кб), а ОЗУ — совсем крохотное (1 кб — две штуки 2114) и предназначено больше для данных.
Также есть встроенное ПЗУ с BIOS'ом (8 кб — одна 2363), который включает набор подпрограмм для рисования векторов и вывода текста, несколько примитивных мелодий и даже одну игру — Minestorm (многим известную как Asteroids).

Звук реализован на чипе AY8912 (также используется в MSX2 и поздних ZX Spectrum) однако, кроме этого существует штатная возможность проигрывания 8-битного звука через ЦАП (практическое применение этого способа, впрочем, ограничено).

Vectrex выполнен в виде моноблока (включающего ЭЛТ экран), но клавиатура не предусмотрена в принципе. Управление осуществляется двумя джойстиками (в т.ч. аналоговыми). Кроме того, может быть подключено световое перо и очки 3D Imager.

С 1982 г. по нынешнее время для Vectrex написали примерно полторы сотни игр, несколько серьёзных программ (типа редакторов графики, музыки, анимации), а также около десятка демо и интро. Интересно, что более половины игр (и все демо) выпущены после 1995 года, т.е. через десятилетие после прекращения производства и поддержки Vectrex. Возрождение платформы связано, в первую очередь, с появлением хороших эмуляторов, которые сделали разработку доступной любому желающему. Сами компьютеры пока также вполне доступны на eBay.

Читать дальше →

Архитектура и программирование компьютера Texas Instruments TI-99/4a

Компьютер Texas Instruments TI-99/4a почти неизвестен за пределами США, однако он был там весьма популярен (выпущено более двух миллионов машин). Хотя этот компьютер создавался как домашний, существенной особенностью (во многом определившей его архитектуру, а затем и судьбу) было то, что за основу был взяли уже существовавший серьёзный мини-компьютер TI-990, собранный на обычной ТТЛ логике. Фактически, микропроцессор TMS9900 в компьютере TI99/4A является реализацией TI-990, но в виде чипа. TI-990 был выпущен в 1975 году, а TMS9900 в 1976 году.



Таким образом, TI99/4a (в 1979 был выпущен чуть более простой TI-99/4, а в 1981 уже TI-99/4a) получил в наследство крайне странную, для домашних компьютеров, архитектуру. Во-первых, микропроцессор TMS9900 в нём 16-разрядный — с честной 16-разрядной шиной данных (это в конце 1970-х!). Во-вторых, на чипе нет регистров (кроме PC, флагов и указателя «регистров» WP). То, что можно назвать регистрами, находится в отдельной микросхеме 16-разрядного статического ОЗУ размером 256 байт и может адресоваться одновременно как память и (первые 16 слов) как регистры R0..R15. Называется это «scratchpad».
Аппаратного стека нет, вместо этого сохранение значений при вызове подпрограмм осуществляется изменением указателя начала регистров WP в этом самом ОЗУ (напоминает регистровые окна в Sparc'ах). В предке (TI-990) это также использовалось для переключения контекста при реализации многозадачности.

Хотя тактовая частота TMS9900 — 3 МГц, инструкции занимают довольно много тактов — не менее 8. При этом реализовано даже умножение и деление (124 такта).

Читать дальше →

Формат записи программы Апогея БК-01 на магнитофон

Всем привет. Что-то нашло на меня, и я, полный сил и уверенности в себе, решил разобраться с апогеем. Первым делом возник вопрос с эмулятором. Мне посоветовали Emu80, в котором находятся аж сразу несколько эмуляторов советских ПЭВМ — Апогей БК-01, Партнер, ЮТ-88, Радио-86РК, Микроша и другие.

После первого запуска апогея я запустил демку моего друга Kakos_nonos — «This Is Apogey 2». Файл успешно считался при помощи использования команды «I», но Какос не любит считать контрольные суммы, поэтому после её проверки появился вопросик. Само видео запуска вы можете лицезреть ниже.



Читать дальше →

Levelup для компо и пати

Количество участников — показатель успеха

Люди, принимающие участие в пати делятся на зрителей и авторов работ. Чем больше зрителей, тем интереснее авторам, так как их работы увидит более широкая аудитория. Чем больше работ, тем интереснее зрителям. В конце-концов, любое компо — это прежде всего работы, их места и отзывы о работах. Задача организатора хорошего соревнования — это обеспечить высокое число работ (авторов) и зрителей.
Чем большее количество участников смог сорганизовать организатор компо без наступления бардака, тем выше показатель успешности мероприятия.

Читать дальше →

Mind games

mind games

Перед прочтением очень рекомендую ознакомиться со всем что написано в Breaking Bad — часть 1, Breaking Bad — часть 2 и Breaking Bad — часть 3

Предисловие
Рассуждая о форме и содержании мы часто забываем о таких понятиях, как идея и воображение. Мы пытаемся взглянуть на графическую сцену с точки зрения математики и скурпулёзно формализуем наши ощущения от работ. Если представить любую графическую работу как последовательность 6912 байт или матрицы 256x192 пиксела со своими законами распределения цвета, то этого достаточно. Но давайте взглянем на всё это с другой стороны. Это не значит, что я совершенно не согласен со всем написанным diver4d в статьях Breaking Bad, нет, просто я оперирую немного другими понятиями.

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

Читать дальше →