ПК8002 «Эльф»

ПК8002 «Эльф» — советский 8-разрядный игровой (домашний) компьютер на базе процессора КР580ВМ80А.

ПК8002 «Эльф»
Конфигурация
ОС Встроенная программа-монитор (загрузчик)
Тип модель компьютера[вд]
Разработчик НИИСчетМаш, г. Москва
Государство СССР
Год выпуска 1989
Продано штук 1000−2000
Оперативная память 64 КБ
Постоянная память 4 КБ
Аудио подсистема 3 канала, генератор шума, общая регулировка громкости (32 уровня)
Электропитание 220 В
Периферия магнитофон, принтер
Запоминающее устройство аудиокассета, блок ПЗУ
Центральный процессор
Модель CPU КР580ВМ80А
Регистры CPU (bit) 8
Тактовая частота CPU 2,5 МГц
Разрешение в пикселях монохромный 512x212, цветной 256×192, 16 цветов, программируемых из палитры 256 цветов
Текстовый режим 32×24 или 32х26,5 (символы 8×8)
Предшественник ПК8000

Разработан предположительно в 1989 году в московском НИИСчетМаше под руководством М.П.Дроздова на основе японского стандарта MSX2. Однако, как и в случае с ПК8000 и MSX, разработчики ПК8002 не стали делать его полностью совместимым с MSX2, поскольку это потребовало бы использования иностранных компонентов (что в то время было сложно) – в СССР не выпускались аналоги процессора Z80, видеопроцессора Yamaha V9938 и звукогенератора Yamaha YM2149, применявшихся в MSX2. В результате была разработана конструкция на советской элементной базе, частично повторяющая возможности MSX2, но фактически не совместимая с ним.

ПК8002 занял 3-е место во всесоюзном конкурсе на создание перспективных моделей бытовых персональных ЭВМ, проводившемся в 1989 году Государственным комитетом по вычислительной технике и информатике и другими организациями, о чём сообщал журнал «Вычислительная техника и её применение»[1].

По имеющимся данным, ПК8002 так и не попал в серийное производство, были выпущены лишь пробные партии на заводах в Оренбурге и Пензе. Общее число выпущенных экземпляров – ориентировочно в пределах 1000-2000. Тем не менее, для ПК был создан ряд интересных программ, в основном игровых (качественные «порты» с MSX и MSX2 – Road Fighter, Kung Fu, Putup и др.).

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

править
  • Процессор: 8-битный КР580ВМ80А на тактовой частоте 2,5 МГц; тормозится видеоконтроллером (особенно при отображении спрайтов).
  • Память: ОЗУ — 64 КБ, из которых видео-ОЗУ — 16 КБ (любая четверть общего ОЗУ может быть видеопамятью); ПЗУ — 4 КБ (содержит только встроенный тест, программу-монитор и знакогенератор).
  • Графика:
    • Три текстовых (символьных) режима: низкое цветовое разрешение (цвет изображения и фона задается для всего символа 8х8 точек, аналог SCR1 в MSX), среднее цветовое разрешение (цвет задается отдельно для каждой строки символов – 8х1 точек, аналог SCR2 в MSX), высокое цветовое разрешение (цвет точек может быть любым, но одновременно на экране не более 4 цветов); отображается 32 знака в строке, 24 или 26,5 строк на экране (символы 8×8 точек).
    • Три графических режима: 256×192/212 точек, среднее цветовое разрешение (любые два из 16 цветов задаются для каждого знакоместа 8х1 точек) или высокое цветовое разрешение (любой из 4 возможных цветов для любой точки экрана) либо 512х192/212 точек в монохромном режиме (для всего экрана задаются два цвета – фона и изображения).
    • Аппаратная поддержка до 64 трёхцветных спрайтов размером от 16х2 до 16х212 точек (спрайты выводятся отдельным видеоконтроллером («видеопроцессором») и отображаются независимо от фона).
    • Программируемая палитра – для каждого из 16 «логических» цветов можно задать один из 256 «физических».
  • Звук: аппаратный 3-канальный звукогенератор на КР580ВИ53 (один из каналов можно использовать также для вывода шума с регулируемой "высотой"), общая для всех каналов программная регулировка громкости (32 уровня), звук моно.
  • Устройство вывода изображения: монитор либо телевизор.
  • Внешняя память: бытовой кассетный магнитофон, кассеты ПЗУ, внешний блок с дисководом (в зависимости от комплектации).
  • Порты ввода-вывода:
    • Расширение (подключение дополнительных устройств – контроллеров дисководов и т. д.)
    • Параллельный порт для принтера
    • Два разъема для джойстиков
    • Видео (RGB)
    • Магнитофон

Устройство

править

Попытка создать аналог достаточно сложных ПК стандарта MSX2 средствами обычной «мелкой логики» вылилась в разработку одной из самых сложных конструкций среди советских домашних и учебных ПК – на одной плате ПК8002 расположено целых 140 микросхем, причём из них лишь 10 – микросхемы памяти (ОЗУ и ПЗУ) и ещё около десятка – БИС процессора, параллельных портов, звукогенератора, ПЛМ, ЦАП и т. д., а остальные 120 – та самая «мелкая логика», включающая, в том числе, множество счетчиков, мультиплексоров, регистров и т. д. Согласно интервью М. П. Дроздова[1], в начале 90-х планировалось перевести десятки простых микросхем в заказные БИС (видимо, БМК), после чего, очевидно, планировалось начать серийное производство компьютера. Однако, судя по всему, эта работа была остановлена экономическим и политическим кризисом тех лет, и все ПК8002 так и производились в прежнем виде (в т. ч. даже в 1993 году).

Хотя прообразом ПК8002 обычно считается MSX2, они имели далеко не идентичные видеоконтроллеры. Все же у ПК8002 графические возможности значительно проще[2]: видеопамять всего 16 КБ (у MSX2 – минимум 64 КБ) и отсутствуют самые многоцветные режимы, которыми как раз и выделялся MSX2 на фоне всех конкурентов – 256х212 точек при 256 цветах для любой точки и 512х212 точек при 16 цветах (выбираемых из палитры 512 цв.) для любой точки. Поэтому в области неигровой графики ПК8002 заметно уступал таким моделям, как «Вектор-06Ц», «Корвет» и УКНЦ.

Остальные отличия ПК8002 от MSX/MSX2 аналогичны ПК8000 – другой процессор (советскийВМ80А вместо Z80) с другой тактовой частотой (2,5 МГц вместо 3,58 МГц) и другой звукогенератор (ВИ53 + ЦАП К572ПА1 вместо YM2149), что не позволяет говорить о какой-либо совместимости с MSX2. Однако близкая архитектура видеоконтроллера все же значительно упрощает перенос игр с MSX/MSX2, и доступные примеры игр для ПК8002 показывают их полную идентичность прообразам на MSX.

Звуковой генератор ПК8002 – микросхема универсального таймера-счетчика КР580ВИ53 – тактировался невысокой частотой 156,25 КГц, а не 1,5-2 МГц, как на других наших ПК («Вектор», «Корвет» и др.), что несколько ограничивало набор и диапазон воспроизводимых частот (выходная частота каждого из трех каналов формировалась делением тактовой частоты на целое 16-битное число), хотя наличие аппаратного шумогенератора и программной регулировки громкости, конечно, заметно расширяло звуковые возможности ПК в сравнении с другими моделями.

Видеосистема

править

ПК8002, безусловно, имеет наиболее сложную видеосистему среди всех советских ПК и большинства зарубежных 8-битных компьютеров[источник не указан 2151 день] – 6 основных режимов экрана, отображение спрайтов, программируемая палитра, возможность выбора частоты кадров (50 или 60 Гц) и т.д.[2]

Главное достоинство видеоконтроллера ПК8002 – цветной программируемый знакогенератор, как в стандартах MSX и MSX2, примерно аналогичный ПК8000. Это позволяет получить очень быструю и простую смену фона в «текстовом» режиме при достаточно сложном и многоцветном изображении – до 16 разных цветов в одном знакоместе 8х8 точек.

Второе огромное достоинство – аппаратная поддержка спрайтов, причём реализованная на весьма высоком уровне (лучше, чем у MSX и даже частично лучше MSX2[источник не указан 2151 день]), что радикально улучшает игровые возможности ПК.

Вообще, ПК8002 поддерживал следующие опции экрана: два варианта пространственного разрешения – 256 (основной многоцветный) и 512 точек (только монохромный), три варианта цветового разрешения – низкое, среднее и высокое, а также два типа отображения – текстовый (символьный, отображаются 24 или 26,5 строк из 32 знакомест каждая) и графический (192 или 212 строк при 256 или 512 точках в строке).

Под цветовым разрешением подразумевается количество возможных цветов в одном символе или знакоместе экрана:

• Низкое разрешение (используется только в текстовом режиме) – только два цвета на символ 8х8 точек (задается любой из 16 цветов изображения (единицы в символе) и фона (нули в символе)). Соответствует цветному текстовому режиму MSX и ПК8000 (SCREEN 1). Таблица цвета занимает всего 32 байта – то есть все 256 символов знакогенератора разбиты на 32 группы по 8 знаков, и у каждой группы может быть своё сочетание цвета фона и изображения (выбираются любые из 16 логических цветов).

• Среднее разрешение – для каждой строки символа (т. е. горизонтального элемента из 8 точек) можно выбрать свои цвета фона и изображения, то есть в символе может быть до 16 разных цветов, но не более двух в каждой из 8 строк символа. Это основной режим экрана в играх для MSX и MSX2 (SCREEN 2). В графическом режиме: каждому знакоместу экрана (8х1 точек) соответствует свой байт в отдельной области видеопамяти, задающий свои цвета фона (4 бита) и изображения (4 бита). Таблица цвета занимает столько же места, сколько сам знакогенератор (в текстовом режиме – 2048 байт, в графическом – 6 или 6,75 КБ).

• Высокое разрешение – цвета выбираются произвольно для каждой точки символа (8х8 точек), но при этом на экране может быть одновременно не более 4 цветов. При этом в видеопамяти вместо таблицы цветов создаётся дополнительный знакогенератор такого же объема и той же структуры, что и у основного. Два знакогенератора образуют две цветовых плоскости, в которых 2 бита задают логический цвет точки изображения.

Различия между текстовыми и графическими режимами заключаются в основном в размере знакогенератора: в текстовом режиме он всегда 256 символов (2048 байт), а в графическом состоит из трех частей по 256 символов (при 192 линиях) или четырёх частей (при 212 линиях, тогда четвёртая часть имеет размер 128 символов), и каждой части соответствует своя часть экрана (верх, середина и низ, а при 212 линиях – ещё и самый низ) и своя часть экранного буфера. Таким образом, знакогенератор в графическом режиме имеет размер, позволяющий охватить уникальными знаками весь экранный буфер (его размер 768 (192 линии) или 864 (212 линий) знака) и может использоваться как битовая карта, содержащая любое произвольное изображение (но с цветовыми ограничениями, соответствующими выбранному цветовому разрешению). При этом в графическом режиме сохраняются все достоинства текстового режима – а именно возможность быстрого изменения изображения на экране сменой содержимого одного лишь небольшого текстового буфера.

Для каждого из 16 логических цветов в специальном статическом ОЗУ палитры задаются физические цвета (любые из 256 возможных): в байте цвета по три бита отведены для задания интенсивности красного и зеленого и два бита – для синего.

В монохромном режиме высокого разрешения (512 точек в строке, он только графический) в видеопамяти организуются два одинаковых по размеру знакогенератора, причём каждому коду символа в буфере экрана соответствуют сразу два рядом расположенных узких символа на экране (левый берется из основного знакогенератора, правый – из дополнительного).

Спрайтов может быть до 64 штук, причём каждый может содержать три цвета (четвёртый – прозрачный), но на одной линии экрана отображается не более 8 спрайтов. Это значительно лучше, чем у MSX (там 32 одноцветных спрайта и на одной линии не более 4) и примерно аналогично MSX2 (у них 32 спрайта, до 4 или 8 на одной строке, 1 или 8 цветов из 16 в одной строке спрайта). При этом допустимый размер спрайтов гораздо больше, чем у MSX и MSX2 (у них лишь 8х8 либо 16х16) – от 16х2 до 16х212 точек (ширина всегда 16 точек, а высота – до высоты всего экрана). Поскольку сами изображения спрайтов хранятся не в видеопамяти (размер которой всего 16 килобайт), а в основной оперативной памяти, то никаких фактических ограничений на размеры и количество используемых спрайтов нет (они ограничены только общим объемом ОЗУ в 64 килобайта). Таблица атрибутов спрайтов размером 512 байт хранится в видеопамяти – в ней находятся координаты, цвета и другие параметры спрайтов. Предусмотрен механизм аппаратной фиксации столкновения (пересечения) спрайтов, позволяющий точно отследить столкновение каких-то объектов в играх.

Отображение спрайтов не зависит от текущего режима экрана и осуществляется независимо от работы основного видеоконтроллера, но требует интенсивного использования оперативной памяти, что приводит к существенному торможению процессора. Соответственно, отключение видеопроцессора (то есть отдельного видеоконтроллера, выводящего спрайты) приводит к заметному ускорению работы микропроцессора ПК.

Главные отличия видеосистемы ПК8002 от более простых стандартов MSX и ПК8000 – наличие дополнительных разрешений (с 212 строками и 512 точками в строке) и цветовых режимов (4-цветный режим «высокого» цветового разрешения). И, конечно, большим отличием от ПК8000 является аппаратная поддержка спрайтов. В то же время, у ПК8002 нет крайне редко применявшегося режима произвольной 16-цветной графики сверхнизкого разрешения (64х48 «точек»), имевшегося у MSX и MSX2, а также отсутствует и монохромный текстовый режим (24 строки по 40 символов), имевшийся у MSX/MSX2 и ПК8000 (его может заменить любой из присутствующих в ПК8002 текстовых режимов или графический режим высокого разрешения, позволяющий отображать 64 и более символов в строке).

Основное отличие от MSX2: у ПК8002 отсутствуют многоцветные растровые режимы с произвольной графикой – 256х192/212 при 16 цветах с палитрой, 512х192/212 при 16 цветах с палитрой и 256х192/212 при 256 цветах без палитры. Впрочем, эти режимы достаточно редко использовались в играх на MSX2 из-за гораздо более медленной работы и высоких требованиях к объему памяти, чем у классических для MSX «тайловых» (блочных) режимов с программируемым знакогенератором. Также отсутствует текстовый режим 80х24 при 4 цветах с палитрой. Размер палитры у ПК8002 несколько меньше, чем у MSX2 – 256 цветов вместо 512.

Так же, как и в случае с ПК8000, наличие у ПК8002 программируемого цветного знакогенератора даёт большие преимущества в играх и резко снижает требования к скорости процессора – фактически, все игры работают как бы в текстовом режиме, и процессору чаще всего достаточно постоянно манипулировать лишь кадровым буфером размером около 800 байт (компьютерам с более классической организацией видеоконтроллера приходится постоянно производить обработку примерно от 6 до 32 килобайт видеопамяти).

Примечания

править
  1. 1 2 Итоги конкурса на создание бытовых ПЭВМ // Вычислительная техника и её применение. — 1990. — № 8. — С. 46-47.
  2. 1 2 Базовые программные средства ПК8002. Руководство пользователя (недоступная ссылка)

Ссылки

править