Архитектура и программирование компьютера 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, нет, просто я оперирую немного другими понятиями.

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

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