Spectrofon #17
01 февраля 1996
  Железо  

Система - обсуждение насущных вопросов стандартизации Спектрум-совместимых компьютеров.

<b>Система</b> - обсуждение насущных вопросов стандартизации
Спектрум-совместимых компьютеров.
╔═══════╦═─────────────═╦══════╗
│───═══ │ C И C Т Е М А │═══───│
╚═══════╩═─────────────═╩══════╝

   Пpедлагаемый  ниже  матеpиал поднимает,
на  наш взгляд, очень интеpесную тему. Пе-
pедаем   слово  нашим  коppеспондентам  из
Хаpькова.

Jemmini:  В  двух  словах  о проблеме. Нас
весьма  поразило то количество программ из
России,  которое  ориентировано  только на
"ПЕНТАГОН" и не на что другое. Эта продук-
ция в подавляющем большинстве случаев выг-
лядит  крайне плохо на фирменных машинах и
машинах с раздельным полем памяти. Склады-
вается  впечатление,  что это уже и не для
SPECCY  писано, а неизвестно для чего и на
чем! Может быть эталоном стал уже вовсе не
SPECCY,  а  его доморощенный аналог? Одним
словом,  я вас очень прошу, поднимите этот
наболевший  вопрос  в  своем  журнале, ибо
только  ваш  журнал может здесь чем-то по-
мочь!
(C) Jemmini & Metallica

       "МЕДЛЕHHАЯ" ПАМЯТЬ SPECCY
   ═══════════════════════════════════

      ...Многие из них безвозвратно ушли в
      прошлое,  некоторые  трансформирова-
      лись,  из  некоторых  родились "мон-
      стры"...

      (из предисловия к книге Н.Родионова)


               ATTENTION!

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



Jemmini:

   Прежде, чем я начну излагать суть проб-
лемы, хочу отметить одно различие  в  море
совдеповских схем. Существует две их  реа-
лизации: с общим полем  памяти  и  с  раз-
дельным. К  первой  относятся  "ПЕНТАГОН",
"ЛЕНИНГРАД-1,2", "БАЛТИК" и т.п.  Предста-
вителями  второй    реализации    являются
"КРАСНОДАР", "ХАРЬКОВ",  "МОСКВА-48"  и...
фирменный SPECCY!

   В фирменном SPECCY, при  чтении  видео-
контроллером данных,  происходит  "запира-
ние" тактовых  импульсов,  идущих  к  цен-
тральному процессору. Таким образом реали-
зован останов процессора на  время  вывода
информации из ОЗУ на экран. Как  известно,
видеопамять SPECCY находится  в  страницах
ОЗУ с номерами 5 и  7.  Поэтому  видеокон-
троллер производит выбор данных именно  из
этого участка памяти.  Но  SPECCY  устроен
так, что упомянутые страницы составляют со
страницами 4 и 6  один  блок.  Только  для
удобства изложения я назову его блоком ви-
деопамяти (далее по  тексту  БВП).  Работа
БВП из-за обращений к нему видеоконтролле-
ра несколько замедлена, а  именно  на  25%
(дело в том, что эти  обращения  "перекры-
вают"  два  тактовых  импульса  из  каждых
восьми).  Это  замедление  в  определенных
случаях может влиять на работу  компьютера
в целом, причем на быстродействии  послед-
него сказывается  зависимость  от  частоты
обращений центрального процессора  к  БВП.
Замечу, что  наибольшего  своего  значения
эта частота достигает  при  выборке  кодов
команд из упомянутой памяти.  Поэтому  для
сведения к минимуму обращений к  БВП,  ра-
ционально помещать в него  данные.  Именно
для данных и применяется эта память.

   Одним из тяжелых случаев является  тот,
когда в БВП помещена программа. При  таком
размещении, быстродействие на этом  отрез-
ке программы падает на четверть.


   Но даже не это заставило меня  написать
настоящее послание, а нечто менее  очевид-
ное, но не менее серьезное и неприятное! И
эти неприятности связаны с привычкой  мно-
гих доморощенных...-soft'ов  устанавливать
в регистр вектора прерываний I число, ука-
зывающее на этот злополучный БВП. Эта нак-
ладка приводит к еще более  трагичным  ре-
зультатам.

   Как я уже написал, фрагмент  программы,
попавший в БВП, теряет  25%  скорости,  но
если туда попадает таблица прерываний,  то
ВСЯ МАШИНА СТАНОВИТСЯ МЕДЛЕННЕЕ НА 25%! Не
углубляясь в причины,  скажу  к  чему  это
приводит. Нет, машина не взрывается и  да-
же не виснет, а всего-лишь  ВСЕ  перестает
"укладываться в прерывание",  как  принято
говорить у программистов. Но  это  еще  не
все и не самое худшее, когда казалось бы и
так достаточно. Беда начинается  вместе  с
загрузкой с диска - ДОС  не  может  читать
диск!

   Ведь  скорость  его  вращения  осталась
прежней,  а  скорость  ДОС упала на 25%, в
результате  чего  все  задержки по времени
стали  неверными! Возникает ошибка чтения,
а  мне ли вам рассказывать как многие prog
реагируют на это...

   Стоит  заметить,  что    вышеизложенное
"свойство"  не  зависит от режима прерыва-
ний!

   Как решение этой проблемы  мы  рекомен-
дуем всем  программистам  устанавливать  в
регистре I значения в диапазонах от #00 до
#3F и от #80 до #BF. При  такой  установке
накладок не происходит. Возможна также ус-
тановка в диапазоне от #C0 до #FF при  ус-
ловии, что текущими в подавляющем большин-
стве случаев являются страницы не  принад-
лежащие БВП. В случае значений от  #40  до
#7F, вектор прерываний всегда будет указы-
вать в БВП, что неизбежно приведет к поте-
ре быстродействия.

   Уважаемые коллеги из России!  Разве  вы
располагаете только "ПЕНТАГОНАМИ"?  Неуже-
ли вы не видите как делали все фирмы,  как
делали поляки (у них были фирменные  маши-
ны!), и наконец, как сделано во  всем  из-
вестных SATISFACTION и INSULT? Может  быть
вы просто не обращали внимания, а ведь там
все с учетом вышесказанного: блок видеопа-
мяти - под данные, остальная память -  под
программу. И что вы у фирм точно не найде-
те, так это регистр I со значениями от #40
до #7F.

   Что же касательно положения в  Украине,
то могу вас заверить,  что  машин  с  раз-
дельным полем памяти здесь  предостаточно.
Да  и  судя  по  публикациям  в    жуpнале
"SPECTROFON" в России  аналогичные  машины
тоже выпускаются.





Jemmini & Metallica:

   Все, кто прочел эти строки! Примите  во
внимание вышеизложенное и не  ленитесь  на
время работы с ДОС в  регистр  I  заносить
#3F, а в ОЗУ устанавливать таблицу  преры-
ваний так, чтобы она не попала в блок  ви-
деопамяти!  А  нам  остается  только   на-
деяться, что тот, кто допускал такие ошиб-
ки, больше их не сделает, что наш  рассказ
будет полезен всем вам, дорогие синклерис-
ты. Пока!

Матвийчук  М.В.   (Jemminisoft)
310066, г.Харьков, пер. Прогрессивный,
д.28, кв.1 тел.:(0572) 98-81-35

Гребенник  В.А.    (Metallica)
310091, г.Харьков, ул.Танкопия, д.5, кв.44
тел.:(0572) 90-45-24

                  * * *


"S": Надо  отметить, что эта проблема под-
робно  разбиралась в трехтомнике "Програм-
мирование  в машинных кодах и на языке АС-
СЕМБЛЕРА"  изданном  "Инфоркомом" в 1993г.
Но, поскольку это издание сейчас перешло в
разряд библиографических редкостей, инфор-
мация харьковских программистов несомненно
вызовет  определенный интерес. Еще раз об-
ращаем  ваше внимание на тот факт, что при
попадании  регистра I в диапазон от #40 до
#7F  замедление  компьютера  НЕ ЗАВИСИТ ОТ
РЕЖИМА ПРЕРЫВАНИЯ! В каждом цикле машинных
команд  Z-80  обращается  к ячейке памяти,
адресуемой регистром I, выводя его в стар-
шие восемь битов адресной шины и активизи-
руя  линию  запроса  памяти  MREQ. Это ин-
терпретируется  ULA  как  обращение к БВП,
приводя   к   конфликту   с   контроллером
дисплея вне зависимости от режима прерыва-
ния.  Однако  мы  также не рекомендуем ис-
пользовать  значения  регистра I от #00 до
#3F  для  второго  режима прерывания, т.к.


при этом таблица прерываний попадает в об-
ласть  ПЗУ,  что  на  компьютерах с неста-
бильной шиной данных приводит к непредска-
зуемым  результатам.  Видимо,  оптимальным
будет  использовать значения регистра I из
диапазона от #80 до #BF.

                  ─═══─ 



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

Экспертиза - подробный разбор второй часть игры "HACKER". Вам предстоит стать участником захватывающей детективной истории.

Обзор - обзор новых поступлений на рынки Москвы: Navy Seals, Abadia, Пираты, Wild West Seymour. А также английский хит-парад лучших игр конца 80-х - начала 90-х годов.

С миру по биту - Вячеслав Меднаногов отвечает на письма читалетелей по игре НЛО - Враг Неизвестен.

Премьера - премьера двух системных программ: "Esperanto-48" и "Gemmini Commander v.3.2".

Система - обсуждение насущных вопросов стандартизации Спектрум-совместимых компьютеров.

Конструктор - вопросы рассширения ОЗУ до 512 кб.

Конструктор - о проблемах, связанных с портом #FD.

Конструктор - реализация ПСЕВДО-ПЗУ.

Фантазия - компьютерная новелла по игре "Lords of Chaos".

Горячий привет - интервью с фирмой Mythos Games, известной по таким играм, как "Laser Squad", "Rebel Star", "Lords of Chaos" и др.

Реклама - раздел бесплатных обьявлений.


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

Похожие статьи:
Nonsense - вывод и печать спрайтов на спектруме.
Сатанизм - законы сильного.
Smaily - юмор.
Красота - Что не сделаешь что бы стать красивой.
Coding - Конверсия числа со стека калькулятора в символьную строку.

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