Oberon #04: Обзор ассемблеров на ZX Spectrum

Сегодняшний обзор ассемблеров мне хотелось бы начать с Alasm 3.8, тем более что в третьем номере нашего журнала мы обещали подробно рассказать о нём. Но сначала небольшое вступление. 

Сразу же хотелось бы поблагодарить господ M.M.A (за предоставление мне всех нижеперечисленных программ на опробацию) и MaxSoft'а (за столь нужное Родной Отчизне (Оберону) начинание - описание ассемблеров).

Времена меняются, меняются требования, выставляемые ассемблерам программистами, хаккерами и даже простыми смертными юзерами. Сколько новых необычных, нестандартных ассемблеров появилось? Немало. Но одно можно сказать с уверенностью: до сих пор не написано идеального ассемблера. Да его и не может быть. Кому-то нравятся навороченные оболочки, как в Zasm 3.10, кому-то сверхбыстрый и оригинальный во всём XAS, кому-то простота старого доброго Tasm'а, а кто-то до сих пор не "вылез" из Zeus'а. Сколько людей - столько мнений. Главное, чтобы было из чего выбирать. Как сказал один незабвенный "форматчик":

"Больше ассемблеров, хороших и разных!".

И ещё пара общих фраз. Возможно, что при описании программы я покажусь несколько необъективным, но на мой взгляд сие должно означать лишь то, что ассемблер запомнился (понравился) мне несколько больше, чем другие аналогичные программы. Так что, г-да Авторы, прошу не обижаться, а принять к сведению нижеизложенные факты. На этом я официальное вступление завершил.

Спасибо за внимание.

ALASM 3.8
■■■■■■■■■■■
(Alem)

Эта программа и ранее являлась самым мощным и быстрым ассемблером из всех ОДНОПРОХОДНЫХ :), созданных за последний год. И эта версия, судя по всему, должна будет удовлетворить запросы всех тех, кого раньше что-либо отпугивало в Alasm'е. Теперь программа поддерживает любую дополнительную память более 128К. В пакете поставляются драйверы памяти для ATM, PROFI, SCORPION, но имеется возможность написать собственный драйвер и подключить его в SetUp. Кроме того появилась возможность настроить параметры вашей клавиатуры на свой вкус, так что теперь, похоже, пропадут проблемы опроса клавиатуры при включенном турбо-режиме.

На мой взгляд одно из немногих неустранённых неудобств в работе - довольно ущербный текстовый редактор (отсутствует даже нумерация строк), что в общем-то портит всё впечатление. Да и возможность работы с двоичными числами не помешала бы этому ассемблеру (хотя мне это не особо нужно).

Одной из немаловажных особенностей программы является возможность работы с текстами, число которых ограничено только наличием свободных страниц ОЗУ. Имеется возможность ассемблирования в страницу.
О некоторых планах автора:
1) Размер таблицы меток до 64К:
2) RAM-диск для include'ов:

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

TASM 4.12
■■■■■■■■■■■
(Rst#7/CBS)

Где-то в начале этого года появилась новая версия Tasm'а, и не от какого-нибудь очередного VasyaSoft'а, а от человека, являющегося изначальным автором этой программы, - Rst7. Честно говоря, прочитав анонс ассемблера в ZX-Ревю 1-2 за 1997 год, я очень захотел увидеть его: и перемещение по строкам с ошибками, и гипертекстовый Help по директивам и управлению, и увеличена скорость ассемблирования, и сняты ограничения на длину меток (до 128 симв.), и т.д. и т.п. Всё это, конечно, хорошо, но мне хотелось бы отметить несколько других моментов:

1) В программе появились самые полноценные из всех ранее виденных мною МАКРОСЫ, при описании которых можно использовать локальные метки (!). В качестве примера Rst7 предоставляет несколько файлов :
6S02.A, содержащий макросы для облегчения написания программ под Dendy'вский видеоконтроллер :).
SNAKE.A - игра (в простонародье 'питон'), работа которой основана на использовании команд условной трансляции.
SINUS.A - генератор таблицы синусов.
EXAMPLES.A - пример использования макросов, локальных меток.

2) Появилась возможность ассемблирования в страницу.
3) Наконец-то оригинальный Tasm заработал на всяких Скорпионах и прочих компах без переделок.

Все остальные же авторские примочки имеют сомнительную ценность:
1) В runeptekctobom Help'e, например, кроме описания директив Tasm'а (вдруг кто забыл, как пользоваться ORG ?) можно почитать нецензурные высказывания в адрес AIG'а (одного из авторов Masm 1.x и автора будущего Masm 2), который некогда приложил руку к Tasm'у, или узнать о том, что Tasm 3.0 являлся beta (!) версией.
2) Переход по строкам с ошибками (запоминается 76 строк, что довольно много) сделан не самым лучшим образом. Строка в тексте никак не помечается, не выделяется цветом. Кроме того, если в тексте добавить или удалить строки, переходы будут выполнены неверно. Стоило делать, если где-то сделано лучше?
3) Изменён формат хранимого текста. Слава Богу, есть встроенный перекодировщик.
4) Редактор остался всё таким же убогим, хотя специально для слабовидящих сделано 32 символа в строке.
5) Выбор загружаемого файла курсором из каталога выполнен весьма оригинально. Я даже не сразу понял, что произошло.
6) Имеется screensaver, вдохновляющий на создание шедевров типа Чёрного Ворона...

XAS 7.432.7.432c
■■■■■■■■■■■■■■■■■■■
(Макс Петров, Creator)

Официально Xas 7.1 является последней версией ассемблера, к которой приложил руку Макс Петров. Все последующие доработки программы были выполнены Creator'ом (ака Paul Falcon) с согласия автора.

Очередная версия самого нестандартного ассемблера не очень порадовала меня. Дело в том, что даже при живом авторе :) практически не уделялось внимания совершенствованию функциональных возможностей программы, а лишь только скорости ассемблирования (сейчас она превосходит скорость Tasm 3.0 в 7 раз). Между тем в редакторе отсутствует даже поиск по тексту с заменой. Из нововведений отмечу следующие:

1) Появилась возможность задавать произвольную длину метки от 3 до 14 символов. Об этом стоит сказать отдельно. Может это и неплохо, т.к. под метки отводится только одна шестая страница (или #56-ая :), но с другой стороны сейчас наметилась тенденция использования Hash-алгоритма, что позволяет применять метки длиной до 128 символов.
2) Появилась возможность использования процедур, "выкусываемых" из ваших собственных библиотек.
3) Стринги в DEFB.
4) Работа с несколькими драйвами.
5) Исправлена ошибка перекодировщика All>Xas, из-за которой последний корчился на некоторых машинах без Kempston Mouse.

Недостатки:
1) Отсутствует поддержка дополнительной памяти (более 128К).
2) Отсутствует возможность ассемблирования в страницу.
3) Отсутствует поиск по тексту с заменой.
4) Редактор не позволяет вводить символы {}[]| и др., что вызывает некоторые неудобства.
5) Версия Xas 7.432c предоставляет редактор с 64 символами в строке, но, к сожалению, содержит некоторые ошибки. К тому же перекодировщик All>Xas не поддерживает 64 символа в строке!

И ещё один момент. Когда я попытался загрузить исходники от старого Xas'а, то при ассемблировании получил кучу ошибок. Как выяснилось, Xas 7.1 и все последующие версии перестали понимать метки, начинающиеся с символа '_'. Учитывая, что поиск с заменой отсутствует, вы, наверное, уже догадались, какие это вызвало неудобства.

Конечно, '_' может как-то и используется в программе, но поскольку Макс Петров (или кто-то другой) не потрудился предоставить полный Help, как, например, в Alasm'e, а кинул 'огрызок' ReadMe.X, то '_' так и остался для меня загадкой.

Zasm 3.10(dv)
■■■■■■■■■■■■■■■
(К.Афендиков, В.Рубцов, О.Хохлов)

Шестого мая сего года произошло знаменательное событие: в эху 'кинули' Zasm 3.10 (demo version). Сложно сказать что-либо определённое о демо версии, оценить удобство/неудобство в работе. Но ясно одно: на Спектруме появилась полноценная интегрированная turbo среда. Даже демо версия поражает своей масштабностью: перекодировщики, диск-доктор (на мой взгляд самый лучший из ныне существующих), собственный монитор (не считая STS), возможность полноценной работы с принтером, копирование и удаление файлов, компрессия и просмотр экранов, шрифтов, не выходя из оболочки, и многое, многое другое, чего ассемблеру не очень-то и нужно.

Но поскольку работать с компилятором не представляется возможным, то придётся по верить авторам на слово и привести некоторые характеристики, взятые из Help'а, либо услышанные от г-на Афендикова:
1) Поддержка меток до 128 символов.
2) Возможность набора нескольких ассемблерных команд в одной строке, разделяя их двоеточием. [Oberon: Ценность, надо сказать, сомнительная... Хотя, вероятно, это и удобно при наборе некоторых недокументированных команд.]
3) Увеличена скорость ассемблирования.
4) "... много других полезных фич..."

© К.Афендиков

На мой взгляд, одним из недостатков является возможность работы только с одним текстом в памяти, под который отводится около 30К. Но самое интересное то, что эту же память будет 'кушать' и таблица меток, медленно, но верно продвигаясь навстречу тексту.

На этом я закончу описание ассемблеров, скажу только, что в ОБЗОРе были представлены лучшие ассемблеры за 1997 год, которые настоятельно рекомендуются к использованию. Остаётся дождаться появления полной версии Zasm 3.10, Masm 2(*AIG*) и Masm 3 (программу, которую начинал писать KSA, а заканчивать, по-видимому, придётся *AIG*'у). Также ничего не слышно о совместном проекте Rst7 со Stalker'ом. По словам первого Tasm+STS будут представлять собой подобие turbo среды на РС с возможностью отладки по тексту и др.

Обзор подготовил Alex Noman.

Оглавление издания: Oberon #04

  • От редакции
    Редакционная статья обсуждает 'обвинения' против создателей Оберон #4 в шутливой форме, подчеркивает трудности, связанные с выпуском этого номера, и объявляет о возможной паузе в издании журнала.
  • Свиток
    Анализ игры 'Chaos' Джулиана Голлопа. Упрощенные механики игры и стратегические элементы. Описание существ, заклинаний и тактики.
  • Свиток - Unbeliever
    Описание математической игры для ZX Spectrum, где игроки собирают символы формул, перемещаясь по шестерёнкам.
  • Свиток - M.M.A
    Обсуждение 'Doc the Destroyer', уникальной игры в жанре драки и приключений для ZX Spectrum. Статья охватывает управление, настройку персонажа и механику игры. Также рассматриваются проблемы совместимости на разных моделях ZX Spectrum.
  • Обзор - M.M.A
    Статья предлагает обзор игр для ZX Spectrum, включая KOMANDO 2, WRESTLING SUPERSTARS, TAG TEAM WRESTLING и CAPTAIN PLANET. Подчеркиваются особенности, графика и геймплей каждой игры, отмечаются как сильные, так и слабые стороны. Обзор завершается рекомендациями и сравнениями с другими платформами и играми.
  • Обзор
    Обзор различных игр для ZX Spectrum, с акцентом на их уникальные особенности, механики геймплея и элементы дизайна. Включает критику звуковых эффектов, графики и технических проблем. Рассматриваются такие игры, как 'Stryker in the Crypts of Trogan', 'Phileas Fogg's Balloon Battles' и 'Survival'.
  • Обзор - Alex Noman
    Обзор игр для ZX Spectrum, включая BOOVIE, MOTOR MASSACRE, SOCCER PINBALL и HUXLEY PIG 1 и 2. Описываются особенности игрового процесса, графики и уникальные черты каждой игры. Статья включает сравнения с другими играми и выделяет специфические технические аспекты.
  • Обзор
    Обзор различных игр, включая Little Computer People и Lost Caves, с акцентом на их особенности и версии. Обсуждается также 75Occ Grand Prix от Codemasters и его ограничения. Статья предоставляет инсайты о механике и версиях игр.
  • Обзор - Alex Noman
    Подробный обзор различных ассемблеров, таких как Alasm 3.8, TASM 4.12 и другие, с описанием их особенностей и недостатков.
  • Обо всем - SPIDER, POWer
    Анонс создания сети SamZxNet в Самаре и трудностей настройки с модемами HAYES. Объяснение требований питания модемов и возможных сложностей. Приглашение опытных читателей для предоставления технических советов.
  • Обо всем
    Описание путешествия на ENLIGHT'97 и встреч с различными участниками демосцены. Наблюдения за организацией события и проблемами. Мнения о переживаниях участников и обсуждениях сцены.
  • Обо всем
    Отчет о втором дне ENLIGHT'97: события, проблемы и размышления. Описание результатов голосования и организационных трудностей. Подчеркиваются перспективы будущих демо-пати для Spectrum.
  • Обо всем
    В статье приводится отзыв читателя на Oberon #04, критикуются дизайн и выбор контента, обсуждаются проблемы защиты ПО и улучшений игр.
  • Обо всем - Gyn
    Обсуждение приключенческой игры KAYLETH с советами и рекомендациями. Включает словарь игры и предложения от автора и его команды. Поиск местного художника для будущей разработки RPG.
  • Обо всём - Maxsoft, M.M.A
    Размышление о закрытии журнала 'ZX-РЕВЮ' и адаптации его статьи для 'Оберон'. Обсуждение разработки сверхкоротких бутлоадеров. Техники оптимизации для написания односекторных загрузчиков на ZX Spectrum.
  • Обо всём
    Исследование вклада дилетантов в историю электроники, музыки и вычислительной техники, с акцентом на таких фигурах, как Фарадей и Бэббидж. Эволюция от самодельных инструментов к персональным компьютерам. Обсуждение неформальных истоков джаза, блюза и рок-н-ролла.
  • Обо всём
    История лейтенанта Эдварда Робертса, который прошел путь от радиоконструкторов до создания первого ПК, Альтаира 8800, преодолевая скептицизм и трудности.
  • Обо всём
    Статья исследует подъём и эволюцию компьютерной индустрии, подчеркивая трансформацию от увлечённых энтузиастов к корпоративному доминированию гигантов, таких как IBM и Microsoft.
  • Обо всём - M.M.A
    Исследование проекта сэра Клайва Синклера после продажи бренда Sinclair, с описанием характеристик ноутбука Z88 от Cambridge Computers.
  • Обо всём - Alex Noman
    Обсуждение проблем рынка ПО в 1997 году для ZX Spectrum, с акцентом на отсутствие нового софта и нежелание пользователей платить.
  • Анонс - M.M.A
    Анонс игры 'Чёрный Ворон' от В. Медноногова, с акцентом на геймплей, технические сложности и будущие особенности.
  • Анонс - POWer, UnBEL!EVER, Alex Noman, Unbeliever
    Обсуждение упадка в разработке для ZX Spectrum, обзоры новых игр и утилит, анонсы будущих проектов.
  • Ликбез
    Обзор FidoNet, некоммерческой компьютерной сети, часто называемой предшественником Интернета, с подробностями о её происхождении, росте и уникальных культурных аспектах.
  • Железо - Paul Atrides
    Инструкции по подключению модема 'АЛЕГРО' к компьютерам с нормальным портом #FF, включая аппаратные изменения для корректной обработки сигналов.
  • Железо - Paul Atrides
    Подключение Hayes-совместимых модемов к ZX Spectrum, с акцентом на модели Scorpion и Pentagon, подробности модификаций оборудования. Приведены инструкции по блокировке внутренних портов и согласованию сигналов. Пошаговый процесс и технические тонкости объяснены.
  • Железо - Игорь Юдин, M.M.A
    Обсуждение перехода с дисков 5.25' на 3.5' для ZX Spectrum, включая проблемы установки и решения для совместимости с существующим ПО.
  • Погурмим
    Сатирическая история о Зайце, который потерял свой дом из-за хитрой Лисы, и о том, как Петух помог ему его вернуть.
  • Погурмим
    Юмористический рассказ о приключениях Малыша и Карлсона с технологиями, проводящий параллели между компьютерами и повседневной жизнью, заканчивающийся комическим недоразумением с компьютером AMIGA.
  • Реклама
    Обсуждение политики бесплатной рекламы Oberon, каталога программ и оборудования для ZX Spectrum, и вовлеченности в игры жанра ADVENTURE.
  • Реклама - Kano
    Рекламная кампания Magic Soft и RPSG в России для мультимедийных компьютеров Amiga, предлагающая выставки, продажи и консультации. Они подчеркивают преимущества Amiga над другими системами, описывают различные модели и предоставляют прайс-листы. Сотрудничество с «Компьютеры для населения» для дистрибуции и услуг.