Hardware

  1. V6Z80p (Shrek)
  2. Склеротический toast rack (Logout)
  3. FPGA-клоны компьютера ZX Spectrum, часть 1 (Shrek)

V6Z80p

Случай распорядился так, что мне в руки попала плата под названием V6Z80p. Для маньяка Speccy это название крайне симпатично: в нём есть обозначение лучшего процессора в мире — Z80, который встречается и в компьютере ZX Spectrum. За этот экземпляр я должен поблагодарить z00m’а, который уступил мне более старую версию этой платы — ту, что, к сожалению, не умеет страничать память по 16 КБ. Может, скажете — мелочь, но именно эта функциональность позволяет запускать эмулятор ZX Spectrum 128k. С другой стороны, мне это не мешает: если бы V6Z80p умел запускать эмулятор ZX Spectrum, для меня это была бы лишь ещё одна коробочка вроде ZX Uno(+), Speccy 2010... К тому же у меня довольно много реального hardware, с которым можно играться. А так у V6Z80p у меня особое — speccyальное — положение: он не притворяется ZX Spectrum, а идёт своим путём.

Автор этой платы — Phil Ruston, и это восьмибитный одноплатный компьютер со следующими speccyфикациями:

  • реальный 20 MHz CPU Z80
  • FPGA Xilinx Spartan 2
  • 512 КБ videoRAM
  • 128 КБ памяти для спрайтов
  • 512 КБ RAM для системы
  • мышь и клавиатура подключаются через разъёмы PS/2
  • видеовыход RGB/SCART
  • 2× joystick (порт Atari)
  • SD-карта для системы и программ
  • 256 цветов при разрешении 368×256 точек

Весь компьютер работает на собственной операционной системе, которую написал автор hardware — Phil Ruston — и называет её FLOS (Freezer Like Operating System). Сама система позволяет многое: ходить по каталогам, манипулировать файлами и запускать программы (ассемблер, просмотр памяти, текстовый редактор...).

Phil Ruston вложил кучу труда в проектирование этого очень интересного hardware, написал и систему — и при этом понимал, что hardware без software (а учитывая, что это speccyфическая система) — лишь кусок печатной платы, — так что написал и кучу software. Иногда у меня ощущение, что Phil Ruston с другой планеты: то, что он показал на этой хобби-машине, — нечто невероятное. Так что в вашем распоряжении куча демонстрационных программ, которые показывают возможности этого компьютера. Для демоманьяков есть несколько демо, которые пинают другие компьютеры в заднюю нижнюю часть зада

— разумеется, кроме компьютера ZX Spectrum ;), а вот такая Amiga, например, действительно не тянет. То, что из этой волшебной коробочки удалось выжать с помощью старой доброй Z80, — нечто невероятное и лишь подтверждает, что это лучший процессор в мире. Есть и программа для проигрывания MOD-файлов — можно послушать какую-нибудь гадкую музыку с Amiga — и несколько небольших игр...

Большая жалость, что Phil уже не развивает этот проект дальше и что сообщество проекта особо не подхватило его (есть пара исключений, но потенциал, который этот проект мог бы иметь, к сожалению, не реализовался). А к чему же тогда хорош V6Z80p? Для меня лично это демонстрация того, что можно выжать из Z80; того, на что способен один-единственный человек на проекте, который ему нравится (что одновременно и похоронило проект — один человек, на котором всё держалось); и главное — демонстрация того, что восьмибитки умеют конкурировать и с 16-битными псевдокомпьютерами вроде Amiga, Atari ST и т. д. Если хотите узнать о V6Z80p больше, отсылаю вас к блогу z00m’а, где он очень подробно занимался этим компьютером (и со стороны hardware, и со стороны software), либо на YouTube: по запросу «V6Z80p» вылезет довольно много роликов с демонстрациями.

Shrek


Склеротический toast rack

...или как атарист и коммодорист починили мне стодвадцатьвосьмёрку.

BYT(e)FEST, который в этом году вместо Bytefest’а на Смиховском вокзале проходил у Fery дома, я планировал просидеть за toast rack’ом — то есть за ZX Spectrum 128.

Когда Shrek делал вид, что он не спектрумист, это Speccy досталось мне — и было в состоянии, которое мне не нравилось. Поэтому я попросил специалистов из SinDiKAT убрать все дополнительные доработки и привести его в как можно более красивое состояние. Потом всё пошло, как в обычной жизни всегда и со всем: я его опробовал, пару раз на нём что-то делал, потом пришли другие компьютеры — Spectrum и не-Spectrum — и toast rack несколько (десятков) месяцев отдыхал, надёжно уложенный в ящик.

Я хотел ему это компенсировать, поэтому упаковал divIDE, CF-карту с данными, подходящий дисплей, удлинитель и тапочки — и двинул к Пльзени. Когда я там разложился за столом и всё подключил, выяснилось, что на компьютере много не сделаешь: в MDOS3 не работают все команды, содержащие звёздочку, — то есть особенно LOAD и SAVE , а для дисковой операционной системы это довольно серьёзная проблема.

Сначала мы опробовали обычные, годами проверенные упражнения: дожать в панельках всё, что в панельках, почистить разъёмы, попробовать другой интерфейс. Этот набор действий показал, что проблема действительно в toast rack’е; я сел к нетбуку и наскоро написал маленький кусок кода, который по отдельным килобайтам посчитал XOR ROMки. То же самое я прогнал на больном Speccy и в эмуляторе RealSpec — и через некоторое время стало ясно, что проблема в ROM. Некоторые байты в ней имели другое значение, чем в эмуляторе (и для надёжности — ещё в нескольких других эмуляторах): просто с годами память начала забывать.

На акции, к счастью, присутствовал и частично одомашненный коммодорист Sillicon (поскольку он наверняка читает эти строки — передаю привет), который выковырял ROMку из toast rack’а и вместо неё поставил панельку. Пустой EPROM, тем более программатора, при себе у него не было, так что остаток BYT(e)FEST пришлось посвятить другим компьютерам. По возвращении домой я планировал заказать EPROM и после лет снова заняться программированием через подходящую сетевую карту в PC, однако Sillicon меня опередил и договорился о запрограммированном чипе у знакомого хардвариста и атариста Reverze. Дальше оставалось лишь вдавить чип в панельку — и с тех пор toast rack работает. Спасибо обоим.

Специально для RESTORE 1 написал Logout.


FPGA-клоны компьютера ZX Spectrum

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

«Программируемые вентильные матрицы (FPGA, англ. Field Programmable Gate Array) в электронике — тип логической интегральной схемы, изготовленной так, чтобы её можно было запрограммировать уже у заказчика. Содержит массив программируемых логических схем (PLD), логических блоков, позволяет соединять их между собой и тем самым создать практически произвольное цифровое устройство (например, микропроцессор, управляющую схему сетевой карты и тому подобное). Тем она отличается от заказных интегральных схем (ASIC), функция которых задаётся уже при производстве.»

Уже звучит не так плохо, правда? Ни слова об эмуляции — это просто аппаратная реализация логических схем. Но вернёмся к FPGA-клонам компьютера ZX Spectrum и немного сравним их между собой.

Speccy 2010. Поскольку где-то после 2010 года я взял паузу от ZX Spectrum, об этом клоне я вообще ничего не знал. Даже если бы узнал — вряд ли заинтересовался бы: в то время я использовал ZX Spectrum 128k (toast rack), и что-то (физически) на него не похожее меня не занимало. И не дай бог узнать, что в этом куске hardware физически нет процессора Z80. Но случай захотел, чтобы я встретил Logout’а, которого не видел много лет. Тот, помимо прочего, стал рассказывать о Speccy 2010. Меня зацепила мысль иметь дома маленькую коробочку, которая, по словам «голоса единственной Symbiózy», умеет даже крутить BS-DOS. В итоге я достал один экземпляр в Словакии — и когда подключил Speccy 2010 дома к VGA-монитору, снова ушёл в это с головой. В Speccy 2010 благодаря Martin’у Bórik’у был реализован дисковый контроллер MB-02+ с BS-DOS — и я был дома (не физически, а... надеюсь, объяснять не надо).

Speccy 2010 я начал использовать так, как привык использовать ZX Spectrum 128k с подключённым дисковым контроллером MB-02+. Запускал демо, играл в новые игры и игрался в Prometheus. Единственное, что мне на Speccy 2010 мешало — и, к сожалению, так и не удалось решить — точное таймингование ZX Spectrum 128k. По сути это ничему не мешало, если вы готовы были пожертвовать эффектами в бордере, мультиколорами и подобными удобствами, которыми кишела современная демо- и игровая сцена. Огромный плюс — реализация дискового контроллера MB-02+; если хотите использовать Speccy 2010 для работы и как раз не делаете мультиколоры — Speccy 2010 именно для вас. К сожалению, прошивка Speccy 2010 уже не развивается: FPGA заполнено, но с другой стороны Martin Bórik завершил разработку красиво стильно — версией 1.2.8 ;)

ZX Uno. Вторым и третьим FPGA-клоном я обзавёлся ZX Uno в двух версиях (4.1, 4.2); у них общая основа, отличаются несколькими мелочами. Версия 4.1 имеет разъёмы PS/2 для мыши и клавиатуры, а версия 4.2 — USB. Обе питаются кабелем microUSB, у версии 4.2 дополнительно есть ethernet-разъём RJ45. Большое преимущество (ну, для кого-то, может, и нет): для ZX Uno существует куча альтернативных ядер для FPGA, так что из этой маленькой коробочки можно сделать Commodore 64, CPC или любой другой псевдо-почти-компьютер, либо игровую консоль NES (и всё это через PC-like BIOS — достаточно иметь правильные файлы на SD-карте).

Но вернёмся к ZX Spectrum, для которого ZX Uno и создавался. ZX Uno управляется через EsxDOS, который для меня (и пусть на меня никто не сердится) — система скорее для геймеров. Запустить игру или любую другую программу — дело минуты, справляется даже наш десятилетний Ondra. Но если бы я хотел что-то создавать —

программировать в ассемблере — единственная возможность — использовать TR-DOS. Запускаете из TRD-файла, например, ALASM и можете весело программировать, но уже имеете — хотите вы того или нет — все плюсы и минусы TR-DOS. Мне лично TR-DOS к сердцу не прильнул, так что преодолевал бы это, действительно скрипя зубами. Но это проблема моя и моих отношений с TR-DOS — признаю; другим это может не мешать.

Таймингование ZX Spectrum 128k, на мой взгляд, на очень хорошем уровне — и если хотите насладиться демоидными программами, ZX Uno вас в этом не подведёт. Сам же у меня к этому FPGA-клону отношение особое, и включаю я его спорадически — охотнее запущу оригинальный hardware с DivMMC или, например, ZX Evolution.

ZX Evolution. И тут мы доходим до следующего клона ZX Spectrum, у которого на плате физическая Z80-ка (ура), но FPGA-чип у него тоже найдётся. Это машина из восточной провинции, где русские кодеры используют этот компьютер как основную станцию, на которой и программируют. Хотя у ZX Evolution в первую очередь дисковая система TR-DOS, можно развести и альтернативную систему, предназначенную прямо для этого компьютера (NedoOS).

Описать ZX Evolution в короткой статье особо не получается: компьютер умеет многое, и видно, что это не просто машина для демонстрации вещей (так на меня действует, например, ZX Uno), а действительно usable инструмент, который служит тому, чтобы создавать ценности ;). К ZX Evolution продаётся несколько карт расширения, которые чуть расширяют его возможности. К ZX Evolution я приобрёл NeoGS — звуковую карту, позволяющую проигрывать MOD’ы с Amiga. Под эту карту адаптировали несколько игр, так что при игре персонажи кричат или после попадания ругаются, а стрельба звучит реалистично.

NeoGS само по себе содержит процессор Z80 (на более высокой частоте, чем у оригинального ZX Spectrum), так что ничто не мешает (и где-то я читал, что это уже реализовывали) использовать её как сопроцессор к ZX Evolution. ZX Evolution также содержит звуковой чип YM (совместимый с AY), который можно заменить так называемым модулем TSFM. Этот модуль содержит два чипа AY (соответственно YM) и позволяет проигрывать FM-музыку с 6 каналами.

Далее можно приобрести карту ZX USB Net, которая расширит ZX Evolution — как следует из названия — USB-портами и возможностью подключения ethernet-кабеля (в NedoOS, например, есть IRC-клиент). ZX Evolution можно иметь и с WiFi-модулем, готовым к работе с программой ZiFi. Эта программа позволяет через WiFi скачивать демо, графику, слушать музыку и читать (кириллицей) новости демосцены. Всё это управляется через симпатичный графический интерфейс с помощью мышки. Когда я впервые увидел ZiFi, я сел на пятую точку и почувствовал, что PC мне уже никогда не понадобится: я был в интернете — и чего ещё желать от компьютера в наше время. Периферии, расширяющей свойства этого компьютера, куча (особенно музыкальной) — достаточно заглянуть на страницы NedoPC.

ZX Evolution делает честь своему имени и представляет собой настоящую эволюцию компьютера ZX Spectrum. Добавляет дальнейшие графические расширения (BaseConf, TSConf), включая текстовый режим, чем в момент своего появления вывел этот компьютер в лидеры среди совместимых с ZX Spectrum. Но, как я писал выше, основная система этого компьютера — TR-DOS, что мешает мне использовать его более массивно (я избалован BS-DOS и в крайнем случае готов использовать MDOS). О ZX Evolution можно написать кучу подробностей, но это не предмет этой статьи. Думаю, из написанного выше вы уже угадаете победителя сегодняшнего сравнения — а о ZX Evolution поговорим подробнее когда-нибудь в следующих номерах журнала RESTORE.

Хотя это и не финальная сумма всех FPGA-клонов компьютера ZX Spectrum, которые я дома иногда включаю, подведём оценку по этим трём машинам. На третье место я бы поставил ZX Uno, которое на меня действует как компьютер в основном для презентации, а не для работы. Знаю, что у меня чуть специфические требования, но я хочу использовать компьютер так, как привык. То есть не только смотреть демо и играть в игры, но и что-то создавать — а в этом на ZX Uno я просто урезан.

На второе место я бы поставил ZX Evolution — главным образом потому, что снова при создании чего-либо я в основном завязан на TR-DOS, и хотя у ZX Evolution куча удобств, я их полностью не использую.

Более догадливые уже угадают победителя сегодняшнего состязания — трам-та-да-да — Speccy 2010. Знаю, что у него нет идеального таймингования ZX Spectrum 128k, но работать в BS-DOS так же, как годы назад, — это то, чего, пожалуй, другой FPGA-клон ZX Spectrum мне не предложит. За те X лет работы на MB-02+ это просто въелось в меня так, что победить больше никто не может. Видно, что Martin Bórik создал прошивку Speccy 2010 так, чтобы ею мог пользоваться человек, который на ZX Spectrum работает. Отладчик, файловый менеджер, реализация BS-DOS (знаю, уже упоминал это раза 48)... ну просто Speccy 2010 из этой тройки для меня лучший FPGA-клон ZX Spectrum. (продолжение следует)

Shrek

Поделитесь вашим мнением о статье