Какой процессор используется в zx spectrum
Решив заняться программированием, Вы рано или поздно пойме-
те, что написать действительно серьезную программу для ZX Spectrum
на Бейсике, Паскале и прочих языках «повышенного» уровня практиче-
ски невозможно. Все удобства, предоставляемые этими языками, сво-
дятся «на нет» низким быстродействием и большим объемом написан-
ных на них программ. Только работая непосредственно с командами
процессора, Вы сможете создавать программы, не уступающие фирмен-
ным. Но для этого необходимо серьезно изучить архитектуру
ZX Spectrum, систему команд процессора Z80, уметь пользоваться сред-
ствами написания и отладки программ в кодах.
Эта и последующие главы книги, в отличие от предыдущих,
рассчитаны на более подготовленного читателя. Однако мы старались
как можно доступнее излагать материал, кратко поясняя используемые
термины и не употребляя малопонятных выражений. Надеемся, что
даже неспециалисты, пользуясь сведениями, почерпнутыми из этого
раздела книги, смогут начать программировать на ассемблере, а про-
фессионалы получат в руки подробный справочник по ZX Spectrum.
ZX Spectrum ничем существенно
не отличается от строения других
компьютеров (рис. 9). Работой всех
устройств управляет центральный
процессор (ЦП). Он связан с осталь-
ными блоками компьютера через ши-
ны адреса, данных и управления. Па-
мять разделена на две области: ПЗУ
(постоянное запоминающее устройст-
во) объемом 16К и ОЗУ (оперативное
запоминающее устройство) — 48К. В
ПЗУ «зашита» операционная система
ZX Spectrum. Блокуправления внешни-
ми устройствами обеспечивает связь
процессора с клавиатурой, телевизо-
ром, магнитофоном и т. д.
*) Речь пойдет только о компьютерах, выпущенных фирмой Sinclair Re-
search Ltd. Архитектура остальных разновидностей ZX Spectrum, вклю-
чая машины фирм Amstrad и Timex, может несколько отличаться от
базовой модели. Кроме того, следует иметь ввиду, что на конфигурацию
ZX Spectrum могут влиять подключаемые к компьютеру периферийные
устройства.
Рис. 10. Структурная схема микропроцессора Z80.
Рис. 10. Структурная схема микропроцессора Z80.
Ность процессора при одновременном уменьшении размера программ.
Структурная схема Z80 (рис. 10) включает в себя: арифметико-логи-
ческое устройство (АЛУ), блок управления шиной данных, блок регистров, блок
управления адресной шиной, дешифратор команд и сигналов управления. Все
узды связаны внутренней шиной данных.
Для обращения процессора к памяти и внешним устройствам слу-
жит 16-разрядная шина адреса (ее разряды обозначаются от АО —- млад-
ший разряд до А15 — старший). Следовательно, процессор может непос-
редственно обратиться (в зависимости от обрабатываемой команды) либо
к 2" =65536 ячейкам памяти, либо к такому же количеству внешних
устройств (портов).
Sinclair Research и его роль в советской компьютерной революции
Оригинальная машина появилась в Великобритании на 4 года раньше, в апреле 1982 года и буквально сразу же завоевала внимание потребителей по всей Европе.
Как известно, невозможно создать что-то бюджетное из высококлассных материалов и компонентов. Клайва Синклера, основателя компании Sinclair Research, это совершенно не пугало. Он изначально не хотел создавать мощный компьютер для повседневных задач. Правда, чуть позже все-таки выпустил Sinclair QL, баги и плохой софт для которого заинтересовали в программировании юного Линуса Торвальдса.
Спектрум позиционировался чуть ли не в качестве учебной машины для детей от 12 лет. Отсюда и основные маркетинговые преимущества: дешевизна, компактность, минимальная комплектация и возможность расширить функционал за счет дополнительных устройств. В ПЗУ Спектрума размером 16 КБ была записана прошивка, включавшая в себя диалект бейсика (Sinclair basic) и предоставлявшая простой пользовательский интерфейс, функционал которого мог варьироваться в зависимости от версии компьютера.
Спектрум выпускался компанией Sinclair Research с 1982 по 1986 годы. Затем права были переданы компании Amstrad, но это уже совсем другая история в современном комьюнити любителей Спектрума эти модели считаются наименее «каноничными» и их тщательное рассмотрение займет неоправданно много времени.
Вернемся к продукту от Sinclair Research. Первые модели, самые дешевые и простые, представляли из себя прямоугольную коробочку черного цвета. На верхней грани находилась резиновая клавиатура, на задней — аудио и видео разъемы, гнездо питания и слоты для подключения периферии.
/ В такой коробке и поставлялся сабж
Отдельного внимания заслуживает клавиатура Спектрума: каждая из 40 кнопок в зависимости от режима ввода может выполнять разные функции. Пользователь мог включить нужный режим ввода с помощью нажатия на клавиши-модификаторы Symbol Shift и Caps Shift. В зависимости от выбранного режима курсор мог изменяться на латинские буквы L, C, K, E и G, которые, в свою очередь, означали следующее:
- L — ввод строчных букв
- C — ввод заглавных букв
- K — ввод ключевых слов BASIC
- E — ввод дополнительных ключевых слов и операторов
- G — ввод псевдографических, управляющих символов и символов, определённых пользователем (UDG).
Ввод данных в компьютер мог осуществляться через магнитофон, с помощью подключения внешних дисководов для магнитных дисков, а также с помощью устройства ZX Microdrive.
Таким образом, имея достаточно скромные возможности (к середине 80-х на рынок вышли Amiga 1000 и Atari ST), Спектрум обрел популярность и, без преувеличения, армию фанатов и поклонников по всему миру. Самой «продвинутой» моделью классической линейки можно считать ZX Spectrum 128 “Toastrack” 1986 года, обладавший, как и следует из названия, 128 КБ оперативной памяти, музыкальным сопроцессором AY и массой других преимуществ.
Что происходит в 2019 году?
Если вы никогда ранее не сталкивались со Спектрумом или видели его только в детстве, вы можете не знать о том, что сейчас происходит в его коммьюнити.
Оно все еще живо и многочисленно. В качестве хобби тысячи людей продолжают пользоваться Спектрумами: кто-то пересел на оригинальные британские машинки, кто-то отряхивает пыль с клона своей юности. Кто-то и вовсе покупает «новоделы».
Ежегодно выходит пара-тройка десятков игр. Большая часть из них, конечно, смотрится однотипно, но попадаются и бриллианты.
Кто-то разрабатывает новые технические решения.
Всё это в сумме не дает ZX Spectrum’у забыться. Люди продолжают общаться, а компьютер – жить.
Напоследок, в качестве небольшого дополнения к статье приведем небольшой список ссылок на интересные проекты из вселенной ZX Spectrum.
Для многих компьютерных энтузиастов постсоветского пространства ZX Spectrum стал первым домашним компьютером. А для некоторых и вовсе отправной точкой в программировании. В этом материале мы вновь вспоминаем легендарную разработку британской компании Sinclair.
Развитие компьютерного рынка в 70-х годах находилось в начальной стадии. Индустрия была еще далека от того, чтобы сделать этот продукт массовым. Поэтому в своем большинстве компьютеры представляли собой сложные устройства, предназначенные для выполнения каких-либо масштабных задач. Но к концу десятилетия люди задались вопросом: «А почему бы не использовать эти машины в качестве инструмента для развлечений?» Их голоса были услышаны, и некоторые производители занялись выпуском специальных наборов для самостоятельной сборки игровой системы. Однако минусы такого подхода значительно перевешивали его немногочисленные плюсы. Во-первых, такие наборы было очень сложно найти в продаже. Во-вторых, даже если это и удавалось, то их стоимость находилась за гранью разумного. За те деньги, которые просили за набор, вполне реально было приобрести неплохой поддержанный автомобиль. Ну и в-третьих, для таких наборов существовало откровенно мало программного обеспечения. Зачем пользователю тратить несколько тысяч долларов на компьютер, для которого нет ни одного крутого приложения? Словом, для развития идеи создания устройства для отдыха и развлечений нужен был другой подход. Один из них предложила британская компания Sinclair Research, возглавляемая Клайвом Синклейром (Clive Sinclair).
Идея фирмы заключалась в создании максимально простого и доступного компьютера, который бы сочетал в себе легкость освоения и программирования и, конечно же, невысокую цену. Это должно было решить главную проблему вышеупомянутых наборов для создания ПК — отсутствие программной базы. Простота в работе позволила бы пользователям самостоятельно писать многочисленные приложения. Именно таким путем и пошла компания Sinclair Research при разработке своего компьютера ZX Spectrum. Однако, прежде чем приступить к рассказу о легенде, мы уделим немного внимания истории самой Sinclair Research.
Собери компьютер сам
Перед вами вырезка из журнала «Радио» от 1986 года, выпуск №4. В нем впервые была опубликована статья, посвященная сборке домашнего компьютера «Радио-86РК». Настоятельно рекомендуем прочитать хотя бы предисловие к статье от редакции.
Совершенно ничтожные по современным меркам частоты. При этом компьютер был псевдографическим — для отображения игр использовались комбинации из текстовых символов.
Оперативная память составляла всего 16 КБ с потолком увеличения до 32 КБ «вторым этажом» микросхем. Прошивка умещалась в ПЗУ объемом 2 КБ (с возможностью расширения до 4 КБ).
Если вам интересны все возможности и доработки оригинального «Радио-86РК», вы можете почитать о нем здесь и подкрепить теорию многочисленными видео на YouTube, где энтузиасты демонстрируют реальную работу компьютера.
Но какова связь между советским любительским компьютером и Speccy? Об этом мы поговорим чуть позже, пройдясь по истории оригинального ZX Spectrum.
ZX Spectrum в России
Перечисленная выше этапность не относится к постсоветскому пространству, так как многие компьютеры (точнее, их клоны) попали в СССР лишь во второй половине 80-х годов. И в отличие от Западной Европы, где наряду с ZX Spectrum отлично продавались другие компьютеры (те же Atari и Commodore), в стране советов устройство Sinclair было единоличным лидером продаж. Почему? Причина, прежде всего, кроется в низкой стоимости «Спектрума»: компьютер не облагался пошлинами, поэтому был доступен многим советским гражданам. Компьютеры Atari и Commodore проделывали огромный путь, прежде чем попасть на прилавки советских магазинов, а их цена была значительно. Кроме того, выяснилось, что большинство деталей «Спектрума» при необходимости можно заменить отечественными, что делало компьютер ремонтопригодным. По большому счету, единственным незаменимым компонентом системы оставался лишь процессор Z80.
Первым советским клоном ZX Spectrum стал компьютер, разработанный в стенах Львовского политехнического института. Конечно, «разработанный» — это громко сказано. Сотрудники института скопировали дизайн «Спектрума», но заменили почти все детали отечественными комплектующими. Случилось это в 1985 году. Львовский дизайн впоследствии лег в основу многих отечественных клонов. Например, компьютеры «Пентагон-48» и «Москва-48» использовали ту же схему, что и украинская модель. Ну а в начале 90-х годов появились клоны ZX Spectrum, собранные в радиокружках и в одиночку.
Некоторые события, о которых думаешь, что они произошли совсем недавно, на самом деле отстоят от сегодняшнего дня на годы, а то и десятки лет. Для многих читателей Geektimes ZX Spectrum появился вроде бы несколько лет назад, но это не совсем так — сегодня этому компьютеру исполнилось уже 35 лет. Он был для некоторых первым компьютером, который помог определиться с будущей профессией — программированием, разработкой игр или еще чем-то, что связано с ИТ.
Появился он как раз вовремя, чтобы стать популярным. Дело в том, что в 70-х годах прошлого века компьютерная техника была доступна, в основном, научным работникам, финансистам и представителям других сфер. Компьютеры использовали только для работы и ничего другого. Но к концу 70-х появился еще один вариант эксплуатации электронных систем — это развлечения, в частности, игры.
Некоторые производители, поняв, что на такого рода компьютеры есть спрос, начали разработку специализированных систем, позволяющих использовать возможности вычислительной техники в домашних условиях. Правда, стоимость их была очень высокой, несколько тысяч, а то и десятков тысяч долларов США, так что доступны они были лишь для очень хорошо обеспеченных покупателей.
Среди предпринимателей и производителей компьютерной техники появились приверженцы идеи, согласно которой компьютеры для «ухода в массы» должны кардинально подешеветь. Кроме того, ряд представителей ИТ-сферы считали, что компьютеры для домашнего использования должны быть значительно менее габаритными и более простыми, чем те системы, что были доступны в то время.
Эту идею первой реализовала компания Sinclair Research, во главе с Клайвом Синклейром (Clive Sinclair). Ее сотрудники создали относительно простое устройство, которое стоило не очень много, зато позволяло начать осваивать азы программирования. Так что программы можно было писать самостоятельно, а не ждать, когда они появятся в продаже. Конечно, разрабатывать можно было не только обычный софт, но и игры.
Компьютер в Sinclair Research был создан далеко не сразу, его разработку сотрудники компании начали в середине 70-х годов. Реализация проекта затянулась на несколько лет, но в 1980-м году все работы были закончены, а на рынке появился компьютер ZX80, стоимость которого составила всего около 80 фунтов стерлингов. Это был первый в мире ПК с ценой до 100 фунтов.
ZX 80, воссозданный в среде Minecraft
Удешевить компьютеры разработчикам удалось благодаря использованию не самых дорогих деталей и упрощения схемы самого ПК. В качестве процессора разработчики использовали недорогой чип Zilog Z80, частота работы ядра которого составляла всего 3,25 МГц. Объем ОЗУ — всего 1 КБ. При желании можно было установить еще 16 КБ, для чего на рынок поставлялись модули расширения, которые, правда, стоили почти столько же, сколько сам компьютер. Объем ПЗУ — 4 килобайта. Причем в памяти устройства уже был Sinclair BASIC.
Среди прочих его достоинств — невысокая стоимость и относительно небольшое количество логических микросхем. Плюс ко всему, в этом компьютере было очень небольшое количество движущихся деталей. Изначально это было сделано из соображений экономии, но затем малое количество таких элементов стало стандартом. Напомню, что сейчас речь идет о компьютере ZX80.
Покупатели быстро оценили этот миниатюрный (для того времени) компьютер. Еще он умел показывать графику, но только тогда, когда система не была занята проведением вычислений. Видеоконтроллера здесь не было никакого, графика, в основном, формировалась за счет программной части. Для того, чтобы увидеть изображение, нужно было подключить компьютер к телевизору. В 80-х годах они были уже у многих, так что пользователь экономил средства, покупая лишь основную часть компьютера без монитора. Почти сразу после своего выхода на рынок первая модель стала очень популярной. Наблюдалось значительное превышение спроса над предложением.
В 1981 году появилась новая модель, которая получила название ZX81. Она поставлялась в виде «конструктора», из которого можно было собрать компьютер, и уже готовой системы. Стоимость первого варианта составляла 49,95 фунтов стерлингов, второго — 69,99. Его потихоньку начинали продавать не только по почте, но и в розничных сетях. Что касается процессора, то здесь использовался все тот же Z80 с частотой работы ядра в 3,25 МГц. ОЗУ было таким же, как и у предыдущей модели — 1 Кбайт, что мало кому нравилось. А вот объем ПЗУ вырос уже до 8 килобайт. В этой модели видеоконтроллера тоже не было. Продажи новинки превысили объемы продаж ZX80 в несколько раз.
Наконец, любимец публики ZX Spectrum. В продажу компьютер поступил 23 апреля 1982 года. Покупатели могли заказывать это устройство по почте, попало оно и к ритейлерам. В ZX Spectrum было сразу несколько новых функций. Например, этот компьютер был приспособлен для работы с цветными телевизорами. Собственно, именно поэтому он называется Spectrum, а на его корпусе есть радужная полоска.
Для формирования графики был добавлен графический контроллер. Объем ОЗУ составлял уже 16 КБ, до этого же показателя увеличился и объем ПЗУ. Максимальное количество оперативной памяти, поддерживаемой ZX Spectrum, составило 48 КБ. Для того, чтобы хранить написанные программы, предлагалось использовать аудиокассеты и магнитофон. Клавиши, кстати, инженеры создали из резины, они заменили собой мембранную клавиатуру предыдущих двух моделей.
Через два года компания выпустила обновленную модель ZX Spectrum+ с 48 КБ ОЗУ по умолчанию. Там же была и новая, более удобная клавиатура.
Еще через два года появился компьютер ZX Spectrum 128, который разрабатывался совместно с испанскими инженерами. Здесь добавили ОЗУ вплоть до 128 КБ, вдвое увеличили объем ПЗУ (до 32 КБ). Также стоит отметить появление трехканального звука со стандартом AY-3-8910, RGB-выхода на монитор и совместимость с MIDI.
В 1986 году создатель этого компьютера Клайв Синклер продал бренд компании Amstrad. Она продолжала производить Spectrum вплоть до 1992 года.
Что касается ZX Spectrum, то он стал чрезвычайно популярным в СССР и других странах. Из-за холодной войны многие комплектующие аппарата были запрещены в Советском Союзе, был запрещен к ввозу и сам Spectrum. Но советские инженеры достаточно быстро смогли разработать отечественный клон этого компьютера, используя лишь детали, доступные в СССР. Изготавливались эти клоны как на различных предприятиях, так и частными лицами — умельцами, которые научились собирать аппарат своими руками. Причем стоимость их была немалой для советского человека — около 100 рублей, но это не помешало устройству было завоевать популярность.
Уже в 90-х для Spectrum и его копий начали клонировать игры, хиты, которые в то время набирали популярность. В то время разработчики игр еще могли работать в единственном лице, сочетая в себе черты музыканта, графического дизайнера и, собственно, разработчика.
Кроме СССР, Spectrum стали популярными и других странах, включая Южную Америку.
Для ZX Spectrum и совместимых моделей выпускались различные аксессуары. Их было много. Например, для Spectrum создали специальный принтер. Правда, он печатал искровым методом, так что и бумага требовалась особенная, с алюминиевым напылением. Для печати использовались две иглы, между которыми создавалось напряжение, шла искра и на бумаге прожигался символ. В строчке умещалось 32 символа.
Был выпущен и отдельный модуль ПЗУ на основе магнитной ленты. Он был более быстрым и производительным, чем обычная аудиокассета, но распространения не получил, поскольку кассеты были менее дорогим и гораздо более доступным вариантом.
Еще существовали модули, добавляющие к функционалу компьютера сетевой интерфейс и модуль, позволяющий подключать джойстик. Да не один, а сразу два, так что владелец устройства и его друг могли осваивать премудрости гейминга вместе. Стоило все это несколько дороговато, так что сильно популярными модули тоже не стали.
Что касается ПО, то, как уже говорилось выше, программы для ZX Spectrum писались и компаниями, и независимыми программистами. Число вторых было гораздо выше, чем первых в самом начале, когда компания Sinclair Research только вывела на рынок свой компьютер. По мере роста популярности этой системы интерес к написанию ПК для нее начали проявлять и компании. Программисты собирались в группы и формировали все новые предприятия, которые поставляли на рынок софт и игры.
Во второй половине 80-х количество ПО для платформы Spectrum стало увеличиваться в геометрической прогрессии. Выросло количество игр, стали развиваться сюжеты и звуковое сопровождение с графикой. Интересно, что примерно тогда же активно начали появляться системы защиты программ от нелегального копирования. Ну и в конце 80-х — начале 90-х платформа начала терять популярность, соответственно, под ZX Spectrum выпускалось уже не так много программ, как раньше. С другой стороны, в это время появилось много отличных игр и прикладного ПО, которое получило продолжение уже в наше время.
О программном обеспечении
Но, конечно, не за огромное количество различной периферии полюбили ZX Spectrum. На компьютере было относительно легко программировать. В первой половине 80-х это вызвало настоящий бум в индустрии программного обеспечения. Написанием программ занимались как и полноценные компании, так и программисты-одиночки. Развитие западного рынка ПО для ZX Spectrum можно разделить на три этапа.
Во время первого этапа, продолжавшегося с 1982 по 1984 годы, происходит количественный рост рынка. Крупных компаний еще не было, и созданием приложений занимались небольшие конторы или писатели-одиночки. При этом около 80% программного обеспечения составляли игры! Первые видеоразвлечения были достаточно примитивными: «графон» был не очень, да и сюжет тоже. Что интересно, уже в то время начало процветать пиратство.
Скриншот из игры Driller
Ну а в период с 1985 по 1987 годы потенциал ZX Spectrum раскрылся во всей красе. В это время появилось много крупных компаний разработчиков игр. Рынок был переполнен игрушками различных жанров, и пользователи стали более разборчивыми в своем выборе. Это привело к тому, что качество игр значительно возросло. Разработчики начали уделять особое внимание сюжетам, которые стали более продуманными и интересными. Не забывали они и про звуковое сопровождение. Но главную роль играла графика. На «Спектрум» даже удалось портировать псевдо-3D-движок, который позволял использовать в играх примитивные геометрические формы. Например, в 1987 году вышла популярная игра Driller, основанная на 3D-движке Freescape. Кстати, в этот же период стартовала активная борьба с пиратством. Например, началось распространение специальных загрузчиков, защищенных от копирования.
ZX Spectrum приходит в СССР
Всего через несколько лет после выхода ZX Spectrum удалось успешно клонировать. И, в отличие от овечки Долли, многие клоны оказались не только жизнеспособны, но и на порядок мощнее своего родителя.
Коммьюнити спектрумистов делится на два лагеря: одни «топят» за оригиналы от Синклера, называя всё остальное «кустарными поделками», другие в равной степени хорошо относятся и к оригиналам, и к клонам, предпочитая пользоваться последними. Тем не менее, заводских Спектрумов в СССР было ничтожно мало по сравнению со «всем остальным». И в объективе сегодняшней статьи как раз находится «всё остальное».
Спустя 30 лет уже невозможно узнать, как именно ZX Spectrum попал в нашу страну. Предположительно, Спектрумы был привезены из Польши, так как некоторая документация и первый софт были именно на польском языке.
Разумеется, инженеры и программисты сразу же захотели создать свою версию Спектрума, чтобы каждый желающий мог собрать его на доступной в СССР элементной базе. Тем не менее, с клонированием возникло сразу две проблемы:
Так, в практически каждом «технически подкованном» городе СССР существовал свой клон. Самым популярным и более-менее простым в сборке оказался «Ленинград».
Теперь время вспомнить то, с чего мы начали статью: вполне логично, что вслед за вопросом «как черно-белый Радио-РК86 может тягаться с таким могучим зверем?» возник следующий вопрос: «а почему, раз я смог сделать РК, у меня еще нет Спектрума?».
Для неизбалованного компьютерной техникой советского человека Спектрум выглядел как откровение: шикарная музыка на чипе AY, сотни игр на кассетах, модель подключения «просто добавь телевизор» и многое другое в считанные месяцы сделали ZX Spectrum по-настоящему массовым домашним компьютером страны.
Качественное видео с процессом сборки, отладки и даже некоторой модернизации «Ленинграда» можно посмотреть здесь.
Чуть позже производство клонов освоили кооператоры, а затем и государственные заводы. Советский рынок был в прямом смысле наводнен клонами ZX Spectrum разной степени качества, наделенных разными возможностями.
Как писал старина Толкиен (а у него позаимствовал Стивен Кинг), одна дорога ведет ко многим другим, а одна история цепляет за собой целый ворох других историй.
Рассказывая о таком большом явлении как ZX Spectrum, сложно написать абсолютно обо всем. Какие-то вещи (программы, игры, версии клонов и их особенности) обязательно будут упущены, и мы просим вас отнестись к этому снисходительно и рассказать о том, что мы забыли, в комментариях к статье.
Через тернии к онлайну
Конец 80-х и первую половину 90-х годов в нашей стране и на постсоветском пространстве можно охарактеризовать примерно так: мы хотим мощные компьютеры, общаться и развиваться, и мы сделаем это из Спектрума.
Что-то получилось. Что-то — нет.
Тем не менее, основной посыл Джоэла Шаца — общаться свободно — был услышан. Спектрумисты со всех концов страны общались, обменивались опытом, собирались вместе для просмотра свежих демосцен любой ценой, даже если для того, чтобы договориться о встрече, приходилось пользоваться IBM PC.
Выходили печатные и электронные версии журналов. На всех радио рынках страны стояли продавцы пиратских кассет с играми и софтом.
Самые отчаянные инженеры и программисты объединялись в небольшие фирмы и продавали пользователям клоны Спектрумов.
Люди с паяльником находили людей с микросхемами, чтобы вместе искать тех, кто сможет сделать платы на «военном» текстолите.
Даже если принять за аксиому, что настоящего интернета на Спектруме не было, свою миссию по объединению людей, находившихся в поисках онлайна, он выполнил.
РЕГИСТРЫ 180
Регистры данных и аккумулятор
Микропроцессор Z80, в отличие от 18080, работает с двумя наборами
регистров — основным и альтернативным, Оба набора состоят из семи
Для выполнения многих команд обрабатываемые данные должны
быть занесены в специальный регистр —~ аккумулятор А.
Команды, обрабатывающие 16-разрядные числа, используют пары ре-
гистров в следующих сочетаниях: ВС, DE, HL, AF и, соответственно, ВС, DE
HL AF'. При этом в регистры В, D, Н, А, В', D', Н А' записывается старший
байт числа, а в С, Е, L, F, С, Е L' и F' — младший. Спаренные регистры можно
использовать, например, для хранения и обработки адресов ячеек памяти.
Выполнив очередную команду, процессор должен знать, откуда ему
взять следующую. За этим следит 1 б-разрядный регистр счетчика команд PC.
При последовательном выполнении программы после считывания из памяти
каждого байта команды значение PC увеличивается на единицу. Если коман-
да требует от процессора перейти не к следующей, а какой-л^бо другой
ячейке памяти (например, команда вызова подпрограммы), в PC записыва-
ется адрес этой ячейки.
Важной особенностью Z80 является возможность обращаться к ячей-
кам памяти, указывая смещение их адреса относительно содержимого 16-
разрядных индексных регистров IX и IY. Смещение может быть задано
числом в пределах —128. +127.
16-разрядный регистр указателя стека SP содержит адрес вершины
стека. Как известно, стек — это специальная область памяти, предназначен-
ная для временного хранения данных. В Z80 он организован по принципу
LIFO* — помещенные в стек одно за другим несколько чисел извлекаться из
стека будут в обратной последовательности. Особенностью Z80 является то,
что стек «растет» в сторону уменьшения адресов. При каждой записи в стек
значение регистра SP уменьшается на 2, а при извлечении числа увеличи-
вается на 2. «Общение» со стеком обычно происходит посредством регист-
ровых пар. В стеке также автоматически сохраняется адрес возврата при
вызове подпрограмм.
После выполнения ряда команд в соответствии с результатом опера-
ции изменяется содержимое флагового регистра ____„_
F (рис. 11). Флагом называется отдельный бит этого Гс I z [ х ! Н I x l P/vTnT"c1
регистра. Флаг считается установленным, если в 1 I L 1 г I ™ 1 I
регистра. Флаг считается установленным, если в
соответствующем бите записана единица, и сбро- 7 6 5 4 3 2 1 0
шейным, если записан ноль. Значимыми являются рис j | Регистр флагов.
6 из 8 битов регистра F:
*) Last In First Out — первым пришел — последним вышел (англ.).
Z (zero) — флаг нуля. Устанавливается, если результат операции равен
нулю;
P/V (parity/overflow) — флаг четности/переполнения, В логических опе-
рациях устанавливается при получении четного результата, в ариф-
метических — при переполнении (изменении знака) операнда;
CY (carry) — флаг переноса. Устанавливается, если в итоге выполнения
арифметических операций произошел перенос либо заем старшего
бита;
N (negative) — флаг отрицательного результата. Устанавливается при
получении отрицательного результата арифметической операции;
Н (half-carry) — флаг вспомогательного переноса. Устанавливается, если про-
изошел перенос (заем) в 4-й бит аккумулятора. Используется при прове-
дении двоично-десятичной коррекции при работе с BCD-арифметикой*;
S (sign) — флаг вычитания. Устанавливается, если предыдущей коман-
дой было вычитание. В BCD-арифметике помогает определить тип
предыдущей операции.
Регистр вектора прерываний I используется во 2-м режиме обработки
прерываний. Подробно о нем будет рассказано в разделе, посвященном
прерываниям.
Регистр регенерации динамической памяти R обслуживает в основном
аппаратные потребности компьютера, однако он все же может использовать-
ся и для программных целей, например, при написании процедур, генери-
рующих случайные числа. Младшие семь разрядов этого регистра увеличи-
ваются на единицу после выполнения очередной команды (точнее цикла
Ml) микропроцессора, старший разряд аппаратко не используется.
Работа программиста превратится в бессмысленные математические
упражнения при отсутствии связи компьютера с внешним миром, осущест-
вляемой через порты.
Хотя Z80 имеет 16-разрядную шину адреса, в ZX Spectrum при обраще-
нии к большинству внешних устройств значащими являются только 8 младших
разрядов. Например, для изменения цвета бордюра необходимо записать соот-
ветствующее значение в порт с адресом %0000000011111110 (254)**, но если
Вы запишете это же значение в порт %0000000111111110 (510), то получите
тот же эффект. Разряды, не влияющие на выбор устройства, обычно обозна-
чаются знаком х, и, таким образом, полный адрес упомянутого выше внешнего
устройства записывается как xxxxxxxxl 1111110.
Для упрощения аппаратной части в Speccy выбор внешних устройств
осуществляется сбросом в ноль одного из разрядов адреса. Порт 254, например,
выбирается при А0-0, порт 239 — при A2-Q и т. д. При разработке
ZX Spectrum были сделаны следующие назначения для разрядов шины адреса:
АО — клавиатура, магнитофон, динамик;
А1 — не используется (в ZX Spectrum 48К);
A3 и А4 — Interface 1 и микродрайв.
*) BCD — Binary Coded Decimal — двоично-десятичный код <англ,).
Если несколько разрядов будут сброшены в ноль, окажутся выбран-
ными одновременно несколько устройств.
Разряды А5, А6 и А 7 оставлены разработчиками для специального
применения, но, в принципе, могут быть использованы для подключения
дополнительных внешних устройств, например, джойстика.
Разряды с А 8 no А15 используются для сканирования клавиатуры
(только при сброшенном АО).
Ниже рассмотрены стандартные порты ZX Spectrum. Для каждого порта
указаны его десятичный и, в» скобках, шестнадцатиричный и двоичный адреса.
Внешнего устройства с таким адресом в ZX Spectrum нет, поэтому из
порта 255 считывается состояние «пассивной» шины данных. Благодаря
оригинальному схемотехническому решению, в ZX Spectrum шина данных
используется одновременно для двух процессов: работы Z80 и вывода ин-
формации на дисплей. В момент формирования изображения из порта 255
считываются случайные значения (анализ показывает, что преимуществен-
но считываюгся атрибуты отображаемого в данный момент знакоместа), а во
время, не занятое выводом — значение 255.*
Чтение из порта 255 в некоторых фирменных программах использу-
ется для синхронизации относительно вывода на экран, и поэтому они
отказываются работать на многих самоделках.**
ZX Spectrum управляет магнитофоном, клавиатурой, цветом бордюра
и динамиком через один-единственный порт с адресом 254.
При записи байта в порт:
биты D0. D2 определяют цвет бордюра:
биг D3 управляет выходом на магнитофон. Манипулируя этим битом,
программы обслуживания магнитофона формируют сигнал записи;
бит D4 управляет звуковым каналом. Например, дя того чтобы получить
звук частотой 1 кГц, необходимо устанавливать и сбрасывать этот бит
1000 раз в секунду;
биты D5*.tD7 не используются.
*) На самом деле, если Вы попытаетесь обратиться по другим незадейсгво-
ванным адресам портов, то получите аналогичный результат.
**) В ZX Spectrum +3 схема отображения выполнена более грамотно, чем в
Speccy, однако это стало причиной неполной совместимости с базовой
моделью. Ряд программ, например, Short Circuit, на Spectrum -КЗ не
работают.
011 (3) — фиолетовый
При чтении байта из порта:
биты D0. D4 обслуживают клавиатуру.
Стандартная клавиатура ZX Spectrum состоит из 40 клавиш, которые
разбиты на восемь рядов по пять кнопок в каждом (рис. 12). Для того, чтобы
Посмотрев свежие серии «Холивара», мы решили продолжить рассказ о первых шагах рунета и первых компьютерах, пришедших в дома советских граждан, по-своему, не погружаясь в пучину политики.
В предыдущей статье немалый раздел был посвящен ZX Spectrum и его клонам, которые буквально наводнили СССР и не сдавали позиции вплоть до середины 90-х, когда IBM-совместимые компьютеры стали доступны рядовому покупателю. В этот раз мы постараемся рассмотреть историю этого компьютера более серьезно, в том числе и с точки зрения становления рунета.
Компьютер ZX80
Во второй половине 70-х годов в Sinclair Research началась разработка недорогого бытового компьютера. За проект отвечал инженер Джим Вествуд (Jim Westwood). В 1980 году процесс создания устройства был окончен. Появился ZX80. Это был первый в мире компьютер, чья стоимость не превышала сотни фунтов стерлингов. Также в продаже можно было найти ZX80 в виде набора для самостоятельной сборки. Эта версия и вовсе стоила 79,95 фунтов.
Столь низкой цены разработчикам удалось достичь за счет упрощения элементной базы и использования достаточно примитивных комплектующих. В роли центрального процессора использовался популярный на тот момент Zilog Z80 с частотой 3,25 МГц. А если быть более точным, то клон этого «камня», произведенный компанией NEC. Плюсов у кристалла было несколько. Он не только обладал низкой стоимостью, но и (благодаря своей внутренней архитектуре) требовал меньшее количество микросхем логики. Объем оперативной памяти составлял всего 1 Кбайт, но этого было достаточно для запуска необходимых пользователю программ. Плюс существовала возможность установить дополнительно до 16 Кбайт оперативки в виде карт расширения. Объем ПЗУ составлял 4 Кбайт, и в него уже был вшит язык программирования Sinclair BASIC. А для хранения написанных программ использовались обычные магнитофон и аудиокассеты.
Так выглядел ZX80
Интересно, что ZX80 не имел видеоконтроллера. Изображение формировалось с минимальным участием железа — операция выполнялась, прежде всего, за счет программной части. Главным и очень существенным недостатком такого подхода стало то, что ZX80 умел показывать картинку лишь в те моменты, когда не был занят выполнением программы. Прежде чем отобразить новую графику, экран попросту гас. Кстати, спецификации ZX80 не предусматривали использования какого-либо специального монитора, в качестве экрана выступал обыкновенный телевизор, что также было плюсом для простых юзеров.
Что касается «экстерьера» ZX80, то своим внешним видом компьютер скорее напоминал игровую приставку, нежели компьютер. Это была небольшая пластиковая коробочка белого цвета, с расположенной на ней мембранной клавиатурой, на которой не было символов, только команды. Пользователь просто нажимал кнопку регистра и выбирал подходящую бейсик-команду. Это значительно упрощало процесс написания программ.
Несмотря на свои недостатки, ZX80 стал чрезвычайно успешным. Конечно, главную роль в этом сыграла и стоимость гаджета. Уже в первые месяцы после релиза на покупку ZX80 образовалась очередь и наблюдался дефицит устройств, чего в Sinclair Research никак не ожидали.
Интернет на ZX Spectrum: миф или реальность?
Приведем выдержку из письма читателя в газету «Абзац» от 14.10.2004, орфография и пунктуация автора сохранена.
«Меня удивляет то, что все говорят в один голос, что все это реально — ICQ, IRC и даже браузеры. Уже существует TCP/IP стек, звонилка ppp, но этого не хватает для полноценного доступа к глобальной сети.
На мой взгляд, на данный момент вполне можно написать хотябы ICQ и IRC клиенты — это более чем реально. Вы спросите зачем все это надо? Ответ напрашивается сам собой… Я более чем уверен, что есть немало людей, для которых Спектрум до сих пор является единственной доступной платформой — об этом говорит хотябы ZXNET, которая до сих пор существует. Если когда-то все вышесказанное будет реализовано, то это позволит оперативно общаться между собой спектрумистам не прибегая к помощи других платформ. И возможно отчасти остановит отток людей с нашей платформы.»
На самом деле, нельзя с полной уверенностью говорить об отсутствии “интернета” на Спектруме. Да, безусловно, платформа не самая подходящая: сказывается и маломощность процессора, и сложности в создании «прослойки совместимости» между компьютером и большим интернетом. Тем не менее, имеются сведения, что еще 25 лет назад владельцы «продвинутых» клонов могли, пускай и с ограничениями, выходить в сеть со своих машин.
Цитата из «Группы поддержки компьютера Profi», пользователь Алексей Тарасов:
«На Профи есть весь необходимый софт для выхода в Фидо. Собственно со своего Профика я первый раз и вышел в сеть. К сожалению нет нормального редактора почты. Но опять же, Write3 выручал во многих вопросах. Имеющийся пакет заточен на модемную связь через компорт 9600. Что в настоящее время вызывает значительные затруднения.»
Помимо этого, в демонстрационных залах «Кондора» в Москве на Саянской улице стояли компьютеры Profi, объединенные в локальную сеть.
Прочитать о ZXNet подробнее вы можете здесь.
Если у вас есть какая-либо информация о программном обеспечении для ZX Spectrum, существовавшем в 90-е годы и обеспечивающем доступ в сеть, будем рады увидеть ваш комментарий.
ZX Spectrum
На 1982 год был запланирован запуск третьего поколения компьютера ZX. К хорошему, как говорится, быстро привыкаешь, поэтому даже несмотря на то, что ZX81 предлагал приличную функциональность при более чем скромной цене, от компьютера с рабочим названием ZX82 пользователи ожидали новых и инновационных «фишек». Основным отличием компьютера следующего поколения должна была стать поддержка цветного изображения, ибо ZX80 и ZX81 работали лишь с монохромной картинкой. На такой шаг во многом повлияло широкое распространение цветных телевизоров. В связи с этим название ZX82 было заменено на говорящее ZX Spectrum.
В аппаратной части ZX Spectrum претерпел несколько ключевых изменений. В роли центрального процессора по-прежнему выступал Zilog Z80A, но его частота была увеличена до 3,5 МГц. Объем ОЗУ и ПЗУ увеличился до 16 Кбайт каждый, причем количество оперативки могло и вовсе равняться 48 Кбайт. «Спектрум» действительно научился работать с цветным изображением благодаря появлению графического контроллера. Видеорежим поддерживал разрешение 256x192 точек и 8 цветов с двумя уровнями яркости. Также был предусмотрен вывод однобитного звука через встроенный динамик. По сути, это была обыкновенная «пищалка», которая ритмично пикала в играх. Внешний вид ZX Spectrum немного отличался от дизайна ZX80 и ZX81. Новый компьютер получил иную клавиатуру: мембрану сменили полноценные резиновые клавиши.
Ввод и загрузка программ осуществлялись с кассетного магнитофона, который подключался к компьютеру. У некоторых кассет даже была своего рода цифровая защита. Например, в комплекте с игрой поставлялся серийный номер, который позволял ее запустить.
«Спектрум» оказался таким же успешным, как и его предшественники. Стартовые цены на компьютеры по-прежнему оставались демократичными: версии с 16 Кбайт и 48 Кбайт ОЗУ оценивались в 125 и 175 фунтов стерлингов соответственно. А чуть позже они были снижены до 99,95 и 129,95 фунтов.
Впоследствии ZX Spectrum получил несколько обновлений. В июне 1984 года в продажу поступил компьютер ZX Spectrum+. От обычной версии он отличался обязательным наличием 48 Кбайт оперативной памяти, а также новой клавиатурой, которая получила дополнительную кнопку сброса. Несмотря на столь несущественные изменения, ZX Spectrum+ продавался лучше оригинальной модели. При этом некоторые продавцы жаловались на ненадежность устройства, утверждая, что процент неисправных компьютеров достигал целых 30%.
Компьютер ZX Spectrum+
Компьютер ZX Spectrum+
ZX Spectrum 128, появившийся в 1986 году, разрабатывался совместно с испанской компанией Investronica. Дело в том, что испанское правительство обложило высоким налогом все импортные компьютеры с 64 Кбайт оперативной памяти и ниже, не поддерживающие испанский язык. Для Sinclair был важен весь европейский рынок, поэтому вместе с Investronica компания принялась за адаптацию «Спектрума» для Испании. Компьютер получил поддержку 128 Кбайт «оперативки», 32 Кбайт ПЗУ с улучшенным BASIC-редактором, трехканального звука через стандарт AY-3-8910, RGB-выхода на монитор и совместимости с MIDI.
В том же 1986 году все права на бренд и компьютеры Spectrum перешли к компании Amstrad. Новые модели получили различные суффиксы: +2, +3, +2А, +2В. В плане железа компьютеры Amstrad получали лишь небольшие модификации. Например, ZX Spectrum +2 обладал встроенным кассетным магнитофоном Datacoder. А в ZX Spectrum +3 магнитофон был заменен на флоппи-дисковод. Плюс эта модель стала первым «Спектрумом», который умел запускать операционную систему CP/M без дополнительного оборудования. Она стала, пожалуй, самой неоднозначной во всей линейке. Так, ОЗУ ZX Spectrum +3 отображалась на 64 Кбайт адресного пространства, что привело к несовместимости некоторых игр, написанных для оригинального ZX Spectrum.
Компьютер ZX Spectrum +2
Об аксессуарах для ZX Spectrum
Однако не только невысокая стоимость способствовала росту популярности ZX Spectrum. К компьютеру было выпущено огромное количество различных «примочек», которые значительно расширяли функциональность этого компьютера. Одним из таких устройств был ZX Printer, совместимый не только со «Спектрумом», но и с ZX80 и ZX81. Устройство подключалось к компьютеру при помощи системного разъема и использовало искровую технологию печати. В такой печати использовалась специальная черная бумага с алюминиевым напылением. Печатающая головка представляла собой две близко расположенные иглы, которые перемещались по ширине страницы. Для печати символов между иглами создавалось напряжение, и они прожигали бумагу в нужном месте. Всего в строке помещалось 32 символа. Сама идея печати в домашних условиях была по-настоящему революционной, однако реализовать ее в полной мере в ZX Printer не удалось из-за ненадежности устройства. Плюс технология искровой печати также проявила себя не с самой лучшей стороны: качество печати быстро снижалось, а поверхность бумаги была непрочной.
Еще одним интересным аксессуаром был модуль ПЗУ на основе закольцованной магнитной ленты под названием ZX Microdrive. Объем такого устройства составлял 16 Кбайт. Он позволял быстро загружать или сохранять ранее написанную программу. Однако ZX Microdrive так и не получил должного распространения. Пользователи предпочитали использовать проверенные временем, хоть и более медленные аудиокассеты.
Модуль ПЗУ ZX Microdrive
Кассета для ZX Spectrum
Также Sinclair представила карты расширения ZX Interface 1 и ZX Interface 2. Изначально первая разрабатывалась как сетевой интерфейс для организации локальной сети в школах. Однако перед выпуском продукта была добавлена поддержка одновременной работы сразу до 8 устройств ZX Microdrive, и в дальнейшем интерфейс использовался преимущественно для подключения этих модулей ПЗУ. Что касается ZX Interface 2, то эта карта расширения имела разъемы для подключения двух джойстиков (да, Sinclair даже выпускала игровой джойстик для ZX Spectrum), разъем картриджа ПЗУ и интерфейс подключения ZX Printer. Но из-за высокой стоимости устройство продавалось неважно, а уже через год оно исчезло с прилавков магазинов.
Так выглядел ZX Interface 1
Кроме этого, в продаже можно было найти множество аксессуаров от сторонних производителей. Например, специально для «Спектрума» выпускались такие девайсы, как синтезатор речи (Currah Microspeech), игровые джойстики, дополнительные цифровые клавиатуры и даже графический планшет и ударная установка (Cheetah SpecDrum). Впечатляет!
История Sinclair Research
Клайв Синклейр создал компанию под названием Sinclair Radionics в 1961 году. Поначалу напарников у него не было — свой бизнес он развивал в одиночку. Клайв занимался тем, что продавал радиодетали по почте (Sinclair Radionics даже выпустила несколько успешных радиоконструкторов). При этом Синклейр пытался запустить несколько инновационных устройств. Например, в 1970 году был представлен проигрыватель виниловых пластинок необычной конструкции. Вместо традиционной круглой опоры для пластинок в нем использовалась треугольная конструкций с установленными на вершинах гирьками. По словам Синклейра, это снижало вибрации, передаваемые от опоры к воспроизводящей головке, а также препятствовало загрязнению самой виниловой пластинки. Тем не менее интерес к разработке почти никто не проявил, а устройство так и не добралось до прилавков магазинов. Точнее, до почтового прилавка самого Синклейра.
Неудачную судьбу необычного проигрывателя повторил и Hi-Fi-усилитель Neoteric 60. В то время конкуренция в этом сегменте была чрезвычайно высокой, и Синклейр пытался завоевать рынок с помощью необычных продуктов, коим и являлся Neoteric 60. Однако компании вновь не повезло — Hi-Fi-усилитель продавался из рук вон плохо.
Усилитель Neoteric 60
Может сложиться впечатление, что первое десятилетие компании ознаменовалось исключительно провальными проектами. Однако финансовые отчеты говорят об обратном: к 1971 году годовой оборот фирмы составлял 560 тысяч фунтов стерлингов с чистой прибылью 90 тысяч фунтов. При этом штат компании пополнился 50 новыми сотрудниками. Дела шли в гору.
1970-е годы можно смело называть «калькуляторной эпохой» Sinclair. В это время компания выпустила две модели карманных калькуляторов. Одна из них стала первым коммерчески успешным продуктом. Этому даже не смогло помешать большое число недостатков устройства, в том числе и их ненадежность. Вторая модель предназначалась для более серьезного рынка, но так на нем и не закрепилась. Изначально она создавалась просто как устройство с расширенным набором функций, однако Синклейр предпринял попытку превратить гаджет в офисный компьютер, и эта попытка с треском провалилась.
Компьютер ZX81
В 1981 году было представлено следующее поколение компьютера под названием ZX81. Стоимость была снижена еще больше: теперь набор для самостоятельно сборки можно было приобрести по смехотворной цене в 49,95 фунтов стерлингов. Готовый компьютер был несколько дороже и стоил 69,99 фунтов, что все равно было дешевле аналогичной версии ZX80. Кстати, ZX81 стал первым устройством Sinclair, которое реализовывалось не только по почте, но и через розничные сети. Что касается технических характеристик, то «сердцем» компьютера был все тот же процессор Z80 производства NEC с частотой 3,25 МГц. Объем оперативной памяти остался прежним (1 Кбайт), что вызвало особое недовольство у пользователей. Столь скромное количество «мозгов» сильно ограничивало возможности при создании новых приложений. Решить проблему могли карты расширения, которые увеличивали емкость ОЗУ до 16 Кбайт, однако стоимость некоторых из них была сопоставима с ценой самого ZX81. Объем ПЗУ вырос до 8 Кбайт, а встроенный язык Sinclair BASIC обзавелся поддержкой арифметики с плавающей запятой.
ZX81 получил корпус черного цвета
Что интересно, ZX81 вновь не получил видеоконтроллера. Чтобы хоть как-то компенсировать его отсутствие, в Sinclair придумали два режима работы: медленный и быстрый. В быстром режиме ZX81 работал так же, как и его предшественник ZX80. То есть во время выполнения программы изображение пропадало с экрана. В медленном режиме экран не гас, но на обработку программного кода уходило примерно в 4 раза больше времени. Внешне ZX81 несильно отличался от ZX80. Пластиковый корпус компьютера стал черным, а мембранная клавиатура, получившая немного иную конфигурацию клавиш, для удобства осталась белой.
Как вы уже поняли, ZX81 получил лишь небольшие изменения. Но даже этого было достаточно, чтобы компьютер разошелся тиражом, в 8 раз превышающим продажи ZX80.
Эволюция ZX Spectrum в СССР и на постсоветском пространстве
Пожалуй, именно на постсоветском пространстве появилась мания сделать из ZX Spectrum ультимативный домашний компьютер, который был бы «не хуже, чем ваши IBMы и Амиги». Говорить о развитых клонах Спектрума имеет смысл в двух направлениях:
- разработка новых «железных» решений;
- разработка софта и игр, выжимающих из компьютера все соки.
Спектрум-совместимые компьютеры
В начале 90-х появилось великое множество продвинутых спектрумов. Рассмотреть все машины не представляется возможным, так как от многих осталось только воспоминание и пара-тройка «живых» плат, а некоторые были настолько специфичны или дороги в производстве, что практически не получили распространения. Остановимся на четырех (субъективно) наиболее интересных моделях.
Компьютеры Scorpion разрабатывались и выпускались одноименной санкт-петербургской фирмой, чьим лицом на ZX Spectrum-сцене был Сергей Зонов, автор одного из ранних клонов ZX Spectrum — схемы «Ленинград».
Компьютеры фирмы производились в виде печатных плат, которые могли устанавливаться пользователями в любые подходящие корпуса — например, в корпуса MiniTower от IBM PC-совместимых компьютеров, в подобном же виде компьютеры выпускались и самой фирмой. Здесь следует обозначить ключевые характеристики компьютера:
- процессор Z80B (3,5 / 7,0 МГц);
- включение турбо-режима как программно, так кнопкой;
- теневой Сервис Монитор от Андрея Ларченко;
- музыкальный процессор AY-3-8910/12;
- системная шина ZX Bus на 2 слота (+3 через расширитель).
- расширение оперативной памяти вплоть до 4 МБ;
- возможность подключить Covox;
- несколько дополнительных видеорежимов и мультиколор;
- возможность подключения жесткого диска через IDE-контроллер Nemo
- турбо-режим.
ATM Turbo 1 и 2
Один из знаковых спектрум-совместимых компьютеров. Является прямым наследником клона «Пентагон», созданным тем же коллективом разработчиков. Выпущен в 1991 году. Первая модель компьютера содержала ряд ошибок и была несовместима с некоторым более ранним софтом. Особой любви и популярности по этой причине не получила.
Новая версия ATM Turbo 2 (и версия 2+, выпущенная чуть позже) имела ряд усовершенствований и нововведений. Говорить о каждой версии в отдельности вряд ли имеет смысл, поэтому перечислим наиболее интересные и значимые возможности ATM Turbo 2:
- турборежим процессора до 7 МГц;
- ОЗУ до 1 МБ;
- поддержка ОС CP/M (встроено в ПЗУ);
- полная совместимость с оригинальными ZX Spectrum;
- палитра 64 цвета (до 16 одновременно);
- модем (убран в версии 2+);
- поддержка IDE-устройств (HDD, CD-ROM).
На сегодняшний день ATM Turbo 2+ является наиболее поддерживаемым энтузиастами клоном ZX Spectrum. Рекомендуем ознакомиться с этим сайтом, где собрана огромная коллекция программ, ОС и схем для ATM Turbo.
/ Скриншот игры “Конек-Горбунок” для ATM
Profi и Profi Plus
Разработан в 1991 году в Москве фирмой «Кондор». Имел полную совместимость с оригинальным спектрумом (переключение режимов «Профи» и «Спектрум» специальным тумблером). Один из наиболее продвинутых отечественных клонов. Имел следующие особенности (в версии 5.02 и выше):
- режим турбо 7 МГц;
- ОЗУ до 1 Мб (использовалась в качестве электронного диска);
- работа в ОС CP/M в расширенном графическом режиме 512х240px;
- палитра 256 цветов (до 16 одновременно);
- аппаратный мультиколор;
- собственный контроллер IDE для работы с жесткими дисками;
- ПЗУ 64 КБ;
- Covox;
- LPT-порт и порт программатора;
- возможность подключать модем (в частности, использовался для выхода в Фидонет и для организации локальной сети).
Софт и игры
В некотором смысле всё, что делали со спектрумом в России, напоминает натягивание совы на глобус. Разумеется, крайне романтичное и по-своему прекрасное.
Одним из самых распространенных жанров в играх для ZX Spectrum были платформеры и изометрические бродилки с перспективой «с высоты птичьего полета». В 2014 году специально для создания простеньких платформеров был выпущен игровой движок Arcade Game Designer. Предполагалось, что с его помощью прямо на Спектруме или в эмуляторе начинающий программист сможет создать собственную игру, а затем сохранить её в формате tap на компьютер или кассету.
/ Скриншоты AGD-игр из эмулятора
В девяностые, как, в общем-то, и сейчас, чтобы создать игру, необходимо было уметь программировать. Самые простые игры писались либо на встроенном бейсике, либо на Laser Basic. Для более-менее сложных и интересных проектов вариант был только один — его величество Ассемблер. И здесь наши программисты разыгрались не на шутку.
Copper Feet
Наверняка многие из тех, кто застал Спектрум в 90-е, вспомнят «Приключения Буратино» или «Черного ворона», загрузочные экраны которых украшала эмблема Copperfeet.
/ Логотип Сopper Feet, фото из группы Copper Feet в Facebook
Под этим «брендом» разрабатывал игры всего один человек — Вячеслав Медноногов.
/ Вячеслав Медноногов в 2005 году, speccy.info
Его «перу» принадлежат без преувеличения шедевры игростроения для ZX Spectrum: Black Raven, портированные версии игр UFO и UFO 2, а также некоторые другие проекты.
Понять и оценить объем работы программиста возможно только запустив в эмуляторе (или на реальной машине) любую из этих игр. Тем не менее, далее мы приведем несколько скриншотов и ссылок на видео геймплея.
UFO:
Black Raven:
«Фирменный» софт и игры
Как правило, они поставлялись разработчиками «продвинутых» клонов на фирменных дискетах.
Кроме игр, существовало огромное количество прикладного программного обеспечения: словари, текстовые редакторы, базы данных, системные утилиты, копировщики и прочее, что было необходимо иметь пользователю, единственным компьютером которого был клон ZX Spectrum. Найти и “пощупать” фирменный софт сейчас можно на сайтах поддержки конкретных клонов. Ниже мы приведем несколько собственных скриншотов для Profi.
/ Фирменный текстовый редактор для Profi. Имел возможность настройки цвета бумаги/чернил/меню и опции для простого форматирования текста.
/ Оболочка Dos Navigator для ОС CP/M Profi.
/ Логотип группы Jokers, специализировавшейся на разработке игр для Profi.
РЕГИСТРЫ 180
Регистры данных и аккумулятор
Микропроцессор Z80, в отличие от 18080, работает с двумя наборами
регистров — основным и альтернативным, Оба набора состоят из семи
Для выполнения многих команд обрабатываемые данные должны
быть занесены в специальный регистр —~ аккумулятор А.
Команды, обрабатывающие 16-разрядные числа, используют пары ре-
гистров в следующих сочетаниях: ВС, DE, HL, AF и, соответственно, ВС, DE
HL AF'. При этом в регистры В, D, Н, А, В', D', Н А' записывается старший
байт числа, а в С, Е, L, F, С, Е L' и F' — младший. Спаренные регистры можно
использовать, например, для хранения и обработки адресов ячеек памяти.
Выполнив очередную команду, процессор должен знать, откуда ему
взять следующую. За этим следит 1 б-разрядный регистр счетчика команд PC.
При последовательном выполнении программы после считывания из памяти
каждого байта команды значение PC увеличивается на единицу. Если коман-
да требует от процессора перейти не к следующей, а какой-л^бо другой
ячейке памяти (например, команда вызова подпрограммы), в PC записыва-
ется адрес этой ячейки.
Важной особенностью Z80 является возможность обращаться к ячей-
кам памяти, указывая смещение их адреса относительно содержимого 16-
разрядных индексных регистров IX и IY. Смещение может быть задано
числом в пределах —128. +127.
16-разрядный регистр указателя стека SP содержит адрес вершины
стека. Как известно, стек — это специальная область памяти, предназначен-
ная для временного хранения данных. В Z80 он организован по принципу
LIFO* — помещенные в стек одно за другим несколько чисел извлекаться из
стека будут в обратной последовательности. Особенностью Z80 является то,
что стек «растет» в сторону уменьшения адресов. При каждой записи в стек
значение регистра SP уменьшается на 2, а при извлечении числа увеличи-
вается на 2. «Общение» со стеком обычно происходит посредством регист-
ровых пар. В стеке также автоматически сохраняется адрес возврата при
вызове подпрограмм.
После выполнения ряда команд в соответствии с результатом опера-
ции изменяется содержимое флагового регистра ____„_
F (рис. 11). Флагом называется отдельный бит этого Гс I z [ х ! Н I x l P/vTnT"c1
регистра. Флаг считается установленным, если в 1 I L 1 г I ™ 1 I
регистра. Флаг считается установленным, если в
соответствующем бите записана единица, и сбро- 7 6 5 4 3 2 1 0
шейным, если записан ноль. Значимыми являются рис j | Регистр флагов.
6 из 8 битов регистра F:
*) Last In First Out — первым пришел — последним вышел (англ.).
Z (zero) — флаг нуля. Устанавливается, если результат операции равен
нулю;
P/V (parity/overflow) — флаг четности/переполнения, В логических опе-
рациях устанавливается при получении четного результата, в ариф-
метических — при переполнении (изменении знака) операнда;
CY (carry) — флаг переноса. Устанавливается, если в итоге выполнения
арифметических операций произошел перенос либо заем старшего
бита;
N (negative) — флаг отрицательного результата. Устанавливается при
получении отрицательного результата арифметической операции;
Н (half-carry) — флаг вспомогательного переноса. Устанавливается, если про-
изошел перенос (заем) в 4-й бит аккумулятора. Используется при прове-
дении двоично-десятичной коррекции при работе с BCD-арифметикой*;
S (sign) — флаг вычитания. Устанавливается, если предыдущей коман-
дой было вычитание. В BCD-арифметике помогает определить тип
предыдущей операции.
Регистр вектора прерываний I используется во 2-м режиме обработки
прерываний. Подробно о нем будет рассказано в разделе, посвященном
прерываниям.
Регистр регенерации динамической памяти R обслуживает в основном
аппаратные потребности компьютера, однако он все же может использовать-
ся и для программных целей, например, при написании процедур, генери-
рующих случайные числа. Младшие семь разрядов этого регистра увеличи-
ваются на единицу после выполнения очередной команды (точнее цикла
Ml) микропроцессора, старший разряд аппаратко не используется.
Работа программиста превратится в бессмысленные математические
упражнения при отсутствии связи компьютера с внешним миром, осущест-
вляемой через порты.
Хотя Z80 имеет 16-разрядную шину адреса, в ZX Spectrum при обраще-
нии к большинству внешних устройств значащими являются только 8 младших
разрядов. Например, для изменения цвета бордюра необходимо записать соот-
ветствующее значение в порт с адресом %0000000011111110 (254)**, но если
Вы запишете это же значение в порт %0000000111111110 (510), то получите
тот же эффект. Разряды, не влияющие на выбор устройства, обычно обозна-
чаются знаком х, и, таким образом, полный адрес упомянутого выше внешнего
устройства записывается как xxxxxxxxl 1111110.
Для упрощения аппаратной части в Speccy выбор внешних устройств
осуществляется сбросом в ноль одного из разрядов адреса. Порт 254, например,
выбирается при А0-0, порт 239 — при A2-Q и т. д. При разработке
ZX Spectrum были сделаны следующие назначения для разрядов шины адреса:
АО — клавиатура, магнитофон, динамик;
А1 — не используется (в ZX Spectrum 48К);
A3 и А4 — Interface 1 и микродрайв.
*) BCD — Binary Coded Decimal — двоично-десятичный код <англ,).
Если несколько разрядов будут сброшены в ноль, окажутся выбран-
ными одновременно несколько устройств.
Разряды А5, А6 и А 7 оставлены разработчиками для специального
применения, но, в принципе, могут быть использованы для подключения
дополнительных внешних устройств, например, джойстика.
Разряды с А 8 no А15 используются для сканирования клавиатуры
(только при сброшенном АО).
Ниже рассмотрены стандартные порты ZX Spectrum. Для каждого порта
указаны его десятичный и, в» скобках, шестнадцатиричный и двоичный адреса.
Внешнего устройства с таким адресом в ZX Spectrum нет, поэтому из
порта 255 считывается состояние «пассивной» шины данных. Благодаря
оригинальному схемотехническому решению, в ZX Spectrum шина данных
используется одновременно для двух процессов: работы Z80 и вывода ин-
формации на дисплей. В момент формирования изображения из порта 255
считываются случайные значения (анализ показывает, что преимуществен-
но считываюгся атрибуты отображаемого в данный момент знакоместа), а во
время, не занятое выводом — значение 255.*
Чтение из порта 255 в некоторых фирменных программах использу-
ется для синхронизации относительно вывода на экран, и поэтому они
отказываются работать на многих самоделках.**
ZX Spectrum управляет магнитофоном, клавиатурой, цветом бордюра
и динамиком через один-единственный порт с адресом 254.
При записи байта в порт:
биты D0. D2 определяют цвет бордюра:
биг D3 управляет выходом на магнитофон. Манипулируя этим битом,
программы обслуживания магнитофона формируют сигнал записи;
бит D4 управляет звуковым каналом. Например, дя того чтобы получить
звук частотой 1 кГц, необходимо устанавливать и сбрасывать этот бит
1000 раз в секунду;
биты D5*.tD7 не используются.
*) На самом деле, если Вы попытаетесь обратиться по другим незадейсгво-
ванным адресам портов, то получите аналогичный результат.
**) В ZX Spectrum +3 схема отображения выполнена более грамотно, чем в
Speccy, однако это стало причиной неполной совместимости с базовой
моделью. Ряд программ, например, Short Circuit, на Spectrum -КЗ не
работают.
011 (3) — фиолетовый
При чтении байта из порта:
биты D0. D4 обслуживают клавиатуру.
Стандартная клавиатура ZX Spectrum состоит из 40 клавиш, которые
разбиты на восемь рядов по пять кнопок в каждом (рис. 12). Для того, чтобы
Посмотрев свежие серии «Холивара», мы решили продолжить рассказ о первых шагах рунета и первых компьютерах, пришедших в дома советских граждан, по-своему, не погружаясь в пучину политики.
В предыдущей статье немалый раздел был посвящен ZX Spectrum и его клонам, которые буквально наводнили СССР и не сдавали позиции вплоть до середины 90-х, когда IBM-совместимые компьютеры стали доступны рядовому покупателю. В этот раз мы постараемся рассмотреть историю этого компьютера более серьезно, в том числе и с точки зрения становления рунета.
Читайте также: