Возможно кто-то знаком с такими проектами как библиотека KolibriOS.lib и эмулятор KEm.
Соответствующие темы можно найти при желании на KolibriOS-форуме.
Если вкратце, то и там, и там используются одни и те же функции.
Вот что я имею в виду:
Например, вот функция GetTickCount из эмулятора KEm:
Function GetTickCount: Dword; Begin Result := Windows.GetTickCount Div 10; End;
А вот та же самая функция из библиотеки KolibriOS.lib:
{26.9} Function GetTickCount: Dword; StdCall; Asm push ebx mov eax, 26 mov ebx, 9 int 64 pop ebx End;
Приведу пример того, что я предлагаю сделать:
Function GetTickCount: Dword; {$IFDEF WINDOWS} Begin Result := Windows.GetTickCount Div 10; {$ENDIF} {$IFDEF KOLIBRIOS} Asm push ebx mov eax, 26 mov ebx, 9 int 64 pop ebx {$ENDIF} End;
То есть, при сборке непосредственно под KolibriOS, объявляем
{$DEFINE KOLIBRIOS}
А если хотим потестировать под виндой, то
{$DEFINE WINDOWS}
Иными словами, одно и то же приложение может быть собрано и под саму KolibriOS, и для теста и отладки под Windows.
В KolibriOS.lib и KEm уже очень многое реализовано, осталось только совместить это вместе.
Я, в принципе, могу начать, если у меня будет время и желание.
Но если есть ещё кто-то заинтересованный, то, конечно, дело пойдёт ещё быстрее.
Вот в этой теме Delphi7 уже упоминалась утилита Pet,и было бы плюсом, если она работала бы как нужно.
Хотя упаковщик kpack тоже сожмёт хорошо, там просто нули потому что.