Обратите внимание, что новости можно получать по RSS.
X
-

Демосцена, Информационные технологии, История вычислительной техники и IT

8 сентября 2016, 18:29 (2788 дней назад) № 10259
И, наконец, про третью работу:

Однокилобайтное интро под названием Speechtro было написано мной для TI-99/4a вскоре после 99tro и представлено на DiHALT'2016 (где заняло первое место в 1kb low end intro).

В основе были две идеи:

1). Сделать что-то, использующее синтезатор речи (среди владельцев TI-99/4a он весьма распространён, а также хорошо поддержан эмуляторами - MESS/MAME и js99er).
2). Попытаться изобразить визуально большое число цветов с имитацией растровых эффектов.

После некоторых колебаний было решено обе идеи объединить в одну работу.

Речь использует слова, прошитые в ПЗУ синтезатора (так как в случае с прямым LPC сжатием в 1кб столько речи не влезло бы). Поскольку их в ПЗУ весьма немного, ушло порядочно времени, чтобы составить из имеющихся слов связную речь на подходящую тему. К сожалению паузы в словаре синтезатора не предусмотрено. В качестве паузы я использовал довольно случайный адрес, данные с которого звучат как "бульканье". Это во-первых, экономит и упрощает код, во-вторых звучит интереснее, чем просто тишина.

Что касается изображения, то первоначально хотелось попробовать реализовать растровые эффекты (меняя цвет фона в момент, когда луч идёт по нужной строке). Это оказалось технически невозможным, поэтому был выбран другой вариант - имитировать растровые эффекты через манипуляции с памятью атрибутов. В Graphics Mode 2 каждый блок 8x1 может иметь независимый цвет фона и цвет изображения, поэтому каждая полоска высотой в 1 пиксел может иметь разные цвета для фона и текста. Несмотря на то, что цветов всего 15 (а в полосках используется лишь 10), создаётся впечатление, что их гораздо больше.

Отдельные трудности вызвал вывод текста. Особенности конструкции TI-99/4a таковы, что ПЗУ (так называемый GROM) не отображается в адресное пространство процессора, поэтому данные для вывода шрифта извлекаются из GROM только последовательно (побайтно) - заданием начального адреса и чтением одной и той же ячейки памяти.
Выбранный набор "small caps" имеет только буквы A-Z (без цифр), что несложно заметить :)

Звёзды, как и ползущий наискосок баг, реализованы спрайтами 8x8.
В процессе проговаривания слов в двух линейках квадратиков отображается (условно) часть адреса текущего слова в ПЗУ синтезатора.
Опубликовано: Пётр Соболев

Эта заметка и комментарии к ней в Facebook: ссылка
(возможно, в Facebook она не будет вам доступна - видимость ограничена)

Случайная заметка

8995 дней назад, 03:2011 сентября 1999 Что творится в мире.. Здесь говорится что Motorola собирается использовать в своих пейджерах Java'y: Motorola plans to add Java support to its pagers within the next few months, and Shine said the company is working on financial services, like stock transactions. А здесь - что US Army переходит на Маки :) Army has moved its web sites to a more secure platform. The Army had been using Windows NT and is currently using Mac OS servers running WebSTAR web server software for its home page web ...далее

Избранное

2549 дней назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2061 день назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее