ZX Spectrum
Фирменный ZX Spectrum 48 (1982 г.)
Тип домашний компьютер
Производи­тель Sinclair Research
Выпущен 23 апреля 1982 года
Выпускался по 1992 год[1]
Процессор Z80 на частоте 3,5 МГц
Память 16 / 48 / 128 КБ
Устройства хранения данных аудиокассета, дискета
ОС Sinclair BASIC
Предшественник ZX81
Наследник QL
Commons-logo.svg ZX Spectrum на Викискладе

ZX Spectrum — 8-разрядный[2] домашний компьютер, созданный английской компанией «Sinclair Research Ltd» на основе микропроцессора Zilog Z80. В ходе разработки компьютер назывался «ZX81 Colour» и «ZX82»[3], название «ZX Spectrum» должно было подчеркнуть одно из главных отличий от его предшественника ZX81 — цветное изображение. Почитатели этого компьютера часто называют его «Спекки» (англ. Speccy)[4].

В начале 1980-х «ZX Spectrum» был одним из самых популярных компьютеров в Европе, а его многочисленные клоны в начале 1990-х получили широкое распространение на территории бывшего СССР/СНГ. Благодаря невысокой цене, за первые 17 месяцев было продано более миллиона этих машин. Низкая стоимость компьютера была обусловлена рядом факторов: использованием технологии ULA, с помощью которой большая часть схемы размещалась в одном чипе; низкими техническими и пользовательскими характеристиками по сравнению с более дорогими компьютерами того времени; использованием бытового телевизора в качестве монитора и магнитофона в качестве внешнего накопителя[5].

В 1980-х основным соперником ZX Spectrum на европейском рынке был «Commodore 64». Другими важными конкурентами были 8-битные «Atari», «BBC Micro», «Amstrad CPC» и в некоторых странах MSX.

Технические особенности

«Sinclair ZX Spectrum» был представлен в апреле 1982 года в двух вариантах — с 16 и 48 килобайтами оперативной памяти[6].

Плата ZX Spectrum 48

«ZX Spectrum 48» имел ПЗУ объёмом в 16 Килобайт, в котором был «прошит» диалект языка Бейсик, так называемый Sinclair BASIC[7]. Эта же программа ПЗУ обеспечивала базовый ввод-вывод и пользовательский интерфейс. Системными процедурами (например, печатью на экран) можно было воспользоваться из машинного кода, вызвав их по абсолютным адресам[8]. Архитекторами компьютера была принята политика не изменять программу ПЗУ, несмотря на наличие в ней ошибок[9][10]. Расположение такой «операционной системы» и языка программирования в постоянной памяти обеспечивало перезагрузку компьютера за пару секунд, включая тестирование ОЗУ, и, что важно, уменьшало размер программ (программист мог использовать «стандартные» процедуры ПЗУ, не расходуя доступную оперативную память и не теряя при этом совместимость)[11].

Первая модель «ZX Spectrum» имела недорогую в производстве клавиатуру, состоявшую из 40 резиновых клавиш[6]. Характерной её особенностью была многофункциональность: алфавитно-цифровые клавиши имели до семи значений в различных режимах. При этом режим ввода отображался с помощью курсора. Такими режимами были:

  • L — для ввода строчных букв
  • C — для ввода заглавных букв
  • K — для ввода основных ключевых слов BASIC
  • E — для ввода дополнительных ключевых слов и операторов
  • и G — для ввода псевдографических, управляющих символов и символов, определённых пользователем.

Режим переключался как автоматически, так и с помощью управляющих клавиш Caps Shift и Symbol Shift. Например, в начале набора BASIC ждёт номер строки или команду, поэтому курсор находится в режиме K. Однократное нажатие клавиши «G» в таком режиме приводит к автоматическому вводу оператора GO TO. После этого курсор переходит в режим L и позволяет набрать число, имя переменной по буквам или математическое выражение (в том числе с помощью режима Е)[12]. Более поздние модели (начиная с «ZX Spectrum 128») позволяли в качестве альтернативы набирать команды языка по буквам[13].

Скриншот, показывающий все 15 доступных цветов: 8 различных цветов при двух уровнях яркости, чёрный цвет одинаковый при обоих уровнях.

Не менее характерным был единственный графический режим компьютера при отсутствии текстового. Цвета (8 цветов и два уровня яркости, плюс атрибут мерцания) и собственно графика хранились в разных участках памяти[14]. При этом, хотя графическое разрешение составляло 256×192 точек, цветовые атрибуты задавались по знакоместам. Каждое знакоместо размером 8×8 пикселей могло иметь только два приписанных ему цвета (называемые цветами «чернил» и «бумаги» в Sinclair BASIC) и по одному атрибуту яркости и мерцания[15]. Таким образом, область 8×8 пикселей кодировалась 9 байтами ОЗУ (8 байт — побитовая картинка 8×8 пикселей, 1 байт — атрибуты цвета: 3 бита — цвет знака, 3 бита — цвет фона, 1 бит повышенной яркости и 1 бит мерцания знакоместа). Такая организация вызывала определённые сложности (конфликт атрибутов) при создании компьютерной графики[16]. С другой стороны, малый объём экранной памяти (около 7 КБ) позволял быстрее обновлять экран и увеличивать долю ОЗУ, используемую собственно программой[16], что было существенно для компьютерных игр. Кроме того, особая организация графического режима позволяла существенно оптимизировать вывод текста при отсутствии текстового режима[17].

Первые модели «ZX Spectrum» имели встроенный динамик, осуществлявший однобитный выход звука[18]. Воспроизведение музыки, особенно многоголосной, требовало использования почти всего времени процессора, так как звук полностью генерировался программно[19]. В модели «ZX Spectrum 128» была добавлена микросхема звукогенератора AY-3-8912, позволяющая воспроизводить трёхканальный звук без больших затрат процессорного времени[20][21]. Подключение этой микросхемы также было возможно и для моделей с объёмом памяти 48 КБ[22][23][24].

Модели

ZX Spectrum+ (1984)
ZX Spectrum 128K (1986)

Модели Sinclair Research

Оригинальные модели «ZX Spectrum», выпущенные «Sinclair Research»:

  • ZX Spectrum 16K/48K (1982)
  • ZX Spectrum+ (1984)
  • ZX Spectrum 128 (1986)

Аппаратную часть ZX Spectrum 16K/48K разработал Ричард Альтвассер (Richard Altwasser) из «Sinclair Research», корпус машины был создан промышленным дизайнером Риком Дикинсоном (Rick Dickinson)[9]. Программное обеспечение для нового компьютера разработал Стив Викерс (Steve Vickers) по контракту с компанией «Nine Tiles Ltd», в которой был создан «Sinclair BASIC»[7]. Модель имела резиновые клавиши, миниатюрный корпус и характерный логотип в виде спектра[6]. Компьютер был выпущен на рынок в 1982 году по цене в 125 фунтов за модель с 16 КБ ОЗУ и 175 фунтов — за модель с 48 КБ; эти цены позже были снижены до 99,95 и 129,95 фунтов соответственно[9]. Владельцы модели с 16 КБ памяти могли приобрести обновление на 32 КБ; для обновления пользователи могли выслать свой «Spectrum» в «Sinclair Research» по почте[6][25]. Сторонние фирмы также предлагали ОЗУ-модуль на 32 КБ, подключаемый в порт расширения[26][27].

С июня 1984 года разработчики готовили ZX Spectrum+, который был выпущен в октябре того же года[9]. Это был «Spectrum» c 48 КБ памяти, обновлённым корпусом и клавиатурой; на корпусе появилась кнопка сброса[28]. Довольно быстро новая модель стала продаваться вдвое лучше предыдущей[29]; тем не менее, некоторые продавцы заявляли о высоком проценте поломок[30].

«Sinclair Research» разрабатывала ZX Spectrum 128 совместно со своим испанским дистрибьютором «Investrónica»[31]. «Investrónica» помогла адаптировать «ZX Spectrum+» к испанскому рынку после того, как испанское правительство обложило особым налогом все компьютеры с памятью в 64 КБ и ниже, не поддерживающие испанский язык[32]. Новая модель содержала 128 КБ ОЗУ, трёхканальный звук через AY-3-8912, совместимость с MIDI, порт RS-232, RGB-выход на монитор, а также 32 КБ ПЗУ с улучшенным Бейсик-редактором[20]. Машина была впервые представлена и запущена в продажу в сентябре 1985 года в Испании[31]. В Великобритании, из-за наличия большого числа нераспроданных «Spectrum+», продажи были отложены до февраля 1986 года; начальная цена была установлена в £179,95[9].

Процессор Z80 имеет 16-разрядную шину адреса, что означает, что он может адресовать только 64 КБ памяти. Для доступа к дополнительным 80 КБ ОЗУ было внедрено переключение банков памяти (англ. bank switching), таким образом, вся оперативная память разделена на восемь страниц, каждая из которых может быть отображена в верхней части адресного пространства. Подобным образом реализовано переключение между новыми 16 КБ ПЗУ и оригинальными 16 КБ ПЗУ в нижней части адресного пространства[21].

Для использования новых звуковых возможностей в «Sinclair BASIC» появилась инструкция PLAY, а с помощью новой инструкции SPECTRUM компьютер переключался в режим «Spectrum 48K»[20]. Новые инструкции заняли место двух существующих символов, определяемых пользователем[33], что вызвало проблемы совместимости с некоторыми старыми бейсик-программами.

Модели Amstrad

ZX Spectrum +2 (1986)
ZX Spectrum +3 (1987)
ZX Spectrum +2A

Модели «ZX Spectrum», выпущенные компанией «Amstrad» после передачи прав на всю линию машин:

  • ZX Spectrum +2 (1986)
  • ZX Spectrum +3 (1987)
  • ZX Spectrum +2A / +2B (1987)

В 1986 году, вскоре после приобретения бренда «Sinclair» и прав на всю линейку «Spectrum»,[34] компания «Amstrad» выпустила ZX Spectrum +2. Машина имела серый корпус с пружинной клавиатурой, двумя портами джойстиков, а также встроенным кассетным магнитофоном, именуемым «Datacorder» (как в «Amstrad CPC 464»), но в остальном машина была полностью идентична «ZX Spectrum 128». Цена производства была снижена, в результате чего розничные цены упали до £139–£149.

Новая клавиатура не имела надписей с ключевыми словами BASIC, за исключением LOAD, CODE и RUN, которые были нужны для запуска программ, но это не было большой проблемой, поскольку в «+2» имелась система меню, подобная меню в «ZX Spectrum 128», где можно было переключаться между старым BASIC 48K и BASIC 128K с набором ключевых слов побуквенно[35].

ZX Spectrum +3 выглядел подобно модели «+2», но вместо магнитофона содержал привод 3-дюймовых гибких дисков (как в «Amstrad CPC 6128»); корпус был чёрного цвета. Модель была выпущена в 1987 году с начальной ценой в £249, которая позже упала до £199[36][37]. Это был первый «Spectrum», способный запускать операционную систему CP/M без дополнительного оборудования[38].

В «+3» появилось ещё 2 × 16 КБ ПЗУ, в виде одного чипа на 32 КБ. Половину этого объёма заняла вторая часть реорганизованного 128 ROM, вторую половину — дисковая операционная система +3DOS, которая по сути являлась изменённой версией AMSDOS. Для возможности использования других операционных систем механизм переключения банков памяти был изменён таким образом, что ОЗУ могло отображаться на все 64 КБ адресного пространства. Такие коренные изменения привели к ряду несовместимостей, некоторые игры для 48K и несколько игр для 128K перестали работать на новой машине[37][39].

«ZX Spectrum +3» стал последней официальной моделью «Spectrum», которая пошла в серию; производство модели продолжалось до декабря 1990 года. Хотя в то время продажи «Spectrum» составляли треть продаж всех домашних компьютеров, «Amstrad» прекратила производство в попытке перевести потребителей на линейку «CPC»[40].

ZX Spectrum +2A был сделан для того, чтобы линейка машин стала более однородной. На корпусе по-прежнему была надпись «ZX Spectrum +2», но цвет корпуса вновь стал чёрным, как у первых моделей. «+2A» был сделан на основе «+3», с моделью ПЗУ 4.1 и с материнской платой, на которой было значительно уменьшено количество чипов — большинство из них было интегрировано в ASIC-микросхему. Привод диска и оборудование для него из модели «+3» был заменён на кассетный привод, как в оригинальном «+2». Первоначально «Amstrad» планировала вывести интерфейс для диска, но это так и не было сделано. Как и в случае с «ZX Spectrum +3», некоторые игры для 48K и несколько игр для 128K были несовместимы с этой моделью[источник не указан 567 дней].

Позже, в 1987 году, появление ZX Spectrum +2B означало перевод производства из Гонконга в Тайвань.

Модели, не вышедшие на рынок

В 1983 году Мартин Бреннан (Martin Brennan) разрабатывал в Sinclair Research игровую приставку LC3 (Low Cost Colour Computer), реализованную всего на двух микросхемах, с играми на картриджах. Стив Берри (Steve Berry) разрабатывал для LC3 многозадачную операционную систему с оконным графическим интерфейсом. Проект был остановлен в ноябре 1983 года — усилия были направлены на Sinclair QL[41].

В середине 1980-х в Sinclair Research разрабатывался проект Loki[42], в качестве намного более дешёвого (около £200) конкурента компьютера Amiga. Предполагалось, что Loki будет работать на Z80H на частоте 7 МГц, располагать не менее 128 КБ ОЗУ. Для звука и видео использовались две специализированные микросхемы. Проект был закрыт в 1986 году, после сделки с Amstrad.

Периферия

ZX Printer
Kempston joystick interface

«Sinclair» предоставляла для «ZX Spectrum» следующие модули расширения:

  • ZX Printer — уже был доступен к моменту выхода «ZX Spectrum» на рынок, поскольку порт расширения сохранял обратную совместимость с портом ZX81.
  • ZX Interface 1 — модуль, включающий 8 КБ ПЗУ, последовательный порт RS-232, контроллер локальной сети (ZX Net), а также интерфейс для подсоединения до восьми ZX Microdrive.
  • ZX Interface 2 — модуль с двумя портами для джойстиков и одним портом для картриджа ПЗУ.
  • ZX Microdrive — не особенно надёжное, но быстрое устройство хранения на картриджах с закольцованной плёнкой, выпущено в июле 1983 года[43].
  • Keypad — дополнительная цифровая клавиатура для модели 128K.

Помимо этого, предлагался ряд расширений от сторонних производителей, в частности:

  • Kempston joystick — интерфейс для подключения джойстика.
  • Morex Peripherals Centronics/RS-232 — параллельный и последовательный порт.
  • Currah Microspeech — модуль синтеза речи.
  • Videoface Digitiser — дигитайзер.
  • RAM pack — модуль расширения оперативной памяти.
  • Cheetah Marketing SpecDrum — ударная установка.
  • Multiface — отладочный инструмент от компании Romantic Robot.

Также пользовались популярностью клавиатуры различных производителей[44].

Существовало несколько интерфейсов для подключения дисковода, в частности:

  • SPDOS (Abbeydale Designers/Watford Electronics, 1985)
  • KDOS (Abbeydale Designers/Kempston, 1985) — обновлённая версия SPDOS со своей операционной системой KDOS
  • Opus Discovery (Opus Supplies Ltd, 1985)
  • DISCiPLE (Miles Gordon Technology, 1987) — контроллер дисковода, содержащий также два порта джойстика, параллельный порт, интерфейс локальной сети и «волшебную кнопку».
  • Beta Disk Interface (Technology Research Ltd, 1984) и Beta 128 Disk Interface (1987)

На Западе наиболее популярным стал интерфейс DISCiPLE, в странах Восточной Европы и в России — Beta Disk Interface.

Производные и клоны

Timex Sinclair 2068
SAM Coupé

«Sinclair» лицензировала «Spectrum» американской компании «Timex». Её модели, порождённые от «Spectrum»:

  • Timex Sinclair 2068 (TS2068) — значительно более сложная машина, чем оригинальный «Spectrum»; добавился порт картриджа, звуковой чип AY-3-8912, а также улучшенная ULA с несколькими графическими режимами. Модель продавалась в основном в США, хотя почти идентичные версии распространялись в Португалии и Польше под названиями «Timex Computer 2068» (TC2068) и «Unipolbrit Komputer 2086» (UK2086).
  • Timex Computer 2048 — машина, очень похожая на «Spectrum», но с улучшенной ULA, позволяющей переключаться в другие графические режимы; продавалась только в Португалии.
  • Timex Sinclair 2048 — версия TS2068 с 16 КБ ОЗУ; не была выпущена на рынок.

В конце 1989 года в Великобритании компания «Miles Gordon Technology» (производитель периферии) выпустила компьютер «SAM Coupé» в качестве потенциального наследника «Spectrum», сохраняющего совместимость с ним. Однако, в то время «Commodore Amiga» и «Atari ST» уже вышли на рынок.

В Индии в 1986 году «Decibells Electronics» представила лицензированную версию «Spectrum+» под именем «db Spectrum+». До того, как в начале 1990-х прекратились продажи, было продано несколько тысяч машин.

Благодаря дешевизне и простоте конструкции широкое распространение получили «неофициальные» клоны «Spectrum» в бывшем СССР/СНГ сразу после спада «железного занавеса». Десятки вариантов компьютера выпускались на предприятиях и собирались радиолюбителями. Нелицензионные клоны производились также в Польше, Восточной Германии, Румынии, Чехословакии, Аргентине, Бразилии и ряде других стран.

В 2014–2015 годах компания «Retro Computers» выпускала консоли «ZX Vega»[45] и ZX Vega+[46], содержащие около 1000 лицензионных игр — редизайн «ZX Spectrum», предназначенный прежде всего для ретро-игроков.

Пресса

На Западе ZX Spectrum быстро получил широкую поддержку сообщества пользователей, появилось несколько специализированных журналов: Sinclair User (апрель 1982 года — апрель 1993 года[47]), Your Sinclair (с января 1984 года как Your Spectrum, с начала 1986 года по сентябрь 1993 года как Your Sinclair[48]) и Crash (февраль 1984 года — апрель 1992 года[49]). Первоначально они были ориентированы прежде всего на техническую часть, публиковали тексты программ и руководства по программированию; позже они стали почти полностью посвящены играм.

В СНГ выходило несколько сот наименований электронных журналов и газет[50], в том числе: Spectrofon (1994–1996, 23 выпуска)[51], «ZX-Format» (1995–1998, 9 выпусков)[52] и Adventurer (1995–2004, 15 выпусков)[53].

Печатные издания в СНГ[54]: