Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср сен 20, 2017 11:13 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 98 сообщений ]  На страницу Пред. 13 4 5 6 7 След.
Автор Сообщение
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вс окт 24, 2010 3:37 pm 
В теме Дизассемблер я уже писал про то, что занимаюсь переработкой kpack - ну, и вот 2 недели терзаний мозга:

SVN r. 1671
Версия для Колибри дизассемблирована и доработана для синтаксиса FASM.

В планах прикрутить Box_Lib и вызов OpenDialog через Proc_Lib

Программа пока полностью не допилена, по этой причине есть только около 3 Кб для дополнительного кода и данных, далее данные могут наложиться на область используемую распаковщиком и упаковщиком. Я не силен в языке Си и пока не разобрался в структуре данных используемой упаковщиком и распаковщиком.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вс окт 24, 2010 6:04 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср янв 27, 2010 10:59 am
Сообщения: 269
Замечательная новость. Теперь kpack можно будет скомпилить прямо в Колибри :)

_________________
ушёл...


Вернуться к началу
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вс окт 31, 2010 2:19 pm 
SVN r. 1681
Еще одна неделя терзаний мозга и код упаковки теперь полностью перемещаем. В смысле нет жесткой привязки к физическим адресам и можно вставлять дополнительный код.

Ну, и маленьким приятным бонусом - область данных сократилась на 5920 байт. Что впрочем погоды не делает, поскольку абсолютное значение выделяемое при старте сократилось до 0x518E0, а было 0x53000.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Ср ноя 03, 2010 4:43 pm 
SVN r. 1686
1) Используется управление памятью функцией 68, вместо 64.
2) Используется EditBox из Box_Lib.
3) Используется вызов OpenDialog, через Proc_Lib.

Программа может содержать глюки, поскольку полностью оттестировать еще не успел.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Сб ноя 06, 2010 9:22 pm 
SVN r. 1688
1) Используется окно с параметрами Y=4, B=1 (постоянный размер окна и координаты всех примитивов от клиентской базы - полный учет размеров скина окна)
2) Обновление служебных данных после редактирования через Editbox
3) Изменен формат параметра передаваемого при запуске программе - теперь это просто путь к сжимаемому файлу, длинной до 255 символов плюс завершающий ноль.

Я не знаю программ, которые использовали запуск KPACK с параметром, если кому-то известно об них - большая просьба сообщить, чтобы можно было их откорректировать.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Ср дек 01, 2010 11:16 pm 
SVN r. 1712
Kerpack - упаковщик ядра переписан полностью на FASM. Частично данные, дизассемблера, процедура упаковки LZMA от Kpack (потому что процедуры сходны на 99,9%), исходники которые были для MASM просто переписаны на FASM. Отличие в 0,01% процедуры упаковки (и распаковки тоже), в одном параметре - в результате упакованное ядро получается на несколько десятков байт больше. Я не знаю почему сжатие с таким параметром diamond не использовал для приложений. Вопрос требует более детального исследования. В общем пока ядро по размеру упаковывается чуть с большим размером, поскольку я пока не рассматривал скольких правок требует процедура упаковки, но рассчитываю в ближайшем будущем прикрутить функции kerpack к приложению kpack - объединить два однотипных приложения. Ну, а дальше вероятно попытаюсь собрать консольные версии программ для Linux.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Чт дек 02, 2010 10:30 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн апр 16, 2007 6:38 pm
Сообщения: 1222
Mario, "Ну, а дальше вероятно попытаюсь собрать консольные версии программ для Linux." - это было бы здорово!

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Вернуться к началу
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Пт дек 03, 2010 5:07 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Gluk, mike.dld уже портировал kpack под Linux - http://blog.mikedld.com. Сейчас ссылки уже недействительны, но, наверное, можно написать ему с просьбой выслать или перевыложить исходники?

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Пт дек 03, 2010 7:11 pm 
Может я и ошибаюсь, но вроде это была старая версия - там не поддерживалась передача параметров. А с другой стороны - это с большой вероятностью на Си, а мой код полностью для FASM будет. Для конечного пользователя это разумеется не принципиально. Это принципиально было для версии, которая собственно под Колибри. Вот как-то так.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вт дек 07, 2010 6:00 pm 
SVN r. 1713
Код сжатия ядра добавлен в программу KPACK. Для сжатия файла как ядра, нужно активировать опцию kernel (checkbox ниже кнопки распаковки).

Также, чтобы исключить коллизии, сжатые файлы ядра теперь маркируются ключом в 8 байт "KERNPACK", который добавляется к концу сжатого файла ядра. На работу ядра это не влияет.

Да и самое главное - сжатые файлы ядра пока не распаковываются. Такого сервиса и раньше не было в программе kerpack. Это можно реализовать, но нужно время.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вт дек 07, 2010 8:12 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Я покопалась в архивах и нашла копию файлов kpack-{bin,src}.tar.bz2, которые упомянуты в дневнике mike.dld, а рядом ещё откуда-то kpack_linux[_src].7z. Я на всякий случай - вдруг кому всё ещё интересно - выложила все эти файлы к себе в папку http://ftp.kolibrios.org/users/CleverMouse/kpack/ .
Mario, там действительно используется компилятор Си для компиляции библиотеки сжатия, а код самой программы переписан на fasm - насколько я понимаю, потому что в Linux нет компилятора masm. Я не поняла слов "там не поддерживалась передача параметров".

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вт дек 07, 2010 8:36 pm 
CleverMouse писал(а):
Я не поняла слов "там не поддерживалась передача параметров".

Изначально все упаковщики которые писались под Menuet не поддерживали передачу строки параметров в 255 байт, которую можно передать приложению, если у нее в заголовке под это зарезервирован буфер. Я не уверен на 100% но вроде и kpack начинал с этого, хотя я могу естественно ошибаться, о чем сразу же сказал. В общем надо смотреть исходники.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вт дек 07, 2010 8:41 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1598
Похоже, что это было очень давно...
Mario, как следует из третьей страницы текущей темы, kpack никогда не был упаковщиком приложений и, соответственно, kpack никаких параметров никаким приложениям не передаёт. Вероятно, ты спутал его с mtappack, с которого началась текущая тема и который уже давно не при делах.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Вт дек 07, 2010 8:53 pm 
CleverMouse
Значит спутал. С 2003 года такой объем информации в голове, что одно на другое накладывается. :)
За исходники спасибо - буду разбираться, глядишь дело с kerpack для Linux решится быстрее.


Вернуться к началу
   
 Заголовок сообщения: Re: Новый упаковщик
СообщениеДобавлено: Пн дек 13, 2010 9:45 pm 
SVN r. 1718
Kpack для Linux - полностью ассемблерные исходники, GCC используется для линковки объектного файла.
Из небольшого плюса - размер исполняемого файла всего 13132 байт.
Полезную информацию почерпнул с wasm.ru

Если кому нужен готовый бинарник - то вот:
Вложение:
kpack.zip [12.82 КБ]
72 скачивания

Внимание - это не архив а сам бинарник, следовательно просто переименуйте отбросив расширение.


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 98 сообщений ]  На страницу Пред. 13 4 5 6 7 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB