ZX81

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
ZX81
Тип Домашний компьютер
Разработчик Sinclair Research
Производи­тель Timex[вд]
Дата выпуска 1981
Выпускался по 1983
Процессор Z80 (на большинстве машин стоял аналог — NEC μPD780C-1)
Оперативная память 1 КБ (с возможностью расширения до 64 КБ)
ОС Sinclair BASIC
Масса 350 г
Предшественник ZX80
Наследник ZX Spectrum
Логотип Викисклада Медиафайлы на Викискладе
Логотип ZX81
ZX81 в виде набора для сборки

Sinclair ZX81 — персональный компьютер, выпущенный компанией Sinclair Research в 1981 г. Эта модель последовала за ZX80 и явилась предшественником ZX Spectrum. Sinclair ZX81 является первым домашним компьютером по цене менее 50 фунтов (в виде набора для самостоятельной сборки).

Характерный вид этой модели в корпусе чёрного цвета с мембранной клавиатурой являлся работой промышленного дизайнера Рика Дикинсона. Как и у ZX80, видеовыход был в формате телевизионного сигнала, для подключения к домашнему телевизору. Запись и считывание программ производились со стандартного домашнего кассетного магнитофона. Историческая важность этой модели состоит в том, что это был первый домашний компьютер, стоивший менее 100 долларов США (в виде комплекта радиодеталей для сборки), что привело к большому объёму продаж. Компания Timex выпустила американскую версию этого компьютера под названием «Timex Sinclair 1000».

Первоначально машина поставлялась по почтовому заказу в форме набора для самостоятельной сборки по цене 49,95 фунта либо в виде готового собранного изделия по цене 69,99 фунта, но позже ZX81 и все аксессуары продавались через сеть розничной торговли W.H.Smith (ZX81 стоил 69,99 фунта, модуль 16 K ОЗУ — 49,99 £, принтер — 49,99 £)[1].

В апреле 1982 года, к началу продаж ZX Spectrum, общий объём продаж ZX81 подходил к 400 000 экземпляров.[2]

Общее описание

[править | править код]

Как и в ZX80, использовался процессор фирмы NEC совместимый с Zilog Z80, работающий на частоте 3,25 МГц. Схематика основной платы была переработана, и теперь на ней было всего 4 или 5 микросхем: микропроцессор Z80A, ПЗУ, одна или две микросхемы ОЗУ и заказная микросхема матричной логики ULA (заменяющая 17 микросхем дискретной логики ZX80). Объём системного ПЗУ вырос до 8 КБ, встроенный Sinclair BASIC теперь поддерживал арифметику с плавающей точкой. Позднее компания предлагала эту версию ПЗУ в качестве обновления для модели ZX80.

В базовом комплекте системы было всего 1 КБ ОЗУ. Эта память использовалась для хранения системных переменных, образа экрана, программ и данных. Экран был только текстовым — 24 строки по 32 символа. Графика имитировалась 16 символами псевдографики, что позволяло имитировать графический режим 64 × 48 точек. Для экономии памяти буфер экрана хранил не все символы строки, а только минимальную её часть: если в строке было только 12 символов, то хранились только эти 12, плюс символ переноса строки, остальная часть строки считалась пустой. Используя эту особенность, при экономии памяти старались использовать только левую верхнюю часть экрана. Кроме того — также для экономии памяти — ключевые слова языка Бейсик записывались в виде однобайтных токенов.

«Медленный» и «быстрый» режимы

[править | править код]

В ZX80 и ZX81 в формировании видеосигнала участвовал процессор Z80. В ZX80, когда программа запускалась — экран гас, и показывался вновь только при очередной паузе для ввода данных. Улучшение ZX81 над ZX80 было в том, что ZX81 имел уже два режима работы. «Быстрый» режим был аналогичен работе ZX80, когда экран гасился при работе программы. В «медленном» режиме программа исполнялась только в то время, когда электронный луч кинескопа пробегал пустые области над и под изображением, в результате чего программа работала медленнее примерно в четыре раза. Поскольку цикл FOR-NEXT от 1 до 1000 занимал 19 секунд, обычно машина использовалась в «быстром» режиме всё время, даже при редактировании программы, из-за чего экран мигал при вводе каждого символа.

Другие особенности

[править | править код]
Набор символов ZX81

Вместо ASCII использовалась собственная кодировка символов. Символ 0 был пробелом, 1—10 — символы блочной графики, 11—63 — знаки пунктуации, цифры и заглавные буквы латинского алфавита. Символы с кодами 128—191 были инверсным вариантом первых 64 символов. Остальные коды были зарезервированы под ключевые слова языка BASIC и служебные символы, такие как конец строки. Строчные буквы в этой кодировке не были представлены.

Каждая клавиша клавиатуры несла до трех значений, в зависимости от нажатия клавиш Shift, или входом в режим рисования блочной графики. При загрузке программы с кассеты на видеовыход повторялся входной сигнал, который выглядел в виде бегущих полос.

Поскольку в формировании видеосигнала участвовал процессор, исполняющий программу в ПЗУ, была возможность перекрыть процедуру обработки прерывания и генерировать видеосигнал самому. В нескольких играх это использовалось для формирования изображения «высокого разрешения» (имелось в виду разрешение 256×192 вместо обычного 64×48), в основном это были игры компании «Software Farm».

Техническое описание

[править | править код]
Плата ZX81 (первый выпуск)

Техническая реализация ZX81 была довольно оригинальной для того времени, когда самого понятия «домашний компьютер» ещё не существовало.

ZX81 состоял из четырёх либо пяти микросхем (в зависимости от типа ОЗУ): центрального процессора, ПЗУ, ОЗУ и микросхемы логики. ПЗУ занимало адреса 0-8191 (но также и адреса 8192-16383 — так уж был устроен декодер адреса). 1 КБ ОЗУ (2 КБ в Timex) располагался с адреса 16384 (но также повторялся до адреса 32767). Линия A15 использовалась при формировании изображения, поэтому верхние 32 КБ адресного пространства были недоступны для выполнения кода, но могли использоваться для хранения данных. Пока было установлено менее 16 КБ ОЗУ, верхние 32 КБ адресов дублировали то же что и нижние 32 КБ.

Образ экрана, хранимый в ОЗУ, имел нефиксированный размер — он мог быть уменьшен или увеличен в зависимости от объёма доступной памяти. Знакогенератор (образы символов) хранился в верхних 512 байтах ПЗУ.

Периферия и расширение

[править | править код]

Расширение памяти

[править | править код]

Но несмотря на все ухищрения, свободной памяти было слишком мало. Поэтому компанией предлагался блок расширения ОЗУ объёмом 16 КБ (по цене в 100 долл. США). В 1982 году появились блоки расширения на 32 КБ и 64 КБ. Блок расширения подключался непосредственно к основной плате, в задней части корпуса (причём, к блоку расширения на 16 КБ можно было подключить ещё один блок на 16 или 32 Кб); контакт с платой был ненадёжным — случайно задев блок расширения, можно было потерять результат нескольких часов работы. Тем не менее, было множество игр и приложений, работающих в минимальных 1 КБ, включая игру «Шахматы».

Примечания

[править | править код]
  1. Retroinspection Sinclair ZX81 (англ.) // Retro Gamer : journal. — Imagine Publishing[англ.], 2007. — No. 45. — P. 70-73.
  2. ZX-82 will be around soon Архивировано 30 декабря 2008 года. (англ.) — статья в Sinclair User, май 1982.