Za Rulem #00

Железо - исправление схемы неправильного подключения музыкального сопроцессора AY.

Задался я как-то вопросом:  почему у меня
не идут некоторые программы, игры и демки,
которые идут у  моих  друзей?  После того,
как было установлено,  что эти косяки - не
дефект перезаписи,  не  оставалось ничего,
кроме как грешить на компьютер.
 О моем компьютере можно рассказать попод-
робнее. Это  когда-то  был 48кБ спектрум -
один из  многочисленных клонов, как сказал
Blast Off.  В  нем имелся AY-музпроцессор,
но как-то по корявому подключенный.
 Где я его взял? А вот:
 Не было  у  меня Спектрума, а очень хоте-
лось.
 Узнал  я,  что  на  площади Калинина есть
фирма "МЕЗОН", и что там есть  такой чувак
Сергей Огальцов,  который  вроде  бы может
сделать  Спек.  Я  созвонился  с  ним и, в
общем, заказал  128кБ Спектрум. Он сказал,
что будет комп называться "Форум". Мне бы-
ло пофиг, лишь  бы  работало.  В общем, О-
гальцов переделал 48кБ в 128кБ.
 Через  каких-то  два  месяца я наконец-то
получил  возможность  купить  это творение
мастеров  русских.  На следующий же день я
отвез его  обратно,  так как ALASM, загру-
женный в  комп,  не  реагировал на попытку
поставить символы . , *, а debugger вообще
при нажатии на любую кнопку издавал похот-
ливые вопли и  выводил  вместо положенного
символа набор  пикселей,  напоминающих что
угодно, но не требуемый символ.
 На следующий день я снова забрал Спектрум
домой - теперь в нем  была прошивка ориги-
нального  128кБ  Спека.  Правда,  при этом
клавиатура  перестала быть расширенной, не
стало русского  встроенного фонта. Да кому
они нужны?
 Теперь я мог рулить на полную катушку, но
чем долше я рулил,  тем больше обнаруживал
программ, которые у меня не идут.
 Вначале  это  была часть "с бутылочкой" в
LYRA II MEGADEMO.  Она  долго была единст-
венной прогой,  которая сбрасывалась после
загрузки, но  когда  до Новосибирска стало
доходить всякое новье, проблем у меня при-
бавилось.
 Журнал Funeral 1 1/2 от Delirium Tremens,
Melan#01 (их же газета) - cбрасывались при
выводе картинки  рабчего стола, Netwalk от
FaceOff сбрасывался после прохождения пер-
вого уровня, а в Nenwalk от Style Group не
шли "авторы", после  надписи "in" зависала
демка Ecstatic, причем очень оригинально -
музыка проигрывалась до  конца, а на белой
полоске бордюра, в зоне редактора, появля-
лось сообщение "out  of memory". Anamnesis
сбрасывалась  после  первого  сканирования
мозга, Workstop  вываливалась  в  48 basic
при светящейся  надписи  "stop",  Шибенция
после прохождения  первого уровня устанав-
ливала по всему экрану атрибуты ink7,paper
7 и при попытке  отгадывать дальше нещадно
висла. Wormworld  вис  после выбора "start
game", а  демка  Funtasy от Oops cбрасыва-
лась на третьем правиле дэмо-мэйкинга.
 Теперь-то я  знаю, что перечисляю те про-
ги, которые работают в режиме IM2 без пос-
троения в памяти таблицы в 256 байт, в ко-
торой  указан  адрес  программы  обработки
прерывания.
 В начале  я  думал,  что  у меня какая-то
РУшка "битая".  Но, написав небольшую про-
грамку было  установлено, что "че в память
положил, что оттеда и возьмешь".
 В какой-то  книге я прочитал, что в цикле
подтверждения  прерывания  шина должна со-
держать байт #FF,  т.к.  в  этот момент ее
все устройства должны  "отпустить", и т.к.
она "притянута" к +5v.
 Я решил, что у меня  шина  не притянута к
+5, и разобрал комп. Покопавшись в связках
МГТФ'а я установил, что шина к +5 притяну-
та и что у меня в компе линейка из восьми
РУ7, т.е. 256кБ физически. Еще было видно,
что  Огальцов  копался  в  подключении AY.
Ну да ладно.
 Я стал испытывать  свой комп разными тес-
тами. Но  все они,  кроме теста в ESE1.4 и
теста перед  игрой  Sq.Head, заявляли, что
шина данных у меня  стабильна. Как я взло-
мал  позже,  тест в Sq.Head  выдавал,  что
вектор прерывания = #00 потому, что просто
считывал это число с 255 порта - порта ат-
рибутов, и  заверял,  что у меня зато есть
этот  порт.  (По  этому тесту выходит, что
в компе не может  быть одновременно и век-
тор #FF и порт атрибутов).
 Так я пребывал  в  неведении о параметрах
моего компа, пока ко мне не попал TEST4.22
- это самый классный  тест, который я знаю
до сих  пор.  Вот он-то мне и выдал: "Шина
данных  нестабильна, в цикле подтверждения
перывания засорена, возможно, неправильным
подключением музпроцессора".
 Я  тут  же  разобрал свой комп и выдернул
AY  из панельки. О чудо - все, что я пере-
числял выше - пошло, и еще как!
 Двух мнений быть не могло - у меня непра-
вильно  подключен AY. Надо было что-то де-
лать. Сперва я нарисовал схему, по которой
он подключен. Вот она:

             360 Ом            ┌───┐
                  ┌───┐    /WR─┤ 1 │
        /IORQ─███─┤ 1 │ ┌──┐   │   о──27
             ┌──┐ │   о─┤ 1о─*─┤   │
            ┌┤ 1o─┤   │ └──┘ │ └───┘
            │└──┘ └───┘      │ ┌───┐
       ┌───┐│                └─┤ 1 │
A1 ────┤ 1 ││            ┌──┐  │   о──29
   ┌──┐│   o┘         A14┤ 1o──┤   │
A15┤ 1o┤   │             └──┘  └───┘
   └──┘└───┘

 В общем, не хотите проблем - не собирайте
такую никогда.
 Мы как раз недавно познакомились с Костей
aka DEBOSH  и  я  решил  сгонять за схемой
подключения  AY  к  нему - у  него я видел
целых два  диска  с доработками Спектрума.
 Вот такую схему привез я от него:

                                 ┌───┐
                           /WR  ─┤ 1 │
                                 │   о─27
                     /IORQ ┌───┐┌┤   │
                 ┌───┐    ─┤ 1 ││└───┘
            A1 ──┤ 1 │     │   ├┘
                 │   ├───*─┤   │
         ┌───┐ ┌─┤   │   │ └───┘
  A15 ───┤ 1 │ │ └───┘   │ ┌───┐
         │   ├─┘         └─┤ 1 │
  A13 ───┤   │        ┌──┐ │   ├┐
         └───┘    /M1 ┤ 1о─┤   ││┌───┐
                      └──┘ └───┘└┤ 1 │
                            ┌──┐ │   о─29
                       A14 ─┤ 1о─┤   │
                            └──┘ └───┘

 В  этой  схеме  анализировались  еще  и
A13  и /M1, и я на это купился, к тому же,
эту  схему  было  несложно  сделать из уже
существующей.  Я взялся за скальпель и па-
яльник.
 AY молчал,  как убитый. Тест его не нахо-
дил, а автор статьи  и  этой схемы уверял,
что так  подключены все AY у них в городе.
 Короче,  я  решил собрать такую же схему,
как в Scorpion 256 Turbo + 1996.
 Сразу скажу,  что  эта  схема заработала,
шина  данных осталась стабильной, и вааще
все было о.к.  Вот  эта схема, если кто не
в курсе:

        ┌───────┐       ┌───────┐   п
   A0──1┤A0 DC  │ /WR──1┤A0 DC  o11─р
   A1──2┤A1     │ A14──2┤A1     │   о
   A5──3┤A2     │ A15──3┤A2     │   д н
        │       │       │       o9──о и
  /M1──6┤E1     │ +5v──6┤E1     │   л ж
IORGE──5oE2     │ GND──5oE2     │   ж е
      ┌4oE3     o10────4oE3     o7──е
      │ └───────┘       └───────┘   н
      └──────────────────┐          и
     ┌───┐     ┌───┐     │          е
DOS─9┤ & │  ┌12┤ & │     │
     │   o8─┤  │   o11───┘
A1─10┤   │  └13┤   │
     └───┘     └───┘
       п                 НОГИ
       р     ┌───┐   AY8910 AY8912
       о ───1┤ & │
       д     │   o3──->27-> 18
       о  ┌─2┤   │
       л ─┤  ├───┤   ->28-> 19
       ж  └─4┤ & │
       е     │   o6──->29-> 20
       н ───5┤   │
       и     └───┘
       е

 Можно  использовать  всего  3 микросхемы,
если  найдете  нужные сигналы  у  себя  на
плате  компа.  Я же четвертый вывод первой
ИД7 заземлил,  так  что  два элемента и-не
остались  свободными,  а  сигнал  IORQE у
меня - /IORQ,  включенный  через резистор
360 Ом.  Так же на 28 ногу AY8910 я просто
подал +5v,  а  то вдруг оцифровки не будут
играть. На схеме  Скорпиона на шестую ногу
первого дешифратора приходит M1, но, изла-
зав всю  схему, я так и не нашел элемента,
который инвертирует /M1, должно быть, опе-
чатка.

 И еще. На AY у меня висят такие потенциа-
лы:
AY8910  AY8912        потенц.
  40      3             +5v
  25      17            +5v
  28      19            +5v
  1       6             GND
  24    не знаю ногу    GND
Один +5 и один GND -  это  питание,  а ос-
тальное - не знаю.

DC-дешифраторы ИД7 555,1533 серии. Элемен-
ты "и-не" - 555ЛА3.

8-ые ноги ИД7 и 7-ая нога ЛА3 - GND
16-ые ноги ИД7 и 14-ая нога ЛА3 - +5v

P.S. Big Fuck to: GLOB.TEST и TEST IM2.
Первый  долго тестирует стабильность шины,
и выдает,  что она стабильна, хотя на  са-
мом деле это  не так. Второй даже содержит
описание работы  собственно теста,  причем
довольно  грамотное,  и  имеющее  право на
жизнь  отдельно  от самой  программы, т.к.
программа  не  работает. Специально  потом
снова  подключил  AY и полчаса  тестировал
шину - не вылез ни один  нестабильный бит.
Интересно, эти тесты  вообще  проверяли на
нестабильных  компах  или нет? И  что  это
были  за  компы (или  как коряво  написана
програма),  если   дефект  шины  выявлялся
лишь  после  "прогрева"  компьютера???  На
писюке,  что  ли? Из-под эмулятора? Может,
в сетапе эмулятора  даже есть такой пункт-
"Стабильня шина данных +/-" ?



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

От авторов - о создателях газеты и новой групе NOT-SOFT.

Про халяву - одда халве.

Железо - исправление схемы неправильного подключения музыкального сопроцессора AY.

Зашутим - несколько тупых приколов.

Статья 1 - о будещем спектрума и причинах популярности IBM PC.

Статься 2 - привязанность к спектруму, это волшебство или маразм?

Про людей - одна история из жизни спектрумиста.

Реклама - УСТАВ NOT-SOFT Group Idustry.


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

Похожие статьи:
Editorial
Реклама - Реклама публикуется бесплатно (во всяком слючае пока).
Музыка - Музыкальный движок Muse 128b.

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