ZX Pilot
#31
20 февраля 1999 |
|
Видеопорт - Рекомендации по сборке, наладке и программирование Видеопорта (дигитайзера).
В И Д Е О П О Р Т (ч. I) ────────────────────────────────────────── (C) AlphA Studio Данная статья набрана по многочисленным просьбам главного редактора ZX-PILOT'а VEL'а. Стучал по клавишам в IS-EDITOR'е Igor of AlphA Studio. В этой статье пойдет речь об устройстве именуемом "ВИДЕОПОРТ", разработанном Мани- ловым А.П. и опубликованном в ZX-FORUM'е #2. Вполне возможно, что не у всех желаю- щих собрать "Видеопорт" есть в наличии эта книга, поэтому и набрана нижеприведенная статья. В ней так же будут даны некоторые рекомендации по сборке и наладке не только от автора, но и от меня. (C) Манилов А.П. г.Москва, 1994 г. Устройство для ввода изображений, зако- дированных в видеосигнале, в ZX-совмести- мые компьютеры, с программным обеспечени- ем. ВВЕДЕНИЕ. Вы пробовали нарисовать картинку с по- мощью графического редактора ART STUDIO? Если у большинства ничего путного не полу- чилось, то это не потому, что ZX плохая машина или ART STUDIO сделали тупицы. Этот результат закономерен, поскольку способ- ностью к рисованию обладают не все люди. Но ведь иногда хочется в своей программе поместить хорошую картинку. Такую возмож- ность Вы можете получить оснастив свой ZX-Spectrum устройством "ВИДЕОПОРТ". (За примерами далеко ходить не надо - игра THE PUZZLE и другие использующие ска- нированные картинки, которые нисколько не портят эти игры <I/ASt>). Идея разработки была почерпнута автором из публикации ZX-РЕВЮ-1991 г. (стр.121), в которой сообщалось о существовании уст- ройства "Videoface" фирмы "DATA-SCIP". Не имея понятия о принципах построения "Vide- oface", автор назвал свое устройство "ВИ- ДЕОПОРТ". Название связано с тем, что дан- ное устройство играет роль порта ввода, но не для цифровых сигналов, а для видеосиг- нала. "ВИДЕОПОРТ" подключается к видеовы- ходу телевизора, видеокамеры, видеомагни- тофона. Место устройства в системе показа- но на рис. 1. ┌───────────┐ │ TV │ └─────┬─────┘ │ ┌─────┴─────┐ ┌────────────┐ │ VIDEOPORT ├─┤БЛОК ПИТАНИЯ│ └──┬─────┬──┘ └────────────┘ │ │ ┌─────────┐ ┌──┴─────┴──┐ │ДИСКОВОД ├──┤ZX-SPECTRUM│ └─────────┘ └─────┬─────┘ │ ┌─────┴─────┐ │ ДИСПЛЕЙ │ └───────────┘ Рис. 1. К компьютеру "ВИДЕОПОРТ" подключается через буферизированную шину внешних уст- ройств. Питание устройства может быть осу- ществлено от блока питания дисководов (+12v, +5v). Под управлением программы, загруженной в ZX, кадр изображения копируется в ОЗУ устройства, затем читается в ZX-Spectrum, перекодируется в формат экрана и отобража- ется на дисплее. Полный цикл смены изобра- жений на экране дисплея - примерно одна секунда. Полученное изображение может быть сброшено на диск. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ УСТРОЙСТВА. - входное сопротивление по видевходу . . . . . . . . . . 100 Ом - амплитуда входного сигнала . . . 0.5-1 В - частота дискретизации . . . . . 7 МГц - число строк запоминаемое в ОЗУ . 312 - напряжение питания . . . . . . . +12,+5В - потребляемый ток по цепи +12В. . 40 мА по цепи +5В . . 320 мА - имеется возможность ручной установки контрасности и баланса белого; - подключается к ZX-Spectrum через буфери- зированную шину внешних устройств. Программное обеспечение, сделанное ав- тором, имеет три варианта: для системы IS- DOS, для системы TR-DOS и для магнитофона. (Ниже приводится программа только для сис- темы TR-DOS <I/ASt>). ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА. Принцип работы устройства "ВИДЕОПОРТ" поясняется функциональной схемой, приве- денной на рис. 2. Перечислим функциональные устройства с указанием их назначения: СОГЛАСУЮЩЕЕ УСТРОЙСТВО - предназначено для согласования внешней цепи. УСТРОЙСТВО ВЫДЕЛЕНИЯ СИНХРОСИГНАЛОВ - обеспечивает выделение из видеосигнала строчных синхроимпульсов (СИ) и кадровых синхроимпульсов (КИ). Обеспечивает подав- ление помех и выдает СИ и КИ со стабильной длительностью и амплитудой. КОМПАРАТОР - обеспечивает формирование уровня видеосигнала и сравнение с заданным уровнем. Имеет ручное управление уровнем видеосигнала и уровнем срабатывания компо- ратора. ФОРМИРОВАТЕЛЬ ТАКТОВЫХ СИГНАЛОВ - опре- деляет частоту дискретизации видеосигнала и обеспечивает синхронизацию работы сдви- гового регистра и схемы управления ОЗУ. СХЕМА УПРАВЛЕНИЯ ОЗУ - формирует адрес ОЗУ, сигналы чтения и записи в соответс- твии с режимом работы. РЕГИСТР ДАННЫХ - служит для передачи данных из ОЗУ в шину данных ZX-Spectrum. РЕГИСТР УПРАВЛЕНИЯ - предназначен для передачи управляющих сигналов от компьюте- ра к схеме управления ОЗУ. РЕГИСТР СОСТОЯНИЯ - служит для передачи состояния устройства в компьютер. ДЕШИФРАТОР - обеспечивает дешифрацию сигналов системной шины ZX-Spectrum при обращении к регистрам данных, управления и состояния. Устройство работает в двух основных ре- жимах: - режим записи в ОЗУ, инициируется ком- пьютером; - режим чтения ОЗУ, идет под управление компьютера. Режим ожидания возникает по окончанию любого основного режима. Признак режима ожидания - высокий уровень сигнала ГОТОВ, при высоком уровне сигнала РЕЖИМ от ком- пьютера. ┌───────────┐ Видеовход │Согласующее│ ──────────┤устройство │ ┌──────────────┐ └──────┬────┘ │ Устройство │ ┌───────────┴──────┤ выделения ├┐ ┌─────┴────┐ Видеосигнал │синхросигналов││ │Компаратор│ └─────┬────────┘│ └─────┬────┘ ├──────┐ │ │ ┌───────┴─────┐│ │ ┌─────┴────┐ Сдвиг │Формирователь││ │ │Сдвиговый ├───────────┤ тактовых ││ │ │ ├──────────┬┤ сигналов ││ │ │ регистр ├─┐Фиксация│└──────┬──────┘│ │ └─────┬────┘ │Чтение │ │Строб┌─┘КИ│ │ └───────┐│ │ │СИ┌─┘ ┌─────┴────┐ Адрес ┌─┴┴───────┴─────┴──┴─┐ │ ├───────┤ │ │ │ Запись│ Схема │ │ ОЗУ ├───────┤ управления │ │ │ Чтение│ ОЗУ │ │ ├───────┤ │ └────┬─────┘ └──┬┬──────┬┬──────┬┬─┘ │Данные Счет ┤│Чтение┤│Сброс ┤│ │ строк│├Счет ││адреса│└─┐ │ ││байтов│├Режим │ │ ┌────┴────┐ ┌────────┴┴──────┴┴──────┴┐ │ │ Регистр │ │ Регистр │ │ │ данных │ │ управления │ │ └┬──────┬─┘ └─────┬───────────────────┘ │ ├DATA │CSD │CSC Готов┌───┘ │┌─────┴──────────┴────┐CSS ┌───────┴───┐ ││ Дешифратор ├────┤ Регистр │ ││ ├───┐│ состояния │ │└┬─────┬───┬───┬──┬──┬┘ │└─────┬─────┘ │ ├/IORQ├/RD├/WR├A0├A1├A4 │DATA │DATA ┌┴─┴─────┴───┴───┴──┴──┴────┴──────┴─────┐ │ Системная схема ZX-Spectrum │ └────────────────────────────────────────┘ Рис.2. Рассмотрим режим записи в ОЗУ. Для наг- лядности объяснения работы устройства, на рис. 3 приведена циклограмма сигналов, обазначенных на функциональной схеме. До момента t0 уровни сигналов, указан- ные на циклограмме, блокируют запись в ОЗУ. Устройство находится в режиме ожида- ния. В момент t0, по команде ZX-Spectrum, переданной через регистр управления, сиг- нал "РЕЖИМ" устанавливается в "0". По это- му сигналу схема управления ОЗУ переходит в состояние ожидания кадрового импульса (КИ). При получении КИ в момент t1 схема уп- равления ОЗУ обнуляет сигнал "ГОТОВ". Этот момент соответствует началу записи картин- ки в ОЗУ. Компьютер получив через регистр состояния сигнал "ГОТОВ", соответствующий логическуому нулю, устанавливает уровень сигнала "РЕЖИМ" в единицу и переходит в состояние ожидания конца записи в ОЗУ. Это событие происходит через 20 мсек от t1 в момент tк. Начиная с момента t1 всеми про- цессами в устройстве управляет схема уп- равления ОЗУ. │Режим │ t0 t1 ├─┐ ┌──────────────────────────────────── │ │ │ ├─┴──┴──────────────────────────────────── │Готов ├──┐ ─ ─ ─ ─ ─ ─ 20 мсек ─ ─ ─ ─ ─ ─ ─ ┌── │ │ │ ├──┴───────────────────────────────────┴── │КИ tк │ ┌┐ ┌┐ │ ││ ││ ├──┴┴──────────────────────────────────┴┴─ │ СИ │ ┌┐ │ ││ ├─────┴┴────────────────────────────────── │Строб 1 2 3 4 5 6 7 8 1 2 3 Частота │ ┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐┌┐ 7 МГц │ . . . . . .││││││││││││││││││││││. . . ├────────────┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴─────── │Сдвиг │ ┌┐┌┐┌┐┌┐┌┐┌┐┌┐ ┌┐┌┐┌┐ │ . . . . . . ││││││││││││││ ││││││ . . ├─────────────┴┴┴┴┴┴┴┴┴┴┴┴┴┴──┴┴┴┴┴┴────── │Фиксация │ ┌┐ │ . . . . . . . . . . . . . ││ . . . . . ├───────────────────────────┴┴──────────── │ Каждый СИ увеличивает адрес ОЗУ до зна- │ чения, кратного 64. │ Каждый импульс ФИКСАЦИЯ увеличивает ад- │ рес ОЗУ на 1. Рис. 3. В момент t1 адрес ОЗУ сбрасывается в 0. Начинается преобразование видеосигнала в последовательность байт. Формирователь тактовых сигналов синхронизируется строч- ными синхроимпульсами. Выходные сигналы формирователя, сигналы "СТРОБ" и "СДВИГ" сдвинуты относительно друг друга, что обеспечивает согласованость работы сдвиго- вого регистра и схемы управления ОЗУ. Сигнал "СДВИГ" поступающий на сдвиговый регистр, обеспечивает запоминание уровня на выходе компаратора в сдвиговом регист- ре. По каждому восьмому сигналу "СТРОБ" схема управления ОЗУ формирует сигналы "ЧТЕНИЕ", "ФИКСАЦИЯ" сдвигового регистра и "ЗАПИСЬ" ОЗУ. Кроме этого, схема управле- ния ОЗУ увеличивает адрес ОЗУ на единицу. Таким образом происходит запись в ОЗУ строки изображения. При поступлении очередного строчного синхроимпульса на схему управления ОЗУ, происходит установка адреса ОЗУ соответс- твующего первому байту новой строки. Далее все происходит так же, как для предыдущей строки. Таким образом, строка за строкой, в ОЗУ возникает копия изображения, в этой копии бит имеющий значение 1 соответствует темному участку изображения, а значение 0 - светлому участку. При поступлении очередного кадрового импульса на схему управления ОЗУ процесс записи ОЗУ прекращается, сигнал "ГОТОВ" устанавливается в единицу. Устройство "ВИ- ДЕОПОРТ" переходит в режим ожидания команд от компьютера. В этом режиме устройство может находиться до снятия питания, при этом копия картинки в ОЗУ будет сохранять- ся. Рассмотрим режим чтения ОЗУ. Для нагля- дности, на рис. 4 приводится циклограмма сигналов в режиме чтения ОЗУ. │Режим ├───────────────────────────────────────── │ ├───────────────────────────────────────── │Готов ├───────────────────────────────────────── │ ├───────────────────────────────────────── │Сброс адреса ├┐ ││ ├┴──────────────────────────────────────── │Счет строк Установка адреса на │ ┌┐1 ┌┐2 ┌┐k "k" строку │ ││ ││ . . ││ ├───┴┴──┴┴─────┴┴───────────────────────── │Счет байтов Установка адреса на │ ┌┐1 ┌┐2 ┌┐m "m" │ ││ ││ . . ││ байт ├───────────────────┴┴──┴┴─────┴┴───────── │CSD (Выбор регистра данных) │ ┌┐ │ ││ ├───────────────────────────────────┴┴──── │Чтение ОЗУ из регистра │ управления ┌─────┐ │ │ │ ├─────────────────────────────────┴─────┴─ │ │ │Начало режима чтения ОЗУ │ │ │ │ │ │Передача байта данных в ZX ────────────┘ │(байт соотвтствует "k" строке │ и "m" столбцу экрана). Рис. 4. Этот режим идет полностью под управле- нием компьютера. Все сигналы передаются через регистр управления. Для начала про- цесса чтения ОЗУ выдается сигнал "СБРОС АДРЕСА". В результате схема управления ОЗУ установит адрес в ноль. Перед чтением, ес- ли нужно, можно установить номер строки и номер байта в строке. Для этого достаточно подать на схему управления ОЗУ соответс- твующее число сигналов "СЧЕТ СТРОК" и "СЧЕТ БАЙТ". После этого можно прочитать содержимое байта ОЗУ, для чего нужно вы- дать сигнал "ЧТЕНИЕ" через регистр управ- ления и принять данные от регистра данных. Таким образом, можно считать данные из ОЗУ начиная с любой строки и с любого байта в строке. Это позволяет выбрать нужную часть из всего видеокадра для преобразования в размер стандартной картинки ZX-Spectrum. Весь обмен командами и данными между устройством и ZX-Spectrum осуществляется через регистры. Активизация регистров про- исходит дешифратором, который анализирует сигналы системной шины ZX-Spectrum и выда- ет соответствующие сигналы выборки регист- ров по командам IN, OUT с соответствующими адресами портов. На этом описание функциональной схемы заканчивается. В И Д Е О П О Р Т (ч. II) ────────────────────────────────────────── (C) AlphA Studio Принципиальная схема устройства "ВИДЕОПОРТ". D1 ┌───┬───┬───┐ ╟─1─10┤A0 │RAM│D0 │11─17╢ ╟─2──9┤A1 │ │D1 │12─18╢ ╟─3──8┤A2 │ │D2 │13─19╢ ╟─4──7┤A3 │ │D3 │15─20╢ ╟─5──6┤A4 │ │D4 │16─21╢ ╟─6──5┤A5 │ │D5 │17─22╢ ╟─7──4┤A6 │ │D6 │18─23╢ ╟─8──3┤A7 │ │D7 │19─24╢ ╟─9─25┤A8 │ │ │ ║ ╟10─24┤A9 │ │ │ ║ ╟11─21┤A10│ │ │ ║ ╟12─23┤A11│ │ │ ║ ╟13──2┤A12│ │ │ ║ ╟14─20/CS1│ │ │ ║ ╟─C─26┤CS2│ │ │ ║ ╟15─27/WR │ │5B ├14──A╢ ╟16─22/CEO│ │0B ├28──D╢ ║ └───┴───┴───┘ ║ ║ D2 ║ ║ ┌───┬───┬───┐ ║ ╠═════╡ │RAM│ ╞═════╣ ║25─20/CS1│ │ │ ║ ║ └───┴───┴───┘ ║ ║ D3 ║ ║ ┌───┬───┬───┐ ║ ╠═════╡ │RAM│ ╞═════╣ ║26─20/CS1│ │ │ ║ ║ └───┴───┴───┘ ║ ╔═══════╩═══════════╦═══════════╩════════╗ ║ D4 ║ D6 ║ ║ ┌──┬─┬──┐ ║ ┌──┬─┬──┐ ║ ║37──1/R │C│ 0├14──1╢35──1/R │C│ 0├14───7╢ ║38──2/C │T│ 1├13──2╢36──2/C │T│ 1├13───8╢ ║─C┬─9┤L0│ │ 2├12──3╫─C┬─9┤L0│ │ 2├12───9╢ ║ ├─7┤CT│ │ 3├11──4╢ ├─7┤CT│ │ 3├11──10╢ ║ └10┤CR│ │P2├10─27╢ └10┤CR│ │P2├10──29╢ ║ └──┴─┴──┘ ║ └──┴─┴──┘ ║ ║ D10.1 ║ D10.2 ║ ║ ┌───┐ ║ ┌───┐ ║ ╟27───1┤ 1 /2─────28╫29────3┤ 1 /4─────30╢ ║ └───┘ ║ └───┘ ║ ║ D5 ║ D7 ║ ║ ┌──┬─┬──┐ ║ ┌──┬─┬──┐ ║ ║37──1/R │C│ 0├14──5╢35──1/R │C│ 0├14──11╢ ║28──2/C │T│ 1├13──6╢30──2/C │T│ 1├13──12╢ ╟─C┬─9/L0│ │ │ ╟─C┬─9/L0│ │ 2├12──13╢ ║ ├─7┤CT│ │ │ ║ ├─7┤CT│ │ 3├11──33╢ ║ └10┤CR│ │ │ ║ └10┤CR│ │P2├15──31╢ ║ └──┴─┴──┘ ║ └──┴─┴──┘ ║ ║ D8.1 ║ D9 ║ ║ ┌──┬─┬──┐ ║ ┌──┬─┬──┐ ║ ║ ─/S │T│ Q├5──34╫33──1┤A0│D│ 0/15──14╢ ╟32──3/C │ │ │ ╟34──2┤A1│C│ 1/14──25╢ ╟─C──2┤D │ │ │ ╟─D──3┤A2│ │ 2/13──26╢ ╟35──1┤R │ │ │ ╟─C──6┤E1│ │ │ ║ ║ └──┴─┴──┘ ╟─D┬─4/E2│ │ │ ║ ║ D10.5 ║ └─5/E3│ │ │ ║ ║ ┌───┐ ║ └──┴─┴──┘ ║ ╟31───11┤ 1 /10───32╢ ║ ║ └───┘ ║ ║ D18 D19 ║ ║ ┌──┬─┬──┐ ┌──┬─┬──┐ ║ ╟48─11/C │R│Q0├4─────────3┤D0│R│ 0├2───17╢ ╟─D─23┤S1│G│Q1├6─────────4┤D1│G│ 1├5───18╢ ╟─C──1┤S0│ │Q2├8─────────7┤D2│ │ 2├6───19╢ ╟58──2┤DR│ │Q3├10────────8┤D3│ │ 3├9───20╢ ║ │ │ │Q4├14───────13┤D4│ │ 4├12──21╢ ║ │ │ │Q5├16───────14┤D5│ │ 6├15──22╢ ║ │ │ │Q6├18───────17┤D6│ │ 7├16──23╢ ╟─C─13/R │ │Q7├20───────18┤D7│ │ 8├19──24╢ ║ └──┴─┴──┘ ┌───────1/E0│ │ │ ║ ║50──────────────┘ ┌────11┤LD│ │ │ ║ ║44────────────────┘ └──┴─┴──┘ ║ ║ D11.1 D10.3 ║ ║ ┌───┐ ┌───┐ ║ ║39─*──1┤ & ├3─────────────5┤ 1 /6─────35╢ ║41─┼──2┤ │ └───┘ ║ ║ │ └───┘ ║ ║ │ D11.2 ║ ║ │ ┌───┐ VD1 ║ ║40─┼──4┤ & ├6─────┼──*───────────────36╢ ║45─┼──5┤ │ │ R1 ║ ║ │ └───┘ *─────███────────D╢ ║ │ D11.3 │ D10.4 ║ ║ │ ┌───┐ VD2 │ ┌───┐ ║ ║ └──9┤ & ├8─────┼──*───9┤ 1 /8─────37╢ ║42───10┤ │ └───┘ ║ ║ └───┘ D11.4 ║ ║ D17.1 ┌───┐ VD3 ║ ║ ┌──┬─┬──┐ ║40─13┤ & ├11─┼──*38╢ ║54───/S │T│ Q├5──39╫44─12┤ │ │ ║ ║55───┤D │ │ │ ║ └───┘ │ ║ ║56───/C │ │ Q/6──40╢ D12.1 │ ║ ║ └──┴─┴──┘ ║ ┌───┐ VD4 │ ║ ╠═══════════════════╣39──1┤ & ├3──┼──* ║ ║ D17.2 ╟43──2┤ │ │ ║ ║ ┌──┬─┬──┐ ║ └───┘ R2 │ ║ ║ ──/S │T│ Q├9──┐ ╟───────────███───┘ ║ ║40─12┤D │ │ │ │ D15.3 D14.4 ║ ║44─11/C │ │ Q/── │ ┌───┐ ┌───┐ ║ ║ └──┴─┴──┘ └─9┤ & ├8─*─9┤ 1 /8──50╢ ║ D16 ┌10┤ │ │ └───┘ ║ ║ ┌──┬─┬──┐ │ └───┘ │ D14.5 ║ ║47──1/R │C│ 0├── │ ┌─┘ ┌───┐ ║ ║46──2/C │T│ 1├13─┼─┐ │┌─11┤ 1 /10─15╢ ║─C┬─9/L0│ │ 2├12─┘ │ ││ └───┘ ║ ║ ├─7┤CT│ │ 3├11─┐ │ │└──────────┐ ║ ║ └10┤CR│ │P2├── │ │ │ D15.4 │ ║ ╟ └──┴─┴──┘ │ │ │ ┌───┐ │ ║ ║49───────────────┘ │ └──13┤ & ├11┘ ║ ║ Q1 └────────12┤ │ ║ ║┌───────┤█├──────────────┐ └───┘ ║ ║│ R3 R4 │ ║ ║*──███────┐ ┌───███────* ║ ║│ D13.1 │ │ D13.2 │ D13.3 ║ ║│ ┌───┐ │C1 │ ┌───┐ │ ┌───┐ ║ ║└1┤ 1 /2──*┤├─*─3┤ 1 /4──*──5┤ 1 /6──┐ ║ ║ └───┘ │ └───┘ └───┘ │ ║ ║ │VD5┌──────────────────┘ ║ ║ D13.4 └┼┐│ ┌───────────────┐ ║ ║ ┌───┐ ││ │ D8.2 │ ║ ║45──9┤ 1 /8──────*│ │ ┌──┬─┬──┐ │ ║ ║ └───┘ ││ └─12┤D │T│ Q├─ │ ║ ║ D14.1 │└───11/C │ │ │ │ ║ ║ ┌───┐ └──*─10/S │ │ Q/8──*─46╢ ║46──1┤ 1 /2──┐ │ └──┴─┴──┘ ║ ║ └───┘ │ │ vD6 R5 ║ ║ ┌────────*──┐ └────────┼─*─███──A╢ ║ │ D15.1 │ D14.2 │ ║ ║ │ ┌───┐ │ ┌───┐ VD7│ ║ ║ └──1┤ & ├3──┼─*──3┤ 1 /4─┼─*─────47╢ ║ ┌──2┤ │ │ │ └───┘ ║ ║ │ └───┘ │ └───────────────────44╢ ║ │ D14.3 │ D15.2 ║ ║ │ ┌───┐ │ ┌───┐ ║ ║49──*──5┤ 1 /6──┼────4┤ & ├6──────────48╢ ║ └───┘ └────5┤ │ ║ └───┘ ╟─B────────────────────────────────*───┐ ╟58─────────────────────────┐ │R28█ ╟─A──────*────*────────┐ │ │ █ ║ │ │ █R33 │ █R26│ ║ █R23 │ █ C17│ █ *─┐ ║ C15 █ VT1│ │+ │ R34 │VT2│ │ ║ +│ │/─┘ VT3*─┤├─*─███┐ │ │/ │ ║59─*─┤├─*─┤ R35 │/ │┌*─┤ │ ║ │ │ │──*─███─┤ R30 │││ │ │ ║ █R37 █ │ │─███──┐R32│││ │ │ ║ █ █R24 █R25 ┌─█ ┌─█│█R █ │ ║ │ │ █ R31│ █ │ █│█27 █ │ ║ │ │ │ │ │ │ │││ │ │ ╟─D─*────*─────*───────────*─*─*─*┼*───┘ │ ║ C15* + │ R29 │ ║59───┤├──────────────────────────┘ │ ║ │ ║57──────────────────────────────────────┘ ║45──────────────────┐ ┌───────────┐ ║─B───────────────┐ │ │C13 C14│ ║ C11 R16 │ │ │ + ═╪═ ║ ┌──┤├───*─███─* │ *─┤├─────┐ │ ║ │ │2 │4 │6 │12 │ └┐ ║ │ C2 14┌┴─────┴──┴──────┴─────┐13│C12│ ║─D─*──┤├──┤ ├──*┤├┐│ ║ │ 16│ D24 │ █R ││ ║ *──────┤ │15█20││ ║ │ │ ├──*─┐││ ║ █ R8 └┬─┬──┬───┬────┬─┬────┬┘ R22││█ ║ █ │8│3 │5 │11 1│9*─┐C7│10 ││█ ║ │ │ █ ═╪═ ═╪═ │ │═╪═ └──┐ │││ ║56─*───────┘ █C4│ C5│C6 +│ █ │R15 │ │├* ║ R10│ *───*─┤├─* █ │┌███─* R│││ ║45───────────* │ R12│┌*─*│ │19│█│ ║ │ │ ┌───*┼──┼┘ C10│ │█│ ║ R9 VD10 │ │ │ ││ ═╪═R14═╪═ *┘│ ║─D─███──┼───┘ │ │ ││C8*─███─*──┼┐│ ║ │ │ ││ │ R13 R18█││ ║ │ █R11│└──┼─███─┐ █││ ║ │ █ └───┼─────* │││ ║ │ │ ═╪═ │ │││ ║ │ │ C9│ R17█──┘││ ║ │ │ │ █ ┌┘│ ║ D│ B│ D│ D│57│D│ ╠════════════════╧══╦═╧═══════╧═════╧══╧═╣ ║ D21 ║ D22 ║ ║ ┌──┬─┬──┐ ║ ┌──┬─┬──┐ ║ ║39──3┤D0│R│ 0├2───1╫1───3┤D0│R│ 0├2───41╢ ║ │ │G│ 1├5───2╫2───4┤D1│G│ 1├5───42╢ ║ │ │ │ 2├6───3╫3───7┤D2│ │ 2├6───43╢ ║ │ │ │ 3├9───4╫4───8┤D3│ │ 3├9───54╢ ║ │ │ │ 4├12──5╫5──13┤D4│ │ 4├12──16╢ ║ │ │ │ 5├15──6╫6──14┤D5│ │ 5├15──55╢ ║ │ │ │ 6├16──7╫7──17┤D6│ │ │ ║ ║ │ │ │ 7├19──8╫8──18┤D7│ │ │ ┌─A╢ ║52──1/E0│ │ │ ║ ┌──1/E0│ │ │ R7█ ║ ║─C─11┤LD│ │ │ ║ │┌11┤LD│ │ │ █ ║ ║ └──┴─┴──┘ ║ ││ └──┴─┴──┘ └─C╢ ║ D20 ║ │└───────────────53╢ ║ ┌──┬─┬──┐ ║ └─────────────────D╢ ║17──3┤D0│R│ 0├2───1╢ ┌────────────────C╢ ║18──4┤D1│G│ 1├5───2╢ │ D23 ║ ║19──7┤D2│ │ 2├6───3╢ │ ┌──┬─┬──┐ ║ ║20──8┤D3│ │ 3├9───4╫9─┼─1┤A0│D│ 0/15──51╢ ║21─13┤D4│ │ 4├12──5╫10┼─2┤A1│C│ 1/14──52╢ ║22─14┤D5│ │ 5├15──6╫11┼─3┤A2│ │ 2/─ ║ ║23─17┤D6│ │ 6├16──7╢ └─6┤E1│ │ 3/12─┐ ║ ║24─18┤D7│ │ 7├19──8╫12──4/E2│ │ │ │ ║ ║51──1/E0│ │ │ 13╟┼─*5/E3│ │ │ │ ║ ║─C─11┤LD│ │ │ ╟VD8│ └──┴─┴──┘ │ ║ ║ └──┴─┴──┘ ║ │ │ ║ ║ ║ │┌────────────┘ ║ ║─D───────────────15╢ ││ ┌───┐ D13.6 ║ ║ ║ │└13┤ 1 /12────53╢ ╟1────D0 ║VD9│ └───┘ R6 ║ ╟2────D1 14╟┼─*─────────███───A╢ ╟3────D2 A0───9╢ ║ ╟4────D3 A1──10╢ VIDEO ──────────59╢ ╟5────D4 A4──11╢ Rдоп ║ ╟6────D5 /IORQ──12╢ +12V─────███───8╢ ╟7────D6 /WR──13╟B─┐+ +5V─*───*───*─A╢ ╟8────D7 /RD──14║ ═╪═ │+ │ │ ║ ╟15───Общий ║ │Cдоп ═╪═ ═╪═ ═╪═ ║ ║D─┘ 0V─*───*───*─D╢ C18 C19-C41 Рис. 5. Перечень используемых элементов. D1,D2,D3 - К537РУ17 R18,R20 - 82 кОм D4,D5,D6 R19 - 12 кОм D7,D16 - К555ИЕ10 R23 - 22 кОм D8,D17 - К555ТМ2 R24,R27 - 10 кОм D9,D23 - К555ИД7 R26 - 47 кОм D10,D13,D14 - К555ЛН1 R28 - 820 Ом D11,D12,D15 - К555ЛИ1 R29 - 270 Ом D18 - К155ИР13 R30,R37 - 120 Ом D19,D20,D21 R31 пер. - 3.3 кОм D22 - К555ИР22 R32 пер. - 1.5 кОм D24 - К174ХА11 R33 - 2.2 кОм R34,R36 - 3 кОм VT1,VT2,VT3 - КТ315 Rдоп - 220 Ом VD1-VD9 - КД522 VD10 - АЛ307 C1,C5 - 0.1 мкФ C2 - 4.7 нФ R1,R2,R5,R6, C4,C8, R7,R21,R25, C10,C14 - 0.22мкФ R35 - 5.1 кОм C6,C18 - 100 мкФ R3,R4 - 680 Ом C7 - 6.8 нФ R8 - 1.6 кОм C9 - 100 пФ R9 - 200 Ом C11 - 47 нФ R10 - 510 Ом C12 - 10 нФ R11,R16 - 27 Ом C13,C15, R12 - 33 кОм C15*, R13 - 2.2 МОм C16,C17 - 4.7 мкФ R14 - 1.5 кОм C19-C41 - 150 нФ R15 - 1.8 МОм Cдоп - 20 мкФ R17 подстр. - 4.7 кОм R22 - 6.8 кОм Q1 - 14 МГц Примечание: C19-C41 - керамические кон- денсаторы установленные по цепи +5В по од- ному на корпус каждой микросхемы. Сразу хочу сделать некоторые пояснения по принципиальной схеме. Так как схема изображена при помощи псевдографики, то приняты следующие обозначения: / - инверсия; * - соединение проводников; ║ - шина. У транзисторов: коллектор - верхний по схеме вывод; эмиттер - нижний. В целях экономии места микросхемы D2, D3 (К573РУ17) показаны условно. Все выводы этих ИМС подсоединены к аналогичным выво- дам микросхемы D1, за исключением сигнала /CS1 (выв. 20). (Прим. I/ASt). Описание принципиальной схемы, приве- денной на рис. 5, построено на раскрытии устройств, изображенных на функциональной схеме. Согласующее устройство выполнено на транзисторах VT1, VT2. Каскад на VT1 - эмиттерный повторитель, обеспечивающий согласование линии передачи видеосигнала с внутренними устройствами ВИДЕОПОРТ'а. Кас- кад на VT2 инвертирует видеосигнал, что необходимо для правильной работы устрой- ства выделения синхроимпульсов, которое построено на микросхеме D24. Для установки частоты строчной развертки предусмотрен подстроечный потенциометр R17. Для ограни- чения амплитуды строчных импульсов служит цепочка R9, VD10, R10. Светодиод VD10 ин- дицирует наличие строчных синхроимпульсов. Микросхема D24 чувствительна к отклонениям значений сопротивлений и емкостей от ука- занных в приложении к принципиальной схе- ме. Компаратор построен на транзисторе VT3. Предусмотрен регулятор контрастности R31 и регулятор баланса черного/белого - R32. Формирователь тактовых сигналов построен на логических микросхемах. Основа формиро- вателя - стабилизированный кварцевый гене- ратор на D13.1 и D13.2. Частота кварца 14 МГц. Синхронизация формирователя от СИ осуществляется через элемент D13.4. Триг- гер D8.2 обеспечивает формирование сигнала СТРОБ. Сигнал СДВИГ формируется на D14.1, D14.3, D15.2. ОЗУ построено на трех мик- росхемах D1, D2 и D3. Примененные микрос- хемы - это статическое ОЗУ по 8К каждая. Схема управления ОЗУ состоит как бы из не- скольких узлов. Узел формирования адреса ОЗУ и сигнала выборки микросхемы включает в себя счетчи- ки D4, D5, D6, D7, логические элементы D10.1, D10.2, D10.5, триггер D8.1 и дешиф- ратор D9. Узел управления счетчиками обес- печивает управление ими в зависимости от режима работы устройства. Построен этот узел на логических элементах D10.3, D10.4, D11.1-D11.4, D12.1, триггере D17.1. Узел формирования сигнала ЧТЕНИЕ сдвигового ре- гистра и сигнала запись в ОЗУ построен на логических элементах D15.1, D14.2, D15.3, D15.4, D14.4, D14.5, счетчике D16 и триг- гере D17.2. Сдвиговый регистр построен на микросхемах: D18 - сдвиговый регистр, D19 - буферный регистр. Регистр состояния пос- троен на микросхеме D21. Регистр управле- ния построен на D22. Регистр данных - на D20. Дешифратор построен на микросхемах D23, D13.6. К ZX-Spectrum "ВИДЕОПОРТ" подключается через буферизированную шину внешних уст- ройств. В И Д Е О П О Р Т (ч. III) ────────────────────────────────────────── (C) AlphA Studio КОМПАНОВКА ПЛАТЫ УСТРОЙСТВА "ВИДЕОПОРТ". Рекомендации по размещению элементов устройства на плате можно свести к нес- кольким: - функциональные узлы должны быть раз- мещены компактно; - узлы непосредственно связаные с виде- осигналом нужно разместить по возможности подальше от генератора; - элементы регулировки должны иметь как можно более короткие провода подключения; - цепи связи с компьютером должны быть подальше от цепей видеосигнала. В качестве примера на рис.6 приведен возможный вариант размещения элементов на плате. Кабель связи платы с ZX-Spectrum должен быть не более 30 см. ┌──────────────────────────────────────┐ │ VT2┌┐ VT1┌┐ ┌──┤ │ ┌─────────┐ ││ ││ R31│ ├─┐ │ │ D24 │ └┘ └┘ │ ├─┘ │ └─────────┘ └──┤ │ VT3┌┐ ┌──┤ │ ││ R32│ ├─┐ │ └┘ │ ├─┘ │ ┌────────┐ └──┤ │ │ D14 │ │ │ └────────┘ │ │ ┌───────┐ ┌───────┐ │ │ │ D15 │ │ D17 │ ┌────────────┐│ │ └───────┘ └───────┘ │ ││ │ ┌───────┐ ┌───────┐ │ D18 ││ │ │ D16 │ │ D19 │ │ ││ │ └───────┘ └───────┘ └────────────┘│ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ D1 │ │ D2 │ │ D3 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ │ │ │ │ ┌───────┐┌───────┐┌───────┐│ │ │ D12 ││ D11 ││ D9 ││ │ └───────┘└───────┘└───────┘│ │ ┌───────┐┌───────┐┌───────┐┌───────┐│ │ │ D6 ││ D4 ││ D8 ││ D13 ││ │ └───────┘└───────┘└───────┘└───────┘│ │ ┌───────┐┌───────┐┌───────┐ ╔════╗ │ │ │ D7 ││ D5 ││ D10 │ ║ Q1 ║ │ │ └───────┘└───────┘└───────┘ ╚════╝ │ │ ┌───────┐┌───────┐┌───────┐┌───────┐│ │ │ D23 ││ D22 ││ D21 ││ D20 ││ │ └───────┘└───────┘└───────┘└───────┘│ │ │ └┬──────────────────────────┬─┬───────┬┘ │ Интерфейс ZX-Spectrum │ │Питание│ └──────────────────────────┘ └───────┘ Рис.6. НАСТРОЙКА УСТРОЙСТВА "ВИДЕОПОРТ". Если применены исправные элементы, уст- ройство требует только установки частоты строчной развертки резистором R17. При этом устройство полностью подключено к компьютеру и работает под управлением про- граммы. Если частота не соответствует не- обходимой, то изображение будет разорвано по строкам. Регулируя R17 следует добиться нормального изображения на мониторе. Если это не получается, то следует искать при- чину неисправности. Описать все возможные неисправности или ошибки в монтаже, а также последствия - достаточно сложно. Поэтому автор приводит только одну рекомендацию. При поиске не- исправности в устройстве следует проверить его работу в режимах чтения и записи. Для проверки в режиме чтения нужно про- верить циклограмму формирования адреса, сигналы чтения ОЗУ и выборки микросхем. Режим чтения осуществляется под управлени- ем компьютера. При этом программа обеспе- чивает чтение одного экрана и переходит в режим ожидания нажатия клавиши. Если на- жать клавиши управления курсором, то прог- рамма повторно осуществит чтение ОЗУ уст- ройства. Для проверки режима записи можно отклю- чить компьютер, а вместо сигнала, поступа- ющего на вывод 2 микросхемы D17.1, нужно подать сигнал нулевого уровня. При этом будет идти режим записи в ОЗУ. Такой режим работы позволяет проверить циклограмму ра- боты устройства в режиме записи ОЗУ. Про- верку работы интерфейса устройства со сто- роны ZX-Spectrum нужно производить в по- рядке, обычном для внешних устройств. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ УСТРОЙСТВА "ВИДЕОПОРТ". Программа состоит из основной программы на Бейсике и загружаемого блока машинных кодов. Текст программы приведен в листин- ге 1. ЛИСТИНГ 1. 5 CLEAR 29999: CLS: LET TT=0: LET NN=0 10 CLS: BORDER 7: INK 0: PAPER 7 20 RANDOMIZE USR 15619: REM: LOAD "CODVID1" CODE 41 CLS: BORDER 7: INK 0: PAPER 7: PRINT AT 10,2;"1-INPUT SCREEN" 42 PRINT AT 11,2;"2-READ SCREEN OF DISK" 43 PRINT AT 12,2;"3-CATALOG" 44 PRINT AT 13,2;"4-EXIT TR-DOS" 45 LET K$=INKEY$ 46 IF K$="1" THEN GO TO 159 47 IF K$="3" THEN GO TO 60 48 IF K$="4" THEN GO TO 65 49 IF K$="2" THEN GO TO 5000 50 GO TO 45 60 RANDOMIZE USR 15619: REM: CAT 61 LET K$=INKEY$ 62 IF K$="" THEN GO TO 61 63 GO TO 41 65 CLEAR 65000: RANDOMIZE USR 15619: REM: RUN "boot" 159 IF TT=0 THEN INPUT "INPUT NUMBER FILE - ";TT: BORDER 7: PAPER 7: INK 0 160 CLS: POKE 23659,0: PRINT AT 14,2; "FOR NEW SCREEN - ENTER" 170 PRINT AT 11,2;"SCANING - CURSOR" 180 PRINT AT 12,2;"EXIT IN MENU - e" 190 PRINT AT 17,2;"FOR START - ENTER" 195 PRINT AT 13,2;"FOR SAVE SCREEN - s" 200 IF INKEY$="" THEN GO TO 200 220 BORDER 0: RANDOMIZE USR 32768 280 GO SUB 2000 290 IF A=101 THEN GO TO 4000 310 GO TO 220 2000 LET A=PEEK 32772 2010 IF A=115 THEN GO TO 3000 2030 RETURN 3000 LET TT=TT 3006 LET F$=STR$(TT) 3007 RANDOMIZE USR 15619: REM: SAVE F$ CODE 16384,6912 3010 LET TT=TT+1: RETURN 4000 POKE 23659,2 4010 GO TO 41 5000 IF NN=0 THEN INPUT "INPUT NUMBER FILE - ";NN: GO TO 5130 5010 BORDER 0: LET N$=STR$(NN): LET P= USR 15619: REM: LOAD N$ CODE 5020 IF P=0 THEN PRINT AT 1,1;NN: GO TO 5030 5025 CLS: PRINT AT 10,10;"FILE ";NN 5030 LET K$=INKEY$ 5035 IF K$="n" THEN LET NN=0: GO TO 5000 5040 IF K$="e" THEN GO TO 4000 5050 IF K$="z" THEN GO TO 5100 5060 IF K$="" THEN GO TO 5030 5070 IF K$="p" THEN LET NN=NN+1: GO TO 5010 5080 IF K$="o" THEN LET NN=NN-1: GO TO 5010 5090 GO TO 5030 5100 RANDOMIZE USR 15619: REM: ERASE N$ CODE 5120 LET NN=NN+1: GO TO 5010 5130 CLS: PRINT AT 10,2;"NEXT FILE - P" 5140 PRINT AT 11,2;"PRED. FILE - O" 5150 PRINT AT 12,2;"DELETE FILE - Z" 5160 PRINT AT 13,2;"NEW NUMBER FILE - N" 5170 PRINT AT 14,2;EXIT IN MENU - E" 5175 IF INKEY$="" THEN GO TO 5175 5180 GO TO 5010 Рассмотрим работу программы. После заг- рузки машинных кодов, программа предоста- вит меню: 1 - ВВОД КАРТИНКИ 2 - ЧТЕНИЕ КАРТИНКИ С ДИСКА 3 - ПРОСМОТР КАТАЛОГА ДИСКА 4 - ВЫХОД В НАЧАЛЬНЫЙ ЗАГРУЗЧИК TR-DOS При выборе режима ввода картинки прог- рамма запрашивает номер файла и печатает на экране памятку о клавишах управления при приеме картинок: СКАНИРОВАНИЕ ПО КОПИИ КАДРА - КУРСОРНЫЕ КЛАВИШИ СОХРАНИТЬ КАРТИНКУ - "S" ВЫЙТИ В ГЛАВНОЕ МЕНЮ - "E" СМЕНА КАРТИНКИ - "ENTER" После нажатия "ENTER" происходит запуск машинных кодов с адреса 32768. На дисплее появляется картинка. Если будет нажата клавиша "S" или "E", то произойдет переход в основную программу. Далее, в зависимости от нажатой клавиши, при "S" - произойдет сохранениe файла с текущим номером, при "E" - произойдет переход в основное меню, строка 41. Код нажатой клавиши программа получает из программы в машинных кодах че- рез ячейку 32772. Это ячейка PRIZN в текс- те на ассемблере. При выборе режима чтения картинки с ди- ска осуществляется переход на строку 5000 программы. Программа запрашивает номер файла для чтения с диска и выдает памятку по управлению этим режимом. ПРОСМОТР СЛЕДУЮЩЕГО ФАЙЛА - "P" ПРОСМОТР ПРЕДЫДУЩЕГО ФАЙЛА - "O" УНИЧТОЖИТЬ ТЕКУЩИЙ ФАЙЛ - "Z" ВВЕСТИ НОВЫЙ НОМЕР ФАЙЛА - "N" ВЫЙТИ В ГЛАВНОЕ МЕНЮ ПРОГРАММЫ - "E" Далее программа читает соответствующий файл и выводит его на экран. Если файла с нужным номером нет на диске, выводится со- общение об этом. Анализ наличия файла про- исходит в строке 5020. Далее программа пе- реходит к анализу нажатой клавиши. Продол- жение "прозрачно" и не требует коммента- рия. Текст машинокодового блока набран на ассемблере и приведен в листинге 2. ЛИСТИНГ 2. ORG 32768 JP BEGIN UPR DEFB 0 ;байт управления PRIZN DEFB 0 ;байт признаков STR0 DEFB 0 ;нач. строка экрана ;в кадре BAIT0 DEFB 0 ;нач. байт экрана в ;строке BUF1 EQU 41550 ;начало буфера PDAT EQU 0 ;адреса порта данных, PUPR EQU 3 ;порта управления и PSOST EQU 1 ;порта состояния ADR DEFW #0000 ;текущий адрес BEGIN PUSH HL ;начало программы PUSH BC PUSH DE LD A,#30 ;установка регистра LD (UPR),A ;управления в исход- OUT (PUPR),A ;ное положение B00 IN A,(PSOST) ;ожидание перехода BIT 0,A ;устройства в исход- JR Z,B00 ;ное положение B1 DI LD HL,BUF1 ;установка адреса LD (ADR),HL ;буфера картинки CALL INIC ;кадр в "ВИДЕОПОРТ" B0 CALL SCAN ;часть ОЗУ устройства ;в буфер ZX CALL SREN ;преобразование буфе- ;ра в SCREEN EI CALL KEY ;опрос клавиатуры CP #09 ;сдвиг картинки в JR Z,B3 ;зависимости от на- CP #08 ;жатой клавиши JR Z,B4 CP #0A JR Z,B6 CP "s" ;возврат в Бейсик JR Z,B9 CP "e" JR NZ,B1 B9 LD (PRIZN),A POP DE POP BC POP HL RET B3 LD A,(BAIT0) ;вычисление и уста- ADD A,1 ;новка начального CP 32 ;байта JP Z,B0 LD (BAIT0),A JP B0 B4 LD A,(BAIT0) SUB 1 CP 255 JP Z,B0 LD (BAIT0),A JP B0 B5 LD A,(STR0) ;вычисление и уста- SUB 8 ;новка номера на- CP 248 ;чальной строки JP Z,B0 LD (STR0),A JP B0 B6 LD A,(STR0) ADD A,8 CP 100 JP NC,B0 LD (STR0),A JP B0 INIC PUSH HL ;начало записи в ОЗУ PUSH BC ;устройства PUSH DE PUSH AF IC1 IN A,(PSOST) ;проверка бита го- BIT 0,A ;товности JR Z,IC1 LD A,#18 ;установка режима LD (UPR),A ;записи OUT (PUPR),A CALL SBA ;сброс адреса IC2 IN A,(PSOST) ;проверка бита го- BIT 0,A ;товности JR NZ,IC2 LD A,(UPR) ;снятие признака ре- OR #20 ;жима записи LD (UPR),A OUT (PUPR),A POP AF POP BC POP DE POP HL RET SCAN PUSH HL ;начало режима чте- PUSH BC ;ния ОЗУ ВИДЕОПОРТа PUSH DE PUSH AF SC5 IN A,(PSOST) ;ожидание конца за- BIT 0,A ;писи в ОЗУ ВИДЕО- JR Z,SC5 ;ПОРТа CALL SBA ;сброс адреса LD A,(STR0) LD B,A SC6 LD A,0 ;цикл установки ад- ADD A,B ;реса на начальную JR Z,SC7 ;строку CALL SA DEC B JR SC6 SC7 LD B,192 ;макс. число строк LD C,32 ;макс. число байт LD HL,(ADR) ;адрес буфера SC8 LD A,0 ADD A,B JR Z,SC3 LD A,(BAIT0) LD D,A SC9 LD A,0 ;цикл установки на- ADD A,D ;чального байта JR Z,SC10 CALL SB ;счет байт DEC D JR SC9 SC10 CALL READ ;чтение байта из ОЗУ INC HL ;следующий адрес DEC C ;следующий байт CALL SB ;счет байт LD A,0 ADD A,C JR NZ,SC10 ;цикл чтения строк LD C,32 ;установка счет. байт DEC B ;уменьш. счет. строк CALL SA ;счет адреса ОЗУ JR SC8 SC2 POP AF POP BC POP DE POP HL RET SC3 CALL SBA JR SC2 ;подпрограммы выдачи сигналов через порт ;управления SBA PUSH BC LD A,(UPR) OR #01 OUT (PUPR),A LD A,(UPR) OUT (PUPR),A POP BC RET SA PUSH BC LD A,(UPR) OR #02 OUT (PUPR),A LD A,(UPR) OUT (PUPR),A POP BC RET SB PUSH BC LD A,(UPR) OR #04 OUT (PUPR),A LD A,(UPR) OUT (PUPR),A POP BC RET ;подпрограмма чтения из регистра данных READ PUSH BC LD A,(UPR) AND #EF OUT (PUPR),A NOP IN A,(PDAT) LD (HL),A LD A,(UPR) OUT (PUPR),A POP BC RET ;подпрограмма перекодировки буфера экрана ;в экранную область ОЗУ ZX SREN PUSH HL PUSH BC PUSH DE PUSH AF LD HL,BUF1 LD B,0 SR1 LD A,B CP 192 JR Z,SR2 CP 128 JR NC,SR3 CP 64 JR NC,SR4 LD DE,#4000 LD C,B JR SR5 SR2 POP AF POP DE POP BC POP HL RET SR3 LD DE,#5000 LD A,B SUB 128 LD C,A JR SR5 SR4 LD DE,#4800 LD A,B SUB 64 LD C,A SR5 LD A,C AND #07 ADD A,D LD D,A LD A,C AND #38 RLCA RLCA ADD A,E LD E,A LD C,32 SR6 LD A,(HL) LD (DE),A INC HL INC DE DEC C LD A,0 ADD A,C JR NZ,SR6 INC B JR SR1 ;подпрограмма опроса клавиатуры KEY PUSH HL LD HL,23611 RES 5,(HL) K1 BIT 5,(HL) JR Z,K1 LD A,(23560) POP HL RET В И Д Е О П О Р Т (ч. IV) ────────────────────────────────────────── (C) AlphA Studio Перейдем к советам и рекомендациям обе- щаным в начале статьи. Самая обширная рекомендация касается тех пользователей SPECTRUM, которые имеют в своем компе параллельный порт на КР580ВВ55А. Подключая ВИДЕОПОРТ через этот порт можно выкинуть из схемы несколько ми- кросхем и элементов, а именно D20, D21, D22, D23, D13.6, R6, VD8 и VD9. Сигналы идущие к микросхеме D20 (ИР22), являющейся регистром данных устройства, подключаем к порту A вэвэшки. Сигнал ГОТОВ, изначально поступающий в компьютер через регистр D21, подключаем к выводу C0 (выв.14) ВВ55А, а сигналы управления устройством ВИДЕОПОРТ - к порту B микросхемы параллельного порта. Для тех, кто хочет установить на свой комп микросхему КР580ВВ55А, я советую обратить- ся к статье в газете ECHO#5 (г.Брест). Ни- же приводится схема подключения устройства ВИДЕОПОРТ к компьютеру через микруху КР580ВВ55А. ────────┬─────┐ │ A0 ├──4──────────17 Ш КР580 │ A1 ├──3──────────18 и ВВ55А │ A2 ├──2──────────19 н │ A3 ├──1──────────20 а │ A4 ├──40─────────21 │ A5 ├──39─────────22 у │ A6 ├──38─────────23 с │ A7 ├──37─────────24 т ├─────┤ р │ B0 ├──18─────────41 о │ B1 ├──19─────────42 с │ B2 ├──20─────────43 т │ B3 ├──21─────────54 в │ B4 ├──22─────────16 а │ B5 ├──23─────────55 │ B6 ├──24 В │ B7 ├──25 И ├─────┤ Д │ C0 ├──14─────────39 Е │ C1 ├──15 О │ C2 ├──16 П │ C3 ├──17 О │ C4 ├──13 Р │ C5 ├──12 Т │ C6 ├──11 │ C7 ├──10 ────────┴─────┘ В листинге программы поддержки ВИДЕОПО- РТ'а необходимо внести следующие дополне- ния и изменеия. Изменить значения портов в строках: PDAT EQU #1F ; порт A ВВ55А PUPR EQU #3F ; порт B ВВ55А PSOST EQU #5F ; порт C ВВ55А Дополнить программу строками инициали- зации ВВ55А: BEGIN LD A,#91 OUT (#7F),A ; #7F - адрес регистра . . . ; управляющего слова ; КР580ВВ55А Адреса портов вэвэшки даны для компью- тера Балтик, если в Вашем компе они отли- чаются, то необходимо подставить свои зна- чения. Для упрощения сборки печатной платы ко- нструкции, можно посоветовать напаять мик- росхемы памяти одну поверх другой, предва- рительно отогнув 20 ногу. Это сэкономит место и упростит разводку печатки. На этом все. Можно начинать сборку. Ес- ли что непонятно, пишите. Адрес в редак- ции.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября