ZX-Ревю 1997 №1-2 1997 г.

Читатель - читателю - о железе, софте и прочем...


ЧИТАТЕЛЬ - ЧИТАТЕЛЮ

П.Федин, г.Москва

О ЖЕЛЕЗЕ, СОФТЕ И ПРОЧЕМ...

Слава богу, наступила пора, когда все уже поняли, что с неразберихой в железе и программах, оставшейся с давних времен, пора заканчивать. И начались разговоры о стандартизации. Я читаю об этом в разных изданиях, но, увы, вижу, что иногда авторы статей на эту тему упускают некоторые вещи. Я считаю, что до принятия стандарта нужно собрать информацию обо всех существующих в данное время .моделях, чтобы постараться учесть нюансы каждой из них.

Я вношу свой вклад в это дело и предоставляю информацию о компьютере PROFI.

Хочу предложить вам выкладку из результатов проведенных мной исследований. Первым рассмотренным вопросом будет адресация дополнительных устройств этого компьютера. Итак, здесь мы имеем следующую картину

Порты обычных устройств. Доступны всегда. #XX1F - порт А микросхемы 580ВВ55, обычно - Kempston джойстик.

#XX3F - порт В 580ВВ55. Обычно - данные на принтер. #XX5F - порт С 580ВВ55. Обычно - управление принтером (строб и BUSY).

#XX7F - регистр управления 580ВВ55. #XXFE - бордюр, магнитофон, клавиатура и т.д. #7FFD - первый регистр конфигурации. Все как у Speccy-128. #DFFD второй регистр конфигурации. Структура рассмотрена

ниже.

#BFFD - регистр данных AY. #FFFD - регистр адреса AY.

Порты контроллера IDE винчестера. Эти и нижеследующие порты доступны только при снятой защелке (бит 5 порта #DFFD равен 1). #06АВ - системный регистр контроллера Только запись. #07ЕВ - регистр команд винчестера. Только запись. #07СВ - регистр состояния винчестера. Только чтение. #06ЕВ - регистр номера головки на запись. #06СВ - регистр номера головки на чтение. #05ЕВ - старший байт номера дорожки на запись. #05СВ - старший байт номера дорожки на чтение. #04ЕВ - младший байт номера головки на запись. #04СВ - младший байт номера головки на чтение. #03ЕВ - регистр номера сектора на запись. #03СВ - регистр номера головки на чтение. #02ЕВ - счетчик секторов на запись.

#02СВ - счетчик секторов на чтение.

#01ЕВ регистр стартового цилиндра предкомпенсации. Только запись.

#01СВ - регистр ошибок. Только чтение. Порты компорта.

#XXB3

#XXD3 #XXF3 #XX8F

#XXAF

#XXCF

#XXEF

регистр управления компортом и контроллером прерываний.

- регистр данных 580ВВ51.

- регистр управления/состояния 580ВВ51. регистр чтения и загрузки канала О 580ВИ53. Задает

скорость работы последовательного порта.

- регистр чтения и загрузка канала 1 580ВИ53. Используется для генерации -12 В для питания 580ВВ51.

регистр чтения и загрузки канала 2 580ВИ53. Не используется.

- регистр управления 580ВИ53. Порты CMOS-часов.

#XXDF - регистр данных 580ВИ51.

#XXFF регистр адреса 580ВИ51. Только запись, поэтому на

порт атрибутов не влияет. Правда, у меня почему-то этот порт не работает, хотя говорят, что он все-таки есть.

Я специально объединил порты в группы по устройствам. В этих группах ясно прослеживается принцип построения адресов:

xxxxxxxx xxxxxxxx oxxxxxxx xxoxxxxx xoxxxxxx

111XXXXX XXXXXAAA

xxxxxxxx xxxxxxxx xxxxxxxx

OAAXXXXX

xxxxxxxo xxxxxxox xxxxxxox xxxxxxox xxxxxxox

1CI01011 1CA10011 1AA01111 1XA11111

580BB55.

- порт #FE.

- порт #7FFD.

- порт #DFFD.

- порт #BFFD

- порт #FFFD.

- контроллер винчестера.

- компорт (580BB51).

- 580ВИ53.

- CMOS-часы.

A - биты локальной адресации (номер регистра в устройстве) С - если этот бит сброшен, то выбирается дополнительный регистр, не входящий в микросхему, а биты адресации игнорируются. I - в контроллере винчестера указывает направление передачи данных: О - ввод, 1 - вывод.

Мы видим, что дешифрация стандартных портов построена стандартно, а за дополнительные устройства отвечают биты 0 - 4 и 7, причем каждому устройству соответствует строго определенная их комбинация. Таким образом, для подключения дополнительных устройств можно использовать^ оставшиеся комбинации этих битов плюс все возможные комбинации битов локальной адресации. В этом случае возможно использование следующих адресов:

ЧИТАТЕЛЬ - ЧИТАТЕЛЮ

ХХХХХХХХ

10000011

-

#83.

ХХХХХХХХ

10100011

-

#АЗ.

ХХХХХХХХ

11000011

-

#сз.

ХХХХХХХХ

11100011

-

#ЕЗ.

ХХХХХХХХ

10000111

-

#87. 1

ХХХХХХХХ

10100111

-

#А7. 12

ХХХХХХХХ

11000111

-

#С7. 1

ХХХХХХХХ

11100111

-

#Е7. 12

ХХХХХХХХ

10010111

-

#97. 1

ХХХХХХХХ

10110111

-

#В7. 123

ХХХХХХХХ

11010111

-

#D7. 1

ХХХХХХХХ

11110111

-

#F7. 123

ХХХХХХХХ

10011011

-

#9В.

ХХХХХХХХ

10111011

-

#ВВ.

ХХХХХХХХ

11011011

-

#DB.

ХХХХХХХХ

11111011

-

#FB.

Вот полный список портов, свободных для использования любыми устройствами. Теперь, для совместимости с остальными моделями компьютера, выкинем те адреса, которые конфликтуют с устройствами, не имеющимися в Profi, но присутствующими в других машинах. Из нерассмотренных здесь интерфейсов известны:

ХХХХХХХХ SXXXX0XX - ZX-LPRINT.

ХХХХХХХХ ХХОХХХХХ - Kempston mouse.

ХХХХХХХХ ХХХОХХХХ - модем.

Отбросив из вышеприведенного списка адреса, конфликтующие с этими, останутся #В7 и #F7, дешифрацию которых необходимо производить по следующей схеме:

ХХХХХХХХ Х0Х10111 - #В7. ХХХХХХХХ Х1Х10111 - #F7. При этом мы не рассматри- ной пара корпусов никого не

ваем старший байт адреса, а если применить и его, то получим ну очень много устройств. Только НЕ НАДО стремиться к упрощению адресации. Здесь я упростил дешифрацию до предела, опустив 2 бита, но ЛЮБОЕ дальнейшее упрощение приведет к конфликтам. А вот и пример того, до чего может довести упрощение адресации. Если бы стандартные порты Speccy-128 дешифрировались полностью, то и адресов было бы намного больше. Вспомните поговорку скупой платит дважды. Так что не гоняйтесь за дешевиз-устроит.

Рассматривая приведенную карту портов Profi, Вы не могли не заметить один печальный факт ни Kempston mouse, ни модем НЕ ВПИСЫВАЮТСЯ в нее. Вот Вам печальный пример того, что разработчики не всегда учитывают особенности других существующих устройств. Вот и С. Шмелев в ZX РЕВЮ 96/9 предлагал перепахать интерфейс ВВ55. Конечно, на Кванте ничего не стоит это сделать, но вот на Профи... Нет, я не говорю, что все авторы подобных разработок неправы, а

ЧИТАТЕЛЬ -

наоборот, неправы были разработчики Profi. Они стали лепить новые порты, не ознакомившись с тем, что уже есть. И теперь владельцы этих машин лишены возможности использовать Kempston Mouse, а если они пользуются винчестером и компортом, то во время работы с ним они вынуждены отключать еще и модем. Вот к чему мы пришли.

Поэтому заявляю всем разработчикам аппаратуры ПРЕКРАТИТЕ ВЫДУМЫВАТЬ НОВЫЕ СТАНДАРТЫ!

ХВАТИТ!!! Но и впадать в другую крайность призывать всех повыкидывать машины, подобные моей, и покупать Scorpion, тоже не стоит, ибо этих несчастных мутантов уже слишком много, и в одночасье сменить парк машин невозможно. Уже есть какие-то стандарты, пусть не совсем сложившиеся, но все-таки с ними надо считаться. Иначе это не прекратится. Мы должны выбрать какой-то один стандарт и следовать ему, но так, чтобы его можно было внедрять на ВСЕХ машинах. Я очень хотел бы, чтобы с моей статьей ознакомились в редакции журнала ZX-FORMAT, пропагандирующей Kempston Mouse и призывающей вынести на свалку все остальное, а также уважаемые члены студии X-TRADE, готовящие к выпуску свой General Sound. Как бы с ним не вышло такой же истории, как и с Kempston Mouse на Profi...

И напоследок скажу немного на тему новой операционной системы. Эта тема напрямую связана с той, которую я рассмотрел выше. Ведь для обеспечения

ЧИТАТЕЛЮ

функционирования нового оборудования нужна новая ОС. Только такая система должна быть гибкой и наращиваемой, чтобы обеспечить ее подстройку под любое новое оборудование. В ZX РЕВЮ 96/7-8 прозвучали мысли о том, что надо пересаживаться на Profi под СР/М. Повторяю ВЫ НИКОГО НИКОГДА НЕ ЗАСТАВИТЕ ВЫКИНУТЬ СВОЙ СКОРПИОН И КУПИТЬ PROFI (как, впрочем, и наоборот примечание для редакции ZX-FORMAT).

К тому же базовой моделью остается машина со 128К, следовательно ОС ОБЯЗАНА ФУНКЦИОНИРОВАТЬ С ЭТИМ ОБЬЕМОМ ПАМЯТИ. Дальше загружаемая ОС подвержена атаке вирусов, а ПЗУ'шная нет. Тем более, что никому не нужен Бейсик-128.

Пару слов по поводу четвертой страницы ПЗУ Не используется она далеко не везде. Например, на Scorpione в ней находится теневой монитор, на GRMe системное меню, на Profi загрузчик СР/М и всевозможные тесты. К тому же на многих машинах потребуются аппаратные доработки для обеспечения программного доступа к ней, а это увеличивает стоимость ОС. Вот на чем надо экономить, а не на ЛЛ'ках в дешифраторах портов. К тому же СР/М жутко тормозная. "Но для этого есть TURBO !"-скажете Вы. А на IBM PC тоже было TURBO, потом его сняли, потому что его перестали выключать, а потом и этого стало мало... Нет, товарищи, так не годится... К тому же не у всех оно есть. Отсюда еще одно условие ОС ДОЛЖНА РАБОТАТЬ С НОРМАЛЬНОЙ СКОРОСТЬЮ НА 3.5 МГЦ. И современное ПО как раз в TR DOS'e намного превосходит СР/М'овское не по количеству ненужных наворотов, а по удобству работы. В общем, на эту тему мы еще поспорим, а сейчас придется закругляться, а то если я начну разбирать по косточкам этот вопрос, то статья вдвое дли-

нее станет. **************************************




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Тема - Фоторепортаж с Fun Top-98.
Архивчик - Mikie, Sabre Wulf.
Экспертиза - разбор игры "Genghis Khan". Вам представляется возможность повторить завоевания татаро-монгол.
Избранное - История с фантазией, Парадокс двадцать первого века, Выдержка из обезличенной переписки.
Событие - отчет с Воронежского фестиваля KidSoft 2004.

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