ZX Spider 128 — современный клон ZX Spectrum

Как я уже писал ранее, я приобрёл оригинальный ZX Spectrum +2, чтобы поиграть с настоящих дискет. Затея, в принципе, удалась: подключив к нему современный контроллер дисковода Beta Disk 128X, а к тому — дисководы 5,25″ и 3,5″ я смог загружать игры и программы с имеющихся дискет.

Однако, ZX Spectrum +2, который я приобрёл, обладал одним стабильным и непонятным глюком, который я никак не мог победить, поскольку выявить его причину оказалось очень непросто. Глюк оказался весьма специфичным: в играх при нажатии клавиш пробела, N и M (ну и всего этого ряда кнопок) происходило либо зависание, либо порча каких-то данных (иногда это проявлялось на экране). В итоге, вместо того чтобы играть на Спектруме, я большую часть времени пытался его починить. К лету меня это утомило, надо было что-то делать, чтобы всё-таки иногда играть, а не только паять.

Сначала я подумывал прикупить ещё один ZX Spectrum +2 (пусть и нерабочий), чтобы из 2-х сделать хотя бы один, но идею эту успешно подавил в зародыше. А то у меня могло бы получиться два нерабочих ZX Spectrum, что в планы не входило никак. Мне нужен был гарантированно работающий Спектрум, без всяких приколов вроде зависаний. А значит надо было брать либо проверенный оригинальный (но это дорого!), либо современный клон, но со спектрумовской шиной, чтобы можно было использовать имеющийся контроллер. При этом его цена должна была быть минимальной: платить больше 5 тысяч рублей не хотелось вообще (а за полторы-две тысячи вообще ничего нет, даже не ищите…).

2 + 0 -

ZX Spectrum +2: магнитофон и контроллер дисковода

Наконец-то, когда к ZX Spectrum +2 всё-всё подключили: питание, телевизор (или монитор), джойстик, мышь и прочее, теперь можно и позапускать всякое программное обеспечение (и особенно игры), которым так богато спектрумовское наследство.

 

2 + 1 -

ZX Spectrum +2: блок питания и подключение к телевизору

После приобретения ZX Spectrum +2 остро встал вопрос по включению этого персонального компьютера и подключению к нему всевозможной периферии и особенно — монитора. Но начать надо с самого главного — и, как ни странно, это блок питания.

 

1 + 0 -

ZX Spectrum +2: приобретение

После приобретения ZXDOS+ мой зуд «спектрумирования» не только не остыл, но даже наоборот. И хотя сама по себе коробочка ZXDOS+ меня полностью удовлетворяла по части реализации ZX Spectrum, а возможность использования SD-карты в качестве огромного хранилища игр бесконечно радовала, но меня постоянно грыз червячок — носитель-то не настоящий, не олдовый! Да, конечно, в ZXDOS+ есть магнитофонный вход и можно было загружать программы с ленты, приспособившись записывать кассеты на магнитофоне, но так получилось, что я вообще не фанат загрузки программ с ленты. Да, конечно, у друзей и родственников я загружал с магнитофона игры, но этот процесс у меня ничего кроме раздражения впустую пропадавшим временем, которое хотелось потратить на игры, не вызывал. А мой первый Спектрум (Pentagon 128) был сразу с 5,25″ дисководом и загрузка программ с него вызывала только приятные эмоции — насколько это было быстро, чётко и понятно. Не нужны были эти перемотки кассет на карандаше, слушание писка загрузки по 5-10 минут, я был избавлен от негативных эмоций, если компьютер через несколько минут писал знаменитую фразу «R Tape loading error«.

Ещё в начале года я озаботился тем, чтобы получить возможность загружать программы с настоящих дискет, тем более что у меня завалялось в гараже несколько десятков дискет 5,25″ и 3,5″. Для начала я прошёл квест на современном ПК: подобрал дисководы, установил ОС с прямым доступом к дисководу и, наконец, нашёл эмулятор, который отлично работал с реальными дисководами. Далее нужно было как-то подключить дисковод к какому-нибудь ZX Spectrum, но у меня не было ни контроллера дисковода, ни какого-либо ZX Spectrum, кроме ZXDOS+. Но у ZXDOS+ был разъём ZX BUS и поскольку информации о том, каким образом этот самый разъём реализован у меня не было, я понадеялся, что он реализован надлежащим образом.

Разъём ZX BUS на ZXDOS+

 

0 + 0 -

Новая «сводная» прошивка ZXDOS+

Пока я ковырялся с темой реальных дисководов и дискет, а потом решал проблемы с купленным ZX Spectrum +2 (как-нибудь опишу), как-то я упустил момент выхода (17 мая 2021) финальной версии новой прошивки для ZXDOS+, хотя канал (@zxdosfpga) в Telegram я регулярно просматриваю (хоть он и на испанском) и был в курсе её разработки. Но тут я всё-таки её опробовал и продолжу серию статей про это устройство.

 

0 + 0 -

Джойстики и геймпады для ZXDOS+

Давным-давно, когда у меня ещё не было ПК на архитектуре x86, у меня был Пентагон — 128-килобайтный советско-российский клон широко известного на тот момент ZX Spectrum. Выглядел он примерно вот так:Компьютер был великолепен своим корпусом со встроенным 5-ти дюймовым дисководом. Но вот клавиатура была так себе. В отличии от «Символа» он был снабжен оригинальным процессором Z80 и стандартным меню Пентагона с вызовом TR-DOS 5.03. Входы-выходы были стандартные советские DIN5: выход на телевизор был RGB-стандарта, стерео-выход на колонки и вход для Kempstone-джойстика. И вот на джойстиках хотелось бы сегодня остановиться подробнее.

0 + 0 -

Реальные дисководы, ZXDOS+ и Beta Disk 128X

Немного прервался мой цикл обзора миниустройства ZXDOS+, которое мне понравилось своей идеей и неплохой аппаратной реализацией. Если вкратце, это устройство с FPGA-чипом, которое можно перепрограммировать на лету с помощью специально созданных ядер, и использовать его как почти полноценный 8-битный компьютер (в том числе — и для ZX Spectrum). Если подробно — то надо читать с начала.

Но я не просто так отвлёкся, просто меня очень заинтересовал момент с работой с реальными источниками данных для ZX Spectrum. И если в ZXDOS+ присутствует вход для работы с магнитофоном, т.е. можно полноценно «наслаждаться» звуками закачки игр с кассет, то вот дискеты TR-DOS хотя и поддерживаются, но только в виде эмуляции их закачки с TRD-образов с помощью esxDOS.

Правда, для начала неплохо было бы раздобыть сами дисководы (поскольку у меня осталось от всех моих запасов только пачка 5-дюймовых дискет), проверить их работоспособность и как-то с ними провзаимодействовать. Поэтому и случился этот двухмесячный забег «по граблям»: с поиском и покупкой нужных устройств, установкой и настройкой ОС и поиском нужного эмулятора ZX Spectrum.

0 + 0 -

Использование реальных дискет ZX Spectrum. Часть 3: эмуляторы и утилиты

Дисководы я подобрал, операционные системы для проверки работы дисководов в эмуляторах ZX Spectrum установил. Осталось подобрать подходящий эмулятор, который работал бы с реальными дисководами и устраивал бы всем остальным.

Эмуляторов ZX Spectrum существует целый вагон и ещё состав впереди него. Даже для DOS была написана целая куча, а про Windows и говорить нечего. Но мне нужен был тот, который работает с реальным дисководом, а не только с образами дискет.

 

3 + 0 -

Использование реальных дискет ZX Spectrum. Часть 2: установка ОС с прямым доступом к дисководу

Ещё в конце 90-х, когда у меня появился первый ПК на процессоре Пентиум, я использовал его в качестве ZX Spectrum с помощью эмуляторов (потому что у моего Спектрума стала «отваливаться» клавиатура). И эти эмуляторы в MS-DOS могли работать с реальными дисководами и дискетами TR-DOS (Beta Disk). Тогда-то я и превратил в образы дискет большую часть своей коллекции, кроме тех, которые были с защитой от копирования (с ними эмуляторы отказывались работать напрочь, даже есть снять полный образ специальными утилитами).

То есть необходимо было только подключить дисководы к ПК, установить MS-DOS, засовывать дискеты в щель дисковода и наслаждаться трелями перемещения его головки во время чтения/записи. Но на самом деле задача оказалась (как и всегда) немного сложнее и со множеством всяких проблем. Поэтому — по очереди. Дисководы я уже подобрал, теперь надо установить операционку на подходящее железо (тем кому про устаревшие операционные системы неинтересно — пропускайте эту часть). В качестве подходящего, как я уже упоминал, пошёл мини-ПК, собранный в 2020 году из всяких остатков. Там оказался нужный для дисководов разъём FDD, который уже давно «выпилили» с современных материнских плат. 

2 + 0 -

Использование реальных дискет ZX Spectrum. Часть 1: Дисководы

Написал уже несколько статей на тему интересной железной реализации ZX Spectrum — ZXDOS+ от испанского разработчика Antonio Villena. Устройство хорошее, есть поддержка чистого ZX Spectrum и даже ZX Spectrum Next, можно загружать программы с помощью аудиовхода с магнитофона, и даже реализована поддержка основных форматов файлов TAP и TRD (с помощью esxDOS), которые можно хранить на SD-карте. Но вот эта-то эмуляция дискет и грызла меня, поскольку хотелось «железной» реализации и настоящих дискет, недаром у меня до сих пор лежат несколько калибра 5,25″, которые я покупал ещё в 90-е годы.

Написал уже несколько статей на тему интересной железной реализации ZX Spectrum — ZXDOS+ от испанского разработчика Antonio Villena. Устройство хорошее, есть поддержка чистого ZX Spectrum и даже ZX Spectrum Next, можно загружать программы с помощью аудиовхода с магнитофона, и даже реализована поддержка основных форматов файлов TAP и TRD (с помощью esxDOS), которые можно хранить на SD-карте. Но вот эта-то эмуляция дискет и грызла меня, поскольку хотелось «железной» реализации и настоящих дискет, недаром у меня до сих пор лежат несколько калибра 5,25″, которые я покупал ещё в 90-е годы.

0 + 0 -

ZXDOS+ в качестве ZX Spectrum Next

Продолжаем обзор интересного устройства родом из Испании: ZXDOS+

Первое впечатление у нас уже было, BIOS и его прошивку разобрали, использование его в качестве полноценного ZX Spectrum вместе с esxDOS тоже оценивали. И теперь надо двигаться дальше — проверять остальные возможности, т.е. «ядра», которые могут быть залиты в прошивку FPGA-платы, находящейся в основе этой коробчонки.

И начнём с того, что меня сразу зацепило при первом просмотре информации об этом устройстве — поддержке работы в режиме ZX Spectrum Next. Заинтересовало потому что изначально я его и хотел прикупить, но каждый раз жаба брала за горло и уговаривала, что эмуляторы, мол, нынче хороши… Да, но хоть эмуляторы очень хороши, но запускать каждый раз комп ради загрузки эмулятора — это излишнее расточительство и времени и денег. С другой стороны, ZX Spectrum Next занимает всё-таки прилично места, а если его каждый раз вытаскивать и подключать к монитору, то это будет напрягать. И вот пока я сам с собой боролся — вот тут и наткнулся на этот интересный девайс, который как раз почти ничего не занимал, да и стоил заметно дешевле Next‘а. При этом, судя по обзору, ничем от него при работе не отличался.

1 + 0 -

ZXDOS+: ядро Spectrum и esxDOS

Ну и наконец-то мы дошли до того самого, ради чего это устройство и создавалось — для использования его в качестве полноценного ZX Spectrum да ещё и с наворотами. Как уже упоминалось в первой части, у данного устройства есть всё необходимое, чтобы нормально функционировать как полноценный Спектрум, только у него вместо оригинальной схемы есть FPGA, в которую можно заливать нужную прошивку (и ядро оригинального Спектрума там уже есть и причём загружается по умолчанию), и есть отдельные входы для PS/2-клавиатуры и PS/2-мыши (причём можно использовать и переходники с USB, лишь бы сам протокол был реализован в этих устройствах ввода), есть VGA-выход, корректно выдающий картинку на устройства, которые поддерживают вертикальную частоту развёртки 50-60 Hz, есть два гнезда для джойстика (причём их тип можно выбрать в BIOS), есть стандартный отдельный аудиовыход, есть даже аудиовход для загрузки программ с магнитофона и спектрумовский слот расширения. Полный фарш. Но есть и ещё одна приятная особенность — это наличие слота для MicroSD-карты и возможностью загружать программы с карты туда вставленной. 

0 + 0 -

BIOS и прошивка новых «ядер» в ZXDOS+

В предыдущей части мы кратко ознакомились для чего нужно устройство типа ZXDOS+ и поняли, что в чистом виде после покупки оно представляет из себя ZX Spectrum 48 с возможностью писать программы на BASIC, загружать и сохранять данные с помощью аудиовыхода (например, подключая его к магнитофону, чтобы грузить оригинальные кассеты с играми для ZX Spectrum). Но этого явно недостаточно, чтобы оправдать цену в 130 евро: проще было бы на барахолке купить любой из отечественных аналогов-раритетов, доживших до наших дней (от 2 до 5 тысяч рублей в зависимости от состояния).

Данное же устройство обладает гораздо большими возможностями, чем это можно было бы подумать, и способно полноценно «эмулировать» не только ZX Spectrum (причём с добавочными возможностями), но и другие 8-битные ПК. Кавычки здесь не просто так, а потому что как таковой эмуляции (т.е. когда на одной аппаратной платформе запускают программы другой аппаратной платформы) нет. Потому что «внутре у неё неонка», а точнее FPGA (ПЛИС), т.е. перепрограммируемый чип, который с нужной прошивкой обретает все черты оригинальной платы и, по сути, ничем от неё (с точки зрения схемотехники) не отличается (всякие там нюансы конкретных реализации и токи утечки опустим, как незначительную величину). То есть то, ради чего раньше приходилось разводить и паять отдельную плату, теперь можно просто заменить программной реализацией схемы, закачав потом её в кристалл FPGA. Ну и понятно, что записать можно туда не одну-единственную схему, а множество, лишь бы железо выдержало. Поэтому и ZXDOS+ можно использовать не только как ZX Spectrum, но и как Amstrad CPC, MSX, Nindendo NES и всякое другое… Лишь бы были созданы специальные прошивки для этих устройств. Ну и, по умолчанию, ZXDOS+ идёт сразу с несколькими этими «ядрами» (cores): ZX Spectrum, ZX Spectrum Next, MSX, Amstrad CPC, Acorn Atom. При этом другие ядра можно тоже скачать с сайта и установить.

0 + 0 -