Inferno #10
30 апреля 2007

Форматы - Формат пакованного файла MegaLZ.

     Формат пакованного файла MegaLZ

Lord Vader 

   Первый байт копируется в выход.Второй -
идёт в биты.
   Биты в байте битов - со старшего.
   Если нужен бит,а его уже нет (все 8 ко─
нчились) - то новый байт выбирается из по─
тока. Оттуда же выбираются и байты,обозна─
ченные  <byte> - но  только  после выборки
всех битов ссылки.
   В формате  ссылок: <byte> - байт, кото─
рый выбирается из потока.

1<byte> - копировать <byte> в выход. 
000abc - копировать 1 старый байт по 
         смещению FFF8+[abc] от текущей
         позиции в выходе
         (abc==000 - смещение FFF8,
         abc==111 - FFFF)
001<byte> - копировать 2 байта по смещению 
           FF00+<byte> (-1..-256)
0100<byte> - копировать 3 байта по 
           смещению FF00+<byte>
0101abcd<byte> - копировать 3 байта по 
           смещению (F[abcd]-1)*256+<byte>
           (-257..-4352)

   Более длинные ссылки удобно представить
в виде 3 частей:

   Префикс:
011 

   Длина ссылки:
1a -> 4+[a] 
01ab -> 6+[ab] 
001abc -> 10+[abc] 
0001abcd -> 18+[abcd] 
00001abcde -> 34+[abcde] 
000001abcdef -> 66+[abcdef] 
 0000001abcdefg -> 130+[abcdefg] (тут длина 
                            не более 255!)

   Смещение:
0<byte> - FF00+<byte> назад (-1..-256) 
1abcd<byte> - (F[abcd]-1)*256+<byte> 
                             (-257..-4352)

   Метка конца потока:
011000000001 

                 Примеры:

000111 - повторить последний байт 
 001<byte=FF> - повторить последний байт 
             дважды (смещение=-1, длина 2)

 011 001101 10000<byte=0> - ссылка длиной 
      %101+10 = 15 байт со смещением -4352



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

Ликбез - Аккумуляторы. Практика использования.

Ликбез - Аккумуляторы. Результаты опытов с различными аккумуляторами.

Возможности Спектрума - Описание формата ani-файлов на ZX.

Inferno - Авторы журнала.

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

Возможности Спектрума - О поддержке формата DVD на ZX.

Gameland - О конкурсе нелепых (или корявых) игр для ZX Spectrum - Crap Games Competition.

Графика - Как быстро рисовать цветные картинки.

Inferno - Вступление от редактора.

Inferno - Ошибки в предыдущих номерах.

For Coderz - Код Грея и оптимизация программ.

For Coderz - Построение графического пользовательского интерфейса.

Форматы - Подробно о декодере jpeg.

Железо - Описание микросхемы К561ПУ4.

Inferno - Письма в редакцию.

Форматы - Формат пакованного файла MegaLZ.

Scorpion ZS - Структура разметки винчестера на компьютере Scorpion.

ZX Клоны - Мультиплатформенность на ZX Spectrum. Компьютеры SAM Coupe и MSX.

Реклама - Реклама NedoPC.

Inferno - Об оболочке.

Активный отдых - Команда "Спектрум" на соревновании по ночному ориентированию Окинчица 2004.

Sofтинка - Сравнительная таблица результатов упаковки кодовых файлов различными упаковщиками.

Реклама - Реклама King of Evil.

Sofтинка - Программы для печати в приложении к журналу.

Sofтинка - Музыкальный редактор Pro Tracker v3.71. История изменений.

Реклама - Реклама от В. Богдановича.

Железо - О некоторых RND-генераторах.

Возможности Спектрума - Аппаратный скроллинг на ZX Spectrum.

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

DIY - Универсальный TAPE интерфейс. Схема загрузки и записи с ленты.

Звук - Особенности звукового устройства TurboSound FM.

DIY - Схема анализатора состояния TTL вывода.

Будущее Спектрума - Видеоконтроллеры V9990. Расширение графических возможностей ZX Spectrum.

Sofтинка - Обновления в просмотрщиках картинок: ANSI viewer, MCX viewer.

Интервью - Интервью с музыкантом X-Raizor из Omega Hackers Group.


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

Похожие статьи:
Юмор - сказка "Жил-был программист..."
Реклама - купить спектрум бесплатно.
Компьютерные новости - Dоlby Lаbs представила свою новую систему.

В этот день...   18 декабря