Упаковщик KPack

...
  • diamond
    Очень хорошо. Прогресс. :-)
    1) А нельзя ли портировать в саму Колибри, было бы очень кстати.
    2) В чем сложность реализации поддержки реализации пути для приложений запускаемых с параметрами?
  • 1) Нельзя, поскольку используется хотя и бесплатная, но не open-source библиотека aplib.
  • 2) Командная строка уже реализована в версии 0.2, которую, надеюсь, halyavin (которому я ее уже послал) скоро выложит. Теперь работает со всеми приложениями из дистриба 0.5.2.0 (естественно после распаковки или перекомпиляции). При этом из 147 приложений 33 слишком малы и не пакуются ничем, а из оставшихся 114 MtApPack лидирует на 112. (Две оставшихся - это docpak, почти целиком состоящий из текстовых документов, и free3d04, большую часть которой занимает уже упакованный GIF-файл).
    1) Можно, если надо. Сама библиотека не использует ничего Windows-специфичного, а с тем, что она поставляется в виде obj и lib-файлов, можно, немного извратившись, работать. В общем, я займусь этим.
  • diamond
    Еще лучше.
    Конечно, надо под саму ОС и конечно желательно, чтобы GPL иначе возможность распространения вместе с дистрибутивом под вопросом. Но даже если формат лицензии будет другой, то все равно надо.
    Удачи.
  • Переписал под Колибри. Хорошая программа должна быть самоприменима :-) Заодно дописал некоторый код в Windows-версии - на новую версию не тянет, в некоторых случаях позволяет выиграть от 2 до 5 байт. По поводу выкладывания - обращайтесь к halyavin'у, я думаю, он выложит и сообщит.
    По поводу лицензии: во-первых, лично мне было всегда наплевать на лицензии, во-вторых, своих исходников мне не жалко. Так что можно считать лицензию какой вам угодно. А по поводу исходников - если кто-нибудь соберется их разбирать, это будут его проблемы. Исходники на MASM'е (код основной программы, код загрузчиков все же на FASM'е. Кстати, есть 6 немного различающихся загрузчиков) - это позволяет забыть про проблемы с библиотекой упаковки. На случай, если кому-нибудь интересно, каким образом на выходе получается Kolibri-exe'шник, сообщаю: ассемблер генерирует PE-файл, который таковым является только формально: есть только одна секция, в начале которой стоит сигнатура 'MENUET01' (и т.д и т.п.), причем секция размещается по виртуальному адресу 0, нет таблицы импорта, зато есть куча вызовов int 40h. Так что на последнем шаге остается сбросить на диск единственную секцию, что тривиально. Лицензия самой библиотеки aPLib позволяет свободное ее использование в некоммерческих целях, под использованием подразумевается использование любой части кроме распаковщиков, что применительно к данному случаю означает, что я не могу объявить mtappack коммерческим продуктом (чего я делать и не собираюсь), а на программы, упакованные mtappack'ом, ограничений не накладывается.
    Если кто-то еще не испугался моего описания исходников, мне несложно выслать их (этому кому-то или сразу halyavin'у, выкладывающему mtappack и прочие мои программы, если он согласится).
  • Кстати, не рекомендуется запускать mtappack из-под mfar'а. Упаковщик-то ведет себя правильно, но mfar передает в качестве указателя на командную строку значение 1, которое система понимает как "ENUET01$". Естественно, упаковщик не сможет открыть файл "ENUET01$".
  • Это давний баг MFAR'а, там в структуре, которая передаётся в 58-ю функцию при запуске приложения, не обнуляется указатель на строку параметров... Я решил не исправлять, так как всё равно щас новая версия в разработке
  • diamond
    Очень хорошо, что ты проделал такую великую работу! Сделан еще один шаг к самодостаточности ОС.
    Если не лень, то слей мне на мыло mario79[dog]bk[dot]ru.

    mike.dld
    Кхм...
    1) MFAR новая подверсия в разработке около - 1 год
    2) Улучшенный драйвер видеоподсистемы, работающий с Vesa в разработке около - 6-8 месяцев
    3) Новый тинипад, конечная версия - в разработке эээ - несколько месяцев.
    Еще проекты есть? :-)
  • Попрошу без язвительности ;) Пишу программы в меру своих способностей... Tinypad до конца месяца выйдет, и тогда начнётся работа над MFAR'ом. А насчёт видеодрайвера ты и сам знаешь :) Ещё проекты есть, и много, только никак понять не могу, почему идеи этих проектов никому другому в голову не приходят...
  • Mario79, halyavin
    Не лень :-) Отправил Windows- и Kolibri-версии с исходниками.
  • Что-то я не понял как этим упаковщиком пользоваться.
    Разъясните кто-нибудь по подробнее.
  • andrew_programmer
    Запускаешь в консоли:
    mtappack example example.1
    и будет тебе счастье.

    Несколько примечаний:
    1) Второе имя можно написать таким же, как первое, но тогда оригинал затрется.
    2) В 98 винде приложение упаковывается, а потом вылетает ошибка ядра винды (но приложение уже упаковано).
    3) В следующем выпуске Колибри будет упаковщик в самой ОС - первый в мире упаковщик исполняемых файлов, работающий в самой Колибри - там ошибки ядра нету. :-)
  • Под Menuet'ом можно и без консоли - просто запускаем mtappack, щелкаем по кнопке InFile, вводим имя входного файла, жмем Enter, фокус ввода оказывается на имени выходного файла, вводим имя выходного файла, жмем Start.
    В командной строке второе имя можно не указывать вообще - тогда результат будет помещен на месте исходного.
  • Who is online

    Users browsing this forum: No registered users and 6 guests