| 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. |
Похожие статьи:
В этот день... 15 ноября