ZX81

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
ZX81
Sinclair ZX81
Тип Домашний компьютер
Выпущен 1981
Выпускался по 1983
Процессор Z80 (на большинстве машин стоял аналог — NEC μPD780C-1)
Память 1 КБ (с возможностью расширения до 64 КБ)
ОС Sinclair BASIC
Логотип ZX81
ZX81 в виде набора для сборки
Блок расширения ОЗУ на 16 КБ, вставлялся в разъём на задней стенке
Печатающее устройство ZX Printer, простой искровой принтер с использованием алюминизированной бумаги.

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 фунтов, модуль 16K ОЗУ — £49,99, принтер — £49,99).

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

Общее описание[править | править вики-текст]

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

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

Расширение памяти[править | править вики-текст]

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

Тем не менее, было множество игр и приложений, работающих в минимальных 1 КБ, включая игру «Шахматы».

«Медленный» и «быстрый» режимы[править | править вики-текст]

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

Другие особенности[править | править вики-текст]

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

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

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

Техническое описание[править | править вики-текст]

Плата ZX81 (первый выпуск)

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

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

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


Примечания[править | править вики-текст]

  1. ZX-82 will be around soon (англ.) — статья в Sinclair User, май 1982.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]