Zx spectrum basic: Скачать Spectrum ZX Бейсик. Руководство пользователя | megascans.ru

40 лет ZX Spectrum, мой опыт использования.

Тихо сижу в своей комнате, внимательно слушая странный звук писка из магнитофона и рассматривая то, как зачерчивают экран телевизора «Электрон» черные полоски. В голове крутится только одна мысль: «Хоть бы никто не стал сейчас включать свет, иначе все пропало!»

Через минуту трепетного ожидания окончания звуковых и визуальных действий вдруг слышу громкий щелчок в динамиках «кассетника» — и картинка на экране телевизора пропадает.

«Мама где-то включила свет… Она, наверное, забыла, что я загружаю игру на своем ZX Spectrum, а любые помехи могут сбить с толку компьютер. Эх, придется повторять процесс заново…», — досадую я, принявшись перематывать кассету на ее начало.

Думаю, те, кто в 80-90-х годах имел на руках маленькую коробочку под названием ZX Spectrum, вспомнили загрузку программ и игр при помощи кассетного магнитофона. Помехи, создаваемые магнитофону (чаще всего из-за включения/выключения света – так называемый «щелчок в сети»), могли легко привести к зависанию процесса загрузки. А ведь «Loading…» длился от одной-двух до десяти минут. За такой большой промежуток времени кто-то из родителей нет-нет, да и забудет о процессе загрузки. Приходилось заново перематывать кассету на то место, где находилось начало «звукового кода» игры.

Table of Contents

  • Пара слов про ZX Spectrum
  • Запускаем ZX Spectrum
  • Игрушки, которые мне запомнились
  • ZXSpectrum 128 с дисководом
  • В качестве заключения

Пара слов про ZX Spectrum

В начале 1980-х английская компания Sinclair Research Ltd, основанная британским предпринимателем Клайвом Синклером (кстати, он был даже удостоен титула рыцаря за изобретения, прославившие английскую корону), разработала 8-разрядный компьютер для домашнего использования.

В его основе лежал микропроцессор Zilog Z80. Чип производили еще с 1976 года в одноименной фирме. Интересно, что основал ее Федерико Фаджин, который ушел из Intel. Это важное замечание, потому что Z80, по сути, являлся аналогом Intel 8080 с существенными доработками.

Представьте себе, что техпроцесс Z80 составлял аж 3000 нм! Для сравнения, сейчас большинство чипов создают по 5-12 нм. А тактовая частота была 2.5 – 8 МГц. Никаких вам гигагерц.

Так вот, микропроцессор Zilog Z80 был доминирующим ЦПУ с середины 70-х до конца 80-х годов.

Для того, чтобы каким-то образом подчеркнуть наличие цветной графики в устройстве, название выбрали Spectrum, а ZX осталось от прежних модификаций ZX81, ZX82. Таким образом, получилось название домашнего компьютера ZX Spectrum.

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

Операционной системы как таковой в ZX Spectrum не было. Вместо нее в ПЗУ хранился Sinclair BASIC, способный обрабатывать простейшие операции. Например, он содержал 50 команд, 30 функций и 5 ключевых слов.

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

Запускаем ZX Spectrum

У меня дома домашний компьютер появился благодаря папе. Он отлично разбирался и до сих пор разбирается в микроэлектронике. Все компоненты для ZX были куплены по отдельности: кнопки, плата, микросхемы, периферия и так далее. А корпус отец сделал сам из прочного белого пластика, благо конструкция не должна была быть оригинальной.

Процесс пайки элементов занял пару месяцев, остальные моменты дорабатывались по ходу дела.

Первый Spectrum оснащался всего лишь 48 КБ оперативной памяти, в которую помещалась одна простейшая игра в цвете.

В качестве носителей информации выступали обычные бытовые кассеты на магнитной ленте. На каждую сторону можно было уместить до 10 программ. Ну а для их чтения использовались магнитофоны, подключаемые к ZX Spectrum.

В самом начале текста я привел пример того, что во время загрузки игры могла произойти ошибка из-за того, что кто-то включал свет в квартире или включались/выключались другие электропотребители (например, холодильник). Помеха шла по сети, и магнитофон реагировал на звуковые щелчки. Соответственно, он сбивал процесс загрузки. Обидно было, поскольку загрузка игр длилась довольно долго – от одной до десяти минут.

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

Примерно на 5-10-й секунде слышался характерный звук «кхык», и на дисплеях ТВ появлялось название игры.

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

Игрушки, которые мне запомнились

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

Насколько я помню, у нас было около 10 кассет. На каждой хранилось по 5-10 игрушек. Ну и тут снова стоит напомнить о качестве носителей информации: после десятой загрузки пленка могла выходить из строя. А еще частенько приходилось чистить головку магнитофона для более точной передачи сигнала.

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

Больше всего запомнилась игра «Саботер» (оригинальное название Saboteur). Создана она разработчиком Клайвом Таунсендом. Однако у меня была вторая часть, выпущенная в 1987 году. Интересно, что первую часть я не видел, даже когда у меня был более продвинутый «Спектрум».

Суть игры: вы управляете ниндзя, который прибывает на охраняемый комплекс при помощи дельтаплана в поисках некой дискеты.

Прыжок с дельтаплана надо было совершать таким образом, чтобы точно приземлиться на платформу. Но самое смешное, что рассчитать момент прыжка почти не представлялось возможным. В итоге получалось так, что ты даже не мог начать игру, потому что необходимо было хотя бы правильно приземлиться.

Кстати, не сказал об управлении. Предлагались либо клавиатура, либо Кемпстон-джойстик. И вот последний у меня был: большой джойстик черного цвета с четырьмя красными кнопками и присосками на нижней части гаджета.

В тот момент мне было всего лишь 6 лет, и игра мне казалась максимально сложной, поскольку после, например, прыжка героя приходилось разбираться с первым противником, который явно был намного сильнее. В итоге в те далекие годы я так и не прошел Saboteur даже до половины.

Второй по значимости игрой для меня стала R-Type. Она была выпущена для игровых автоматов, а позже портирована на множество домашних игровых систем, в том числе на ZX Spectrum.

Игрок управляет космическим кораблем, оснащенным огневой системой.

Один из приколов игры — возможность «выплевывания» мощного накопительного заряда: вы держите кнопку «огонь» несколько секунд и отпускаете.

Но и эту игру я не смог пройти даже до конца второго уровня. Вообще, мне кажется, что большинство игрушек для ZX Spectrum делали не для детей, ибо игровой процесс был нереально сложным.

Одной из самых красивых игр для «Спектрума» 48 КБ я считаю Three Weeks in Paradise. Яркий, смешной, в меру сложный квест. Смысл в том, что вашей семье необходимо покинуть остров, населенный каннибалами.

Название переводится как «Три недели в раю». Однако здесь может быть и другая интерпретация: фамилия главного героя — Week, а на острове их трое (главный герой, его жена и ребенок), поэтому вполне возможно, что название игры — «Три Вика в раю».

Фишка TWIP – максимальное выжимание всех соков из возможностей компьютера: цветная графика, красивая анимация персонажей, множество двигающихся элементов на экране, классно нарисованные предметы.

Игру Three Weeks in Paradise я прошел примерно наполовину. Были сложности в поисках предметов. Но главное – огромная трата времени, ведь вы не можете сохранить игру. Сели за TWIP, потратили 5 часов, прошли 50%, а завтра надо все проходить заново.

ZXSpectrum 128 с дисководом

Примерно в середине 90-х годов мы с папой на распродаже нашли ZX Spectrum на 128 КБ с приводом для 5-дюймовых дискет. Более того, эта модель оснащалась музыкальным процессором Yamaha со стереовыходом на колонки.

К сожалению, фотографий у меня нет, а в Сети я не смог найти подобный аппарат. Он был сделан полностью из металла, в верхней части использовался привод для дискет, а снизу – клавиатура. С обратной стороны — всевозможные входы и выходы. Мне кажется, что это была полусамодельная конструкция, просто хорошо выполненная.

К этому «Спектруму» продавец предложил кучу дисков с программами и играми. Увы, но, как и с кассетами, часть дисков не читалась.

Для модификации со 128 КБ ОЗУ уже можно было найти соответствующие программы: создание рисунков типа Paint, написание музыки.

Кроме того, такое устройство позволяло сохранять мои приложения, написанные на Sinclair BASIC. Я даже делал простейшие игрушки: создавал персонажей из спрайтов, рисовал лабиринты, где необходимо было собирать разные артефакты. Позже пытался это все повторять в машинных кодах, но это было не так легко. Хотя скорость обработки меня поражала: на «Бейсике» изображение могло появляться до нескольких секунд, а программы на машинном коде выдавали картинку моментально.

Дальнейшая история этого устройства довольно любопытная. На Станции юных техников, куда я ходил в кружок электроники, познакомился с парнем, который заинтересовался моим ZX Spectrum 128k. Дело в том, что я частенько приносил его в СЮТ, чтобы ребята могли познакомиться с необычным, как сейчас говорят, гаджетом. На тот момент компьютеры были в диковинку, а на компактном «Спектруме» можно было и играть, и программировать. К тому же не нужно было подключать к специальному монитору.

Так вот, знакомый предложил обменять ZX Spectrum на настоящий ПК, который лежал у него дома без монитора. Поскольку парнишка не особо разбирался в технике, то описал аппарат так: железная коробка белого цвета, внутри какая-то плата, вроде бы есть иностранная надпись Intel.

Естественно, я загорелся желанием побыстрее совершить бартер. В итоге каждый день в течение двух недель носил с собой «Спектрум» к нему домой, но его не оказывалось на месте (позже выяснил, что он уезжал в отпуск с родителями).

В общем, все закончилось тем, что я отдал ему ZX, а он мне вручил металлический короб. И что же оказалось внутри? Конечно, я рассчитывал на какое-нибудь навороченное «железо», но получил всего лишь горизонтальный корпус типа MidiTower, материнскую плату и процессор Intel 80286, который в простонародье называли «двести восемьдесят шестой».

Поначалу такой обмен меня немного огорчил. Ведь я приобрел просто системный блок. Но в дальнейшем купил монитор, привод для CD-дисков и получил адекватный для того времени компьютер, на котором можно было программировать на полноценном Basic и даже играть в игры. Но это уже другая история.

В качестве заключения

К написанию данного материала меня побудила идея хоть немного отвлечь вас от мрачноватых новостей последнего времени. Уверен, что многие дядьки 35+, прочитав это, вспомнят свой опыт общения с легендарным домашним компьютером ZX Spectrum. И неважно, в какой модификации он был у вас дома. Небольшая нотка ностальгии никогда не помешает, и, надеюсь, поднимет ваше настроение.

Жду в комментариях: а какие подобные ZX Spectrum устройства были у вас, во что играли?

ZX Spectrum online emulator

ZX Spectrum online emulator



Большинство клавиш штатной клавиатуры IBM PC соответствуют одноименным клавишам клавиатуры ZX Spectrum.


Ниже представлена полная таблица соответствия:












Клавиша IBM PCКлавиша ZX Spectrum
0 … 90 … 9
A … ZA … Z
CtrlSymbol Shift
ShiftCaps Shift
Caps LockCaps Shift + 2
Стрелка влевоCaps Shift + 5
Стрелка внизCaps Shift + 6
Стрелка вверхCaps Shift + 7
Стрелка вправоCaps Shift + 8
BackspaceCaps Shift + 0


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


В правой области виртуальной клавиатуры также расположено колесо Kempston-мыши, которое можно вращать зажав левую кнопку обычной мышки, и три её кнопки.


Саму клавиатуру (впрочем, как и дисплей) можно перетащить в любое место рабочей области.


Реализована эмуляция следующего оборудования:

  • процессор Z80 (включая большинство недокументированных особенностей)
  • ПЗУ с переключением страниц 48/Turbo/128/TR-DOS
  • ОЗУ общим объемом 512 Кб, реализованное по схеме Pentagon (через порт #7FFD)
  • интерфейс Beta Disk
  • дисплей с возможностью переключения отображения из 5 или 7 страницы памяти (через порт #7FFD)
  • 40-клавишная клавиатура
  • Kempston-мышка (с виртуальным управлением)


Другие возможности:

  • открытие и сохранение образов в форматах TRD, FDI, SCL (можно использовать как конвертер из одного формата в другой, если разметка исходного диска совместима с целевым форматом)
  • открытие и сохранение снимков SNA
  • выбор способа отрисовки ( putImageData, drawImage, WebGL ) и масштабирования
  • возможность выбирать место расположения виртуального экрана и клавиатуры


Проект некоммерческий, с открытым исходным кодом.


Буду признателен, если кто-нибудь поделится своей коллекцией образов, чтобы добавить их сюда.


Комментарии принимаются по адресу [email protected]


Sinclair BASIC — Мир классического спектра

Обратите внимание, что это содержимое исходного сайта WoS и может быть уже неактуальным. Если у вас есть какие-либо вопросы, свяжитесь с нами.

[ Введение | Лицензия | Переводчики | Расширения | Компиляторы | Руководства | Статьи | Источник ]

ВВЕДЕНИЕ

Sinclair BASIC — это популярная версия языка программирования BASIC (Универсальный код символических инструкций для начинающих). Первоначально написанный для ZX80, теперь он доступен для широкого круга компьютеров в собственных версиях или через эмуляцию.

ЛИЦЕНЗИЯ

Sinclair BASIC защищен авторскими правами © 1980-81 Nine Tiles Networks Ltd, © 1982-87 Amstrad PLC, © 1983 Sinclair Research Ltd, © 1983 Timex Corporation.

Авторские права ужасно сложны, потому что Sinclair никогда не владел правами на Sinclair BASIC. Все права оставались за Nine Tiles до тех пор, пока Amstrad не купила права на ZX Spectrum. После продажи права на ZX80 и ZX81 остались у Nine Tiles, права на Interface I остались у Sinclair, а права на TS2000 BASIC остались у Timex. Результатом этого является то, что версия ПЗУ Spectrum 128 от Spansih технически частично принадлежит всем вышеперечисленным компаниям.

Nine Tiles Networks разрешает распространение под лицензией GNU GPL. Sinclair не заявила о своей позиции, но и не стремилась предотвратить распространение. Timex разрешает распространение. Amstrad разрешает распространение программного обеспечения только при условии, что оно сопровождается эквивалентом следующего заявления:

«Amstrad любезно предоставила разрешение на распространение своих материалов, защищенных авторским правом, но сохраняет это авторское право»

ПЕРЕВОДЧИКИ

  • BASin Пол Dunn — полная среда разработки Sinclair BASIC для Windows/Wine, включая расширенный редактор, графические инструменты и полный набор руководств в интерактивной справке. [10.13.08]
  • Sparky eZX BASIC от Ричарда Келша — 24-разрядная версия Sinclair BASIC для архитектуры eZ80. [07.09.07]
  • ROMU6  Сезар и Хуан Эрнандес — интерпретатор Sinclair BASIC для MSX. [06.06.94]
  • Spectrum 48  от Whitby Computers Ltd — интерпретатор Sinclair BASIC для Commodore 64.
  • Sinbas  Павела Направника – интерпретатор Sinclair BASIC для DOS. [26.06.00]
  • Базовый Филип Кендалл — интерпретатор Sinclair BASIC для Unix (готово 80%). [08.11.02]

РАСШИРЕНИЯ

  • Beta Basic  от доктора Эндрю Райта — огромное количество расширений, которые позже стали SAM Basic.
  • Gosh Wonderful от Geoff Wearmouth — сменное ПЗУ, которое исправляет ошибки и добавляет токенизатор, список потоков, команды удаления и перенумерации.
  • YS MegaBasic Майк Лиман — расширения и редактор спрайтов из журнала Your Spectrum.

КОМПИЛЯТОРЫ

  • HiSoft BASIC
  • ХайСофт Кольт
  • Лазер
  • Плавающая точка Softek
  • Zip-компилятор

РУКОВОДСТВА

  • Вводный буклет ZX Spectrum
  • ZX Spectrum BASIC Руководство по программированию
  • Руководство ZX Spectrum 128K
  • ZX Spectrum 128 +3 руководство
  • Руководство по ZX Interface I и Microdrive
  • TS2068 Техническое руководство
  • Руководство по эксплуатации ZX80
  • ZX81 BASIC Руководство по программированию
  • Руководство пользователя Timex TC2068 на португальском языке
  • Beta Basic 4. 0, руководство
  • Руководство по YS MegaBasic
  • Руководство по HiSoft BASIC

СТАТЬИ

  • История Sinclair BASIC  Эндрю Оуэн – Взгляд на эволюцию языка. [08.04.08]

ИСТОЧНИК

  • Полная разборка ПЗУ Spectrum от Drs. Ян Логан и Фрэнк О’Хара — Оригинальная англоязычная дизассемблированная версия Spectrum ROM. [01.01.83]
  • Разборка ПЗУ Spectrum Shadow Джанлука Карри — Разборка ПЗУ интерфейса ZX I (код которого был повторно использован в Spectrum 128). [01.01.85]
  • Коллекция файлов сборки ПЗУ ZX Джеффа Вирмаута и др. др. – Оригинальные и улучшенные файлы сборки для ZX80, ZX81, Spectrum и Interface I. [02.06.05]
  • Неполная разборка 128K ROM  Мэтью Уилсон и др. др. — Разборка редактора ROM от UK Spectrum 128. [10.08.08]

Types — ZX Basic Wiki

Introductions

Хотя ZX BASIC изначально разрабатывался с учетом ZX Spectrum, это трехэтапный компилятор с возможностью перенастройки. Это означает, что не должно быть сложно взломать ZX BASIC SDK для компиляции для других целевых машин (например, Commodore 64) или текущих машин (ПК) или даже виртуальных машин, таких как Java или .NET. Перенос ZX BASIC на другие архитектуры Z80, такие как Amstrad или MSX, должен быть почти простым (только библиотека.asm должна потребовать некоторой доработки для использования других подпрограмм ПЗУ).

Когда-то было сказано, что типов данных были разработаны для платформы Z80. Так, например, 64-битные целые числа не реализованы.

Типы

Тип данных описывает, как информация о переменной хранится в памяти.
Например, переменная может содержать число с плавающей запятой или строку в устаревшем
Синклер БЕЙСИК. Но иногда это пустая трата времени и памяти.
Например, почему бы нам не использовать один байт для хранения значения, которое, как мы знаем, всегда
целое число от 0 до 10?

Теперь вы можете: ZX BASIC позволяет больше типов данных
для экономии памяти и достижения более высокой скорости.

Существует 3 вида типов: интегралы (целые числа), десятичные числа и строки

интегралы

Интегралы представляют собой числовые типы для хранения целых значений.
Они могут быть без знака (их значение всегда 0 или положительное) или со знаком (могут принимать отрицательные значения).
ZX Основные размеры целочисленных типов: 8, 16 и 32 бита. Беззнаковые типы имеют префикс У .

916 (приблизительно 0,000015).
Десятичные числа с фиксированной точкой менее точны, чем числа с плавающей запятой, но намного быстрее и требуют
меньше места (на 1 байт меньше). Кроме того, их диапазон очень ограничен.
Они обычно используются при рисовании экрана, когда числа с плавающей запятой слишком медленные и десятичные.
требуются расчеты.

Float

Тип с плавающей запятой идентичен Sinclair BASIC.
Требуется 5 байт (1 байт для экспоненты, 4 байта для мантиссы).
Прочтите руководство ZX Spectrum или здесь.

Чтобы сохранить номер в компьютере, мы используем пять байтов следующим образом:

Записать первые восемь бит мантиссы во второй байт (мы знаем, что первый бит равен 1), вторые восемь бит в третий байт, третьи восемь бит в четвертый байт и четвертые восемь бит в пятый байт ;
замените первый бит во втором байте, который, как мы знаем, равен 1, на знак: 0 для плюса, 1 для минуса;
напишите показатель степени +128 в первом байте. Например, предположим, что наше число равно 1/10, тогда
1/10 = (4/5) * 2 (-3)

Строки

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

В большинстве диалектов BASIC строковые переменные имели суффикс $ (также называемый sigil ), но в ZX BASIC суффиксы необязательны (их можно опустить).

Классы

На данный момент ZX BASIC не является компилятором ООП . Но есть три основных класса . Класс можно рассматривать как вид типа .

Var

Vars — это скалярных переменных. Скалярные переменные — это те, которые хранят одно значение.
Почти все переменные являются скалярами:

 REM Простая скалярная переменная
ДИМ а = 3
 

Массивы

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

 REM Переменная массива
DIM a(1 TO 10) КАК UBYTE
ПУСТЬ a(3) = 5: REM выбирает ячейку (3) и сохраняет в ней число 5.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Название типа Размер (байты) Подписано? Ассортимент Описание
Байт 1 да -128..127 8-битное целое число со знаком
Убайт 1 нет 0. .255 8-битное целое число без знака
Целое число 2 да -32768..32767 16-битное целое число со знаком
UЦелое число 2 нет 0..65535 16-битное целое число без знака
Длинный 4 да −2 147 483 648 .. +2 147 483 647 32-битное целое число со знаком
Удлинный 4 да 0 .. 4 294 967 295 32-битное целое число без знака