Optron
#14
03 июля 1998 |
|
Железо - Графические видеорежимы.
<< ──══ Видеорежимы ══── Их два: MULTICOLOR и HIRES режимы графи- ки. MULTICOLOR режим: 256*192 точки, 16 цве- тов, каждый байт графики имеет свой атри- бут. Графическая информация расположена с адреса #4000 и устроена так же, как и в нормальном режиме. Атрибуты находятся с адреса #6000 и адресуются аналогично гра- фике. Сделать это можно при помощи одной 555КП11 (три перереза на плате, которые коммутируются с помощью мультиплексора). HIRES режим: 512*192 точки, 2 цвета (INK 7, PAPER 0). Все нечетные столбцы (1, 3, 5...) расположены с адреса #4000 и адресу- ются как графика в нормальном режиме, чет- ные - с адреса #6000 и адресуются анало- гично. Как установить этот режим на компьютер "Pentagon", написано в журнале "ZX-Power 2". Установка на незатеняемый "Львовский" вариант имеет свои особеннос- ти. Я не захотел ставить еще одну ИР23 для считывания дополнительного байта графики, как это сделано в схеме для "Pentagon", а поступил следующим образом: на тактовые входы ИР16'х подал 14MHz, а на их разреша- ющие входы подал импульсы, которые в два раза короче и приходят в два раза чаще, чем те, которые были. То есть, сделал так, чтобы видеоинформация, считываемая видео- контроллером, все время записывалась в ре- гистр, в который в нормальном режиме запи- сывается графика, отключил регистр атрибу- тов и установил с помощью резисторов "жесткие атрибуты" экрана; подал на адрес- ный выход А9 видеоконтроллера сигнал с частотой 0.875 MHz и подвинул сигнал -BOR- DER на половину "нормального" знакоместа влево. Конечно, предложенный вариант реа- лизации не самый лучший и оптимальный, но радует тот факт, что это вообще работает. Переключаются эти два режима конфигура- ционным портом #EFF7. Назначение бит сле- дуещее: D0 - Virtual ROM (1-On, 0-Off) D1 - HIRES (1-On, 0-Off) D2 - Защелка (как бит 5 в #7FFD) D3 - Третий экран (1-On, 0-Off) D4 - MULTICOLOR (1-On, 0-Off) Более-менее стандартом является бит D1 (он предложен в журнале ZX-Power 2), ос- тальные же появлялись по мере модернизации компьютера. Несколько слов о третьеm экране. При ра- боте с дебаггером STS было очень большое желание отгрузить его на какую-нибудь "дальнюю" страницу памяти, так чтобы ос- новные 128K оставались "чистыми" и при этом экран, который использует STS, был тем же. Реализовать это оказалось легко, но для нормальной работы с STS нужно было, чтобы экраны переключались следующим обра- зом: ┌────────┬────────┬─────────┐ │D3 #7FFD│D3 #EFF7│ Экран │ ├────────┼────────┼─────────┤ │ 0 │ 0 │ первый │ │ 0 │ 1 │ первый │ │ 1 │ 0 │ второй │ │ 1 │ 1 │ третий │ └────────┴────────┴─────────┘ Реализуется это на одном элементе "И" (555ЛИ1). Кстати, под HIRES (и не только) режимы мною сейчас пишется текстовый редактор, которому будут присущи такие превос- ходства, как многооконность и многотексто- вость, (максимальный размер одного текста 65280 байт, количество текстов будет зави- сеть от размера памяти компьютера), а так- же, возможно, и многозадачность (один текст набираем, в это время другой форма- тируется, а третий печатается). Уже напи- сано приблизительно две трети. Редактор внешне похож на оболочку Turbo Pascal'я на IBM PC. ──══ Джойстик ══── В качестве Kempston joystick'а я подклю- чил стандартный джойстик от Dendy. Этот джойстик передает данные в последова- тельном коде. Для того, чтобы его можно было использовать как Kempston, я "соору- дил" схемку из 2-х 555ИР16 и одной 555ИР23, которая вставляется вместо "штат- но" расположеной ИР22. В ИР16'тых происхо- дит сдвиг и формирование данных, а потом в нужной комбинации информация переписывает- ся в ИР23. ──══ Мышка ══── В журналах "Spectrofon 20" и "ZX-Format 5" я видел две схемы реализации Kempston Mouse. За основу я взял схему из "Spectro- fon'а" (она проще), но сделал в ней неко- торые изменения. Для дешифрации портов мы- ши там используется 555ИД7. Так как во "Львовском варианте" схема дешифрации Kempston'а уже есть на плате "изначально", то в схеме контроллера мышки есть некото- рое излишество. В общем, что я сделал: от- резал сигнал дешифрации Kempston-а от ИР22 и пустил его на 4-ю ножку ИД7, пятую ножку кинул на "землю", а на шестую подал сигнал -DOSEN с контроллера дисковода. Ножки 15,14,13 и 12 микросхемы ИД7 соединил дио- дами по схеме "И" и этот сигнал пустил на выборку джойстика. В итоге получилась схе- ма выборки и мышки, и джойстика. Теперь, собственно, о мышке. Где можно достать Bus-mouse, я понятия не имею, так что мне пришлось "поломать" Serial mouse от PC. Схема подобной переделки опублико- вана (правда, с ошибкой) в журнале "ZX-Format 5", но есть одно "но": достать во Львове микросхему 1561ТЛ3 или хотя бы 561ТЛ3 было в то время, да и сейчас, труд- но, так что мне пришлось ставить микросхе- mы 155ТЛ1, а на их вход "лепить" усилители на одном транзисторе КТ315 и весьма кро- потливо подбирать их коэффициенты усиле- ния. Непросто также сделать или найти но- вый "хвост" для мышки, который бы имел 9 жил провода и при этом "приличный вид". Интересная ситуация получается с назна- чением отдельных бит порта кнопок мыши (#FADF). Дело в том, что в "Спекторфоне" указывается что D0 - это правая кнопка, а D1 - левая, а в "Формате" - наоборот: D0 - левая, а D1 - правая. Усугубляется дело тем, что одни програмы (Format Utility, DCU 2.32, ZXZIP) поддерживают первый стандарт, a иные (в основном демо версии новых программ) - второй. Кто прав - ска- зать трудно. По утверждениям автора статьи, в "Формате" правильнее второй ва- риант. Мне кажется, что второй вариант ло- гичнее, и я сделал себе именно его. Вам рекомендую сделать так же. А в принципе, лучше всего писать драйверы с автоконфигу- рацией, а то вдруг кто-то из пользователей левша? ──══════════── Уже чувствую, как многие начали искать кусачки и паяльники. Советую убедится, что Вы действительно хотите переделать свой компьютер, что у Вас достаточно времени, нервов и терпения, (а также опыта - прим. ред.) чтобы это сделать. Если у кого-то возникли вопросы и пред- ложения, то я их выслушаю по телефону: (03472) 5-20-65, или на страницах газеты "Оптрон". Пользуясь случаем, хочу обратится ко всем, кто знает, как подключить к Спектру- му модули SIMM и как "общаться" на уровне сигналов с IDE HDD. А-у-у-у!!! Если знае- те, то сообщите как нибудь мне или опубли- куйте эти данные в "Оптроне". Andy Nelson ──══ P.S. от Рашпиля ══── Андрей представил на суд читателей ре- зультаты своих трудов. Дело читателей, принимать или не принимать, делать или не делать. Я же только прокомментирую некото- рые интерресные моменты. 512K. Я в свое время тоже пытался сде- лать их на 565РУ7 - не вышло. И вам не со- ветую. На 41256 намного проще. Да и "жрут" они меньше и время доступа у них всего 80нс - РУ7-м может турбо-режим не понра- виться. Kemston mouse. Андрей, скорее всего, еще не читал моей с Сергеем Филимоновым статьи о переделке мышки. Так вот, лучше, проще и правильнее в качестве триггера Шмитта ис- пользовать два-три инвертора 561ЛН2. В этом случае, нужно подбирать всего один резистор (поскольку вход у КМОП серии дос- таточно высокоомный, отпадает необходи- мость ставить усилители на транзисторах). Проблема стандарта на кнопки мышки волнует не только Андрея, но об этом я попытаюсь рассказать в следующей статье. Кроме всего прочего, заинтересовал текстовый редактор, который пишет Андрей. А на него взглянуть можно? По поводу просьбы о SIMM'ах и HDD я ска- жу только одно: Андрей, свяжись с редакци- ей (телефон в страничке About). С уважением, Хакер Рашпиль, Климус Владимир, редактор газеты "Оптрон" ──══════════──
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября