ZX Review #1-2
31 декабря 1996
  Profi  

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

<b>Читатель-читателю</b> - О железе, софте и прочем компьютера Profi...
                          ЧИТАТЕЛЬ - ЧИТАТЕЛЮ

П.Федин, г.Москва          
                       О железе, софте и прочем...

    Слава богу, наступила пора, когда все уже поняли, что с неразберихой в
железе  и  программах, оставшейся с давних  времен, пора заканчивать. 
И начались разговоры о стандартизации.  Я читаю об этом в разных изданиях, но, 
увы, вижу, что иногда авторы статей на эту тему упускают некоторые вещи. Я 
считаю, что до принятия стандарта нужно собрать информацию  обо всех  
существующих  в данное  время  моделях, чтобы постараться учесть нюансы  каждой 
из них.  
    Я вношу свой вклад в это дело и предоставляю  информацию о компьютере PROFI.  
     Хочу  предложить вам выкладку из результатов проведенных мной исследований.  
Первым рассмотренным вопросом будет адресация дополнительных  устройств  этого  
компьютера.  Итак, здесь мы имеем следующую картину:
	Порты обычных устройств. Доступны всегда.
#XX1F - порт A микросхемы 580ВВ55, обычно - Kempston джойстик.
#XX3F - порт B 580ВВ55. Обычно - данные на принтер.
#XX5F - порт C 580ВВ55. Обычно - управление принтером (строб и BUSY).
#XX7F - регистр управления 580ВВ55.
#XXFE - бордюр, магнитофон, клавиатура и т.д.
#7FFD - первый регистр конфигурации. Все как у Speccy-128.
#DFFD - второй регистр конфигурации. Структура рассмотрена ниже.
#BFFD - регистр данных AY.
#FFFD - регистр адреса AY.

Порты  контроллера IDE винчестера.  Эти и нижеследующие порты доступны только
при снятой защелке (бит 5 порта #DFFD равен 1).

#06AB - системный регистр контроллера Только запись.
#07EB - регистр команд винчестера. Только запись.
#07CB - регистр состояния винчестера. Только чтение.
#06EB - регистр номера головки на запись.
#06CB - регистр номера головки на чтение.
#05EB - старший байт номера дорожки на запись.
#05CB - старший байт номера дорожки на чтение.
#04EB - младший байт номера головки на запись.
#04CB - младший байт номера головки на чтение.
#03EB - регистр номера сектора на запись.
#03CB - регистр номера головки на чтение.
#02EB - счетчик секторов на запись.
#02CB - счетчик секторов на чтение.
#01EB - регистр стартового цилиндра предкомпенсации. Только запись.
#01CB - регистр ошибок. Только чтение.

 Порты компорта.

#XXB3 - регистр управления компортом и контроллером прерываний.
#XXD3 - регистр данных 580ВВ51.
#XXF3 - регистр управления/состояния 580ВВ51.

#XX8F  -  регистр чтения и загрузки канала 0 580ВИ53.  Задает скорость работы
          последовательного порта.

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

#XXCF - регистр чтения и загрузки канала 2 580ВИ53. Hе используется.
#XXEF - регистр управления 580ВИ53.

Порты CMOS-часов.

#XXDF  - регистр данных 580ВИ51.
#XXFF  - регистр адреса 580ВИ51.  Только запись, поэтому на порт атрибутов не
         влияет.   Правда,  у  меня  почему-то  этот  порт  не работает, хотя
         говорят, что он все-таки есть.

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

XXXXXXXX 0AAXXXXX - 580ВВ55.
XXXXXXXX XXXXXXX0 - порт #FE.
0XXXXXXX XXXXXX0X - порт #7FFD.
XX0XXXXX XXXXXX0X - порт #DFFD.
X0XXXXXX XXXXXX0X - порт #BFFD
111XXXXX XXXXXX0X - порт #FFFD.
XXXXXAAA 1CI01011 - контроллер винчестера.
XXXXXXXX 1CA10011 - компорт (580ВВ51).
XXXXXXXX 1AA01111 - 580ВИ53.
XXXXXXXX 1XA11111 - CMOS-часы.

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

XXXXXXXX 10000011 - #83.
XXXXXXXX 10100011 - #A3.
XXXXXXXX 11000011 - #C3.
XXXXXXXX 11100011 - #E3.
XXXXXXXX 10000111 - #87. 1
XXXXXXXX 10100111 - #A7. 12
XXXXXXXX 11000111 - #C7. 1
XXXXXXXX 11100111 - #E7. 12
XXXXXXXX 10010111 - #97. 1
XXXXXXXX 10110111 - #B7. 123
XXXXXXXX 11010111 - #D7. 1
XXXXXXXX 11110111 - #F7. 123
XXXXXXXX 10011011 - #9B.
XXXXXXXX 10111011 - #BB.
XXXXXXXX 11011011 - #DB.
XXXXXXXX 11111011 - #FB.

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

XXXXXXXX SXXXX0XX - ZX-LPRINT.
XXXXXXXX XX0XXXXX - Kempston mouse.
XXXXXXXX XXX0XXXX - модем.

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

XXXXXXXX X0X10111 - #B7.
XXXXXXXX X1X10111 - #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 под CP/M. Повторяю - ВЫ НИКОГО НИКОГДА НЕ ЗАСТАВИТЕ
ВЫКИНУТЬ СВОЙ СКОРПИОН И КУПИТЬ PROFI (как, впрочем, и наоборот - примечание
для редакции ZX-FORMAT).
   К тому же базовой моделью остается машина со 128K, следовательно ОС ОБЯЗАНА
ФУНКЦИОНИРОВАТЬ  С  ЭТИМ  ОБЬЕМОМ ПАМЯТИ.  Дальше - загружаемая ОС подвержена
атаке  вирусов,  а ПЗУ'шная - нет.  Тем более, что никому не нужен Бейсик-128.
   Пару слов по поводу четвертой страницы ПЗУ. Не используется она далеко не
везде.   Например,  на  Scorpionе  в ней находится теневой монитор, на GRMе -
системное меню, на Profi - загрузчик CP/M и всевозможные тесты.  К тому же на
многих  машинах потребуются аппаратные доработки для обеспечения программного
доступа  к ней, а это увеличивает стоимость ОС.  Вот на чем надо экономить, а
не  на  ЛЛ'ках в дешифраторах портов.  К тому же CP/M жутко тормозная. "Но для
этого есть TURBO!"-скажете Вы.  А на IBM PC тоже было TURBO, потом его сняли,
потому  что  его перестали выключать,  а  потом и этого стало мало...  Нет,
товарищи,  так  не годится...  К тому же не у всех оно есть.  Отсюда еще одно
условие  -  ОС  ДОЛЖНА  РАБОТАТЬ  С  НОРМАЛЬНОЙ  СКОРОСТЬЮ  НА  3.5  МГЦ.   И
современное  ПО  как  раз  в  TR DOS'е  намного  превосходит  CP/M'овское не по
количеству ненужных наворотов, а по удобству работы.  В общем, на эту тему мы
еще  поспорим, а сейчас придется закругляться, а то если я начну разбирать по
косточкам этот вопрос, то статья вдвое длинее станет.



Другие статьи номера:

Визитная карточка - обзор электронных журналов для ZX Spectrum.

Компьютерная новелла - По игре " The Saga"

Компьютеры, которые мы выбираем - Доработка компьютера "ATM-TURBO".

Спектрум в школе - статья о численных методах "Метод Зейделя решения СЛАУ".

Вступление - приветствие от редакции журнала.

Новые программы - копировщик ABCDcopy и утилита для форматирования гибких дисков Floppy Format.

Форум - вопросы и ответы по играм: Jungle Warrior, Buratino, Streaker, Paris Dakar, Bloodwych, Hero Quest, Apollo, Cliff Hanger, Cyber Hordes, Paradise Valley, Star Drive, Laser Platoon, Movie, Where Time Stood Still, The Sceptre, Carrier Command и т.д.

Советы экспертов - по стратегической игре Wellingsto at Waterloo.

Советы экспертов - по стратегической игре Napoleon.

Советы экспертов - по игре Star Fox.

Перекресток драконов - Dungeons & Dragons (первая глава книги об адвентюрных играх).

TR-DOS для начинающих - 5-я глава книги "Общие сведения по дисковой системе ТР ДОС".

Возвращаясь к напечатанному - последний файл диззасемблера TR-DOS.

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

Читатель-читателю - Востановление утерянной информации.

Читатель-читателю - Спектрум и Экспертная система.


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

Похожие статьи:
Программирование - некоторые вопросы создания файловых оболочек на SPECCY и обзор SPECTRUM'овских DOS'в.
Обмен опытом - Быстрая процедура нахождения корня числа и Тестирование Kempston-порта от SerzhSoft'a.
Юмор - Анекдоты.

В этот день...   14 апреля