ZX-Ревю 1995 №4 1995 г.

Читатель-читателю - форум по вечным вопросам совместимости, и компьютерам, которые мы выбираем.


Форум по вечным вопросам совместимости, и компьютерам,

которые мы выбираем Кирилл Громов © CHUNG Software, г. Москва, 1995.

С самого момента приобретения мною всех подшивок "ZX-РЕВЮ", Я с нескрываемым интересом следил за разделами в которых поднималась эта тема. С некоторого момента я вдруг заметил, что вместо исчерпывающих ответов на уже приевшиеся вопросы, поднимается волна мутной неразберихи. Это побудило меня взять тяжкое бремя первозакрывателя. Все о чем я пишу, проверено мной на практике в трех моделях компьютеров - "PROFI+", "PENTAGON 128", "ДЕЛЬТА-С" (Старая "МОСКВА"). Итак:

1. Порт #FF.

Аксиома: При чтении из ЛЮБОГО незадействованного порта считываются АТРИБУТЫ попеременно с числом 255 (Подробное описание его работы есть в старых выпусках РЕВЮ).

Следует сразу оговорить, что это относится к ZX-SPECTRUM 48k; так как мне сообщали, что в SPECTRUM 128 фирмы SINCLAIR RESEARCH LTD (!) порт #FF тоже имеется, но работа его несколько отлична от того, что видел и излагаю я. Оказывается, поскольку SPECCY выпускала не только S.R.L, но и AMSTRAD то и в схемотехнике у них оказались несколько разные решения. А производства, какой фирмы компьютер, можно прочесть на м/схеме ULA. Эти данные мне сообщил АЛЕКСЕЙ (FFC COMP.), а так как я сам этого не видел, то только могу это повторить. Одно только понятно, что видимо из-за этого и ползут слухи о "хаотических значениях с преимущественно атрибутом текущего знакоместа" читаемом из этого на самом деле и не порта. Я же ставил своей целью добиться того, чтобы у меня хорошо шли программы использующие этот порт для своей синхронизации, плюс чтобы это было наиболее просто в реализации и наиболее похоже на первоисточник ZX-SPECTRUM 48k.

Верное решение: Почти в каждой схеме компьютера, выполненного на дискретной логике, можно найти в узле видеоконтроллера регистр, ведающий за выдачу атрибутов растра на мультиплексоры выходного каскада видеоконтроллера. Это DD56, DD63 в "ДЕЛЬТЕ"; DD37, DD40 в "ПЕНТАГОН 128"; в "ПРОФИ+" DD59 v4.01, DD63 v5.03. В "ДЕЛЬТЕ" достаточно соединить выходы 2,7,10,15 вышеназванных микросхем с шиной данных через резисторы 820 - 1.5k и забыть о всех проблемах. Это несколько точнее, чем сказано на страницах РЕВЮ о реализации порта #FF в компьютерах с раздельными полями памяти. Но чаще регистр (RG ATTR) о котором идет речь, своим входом OE подключен к "земле", тем самым постоянно выдавая информацию на мультиплексоры. В схемах с нормальной временной диаграммой ("ПРОФИ") делаем так: отрезаем OE RG ATTR от "земли", и заводим его на сигнал POLE ATTR (на FLD2 в "ПРОФИ", C5 - в "ПЕНТАГОНЕ 128" ). После чего соединяем его выходы (I1-I8 в "ПРОФИ") с шиной данных через резисторы 820 Ом. Иногда случается так, что после этого на экране могут появиться нежелательные эффекты, как-то: тонкая мигающая полоска слева экрана в "ПЕНТАГОНЕ 128". Тогда лучше поставить в таких схемах дополнительный регистр по вышеназванным правилам, входы которого подсоединяются ко входам RG ATTR, OE к POLE ATTR, а выходы, через резисторы, к шине данных. Как видите, подход достаточно универсальный, и на практике наиболее точно копирующий подход в фирменной машине. Точно так же, как и на фирменном "SPECCY" идут ARKANOID 1, F.I.R.E. и т.д.

Встретившиеся "глючные" реализации:

1. Порт выполнен как порт с дешифрацией адрес #FF + ^RD + reIORQ.

а) Во-первых, атрибуты будут читаться не по ЛЮБОМУ незадействованному адресу.

б) Если не будет тактирования от сигнала POLE ATTR то ARKANOID1 вообще не пойдет.

в) Из-за смещенной временной диаграммы, работа программ будет ущербной (дрыганье и щелчки в ARKANOID 1).

2. Атрибуты(-ли?) берутся откуда придется, (например с регистра буфера ОЗУ).

Может быть при соблюдении всех других правил порт будет работать, но самих-то атрибутов уже вроде как и нет, а это уже не как в фирменном "СПЕКТРУМЕ", зато это прям как в книге Родионова - "хаотические значения"... (Откуда он их взял только? Не пойму...)

И еще одно непременное условие: наличие резисторов 10к "подтягивающих" шину данных к +5в и (возможно) правильное положение и длительность ГЫТа. Это, пожалуй, вообще бы не повредило любому компьютеру, даже без порта #FF.

АТО-

DO

RG

Q0

R1

-1-1—

— DO

АТ1-

D1

01

-1 I—

— D1

АТ2-

D2

Q2

-1-1—

— D2

АТЗ-

D3

Q3

-1-1—

— D3

АТ4-

D4

04

-1-1—

— D4

АТ5-

D5

05

-1 I—

— D5

ATG-

DG

06

-1-1—

— DG

АТ7-

D7

07

-1-1—

RiS

— D7

CLCRG ATTR-■

С

POLE ATTR-

OE

RG - 555ИР23 или 1533ИР23 R1-R8 - 820 Он

Я думаю, комментарии к схеме не нужны. Отмечу только, что вся "соль" в "выборе" микросхемы сигналом POLE ATTR и соединении её выходов с шиной данных с помощью "монтажного или". Это дает то, что микросхема не "засоряет" шину данных в цикле подтверждения прерывания и не создает конфликтов во время обращения к другим портам компьютера.

СИГНАЛ INT

Аксиома: Сигнал INT вырабатывается по заднему фронту кадрового синхроимпульса и имеет длительность 9

мкс.

Схемные реализации имеют обычно два подхода: формирование импульса с помощью жесткой логики, формирование с помощью дифференцирующей RC-цепочки. Оба подхода достаточно хорошо освещены на страницах РЕВЮ. Только можно добавить, что в первом случае можно использовать микросхему АГ3, хотя почему-то ставят триггер, тактируя его от сигнала "кадровый синхроимпульс" и "обрезая" сигнал через вход R импульсами с периодом 9 мкс, которые берут со счетчиков/делителей в узле тактового генератора. Во втором случае длительность грубо подбирается конденсатором, а точно "доводится" резистором. В обоих случаях сигнал INT можно немного сместить, подключая конденсатор одним выводом к "земле", а другим - ко входу INT процессора.

Важным моментом является тот факт, что почему-то основным показателем "правильности" ГЫТа считают положение бордюрных полосок в некоторых играх типа: VENOM STRICKES BACK, ACADEMY, MONTECARLO CASINO и т.д. Тут следует заметить, что "идеальное" положение полосок будет наблюдаться только на машинах с раздельными полями памяти, по причинам схемной реализации контроллера дисплея. В моей практике только на компьютере "Дельта-С" с "выправленным" ГЫТом идеально шли все вышеперечисленные программы. Подгонка же сигнала INT на других компьютерах с общим полем памяти приводила к результату "нос вытащили - хвост увяз", то есть, если подгоняли по полоскам сверху, полоски снизу смещались, и наоборот. А в "ПРОФИ" создатели последней версии платы пошли по пути максимального увеличения быстродействия, сведя практически к минимуму количество задержек от ULA к процессору. Да что говорить, даже на фирменном 128-м поведение выше названных программ отличается (о чем, кстати, говорилось на страницах РЕВЮ). Поэтому я для себя критерием "правильности" ГЫТа считаю отсутствие дрожания спрайтов в ARKANOID 2, и отсутствие "пропадания" букв в CHASE H.Q. 1 и SHOCK MEGADEMO, а так-же устойчивая работа клавиатуры компьютера. В этом случае INT "ПРОФИ" следует считать вполне приемлемым.

В компьютерах, где реализован режим "ТУРБО" следует "гасить" INT с помощью сигналов M1 и IORQ, дабы из-за слишком большой длительности исходного ГЫТа не происходило "повторного" его захвата в турбо-режиме.

К моему огромному сожалению, на сегодняшний день эту тему нельзя считать закрытой, но считать достаточно проясненной можно.

Теперь можно плавно перейти к обзору КОМПЬЮТЕРОВ КОТОРЫЕ МЫ ВЫБИРАЕМ.

Вот тут, пожалуй, ситуация вообще удручающая, как никогда. Обилие схем, куча периферии, да и море "глюков" в каждой из них. Есть очень интересный подход, который продемонстрировал мне АЛЕКСЕЙ (FFC COMP.):

- Если у вас нет возможности приобрести фирменный компьютер, то возьмите "ЛЕНИНГРАД", переделайте всю схему дешифрации портов, подключите к нему 128 кб ОЗУ, соберите и подключите контроллер BETA-DISK без ФАПЧ и прочих прибамбасов с TR-DOS версии 5.03. Ах да, выправьте INT и поставьте "Родионовский" порт #FF. Тогда среди моря проводов будет нечто, правда, следует сказать, очень точно похожее на фирменный SPECTRUM 128. Но ARKANOID 1 на нем все-же не пойдет. В других случаях, смотрите на то, сколько у вас будет памяти (128 -1024 кб), какие дополнительные навороты подарят вам щедрые наши схемотехники в виде супер-растров и экстрасервис-мониторов. Но не забудьте обратить внимание на одну маленькую деталь: есть ли у вашего компьютера этакая маленькая кнопочка, которая все это отключает. Если её нет, вам круто не повезло: из-за страшного нежелания отечественных программистов полностью указывать адрес #7FFD при работе со страницами ОЗУ/ПЗУ, ваш компьютер подарит вам немало "сюрпризов" начиная от упорного отказа работать STS2.6, и кончая самоформатированием дисков. Огромное спасибо фирме "КОНДОР" за нашу счастливую кнопку! Она несет гордое имя ON/OFF в схеме "ПРОФИ" и позволяет запускать на нем 99% хаккерских взломов и "loader^". Возможно, в "СКОРПИОНЕ" она тоже появится, и тогда его владельцам не будет мучительно больно за потраченные деньги. Хороший пример почти явила миру фирма "СЛОТ", "почти" - потому что дальше печатной платы и альбома схем дело, пожалуй, и не пошло. На сегодняшний день самым "доделанным" компьютером с работающей периферией и пристойным видом, является "ПРОФИ+" фирмы "КОНДОР". Хотя и в нем есть место для доработок из серии "мало, зато приятно" как то: корректный порт #FF, и прочие мелочи, которые так волнуют синклеристов - любителей паять. Так что при желании, вы сможете в процессе неуклонного повышения совместимости вашего компьютера, заодно научиться чинить радиоприемники, телевизоры и прочую бытовую технику, что несомненно очень пригодится вам в будущем.

"МЕЛОЧЬ, А ПРИЯТНО"

После упорных исследований работы КНГМД (поясняю: контроллера дисковода) была выяснена новость почти на грани фантастики:

КОНТРОЛЛЕР МОЖЕТ ЗАПИСЫВАТЬ ИНФОРМАЦИЮ НА ЗАКЛЕЕННЫЙ ДИСК!!!

На хорошо заклеенный "серебряшкой"... Хотя, точнее, не записывает, а портит информацию на диске, и вот как: оказывается, вне зависимости от входного сигнала ЗАЩИТА ЗАПИСИ, ВГ93 даёт строб записи на дисковод. Последний дёрнется, благо схема не идеальная даже у TEAC^, и выдаст сигнал ЗАЩИТА ЗАПИСИ на всё ту же ВГ-шку. Однако, всё равно, при этом, подав сла-а-абый и короткий импульс стирания. А теперь представьте, что какой-нибудь умник начнёт дёргать строб записи на одной дорожке (а ещё хуже на одном секторе) с определенной частотой и периодичностью. Информация рано или поздно рухнет. Таким же образом "летят" записи на аудиокассетах при воспроизведении их на плеерах производства сомнительных фирм Тайваня. Но как не повезло кассетам, как повезло

нам! Нам нужен всего один элемент "И" и навыки обращения с паяльником:

рашрвать WSTW 30 выв. ВГ93--

WPRT 30 выв. ВГ93

К555ЛИ1 или К1533ЛИ1

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

Продолжая дисководную тему, перейду к вопросам "турбирования" ВГ93.

Я заинтересовался этим, читая журнал "СПЕКТРОФОН". Вначале собрал первую схему - попортил диски, потом вторую - дисков стало портится меньше, но, как известно, лучше не делать ничего, чем делать плохо. Пришлось самому занялся изучением этого вопроса. И выяснилось, что переключать ВГ-шку с повышенной частоты на нормальную нужно НЕ ВО ВРЕМЯ строба записи, как это делают авторы писем, а ДО СТРОБА ЗАПИСИ. После небольшого поиска нужного сигнала переключения, я остановил свой выбор на сигнале DRQ: сигнал генерируется, запрашивая байт данных для записи первый раз, потом ВГ-шка вычисляет служебную информацию, после чего сигнал DRQ генерируется второй раз. И только после этого выдается строб записи на дисковод. Хотя в моей схеме переключение произойдет уже по первому сигналу DRQ. Я старался сделать так, чтобы не переделывать много "старые" схемы турбирования, и добился этого. Обладателям "старой" схемы турбирования с триггером ТМ2 нужно всего лишь подать на его вход C не сигнал WSTB, а сигнал DRQ. Вот после чего можно уверенно гарантировать нормальную работу схемы. Владельцам (?) ZX-NEXT, думаю, следует проделать в своем контроллере тоже самое.

Ниже привожу исправленную схему:

2МГц -1МГц -

STEP-

CLK ВГ93

DD1

| S

т

Q

в

с

> R

QA

WFiDE-(33 выв. ВГ93)

DRQ -(38 выв. ВГ93)

R1 10k

DD2

1.0

MS

1.1

1

2.0

2.1

2

3.0

3.1

3

4.0

4.1

4

SE

>EZ

(24 выв. ВГ93)

1-+5В

DD1 - 555ТМ2 или 1533ТМ2 DD2 - 555КП11А или 1533КП11А

STEP - берётся с дисководного разъёма компьютера

Кстати, вместо КП11А вполне можно поставить другой мультиплексор, например КП12, естественно с учетом его подключения.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
Радио - начинающим - доработка модема для ZX.
Жизьтянка - Жизненные проблемы SPY.
С-Week - c момента последнего выхода газеты прошло 4 года...
Евангие от митьков - Житие великого митька Иисуса по кликухе Хpистос и о том, как он тащился и как его замочили вpаги.
На десерт - О игре DEFLEKTOR.

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