ZX Ferrum #01
07 февраля 2004
  Железо  

Железо - схема железного мультиколора - Hardware Multicolor.


Аппаратное обеспечениеЭксплуатация и доработкиВидеоГрафические режимы

Demon/DPC (c) 2003

ВНИМАНИЕ! Статья  написана с использованием материалов из газеты
X-RAY и моего личного опыта!

                      Hardware Multicolor

                                         Ох, уж эти полосочки ;)

  Сейчас я буду рассказывать, как я делал эту штукенцию. Для тех
кто  в танке (не обижайтесь ;)), обьясняю: Hardware Multicolor -
аппаратная реализация мультиколора (нет, не тот что на бордере),
или  говоря  нормальным (хе-хе  ;->)  языком, графический  режим
192x256  pix  16 colors in 1x8 pix, короче на байт пикселей байт
атрибутов, разбитовка атрибута (во завернул ;)) такая же как и в
стандартном  экране. Расположение  пикселей с адреса #4000 как в
стандартном экране, атрибуты #6000 адресация та же, то есть:

#6000  ;первая линия, ей соответствуют пиксели по #4000
#6100  ;вторая
#6200
...

  Для примера:

        LD HL,#4000   ; 8-O
        LD B,7        ; семь линий
PP      LD (HL),#FF   ; линия
        SET 5,H       ; устанавливаем пятый бит #40+#20=#60
                      ; очень удобно и быстро
        LD (HL),B     ; ставин атрибут
        RES 5,H       ; вертаем адрес пикселей
        INC H
        DJNZ LP
        RET

  Получим  семь  линий  в левом верхнем углу экрана окрашенных в
разные цвета!
  Между областями образуется промежуток в два килобайта куда как
раз попадают системные переменные и буфер тр-дос. Кстати все вы-
шеописанное относится и ко второму экрану, там атрибуты соответ-
ственно с адреса #E000, используя его экономим уже 12 килобайт.
  Не  смотря на то, что объем экрана увеличился почти в два раза
обрабатывать его вполне возможно.

  Многие  скажут:  "А зачем оно нам!". А вот зачем, схема проста
до  безобразия, а возможностей предоствляет больше чем стандарт-
ный  экран. Конечно это не решает всех проблем, но игрушки будут
более красочными (да и к тому же в UnrealSpectrum'e данный режим
есть,  ау, господа  эмуляторщики!).  Есть  демонстрация  игрушки
(heroes - приведена  в  приложении),  где  показаны  возможности
этого  режима (красочно!), а так он не поддержан до сих пор (ау,
господа  кодеры!)  ни в игрушках ни в граф утилитах (по видимому
из-за отсутствия утилит, нет и игрушек).

  Ладно, это все слова, пора переходить к делу.

Схема представленная в X-RAY #(2 или 3, не помню) для пентагона:

                        ┌╥┐
выв.8/D15(D28) ─>──────┐ ║
                        ║
           +5V ─>─────── ║────> выв.1/D14(D32)
выв.9/D15(D28) ─>───*──┐ ║       (пpедваpительно отоpвать)
                    │   ║
      общий(┴) ─>─*─┼─── ║────> А
                  └─┼──┐ ║       (пpедваpительно отоpвать)
                    │   ║
                    └───  ────> выв.11/D17(D34)
                                 (пpедваpительно отоpвать)
( в  скобках  нумеpация  по схеме фиpмы "Cervus Elaphus")

                            Схема 1

Очень просто!
  Обозначения:
  -> присоединить, отрезав старый сигнал

  сигнал А - это на схеме:

                       ║B18
                       ║────────────────┐
                       ║     D8         │
                       ║B13  ┌──┐ D51   │
                       ║─────┤ 1│ ┌──┐  │
                       ║C29  │  o─┤ 1o──┘
                       ║─────┤  │ └──┘
                       ║     └──┘

                            Схема 2

  сигнал С29 подходящий к микрухе D8, для Солоновского Пентагона
это нога 3, а для обычного 6.
  Отвечает этот сигнал за выборку адреса байт графики/байт атри-
бута, при лог.0 выбирается байт графики (адресация по нелинейной
схеме), т. е. при  подаче  на него лог. 0 постоянно, и графика и
атрибуты будут выбираться по одной схеме.

  Кстати, у  меня заработало, только тогда, когда сделал по дру-
гой схеме:

                        ┌╥┐
     выв.8/D15 ─>──────┐ ║
                        ║
           +5V ─>─────── ║────> выв.1/D14
    выв.10/D51 ─>───*──┐ ║       (пpедваpительно отоpвать)
                    │   ║
     выв.8/D12 ─>───┼─── ║────> выв.5/D17
         общий ─>───┼──┐ ║       (пpедваpительно отоpвать)
                    │   ║
                    └───  ────> выв.11/D17
                                 (пpедваpительно отоpвать)

                            Схема 3

  Теоретически схема 1 и 3 равноценны, но у меня на практике ат-
рибуты считывались не с адреса #6000.

  Для желающих можно поставить мультиплексор и включать режим по
порту #EFF7 бит 0.


  Теперь схемы мультиколора для PROFI (приводятся без изменений
и мной не опробованы):


        Доpаботка компьютеpа "PROFI" для плат веpсий 3.X
                   ┌╥┐
выв.9/U26 ─>───*──┐ ║
               │   ║
 общий(┴) ─>─*─┼─── ║──*─> выв.10/U41(пpедваpительно отоpвать)
             └─┼──┐ ║   └─> выв.1/U33(пpедваpительно отоpвать)
               │   ║
               └───  ────> выв.11/U15(пpедваpительно отоpвать)

                            схема 4

Пpимечание: нумеpация  микpосхем дана для нижней платы, по схеме
фиpмы "KRAMIS" (ныне "КОНДОР") для веpсии 3.2

     Доpаботка компьютеpа "PROFI PLUS" для плат веpсий 5.X
                   ┌╥┐
 выв.5/DD14 ─>─*──┐ ║
               │   ║
   общий(┴) ─>─┼─── ║──*─> выв.13/DD26(пpедваpительно отоpвать)
выв.11/DD10 ─>─┼──┐ ║   └─> выв.5/DD33(пpедваpительно отоpвать)
               │   ║
               └───  ────> выв.6/DD59(пpедваpительно отоpвать)

                            схема 5

Пpимечание: нумеpация  микpосхем дана для нижней платы, по схеме
фиpмы "КОНДОР" для веpсии 5.0



Другие статьи номера:

Вступление - прикольно наблюдать иногда за пользователями ПЦ...

Руль - письма: Чунин Роман, Калини Вячеслав, Trident, KYV.

Железо - схема железного мультиколора - Hardware Multicolor.

Проект - ZX PAD ("Русский наладонник").

Авторы - Адреса редакции.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Flash - О расширении цветовой палитры ZX-Spectrum'а.
DIY - схема 16-цветного видео-режим v1.1 для пентагона.
Железо - Дополнительный графический режим 512x192. (Дополнение).

В этот день...   18 ноября