Deja Vu #0A
30 сентября 2000
  Железо  

Капля припоя - схема Чтение порта #7FFD на ZS Scorpion.

<b>Капля припоя</b> - схема Чтение порта #7FFD на ZS Scorpion.
__________________________________________

(C) Cardinal/PGC/BDA
__________________________________________

       Чтение порта #7FFD

   Привет, братки и сестрички! Данная ста-
тья  не  будет  длинной и нудной, я просто
хочу выразить свою мысль, или даже доступ-
но  объяснить  другую (мысль). Те, у  кого
есть SCORPION ZS 256/1024 TURBO+, наверня-
ка читали Зоновскую листовку о  том, какой
хороший этот компер, по сравнению с други-
ми и даже с этим же, но ранней версии. Мо-
жет это и так, но мнения у всех разные,и я
не хочу навязывать свое. Ну, это не важно.
Так вот, там упоминается о том, что, цити-
рую: При разработе платы TURBO+ была зало-
жена возможность чтения отдельных разрядов
системных портов #7FFD и #1FFD через  порт
музыкального процессора,что необходимо для
более корректной работы  теневого  сервис-
-монитора при определении текущей конфигу-
рации компьютера в момент  нажатия  кнопки
Magic. Конец цитаты. А  как определять это
состояние я так  нигде и не нашел, а может
и не хотел искать. Ну, да Бог с ним. Прош-
ло несколько лет, и  я наткнулся  на  одну
схемку "Эмулятор ПЗУ" или  другими словами
Кэш-память вместо ПЗУ. Ну, вы об этом тоже
наверняка, слышали, сейчас это модно, и на
страницах Deja Vu об этом упоминалось.Здо-
рово было бы загрузить вместо теневика STS
и по кнопке Magic в него вываливаться,тог-
да никакая очистка 8-ого банка не поможет.
Тогда и начала появляться проблема  о том,
как без особых проблем считать текущее со-
стояние #7FFD и #1FFD. Многие  люди делают
чтение системных портов по-разному. Напри-
мер, Diamond/AREASoft на своем супер-наво-
роченном  PROFI  читает (нечитабельные:-))
порты при помощи ИР-ки. На Скорпе это было
бы, примерно, так:

к выходам DD46       ИР22
   и DD47         ┌──┬──┬──┐
════════════════╦─┤D0│RG│Q0├─D0
                ╠─┤D1│  │Q1├─D1
                ╠─┤D2│  │Q2├─D2
                ╠─┤D3│  │Q3├─D3
                ╠─┤D4│  │Q4├─D4
                ╠─┤D5│  │Q5├─D5
                ╠─┤D6│  │Q6├─D6
         ┌──┐   ╚─┤D7│  │Q7├─D7
   /CSFD─┤1 │     ├──┤  │  │
         │  ├─────┤EO│  │  │
     /RD─┤  │  ┌──┤C │  │  │
         └──┘  │  └──┴──┴──┘
     +5v───────┘


   Названия микросхем  даны  для TURBO+, у
старой платы это DD48  и  DD49. Схема  до-
вольно примитивна и показывает только саму
суть, но  позволяет "увидеть" любые 8 раз-
рядов портов #7FFD и #1FFD, какие подведе-
те на  входы  ИР22. Программная  поддержка
сего девайса будет, примерно, такой:

        IN A,(#FD)

   Все  просто. Но! Разработчики  навесили
на чтение портов #1FFD и #7FFD включение и
выключение турбо-режима. Т.е. команды:

        LD A,#1F
        IN A,(#FD)

включают турбо-режим, а команды:

        LD A,#7F
        IN A,(#FD)

выключают  турбо-режим. Поэтому  не  нужно
выставлять перед IN A,(#FD) в аккумуляторе
#7F или #1F, если вы не хотите  самопроиз-
вольной смены скорости  компьютера. Кстати
говоря,и на других значениях старшего раз-
ряда #FD меняется скорость компьютера  из-
-за грубой дешифрации.
   Но я завел весь этот разговор вот из-за
какой штуки. В плате TURBO+ всем этим,т.е.
чтением портов #1FFD и #7FFD занимается AY
8910/12. В AY8912 имеется независимый  ка-
нал, а в AY8910 даже  два, ввода-вывода. В
AY8912 это ноги с 14 по 7(биты от 0 по 7).
В AY8910 другие (см. по схеме). В подавля-
ющем большинстве случаев эти  ноги  AY8912
висят в свободном состоянии. Но в TURBO+ к
ним подведены следующие биты  портов #1FFD
и #7FFD:

нога 14 - бит 0 #7FFD
нога 13 - бит 1 #7FFD
нога 12 - бит 2 #7FFD
нога 11 - бит 3 #7FFD (SCREEN)
нога 10 - бит 4 #1FFD (верхняя память)
нога 9  - бит 4 #7FFD (ROM)
нога 8  - не используется
нога 7  - не используется

   Благодаря этому прочитать текущее  сос-
тояние компьютера можно таким образом:

       LD A,#0E
       LD BC,#FFFD
       OUT (C),A
       IN A,(C)

   В аккумуляторе будет информация о  сис-
темных портах #7FFD и #1FFD в виде, приве-
денном выше. У AY8912 регистр #0F не  дос-
тупен, а у AY8910  он  есть. Поэтому, есть
возможность в сумме  определять  16  битов
состояния различных портов! Теперь  я хочу
подвести итог ко всему вышесказанному. Для
того, чтобы  определить  текущее состояние
системных портов (не важно каких), которые
не доступны для чтения,можно обойтись все-
го несколькими проводками, а не припаивать
лишнюю логику. Впрочем, это лишь мое субъ-
ективное мнение. Некоторые  люди на AY-шку
навешивают  мыша, что, конечно, не  совсем
стандартно, но тоже хорошо работает, в ZX-
-POWER об этом не раз писалось. В SCORPION
+GMX так, вообще, состояние системных пор-
тов читается  через  порты: #78FD, #7AFD и
#7EFD, короче, каждый делает, что хочет.
   На этом все. Не смотрите,что статья по-
лучилась несколько корявой - как смог, так
и выразился. C U L8R!

P.S. Я нашел применение двум  незадейство-
ванным битам, я на них  повесил  два  бита
расширения  памяти  SCORPION'a до 1024К по
схеме от ERASERа/AREASoft из ZX-LIGHT #0C.

                Cardinal/PGC/BDA
------------------------------------------
           КП11А              │
               ┌──┬──┬──┐           │
         Gnd──2┤A1│MS│Y1├4──2:DD11  │
     2:DD11'──3┤B1│  │  │           │
               ├──┤  │  │           │
     13:DD33──5┤A2│  │Y2├7──────────┘
         Gnd──6┤B2│  │  │
               ├──┤  │  │   R1 светодиод
         +5v─11┤A3│  │Y3├9──▒▒▒──┤<───Gnd
         Gnd─10┤B3│  │  │
               ├──┤  │  │
            ─14┤A4│  │Y4├12─
            ─13┤B4│  │  │
Gnd──         ├──┤  │  │
+5v── ───────1┤S │  │  │
тумблер  Gnd─15┤E0│  │  │
 on/off        └──┴──┴──┘


   Пояснения к этой длинной схеме:

   Т.к. многие ноги с одинаковыми номерами
соединяются вместе, то лучше напаять  мик-
росхемы КП12 в три этажа, можете четвертым
этажом напаять и КП11А - будет круто! Жаль
что это мало кто увидит:-(
   Светодиод показывает какой режим  вклю-
чен в данный момент,если вам это не нужно,
то резистор и светодиод можете не  припаи-
вать, а ноги 11 и 10 КП11А никуда не пода-
вать.
   К 3-ей ноге КП11А подходит сигнал с до-
рожки, к  которой  была припаяна 2-ая нога
DD11,поэтому DD11 показана со штрихом. Со-
ответственно,4-ую ногу КП11А нужно цеплять
непосредственно ко 2-ой ноге DD11.
   Сигналы MD0-MD5 идут с 14-ых ног микро-
схем РУ7 (DD21-28), они же  и  подходили к
соответствующим ногам DD33  и  DD34  перед
тем, как вы их злостно ампутировали.
   К 5-ой ноге КП11А (по схеме) подводится
13-ая нога DD33, на схеме  Скорпа  отмечен
как сигнал INV. Другими словами,это тот же
MD7, т.е. 7-ой бит FLASH,пропущенный через
мультиплексор.
   Сигнал 14MHZ удобнее  всего подвести от
3-ей ноги DD2,но можете и от любой другой,
где он есть (см. по схеме Скорпа).
   Вместо  тумблера  можно подвести к 1-ой
ноге КП11А управляющий  бит  от какого-ни-
будь самопального порта,чтобы щелкать гра-
фическими режимами  программно, а  не  при
помощи трясущейся руки после вчерашней гу-
лянки. Но я не решился придумывать  какой-
-то новый порт, их и так в последнее время
расплодилось, как ежиков в лесу.
   Не  забудьте  про питание микросхем: ко
всем  8-ым ногам  подвести  Gnd, a ко всем
16-ым +5v.
   Да, и  вот  еще. Оставшуюся четвертинку
мультиплексора КП11А (ноги 12,13,14) можно
заюзать следующим образом, не пропадать же
ей зря. Ноги 13 и 14 собрать в кучу и  по-
дать на 15 ногу DD46,а на 12-ою ногу КП11А
навесить светодиод через резистор (как  по
схеме чуть выше),и тогда у вас будет инди-
катор текущего экрана (5-ый или 7-ой). Ес-
ли светодиод горит, значит в данный момент
показывает 7-ой экран.
   Ну, и на последок хочется  вас  обрадо-
вать, что никаких программ и  картинок под
этот девайс нет, поэтому где применить сие
чудо я не знаю:-( Хотя нет! Одна  картинка
есть:-) Она в MIRACLE 3. Будущее  у данной
доработки очень туманно, если  не  сказать
большего, и расчитана она на тех,кто очень
любит навешивать на свой комп,которого уже
и так не видно из-за кучи проводов, всякую
шнягу вроде этой:-)

                Cardinal/PGC/BDA
------------------------------------------



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

Аперитивчик - управление оболочкой журнала.

Аперитивчик - вступление: много раз ставился вопрос о прекращении выпуска пос ледующих номеров Deja VU...

Тема - Новый ZX Spectrum: рассуждения на тему Спектрума нового поколения.

Тема - Бесплатный сыр: что такое shareware программы и как на них заработать.

Тема - Кибер война: о том как Русские Хакеры похищают военные секpеты США.

Тема - Russian ZX: история создания Российского спектрума.

Тема - Теория журналостроения - часть №2. Как самому сделать журнал.

Капля припоя - Схема #1FFD ON/OFF для SCORPION ZS 256 на основе схемы опубликованной в ZX Format.

Капля припоя - схема 128 цветов на ZX Spectrum'е.

Капля припоя - схема Чтение порта #7FFD на ZS Scorpion.

Капля припоя - схема ZS Scorpion 1024.

Капля припоя - как взламывать Телефонные карточки.

Капля припоя - схема цифрового индиктора треков для Дисковода.

Капля припоя - подключение HD дисковода к ZX Spectrum.

Капля припоя - схема индикации записи и чтения на дисковод.

Капля припоя - О проблеме в прошивке расширенной клавиатуры (в "таганрогской" схеме) в IS-DOS.

Капля припоя - схема Kempston Mouse Interface (v2.1) на БИС KP580BB55A!

Капля припоя - Юстировка головки дисковода FDD 3,5".

Software - обзор новых игра для Спектрума: 8-й отдел, Xor 2000, Цезарь, Пасьянс "Пирамида", Aliens.

Software - обзор новых игра для Спектрума: Tower Pod и текстовая адвентюра Кащеева Цепь.

Software - описания редактора звуков CYBERAX Sound Editor v1.0.

Программирование - процедура печати сообщений в нижних строках экрана.

Программирование - процедура определения наличия диска в дисководе.

Программирование - решение проблемы 2000 года в IS-DOS.

Программирование - Доработка GLOBAL COMMANDER'а.

Программирование - Загрузчик для рабочей дискеты.

Программирование - быстрая процедура печати спрайтов через стек от WoodlandStudio.

Программирование - некоторые вопросы создания файловых оболочек на SPECCY и обзор SPECTRUM'овских DOS'в.

Программирование - BOOT изнутри №2 потенциальные глюки и недостатки...

Программирование - об архивировании - алгоритмы, производящие сжатие без потерь.

Программирование - Качесвенная процедура конверсия ZX картинки в ASCII.

Программирование - "цветные" точки и линии, градиентная заливка, конверсия в 256 цветов.

Another World - новости из мира PC.

Доска почета - Антология компьютерных журналов для ZX Spectrum.

Доска почета - Точка зрения: системная Шина ZX Spectrum.

Доска почета - печальная история жизни Владимирской группы REMEDY, так и не выпустившей Героев на спектруме.

Доска почета - о различных находках и разгаданных секретах нашего любимого и непревзойденного компьютера ZX Spectrum.

Доска почета - Почта №1: открытое письмо Дмитрия Кленова об информационном голоде на ZX Spectrum.

Доска почета - Почта №2: критика от Blade/Triumph.

Семь и 1/2 - посмеемся: Анекдоты пpо ламеpов и юзеpов, а также pеальные звонки в слyжбy тех. поддеpжки.

Семь и 1/2 - посмеемся: Анекдоты пpо ламеpов и юзеpов, а также pеальные звонки в слyжбy тех. поддеpжки №2.

Семь и 1/2 - Винни Пух 2.

Семь и 1/2 - Компьютеры в кино... 25 характерных особенностей компьютеров, показываемых в голливудских кинофильмах.

Пробы пера - Великая летопись кунгов - новелла по игре Черный Ворон.

Пробы пера - рассказ "разбуженная магия".

Пробы пера - Рассказик о SPECCY...

Пробы пера - рассказ "Эликсир Зверя".

Пробы пера - Поэзия.

Реклама - куплю/продам ZX Spectrum/Спектрум.


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

Похожие статьи:
Обзор - обзор игрушек: Space Gun, World Championchip Soccer, Night Breed, Satan 2, Obliterator, Stun Runner, Side Arms, Salamnder, Dark Fusion, Moontorc, Blood Valley, Magicians Land, Magic Fields, Mountain Bike Simulator, Starfox, Heavy Metall Mover.
Список BBS - Сетевые новости.
7 Origins - Семерка лучших origin'ов-мудрых и не очень выражений.
Информация - Международный фестиваль компьютерного искусства "FunTop98". Официальная информация. Правила, контакты, схема проезда.
Отдохнем - Рок энциклопедия: MEGADEATH...

В этот день...   26 апреля