Моим первым компьютером был 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-х годов.
Теперь мне просто нужно научиться программировать лучше, чем в детстве… ссылки ниже должны помочь.
Полезные ссылки
- SpectNetIDE: https://dotneteer.github.io/spectnetide/
- Компилятор Boriel: https://github.com/boriel/zxbasic
- Эмулятор Qaop JS: http://torinak.com/qaop
- Плагин ZX Basic VS Code: https://marketplace.visualstudio.com/items?itemName=jsjlogin.zxbasic
- ZX Basic: https://zxbasic.readthedocs.io/en/latest/index.html
- Эмулятор JS Speccy: https://jsspeccy.zxdemo.org/
- ZX Coding Jam и примеры приложений: https://itch.io/jam/zx-spectrum-basic-jam
- Основная информация о Синклере: https://worldofspectrum.org/faq/reference/BASICReference.htm
- БАСин: https://documentation.help/BASin/index.html
- Базовое руководство по Spectrum 48: https://dotneteer.github.io/spectnetide/spectrum/basic-toc.html
- Базовое руководство по ZX: https://worldofspectrum.org/ZXBasicManual/
- Мир Спектрума: https://worldofspectrum.org/
- Эмуляторы: https://worldofspectrum.org/tools/emulators
Первоначально опубликовано на http://richhewlett.com 12 июня 2021 г.