ZX Review #7-8-9-10
08 ноября 1997

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

    В журнале ZX-FORMAT N4 опуб-
ликована статья о возможных пос-
ледствиях использования  недоку-
ментированных команд.  Поскольку
она  представляет  интерес   для
всех программистов, позволю себе 
полностью ее процитировать с со-
хранением авторской орфографии.

     " .....................

           Сообщение
         от фирмы Nemo.
________________________________

       В микропроцессорах
          Z84C0010PEC
    [КМОП-структура, 10 MHz]
обнаружена  команда  из  разряда
недокументированных,  выполнение
которой отлично от  существовав-
шего ранее.
              ____

     От редакции ZX-Format.

    "Отлично" -  это  еще  мягко
сказано, скорее оно прямо проти-
воположно, и, естественно,  при-
водит к летальному исходу в  по-
ловине отдельно взятых  случаев.
Вот такая вот  подстава, господа
хорошие.  Мы,  честно    говоря,
очень удивились, когда  ZF#3  не
захотел работать  на  KAY-256  с
вышеуказанными CPU, и кинулись в
погоню за несуществующими глюка-
ми в оболочке. Но долгие  поиски
не дали положительного результа-
та, после чего тень сомнения  по
поводу цели поиска  закралась  в
наши темные  души.  После  того,
как все прочие возможные  причи-
ны были изучены и отброшены, как
неоправдавшие столь высокое  до-
верие, виновник был найден и им,
как  Вы  уже  знаете,   оказался
именно CPU данной  версии, неза-
висимо от того, на каком компью-
тере он установлен. Отсюда  сле-
дует простой и логичный  вывод -
незря Zilog пишет во всех  анно-
тациях к данному семейству  про-
цессоров "не используйте недоку-
ментированные команды  воизбежа-
ние возможной несовместимости  с
последующими  версиями...".  Все
бы ничего, данная модель  весьма
свежая  и  нераспространенная  в
нашей  Необ'ятной, но  об'ектив-
ная оценка рынка Z-80  однознач-
но указывает на истощение  запа-
сов старых  моделей  и, следова-
тельно,  неизбежного   внедрения
последних    разработок    столь
странно (странно?) ведущей  себя
фирмы Zilog.
    Если Вы умеете складывать  в
уме 2 и 2, и  у  Вас  получается
меньше пяти и  больше  трех, то,
логично   предположить,  послед-
ствия данного вторжения Вам об'-
яснять не нужно. (Ну а тем, кому
нужно, для начало надо отвыкнуть
от использования их любимой  ко-
манды OUT (#FD),A).
    "А что же это за команда та-
кая?" - спросит средне-статисти-
ческий хакер, лениво  покручивая
оторванный от сигнала INT прово-
док.
    "А нескажу!"  -  по   старой
доброй традиции отвечу я ему.  И
не только  ему, но  и  всем  ос-
тальным. Может  быть  это  и  не
принесет  ощутимой   пользы    в
борьбе за "чистоту кода", но, по
крайней мере, хуже  не  сделает.
Основная цель, которой  руковод-
ствовались авторы данной  замет-
ки, не подразумевает  отказа  от
использования  какой-либо    от-
дельно взатой  недокументирован-
ной команды, а  является  повсе-
местным  отказом  от  применения
"всего  списка".  Возможно, суд-
ный день еще не так  близок, как
нам показалось, но лучше знать о
методах отбора в преисподнюю за-
ранее, дабы не рвать на себе во-
лосы опосля.
    Угроза тотальной несовмести-
мости уже нависла над нашим  об-
щим домом. Так не лучше  ли  для
нас всех, если каждый в  отдель-
ности встанет у нее на пути.
    За сим  желаю  Вам  приятных
сноведений и передаю слову капи-
тану Nemo.
                          (A.P.)
              ____

    Фирма  Nemo   заявляет,  что
планирует использование  процес-
соров данного типа и в  дальней-
шем, так как характеристики про-
цессора наиболее полно  удовлет-
воряют  требованиям, предъявляе-
мым CPU  архитектурой  KAY.  Для
несогласных с  таким  положением
дел   рекомендуется    самостоя-
тельно обзавестись 8 MHz-CPU  на
H-МОП структуре и  сменить  CPU,
благо он в панели.
    Пока это единственный зафик-
сированный случай  такого  рода,
однако фирма  ZILOG, по  заявле-
нию ее официальных  дистрибьюто-
ров, не считает  себя  обязанной
придерживаться определенного ал-
горитма обработки недокументиро-
ванных команд, более  того  -  в
смежных архитектурах они  выпол-
няют другие функции.

    Из  сказанного  следует, что
такого рода "недоразумения" воз-
можны и в дальнейшем.
   ..........
   .........."  Конец цитаты.

    Мне кажется, что  такую  ин-
формацию имеет смысл привести на
страницах  "ZX-Ревю",  поскольку
использование  недокументирован-
ных  команд  в  последнее  время
приобрело  катастрофический  ха-
рактер. Даже разработчики ассем-
блеров считают своим долгом под-
держку как можно большего их ко-
личества.

           *   *   *




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

TR-DOS для начинающих - Окончание.

Компьютерная новелла - Prince of Persia.

Компьютерная новелла - Лазерная бригада (по игре Laser Squad).

Перекресток драконов - Игра Rapscallion.

Перекресток драконов - Игра The Runes of Zendos.

Перекресток драконов - Игра The Saga.

Перекресток драконов - Игра Witch's Cauldron.

Перекресток драконов - Создаём Адвентюру. Обзор редакторов.

Перекресток драконов - Создаём словарь к Адвентюрной игре.

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

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

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

Программы, которые мы выбираем - Несколько предложений по усовершенствованию ассемблера.

Программы, которые мы выбираем - Предложения по доработке ZX Word v2.5.

Программы, которые мы выбираем - Программа "Эмулятор Спектрума" v1.2.

Программы, которые мы выбираем - Что хотелось бы иметь в идеальном ассемблере.

Ретро - 40 лучших процедур: Копирование данных в памяти.

Ретро - 40 лучших процедур: Обмен токена.

Ретро - 40 лучших процедур: Определение адреса БЕЙСИК-строки.

Ретро - 40 лучших процедур: Определение длины БЕЙСИК-программы.

Ретро - 40 лучших процедур: Определение размера свободной памяти.

Ретро - 40 лучших процедур: Поиск и замещение строки.

Ретро - 40 лучших процедур: Поиск подстроки.

Ретро - 40 лучших процедур: Поиск строки.

Ретро - 40 лучших процедур: Составление списка переменных.

Ретро - 40 лучших процедур: увеличение и копирование экрана.

Ретро - 40 лучших процедур: Удаление REM-строк.

Ретро - 40 лучших процедур: Удаление блока программы.

Советы экспертов - Игра Fredloader.

Советы экспертов - Игра Robin of Sherwood: The Touchstones of Rhianon.

Советы экспертов - Игра Scorpions: Die Machines.

Советы экспертов - Игра Terropods.

Страничка iS-DOS - Описание рестартов системы IS DOS.

Форум - Алгоритм распознавания символов.

Форум - Время выполнения недокументированных команд процессора Z80.

Форум - Концепция экрана высокого цветового разрешения.

Форум - Несколько Pokes к играм. Программа Hacman96.

Форум - По поводу новых DOS и BIOS для Спектрума.

Форум - Программа Multicolor на любой модели компьютера. Использование 2-го экрана для Multicolor'а. Демонстрация текста. Электронные журналы.

Форум - Проект ZX Config.

Форум - Усовершенствование Art Studio. Идеи относительно компрессии файлов.

Форум - Эмулятор ZX Spectrum на IBM. По поводу шестнадцатеричной системы счисления. Программа ZX-Stars. Странности в Elita

Форум - Эффекты на бордюре и Multicolor.

Читатель-читателю - ZX Spectrum 128 - новые возможности, новые проблемы.

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

Читатель-читателю - Драйвер принтера для Scorpion'а.

Читатель-читателю - Печать чисел в различных системах счисления.

Читатель-читателю - Программирование аркадной игры со скроллингом экрана.

Читатель-читателю - Процедура печати меток ассемблера XAS для монитора-отладчика STS 4.3.

Этюды - Атрибутная бегущая строка. "Гасилка" экрана. Упрощенный вариант процедуры "Занавес". Процедура гащения картинки. Процедура проявления картинки по точкам.

Этюды - Графический эффект "цветные полосы".

Этюды - Драйвер экрана для печати по 64 символа в строке.

Этюды - Комплект защит загрузчиков.

Этюды - Обращение к диску в режиме IM 2. Работа с диском нестандартного формата.

Этюды - Печать символа, увеличенного в 8 раз. Программа "наливания" экрана. Процедура гашения экрана по точкам. Очистка экрана как в Terminator'е. Поиск последовательности символов в памяти. Система перекодировки символьного набора.

Этюды - Программа - каталогизатор дисков.

Этюды - Программа вывода значений амплитуды каналов муз. сопроцессора на бордюр.

Этюды - Программа вывода картинки.

Этюды - Программа зажигания спрайта.

Этюды - Программа очистки заданного окна экрана.

Этюды - Программа сортировки массива по возрастанию. Процедура заполнения экрана заданным атрибутом. Процедура проявления картинки. Эффект летящих навстречу звезд. "Душ", идущий из верхнего левого угла экрана. Процедура "осыпания" картинки по пиксельным линиям. Программа "вытягивания" картинки под углом в 45 градусов. Три процедуры "Scroll".

Этюды - Процедура печати чисел.

Этюды - Процедура прорисовки символа с помощью атрибутов.

Этюды - Процедура проявления картинки. Fade-OUT эффект (картинка уходит за края экрана). Графический эффект "Фонтан". Fade-OUT эффект, имитирующий выключение телевизора. Процедура "зажигания" картинки. Программа плавной прорисовки картинки.

Этюды - Процедура рисования линии.

Этюды - Процедура составления оптимальной таблицы символов.

Этюды - Скроллинг строк текста в заданном окне. Атрибутный скроллер. Диагональный скроллинг.

Этюды - Спрайтовый скроллер. Процедуры проявления экрана.

Этюды - Укороченная процедура индикации амплитуды каналов муз. сопроцессора. Способ вычитания константы из регистровой пары HL.

Этюды - Формула для вычисления дня недели.


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

Похожие статьи:
От редакции - ZX-News теперь выходит по средам...
Скоро - Скоро появится новый журнал "ZX-Power 2" (г.Харьков)
Зaмopoчки сo звукoм - как проиграть музыку с NES на AY чипе.

В этот день...   26 июня