Абзац
:: Поиск
:: Поддержка проекта
Webmoney:
  • Z610389805629
  • R427996570517
  • E023541002978
  • :: №10 (30.01.2002) Просмотров: 8117

    Автор: Валентин Володин.

    Рубрика: Проекты.

    Номер: №10 (30.01.2002).



    ZX-Spectrum в XXI веке

    В этом году исполняется 20 лет со дня рождения всеми нами любимого компьютера ZX-Spectrum. Для многих этот удивительный компьютер стал первым на пути в увлекательный мир вычислительной техники. Возможно для многих он стал первой и последней привязанностью.

    У нас ZX-Spectrum прочно удерживал позиции домашнего компьютера, где то с 1987 по 1992 (если я ошибаюсь, поправьте), уверенно тесня в этой нише все альтернативные платформы. Доминирующее положение Speccy объяснялось его относительной дешевизной, но главное обилием программного обеспечения. В нашей стране самодельщиков, Speccy, наряду с Радио-86РК, Специалист, Орион-128 и т.д., дал возможность многим самолично собрать и отладить настоящий компьютер.

    Начиная с 1992 года ZX-Spectrum был постепенно вытеснен из занимаемой ниши различными игровыми видеоприставками типа Sega и Dendy. Даже обладая более развитой периферией и клавиатурой, ZX-Spectrum не мог тягаться с видеоприставками в качестве выводимого изображения. Разумеется графический экран Speccy, с разрешением 256Х192 точек и 16-тью цветами на знакоместо, в 1982 году был выше всяческих похвал, но для 1992 года он явно устарел.

    Машине требовался очередной решительный апгрейд, так как последний раз она была улучшена еще в конце 1985 года самим Клайвом Синклером до варианта ZX-Spectrum 128.

    Сейчас, в 2002 году, практически все понимают, что дальнейшая судьба Speccy напрямую зависит от того, будут или не будут доведены его аппаратные средства до современного уровня. Нельзя сказать что за последние 10 лет ничего не было сделано в этом направлении. Современные клоны Speccy сильно отличаются в лучшую сторону от своего предшественника. Список внешних устройств компьютера дополнился модемом, HDD, CD-ROM и возможном чем-то еще. Но несмотря на это Speccy продолжает медленно угасать.

    Видимо в данный момент должна быть выработана концепция нового Speccy. Каким должен быть ZX-Spectrum нового поколения? Где он должен найти свое применение? Каким образом его создавать?

    Мне лично очень понравилась идея Super Spectrum (прошу не путать с проектом фирмы Timex) предложенная журналом MSF №23. Может быть в самом деле сейчас, когда на Speccy особо не заработаешь, только добровольными усилиями волонтеров и последующей квалифицированной селекцией, можно создать нечто новое и жизнеспособное?

    В свою очередь предлагаю новое название Speccy - ZX-Fenix.

    ZX-Fenix, следуя концепции Клайва С инклера, должен быть достаточно дешевым изделием. Стоимость его, в полной конфигурации, не должна превышать стоимость распространенных в настоящее время видеоприставок типа Sony Playstation и аналогичных. Но не смотря на свою дешевизну, в своих мультимедийных возможностях ZX-Fenix должен быть, по крайней мере, на уровне этих приставок. Для достижения поставленной цели нужно всячески использовать готовую, но достаточно качественную периферию, которая отработала свое на IBM PC. Благо Microsoft своим тяжеловесным программным обеспечением стимулирует постоянные апгрейты на PC.

    Как уже говорилось ранее, в настоящее время имеется достаточно много наработок в подключении различной периферии от PC к Speccy, но как ни странно ни кто еще не пробовал адаптировать видиосистему PC. Ведь самая основная часть любого компьютера - видеосистема, до сих пор остается самим узким местом Speccy. Было несколько жидких попыток и просто благих пожеланий увеличить разрешающую способность видеосистемы Speccy, но все они не прижились. Стоит ли тратить время на создание уникального видеоадаптера, когда существует достаточно большое количество видеоадаптеров с того же PC или Amiga?

    В данной ситуации (благодаря Microsoft) предпочтительнее PC, так как устаревшая периферия для нее довольно сильно распространена и стоит смешные деньги (адаптер SVGA Trident c 512 Кбайт видеопамяти я купил за 15 гривень (меньше 3$ и то сказали, что много дал). Правда здесь нужно достаточно много поработать, хотя казалось бы, что проблемы особой нет, так как уже во всех эмуляторах Speccy на PC это проблема в общем-то решена. Но не стоить забывать, что даже самые быстрые эмуляторы требуют процессора не хуже 386. Это, видимо, объясняется тем, что Спектрумовский экран эмулируется в графическом режиме VGA. В этом случае видеосистема должна иметь быстродействие, как минимум, в восемь раз большее, чем имеет центральный процессор. Данное быстродействие требуется, например, при последовательном изменении атрибутов знакомест.

    Выход, по моему, состоит в использовании текстового режима VGA, когда графическая информация записывается в область знакогенератора видеоадаптера. В этом случае можно обойтись без отдельного видеопроцессора, а потребуется только перекодировка адресов, при обращении центрального процессора в область экрана Speccy (на самом деле не так все просто, но решаемо). Для создания одного экрана Speccy потребуется израсходовать три таблицы знакогенератора. VGA хранит в памяти одновременно 8 таблиц знакогенератора, что позволяет реализовать два экрана Speccy необходимые при работе в режиме 128.

    Под процессор Z80 надо будет переписать ROM видео-BIOS VGA. При каждом обращении ZX-Spectrum к видеоресурсам будет происходить подмена стандартного ROM на ROM видео-BIOS и активизация немаскируемого прерывания NMI (возможно о других вариантах использования NMI придется забыть).

    При выводе на монитор одного кадра процессору необходимо будет три раза переключить активный знакогенератор. Для реализации этой процедуры можно использовать счетчик строк, сигнал с которого, после каждой 64-ой строки выводимого кадра, будет использован для подмены ROM и активизации NMI. После смены активного знакогенератора счетчик строк устанавливается в исходное состояние.

    Адаптер VGA довольно сложное устройство, требующее при старте специальной процедуры настройки регистров. К тому же нельзя допустить конфликтов между портами Speccy и портами VGA.

    Исходя из вышесказанного была придумана следующая процедура инициализации и установки видеорежимов VGA. При старте системы сигнал RESET устанавливает некий «триггер видеорежимов VGA» (VMT). VMT блокирует обращение к стандартным портам Speccy и разрешает доступ к регистрам VGA. Первый же байт записанный в экранную область Speccy вызовет подмену стандартного ROM на ROM видео-BIOS VGA и прерывание NMI. Содержимое записанного байта будет являться номером видеорежима. После установки видеорежима триггер VMT сбрасывается и далее Speccy работает так же как и работал. Для смены видеорежима или содержимого регистров VGA необходимо предусмотреть программную установку триггера VMT.

    Для прямой записи информации в DRAM VGA можно использовать сегмент маскируемый ROM. В этом случае необходимо иметь программно доступный трехразрядный регистр, позволяющий обращаться ко всей активной плоскости VGA, имеющей размер 128 К (C0000-BFFFF в PC).

    Теперь немного по поводу области использования ZX-Fenix. Разумеется новый Speccy должен быть прежде всего домашним компьютером. В отличие от видеоприставок он должен позволять работать в Internet. Возможно повальное увлечение загружаемыми OS не стоит распространять на Speccy. Сейчас, когда вопросы информационной безопасности работы в Internet становятся все более основными, может быть именно такая машина станет нашим надежным другом, способным избежать многих атак из Internet. И может быть именно ощущение информационной безопасности станет той каплей, которая склонит чашу весов в пользу Speccy? По крайней мере такого ощущения не хватает пользователям продукции от Microsoft на IBM PC.

    E-mail: valvol[a]farlep.net

    © 2004-2013 Perspective group