ПК8002 «Эльф» — советский 8-разрядный игровой (домашний) компьютер на базе процессора КР580ВМ80А.
Разработан предположительно в 1989 году в московском НИИСчетМаше под руководством М.П.Дроздова на основе японского стандарта MSX2. Однако, как и в случае с ПК8000 и MSX, разработчики ПК8002 не стали делать его полностью совместимым с MSX2, поскольку это потребовало бы использования иностранных компонентов (что в то время было сложно) – в СССР не выпускались аналоги процессора Z80, видеопроцессора Yamaha V9938 и звукогенератора Yamaha YM2149, применявшихся в MSX2. В результате была разработана конструкция на советской элементной базе, частично повторяющая возможности MSX2, но фактически не совместимая с ним.
ПК8002 занял 3-е место во всесоюзном конкурсе на создание перспективных моделей бытовых персональных ЭВМ, проводившемся в 1989 году Государственным комитетом по вычислительной технике и информатике и другими организациями, о чём сообщал журнал «Вычислительная техника и её применение».
По имеющимся данным, ПК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 – та самая «мелкая логика», включающая, в том числе, множество счетчиков, мультиплексоров, регистров и т. д. Согласно интервью М. П. Дроздова, в начале 90-х планировалось перевести десятки простых микросхем в заказные БИС (видимо, БМК), после чего, очевидно, планировалось начать серийное производство компьютера. Однако, судя по всему, эта работа была остановлена экономическим и политическим кризисом тех лет, и все ПК8002 так и производились в прежнем виде (в т. ч. даже в 1993 году).
Хотя прообразом ПК8002 обычно считается MSX2, они имели далеко не идентичные видеоконтроллеры. Все же у ПК8002 графические возможности значительно прощеБазовые программные средства ПК8002. Руководство пользователя: видеопамять всего 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, – 6 основных режимов экрана, отображение спрайтов, программируемая палитра, возможность выбора частоты кадров (50 или 60 Гц) и т.д.
Главное достоинство видеоконтроллера ПК8002 – цветной программируемый знакогенератор, как в стандартах MSX и MSX2, примерно аналогичный ПК8000. Это позволяет получить очень быструю и простую смену фона в «текстовом» режиме при достаточно сложном и многоцветном изображении – до 16 разных цветов в одном знакоместе 8х8 точек.
Второе огромное достоинство – аппаратная поддержка спрайтов, причём реализованная на весьма высоком уровне (), что радикально улучшает игровые возможности ПК.
Вообще, ПК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 байт хранится в видеопамяти – в ней находятся координаты, цвета и другие параметры спрайтов. Предусмотрен механизм аппаратной фиксации столкновения (пересечения) спрайтов, позволяющий точно отследить столкновение каких-то объектов в играх.
Отображение спрайтов не зависит от текущего режима экрана и осуществляется независимо от работы основного видеоконтроллера, но требует интенсивного использования оперативной памяти, что приводит к существенному торможению процессора. Соответственно, отключение видеопроцессора (то есть отдельного видеоконтроллера, выводящего спрайты) приводит к заметному ускорению работы микропроцессора ПК.