Моим первым компьютером был Sinclair ZX Spectrum (16k) с резиновыми клавишами, который стал символом инновационного рынка микрокомпьютеров 1980-х годов.

На нем я научился программировать на Sinclair Basic либо читая руководство, либо набирая программы из спектрумовских журналов того времени. Незадолго до Рождества прибыл мой главный подарок — ZX Spectrum 128k +2, теперь это была машина!

Наверное, неудивительно, что основным предназначением моего Spectrum были игры, и я играл много часов, но я также научился программировать, создавать базы данных и обрабатывать тексты на своем матричном принтере Citizen 120D. В то время все это казалось забавным, но оказалось полезными навыками, что, я думаю, является преимуществом сочетания игр с полезными функциями в современных устройствах, таких как Raspberry Pi.

В последнее время я испытываю ностальгию и возрождаю свою любовь к кодированию для Spectrum, но теперь, в эпоху современных ПК, у нас есть много вариантов того, как это сделать. У нас есть эмуляторы и IDE, а также бесплатные ресурсы для быстрой загрузки (без 10-минутной загрузки 🙂). В этом посте я расскажу о нескольких способах быстрого и легкого начала кодирования на Sinclair Basic, в основном для того, чтобы не забыть, когда в будущем снова возникнет ностальгия.

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

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

SpectNetIDE — решение «все в одном», которое работает как плагин в Visual Studio.

SpecNetIDE — это подключаемый модуль Visual Studio 2019, позволяющий вам кодировать вашу программу Spectrum в превосходной интегрированной среде разработки Visual Studio, а также включает эмулятор, поэтому вы можете запускать и отлаживать все в одном месте. Проверьте это здесь: https://dotneteer.github.io/spectnetide/

Если у вас уже установлена ​​Visual Studio, то установка этой пробной версии выполняется быстро и легко. Если у вас нет Visual Studio, вы можете бесплатно загрузить выпуск Community от Microsoft. Обратите внимание, что это вариант только для Windows. Ассемблер и базовый язык поддерживаются, а базовый реализуется с помощью широко используемого компилятора Boriel на основе Python, который преобразует базовый код в машинный код Z80.

После нескольких шагов настройки, которые хорошо задокументированы, вы уходите и начинаете программировать. Убедитесь, что вы установили V2, если вы планируете программировать на Basic. Следуйте простой документации, чтобы начать работу с программой ZX Basic. В конце этого поста есть несколько ссылок на руководства по кодированию в ZX Basic, и многие из руководств 1980-х годов доступны для бесплатной загрузки.

После того, как вы закончите свою программу, вы можете создать файл TAP (эквивалент старой ленты данных) и воспроизвести его на других эмуляторах.

Опция «VS Code › Command Line › Emulator»

Альтернативный вариант, который я использовал, — использовать VS Code (или любой текстовый редактор, включая Блокнот), а затем с помощью Компилятора Boriel через командную строку скомпилировать код в TAP-файл, а затем загрузить TAP-файл в один из множество доступных эмуляторов. Эта опция работает в Windows, Linux и Mac.

Хотя для кодирования вашей программы можно использовать любой текстовый редактор, VS Code, возможно, является лучшим из существующих редакторов кода, плюс вы можете установить плагины ZX Spectrum, чтобы упростить программирование. Я использую ZX Basic, который обеспечивает подсветку синтаксиса.

Затем нам нужно иметь возможность скомпилировать это, поэтому мы устанавливаем Boriel Compiler из раздела загрузки (этот компилятор Python с открытым исходным кодом находится на GitHub здесь). Ознакомьтесь с инструкцией по установке и кратким руководством на странице GitHub. После его извлечения вы можете вызвать компилятор через командную строку с чем-то вроде этого (который создаст файл крана):

./zxb.exe ./code/helloworld.bas --tap --BASIC --autorun

После компиляции в файл TAP мы можем запустить его на любом понравившемся вам эмуляторе, который поддерживает файлы TAP (что делает большинство). Мой текущий фаворит — это JavaScript, основанный на том, что он работает в вашем браузере. Нажмите по бокам окна, чтобы открыть меню, и выберите «Открыть» ваш файл TAP, и вы увидите, как ваша удивительная программа работает во всей красе 1980-х годов.

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

Полезные ссылки

Первоначально опубликовано на http://richhewlett.com 12 июня 2021 г.