Plutonium
#19
20 августа 2001 |
![]() |
Софт - X-DOS о планах развития новой оперционной системы для Спектрума.

┌─┐ ┌─┐ ┌───┐ ┌───┐ ┌─────┐ │ │ │ │ │ ┌┐└┐ ┌┘ └┐ ┌┘ ┌───┘ └┐└┐┌┘┌┘ · ││ └┐ · ┌─┐ │ └┐ └┐ └┐└┘┌┘ ┌─┐│ │└┐ │ │ │ │ │ └┐ └─┐ ┌┘┌┐└┐ └─┘│ │ │ └┐ │ │ │ └┐ └─┐ └┐ ┌┘┌┘└┐└┐ │ │ └┐ │ │ └┐│ │ ┌┘ │ │ │ │ │ │ └──┘ │ └┐ └┘ │ ┌──┘ ┌┘ └─┘ └─┘ └──────┘ └─────┘ └─────┘ (c) Boh/Image Crew... Проекты на будущее... Cейчас у нас тут как бы просто текучка идет, то есть никто никаких планов не строит, а просто живут. Если конкретно о X-Dos, то очень много всего было придумано, и многое начато. Hо все приходится делать мне одному, и слишком много всего на мне висит (и не только на Спекки), поэтому почти ничего не завершено. А чего там только не было.. - база данных, в которой кстати уже работает вполне визуальный редактор структуры, дело за браузом стало. - XMetaFile, часть идеологии которого присутстует в муз.плеере X-MetaPlayer, а именно там есть формат XM, объединяющий в себе абсолютно любые форматы музык. - И самый главный был план, это X-Dos 2.0... Для которой уже были написаны менеджеры памяти и задач (невытесняющая многозадачность). Сейчас же новые программы появляются, когда меня кто-либо попросит утилитку какую-нибудь написать, или вот например игру Life. Для чего-то большего одному мне времени не хватает, а больше никого реально и нет. А что ты имеешь ввиду под "как народ воспринимает"? Те кто в нее вникся, вполне довольны, и с радостью принимают что-то новое. С такой, что как скачают, бегом бегут смотреть :) Кроме меня писал проги только один известный мне человек, но сейчас он скорее всего уже и забыл это... С появлением глобальной zxnet я хоть и расспространил ядро+некоторые проги (естественно не все), но откликов почему-то ооочень мало. Я конечно моря писем и не ждал, но по сути заинтересовался дальше лишь ты да еще один. Теперь расскажем по конкретнее... В этот раз - о универсальном контейнере X-Metafile .. Hу что ж, рассказываю... X-MetaFile - это файлы, имеющие обычно расширение XM. (не путать с музыкальными модулями на ПЦ!) Этот формат был придуман специально для универсальности хранения совершенно любых данных, причем еще и с информацией о них! Даю описение текущей версии формата, хотя имхо он требуется еще в доработке, так как некоторых вещей не хватает. Hужно сначала ввести такое понятие, как атом . Атом - это 4-символьный текстовый идентификатор содержимого файла. О том, какие атомы уже заданы, позже, но приведу пример: атом "ASM0" означает что здесь содержится музыка в формате ASM 0.XX ! Итак, каждый xm-файл имеет 128-байтный заголовок, непосредственно за которым идут данные. Вот описание заголовка (в стиле паскаля): Atom: array[1..4] of Char; Len: Word; {полный размер файла} Reserv: array[1..11] of Byte; {11 резервных байт} Name: String[50]; {Hазвание} Author: String[50]; {Автор} Date: String[10]; {Дата} Строки тоже в стиле паскаля (ксдос с такими и работает), где первый байт - длина строки, а число в [] - макс.длина. Для тех, кому непонятно, вот аналогия на асме: ATOM DB "ASM0" LEN DW (длина) RESERV DS 11 NAME DS 51 AUTHOR DS 51 DATE DS 11 В сумме 128 байт. Исходя из атома, программа-плейер ищет оверлей-плейер, который зарегистрировал этот атом как свой. Таким образом, идентификация файла очень проста. Пока зарегистрированы лишь музыкальные форматы, вот список атомов, и содержимое xm-файла при этом атоме: (все без плейеров) ASM0 модуль от ASC Sound Master v 0.XX ASM1 модуль от ASC Sound Master v 1.XX PT2X модуль от Pro Tracker v 2.X PT24 модуль от Pro Tracker v 2.4 PT3X модуль от Pro Tracker v 3.X PSC1 модель от Pro Sound Creator v 1.XX первые два байта данных содержат уточненный номер версии например #01#07 - PSC 1.07 затем сама музыка ST модуль от Sound Tracker STP модуль от Sound Tracker Pro Это пока все, но для поддержки нового формата нужно лишь оверлей написать. Теперь немного о программе X-MetaPlayer. Это оверлейный проигрыватель X-MetaFile, однако способен понимать и оригинальные (без XM-заголовка) файлы от вышеперечисленных муз.редакторов. Сделано это следующим образом. Оверлеи разделены на три типа: input, player и visualisation. По порядку о каждом типе: input - оверлей, распознающий тип файла, и автоматом конвертирующий его в X-Meta формат (с заголовком) player - проигрыватель для конкретного или нескольких атомов (например ASM0 и ASM1 реализованы в одном оверлее) visualisation - визуализация музыки :) Канальчики, индикаторы, частотный анализатор, либо просто любой эффект в нижней трети экрана. При выборе файла в каталоге (или как параметра в ком.строке) алгоритм такой: - вызываются по порядку все input-оверлеи, пока какой-либо из них не скажет, что этот файл его. После этого считается что в памяти лежит уже готовый xm-файл. - проверяются все player-оверлеи на поддержку нужного атома. Если такой плейер найден, запускается проигрывание, иначе сообщаем что нет нужного плейера. Вот и все, ведь все очень просто. А так как все оверлеи на рамдиске, скорость поиска приемлемая. О формате оверлеев и их функциях пока рассказывать не буду, если надо, то в следующий раз. Скажу лишь, что были мысли расширить заголовок до 256 байт. Тем самым упростится загрузка и остальное. Продолжение следует... Ekaterinburg city 2001.
Другие статьи номера:
Похожие статьи:
В этот день... 8 февраля