Культовому 8-битному европейскому компьютеру ZX Spectrum исполняется 40 лет

Аватар пользователя Александр Беккер

23 апреля 1982 года в продажу поступил разработанный английской компанией Sinclair компьютер ZX Spectrum, ставший последователем модели ZX81. На прилавках магазинов он появился в версиях с 16 и 48 Кбайт оперативной памяти. Корпус разработал промышленный дизайнер Рик Дикинсон (Rick Dickinson), ответственный и за неудобную резиновую клавиатуру оригинального компьютера.

 

На накопителе (ROM) ZX Spectrum был записан интерпретатор языка BASIC, разработанный Стивом Викерсом (Steve Vickers) по контракту с компанией Nine Tiles. Компьютер отличался относительно невысокой ценой: 125 фунтов за версию с памятью 16 Кбайт и 175 фунтов за вариант с 48 Кбайт. Для первой модели отдельно продавался дополнительный модуль, добавляющий 32 Кбайт оперативной памяти. Монитором для ZX Spectrum служил домашний телевизор, а накопителем выступал кассетный магнитофон. Процессором был 8-битный чип Zilog Z80 — его выпускала американская компания, основанная тремя выходцами из Intel.

Графика выводилась в разрешении 256 × 192 пикселя — она разбивалась на знакоместа (блоки) размеров 8 × 8 пикселей каждый. Изображение в каждом знакоместе кодировалось 1 байтом информации: 3 бита на фон, 3 бита на основной цвет, 1 бит на яркость и 1 бит на эффект мигания. Всего было доступно 8 цветов, но если учесть атрибут яркости, то 15, потому что чёрный в обоих случаях выводился одинаково. В статическом формате такая графика работала стабильно, а в динамике иногда возникали артефакты, получившие название конфликта атрибутов или «клэшинга».

 

Оригинальная версия ZX Spectrum была в продаже относительно недолго — уже в 1985 году она была снята с производства, а заменила её функционально идентичная модель ZX Spectrum+ в новом корпусе и с более удобной клавиатурой. В 1986 году Sinclair за £5 млн передала все права на проект британской компании Amstrad, которая расширила линейку, обновив клавиатуру, а также предложив модели со встроенным магнитофоном и дисководом.

К сожалению, двух ключевых фигур, стоявших у истоков ZX Spectrum, с нами уже нет: дизайнер Рик Дикинсон ушёл 24 апреля 2018 года, а сэра Клайва Синклера (Clive Sinclair) не стало 16 сентября 2021 года.

Авторство: 
Копия чужих материалов
Комментарий автора: 

Мой первый )) собственно и мод синклер был ещё. Моя первая радуга была написана на нём. 

Аж заностальгировал.

Комментарии

Аватар пользователя Бабр
Бабр(4 года 4 недели)

мля, а я на нем теннис написал.. правда для одного игрока..  (вторым выступала стенка)..  был неимоверно город собой..  ...

Комментарий администрации:  
*** отключен (систематический срач и дезинформация) ***
Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

на бейсике?

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

все нормальные программы под спектрум выглядели как rand usr(адрес) )))))

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя ps ps
ps ps(3 года 5 месяцев)

спектрум наш! (c)

https://www.youtube.com/watch?v=mgXRXDfQ0xw

Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

а я - драйвер принтера ESC/P.  т.е. можно было печатать на обычный матричных Эпсонах м их клонах.

причём он уложился в 255 байт, т.е. его можно было грузить на место буфера одноигольного родного принтера,

так что все игры загружались.

 

возился долго, никак не хотел в 256 байт укладываться, то 258 то 259 получалось. наконец, вычитал про какую-то из CB/ED команд и смог в 255 байт.

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

В те времена еще непреложно работало правило для программ на ассемблере:

размер любого (полезного) кода всегда можно уменьшить на 1 слово.

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Помните великое сказание про «Один байт»?

smile1.gif

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

дык!

ФИДО застал (причем уже в зрелом возрасте) :)

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Аналогично.

Ну и ассемблерил в то время в полный рост, правда, для других процессоров.

smile18.gif

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

эх...

smile18.gif

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Ниччо!

Просто помним!

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

если вспоминать - материала на книгу хватит smile1.gif

и тема Spectrum'а в ней займет пару больших глав

МИЭТ (Зеленоград) просто обязывал выжать из этой темы максимум

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

А я вот как-то миновал.

С ЕСок — сразу на Амстрады. Ну, Академия, ВЦ там был зачотнейше оборудован.

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

а я встроенные системы проектировал (железо)

так что, и Zilog и 68K (вплоть до 68040) и MIPS и наши секционированные процессоры - все в ход шло

вот только DEC ненавидел и всячески избегал

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Я драйвера для всяко-разно глубоководного. ;-)

DEC один стоял точно, но подробностей не помню совсем.

Аватар пользователя Antropomorf
Antropomorf(10 лет 3 месяца)

у меня асм был хобби. Резиденты, полиморфы. Ой, не так, разные прикладные программы, критичные к скорости исполнения и объёму доступного пространства. Но это уже на 8086/286/386

Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Бгггг. :-)

Во-во, критичные по скорости. Я наивно думал что и обычным Си победю. Ага, щазз.

Аватар пользователя Antropomorf
Antropomorf(10 лет 3 месяца)

Си - штука мощная и удобная конечно. Но, да... бывают нерешаемые им задачи

Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Возможно, на современном железе и прокатило бы.

А тогда — нэт…

Аватар пользователя Сеня Ганджубас

За команду LDIR надо уже памятник отлить в граните. После ада на КР580 я думал попал в рай. И полный набор сдиговых команд во втором наборе команд.

Вот только чехарда с альтернативными регистрами бесила, таки да.

Для 68К последний код правил в 2018 году. На нем был заграничный контроллер доступа. Я как увидел сие чудо со съемной 40ногой еепром, жадно потер ручонки и с блеском в глазах начал чудить. Почти на 10 лет.

Но майн гросс аллес либен - MSX2. Мечта мечт. 128К, AY, видео до 512.

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

ээээ smile1.gif

а AMIGA (by Commodore) говорит о чем-нибудь?

------

блоковые команды - да, гуд, когда нет DMA

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя Сеня Ганджубас

Да, говорит о том, чего у меня не было никогда.

Только в 200х я прикоснулся к этому прекрасному, когда увлекся SID. Ито в виде программных эму

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

Видеоподсистема и вообще железо AMIGA (600/1200/3000/4000) предвосхитили все, что есть графического сегодня

а AmigaOS обогнала MacOS лет на 10

не говоря уж о Windows

 

а докуметации такой я до сих пор не встречал

~10кг книг

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя Сеня Ганджубас

Возможности несомненно. Но важен балланс возможностей-потребностей-цены. Инженерно это был прорыв на 10-15 лет вперед. Основа многим привычным сейчас вещам. Это реально эпоха до.. и после. Но реальность такова (и эта статья тому подтверждение) что сабж из заголовка всех побрил со своими 6912 (? угадал, или уже забыл?) видео.

Кстати, а Вы, для интереса, не пытались разобраться со структурой текстовых сообщений в игре Elite? Как вы после этого смотрите на современных кодеров-ху@#$ров? Презрение к этим жалким бездельникам не зашкаливает? 48К, 3.5мгц. 

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

У нас (железячников с навыками работы на регистровом уровне) презрение к любым погромистам  😊, а к современным - особенно 😊

Хотя "бывают дни", когда жалеешь о своем  недостаточном опыте в кодерстве и непрограммистском складе ума.

 

Игрушки я не ломал, мне больше интересны были системные вещи типа загрузчиков, инициализации периферии, теневых ресурсов и вообще недокументированной регистровой структуры или архитектуры.

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя Hover
Hover(8 лет 1 месяц)

Но майн гросс аллес либен - MSX2. Мечта мечт. 128К, AY, видео до 512.

На Ямахе MSX2 был не только суперский звук и 256К-цветное видео, но и даже видеовход с оцифровкой, аудиовход с оцифровкой, а также локальная сеть по коаксиалу! Как-то попался мне в руки увесистый томик с документацией по MSX BASIC, где был раздел про сетевые команды. Там можно было не только отправлять адресные и широковещательные текстовые сообщения, но и даже запускать дистанционно код на удалённых машинах))  Прикалывался так над одноклассниками, отправляя им всякие приколы на их рабочие места. Супер-крутой был компьютер для своего времени!

Аватар пользователя Barminolo
Barminolo(10 лет 1 месяц)

Комментарий администрации:  
*** отключен (дешевые манипуляции, инфомусор) ***
Аватар пользователя NOT
NOT(12 лет 5 месяцев)

Йессс!!!

Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

это вряд ли!

 

тем более перешибить mov -(7), -(7) вряд ли кому удастся ;-)

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

это вы про стек не слышали, наверное smile1.gif

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

какой ещё стек?

эта команда на той архитектуре функционально ни чем не отличалась от помещения в стек:

 

mov DATA, -(6)

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

на той - на какой?

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

PDP/LSI-11

Ваш К.О.

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

кгхм...

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя jamaze
jamaze(12 лет 4 месяца)

Да уж. Единственная система команд, в которой писать в машинных кодах было почти так же удобно как на ассемблере. В 8-ичной системе счисления )

Аватар пользователя GrumpyVK
GrumpyVK(3 года 8 месяцев)

Это вам так кажется, потому что вы IBM 1401 не застали. Я, правда, тоже не застал, но вот тут очень подробно всё описано.

A — опкод сложения

S — опкод вычитания

B — опкод команды перехода

Аргументы идут как число, причём десятичное.

Ну и так далее.

А и могло ли быть иначе, во времена, когда конфигурация компьютера, куда поместится ассемблер, стоила не как крыло от самолёта, а как самолёт целиком?

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

господа, те, кто активно писал на ассемблере для ранних 8-битников ПОМНИЛ НАИЗУСТЬ подавляющее число кодов команд smile1.gif

для 8080 - практически все

для Z80 - некоторое достаточное для ориентации в коде подмножество

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя GrumpyVK
GrumpyVK(3 года 8 месяцев)

Там, на самом деле, не смертельно много опкодов было и они были достаточно разумно размещены. Четверть всей таблицы вообще один mov.

Но в любом случае с этим сложнее работать, чем с алфавитными опкодами и десятичными цифрами прямо в командах.

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

это уже мнемокод

поскольку машинная логика - двоичная

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя GrumpyVK
GrumpyVK(3 года 8 месяцев)

поскольку машинная логика - двоичная

Эх, молодёжь. Первые компы десятичными были. И IBM 1401 тоже.

А как иначе с механических табуляторов на них программы переносить? 1959й год, всё-таки.

Ассеблер, как уже говорилось, не на всякой машине запустишь, да и доступ к ней ограничен.

Так что всё в машинных кодах, в основном. Разумеется если прямо во время разработки её планировалось в машинных кодах программировать, то оные коды под это заточены были.

это уже мнемокод

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

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

Мы о разном

Я о логике (бинарной)

А вы о системе счисления (ее аппаратной поддержке)

В вашем случае именно мнемоника (естественно образованная и подобранная  из алфавитно-цифрового кода)

Операционный блок (АЛУ) основан на двоичной логике и оснащен кодеками (шифратор/дешифратор) для принятого соглашения по представлению команд/адресов/данных

То же относится и к декодеру и счетчику  команд, к адресным генераторам и т.п.

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя GrumpyVK
GrumpyVK(3 года 8 месяцев)

В вашем случае именно мнемоника (естественно образованная и подобранная  из алфавитно-​цифрового кода)

Стоп. Чем мнемоника записанная в памяти и непосредственно используемая АЛУ отличается от опкода?

Операционный блок (АЛУ) основан на двоичной логике и оснащен кодеками (шифратор/дешифратор) для принятого соглашения по представлению команд/адресов/данных

Нет. Не основан и не оснащён. Столько электроники в 50е годы никто не дал бы транжирить. И без того 10 тысяч транзисторов здоровый шкаф занимают.

Если вы про то, что элементы компьютера были только в двух состояниях — так это да, лампы с десятью выводами это 1940е, не 1950е. Но причём тут мнемоника и опкод?

А вот если вы про то, что числа были двоичными… так вот не были. В ALU числа оставались десятичными, каждая цифра представлялась семью битами (при этом только два могли быть выставлены: один из первых пяти и один из последних двух) — и вот над этим вот проводились все вычисления.

Это позволяло обнаруживать сбои в вычислениях и останавливать в этих случаях всю шарманку. Очень полезное качество во времена до появления микросхем. Вот тут подробности есть.

То же относится и к декодеру и счетчику  команд, к адресным генераторам и т.п.

Всё десятичное! Вообще всё! Адреса памяти, целые числа, числа с плавающей десятичной точкой (хотя это только на старших моделях, на младших только фиксированная). Вообще нигде ничего двоичного нет (если не считать двух битов в представлении десятичной цифры в ALU).

А декодера, как такогого, нету: ячейка памяти шестибитная, оттуда считывается одна шестибитная буква и она и выбирает что будет делать ALU.

Прямо и непосредственно выбирает. А дальше идут аргументы, адреса памяти, просто числа (кто сказал регистры? что за слово такое матерное?). Зато ALU умеет числа обрабатывать по одной циферьке но в цикле. Так что можно хоть 100-разрядные числа обрабатывать.

Именно оттуда всё это в Кобол пролезно (собственно одна из причин не позвояющая всё так просто переписать с Кобола на какую-нибудь Java это именно эти самые числа с плавающей и фиксированной десятичной точкой… когда у тебя всё в процессоре есть, то это одно, а когда всё нужно эмулировать… медленно получается).

 

Аватар пользователя jamaze
jamaze(12 лет 4 месяца)

В PDP-11 надо было значительно меньше запоминать, чем в интеловских.

8 равноправных с точки зрения команд регистров (только R7=PC, некоторые режимы адресации запрещены). Т.е. никакого выделенного аккумулятора, SP, никаких постоянных пересылок. Плюс никаких портов ввода-вывода - все в общем адресном пространстве, обычными командами.

Все двухоперандные команды типовые, если писать в 8-ной системе счисления: <код команды><src mode><src><dst mode><dst>, например: 012503 - считать число по адресу из R5, положить его в R3, R5 увеличить (01 - MOVE, 2 - косвенная адресация с инкрементом, 0 - прямая адресация регистра).

Операции со стеком - простой MOVE с правильной адресацией. 010446 - PUSH R4 (косвенный MOVE с декрементом R6), 012604 - POP R4 (косвенный MOVE с инкрементом R6).

После 8080 и даже z80 - просто халява.

Аватар пользователя IMHO
IMHO(12 лет 4 месяца)

В DEC-овских машинах, действительно, структурированность и симметрия системы команд была очень высокой

Комментарий администрации:  
*** отключен (набросы) ***
Аватар пользователя BTMArkady
BTMArkady(7 лет 5 месяцев)

smile14.gif Вот ровно такая же фигня и у нас была, пару байтов не хватало. Два дня втроём бились.

Ещё помню, как драйвер светового пера вручную набивали. Не помню уже, как белорусский радиолюбительский журнал назывался.

Аватар пользователя Брандмейстер Битти

Респект. На корветах играл в сию игру. 

Комментарий администрации:  
*** отключен (Безумный шизик: "Украинские города следует заливать напалмом и кислотами, закидывать вакуумными бомбами и жечь огнеметами" (с)) ***
Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

Первона!

Клэйв Синклер ещё на жульничествах с радиоприёмниками руку нагрел хорошо!

 

у мну был самосбор "Новосибирск-Автоматика" на ПЛМках (556РТ1, 2)

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя Генадич
Генадич(3 года 7 месяцев)

Тоже. Но с контроллером НГДМ.

Аватар пользователя mumpster
mumpster(5 лет 5 месяцев)

тащемта НГМД

у мну тоже потом был, забыл микруху, вг93 что ли. и два дисковода teac на 720кб

Комментарий администрации:  
*** Уличен в пустословии и клевете ***
Аватар пользователя Elya
Elya(9 лет 9 месяцев)

Я сам паял. Если находил на радиотолпе незнакомую спектрумовскую плату, брал сразу, потом детальки рассыпухой и кайф с паяльником на пару вечеров был обеспечен.

Страницы