
    Комплекс "MatchBox" ("Спичечный коробок")

Состав:
	BOX	.BSP	- исходный текст для препроцессора BSP
	BOX	.ASM	- обработанный препроцессором текст
        EMPTYBOX.EXE    - изготовленный пустой MatchBox
        BOXADDER.C      - исходный текст на C утилиты для его заполнения 
        BOXADDER.EXE    - то же, откомпилированное 
        MATCHBOX.DOC    - описание формата MatchBox-а
	EXEPREF .C	- утилита для исследований ЕХЕ-префикса (необходима
			  только при отладке MatchBox-a)
        README  .1ST    - этот файл
	
( Три раздела для редактора ).
АННОТАЦИЯ: Расширитель сферы применения LZEXE в сторону минипрограмм. Позволяет
	   сделать из нескольких .ЕХЕ и .СОМ файлов один побольше, чтобы LZEXE
	   было где себя проявить. Пригодится собирателям микроутилит и людям,
	   дорожащим лишним свободным кластером на диске.

АНАЛОГИ: ближайший аналог по духу и по целям - LZEXE. 

ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ: алгоритмы упаковки не применяются;
			   сохраняет несколько программ в одном файле;
			   обрабатывает .СОМ as is.

  Лирическое вступление

	Идея создания MatchBox-а появилась в тот момент, когда я набросившись
с LZEXE на винчестер, обнаружил что большие ЕХЕ-файлы он паковать не может 
из-за того, что они почти поголовно с внутренними оверлеями, а маленькие и рад
бы, но проку с этого мало. На просторе в 2Kb немного встретишь повторяющихся 
последовательностей (% упаковки не достает до средних 30 - 40%%), а если и
упаковалось 2Kb в 1.5Kb, то все равно при размере кластера 2Kb упакованная 
программа будет занимать столько же места. Отсюда метод - собрать мелкие
программки в один файл, но так чтобы их всегда можно было немедленно запустить,
а уже этот файл можно упаковать поверху LZEXE. После непродолжительного времени
такая методика была реализована и названа MatchBox.

  Инструкция по пользованию. Предоставляемые удобства и недостатки.
  
	Из двух ЕХЕ-шников в этой директории один ( BoxAdder.exe ) занимается
напихиванием мелких программулек в другой (EmptyBox.exe). Кстати, он называется
EmptyBox, потому что в начальный момент пуст и ничего кроме сообщения об этом
прискорбном состоянии от него добиться не удастся. Но если запихать в него чего-
нибудь, то тут он покажет свои недюжинные деловые качества.Делается это так: 
   
   С:\>BOXADDER EMPTYBOX.EXE BOXADDER.EXE 
   
    То есть мы потребовали запихать в "Спичечный коробок" собственную же копию,
чтобы не ходить далеко за добровольцами (если у Вас есть на примете кандидатуры
получше - можете начать с них).
	Теперь, если мы запустим ВОХ-файл без параметров, он с гордостью выдаст
справку по собственной начинке и способу ее употребления. Чтобы попробовать ее
на вкус достаточно указать в качестве параметра хотя бы одну букву из имени под
которым ее зарегистрировали, ВОХ-файл попробует догадаться, что Вы имели в виду
и если ему это удастся, то "начинка", на которую Вы намекали, запустится легко
и нежно, без грязного шуршания диском и каких-либо намеков на дисплее о том, что
программа запущена не как все остальные, но изощренно - из чрева ВОХ-файла. Мало
того, ВОХ-файл попытается дать ей истинное имя, вместо своего собственного, 
которое COMMAND.COM вставил в конец окружения. Гарантировать, что удастся туда
вписать полное имя я не могу, т.к. COMMAND.COM ревниво оберегает каждый параграф
свободной памяти, и поскольку имя ВОХ-файла может состоять из одной буквы, а имя
программы максимум из восьми, то следовательно некоторые могут и не поместиться.
Кстати, не могу умолчать о нахальном поведении VTSRа. Он видите ли не признает
вышеупомянутое имя корректным, если не находит в нем '\' и '.', и следовательно
его не показывает. Пришлось доставить ему это удовольствие.
	Если надо передать "начинке" параметры в командной строке, то допишите
их в командную строку ВОХ-файла	после намека на имя "начинки", она не ощутит
никакой разницы со стандартной передачей.
	Если же Вы намекнули на имя "начинки" двусмысленно (например: два имени
начинаются одинаковыми буквами), то ВОХ-файл предьявит Вам список возможных
толкований Вашего намека, и попросит в следующий раз указывать достатоточное для
того, чтобы различить, количество букв. К сведению: ВОХ-файл различает верхний и
нижний регистр, а BoxAdder следит чтобы в ВОХ-файле не оказались два абсолютно
одинаковых имени.
	Кроме ЕХЕ-файлов можно также запихать и СОМ, и все остальные. Поскольку
в отличие от ЕХЕ-формата СОМ нельзя с уверенностью отличить от переименованого
текстового, например, то все остальное сойдет за СОМ формат, но не рекомендую 
запускать не СОМ файлы.
	Перейдем от похвальбы к самобичеванию. Самым большим недостатком данной
версии MatchBox-а является ее неполнота. Для логической завершенности не хватает
извлекателя программ из ВОХ-файла в первозданный вид (того же LZEXE сопровождает
UNLZEXE). Его изготовление затянулось (каюсь, грешен, посыпаю голову пеплом) и
вероятнее всего ожидается в следующей версии (0.1). Особо нетерпеливые могут его
попробовать изготовить самостоятельно  -  необходимая документация и исходные 
тексты прилагаются. Менее существенные недостатки: при запуске не проверяется
достаточность свободной памяти (параметр из ЕХЕ-префикса, если помните), хотя
параметр этот хранится (для работы будущего извлекателя). Конечно   весьма 
вероятно, что обьем, требуемый для загрузки "связки" программ будет достаточен
для работы одной из них, но если Вы запихнете в ВОХ-файл крошку с аппетитом в
100Kb, а потом запустите этого обжору выйдя в DOS shell какого-нибудь пакета, то
сами понимаете перспективу. Кроме того, возможна подобная ситуация, когда памяти
будет хватать для запуска какой-нибудь крошки, но СOMMAND.COM скажет, что ее
недостаточно для запуска ВОХ-файла,куда Вы ее запихали. В общем "Волков бояться
 - в лес не ходить". Кстати, в данной версии принципиально невозможно запускать
файлы длиннее 64Kb, хотя суммарная длина ВОХ-файла может быть и больше. И еще -
если вы запихаете больше 24 программ в один ВОХ-файл, то их список уже на экран
не поместится, придется перенаправлять его в файл, и т.д. Вывод - используйте
несколько ВОХ-файлов под разными именами. И еще, в отличие от LZEXE, программы,
сохраняющие опции в собственном ЕХЕ-файле, будут неприятно удивлены, попытавшись
найти на диске файл, указанный после окружения DOS в качестве их источника, шанс
испортить заLZEXированный файл путем записи по фиксированному смещению они 
теряют, но приобретают шанс повиснуть из-за подобной нештатной ситуации.
   
   На сем прощаюсь. 
   Пожелания, предложения, (едва не написал ПОЖЕРТВОВАНИЯ) и пр. и др. 
   шлите по адресу:
   
   105043,Москва,Измайловский просп.,д.73/2,общ.5 MГТУ, Чоп Александру.
   						тел.(095)315-10-31(сл)

   P.S. Возможно Вы не обратили внимание: MatchBox назван не только за работу
   	с миниатюрными программками "спичечного формата", но и за то, что при
        угадывании намеков производит поиск по образцу - Matching.
         