Inferno #08
30 ноября 2005
  Железо  

DIY - схема 16-цветного видео-режим v1.1 для пентагона.


Аппаратное обеспечениеКомпьютерыДоработкиPentagon

          16-цветный режим v1.1
               by Alone Coder
                30.10.2005
 

   В v1.0  была ошибка в схеме исправления
дефектов (см.в конце). 

   Режим  основан на "аппаратном мультико─
лоре" (из него используются все 3 стандар─
тные цепи и необязательная для мультиколо─
ра  цепь "раздельный bright"). После ниже─
указанных  доработок  показывает 16 цветов
на  каждую точку (если считать ярко-чёрный
:)). Очень юзабельно, в отличие от мульти─
колора. Включается  0-м  битом порта #eff7
(как собрать этот порт, думаю,объяснять не
надо).
   Если у вас не собран мультиколор,не на─
до искать его схему! Все цепи и так распи─
саны здесь.
 

   Сигналы указаны для пентагона, аналоги─
чные сигналы должны присутствовать на мно─ 
гих других моделях ZX. 

              ЦЕПЬ1 "/BUSRQ"
   Формируется  монтажным "ИЛИ" (D10/8 ИЛИ
/eff7b0) и подаётся на /BUSRQ процессора.

          ЦЕПЬ2 "A13V" (D17/11)
   13-й адрес на мультиплексорах видеокон─
троллера. Формируется монтажным "И" из си─
гнала  eff7b0  и частоты 7/8M (почти как в
старой схеме "атрибут на байт":
 ┌─ кусок старой схемы "атрибут на байт" ─┐ 
      eff7bit0 ───┤<──┐
    c29 in (9/D15)─┤<─┼───> a13v (11/D17)
                        v +5V
└─ кусок старой схемы "атрибут на байт" ─┘ 
    только вместо C29 надо частоту D3/2).
   При  наличии 384x304 эта цепь цепляется
ДО схемы 384x304, т.к. в схеме 384x304 уже 
предусмотрено примешивание старого A13V. 

     ЦЕПЬ3 "A14V" aka "P0V" (D17/14)
   14-й адрес на мультиплексорах видеокон─
троллера (выбор нечётной странички).Форми─
руется  монтажным "ИЛИ" из сигнала /eff7b0
 и частоты 7/4M (D3/3).
   Цепляется  ДО схемы 384x304 (если тако─
вая присутствует). 

    ЦЕПЬ4 "зафлешенная маска" (D6/11)
   Туда коммутируется (с помощью КП11; вы─
бор сигналом eff7b0) 3.5 MHz (D1/8).

       ЦЕПЬ5 "2-й bright" (D47/11)
   Туда  коммутируется  7-й  бит атрибутов
(D7/12).

      ЦЕПЬ6 "строб чтения атрибутов"
   Для  первичного  буфера (D37/11) - туда
коммутируется 3.5 MHz (а точнее, D45/2).
   Для  вторичного  буфера (D40/11) - туда
коммутируется 3.5 MHz, отстающее на 90° от
предыдущего, то есть D1/9.

  ЦЕПЬ7 "выбор адресации: ATTR либо MASK"
   Оставить  так  же, как  было  на  схеме
"атрибут на байт":
 ┌─ кусок старой схемы "атрибут на байт" ─┐ 
   ________
  eff7bit0 ───┤<──┐
 c29 in (9/D15)─┤<─┼──> c29 out (3/D8 only) 
                     v +5V
 

  eff7bit0 ───>├──┐
 c30 in (8/D15)─>├─┼─> c30 out (1/D14 only) 
                   ┴ GND
└─ кусок старой схемы "атрибут на байт" ─┘ 

                   ВСЁ!

   Как  видим, ничего из схемы "атрибут на
байт" не выкидывается, душа не болит.

   Требуется  всего одна микросхема - 1533
КП11 (коммутирует цепи 4, 5, 6 ). 

   Адресация аналогична АТМовской (#c000+,
#4000+,#e000+,#6000+ и т.д.),но со станда─ 
ртной разлиновкой,как в обычном спектрумо─
вском режиме. Внутри байта раскладка битов
такая же,как в АТМ ( %IiGRBgrb, где IGRB -
правый пиксель)
   Например, 0-й экран имеет следующую ад─
ресацию (обведено одно "знакоместо" 8x8).
 

  #c000 #4000 #e000 #6000│#c001 ... #601f
  #c100 #4100 #e100 #6100│#c101 ... #611f
  .......................│...............
  #c700 #4700 #e700 #6700│#c701 ... #671f
  ───────────────────────┘
  #c020 #4020 #e020 #6020 #c021 ... #603f
  .......................................
  .......................................
 #d7e0 #57e0 #f7e0 #77e0 #d7e1 ... #77ff

   При  собирании  устройства на пентагоне
в новом режиме наблюдаются следующие дефе─
 кты:
  1. Правые  8  пикселов  берутся с начала
 строки + 8 байт. 
  2. Hа левые 4 пиксела влияет процессор.
   Если вам очень хочется их исправить,со─
берите следующее (я собрал):
 

              D10
           ┌─────┐
бордюр     │ TM2 │ 
адресный 12│     │ 
 ──────┬────┤D    │   бордюр 
       │    │    _│8 графический
       │    │    Qo──────────┬─ x ────┬────
       │    └─────┘          │   ┌──┐ │
       │  ┌──┐           ┌──┐└───┤1 │ │
       └──┤1 o──┬────────┤& ├────┤  ├─┘
          └──┘  │ eff7b0─┤  │    └──┘
                │        └──┘
                └─> на ЦЕПЬ1 (вместо D10/8)

   Тогда в новом  режиме 3 пиксела слева и
5 справа  будут  не видны. Весь оставшийся
экран (248*192) будет без дефектов.
 

   Благодаря  похожести  экранов  возможно
написание программ одновременно под Пента─ 
гон  и  АТМ2 (с ключами в исходнике либо с 
автоопределением  в  программе). Например, 
прилагаемая  игра Pang 16C в обеих версиях 
компилируется  из  одного исходника (можно 
было бы добавить в тот же исходник поддер─ 
жку  АТМ1 и обычного экрана, но не хватало 
времени). 

   Для обкатки данного режима написан так─
же  небольшой просмотрщик 102-цветных кар─
тинок. В приложении  вы найдёте этот прос─
мотрщик и картинку. Просмотрщик грузит bmp
с тем же именем, что имеет сам. Чтобы пос─
 мотреть другой bmp, сделайте следующее:
  1. Загрузите  прилагаемый  здесь  bmp  в
 Photoshop. 
  2. Выгрузите  из  него  палитру (палитру
рассчитал Diver, за что ему большое спаси─ 
 бо). 
  3. Загрузите в Photoshop картинку, кото─
 рую хотите сконвертировать. 
  4. Переведите её в 256x192,indexed color
 (256 цветов!) с той самой палитрой. 
  5. Выгрузите как bmp без упаковки и ско─
 пируйте этот bmp внутрь какого-нибудь trd. 
  6. Скопируйте в тот же trd копию просмо─
трщика и переименуйте его в соответствии с 
именем вашего bmp. 
   На одном trd можно иметь много картинок
с вьюверами.Отсутствие файлового селектора
не  страшно - ведь вьювер крошечный, и его
дублирование не так уж уменьшает свободное
место на диске. Впрочем, прилагаю исходник
- вдруг  кто заинтересуется и захочет сде─
лать  полнофункциональный  просмотрщик  (с
прокруткой, многоформатный, с конверсией в
нужную палитру)?

Alone Coder 



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

Inferno - Авторы журнала.

Inferno - Вступление от редактора.

Inferno - Ошибки в предыдущих номерах.

Inferno - Об оболочке.

Железо - CD-ROM - устройство и хитрости подключения.

For Coderz - CD video на ZX. Как написать плеер видео с компакт-диска.

Sofтинка - Техническое руководство по дисковой системе DISCiPLE/+D.

For Coderz - Маленькие программерские хитрости.

Математика - История решения теоремы Ферма.

Gameland - Игра Шестнашки.

Sofтинка - Описания и история изменений программы для работы с жестким диском HDDoctor v0.9.

Секреты - Секретные кнопки в разных приложениях: Wolfenstein'2004, IG#5, ACEdit, DNA OS, Wild Disk Copier.

Sofтинка - Улучшения конвертора графики в Gigascreen.

Звук - Ламповые усилители. Стерео лампочник 2х5 Вт из старых телевизоров.

Железо - Обзор кассетных проигрывателей.

Inferno - Письма в редакцию.

Gamedev - История создания игры Pang.

Gamedev - Советы при написании аркадной игры.

Реклама - Реклама от Романа Чунина.

Реклама - Реклама от Алексея Жабина.

Реклама - Реклама от В. Богдановича.

Интервью - Интервью с Николаем Родионовым, автором известных книг для ZX Spectrum

For Coderz - Вычисление тригонометрических и алгебраических функций в языках высокого уровня.

DIY - схема 16-цветного видео-режим v1.1 для пентагона.

Железо - Описание микросхемы К555ТЛ2.

For Coderz - Программирование устройства генерации звука Turbo Sound.

Sofтинка - 384x304 viewer. программа позволяющая просматривать цветные картинки, по размерам превышающие экран.

Sofтинка - Эмулятор ZX Spectrum на ZX Spectrum.


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

Похожие статьи:
Ремонт - Продолжение цикла "Ремонт Пентагона".
DIY - схема 16-цветного видео-режим v1.1 для пентагона.
Железо - схема расширения памяти Пентагона до 256кб.

В этот день...   19 июля