cybersecurity.ru

23 апреля 20 ле исполнилось первому популярному "домашнему" компьютеру - ZX Spectrum, выпущенному в 1982 году английской компанией Sinclair Research на основе микрочипа Z80, сообщает CyberSecurity.ru.

В качестве монитора компьютер использовал обыкновенный бытовой телевизор, а в качестве внешнего накопителя - обычные кассеты для магнитофона. Этим, а также использованием технологии ULA (Uncommitted Logic Array), с помощью которой большая часть схемы размещалась в одном чипе, была обусловлена низкая стоимость компьютера и его огромная популярность.

В начале 1980-х годов 8-разрядный ZX Spectrum был одним из самых популярных компьютеров в Европе, а его многочисленные клоны в начале 1990-х получили широкое распространение на территории бывшего СССР и в Юго-Восточной Азии. Благодаря невысокой цене за первые 17 месяцев было продано более 1 млн этих машин.

Изначально Sinclair ZX Spectrum был представлен в двух вариантах - с 16 и 48 КБ оперативной памяти. ZX Spectrum 48 имел 16 КБ ПЗУ, в которые был прошит диалект языка Бейсик, так называемый Sinclair BASIC. Эта же программа ПЗУ обеспечивала базовый ввод-вывод и пользовательский интерфейс.

Системными процедурами (например, печатью на экран) можно было воспользоваться из машинного кода, вызвав их по абсолютным адресам. Архитекторами компьютера была принята политика не изменять программу ПЗУ, несмотря на наличие в ней ошибок. Расположение такой "операционной системы" и языка программирования в постоянной памяти обеспечивало перезагрузку компьютера за пару секунд, включая тестирование ОЗУ, и, что важно, уменьшало размер программ (программист мог использовать "стандартные" процедуры ПЗУ, не расходуя доступную оперативную память и не теряя при этом совместимость).

Цвета (8 цветов и два уровня яркости, плюс атрибут мерцания) и собственно графика хранились в разных участках памяти. При этом, хотя графическое разрешение составляло 256×192 точек, цветовые атрибуты задавались по знакоместам. Каждое знакоместо размером 8×8 пикселей могло иметь только два приписанных ему цвета (называемые цветами "чернил" и "бумаги" в Sinclair BASIC) и по одному атрибуту яркости и мерцания.

Таким образом, область 8×8 пикселей кодировалась 9 байтами ОЗУ (8 байт - побитовая картинка 8×8 пикселей, 1 байт - атрибуты цвета: 3 бита - цвет знака, 3 бита - цвет фона, 1 бит повышенной яркости и 1 бит мерцания знакоместа).
Малый объем экранной памяти (около 7 КБ) позволял быстрее обновлять экран и увеличить долю ОЗУ, используемую "собственно программой", что было существенно для компьютерных игр. Кроме того, особая организация графического режима позволяла сильно оптимизировать вывод текста при отсутствии текстового режима.

Первые модели ZX Spectrum имели однобитный выход звука через встроенный динамик. Воспроизведение музыки, особенно многоголосной, требовало использования почти всего времени процессора, так как звук полностью генерировался программно. В модели ZX Spectrum 128 была добавлена микросхема звукогенератора AY-3-8912, позволяющая воспроизводить трехканальный звук без больших затрат процессорного времени.