Администрирование Разное МАШИНА ВРЕМЕНИ - ЭМУЛЯЦИЯ SPECTRUM'А Tue, October 08 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

МАШИНА ВРЕМЕНИ - ЭМУЛЯЦИЯ SPECTRUM'А Печать
Добавил(а) Петр Семилетов   

Дело было вечером, много лет назад, когда на улицах еще не было рекламы. Мне принесли в подарок подержанный, да еще самодельный, компьютер Spectrum и несколько кассет с играми к нему. Такого чуда я еще не видел. В нем всё помещалось в неубиваемый металлический кожух, совмещенный с клавиатурой. Он подключался к телевизору. Также в комплекте был блок питания и два джойстика с корпусами, сделанными из синих мыльниц. Я даже не знал настоящее название компьютера, всуе было упомянуто иное - "Синклер".

Далее оказалось, что для запуска программы или игры надо подключить магнитофон, вставить туда кассету, перемотать пленку примерно к тому месту, где записана программа, и включить воспроизведение, а на клавиатуре нажать клавишу "J", две кавычки и Enter (речь шла о вводе команды LOAD "").

Я приволок из соседней комнаты магнитофон, подключил его кабелем к Spectrum'у, а того, в свою очередь, к телевизору. Начал загружать программу. На экране телевизора появились мелькающие цветные полосы по периметру прямоугольника, а из динамика раздались бурлящие писки. Долго ли, коротко, загрузилась игра - сейчас уже не помню какая, но это было замечательно! Запускать программы с обычных аудиокассет!

У меня на магнитофоне был счетчик ленты, так что вскоре я, последовательно загружая одну игру за другой, выяснил, на какой позиции счетчика находится начало каждой игры. Эти данные я записал на кассеты и смог быстро находить нужную игру. Каких-либо прикладных программ не было, да я, признаться, и не интересовался ими - а также не знал, где переписать еще игры. Впрочем, мне хватало и тех, что были.

Я открыл для себя Saboteur 2, Nosferatu, Rockie's Horror Show, Chuckie's Egg, Zorro, Scuba, играл и в знакомые мне по DOS - Livingstone, LodeRunner. Я играл в них каждый день, а также методом тыка понял синтаксис встроенного интерпретатора BASIC и писал простенькие программы, которые записывал на кассеты и потом запускал с них же.

zx-spectrum-castle-master zx-spectrum-arkanoid zx-spectrum-exolon zx-spectrum-gunfright
zx-spectrum-livingstone zx-spectrum-mach-3 zx-spectrum-mad-nurse zx-spectrum-uridium

Кассеты и сам Spectrum сохранились у меня до сих пор, но по ряду технических причин я уже не могу им пользоваться - да и когда я включал его в последний раз, работал он неважно. Спустя много лет узнал и настоящее название этого компьютера, и об его возможностях - а ведь энтузиасты выжимали из него трехмерную графику, а нынче даже видео на нем запускают. Так получилось, что ZX Spectrum, выпущенный компанией Sinclair Research Ltd. в 1982 году, до сих пор жив. Нет, Sinclair Research Ltd [1] занимается уже другой продукцией - велосипедами и электромобилями. Между прочим, эта компания также известна первым в мире карманным телевизором и калькулятором.

А Spectrum'ы дожили до наших дней благодаря энтузиастам. Современное воплощение Spectrum в форм-факторе ATX можно даже приобрести на сайте группы "NedoPC" [2] - там же в свободном скачивании - схемы. Можно раздобыть и более традиционный самодельный Spectrum, а можно пойти другим путем - обратиться к программной эмуляции. Почти все созданные для Spectrum программы давно переведены с кассет в файлы-образы.

Загружаете такой образ в эмулятор и через секунду программа уже запущена. Более того, можно оцифровать программу с кассеты в звуковой файл формата WAV, загрузить его в эмулятор (разница-то - звук с магнитной ленты или из файла?) и затем сохранить как файл-образ, для экономии места.

С давних пор я предпочитаю свободный эмулятор FUSE [3] (Free Unix Spectrum Emulator). Несмотря на "Unix" в названии, эмулятор этот многоплатформенный - есть сборки и для Windows, и для MacOS, и конечно для Linux. Портов под другие платформы несть числа - XBox, Amiga, PSP, Wii и другие...

Из исходника FUSE собирается тоже запросто, надо лишь вначале собрать и установить утилитную библиотеку libspectrum, а потом уже сам эмулятор.

Какое железо эмулирует FUSE? Довольно внушительный список вариантов Spectrum можно выбрать в меню Machine - Select. Это Spectrum 16k, Spectrum 48K (по умолчанию, его же хватает и для большинства игр), Spectrum 48K (NTSC), Spectrum 128K, Spectrum +2, Spectrum +2A, Spectrum +3, Spectrum +3, Spectrum +3e, Timex TC2048, Timex TC2068, Timex TS2068, Pantagon 128K, Pentagon 512K, Pentagon 1024K, Scorpion ZS 256, Spectrum SE. Отмечу, что FUSE имеет весьма умеренные системные требования - запущенный в браузере Flash-плеер поедает процессорные ресурсы гораздо больше!

zx-spectrum-fuse-select-machine

После первого запуска FUSE готов к работе - не надо ни скачивать дополнительно образы BIOS (как для некоторых других эмуляторов для иных платформ), ни что-либо настраивать, разве что окно стоит растянуть побольше, ибо по умолчанию оно совсем маленькое. Кстати о ROM BIOS Spectrum'а. Нынешний правообладатель этих ROM'ов, Amstrad, еще в 1999 году разрешил использовать образы прошивок Spectrum, при условии, что будут отображаться сообщения о копирайте.

Виртуальный Spectrum работает точно так же, как настоящий. Перед вам интерпретатор BASIC - хотите, сразу пишите программу и сохраняйте её в образ (File - Save snapshot). Старые компьютеры чем-то подобны Linux - на борту есть всё необходимое для разработки ПО.

Для сохранения памяти (игр и программ) доступны такие форматы образов, как Z80 (самый популярный формат, файлы в нем являются снимками оперативной памяти), SZX и SNA - какое расширение файла используете, в таком формате образ и сохранится. А чтобы загрузить образ программы (он же "снэпшот") в том или ином формате, надо пойти в File - Open snapshot и выбрать файл образа. На чтение поддерживаются: Z80, SNA, SZX, а также образы лент TAP и TZX. Для формата Z80 поддерживается дополнение к нему - SLT, нужное для игр, новые данные к которым подгружаются постепенно, уже после запуска игры. Поддерживаются (если включена эмуляция дискового интерфейса) также образы дисков DSK, UDI, FDI, TR0, SDF, MGT, IMG, SAD, TRD, SCL, OPD.

zx-spectrum-fuse-file-open

Где брать снэпшоты? На законных основаниях - на сайте World Of Spectrum [4], в разделе Archive. Больше десятка тысяч игр, пять тысяч различных программ, демки, электронные журналы и многое другое. Скачивая игру или программу, старайтесь выбирать снэпшот, соответствующий типу эмулируемой машины - там при скачивании указано - например, "48" - значит, для Spectrum 48K и ниже, а "128" - значит, надо Spectrum 128K или младше. Некоторые игры в архиве представлены просто информацией о них - чаще всего они так и не вышли, зато можно поглядеть на несколько снимков экрана. Также некоторые известные игры в архиве отсутствуют по причине законодательного характера - но их можно поискать на торрентах, где лежат целые вселенные снэпшотов. Каждый снэпшот - невелик по размеру, обычно равен или меньше объему оперативной памяти конкретного Spectrum'а, а поскольку популярнее всего была модель 48K, то и снэпшоты идут по 48 килобайт. У меня пять тысяч игр помещаются на 218 мегабайтах жесткого диска.
А когда-то, в незапамятные времена, все эти игры выпускались на отдельных кассетах, в красивых обложках:

zx-spectrum-cassete01

zx-spectrum-cassete02

Если вы не знакомы с чудесным миром игр для Spectrum, могу советовать скачать с [4] следующее. Во-первых, это Saboteur (две части) - классика от Durrell Soft и разработчика Клайва Таунсенда. Игру сложно отнести к определенному жанру - это поэкранная бродилка, совмещенная с восточными единоборствами и квестом. По второй части игры есть даже отдельный фанатский сайт [5]. Далее, Nosferatu the Vampyre - очень мрачный ужастик по роману Стоукера "Граф Дракула". Отмечу, что в немецком фильме "Носферату" имена и названия местностей были изменены из-за судебного иска вдовы Стоукера к создателям фильма. Так Дракула стал Носферату. А также скачивайте вестерн Gunfright, бродилки Goody и Livingstone, странный ужастик Rocky Horror Show.

В играх для Spectrum - своя специфика управления с клавиатуры. Обычные курсорные клавиши (которые на традиционной PC-клавиатуре) используются редко, даже для движения. В начальном меню каждой игры, как правило, надо нажимать на буквы или цифры - например,

S - Start (запуск)
K - Keyboard (назначить клавиши управления)

В самой игре, для перемещения персонажа обычно используются клавиши вроде O и P (влево-вправо), а вверх-вниз может быть закреплено за Q-A или A-Z...

Клавиши Ctrl и Alt вашей стандартной клавиатуры работают как "спектрумная" клавиша Symbol Shift, при помощи которой можно вводить знаки. Скажем, чтобы ввести знак "+", надо нажать Alt-K или Ctrl-K. Если пойти в меню Help и вызывать пункт Keyboard, там красным цветом будут показаны знаки, вводимые при помощи Symbol Shift.

zx-spectrum-fuse-help-keyboard

Кроме снэпшотов, FUSE поддерживает также запись и воспроизведение файлов формата RZX. Сразу даю ссылочку на архив с такими файлами - [6]. Что за RZX? Это файлы, куда записываются события ввода (с клавиатуры, джойстика и так далее (а также некоторые сведения, относящиеся к состоянию процессора). Потом эти записанные события можно воспроизвести, как если бы клавиши нажимал живой человек.

Чтобы записать RZX-файл, надо вначале запустить какую-нибудь игру и потом выбрать пункт меню File - Recording - Record. Расширение сохраняемого файла добавьте сами - .rzx. Файл надо сохранить в том же каталоге, где сама игра, иначе потом нельзя будет его воспроизвести. Для остановки записи используем File - Recording - Stop. Ну и для воспроизведения - загружаем игру, потом выбираем File - Recording - Play. Формат RZX стал как бы стандартом де-факто в Spectrum-эмуляторах для создания такого вот "видео". Впрочем, не все эмуляторы его поддерживают.

Захват музыки. FUSE может выводить воспроизводимую спектрумским аудиочипом (General Instruments AY-3-8910 sound chip) музыку в файлы формата PSG. Для этого существует пункт меню File - AY Logging.

Существует множество других эмуляторов Spectrum, кроме FUSE. Десятки! Но FUSE - один из наиболее развитых и оснащенных функциями, которые идут дальше, чем возможность просто поиграть в старые игры. Так, во FUSE есть полноценный отладчик, просмотрщик памяти, эмуляция различных телевизионных систем, принтеров, 8bit IDE, различных вспомогательных интерфейсов. Нужное железо можно включать в меню Options - Perepherals. Что до игрового аспекта, то порой с клавиатуры играть не очень удобно, и FUSE предоставляет возможность эмулировать спектрумный джойстик Kempston, переназначив на него клавиши обычной клавиатуры. Делается это через Options - Joystiks - Keyboard.

Рассмотрим несколько других эмуляторов. Bacteria [7] - самый маленький в мире эмулятор Spectrum, предназначен для DOS. Исполняемый файл весит всего 4 килобайта. И в 16 килобайт умещается ROM прошивки, вложенный в архив дистрибутива. Существует его порт на JavaScript - JBacteria [7] - с его помощью можно поиграть даже в онлайн. Слева там список доступных вариантов Spectrum, а также большой список игр - щелкаете по ним, запускается эмулятор в онлайне, с нужной игрой. Z80Stealth [8] - эмулятор Кирилла Колпакова, с отличной эмуляцией звукового чипа. Активно развивается.

Повторюсь, существуют десятки эмуляторов Spectrum'а - этого старого компьютера на основе процессора Zilog-Z80 с частотой 3.58 мегагерц. Пожалуй, ни для одного другого компьютера или игровой приставки не написано так много эмуляторов, что означает одно - старый Spectrum востребован до сих пор! Когда мне хочется поиграть, я запускаю эмулятор Spectrum'а - право же, игры под него гораздо живее и интереснее современных трехмерных блокбастеров. И не я один такой.

[Ссылки]

1. Sinclair Research Ltd.
2. NedoPC.
3. Free Unix Spectrum Emulator.
4. World Of Spectrum.
5. Сайт фанатов игры Saboteur 2.
6. Архив RXZ - смотрите записи реальных игр на ZX Spectrum.
7. Эмулятор ZX Spectrum Bacteria. А также его порт на JavaScript JBacteria.
8. Z80Stealth ZX Spectrum Emulator for Windows.

 

Комментарии  

 
+1 #2 maks 13.11.2018 22:23
Цитирую Санче:
эх... были времена :cry: Кто вспомнит, сверху 2 и 3 скрины название игр? Я в них залипал.

microsin: это Arcanoid и Exolon. Кстати, в Google и Yandex есть поиск по картинкам - Вы знали об этом?

На втором скрине Batty.
Цитировать
 
 
0 #1 Санче 03.02.2017 12:57
эх... были времена :cry: Кто вспомнит, сверху 2 и 3 скрины название игр? Я в них залипал.

microsin: это Arcanoid и Exolon. Кстати, в Google и Yandex есть поиск по картинкам - Вы знали об этом?
Цитировать
 

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


Защитный код
Обновить

Top of Page