Комментарии 12
Позволю себе крохотное пожелание по FB2 ридеру: позвольте юзеру регулировать расстояние между строками; иногда это здорово снижает нагрузку на глаза.
+1
Никогда не использовал колибри, но каждый раз с удовольствием читаю список изменений :)
+3
Привет коллегам.
Господа, пару лет тому назад я реализовал внутри ядра Фантома модуль поддержки API Kolibri OS. Но по документации понятно совсем не всё, и некоторые части API работают неидентично оригиналу. Плюс — нет сишного исходника для распаковщика приложений, поэтому загрузчик ест только распакованные исполняемые файлы. Но — некоторые программы работают.
Если бы в команде Колибри нашёлся кто-то, кто готов помочь доработать эту подсистему, наверное, было бы здорово. Если кому-то идея переносимой на другие платформы Колибри кажется интересной — дайте знать.
Код здесь
Господа, пару лет тому назад я реализовал внутри ядра Фантома модуль поддержки API Kolibri OS. Но по документации понятно совсем не всё, и некоторые части API работают неидентично оригиналу. Плюс — нет сишного исходника для распаковщика приложений, поэтому загрузчик ест только распакованные исполняемые файлы. Но — некоторые программы работают.
Если бы в команде Колибри нашёлся кто-то, кто готов помочь доработать эту подсистему, наверное, было бы здорово. Если кому-то идея переносимой на другие платформы Колибри кажется интересной — дайте знать.
Код здесь
+2
lzma декодер из 7z должен справиться. Первый dword сигнатура 'KPACK', второй — размер распакованного файла. Все остальное это данные сжатые lzma.
+1
0
У меня структура заголовка пакованного файла выглядит так:
Неверно? Нет там флагов?
struct kolibri_pkck_hdr
{
char ident[4];
u_int32_t unpacked_size;
u_int32_t flags;
};
Неверно? Нет там флагов?
0
Да, структура такая. Флаги есть, похоже они часть заголовка файла. Распаковщик их проверяет.
0
Распаковщику-то с какого смещения вход отдавать? +8 или +12, после всей этой структуры?
0
Скорее всего +12.
0
Перед передачей LZMA-распаковщику нужно дописать впереди нулевой байт (LZMA-поток всегда начинается с нулевого байта) и, возможно, bswap-нуть первый dword (а может быть, и нет, не помню точно). Кроме того, в зависимости от флагов после LZMA-потока могут быть данные для постпроцессинга (instruction-relative offset <-> absolute address; постпроцессинг для распаковщика, препроцессинг для упаковщика) E8/E9 и 0F 8x.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Дайджест KolibriOS #11 все новости с последнего выпуска и Google Summer of Code 2016