Друге життя Spectrum

 | 13.03

Мой Компьютер, №21 (525), 13.10.2008

Спогади про емоції, які колись виникали при зануренні в ще непізнаний світ, не дають мені забути ті часи. Ентузіасти об’єднуються у співтовариства і продовжують творити. Так, творити, тому що по-іншому назвати цей процес неможливо. Прихильники не вважають, що до улюбленців доречно використовувати терміни «морально та технічно застаріла техніка», вони завжди використовують інший — «класична», а їх програмування інакше, ніж «oldSchool» не називають. О, це особливий підхід до програмування, коли кожен байт пам’яті і такт процесора на рахунку.

Славетне минуле

На території СРСР/СНД найпопулярнішим комп’ютером середини 80-х був восьмирозрядний ZX-Spectrum (рис. 1).

Створений він був англійською компанією Sinclair Research Ltd. на базі процесора Z80 фірми Zilog (рис. 2).

Рис. 1. ZX Spectrum — специфiчнi резиновi клавiшi та логотип, що наголошує можливiсть роботи з кольором

Застосування дешевих комплектуючих, використання домашнього телевізора (кольорового чи чорно-білого) у якості монітора, а касетного магнітофона — у якості зовнішнього накопичувача забезпечувало невисоку ціну. До того ж, ті, хто добре володів паяльником, могли з конструктора, придбаного на радіоринку, самостійно зробити собі один із багаточисельних клонів (модифікацій) Спектрума (рис. 3). А легкість в освоєнні та користуванні давала змогу без спеціалізованої допомоги самостійно опановувати та використовувати цей ПК. Використовувати в основному для ігор, що було на той час диковинкою. Незважаючи на примітивність звукового супроводу та просту реалізацію графіки, спричинені технічними обмеженнями платформи, ігри під Спектрум мали оригінальність та захоплюючий геймплей, що не давали спокою першим поколінням геймерів :-).

Лідерство в тиражі тримав ZX Spectrum 48. Загалом він мав на платі 64 Кб ОЗУ, 16 з них використовував для ПЗУ. Там знаходився «оксфордський» різновид мови Бейсик з інтерфейсом користувача, а також базова система вводу-виводу.

40 багатофункціональних клавіш мали до семи різних значень, у залежності від режиму (рис. 4).

Рис. 2. Оригiнальний Z80 в керамiчному корпусi зараз уже раритет

Індикатором режиму вводу був курсор, що приймав вигляд різних мигаючих символів. Роздільна здатність екрану складала 256*192. Кольорів було 8, в тому числі чорний та білий. Кожен колір міг мати звичайний рівень яскравості та підвищену яскравість. Але лише для знакомісця 8*8 можна було вказати колір символу та колір фону, що викликало певні труднощі при створенні графіки та спричиняло виникнення артефактів. Програмна генерація однобітного звуку вимагала всю обчислювальну потужність процесора. Тому була додатково розроблена схема на основі мікросхеми звукогенератора AY-3-8910.

Характерною особливістю розробленого пізніше ZX Spectrum 128 було збільшення об’єму ОЗУ до 128 Кб. І хоча ця модель була не такою розповсюдженою, але рівень програм для неї був вищий завдяки присутності трьохканального звукового супроводу. А підключення приводу 5-дюймових дисків дозволило заощадити час на завантаження ігор. Це ж дозволяло підвищити надійність зберігання програм. Практично всі ігри від моделі з 48 Кб ОЗУ були сумісними з даною моделлю. За виключенням мізерної частини, якій народні умільці додавали сумісності (та ще й 3-канальний звуковий супровід). Крім клавіатури, була можливість підключати джойстики-маніпулятори. Основними є kempston-джойстик та ZX-Interface2 — для підключення одночасно двох джойстиків. З часом гуру із спектрум-середовища навчили своїх speccy підтримувати роботу з маніпулятором типу ZX Mouse.

Як це працює?

Здається, ZX Spectrum є лідером по кількості емуляторів. У першу чергу через те, що існує велика база вже готового програмного забезпечення. Більше сотні найрізноманітніших емуляторів для практично усіх операційних систем та платформ, навіть для мобільних телефонів. А кілька років тому фірма — власник торгової марки «ZX Spectrum» — випускала коммунікатори, у яких емуляція Спектрума була основною фішкою.

Рис. 3. Системна плата оригiнального Specrtuma. Скласти такий для рук, що умiють тримати паяльник, не проблема

Якщо ви хочете дізнатись про подробиці та тонкощі функціонування, то завітайте на сайт speccy.info. Сайт працює за допомогою Вікі-движка, а сервер розміщений в Харкові. Тут же можна знайти посилання на ресурси, що містять масу софту. Відвідайте постійно працюючий модерований форум Zx.pk.ru, ви здивуєтеся, яка велика кількість користувачів цікавиться цією тематикою. Почитайте уважно пости, гарантую, у вас з’явиться відчуття, що ці люди безмежно віддані своєму вибору.

Отже, якщо вам також захотілось ознайомитись з ретропрограмами, то необхідно застосувати програму-емулятор. Емулятор комп’ютера дозволяє імітувати роботу апаратури будь-якого комп’ютера та використовувати його програмне забезпечення. Емулятор має наступне визначення: це продукт для імітації однієї системи іншою для повного сприйняття даних та досягнення ідентичних результатів.

Часто в емуляторах використовують можливості, які не доступні на реальних пристроях. Також досить часто використовуються недокументовані можливості процесора чи операційної системи.

Повна емуляція потребує точності до рівня окремих тактів, недокументованих особливостей та навіть помилок розробників при реалізації. На відміну від симуляції, котра має на меті лише відтворення поведінки програми, при емуляції досягається точне моделювання системи, що імітується. Зазвичай моделюються всі апаратні частини, однак системна шина для спрощення та підвищення продуктивності не емулюється.

Спочатку потрібно з’ясувати, які існують формати файлів. Оригінальні файли для ZX Spectrum писались на асемблері і зберігались на магнітних плівках звичайних касет. Для завантаження програм в пам’ять PC магнітофон підключали через порт і завантажували за допомогою звукової карти. За допомогою спеціальної програми з модульованого сигналу створювався псевдозвуковий файл *.tzx. Перші емулятори завантажували ці файли в режимі реального часу. Тривалий час завантаження обійшли, створивши інші формати *.tap та *.blk, що були образами *.tzx, але читались напряму з диску за долі секунд. Потім в більш сучасних емуляторах час завантаження *.tzx-файлів значно зменшився.

Рис. 4 Легендарних 40 клавiш

Але програми для ZX Spectrum існували ще й на дискетах, тому завдяки більш-менш сучасному носієві перенос на PC був уже простіший. Формат *.ZZX — це архівований образ диску. Для роботи з ним його спочатку потрібно розархівувати. Формат *.TRD — це образ реального диску. *.SCL також образ диску, але він займає менше місця за рахунок оригінального способу зберігання інформації. Менше поширені формати *.TD0, *.FDI та *.UDI.

Зручними є формати snapshot — образи пам’яті. Вони зберігають повну копію пам’яті емулятора на диск, що дозволяє зберегти стан поточної гри в необхідному місці. Це файли з розширеннями *.SNA, *.Z80, *.SP, *.SLT, *.ZX та *.KGB.

Ще існують POKEs файли з розширенням *.pok. Це файли з cheats до ігор для отримання вічного життя, повної амуніції тощо. Достатньо завантажити відповідний POK-файл під час гри.

А тепер про найпопулярнІшІ емулятори

EightyOne. Автор — Michael D Wynne. Розповсюджується згідно ліцензії GNU GPL. Код ядра процесора Z80 та відтворення звуку запозичені з відомого мультиплатформеного емулятора FUSE. Інформація на сайті chuntey.com/eightyone. Включає цікавий режим TV-емуляції, в якому є можливість перетворити вікно емулятора на звичайний телевізор десь так 1980 року випуску :-).

EmuZWin. Автор — Володимир Кладов. Реалізований на мові С. Один з перших високоякісних пострадянських емуляторів. Використовує для роботи API ОpenGL. Інформація занаходиться за адресами kolmsk.net/apps/emuzwin_rus.htm та bonanzas.rinet.ru. Спеціально для емулятора написаний компілятор ZX Assembler++, автор люб’язно дозволяє його використовувати при побудові інших модульних емуляторів. Цікаво, що ведеться розробка режиму NetPlay для зв’язку емуляторів між собою по протоколу, що базується на TCP/IP. Також оригінальною особливістю є аддон для побудови карт по квестовим іграм. Є можливісь регулювання гучності звуку.

FUSE. Free Unix Spectrum Emulator був створений для *nix-систем, з часом став мультіплатформенним. Зараз перенесений практично на усі популярні системи, в тому числі на операційні системи корпорації Microsoft. Автор — Філіп Кендел (Philip Kendall), розповсюдження — по ліцензії GNU GPL. Сайт проекту — fuse-emulator.

sourceforge.net. Керування здійснюється без будь-якого меню, лише за допомогою функціональних клавіш. Одразу ж видно, що підхід до розробки інтерфейсу був запозичений у *nix-програмістів.

Spectaculator. Платний комерційний емулятор, вартість — $30. Але автор Jonatan Needle дозволяє протягом 30 діб користуватись ним без функціональних обмежень. Вважається одним з кращих закордонних емуляторів. Позиціонується як емулятор, що підтримує усі оригінальні моделі пристроїв перифірії. Сайт — spectaculator.com. Працює з буфером обміну та підтримує під’єднання до PC-портів. В якості бонуса та зацікавлення в придбанні емулятора до дистрибутива включено кілька ігор, про які нагадує діалог при кожному запуску.

RealSpectrum. Написаний відомою італійською демо-групою RAMSoft, деталі на ramsoft.bbk.org/realspec.html. Перший емулятор з точними таймінгами та 100% підтримкою специфічних для Спектрума ефектів, що використовуються в роботах демо-групи. Випускається з оптимізацією для процесорів різних виробників. Керується також без меню, лише за допомогою гарячих клавіш (у спектрумістів меню також вважається надмірністю :-)). Freeware, а для комерційного використання потрібно звертатись до розробників.

UnrealSpeccy. Створений саратовською групою SMT. Після припинення підтримки авторами розробка проекту не тільки не зупинилась, а ще й почала рухатись в двох незалежних напрямках, основній та побічній гілках. Абсолютно безкоштовний, та ще й із закликом робити з розробкою що завгодно, тому став основою ще для кількох емуляторів для різних платформ. Назва емулятора вказує на реалізацію особливостей, недоступних на реальній платформі, але зараз усі продвинуті емулятори підтримують ці функції. Рекомендований для малопотужних машин, оскільки не вимагає багато ресурсів для роботи. Має зручний менеджер точок зупинки. Детально описані несумісності та методи їх усунення. Вважається найбільш професійним пострадянським емулятором з орієнтацією на досвідченого користувача. Керування за допомогою функціональних клавіш та оригінального меню.

ZX32. Програміст грецького походження в файлі допомоги вибачається за помилки в його володінні англійською мовою, але за якість продукту йому вибачатись не потрібно. Більше інформації про freeware емулятор на сайті zx32.home.ml.org. Офіційний дистрибутив містить кілька ігор. Швидкий, зручний, професійно зроблений, але постійна автопауза при неактивності вікна заважає та дратує. Регулює гучність звуку.

ZXMak. Автор — Alex Makeev, інформація на zxmak.chat.ru. Зручне меню та гарячі клавіші. Завантаження файлів ПЗУ довільних моделей. Повна підтримка мультикольору та мультибордеру, також автор в свій час написав кілька демок з використанням цих ефектів. Багато уваги приділено тактам ZX Spectrum, якості відтворення та синхронізації звукових і шумових ефектів. Ядро Z80 написане на чистому 32-х розрядному асемблері, оболонка використовує С++. Недоліком є відсутність підтримки зуму та поширеного формату *.tzx. Але в режимі Profi можна згадати систему CP/M, яка була відправною точкою для кількох сучасних операційних систем, і попрацювати з нею.

ZXMak .net. Емулятор того ж автора з орієнтацією на середовище Microsoft.NET Framework версії 2.0. Написаний, відповідно, на С#, що дає змогу не використовувати процесорний код. Недоліками є емуляція лише однієї моделі та підтримка незначної кількості форматів файлів. Однак надається можливість збільшення розміру вікна та підтримка завантаження плагінів.

Оскільки відповісти на питання, який з емуляторів є ідеальним, я не зміг, то, можливо, прорівняльна таблиця дозволить визначитися з відповіддю на це питання (див. таблицю).

 

ZX Spectrum on line

Емулятори існують також і у вигляді ресурсів, реалізованих за допомогою web на платформі java.

Наприклад, Myspeccy.com — ресурс, запуск якого був присвячений 26 річниці дня народження ZX Spectrum. Відвідувачі сайту можуть за допомогою вільно розповсюджуваного Java-емулятора Qaop грати он-лайн в ігри, кількісь яких постійно збільшується. Завдяки можливості зберігати результати набраної кількості балів у загальну таблицю визначається найкращий гравець світу. Існує форум для обговорення. Крім того, фанати можуть вести особисті блоги. Цікавою фішкою є «підбір друзів по іграм» та інша соціально спрямовлена функціональність.

Існують ресурси з дещо скромнішою реалізацією можливостей. Це: Zxspectrum.net, ppest.org, shuggyspectrum.com, zx-spectrum.ru, tangram.rs. Для перерахованих ресурсів також використовується Java-емулятор Qaop.

КОРИСНІ ЛІНКИ:

http://www.isety.net/zx/cat.htm  — колекція ігор

www.zx.ru  — великий музей ZX-Spectrum

http://zx-spectrum.narod.ru — збірка ігр, форум по Спектруму

http://zx-news.narod.ru  — скарбниця Спектрума. Багато ігор с описом!

http://speccy.iscool.net — ігри, емулятори

Robo User
Web-droid editor

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *