ZX Spectrum сегодня? Живее всех живых!

:

По просьбе немногочисленных хабралюдей, даю телеграмму по поводу состояния дел zx-specurum-а в наши дни. К сожалению, написать абсолютно про всё у меня не получится, поэтому сделаю краткий обзор современного железа и эмуляторов, на которых это железо можно виртуально пощупать.

Писать буду для обычного хабрачеловека, не спектрумиста :), так что для более детальной информации используйте ссылки в конце статьи.

Что такое для вас spectrum? Наверное, это тёплый ламповый звук загрузки с магнитофона, Manic Miner и Elite. Возможно, это TR-DOS, 128кб памяти и музыкальный чип AY. А может быть это Scorpion-256, ATM Turbo или даже Profi.

В любом случае, всё это безнадёжно устарело, завалено пылью на шкафах, и, наверное, даже не работает, но, тем не менее, пару слов о «классическом ex-USSR спектруме»:

CPU: Z80, 3.5 MHz. Возможна турба до неполных 7 MHz
RAM: от 48Kb до 1Mb
Sound: бипер, AY чип (синтезированный 3х-канальный звук)
Tape: есть
FDD: 720кб дискеты (по умолчанию TR-DOS поддерживает только 640кб)
HDD: возможно подключение, наиболее полная программная поддержка в системе is-dos

Отдельно стоит рассказать про видео — 256x192 точек + 32x24 цветные атрибуты: на каждый блок 8x8 точек приходится два цвета (один цвет PAPER, для выключенных пикселей; и один INK, для включенных); плюс область вокруг экрана, называемая BORDER (тоже можно выставлять цвет); подробней — speccy.info/256x192

Хотя, малый размер видеопамяти позволяет процессору на 3MHz легче справляться с выводом графики, результат часто не оправдывает ожиданий.

Навороты графики


Кроме давно известных режимов " аппаратный multicolor", 512x256 и Gigascreen, ещё бывают:

384x304 — область экрана расширяется до 384x304 пикселей, остальное остаётся прежним (атрибуты на квадратик 8x8). Из-за сложности реализации на клонах спектрума отличных от Pentagon и ужасной адресации видеопамяти (расширенная область поделена на 9 блоков, раскиданных по памяти), распространения не получил. speccy.info/384x304

16 colors per pixel — как следует из названия, даёт спектрумистам то, о чём раньше они могли только мечтать — каждая точка на экране своим цветом. Однако размер видеопамяти увеличивается в 4 раза, и кроме того, на реальном спектруме притормаживает процессор (поэтому используется обычно только в турбо режиме). Тем не менее, режим многообещающий, есть несколько игр и demo. speccy.info/16col

256 colors per 2 pixels — «апгрейд» режима 16col. Две соседние точки сдваиваются, и получается режим 128x192 при 256 цветах. Поддержка в железе экспериментальная, и без изменяемой палитры малопригоден к использованию.

Flash-Color — за счёт смешивания INK и PAPER, достигается около 46 различных цветов. Однако так как используются всё те же атрибуты (на блок 8x8 пикселей), на деле выглядит не очень. speccy.info/Flash_color


16col+palette+gigascreen

Программируемая палитра — тот самый наворот, который жизненно необходим режимам 16col и 256col. Есть несколько вариантов решений; один из них — realddp.narod.ru/zx/pal444

Навороты звука


Помимо Covox, Sound Drive, DMA Ultrasound и General Sound, выпущенных ещё в каменном веке :), были придуманы такие устройства:

TS (Turbo Sound) — представляет собой ещё один звуковой процессор AY, расширяя количество каналов звука до шести. www.nedopc.com/TURBOSOUND/ts.php

TSFM (Turbo Sound FM) — «апгрейд» режима Turbo Sound. Помимо 6 каналов AY-звука, добавляется 6-канальный звуковой чип (FM синтез, аналогичен чипу, используемому в приставке Sega Mega Drive). www.nedopc.com/TURBOSOUND/ts-fm.php

Neo GS — обновлённый вариант платы General Sound. Как и General Sound, представляет собой, по сути, отдельный компьютер со своим процессором ( Z80 на частоте 12MHz для GS, 24MHz для NGS), памятью (от 128Kb до 2Mb) и звуковым модулем: 4 (8 для NGS) канала звука, проигрывающих сэмплы из памяти. В Neo GS помимо этого присутствуют SD/MMC ридер, аппаратный декодер mp3 и DMA режим обмена данными с памятью спектрума. Neo GS так же может использоваться как акселератор для вычислений — в память устройства можно загружать произвольный код (в обычный GS тоже, но в отличие от NGS, в обычном GS не было DMA — отсюда очень медленная скорость обмена информацией между спектрумом и GS). www.nedopc.com/gs/ngs.php

ZX Evolution


ZX Evolution или PentEvo — это самый современный спектрум. В отличие от других (не столь современных) спектрумов, в пентеве на борту есть всё необходимое современному человеку — встроенный контроллер PS/2 клавиатуры и мыши, контроллеры дисковода и винчестера, SD card ридер, RS232 (ака COM порт).

Еще есть очень важная особенность — на борту есть скандаблер, что позволяет подключить пентеву почти к любому VGA монитору (хоть LCD); так что теперь не надо покупать TV-тюнеры, EGA-мониторы и телевизоры.

Нельзя не упомянуть про наличие FPGA на плате; это позволяет менять конфигурацию компьютера без паяльника (не на лету, как можно было в Sprinter, но тоже весьма неплохо).

www.nedopc.com/zxevo/zxevo.php — узнать больше о zx evolution.
www.youtube.com/watch?v=4fI_St1IeWQ — тов. AAA рассказывает о пентеве.
www.youtube.com/watch?v=BYmyuF2UVWg — самая требовательная демка на спектруме (требует 16col + tsfm + neogs) успешно работает на пентеве.

Полезняшки


RGB to PAL coder — позволяет подключить спектрум (или любое другое устройство с RGB выходом) к обычному телевизору. www.nedopc.com/PALCODER/palcoder.php

ZXMC (ZX_Multi_Card) — очень многофункциональное устройство. Позволяет подключить к спектруму обычную PC клавиатуру и мышку. Имеет на борту порт RS232, более известный как COM порт (позволяя подключить, например, модем), и часы реального времени (RTC). zx.pk.ru/showthread.php?t=609

Эмуляторы


Все эмуляторы ниже рассчитаны на эмуляцию современного спектрума, а не старой доброй чёрной коробки с резиновыми клавишами :)

Win32

Unreal Speccy — эмулятор, поддерживающий максимальное количество нового железа (включая Neo GS). zx.pk.ru/showthread.php?t=1512, dlcorp.ucoz.ru/forum/23

Unreal Speccy PPC — порт для PocketPC (старой версии, новых версий нет). Несмотря на проблемы (иногда «отключается» дисковод), лучшего для PocketPC не существует. В настоящий момент разработка остановлена. and.intercon.ru/#r20, zx.pk.ru/showthread.php?t=4982

EmuZWin — хороший эмулятор с GUI. zx.pk.ru/showthread.php?t=1345

*NIX

ZEmu — сам себя не похвалишь — никто не похвалит :). Эмулятор современного спектрума для *NIX платформы (есть версия для Win32) с поддержкой расширенной памяти, расширенных видеорежимов (включая 16col) и расширенного звука в виде Turbo Sound FM. Отсутствует GUI (точнее самописное на SDL). В настоящий момент разработка остановлена. zx.pk.ru/showthread.php?t=2480, версия от mkoloberdin: github.com/mkoloberdin/zemu

XPeccy — активно разрабатывающийся эмулятор с GUI на QT. По всей видимости пока только под x86 Linux. zx.pk.ru/showthread.php?t=9479

Полезные ссылки


zx.pk.ru — основной zx-форум.
dlcorp.ucoz.ru/forum — ещё один крупный zx-форум (форум недовольных политикой zx.pk.ru).
www.nedopc.com — здесь можно купить современные спектрумы и плюшки к ним.
speccy.info — speccy wiki.

trd.speccy.cz — кладезь игрушек, адаптированных под TR-DOS.
zxaaa.untergrund.net — огромный архив zx-demo.
zxtunes.com — архив AY музыки. Можно слушать в онлайне.
speccy-live.untergrund.net — новости, связанные со спектрумом.
community.livejournal.com/emulate_su — мне в хабрапочте, по очень большому секрету, сказали, что в этом коммьюнити скоро будет много статей про спектрум. Подписывайтесь если интересно (да и сейчас там много статей про ретро-железо).