Общие сведения Картотека Игротека Люди Форум
Библиотека Галерея Мастерская Помощь сайту

      ПЭВМ Агат » Софт для PC » Программы, исполняющиеся на Агате (или в эмуляторе)

Предисловие

Эмуляторы

Для M$-DOS

LiveCD M$-DOS

Для *NIX

LiveCD *NIX

Для Windows

Утилиты

dos33c2

Конвертер графики

Матроскоп

--

Агатовская часть

ToDo

Что-то зачем-то

Программы, исполняющиеся на Агате (или в эмуляторе)

Эти архивы содержат максимально разделённые данные: образы дисков почти всегда пусты и имеют DSK-формат, иногда им сопутствуют дополнительные файлы со служебной информацией. Все файлы Агата хранятся в отдельных FIL-контейнерах. Если даже программа распространялась на диске с операционной системой, но ОС была одной из стандартных - в архиве образа вообще не будет, только FIL и ссылка на нужную ОС в readme. Такое дробление используется для того, чтобы упростить формирование сборников и легко находить отдельные файлы из разных частей коллекции.

Иногда, на основе этих архивов, редакция сайта создаёт тематические подборки: готовые к запуску игры, операционные системы, прикладные программы. Это делается для других частей сайта или по просьбам коллекционеров и архивариусов.

Чтобы пояснить истоки возникновения разных форматов хранения, а также их назначение, рассмотрим процесс обработки агатовских дискет в образы для эмуляторов:

Здесь синим цветом показаны программы, черным - оборудование, зелёным - форматы (расширения) файлов:

  • EIM-файлы - поток сырых данных, получаемых из регистра чтения реального дисковода. В поток органично вплетаются символы синхросбоя, метки индекса (сигнал от датчика индексного отверстия) и все байты, которые контроллер возвращает через регистр чтения. EIM создаётся только программами обслуживания моста, а читается только программой RawEdit. Размеры этих образов не фиксированы и составляют 1-10 Мб, причем могут содержать несколько экземпляров (проходов) чтения каждой дорожки (обычно от 2 до 6 вариантов). Каждая копия каждой дорожки читается 220 мс, т.е. содержит примерно 110 % данных (десятая часть повторяется дважды для возможности точной склейки кольца, если таковая потребуется). Размер дорожек не фиксирован.
  • patch-файлы - создаются и читаются RawEdit'ом и содержат информацию о внесённых в EIM изменениях. Обычно это нужно во время ручного изучения EIM-образа для исправления мелких ошибок в сыром потоке (например, часто оказываются разрушенными эпилоги полей адреса и номера секторов в этих полях).
  • seq, vol, extra-файлы - текстовые файлы, создаются RawEdit'ом, читаются утилитами семейста nibble*, содержат информацию о порядке секторов на исходном физическом диске, о секторе, следующем непосредственно после сигнала индекса (seq), номерах томов во всех секторах диска (vol), байте (слове), следующем сразу за эпилогом поля данных (extra). Эти файлы обычно нужны для воссоздания защищенных от копирования образов.
  • DSK-файлы - это обычные образы дисков. Мой эмулятор их не поймёт без преобразования в nibble-формат, но ранние версии dos33.exe работали только с этим форматом, кроме того, он занимает меньше места, чем другие форматы образов. Как правило, в DSK представлены образы операционных систем и те данные, которые хранились на "Агате" не в виде отдельных файлов (например, уровни Lode Runner'a). Кроме того, это единственный формат для легкой правки диска на секторном уровне. DSK 140кб понимают многие эмуляторы Apple ][. Формируют DSK программы семейства nibble* и RawEdit, читать и модифицировать может dos33.exe, а также ещё некоторые программы (например, cs.exe - подсчёт контрольной суммы образа по алгоритму копировщика ИКП, программное обеспечение Линк#1 - связь Агата и PC через параллельные порты).
  • IM(NIB), AIM-файлы - в инете расширение IM попадается у обычных образов, но я его использую только для nibble-образов. nibble-образ - это поток данных, которым обменивается драйвер дисковода с контроллером дисковода. Мой эмулятор понимает только этот формат и его разновидности. В отличие от EIM, данные форматы содержат более строгие и простые структуры, в частности, каждая дорожка представлена только в одном экземпляре, размер дорожек заранее известен. Этакий "прилизанный" EIM. NIB формат для 140кб дискет понимают некоторые эмуляторы Apple ][. AIM - новая версия формата 840кб, введенная в 2009 году, заменяет старые IM и NIB 840кб. NIB и IM - разные обозначения для одного и того же формата. Конвертацию между DSK и NIB/IM/AIM выполняют утилиты семейства nibble*. Обычно я не храню данные в этом формате; исключение делается только для образов, формирование которых происходит не автоматически, а с привлечением таких средств как hiew или qview: это бывает нужно для корректной работы программ, оборудованных защитой от копирования. Чтение и довольно грубую модификацию (напоминающую переформатирование) может также выполнять dos33.exe.
  • FIL-файлы - контейнеры для отдельных агатовских файлов. Они содержат полное имя агатовского файла в формате файловой системы Агата (30 знаков без перекодировки), тип файла, служебные данные из TS-списка и, собственно, содержимое агатовского файла. Все поля очень важны для правильной работы программ. FIL-файлы создаёт и читает dos33.exe, извлекая или восстанавливая данные из/в образах DSK, NIB/IM/AIM. Есть также ряд утилит для частных случаев: например, для просмотра/конвертации крупных рисунков редактора MouseGraf (MGR.PCH.*.FIL -> PNG), для поиска повторов в коллекции (nearfind.exe).

Ещё раз о форматах образов дисков, медленно и по буквам:

  • EIM - "инженерный" формат, предназначен для изучения физического диска. Эмуляторы с ним не работают, этот формат понимает только специальный просмотрщик.
  • AIM/NIB - эти форматы могут читаться и записываться эмуляторами, они несут в себе максимально подробную информацию о диске, с них запускаются и работают любые программы, даже имеющие активную защиту от копирования. AIM - образ для дисковода 840кб (узкого), NIB - для 140кб (широкого).
  • DSK - формат содержит только те данные, которыми обменивается операционная система с драйвером дисковода. С этими образами будут работать только не защищенные от копирования операционные системы и программы.

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

Этот сайт представляет собой, скорее, музей, чем файлопомойку: мы стараемся не модифицировать защищенные программы, а именно изучать их пожелания. Чтобы они заработали, мы предпочтём как угодно усложнить эмуляторы и форматы образов, нежели хоть что-то изменить в самом агатовском коде (За исключением настроек программ, конечно. Но это - редкость). Поэтому сборка готового к загрузке образа может представлять сложности. Попробуем описать порядок этой мистерии:

  1. Найти нужные файлы и для удобства согнать их в одну директорию. Часто крупные комплексы, содержащие много файлов, хранятся в ветвистом дереве архива, но не все ОС Агата понимали подкаталоги, поэтому почти наверняка все нужные файлы потребуется вытащить из подкаталогов и загнать в образ в общую кучу. Подходить к этому вопросу нужно осмысленно: например, если мне встретилось 2-3 разных версий описания для BTK или КПОН, я сохраню их все. Но на образ 140 кб все они не влезут. С другой стороны, если к Бейсик-60 или раннему Агат-Автору не дописать на образ собственно исполняемые файлы (HELLO и AGAWT, соответственно), то в результате загрузка будет невозможна.
  2. Сконвертировать образ из DSK в AIM или NIB. Утилиты nibble??.exe это делают. Некоторые эмуляторы могут попытаться прочитать и DSK, но если программа имеет хоть какую нибудь защиту, скорее всего она определит ситуацию как пиратство. Во время конвертации нужно убедится, что для 840кб образа конвертор словил служебные EXT, VOL и SEQ-файлы, если они есть. А не словить он их может, например, если имя служебного файла не совпадает с именем DSK. Это может произойти, если вариантов DSK в архиве несколько (а служебные файлы для них совпадают). В некоторых пакетах, помимо readme-файла, есть также специальным образом модифицированные версии nibble??.pas, предназначенные для формирования NIB/IM-образа с нужными заморочками. Учтите, что редактировать собранный NIB/IM/AIM в dos33.exe / dos33c2.exe можно, но это может удалить ключи защит (если они есть). Поэтому файловое наполнение нужно делать на DSK-этапе.
  3. Прочитать readme ещё раз. Там могут быть упомянуты особенности защиты, которые не удаётся описать только в EXT, VOL и SEQ-файлах. Например, к MouseGraph 4.4 в readme указано, что защита проверяет наличие синхросбоя в определённом секторе. Значит нужно найти указанную в readme сигнатуру и вставить в AIM-образ в нужное место синхросбой. HEX-редактор вам в помощь (я, например, использую Q-VIEW). Пугаться особенно не следует - процентов 95 прог запустятся и без ручной правки образа, ещё некоторое количество пакетов имеют уже готовые AIM или NIB/IM-образы. Но иногда она может потребоваться в случае, если readme писался задолго до того, как были введены файлы подсказок.

Итак, собственно, архивы с агатовским софтом:

Обучающие и тестирующие программы, 2.1 Мб. Сюда собрано всё, что может быть отнесено к автоматизированным обучающим системам и к разнообразным тестам (людей, не аппаратуры).

Apple ][ и Правец, 1.2 Мб. Это не игровые программы, которые либо требуют среду Правец/Apple ][ либо предназначены для Агат-9 и активно используют его режим совместимости (возможно, предназначены для его включения или пытаются его включить). Эти программы не будут выполнятся в моём эмуляторе, т.к. он не поддерживает полную эмуляцию девятки.

Исходники, 960 Кб. Сюда попадают исходные тексты программ, которые либо не найдены в скомпилированном виде (если найден работающий билд программы, тексты будут хранится рядом с ним), либо это тексты попадались в слишком большом количестве разных вариантов и нет никакой уверенности в том, что из них можно что-то скомпилировать (это относится, в основном, к директории _General/) - причиной могут быть как отстутвующие фрагменты, так и разрушенные тексты. А может быть над этим исходником уже глумилась толпа начинающих программистов :))

Частные коллекции, 3.9 Мб. Некоторые фрагменты некоторых коллекций я не стал разделять по темам других архивов. Эти фрагменты похожи на незавершенные программы и неизвестно, как они должны были быть связаны. Поэтому здесь используется сортировка по владельцу.

Данные, 3.0 Мб. Это сборник отдельных рисунков и текстов, которые были выловлены с агатовских носителей. Они не обязательно относятся к Агату напрямую, но показывают, для чего вообще-то использовались эти машины.

Игрушки, 20 Мб. Архив содержит следующие разделы:

  • Эти точно для Агата - кажется, они запускались именно на Агате.
  • Apple ][ и Агат-9 - то, что хранится здесь, пытается включить или ожидает включенного режима совместимости с Apple ][.
  • Агатовские, идут на 7 и 9 - редкие случаи, когда проге настолько безразлично оборудование, что она работает на обеих архитектурах.
  • Вроде агатовские, но не изученные - во всяком случае файлы этого раздела были найдены на дисках с агатовскими ОС.
  • Идут на 7ке - проверено или явно следовало из типа ОС.
  • Идут на 9ке - то же самое.
  • Не игры, мелкобейсиковское - мелкие бейсиковские игрушки или даже не игрушки, а, скорее, демки. Что-то дети на уроках информатики делали.
  • Неизученные совсем - откуда-то выловил, в других разделах этого точно нет, родословная неизвестна.
  • Описания игр - текстовые файлы, могут пригодится для игротек/сборников.
  • Сборники и игротеки Агат-9 - диски, которые нельзя разделить вообще (разве что посекторно расковыривать). Тут же хранятся и разные начальные меню/заставки от тех игротек, которые удалось разобрать.
  • Только на Apple ][ - вроде как в режиме эмуляции Apple на девятке они не пошли. А вот в эмуляторе Apple ][ идут. Но тут я не очень уверен, лучше проверять.

Link, 38 Кб. Это кое что на тему связи агатов, PC и других устройств (но с участием Агата). Моего изготовления, в основном. И почти без комментариев.

Мультисофт, 1,9 Мб. Почти все прикладные программы хранятся в архиве "Системы" по той причине, что либо действительно содержали собственные операционные системы (так были устроены почти все крупные агатовские программные комплексы), либо потому что были привязаны к какой -то версии конкретной ОС (это касается, в основном, мелких утилит). А в архиве "Мультисофт" собраны те редкие программы, которые были предназначены для штатных/базовых агатовских Бейсик-60 / Бейсик-ИКП. Кое что из этого архива (то, что наверняка работает):

  • Delta Pascal - Дельта-Паскаль (транслятор). Также его версия есть в архиве System/SpriteOS.
  • ElectroEdit - Что-то про разводку печатных плат.
  • GraphEditors - Разные мелкие и крупные графические редакторы.
  • MUSIC - Всё на тему музыки. Начиная с MusicEditor.
  • N_Mouse - Софт для контроллера Nippel Mouse Card.
  • PICLER - Вьювер/конвертор рисунков ZX-spectrum.
  • PRINT - Сборник на тему печати.
  • PRODTEST - Тест аппаратуры.
  • PrintShop - Комплекс графических программ (вроде бы с Apple ][, но адаптированных).
  • SIRIUS - Надстройка над штатным бейсиком.

Системы, 72 Мб. Операционные системы и всё, что загружается с дискеты после включения машины:

  • AGAWT-M.9 - Агат-Автор-М (текстовый редактор, версия с калькулятором и словарём).
  • AGAWT.7 - Ранний отдельный Агат-Автор (текстовый редактор).
  • ALVGRAF.7 - ALV Graf (графический редактор).
  • AM1200.9 - AM1200 - программное обеспечение одноимённого модема.
  • APPLE_NC.9 - Apple Norton Commander.
  • ASSEM - Агат-Ассемблер.
  • AutoGraph - Автограф (текстовый редактор).
  • BASMAST.9 - Basic Master (коммерческая версия штатного бейсика).
  • BINSTALL.9 - Бадер-инсталятор (установщик редакторов MouseGraf разных версий).
  • BTK - Best Tool Kit (в девичестве - Агат-Ассемблер), а также The Best.
  • C.9 - C (транслятор языка + редактор).
  • CARD93 - Софт для одноименного контроллера.
  • CP-CONS.9 - Копировщик некоторых защищенных программ.
  • CP-KPON.9 - То же.
  • DIALEKT.9 - Диалект (текстовый редактор).
  • DOCUMENT - Документ (текстовый редактор).
  • DOS33.7 - Базовая ранняя ДОС семёрки + Бейсик 60.
  • DOSS - ИКПшная ДОС для семёрки и девятки со своим Бейсиком.
  • EVRICA - Эврика (база данных).
  • FD_TESTER.9 - FD тестер (тестилка дисковода 840кб).
  • FONO.9 - Фонограф (пишет/читает звук).
  • FORTH.9 - Трансляторы Форта.
  • GR-SERV.9 - Граф-Сервис (графический редактор).
  • IKP - Инструментальный комплекс программиста (Сборник из РАПИРы/Робика, Бейсика, Отладочного Комплекса и копировщика. В версии для девятки также есть AppleSoft Basic).
  • KENTAVR.9 - Кентавр (база данных).
  • KPON.9 - Комплекс программ общего назначения (Сборник из текстового редактора, базы данных, электронной таблицы и копировщика. В последней версии добавился также графический редактор).
  • MALBUG.9 - Малая бухгалтерия.
  • MARKIS.9 - Маркис (графический редактор).
  • MGR.9 - MouseGraf (графический редактор).
  • MICRODOS - Microdos (несколько мелких ОС, использовавшихся в сборниках игрушек в качестве загрузчиков).
  • N_CLOCK.9 - Софт для Nippel Clock Card.
  • ONIX - Onix (операционная система).
  • PARUS.9 - Парус (база данных).
  • SCHM.7 - Система Численного Моделирования (электронная таблица)).
  • SHKOLNIC.7 - Школьница (операционная система).
  • SPRITEOS - Спрайт-ОС (операционная система).
  • SUBGRAPH.9 - SubGraph/BioBasic (расширенная версия штатного Бейсика).
  • TELEMIXT.9 - Телемикс (система титрования (формирование заставок для телевидения)).
  • TESTMEM.7 - Штатный тест памяти семёрки.
  • TONYCH.9 - Tonych DOS (операционная система).
  • TOR.9 - Текстовый оконный редактор.
  • USN_OFIS.9 - USN-офис (электронная таблица).
  • WORDMAST.7 - Word Master (текстовый редактор).

Неизученное, 3.3 Мб. Сюда входят те проги/данные, запустить/разобрать которые в ближайшее время не удастся, хотя на реальном железе это работало/использовалось. Причинами могут быть: неизвестный формат архива, неполная эмуляция реального железа (недокументированные команды, режимы и т.д.).

Иногда в архивах попадаются поддиректории с именами "1", "2" или "a", "b" - как правило, эти директории содержат фрагменты ВАРИАНТОВ. На(вымышленный)пример: внутри директории basicaos/ есть поддиректории 1/ и 2/, а также куча файлов. Внутри поддиректорий также есть по нескольку файлов, причем их имена совпадают (1/test.fil, 2/test.fil). Это значит, что данный комплекс программ встречался мне дважды, и отличался только в нескольких файлах. Вот эти отличающиеся файлы и вынесены в подкаталоги. Те файлы, которые совпадали, хранятся в общем каталоге (basicaos/), в одном экземпляре.

Также изредка вы можете увидеть директории с именем "q". Там хранятся файлы, назначение которых вообще неизвестно. Как правило, сюда попадает то, что по косвенным признакам относится к двоичному загрузочному коду, но не ясно, что он делает (а пробовать и разбираться - нужно время). Это не обязательно будут автономные программы, в таком виде могут встречаться и библиотеки, использовавшиеся бейсиковскими программами.

Автор раздела: Garnizon

Зеркало сайта