История IT глазами ребенка. Часть 1: Эра ZX Spectrum

Поклонникам ностальгии по детским воспоминаниям, залам игровых автоматах и вообще, а также желающим понять, что это вообще такое есть, рекомендую обратить свое внимание на Часть №0.

Итак, в прошлом посте мы познакомились… со мной. Теперь же пришла пора перейти к куда более конкретным явлениям в IT-индустрии, которые мог наблюдать ребенок в первой половине и середине 90-х годов. В особенности я постараюсь понятно и доступно объяснить, что же такое «спектрум», о котором знает огромное число людей, родившихся в 80-х и о котором мало что слышала современная молодежь. Я прекрасно понимаю, что на эту тему написано немало статей и снято множество видеороликов, однако я хочу рассказать об этом явлении 90-х максимально просто, понятно и без совсем уж лишних подробностей (но немного технической инфы все же будет).

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Но прежде чем добраться до ZX Spectrum, нужно пройти еще один небольшой шаг, имя которому КУВТ «Корвет». Если же вас мало интересует предыстория моего обладания этим продуктом британского гения, можете смело мотать вниз вплоть до фотографии «спектрума» - там начинается самая мякотка.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

В Советском Союзе школы часто имели одну из нескольких разновидностей «комплектов учебно-вычислительной техники» или КУВТ. Ничего сложного и страшного в этом термине нет – всему виной советская тяга к аббревиатурам. Сегодняшний человек, вместо использования этих букв, может подставлять у себя в голове обычное и понятное «компьютерный класс».


Итак, именно из «Корветов» состоял первый класс информатики в моей школе – предмета, который у нас появился в третьем классе. Почему в третьем? Полагаю, все дело в том, что первые два класса школы у нас протекали в отдельном крыле (туда даже из основной части школы пройти было проблематично), а вот начиная с третьего класса мы потихоньку начинали самостоятельно ползать по школе.


Сами же «Корветы» были чем-то вроде «спектрума на стероидах». Нет, они не были совместимы, но как минимум поддержка CP/M (это такая операционка была в те годы) и какая-то совместимость части команд процессора присутствовала. К слову, о «Спектрумах на стероидах» - в следующем посте уделю этому чуть больше внимания.


На уроках информатики в первый год мы занимались какой-то ерундой. Несмотря на то, что при старте ПК был доступен Бейсик, мы гоняли в какие-то обучающие игры, а когда заканчивали выполнять задания, играли в менее обучающие. Игрушек было несколько, но мне больше всего запомнился «POP Corn» - эдакий клон арканоида, в котором нужно было разбивать шариком кирпичики, отбивая его лопаткой. Было еще что-то про пожарников, Lode Runner, ну и парочка других занятных развлечений.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Куда интереснее был метод загрузки: дисковод присутствовал только на учительском компьютере, в результате чего грузили всё поэтапно. Например, первым загружают POP Corn – все, кому хочется в него сыграть, перезагружают компьютеры и ждут, пока на экране не появится заставка. Потом так же поступают те, кому интересна следующая игра и т.д. Одним словом, программа слалась на все компьютеры, которые были недавно перезагружены. К сожалению, я до сего дня так и не смог увидеть, как это было реализовано на учительском ПК (хотя была даже вполне реальная возможность утащить такой комп домой), но даже с клиентской стороны все было несколько необычно.


Именно на этих уроках я и заметил, что один парнишка, который только в третьем классе перевелся в нашу школу, не испытывает особого восторга. Причиной тому оказался тот факт, что дома у него уже был компьютер с кучей игр, да еще и цветной! Мониторы же наших Корветов были поголовно черно-белые. Естественно, идея напроситься в гости к свежеиспеченному однокласснику возникла за считаные секунды.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Парнягу звали Константином (ну, тогда он был просто Костя, но какая разница). По меркам 90-х его семья жила очень и очень неплохо. В то время, когда всем повально задерживали зарплаты, его отец работал (кажется) дальнобойщиком, и не только регулярно получал неплохую зарплату, но и мог привозить интересные шняжки из поездок. Дома у одноклассника обнаружился музыкальный центр, куча машинок на пультах и радиоуправлении, но самым интересным для меня оказался… очередной клон спектрума. Ну, а что поделать, если в то время они были нереально распространены. Что примечательно, хоть клон и был довольно топорным – явно самоделка с корпусом из согнутого листа алюминия (он еще и током бился), монитор был вполне себе заводским – выглядел солидно, а главное – был цветным! До этого цвет мне доводилось наблюдать только на тех Atari, о которых я вспоминал постом ранее.


Именно проводя время у этого одноклассника я и насмотрелся на кучу спектрумовских игр (стоит ли их перечислять?), наслушался звуков загрузки и, наконец-то, научился играть на клавиатуре. Более того, даже пресловутое LOAD "" перестало быть для меня чем-то сокровенным.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

При всем при этом, был один момент, который не давал мне покоя – играть, безусловно, было интересно, но ведь компьютер не только для игр, и мне прям свербило попробовать сделать что-то свое, а главное – записать это на кассету! Какое-то время я думал о том, что это в принципе невозможно, пока Костя не показал мне «игру», которую написал его отец. Почему в кавычках? Потому что этой «игрой» оказалась простенькая программа, содержащая в себе лишь один экран текста, в котором содержалась информация сколько шагов нужно пройти в том или ином направлении по квартире, чтобы найти заныканый в шкафу подарок на день рождения. Стоит отметить, что в компьютере моего одноклассника уже был вшит русский язык, ибо без него вряд ли подобная «игра» вообще появилась. Так вот, несмотря на свою незамысловатость, эта программка являлась доказательством того, что задуманное мной вполне реализуемо, вот только проблема заключалась в том, что магнитофон, которым мы пользовались для игр на спектруме, не мог что-либо записывать. Функция-то такая у него была, да вот только что-то было вшатано и запись просто не работала.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Ну, вот и все. На этом можно официально считать «Вступление» законченным. Почему? Да потому что спустя всего каких-то полгода, году эдак в 1996-м, накануне моего дня рождения родители прямо спросили: «Что тебе подарить: маленький магнитофон, маленький телевизор или маленький компьютер?». Судя по обилию прилагательных, вы уже могли догадаться, что с финансами у нас тогда дела обстояли, мягко говоря, не очень. Как бы то ни было, думать мне вообще не пришлось – магнитофон у нас дома уже был, телевизоров было даже несколько (разной степени ушатанности), а вот компьютера не было.


В результате, докинув пару тысяч тенге к моим уже накопленным к тому времени двум тысячам (подарки на праздники и прочая лабуда – на самом деле, по тем временам деньги довольно большие). Мы с отцом отправились к его другу детства, который на компьютерах не просто «собаку съел», а открыл настоящий ресторан северокорейской кухни. Данной темой он начал интересоваться еще в те годы, когда компактными назывались те компы, которые размером были сопоставимы с трехкамерным холодильником. Естественно, дома у него присутствовало и несколько рабочих экземпляров, один из которых оказался ему абсолютно не нужным, во всяком случае, за 4000 тенге он согласился с ним расстаться (дабы был понятен масштаб трагедии, 4000 тенге по тем временам представляли собой нечто вроде 100-150 долларов сегодня). Домой я в тот вечер вернулся уставший и счастливый, ибо на собственном горбу пер тряпичную сумку, которую обычно использовали для транспортировки домой картошки из погреба. Вот только в этот раз в ней лежали на грязные клубни, а маленький автомобильный телевизор (мы его таскали из дома с собой, дабы подпаяться к видеоусилителю), несколько десятков аудиокассет, пара книжек и его величество ZX Spectrum, вернее, один из его клонов.


Сразу оговорюсь, что фотографии его не осталось. Тем не менее, я отчетливо помню, что у него был очень и очень приличный вид – светло-бежевый пластиковый корпус, QWERTY-клавиатура, на которой помимо стандартных спектрумовских кнопок, присутствовала еще и RUS/LAT (которая, впрочем, делала ровным счетом нихрена). Были нанесены и русские буквы, вот только толку от этого было ровным счетом никакого. В уголке же красовались выдавленные цифры «0010». Логично было бы предположить, что корпус с клавой достались ему от какой-то БК, однако, сколько бы я не искал фотографий этого компьютера, ничего похожего найти не удалось, да и расположение клавиш у БК заметно отличалось (у нее хотя бы был полноценный пробел).

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Итак, Sinclair ZX Spectrum 48k. Для тех, кто не в курсе, это был очень распространенный в странах СНГ компьютер, который можно было собрать если не из спичек и желудей, то как минимум из весьма доступных компонентов, достать которые особого труда не представляло. Его клоны клепались на радиозаводах, в радиомастерских, да даже на домашних кухнях. Несмотря на то, что характеристики этой железки были весьма скромны, это был самый настоящий компьютер, а значит, его хотели себе все. Так что же было внутри этого красавца?


Ну, во-первых, интересна уже его конструкция – все потроха (за исключением, как правило, блока питания) располагались внутри клавиатуры. Я до сих пор жалею о том, что данный форм-фактор ПК на 99% вымер – было в нем что-то практичное и неуловимо ламповое. Процессор спектрума был 8-битным (как правило Zilog Z80 или один из его клонов) и фурычил со скоростью 3.5MHz. Оперативки, если судить даже из названия, в компе было 48 килобайт (в число которых входила и видеопамять), а наиболее распространенным устройством ввода-вывода был обычный бытовой магнитофон. Вот как раз к нему я и присандалил свой новый (во всяком случае, для меня он был новым) спектрум. Агрегат выглядел вот так:

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Команду загрузки, выглядевшую как LOAD "" я знал уже давно. Кроме того, мои познания в тот вечер были пополнены командами PRINT, RUN, а также REM и SAVE. Одним словом, у меня было все необходимое для того, чтобы не только загружать программы, но и записывать их. Позже я понял, что с отдавать компьютер с таким набором "знаний" - то еще издевательство, но об этом позже.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

На первой же кассете, которая своими воплями изображала адскую какофонию проклятых котов Вельзевула, первой игрой оказалась Captain Blood. Честно говоря, вообще не лучший выбор для старта. Я не понял ровным счетом ничего, ибо, несмотря на довольно неплохую по меркам спектрума графику и интерфейс (эмуляция курсора мыши, полеты «в 3D» и пр.), понять, что же в ней нужно делать, было попросту невозможно. Пришлось искать что-то попроще.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Впрочем, про игры не рассказывал только ленивый, да и я им уже порядком уделял внимания. Отдельному рассмотрению «бриллиантов» я посвящу немного времени позже (или в следующий раз), а пока, вернемся к комплектации моего компьютера. Помимо кассет и самого спектрума, мне в сумку положили парочку книжек, одна из которых оказалась порождением сумрачного гения (50% ее объема составляли патчи к каким-то программам в HEX-формате, а вторую половину – обзоры различных копировщиков и альтернативных языков программирования, вроде Laser Basic), а вот второй была «мышка Программышка». Как мне кажется, она была предназначена для компьютеров IBM PC первых ревизий. Она рассказывала о встроенном бейсике (а тогда бейсик был основой большинства компьютеров и играл роль операционной системы), а также имела в себе несколько примеров программ. И вот тут началось «самое интересное». Обратите внимание на клавиатуру ZX Spectrum:

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Вас не озадачило обилие надписей на каждой клавише? Дело в том, что команды здесь не нужно было вбивать побуквенно – достаточно было нажать на кнопку и она вставлялась целиком. Кто-то считает, что такое решение использовалось для того, чтобы сделать компьютер более «дружелюбным», но на деле все дело в обычном жмотстве экономии ресурсов. Например, вместо того, чтобы хранить в памяти 7 байт для команды PRINT и окружавших ее пробелов, можно было просто записать в оперативку ее код, который, как правило, был всего 2-3 байта (если ошибаюсь, пусть меня поправят). Одним словом, кромешная экономия ресурсов. Если вам кажется, что это – перебор, чуть позже я расскажу о том, как в спектруме была устроена видеопамять – там вы совсем офигеете.


Но вернемся к книжке. Давайте представим, что у нас есть программка, которая получает от пользователя число, прибавляет к нему 10 и выводит результат. В книжке она была бы записана так:


10 INPUT A

20 A=A+10

30 PRINT A

Вот только на ZX Spectrum это не работало. Во-первых, начать строчку с буквы уже было достаточно проблематично, ведь при нажатии на букву А компьютер сразу втыкал оператор NEW. Конечно, можно было после оператора набрать нужную строчку, а потом стереть слово в начале, но тогда ничего не работало.


В результате, меня оставили один на один с Basic, не рассказав о имевшемся в нем операторе присвоения. Думаете меня это остановило? Фиг там! Я даже умудрялся писать какие-то игры. Помню, у меня был симулятор похода в магазин, в котором расчет денег после покупки производился примерно так (K – количество ваших денег, 30 – цена булки хлеба):


1050 PRINT “Вы купили хлеб за 30 рублей!”

1060 PRINT “У вас осталось”;

1070 PRINT K-30

1080 PRINT “Введите количество оставшихся денег”

1090 INPUT K

Для тех, кому совсем чуждо программирование в целом и Basic в частности, переведу. Представьте ситуацию: вы приходите в магазин и просите у продавца булку хлеба за 30 рублей. Продавец дает вам хлеб, отбирает кошелек, видит в нем 200 рублей и вытряхивает все содержимое в кассу. Потом говорит, у вас должно остаться 170 рублей, после чего поворачивает к вам открытую кассу и уходит.


В книжке хватало и других занятных различий, от разницы в командах (в книжке был PSET, а на спектруме – PLOT), до перевернутой координатной сетки. Так, к примеру, координаты 0:0 по книжке находились в левом верхнем углу, а у ZX Spectrum они были в левом нижнем (тут может и перепутал – давно это было). Ну или команда LINE – в книжке она рисовала линию, а у спектрума использовалась для того, чтобы указать строку автозапуска в сохраняемой на кассету программе. Одним словом, было весело.

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Но самым мощным толчком, направившим меня в объятия болота под названием программирование, был учебник по спектрумовскому Бейсику, но уже в виде обучающей программы. Что занятно – софтина была жутко каноничной, ибо сама также была написана на том же Sinclair Basic. К тому времени я уже знал, что можно остановить любое бейсик-приложение с помощью кнопок Shift+Break, а потом с любопытством покопаться в потрошках. Меняя те или иные строчки, я узнал за один вечер в десятки раз больше, чем от целой орды «мышек-программышек», «хомяков-сисадминов», «морских свинок-интеграторов» и «инфузорий-1Сников». Кроме того, я сам того не понимая, открыл для себя реверс-инженеринг. Но главное - я узнал об операторе LET, который позволял присваивать переменным значениям, благодаря чему мой «продавец» перестал бросать кассу на произвол клиентов.


Дальше было больше – уж не помню как, но я узнал расположение видеопамяти и научился пихать данные в нее напрямую через POKE. Тем же методом пришла и способность создавать собственные шрифты знакогенератора, благодаря чему в моих программах появилась возможность писать, как на русском, так и на английском языках (я просто переписывал строчные английские буквы заглавными русскими, получая тем самым сразу два алфавита).


К слову о видеопамяти. Как я уже упоминал ранее, она была включена в ОЗУ. Учитывая, что разрешение спектрума – 256х192 пикселя, а он поддерживает 16 цветов (фактически 15, но не суть), то необходимый для отображения картинки объем видеопамяти должен был бы быть: (256*192)/2=24576 байт… что, по сути, половина всей оперативки. Жирно, не правда ли? Вот и создатели спектрума так подумали, уменьшив ее до 6912 байт. Как вы понимаете, нельзя просто так отгрызть больше 60% видеопамяти и не получить неприятные последствия. Само собой, и тут без них не обошлось. В частности, пользователи ZX Spectrum прекрасно знакомы с таким явлением как «конфликт аттрибутов» (он же клэшинг). Дело в том, что весь экран разделяется на квадраты 8х8 пикселей и внутри каждого из таких квадратов может быть только два разных цвета. Именно благодаря этой особенности мы получаем вот такие психоделические явления:

История IT глазами ребенка. Часть 1: Эра ZX Spectrum Детство 90-х, Воспоминания из детства, Компьютерные игры, Zx Spectrum, Кувт, Корвет, Длиннопост, Видео

Зато изображение занимает всего 6144 байт и еще 768 байт на информацию о цвете. Экономия! Кстати, сама конструкция видеопамяти спектрума мне всегда казалась очень занятной. Честно говоря, тут я не особо специалист и может это абсолютная норма, но информация об изображении хранится в ней не последовательно, а строками с хорошим сдвигом, а потом еще и информация о цвете. На словах это объяснить очень трудно – проще посмотреть, как картинка грузится в память с магнитофона. Напоминаю, загрузка идет последовательно, просто спектрум «так видит».

Пожалуй, на этом пока закончу, ибо и без того портянка вышла знатной. В качестве бонуса – на днях запилю небольшой пост о наиболее интересных (на мой взгляд) спектрумовских играх, а также клонах и продолжателях идеи Синклера. А потом… да начнется эра IBM PC AT!

IT минувших дней

992 поста7.1K подписчиков

Добавить пост

Правила сообщества

Запрещается добавлять новости о прошлогодних новинках, а также посты, не относящиеся к тематике "ретро в ИТ".

Желательно соблюдать правила приличия.