Дисководы я подобрал, операционные системы для проверки работы дисководов в эмуляторах ZX Spectrum установил. Осталось подобрать подходящий эмулятор, который работал бы с реальными дисководами и устраивал бы всем остальным.
Эмуляторов ZX Spectrum существует целый вагон и ещё состав впереди него. Даже для DOS была написана целая куча, а про Windows и говорить нечего. Но мне нужен был тот, который работает с реальным дисководом, а не только с образами дискет.
Z80 + TR-DOS
Под конец 90-х на Pentium 120 МГц я пользовался эмулятором Z80 Г.А.Лунтера адаптированным В.А.Мочалиным для работы с TR-DOS, но сейчас он сразу отказался работать:
UKV Spectrum Debugger
Кроме этого я использовал ещё иногда UKV Spectrum Debugger от Константина Углекова, поскольку он позволял загружать образы дискет FDI. Но его юзабилити было просто ужасным, поскольку он и создавался скорее для отладки, чем для использования обычными людьми, да и ошибок в нём хватает. Ну и посмотрите просто на скриншот и добавьте к этому, что вводить имена файлов (с путями) нужно было руками, диалогового окна для этого предусмотрено не было.
И хотя сам UKV работал нормально и даже звук в DOS работал, но с реальными дисками не смог работать (опять слишком быстрый ПК), хотя и пытался - диск раскручивал и лампочкой моргал. Побороть запуском эмулятора с задержкой раскрутки дисковода не получилось (ключ -d255 при запуске).
ZX-Spectrum
Аналогичная ситуация с эмулятором Николая Шалаева (ZX-SPECTRUM). И хотя он и не поддерживает прямую работу с дискетами непосредственно в эмуляторе, зато в него встроена утилита по чтению/записи дискет в файлы формата TRD. Но и эта утилита тоже при попытке чтения дискет к дисководу обращалась, но потом выдавал ошибку. Зато посмотрите интерфейс этого эмулятора:
Выглядит вполне неплохо, пользоваться заметно удобнее, чем UKV. И даже есть вариант модулей расширения для эмулятора.
Real Spectrum
Также я был в курсе, что есть ещё импортный эмулятор Real Spectrum от RAMSOFT, но в то время он то ли тормозил у меня, то ли вообще не запускался, поэтому я его вообще не использовал. А больше, как оказалось, ничего работающего с настоящими дисководами и не было...
Зато Real Spectrum порадовал просто донельзя. Просто отличный эмулятор, под DOS - вообще без конкурентов. Авторам - респект и уважуха. Мало того, что качество эмуляции на высоком уровне (в том числе 100% поддержка мультиколора), поддержка кучи внешних интерфейсов, так ещё и юзабельность на уровне. Управление сделано хоть и с помощью функциональных кнопок (а не общего меню), но они вызывают отдельные окошки-меню, с помощью которых можно настроить кучу параметров и выполнить множество действий.
Самое для меня главное, что с помощью кнопки F6 можно выбрать для использования настоящий дисковод:
Если же дисковод не работает, то стоит проверить установки для дисководов с помощью Alt-F6 , возможно выставлен неверный тип:
С помощью данного меню можно также считывать дискеты и записывать на них TRD-файлы:
Однако, надо не забывать что дискеты должны быть либо типа DD (Double Density), либо должны быть заклеены соответствующие отверстия в 3,5" HD-дискетах. Для 5,25" HD-дискет ничего вроде заклеить нельзя, работать должно и так, но не факт, что читаться потом будет нормально (но это я не проверял, поскольку дискет таких у меня нет, а быстро купить не получится).
При попытке записать на не заклеенную дискету будут выдаваться ошибки записи и в итоге картина записи будет примерно такой:
Ну и про остальные возможности. Кнопка F1 показывает собственно те функции, которые можно вызвать другими функциональными кнопками:
Можно выбрать одну из моделей ZX Spectrum (F3), их не много, но есть все необходимые (а для Пентагона можно выбрать и вариант с 512 Кб). Но хоть по Ctrl-F1 можно поменять скорость эмуляции, но это работает как-то странно, выглядит не как простой подъём частоты процессора. В тех играх, где это должно влиять только на частоту кадров - ускорялось всё.
По F4 вызывается окно настроек джойстиков (можно выбрать из установленных в системе или набор кнопок), мыши и даже такого редкого вида манипуляторов как световой пистолет. Ctrl-F4 вызывает окно параметров IDE/ATA - можно подключать образы жёстких дисков.
F5 открывает снэпшоты (снимки памяти), а F6, как уже показано выше, реальные дискеты или образы дискет в формате TRD (жаль FDI не поддерживается). F7 позволяет открыть образ ленты или использовать физический вход через аудиокарту. Alt-F7 настраивает параметры "ленты", а Shift-F7 - просматривать содержимое "ленты":
Разрешение экрана настраивается по F11, а настройки экрана - по Alt-F11:
В Windows с настройками вывода на полный экран вышло немного странно. Чтобы окно оказалось развернутым на всё пространство монитора, пришлось вместе с опцией "Full screen " выставлять и "Pixel scaler 2X ". В дополнительных же настройках внезапно обнаружилась возможность записывать экран и звук в видеофайл формата AVI. Достаточно неожиданная особенность. Вот по Alt-F8 можно ещё записывать и просматривать ролики в формате RZX - но это я видел у многих эмуляторов.
F12 и Alt-F12 вызывает настройки звука:
Можно просто записывать звук. А мне тут показался интересным факт возможности вывода звука музыкального сопроцессора AY через LPT-порт ПК.
Ну и вишенкой на торте - демо-режим (F8 ) с возможностью проигрывания музыкального формата AY:
Ну а про дебаггер, пожалуй, и упоминать бы не стоило:
И вообще это просто комбайн какой-то с кучей явных и неявных наворотов. Такой подход к делу можно только уважать. Жаль, что эмулятор забросили, но он уже и так прекрасен.
Я бы заменил им свой текущий эмулятор FUSE, но Real Spectrum не работает в Linux, а под современными версиями Windows обладает несколькими особенностями, которые мешают с ним нормально жить: во-первых, на широких экранах не срабатывает переключение в режим Full screen , приходится довольствоваться всего лишь двойным увеличением, что на 25" экране смотрится издевательски. Во-вторых, эмулятор хотя и видит длинные имена файлов, но вот русский язык в них - не понимает и не даёт ничего делать. В-третьих, местами работает нестабильно, не так как под Windows XP или DOS.
Дисковые утилиты
Существует множество разных дисковых утилит, большинство собрано здесь. Дисковые утилиты искать надо в разделе "Работа с ZX файлами на PC" поиском по "TR-DOS".
Во-первых, меня интересует утилиты для копирования с дискет и на дискеты. Наиболее универсальная утилита для DOS - это Teledisk:
С помощью этой программы можно скопировать любую защищенную дискету. Образы снимает в собственном формате TD0, причём умеет их неплохо жать. Подобные образы ни один из существующих эмуляторов не понимает, приходится их конвертировать. Я использую в основном TRX2X Converter, он может работать с форматами UDI, FDI, TRD, SCL, TD0, FDD, но работает только под Windows. Под DOS есть TeleDisk Converter.
Под Windows для анализа дискет и сохранения их в образы есть ZX Disk Studio:
Для просмотра и изменения содержимого образов дискет и реальных дискет под DOS я использую Spectrum Navigator:
Он позволяет также скопировать любой файл с дискеты в формате Hobeta. А под Windows проще всего использовать FAR Plug-ins:
Они позволяют не только просматривать и изменять дискеты и образы дискет, но и создавать образы дискет, форматировать реальные диски и работать с архивами ZXZip.
Существует ещё масса других утилит, решающих те или иные задачи, но я пользуюсь в основном вышеперечисленными (плюс чтение/запись дискет в Real Spectrum ). По крайней мере, эти я проверил и они работают, а многие другие уже не работают на новых ПК.
Итог
В конце-концов, после всех мытарств мне удалось более или менее решить задачу работы с реальными дискетами ZX Spectrum формата TR-DOS. Да, пришлось использовать обычный (и немного устаревший) ПК и эмулятор, да ещё и Windows XP устанавливать, но теперь я получил доступ к дискетам. Теперь можно и с них считать данные и записывать на них, хотя эмуляторы будут понимать только диски без защиты. Зато другими утилитами (например, Teledisk под DOS) вполне можно сделать образы дискет даже защищённых от копирования. А также существуют программы для прямого обращения к содержимому дискет TR-DOS, например, Spectrum Navigator в DOS или плагины для FAR в Windows. И даже если использовать настоящий Спектрум с дискетами, то наличие подобного ПК здорово упрощает жизнь спектрумиста.
На будущее осталось избавится от Windows XP и остаться на FreeDOS, но для этого надо бы решить вопрос со звуком. В идее подобрать подходящую аудиокарту для slim-корпуса я уже разочаровался, но зато меня зацепил интересный вариант, который я заметил в эмуляторе Real Spectrum - вывод звука музыкального сопроцессора AY через LPT-порт. Оказывается есть и такое, люди собирают подобные схемы:
Сам я, пожалуй, даже такое не спаяю (да и запчастей нет), но у одного умельца я заказал изготовление такой штуки, и как только она будет сделана, попробую её прикрутить либо снаружи, либо внутри корпуса ПК, благо там есть и внутренний разъём LPT и питание от USB, а звук можно вывести на внешний разъём корпуса.
Так что периферия ZX Spectrum (дисководы и звук) потихоньку у меня переходит из чистой эмуляции в железную реализацию. Всё только начинается!