ZX Evolution: базовая конфигурация (baseconf)


Сразу после статьи про сборку ZX Evolution в микро-корпусе я намеревался сделать обзор программной части этой замечательной ZX-совместимой машины, но просто переписывать руководство пользователя было бы скучно, нужно было поэкспериментировать, а для этого требовалось время. И тут ещё внезапно я починил свой ZX Spectrum +2, затем занимался его модификацией… А потом я ещё приобрёл отечественный клон 90-х годов Дельта-С02 48 Кб и на него ещё ушла куча времени (до сих пор не могу допинать divMMC до работоспособного состояния). Из-за всего этого данная статья отложилась аж на полгода.

Ну вот сейчас всё-таки дошли руки и я расскажу о своих мыслях по поводу прошивок и ПО, которое на ZX EVO можно установить. Сначала речь пойдёт о прошивке BASECONF (на то она и базовая), затем о прошивке TS-Conf. Ну а вопрос с установкой и использованием NedoOS и TaSiS рассмотрю в следующих частях.

BASECONF

Именно с этой прошивкой вы скорее всего получите плату, если закажете её у кого-нибудь, кто её официально (или не очень) производит и продает. Я, как и многие, брал плату у Виталия (он же tetroid). Плата пришла, кстати, не с последней версией базовой конфигурации и даже с совсем не новой версией EVO Reset Service (сервисная прошивка). Но это имеет мало значения, поскольку, наверное, 99% пользователей тут же накатывают т.н. «двойную конфу», в которой возможно использование как самой базовой конфигурации, так и конфигурации TS-Conf в качестве пользовательской прошивки и возможностью переключения между ними сочетанием кнопок (но об этом далее). Поэтому в дальнейшем речь пойдет именно о таком варианте.

Тут только надо понимать, что двойная конфигурация не поддерживается разработчиками Baseсonf, поэтому хотя новые версии сервисной прошивки и продолжают выходить (только в 2022 за полгода было 3 релиза), но для того кто использует двойную конфигурацию это не особо важно, потому что таким способом можно использовать только базовую прошивку. Накатив же новую версию сервисной прошивки поверх старой, но не обновив базовую прошивку вы получите сообщение «Incorrect FPGA zxevo_fw.bin«. Вот, пожалуйста:

А обновив прошивку BASECONF на последнюю версию (зажав кнопку soft-reset при старте ZX EVO с кнопки hard-reset) сообщение о некорректной версии уйдёт и вы действительно получите последнюю версию базовой прошивки, но установка поверх неё пользовательской прошивки TS-Conf ничего не даст (что логично).

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

Стартовый экран

Начну с того, что начальный экран EVO Reset Service мне очень понравился. Во-первых, он содержит в себе все самые необходимые настройки (слева), во-вторых, удобное меню справа, в-третьих, управление возможно как курсорными кнопками (в том числе и с реальной спектрумовской клавиатуры), горячими клавишами и даже мышью. При этом на экране ещё отражаются версии ПО, примонтированные образы дискет, дата и время, тайминги процессора (48, 128, Pentagon), видеорежим (TV, VGA). Всё выделено разными цветовыми кодами, что позволяет одним взглядом оценивать ситуацию, и практически сходу доступны вообще все возможности прошивки. И параметры можно быстро переключить, и видеть их состояние, и перейти к использованию софта: и с дискет, и с магнитофона, и с жесткого диска, и с SD-карты, и даже с CD-ROM. Это, пожалуй, лучшее, из того что я вообще видел с точки зрения юзабилити на Спектруме.

С помощью пункта меню «Z. TR-DOS boot» можно запустить встроенное меню для запуска содержимого дискеты в дисководе по умолчанию (переключается кнопками 1-4). Если дискеты в дисководе нет (или не примонтирован образ дискеты с помощью пункта меню «F. File browse«), то будет выдано окно с ошибкой:

Какая-то ребяческая надпись, вам не кажется?

Кроме дисководов 1-4 (A, B, C, D) есть ещё RAM-диск, он же Virtual Drive, и ему тоже задается одна из букв дисководов. Приходится постоянно контролировать корректность этой буквы, и то что параметры отображены сразу в левой части экрана очень удобно. А RAM-диск нужен как минимум потому, что образы дискет в формате SCL и FDI монтируются только в него. Только полные образы TRD (размером в 640 Кб) монтируются в любой из 4 дисководов. При этом, если есть физический дисковод с такой буквой, то он будет иметь более низкий приоритет и работа будет идти с образом дискеты.

Монтирование образа дискеты

Ну и тут надо понимать, что если образ дискеты смонтирован на дисковод, то изменения сохраненные на него будут сохранятся в сам образ дискеты, а вот если образ дискеты развернут на RAM-диск, то изменения сохранятся не будут и это ограничивает применимость образов в SCL и FDI форматах: сохранения игр на них сделать не получится.

Кроме пункта «Z. TR-DOS boot» для запуска дискет можно использовать пункт меню «S. TR-DOS«. Для чего он нужен? Да потому что он позволяет загрузить дискеты с дисковой операционной системой отличающейся от стандартного формата TR-DOS, например, iS-DOS и TASiS. Хотя можно перейти в бейсик с помощью пунктов меню «I. 48k basic» и «U. 128k basic«, а дальше уже перейти в TR-DOS с помощью меню Спектрума 128 Кб или с помощью команды RANDOMIZE USR 15616.

Кроме дискет или их образов можно также загружаться с ленты или с помощью её эмулятора с образов формата TAP (а вот TZX не поддерживается). Но надо знать, что если выставить в настройках Emu tape load в значение ON вам не удастся воспользоваться аппаратным загрузчиком с магнитофонного входа и пункт меню «T. Tape load» будет просто вызывать файловый браузер, а если перейти в бейсик, то команда LOAD "" не будет ничего загружать, бордюр будет черным, а не перемаргиваться красным с синим. При этом, если в файловом менеджере уже будет выбран до этого ленточный образ TAP, то загрузка пойдет уже с него. И избавиться от этого подцепленного файла не получится без полного аппаратного сброса системы. И нигде не видно, что он подцеплен — а значит разработчикам надо было бы дописать на экране ещё одну строчку по устройству ввода с образа ленты, аналогично образам дискет и добавить в меню добавить операцию по его отсоединения. Понятно, что загрузка с ленты не особо актуальна в случае ZX Evolution, но надо бы делать всё красиво.

С сохранением на ленту мне сначала было не очень понятно (ещё в предыдущей части я писал, что до меня не дошла логика создателей в части ввода-вывода информации с ленты/на ленту). Потому что на задней панели выводов есть только магнитофонный вход, а на самой плате есть контакты для организации и входа и выхода — и почему их нельзя было совместить или вывести хотя бы на стерео-разъем? Но оказывается есть один нюанс: клавиша NumLock на PS/2 клавиатуре переключает режимы вывода звука: либо выводится звук бипера, либо сигнал магнитофонного выхода. Поэтому при сохранении на реальную плёнку (или просто в файл) можно просто включить магнитофонный выход (будет светиться индикатор NumLock) и снимать сигнал просто с аудиовыхода. Видимо поэтому делать разъём с входом и выходом магнитофонного сигнала и не потребовалось, так просто удобнее.

Из остальных типов файлов браузер видит ещё $C, SNA, SPG, BMP. Первый — это запускаемый файл в формате HOBETA, второй — снэпшот в формате SNA, третий — это специфический для ZX EVO формат снимка памяти (вот описание формата), в который можно запихать больше чем в снэпшот Z80 и SNA. Как я понял, ограничен он только памятью самой Эвы, т.е. 4 мегабайтами. А вот последний — это вполне стандартный BMP, но с включенной палитрой. причём показываются только картинки с разрешением 320х200 точек 16 цветов — и вот это серьёзно мешает воспринимать это как фичу. А почему? А потому что картинки формата SCR этот файловый менеджер не видит, а при конвертации их в BMP надо ещё как-то извратиться, чтобы получить те самые 320 на 200 точек, что фактически и лишает нас возможности просмотра спектрумовских скриншотов.

Безобразие, товарищи, даже некоторые коммандеры под TR-DOS уже имеют такую возможность, как просмотр SCR, а в ZX Evolution такого не предусмотрено в базовой конфигурации для файлового браузера. А иногда надо посмотреть титульную картинку к игре, потому что их много, а названий всех не упомнишь. Недоработочка! Про просмотр текстовых файлов я вообще молчу…

Кстати, про коммандеры. Пункт меню «X. Perfect Cmd» вызывает файловый менеджер для TR-DOS Perfect Commander, с помощью которого можно не только запустить программу с дискеты (или образа), но и просматривать тексты, картинки, копировать, удалять файлы, уплотнять дискету (после удаления файлов).

Вот полное описание версии 1.52, которая похоже и была встроена в базовую конфигурацию. Пригодится, потому что в ZX Evolution в самом коммандере по клавише H помощь не отображается. И вот всё бы хорошо, файловый менеджер действительно отличный, но давно уже вышли его новые версии, доработанные разными людьми, а в Эволюшене всё та же 1.52… Что мешает его обновить в базовой прошивке?

Ну и ещё вопрос — если в меню ZX EVO есть возможность включения резидента для Honey Commander, а сам коммандер тогда почему не добавили? Или не заменили Perfect Commander? Непонятно.

Пункты меню «B. HDD boot«, «D. CD boot» и «5. SDcard boot» в этой статье я описывать не буду, это тема на будущее, про установку других ОС, поэтому осталось только посмотреть на пункты меню связанные с настройками и сервисными функциями.

Настройки, которые не влезли на стартовый экран, находятся в «C. Setup«:

Здесь мне вообще ничего не нужно, разве что включить отыгрывание звука при нажатии на клавиатуру (помогает понять — включен ли вообще звук). NeoGS у меня нет, поэтому и доступ к его SD-карте мне не нужен, остальное тоже не пригодилось. Хотя тем, кто пользуется Honey Commander, возможно, пригодится наличие его резидента в памяти.

В пункте меню «R. Service» собраны сервисные функции:

Тут однозначно полезны две функции связанные с отмонтированием образов дискет: «N.Dismount image» позволяет отсоединить образы дискет от дисководов A, B, C и D, а «K.Format ramdisk 640k» очищает образ дискеты распакованный на виртуальный диск. Из остальных функций мне показалась полезной разве что «M.Edit CMOS«, с помощью которой можно установить дату и часы. «D.HDD Detector» нужен от силы один раз после подключения винчестера и то, если будет непонятно почему ничего не работает. «C.ATM CP/M» — это, если честно, я даже не знаю зачем может сейчас пригодиться. «T.IS-DOS boot» — запускает с винчестера iS-DOS, если там будет соответствующий загрузочный сектор. Полезность данной фичи стремится к нулю, потому что запускать сейчас iS-DOS с винчестера при наличии iS-DOS Chic и TASiS — ну такое… «S.Test PC keyboard» и так можно вызвать с помощью сочетания клавиши сброса (soft reset) и клавиатурной клавиши K. А вот похожая фишка с отображением таблицы цветов, вызываемая похожим образом (по кнопке C с кнопкой сброса), почему-то в этом меню не получила своего места.

Ну а самые полезные пункты, это пункты обновления прошивок. Во-первых, «F.Fast update ROM» позволяет легко и непринужденно обновить сервисную прошивку EVO Reset Service zxevo_fe.rom (скриншоты приведены выше), а «U.Update custom ROM» позволяет прошить дополнительную пользовательскую прошивку (например, TS-Conf или ScorpEVO), но об этом позже. А вообще хорошо, что обновление этих прошивок организовано через меню, а не программатор (хоть на плате и есть коннекторы для этого). Единственное чего я не понял — зачем обновление самой базовой конфигурации (zxevo_fw.bin) в чип FPGA производится через сброс hard-reset с удержанием soft-reset. Почему не сделать эту операцию тоже через меню, а не извращаться с кнопками — не у всех ведь выведены одновременно и кнопка включения и сброса?

Кроме прошивки EVO Reset Service «из коробки» можно использовать ещё два варианта: «GLUK Service» и «EVO ProfROM» переключиться между которыми можно прямо на стартовом экране по кнопке G.

Первый раз переключившись на одну из них, я долго не мог понять, как переключиться обратно, пока не прочитал мануал. Оказалось, что надо просто зажать клавишу ноль при сбросе. По функциональности данные варианты, на мой взгляд, уступают EVO Reset Service, но тем, кто к ним привык — зайдёт. Больше разнообразия — это хорошо. Тем более, что ProfROM обладает собственным «теневым монитором» вызываемым по прерыванию NMI (клавишей Print Screen):

Оно насыщено разными функциями и, в частности, позволяет взаимодействовать с жёстким диском. Однако, из него вырезана возможность делать снэпшоты. А я на это рассчитывал, кстати, когда обнаружил, что меню NMI у EVO Reset Service начисто лишено такой важной функции:

Оказалось, что EVO Magic Service обладает очень ограниченными возможностями (если сравнивать с esxDOS): можно только менять частоту процессора, устанавливать режим ограничения памяти и управлять резидентом Honey Commander. Да, ещё отображается содержимое регистров и портов, но для меня было открытием, что возможность делать снимки памяти (хотя бы в формате SNA) полностью отсутствует! Ну как же так?! То есть, если вы хотели получить возможность проходить спектрумовские игры, делая между ними сохранения — этот компьютер не для вас, выбирайте что-нибудь с поддержкой esxDOS (либо встроенной, либо через ZX BUS).

Я пробовать подключать устройства divMMC к ZX Evolution так и не решился: во-первых, шины NEMO BUS и ZX BUS немного отличаются, во-вторых, у меня только одно устройство divMMC с выходным коннектором, который можно попробовать загнать в слот расширения Эволюшена, но риск спалить оба устройства слишком велик. До и сомневаюсь я в работоспособности такого решения (хотя поэкспериментировать всё равно тянет!).

Подведение итогов по базовой прошивке

С точки зрения использования ZX Evolution как удобного Спектрума мне базовая прошивка очень понравилась. Выглядит визуально хорошо, в использовании удобна, все заявленные функции выполняет. Но есть и пожелания:

  1. Файловый браузер, к сожалению, выполняет исключительно только функции браузера, а хотелось бы нормальный коммандер, с возможностью копирования, удаления и просмотра текстовых и графических файлов (в формате SCR). Хотя это решается с использованием других ОС, но в базовой прошивке такой функциональности нет.
  2. Доработать отображение параметров для ленты и добавить возможность отсоединения файла образа ленты.
  3. Обновить версию Perfect Commander или заменить на Honey Commander.
  4. Но самое главное — сделать сохранение снэпшотов памяти.

В следующей части рассмотрим использование ZX Evolution с прошивкой TS-Config.

ZX Evolution: базовая конфигурация (baseconf): 2 комментария

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s