Найти в Дзене
Дюк Юсупов

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

Оглавление

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

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

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

Ну а потом, когда «пыль улеглась», оказалось, что мне гораздо приятнее запихивать в нутро дисковода дискеты, чем открывать их в браузере esxDOS. Это как-то настраивает на более вдумчивое взаимодействие, чем прыганье по каталогам и моментальные загрузки. Метод влияет на восприятие. Так и игра, загруженная через магнитофон в течении 5-10 минут, требует отдания ей самой внимания как минимум не меньшего количества времени, а то и значительно большего. Аналогично, цифровые копии музыки, с лёгкостью загружаемые и перемешиваемые в зависимости от состояния настроения, дают впечатление отличное от прослушивания этих же композиций в составе магнитоальбомов или на виниле — тут-то ты не будешь скакать и перематывать и перекладывать кассеты (или перекладывать диски и переставлять иглу) каждые две-три минуты. Да, в настоящее время стало гораздо лучше и удобнее, но и фокус восприятия куда-то уехал.

Но я же не просто так покупал себе ZXDOS+! Я хотел избавиться от эмуляторов, получив удобную «железную» штучку, а в итоге опять получил эмулятор (пусть и на мини-ПК да под DOS и Windows XP), но с реальными дискетами. Это положение надо было как-то исправлять.

Варианты решения

Подходящего Спектрума с разъёмом FDD у меня уже давно нет. Покупать какой-то древний российский клон 90-х годов нет смысла. По крайней мере, для меня — я просто не смогу либо привести его в рабочий вид, либо починить после какой-нибудь поломки (вот посмотрите, для иллюстрации, на эти мучения специалиста). Да и если судить по Авито, то корпуса с клавиатурами выживших Спектрумов обычно имеют вид такой, как будто их сначала нашли на помойке, потом собрали, потом долго и вдумчиво эксплуатировали (попутно ремонтируя), а потом оно провалялось на чердаках и гаражах и, в итоге, было найдено и выставлено на барахолку по цене нового ПК.

Идею спаять самостоятельно чего-нибудь новенькое я сразу отбросил ввиду отсутствия у меня требуемых навыков. Для начала было бы неплохо сильно прокачать навыки пайки, особенно мелких компонент, ну и приобрести все необходимые устройства (с одним паяльником много не напаяешь). Ну и мало спаять какую-то из схем уже классического «Ленинграда» или «Пентагона», надо ещё и кучу контроллеров (дисковод, звук, клавиатура) тоже спаять и заставить всё это работать. Насмотревшись на эти приключения в статьях и в видео (например — раз и два) — желание этим заниматься у меня пока отпало.

Можно было бы подумать о приобретении платы ZX Evolution, но выкладывать ещё 9 тысяч только за плату, потом искать к ней корпус с бесшумным блоком питания… И это притом, что у меня уже есть ZXDOS+ на том же FPGA.

Купить что-то фирменное от Sinclair или Amstrad тоже спорный вариант: они тоже весьма древние и могут просто не заработать или глючить, а самое главное: дисковый стандарт TR-DOS (BetaDisk) оказался развитым только в Восточной Европе и России, так что на западе таких Спектрумов просто не выпускали. Вариант ZX Spectrum +3 с дисководом — это совсем не то, что нужно, у него свой формат дискет, не совместимый с TR-DOS.

Ну и проблема покупки на Ebay тоже встаёт во весь рост. Большинство лотов продавцы в Россию не отправляют, а если и отправляют, то цены за доставку достигают нескольких тысяч рублей. И все остальные прелести аукционов: товар можно оценить только по фото, часто пишут про то что товар «не тестировался» и понимай как хочешь, а если уж пишут «работает», то и цену заламывают от души. Отдельно доставляет ставка в последнюю секунду, которую перебить уже не успеваешь…

-2

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

Beta Disk 128X

В итоге, ещё покопавшись на Ebay я нашел практически идеальный вариант от одного товарища из Чехии: Beta Disk 128X:

Корпус, конечно же, кустарный (сделан на 3D-принтере), но очень прочный, разбирается и собирается обратно без проблем. Плата внутри очень качественно спаяна, есть вход для питания платы, наружу выведены диоды активности и два переключателя версии TR-DOS и кнопка для генерации NMI (немаскируемого прерывания). Сам разъём шины распаян и также выведен насквозь назад — для возможности подключения следующего устройств (у автора этого девайса в продаже на Ebay постоянно появляются разные устройства). И есть хороший мануал, с описанием, полной разводкой платы и всех необходимых компонент.

Заявлена полная совместимость с ZX Spectrum 48KB, 128KB «toast rack» и «серым корпусом» 128K +2 от Amstrad (самый первый после продажи ZX Spectrum этой компании). Однако, с остальными машинами от Amstrad данный интерфейс уже не совместим из-за нестандартных сигналов ROMCS и несовместимой ROM.

Поскольку в ZXDOS+ тоже есть разъём расширения, я решил сначала купить Beta Disk 128X и протестировать возможность их совместной работы.

Вот он — подходящий разъём в ZX DOS+
Вот он — подходящий разъём в ZX DOS+

Вместе слепленное это «чудо-юдо», смотрится… несколько странновато:

Маленькая коробочка — ZXDOS+, побольше — контроллер BetaDisk, ещё больше — дисковод 5,25″
Маленькая коробочка — ZXDOS+, побольше — контроллер BetaDisk, ещё больше — дисковод 5,25″

Но самое печальное, что вместе оно не заработало. В стандартном ядре Спектрума ZXDOS+ при включении просто постоянно горел индикатор активности передачи данных Beta Disk 128X. Смена ROM на разные версии ZX Spectrum, отключение DivMMC и вообще поддержки SD-карты не помогали. Уже написав разработчику ZXDOS+ я узнал, что в ядре ZX Spectrum для ZXDOS+ вообще не задействована данная шина, а используется она только в специальном ядре для ZX Spectrum Next, но самим разработчиком была оттестирована только работа картриджа ZX Interface 2 и ZX Printer.

Я, конечно, погонял ещё в разных режимах ядро ZX Spectrum Next, но добиться работы устройства не смог. Хотя индикатор активности уже не светился постоянно и я даже получил обращение к этому устройству — индикатор однократно мигал именно в момент обращения к картриджу или при попытке вызвать из BASIC TR-DOS с помощью команды RANDOMIZE USR 15616. Но получал в итоге только зависание или сброс. Скорее всего, несовместимость запрограммированной разводки с реально подключенной.

Я попробовал даже ядро ZX Spectrum 48 от Kyr — это, по крайней мере, позволяло протестировать устройство ещё на одном альтернативном ядре. Тут ситуация была даже интереснее — устройство всё равно не работало как должно было бы, но если ядро запустить с поддержкой esxDOS, то при работе с образами дискет TRD, лампочки активности Beta Disk 128X мигали абсолютно синхронно операциям чтения/записи. Складывалось впечатление, что это ядро может даже и заработало бы с шиной, но сигналы и прерывания от неё не доходят, а преимущество имеют прерывания от интерфейса divMMC. Интересно, а что было бы. если бы поддержку divMMC и esxDOS полностью вырезать из этого ядра?

Результат

Пока не получен.

Жаль, что разработчик ZXDOS+ не добавил в прошивку нормальную поддержку шины расширения ZX Spectrum , хотя в своё устройство зачем-то разъём этой шины вставил. Скорее всего, сам разработчик дорабатывать в этом направлении уже ничего не будет, потому что с подобным расширением вышли только ZXDOS+ и neptUNO (а в модели gomaDOS+ сверху на разъёме распаян SD-слот), а сейчас он больше занят развитием проекта MiSTer, в котором подобного слота расширения нет. Надеяться на то, что кто-то из других разработчиков это сделает тоже стремится к нулю, поскольку непонятно ради каких расширений этим заниматься, а Beta Disk, как я уже писал ранее, на Западе не распространён.

Мне же теперь осталось подобрать такой ZX Spectrum, для которого подойдёт уже приобретённый Beta Disk 128X. И даже если приобретенный на аукционе экземпляр окажется нерабочим, у меня всё равно останется оригинальный корпус с клавиатурой, в который можно будет воткнуть оригинальный клон Пентагона от того же чеха, который разработал Beta Disk 128X: ZX Nucleon 512 Kb:

Меня он заинтересовал как раз тем, что представляет собой обычный такой современный клон ZX Spectrum (не на FPGA) со стандартным слотом расширения, а также что эта плата спокойно устанавливается в стандартные корпуса от ZX Spectrum (48, 48+, 128).

Минусы у этой платы, на мой взгляд, тоже есть. Например, отсутствуют порты джойстиков. Правда производитель предлагает приобретать внешний интерфейс:

Kempston Interface
Kempston Interface

Ну и жаль, что сразу не сделан вход для PS/2 клавиатуры. Был бы не лишним. Контроллер клавиатуры можно приобрести и в России, но лучше, если бы был бы встроенным сразу в плату, но, видимо, места не нашлось.

P.S. Я, конечно, сомневаюсь, что в Дзене много поклонников ZX Spectrum, но всё-таки если понравилось - ставьте палец вверх, ну а не понравилось - ставьте палец вниз и пишите в комментарии, что именно. Если возникнут вопросы - тоже пишите в комментарии , обязательно постараюсь ответить. Ну и подписывайтесь , если эта тема вам интересна.