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

    Автор: Денис Гартфельдер.

    Рубрика: Железо.

    Номер: №26 (16.01.2006).



    Зарубежные клоны ZX Spectrum

    Тема этого обзора - зарубежные клоны

    ZX Spectrum, разработанные в последние годы. Читатели, возможно, уже знакомы с некоторыми из рассматриваемых машин. В периодических изданиях, посвященных Спектруму, об одних из них рассказывалось подробно, другие лишь вкратце упоминались. Приведенная информация, не претендуя на полноту, позволяет получить лишь общее представление о возможностях и особенностях современных западных Спектрумов.


    SpeccyBob

    Разработчик: Mike Wynne (mikeywyn@hotmail.com)

    Почти точная копия ZX Spectrum 48. SpeccyBob - это общее название двух клонов. SpeccyBob Lite - это на 99 % совместимая с фирменным ZX Spectrum 48 машина. «Полная» версия SpeccyBob 2 (которой пока не существует) должна обладать дополнительными возможностями, такими как дополнительные видеорежимы, поддержка IDE и ОЗУ размером до 4 Мб… Иными словами, всем тем, что уже реализовано во многих современных клонах Спектрума.

    SpeccyBob сконструирован на базе стандартных TTL серии 74HC. Единственное «нестандартное» устройство - EEPROM с прошивкой спектрумовского ПЗУ, которое можно безболезненно заменить на ПЗУ фирменной машины. Конструкция машины представляет собой 3 соединенные между собой платы: материнскую (ответственную так же за формирование частоты сигнала), процессорную и видеоплату.

    С принципиальными схемами компьютера можно ознакомиться на сайте разработчика: http://www.chuntey.com/speccybob


    Chrome

    Разработчик: Mario Prato (http://aticatac.altervista.org)

    Итальянский спектрум-клон на основе SpeccyBob. Проект Chrome разрабатывался на основе SpeccyBob, но, в отличие от последнего, Chrome кроме TTL-модулей использует два CPLD-модуля (ПЛУ), позволяющие эмулировать Z80 с частотой 7 MHz, 128-й Спектрум и контроллер дисковода, совместимый с +D. Проект отличает малое количество микросхем и небольшой размер платы. Все модули можно свободно перепрограммировать, внося изменения в исходную модель в режиме реального времени.


    Технические характеристики Chrome:


    Процессор       Zilog Z80C, частота 3.58 / 7.1 MHz
    ROM             64 Kb (Спектрум-Бейсик), 8 Kb дисковый ROM 
    RAM             160 Kb страницами по 16 Kb, 8 Kb дисковый RAM
    Звук            AY/YM стерео 3 канала 7 октав белый шум, встроенный спикер
    Ввод / вывод    Kempston-джойстик, шина расширения, шина I2C, параллельный порт принтера
    Накопители      Магнитофонный выход, дисковод 800K (+D совместимый)
    Видео           Стандартный (256*192@16) аналоговый RGB SCART разъем

    Карта памяти Chrome идентична карте стандартной 128-ой машины, но с двумя дополнительными страницами RAM и двумя - ROM. Страницы контролируются через #7FFD/#1FFD; вторая и пятая связаны с видеопроцессором.

    Музыкальный процессор доступен по стандартным адресам: #FFFD (чтение/запись) и #BFFD (запись).

    Контроллер дисковода совместим с +D, позволяет подключать 2 дисковода емкостью 800 Kb и использовать все дополнительные возможности интерфейса +D (параллельный порт принтера, своя кнопка «MAGIC» для записи снимков памяти на дискету или для распечатывания экрана). +D имеет свою теневую память, 8 Kb ROM и 8 Kb RAM, которая подставляется при обращении к подпрограммам ROM по адресам #08, #66, #028E.

    Шина I2C управляется программно - можно, например, подключить часы.

    Chrome - это на 100% проект для самостоятельной сборки. На странице проекта можно скачать все необходимые для самостоятельного изготовления файлы: разводку печатной платы, принципиальную схему, список элементов, прошивки для ПЛМ.


    ZX Spectrum SE (Chloe)

    Разработчик: Andrew Owen (aoweninoz@yahoo.com.au)

    Самый прогрессивный из всех клонов, но уже не совсем Spectrum. В отличие от перечисленных клонов, ZX Spectrum SE - это не собранная из современных деталей машина, а аппаратно доработанный португальский клон Timex TC2048/TC2068. Соответственно, машина имеет некоторые специфические для Timex особенности: расширенные видеорежимы, особая организация памяти и обращение к ней. Модификации были предложены Andrew Owen, после чего они были доработаны и реализованы Yarek Adamski.


    Краткие технические характеристики Chloe:


    Процессор       Zilog Z80A на 3.528 MHz
    ROM             64 Kb (обычный ROM и модифицированный 128-ой редактор) 
    RAM             272 Kb (128Kb ZX Spectrum 128 + 128Kb Timex + 16Kb) 
    Звук            AY/YM стерео 3 канала 7 октав белый шум, встроенный спикер
    Ввод / вывод    Kempston-джойстик, клавиатура для ноутбуков (PS/2), 2-х кнопочная мышь
    Накопители      Лента; возможность работать с дисковыми интерфейсами и IDE-устройствами, 
                    в том числе ZXCF (в операционной системе ZXVGS)
    Видео           Видеопамять 27Kb, возможность работы в следующих режимах:
                    - Стандартный (256*192@16)
                    - Расширенный цветовой режим (вертикальный multicolor-6144)
                    - Режим высокого разрешения (Пентагон/Timex 512*192@2)

    Поскольку ZX Spectrum SE базируется на нестандартном клоне (являясь, по сути, модификацией модификации), необходимо чуть подробнее описать работу «железа».

    Процессор

    Процессор работает на нестандартной частоте 3.528 MHz. Тем не менее, за счет использования вместо синхроциклов собственных внутренних счетчиков видеопроцессора, видеосинхронизация от этого не страдает, и экран по-прежнему состоит из 312 строк по 224 такта в каждой.

    ОЗУ

    ОЗУ является, пожалуй, наиболее сложной частью этого клона.

    ZX Spectrum SE объединяет в себе системы адресации Timex TS2068 и ZX Spectrum 128, плюс к этому еще 16Kb. Таким образом, чтобы работать со всеми 272Kb памяти, необходимо использовать два различных метода обращения к ним.

    Поскольку одновременно используются две совершенно разные системы адресации страниц, на обращение к страницам накладываются определенные аппаратные ограничения. Область памяти разбита на страницы по 8Kb, каждая из которых может быть или стандартной областью памяти Спектрума (HOME), или одним из дополнительных блоков памяти Timex-а (DOCK или EX). По адресу #8000 (где должна быть вторая страница) есть дополнительный блок. Это не приводит к каким-либо значимым проблемам при работе (хотя некоторые демки работают не совсем корректно), однако позволяет использовать больший объем памяти. Переключение страниц осуществляется стандартным способом через порт #7FFD.

    Клавиатура, мышь и джойстик

    В качестве устройства ввода было решено использовать внешнюю PS/2 клавиатуру для ноутбука, что, помимо повышения удобства ввода, позволяет программировать функциональные клавиши для ввода макросов (вроде LOAD»»).

    Порт Kempston-джойстика был немного модифицирован, и теперь к нему можно подключить джойстик с авто-стрельбой и двухкнопочную мышь.

    ПЗУ

    Стандартное ПЗУ заменено на 64-килобайтный EPROM, причем лишь две страницы из четырех доступны.

    - Первая страница - модифицированная версия 128-го редактора, обеспечивающая сброс Timex’овской ULA и переключение в нужный видеорежим при рестарте.

    - Вторая страница - копия ZX-Бейсика, в которой реализован перехват обращений TR-DOS (для возможности его эмуляции при работе в операционной системе ZXVGS).

    - Третья страница - точная копия первой.

    - Четвертая страница - копия второй, но без перехватчиков TR-DOS.

    Пользовательская прошивка ПЗУ может быть загружена в память и затем программно «впихнута» в адресное пространство оригинального ПЗУ при помощи одного из банков памяти Timex-а. Для ПЗУ, которые способны обрабатывать немаскируемые прерывания, в компьютере предусмотрена специальная внешняя кнопка.

    Звук

    Компьютер комплектуется музыкальным процессором AY-3-8912 с дополнительным последовательным 8-килобайтным EEPROM. Порт 14 музыкального процессора используется для управления шиной I2C: нулевой бит - сигнал SDA (данные), первый бит - SCL (синхросигнал).

    Музыкальный процессор управляется через 4 порта: #FFFD и #BFFD (как в ZX Spectrum), #F5 и #F6 (как в Timex TS2068). Порты дублируются, чтобы обеспечить совместимость как с программами для Timex TS2068, так и для фирменного ZX Spectrum. Есть возможность выбрать раскладку каналов ABC/ACB.

    Видеопроцессор

    Особенность фирменной спектрумовской ULA, из-за которой портился экран в том случае, если регистр I указывал на область медленной верхней памяти, присутствует и в видеопроцессоре, однако она аппаратно исправлена посредством логического AND. Также исправлено искажение экрана при включенном IM2. Как и в ZX Spectrum 128, можно работать с двумя отдельными областями памяти (экранами).

    Дополнительные видеорежимы видеочипа TS2068 контролируются портом #FF. Видеочип также связан с процедурами ввода/вывода, причем, в отличие от фирменного Спектрума, адреса портов дешифруются полностью. Побочным эффектом этого является неработоспособность некоторых игр и невозможность опроса клавиатуры по нестандартным адресам. Порт #FF также используется для включения/выключения прерываний и для выбора банка памяти по стандарту Timex.

    В режиме высокого разрешения для изображения 512*192 используют данные нулевого и первого экранов, чередование колонок которых и формирует изображение. Атрибутная область при этом не используется. В режиме высокого цветового разрешения (вертикальный multicolor) данные нулевого экрана используются как монохромное изображение, а данные первого экрана - как атрибуты в режиме 2 цвета на линию из 8 пикселей.

    Если точно рассчитать такты, то возможно программно переключить видеорежим в процессе прорисовки экрана, так что верхняя часть экрана будет в режиме высокого цветового разрешения, а нижняя - в режиме высокого разрешения, что может найти свое применение в графических адвентюрах. Таким же образом можно получить более 2 цветов в режиме высокого разрешения.

    Дополнительная информация: http://zxse.raww.net


    ZX Spectrum +3e ROM

    Разработчик: Garry Lancaster (garry_lancaster@yahoo.co.uk)

    Аппаратно-программная доработанная версия Amstard ZX Spectrum +3. Как и предыдущий клон, +3e - это доработанная версия компьютера ZX Spectrum +3, производившихся фирмой Amstard. На основе существующего +3 ПЗУ был создан +3e ROM, в котором, помимо исправления ошибок, были добавлены команды работы с жестким диском (используется 8-битная адресация, работа с 16-битными устройствами не поддерживается), усовершенствованна работа с каналами и потоками (появилась возможность работать с файлами, областями памяти, массивами и текстовыми окнами), добавлена возможность загружать образы памяти в формате «.Z80» (пока реализованная лишь для образов, сохраненных в 48-ом режиме) и реализован оконный интерфейс (работа с которым осуществляется через специальный канал «W» в режиме записи).

    +3e ROM отличается серьезно переработанным BASIC’ом, в который добавлены комбинации команд для работы с жестким диском. +3e ROM позволяет довольно гибко работать с пространством жесткого диска, а именно:

    - создавать/уничтожать/форматировать 65536 разделов размером до 16 Мб «на ходу», без необходимости перезагрузки;

    - присваивать любому разделу любое имя диска и назначить по умолчанию любой диск любого типа - дисковод, RAM-диск, раздел жесткого диска;

    - есть возможность сделать текущую раскладку присвоенных дискам разделов перманентной (постоянной);

    - из BASIC’а могут выполняться такие операции как, например, подсчет размера файла, определение его физического месторасположение и установка позиции внутри файла (для операций чтения/записи).

    ZX Spectrum +3e интересен тем, что не требует серьезной доработки компьютера. Достаточно лишь установить перепрошитое ПЗУ и при желании собрать контроллер.

    Дополнительная информация: http://www.zxplus3e.plus.com


    Глоссарий

    I2C - Inter-IC, интерфейс связи между интегральными схемами.

    IDE - Integrated Device Electronics, тип интерфейса дисковых накопителей, в котором управляющая электроника размещается в самом дисководе, не требуя специальной адаптерной платы.

    CPLD - Complex Programmable Logic Device, сложное устройство с программируемой логикой, ПЛУ. Микросхема, которую можно запрограммировать на выполнение определенных функций (например, выполнять роль микропроцессора или другой микросхемы). Технология была разработана фирмой Xilinx.

    E[E]PROM - Electrically [Erasable] Programmable ROM, электрически-стираемое программируемое ПЗУ.

    TTL - Transistor-Transistor Logic, транзисторно-транзисторные логические схемы, набор обычных микросхем.


    Обзор подготовил Денис Гартфельдер

    © 2004-2013 Perspective group