ZX Spectrum — 8-разрядныйСправочное пособие по процессору Z80. — Минск: УКИК «Центр», 1991. домашний компьютер, созданный британской компанией «Sinclair Research Ltd» на основе микропроцессора Zilog Z80. В ходе разработки компьютер назывался «ZX81 Colour» и «ZX82»specLOGO02 и specModel01 в фотоархиве Рика Дикинсона, название «ZX Spectrum» должно было подчеркнуть одно из главных отличий от его предшественника ZX81 — цветное изображение. Почитатели этого компьютера часто называют его «Спекки» ().
В начале 1980-х «ZX Spectrum» был одним из самых популярных компьютеров в Европе, а его многочисленные клоны в начале 1990-х получили широкое распространение на территории бывшего СССР/СНГ. Благодаря невысокой цене за первые 17 месяцев было продано более миллиона этих машин. Низкая стоимость компьютера была обусловлена рядом факторов: использованием технологии , с помощью которой большая часть схемы размещалась в одном чипе, низкими техническими и пользовательскими характеристиками по сравнению с более дорогими компьютерами того времени, использованием бытового телевизора в качестве монитора и магнитофона в качестве внешнего накопителя.
В 1980-х основным соперником ZX Spectrum на европейском рынке был «Commodore 64». Другими важными конкурентами были 8-битные «Atari», «BBC Micro», «Amstrad CPC» и в некоторых странах MSX.
Технические особенности «Sinclair ZX Spectrum» был представлен в апреле 1982 года в двух вариантах — с 16 и 48 килобайтами оперативной памяти.
«ZX Spectrum 48» имел ПЗУ объёмом в 16 килобайт, в котором был «прошит» диалект языка Бейсик, так называемый Sinclair BASIC. Эта же программа ПЗУ обеспечивала базовый ввод-вывод и пользовательский интерфейс. Системными процедурами (например, печатью на экран) можно было воспользоваться из машинного кода, вызвав их по абсолютным адресам. Архитекторами компьютера была принята политика не изменять программу ПЗУ, несмотря на наличие в ней ошибокРяд ошибок приводится в тексте The Complete Spectrum ROM Disassembly; в описании Spectrum +4 ROM говорится об исправлении 14 ошибок.. Расположение такой «операционной системы» и языка программирования в постоянной памяти обеспечивало перезагрузку компьютера за пару секунд, включая тестирование ОЗУ, и, что важно, уменьшало размер программ (программист мог использовать «стандартные» процедуры ПЗУ, не расходуя доступную оперативную память и не теряя при этом совместимость).
Первая модель «ZX Spectrum» имела недорогую в производстве клавиатуру, состоявшую из 40 резиновых клавиш. Такая клавиатура мешала быстро печатать — отсюда, по распространённому мнению, произошли пять режимов ввода интерпретатора Бейсика, экономившие нажатия. Режим ввода отображался с помощью курсора. Такими режимами были: — для ввода строчных букв — для ввода заглавных букв — для ввода основных ключевых слов BASIC, в этом режиме ключевые слова вводятся одним нажатием клавиши — для ввода дополнительных ключевых слов и операторов и — для ввода псевдографических, управляющих символов и символов, определённых пользователем. Режим переключался как автоматически, так и с помощью управляющих клавиш и . Например, в начале набора BASIC ждёт номер строки или команду, поэтому курсор находится в режиме . Однократное нажатие клавиши в таком режиме приводит к автоматическому вводу оператора . После этого курсор переходит в режим и позволяет набрать число, имя переменной по буквам или математическое выражение (в том числе с помощью режима ). Более поздние модели (начиная с «ZX Spectrum 128») позволяли в качестве альтернативы набирать команды языка по буквам.
Не менее характерным был единственный аппаратный графический режим компьютера при отсутствии текстового. Цвета (8 цветов и два уровня яркости, плюс атрибут мерцания) и собственно графика хранились в разных участках памяти. При этом, хотя графическое разрешение составляло 256×192 точек, цветовые атрибуты задавались по знакоместам. Каждое знакоместо размером 8×8 пикселей могло иметь только два приписанных ему цвета (называемые цветами «чернил» и «бумаги» в Sinclair BASIC) и по одному атрибуту яркости и мерцания. Таким образом, область 8×8 пикселей кодировалась 9 байтами ОЗУ (8 байт — побитовая картинка 8×8 пикселей, 1 байт — атрибуты цвета: 3 бита — цвет знака, 3 бита — цвет фона, 1 бит повышенной яркости и 1 бит мерцания знакоместа). Такая организация вызывала определённые сложности (конфликт атрибутов) при создании компьютерной графики. С другой стороны, малый объём экранной памяти (около 7 КБ) позволял быстрее обновлять экран и увеличивать долю ОЗУ, используемую собственно программой, что было существенно для компьютерных игр. Кроме того, особая организация графического режима позволяла существенно оптимизировать вывод текста при отсутствии текстового режима.
Программистам ZX Spectrum удавалось обойти ограничения стандартного аппаратного видеорежима, и были разработаны программные видеорежимы, такие как GigaScreen, 3xColor, MultiColor и другие.
Первые модели «ZX Spectrum» имели встроенный динамик, осуществлявший однобитный выход звука. Воспроизведение музыки, особенно многоголосной, требовало использования почти всего времени процессора, так как звук полностью генерировался программно . В модели «ZX Spectrum 128» была добавлена микросхема звукогенератора AY-3-8912, позволяющая воспроизводить трёхканальный звук (плюс канал шума и огибающей) без больших затрат процессорного времени. Подключение этой микросхемы также было возможно и для моделей с объёмом памяти 48 КБ.
Модели
Модели 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). Программное обеспечение для нового компьютера разработал Стив Викерс (Steve Vickers) по контракту с компанией «Nine Tiles Ltd», в которой был создан «Sinclair BASIC». Модель имела резиновые клавиши, миниатюрный корпус и характерный логотип в виде спектра. Компьютер был выпущен на рынок в 1982 году по цене в 125 фунтов за модель с 16 КБ ОЗУ и 175 фунтов — за модель с 48 КБ; эти цены позже были снижены до 99,95 и 129,95 фунта, соответственно. Владельцы модели с 16 КБ памяти могли приобрести обновление на 32 КБ; для обновления пользователи могли выслать свой «Spectrum» в «Sinclair Research» по почте. Сторонние фирмы также предлагали ОЗУ-модуль на 32 КБ, подключаемый в порт расширения.
С июня 1984 года разработчики готовили ZX Spectrum+, который был выпущен в октябре того же года. Это был «Spectrum» c 48 КБ памяти, обновлённым корпусом и клавиатурой; на корпусе появилась кнопка сброса. Довольно быстро новая модель стала продаваться вдвое лучше предыдущей; тем не менее некоторые продавцы заявляли о высоком проценте поломок.
«Sinclair Research» разрабатывала ZX Spectrum 128 совместно со своим испанским дистрибьютором «Investrónica». «Investrónica» помогла адаптировать «ZX Spectrum+» к испанскому рынку после того, как испанское правительство обложило особым налогом все компьютеры с памятью в 64 КБ и ниже, не поддерживающие испанский язык. Новая модель содержала 128 КБ ОЗУ, трёхканальный звук через AY-3-8912, а также бипер, способный выводить программно синтезируемый двухканальный звук одновременно с AY-3-8912, что в целом обеспечивало 5 каналов, совместимость с MIDI, порт RS-232, RGB-выход на монитор, а также 32 КБ ПЗУ с улучшенным Бейсик-редактором. Машина была впервые представлена и запущена в продажу в сентябре 1985 года в Испании. В Великобритании, из-за наличия большого числа нераспроданных «Spectrum+», продажи были отложены до февраля 1986 года; начальная цена была установлена в £179,95.
Процессор Z80 имеет 16-разрядную шину адреса, что означает, что он может адресовать только 64 КБ памяти. Для доступа к дополнительным 80 КБ ОЗУ было внедрено переключение банков памяти (), таким образом, вся оперативная память разделена на восемь страниц, каждая из которых может быть отображена в верхней части адресного пространства. Подобным образом реализовано переключение между новыми 16 КБ ПЗУ и оригинальными 16 КБ ПЗУ в нижней части адресного пространства.
Для использования новых звуковых возможностей в «Sinclair BASIC» появилась инструкция PLAY, а с помощью новой инструкции SPECTRUM компьютер переключался в режим «Spectrum 48K». Новые инструкции заняли место двух существующих символов, определяемых пользователем, что вызвало проблемы совместимости с некоторыми старыми бейсик-программами.
Модели Amstrad
Модели «ZX Spectrum», выпущенные компанией «Amstrad» после передачи прав на всю линию машин: ZX Spectrum +2 (1986) ZX Spectrum +3 (1987) ZX Spectrum +2A / +2B (1987)
В 1986 году, вскоре после приобретения бренда «Sinclair» и прав на всю линейку «Spectrum», компания «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 с набором ключевых слов побуквенно.
ZX Spectrum +3 выглядел подобно модели «+2», но вместо магнитофона содержал привод 3-дюймовых гибких дисков (как в «Amstrad CPC 6128»); корпус был чёрного цвета. Модель была выпущена в 1987 году с начальной ценой в £249, которая позже упала до £199. Это был первый «Spectrum», способный запускать операционную систему CP/M без дополнительного оборудования.
В «+3» появилось ещё 2 × 16 КБ ПЗУ в виде одного чипа на 32 КБ. Половину этого объёма заняла вторая часть реорганизованного 128 ROM, вторую половину — дисковая операционная система +3DOS, которая по сути являлась изменённой версией AMSDOS. Для возможности использования других операционных систем механизм переключения банков памяти был изменён таким образом, что ОЗУ могло отображаться на все 64 КБ адресного пространства. Такие коренные изменения привели к ряду несовместимостей, некоторые игры для 48K и несколько игр для 128K перестали работать на новой машине.
«ZX Spectrum +3» стал последней официальной моделью «Spectrum», которая пошла в серию; производство модели продолжалось до декабря 1990 года. Хотя в то время продажи «Spectrum» составляли треть продаж всех домашних компьютеров, «Amstrad» прекратила производство в попытке перевести потребителей на линейку «CPC».
ZX Spectrum +2A был сделан для того, чтобы линейка машин стала более однородной. На корпусе по-прежнему была надпись «ZX Spectrum +2», но цвет корпуса вновь стал чёрным, как у первых моделей. «+2A» был сделан на основе «+3», с моделью ПЗУ 4.1 и с материнской платой, на которой было значительно уменьшено количество чипов — большинство из них было интегрировано в ASIC-микросхему. Привод диска и оборудование для него из модели «+3» был заменён на кассетный привод, как в оригинальном «+2». Первоначально «Amstrad» планировала вывести интерфейс для диска, но это так и не было сделано. Как и в случае с «ZX Spectrum +3», некоторые игры для 48K и несколько игр для 128K были несовместимы с этой моделью.
Позже, в 1987 году, появление ZX Spectrum +2B означало перевод производства из Гонконга в Тайвань.
Модели, не вышедшие на рынок