Board.KolibriOS.org http://board.kolibrios.org/ |
|
Эмуляция KolibriOS API http://board.kolibrios.org/viewtopic.php?f=37&t=3679 |
Page 2 of 5 |
Author: | Leency [ Sun Mar 11, 2018 7:55 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr Вот это менясмутило http://prntscr.com/ipqgnr Там точно про х64 и запуск на Vista/7/10 ничего нет? |
Author: | 0CodErr [ Sun Mar 11, 2018 9:59 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
Leency wrote: Вот это менясмутило http://prntscr.com/ipqgnr мвахаха!!!! Ох лол!!! Советую автору сего поделия поучить матчасть для начала. eax на rax он заменил ![]() ![]() Кто не помнит, ALEXS1983 — это который viewtopic.php?f=33&t=3388&p=66309#p66309 Leency, там всё та же SetLDTEntries, которая под x64 работать не будет. Leency wrote: Vista/7/10 pavelyakov wrote: Из-за чего с windows 7 и выше не запускается? Это возможно из-за защиты windows? Насколько я смог нагуглить, это появилось в одном из обновлений безопасности на семёрке. То есть, теоретически, на каких-то семёрках оно может работать. Возможно на висте работает. Мой вариант не использует SetLDTEntries, и, по идее(если я ничего больше не упустил ![]() Хорошо бы проверить XP 64 bit, Vista 32 bit и 64 bit. Kopa wrote: Здесь какое то видео. В EMET самом можно галочку просто снять. Но теперь это уже похоже на уровне системы.
|
Author: | Leency [ Sun Mar 11, 2018 10:27 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
Понял, давай все же не будем довить на мозоли и так уже потерями Марио и Диамонда. |
Author: | Ray [ Sun Mar 11, 2018 10:29 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
http://www.alex-ionescu.com/?p=340 |
Author: | tsdima [ Sun Mar 11, 2018 10:33 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr wrote: Некоторые приложения пишут\читают изображения "directly to\from LFB" — это тоже не поддерживается. Пока что в процессе отладки своего эмулятора обнаружил лишь три такие программы, все три в каталоге /kolibrios/games/codemaster 0CodErr wrote: Мой вариант не использует SetLDTEntries, и, по идее(если я ничего больше не упустил ![]() Что-то сомневаюсь я. А как ты собираешься сказать процессору, что ты хочешь запустить 32-битный код? Вот в Linux-е есть modify_ldt как в 32-битной ОС, так и в её 64-битном варианте. Благодаря чему, я надеюсь, можно будет скомпилить мой эмуль и для 32-битного Linux-а (пока разработка идёт только под 64-битной версией). |
Author: | Leency [ Sun Mar 11, 2018 10:39 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
Windows XP SP3 x32 со всеми обновлениями - kEm РАБОТАЕТ http://prntscr.com/ipsmpv ![]() |
Author: | 0CodErr [ Sun Mar 11, 2018 10:43 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
tsdima wrote: А как ты собираешься сказать процессору, что ты хочешь запустить 32-битный код? Так же, как и для всех остальных 32-битных программ. 32-битная программа вполне работает и на x64. |
Author: | tsdima [ Sun Mar 11, 2018 11:00 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr wrote: 32-битная программа вполне работает и на x64 И что, вообще нет отличий? |
Author: | 0CodErr [ Sun Mar 11, 2018 11:11 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
tsdima, ты лучше по-конкретней. Конечно есть различия. Я о том, что можно взять, скажем, какой-нибудь 32-битный калькулятор и запустить эту программу на x64, и она запустится и будет работать. Вопрос в том, какие конкретно различия должны нас интересовать. |
Author: | tsdima [ Sun Mar 11, 2018 11:23 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr wrote: "Read File error" — значит, что не загружен файл куда надо(по смещению 0). У меня аналогично, тоже на х64. А ReadFile случайно не проверяет указатель на ноль? |
Author: | tsdima [ Sun Mar 11, 2018 11:29 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr wrote: Я о том, что можно взять, скажем, какой-нибудь 32-битный калькулятор и запустить эту программу на x64, и она запустится и будет работать. В том, что ОС имеет поддержку запуска 32-битных программ, я не сомневаюсь. Но, например, в списке задач на x64-битной винде после имени, если это 32-битная программа, указано *32. То есть, отличие в процессах делается неспроста? Хотелось бы знать - зачем, если разницы в исполнении 32/64 нет. |
Author: | 0CodErr [ Sun Mar 11, 2018 11:57 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
tsdima wrote: 0CodErr wrote: "Read File error" — значит, что не загружен файл куда надо(по смещению 0). У меня аналогично, тоже на х64. tsdima wrote: А ReadFile случайно не проверяет указатель на ноль? Вроде не должна. Можно взять VMMap и посмотреть, что стало с регионом памяти 0..64K. Скорее всего NtAllocateVirtualMemory не отрабатывает.
|
Author: | tsdima [ Mon Mar 12, 2018 12:10 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
0CodErr wrote: tsdima, ты лучше по-конкретней. 1. Команды, место которых заняли префиксы REX. А это, на минуточку, INC/DEC r16/32 2. Отрицательное смещение в регистре, типа Code: mov ecx,-300 На мой взгляд, тут будет адресация не назад, а вперёд на почти 4Gb 3. Опкоды некоторых команд типа AAA, AAS в 64-битном режиме invalid 0CodErr wrote: tsdima wrote: У меня аналогично, тоже на х64. А ОС какая?Win 7 x64 Может стоит добавить вывод GetLastError при выводе ошибок? Да и анализ на ошибку в большем количестве мест, например при маппинге нулевых 64Кб. |
Author: | 0CodErr [ Wed Mar 14, 2018 8:08 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
Реализовал поддержку DrawText. Для этого был взят необходимый код из ядра KolibriOS из файлов font.inc и parse_fn.inc. На 99% взятый код остался без изменений. Были заменены вызовы функций kernel_free, kernel_alloc, syscall_getpixel, __sys_putpixel на эмулирующие, которые вызывают функции Windows. Attachment: Так выглядит tinfo:Spoiler: Show а затем передать полученную строку в DrawText. Похожим образом сделано в
Также начал реализацию функции SysFn2:GetKey. Теперь можно поиграть в некоторые игрушки, например, Heliothryx, Arcanii, Invaders, Piton(by Albom), Donkey(by Albom). Работает пример "{3} GetKey, DrawText" из первого сообщения темы Delphi7 examples viewtopic.php?f=33&t=3469#p68254 можно вводить как английские, так и русские символы при переключении раскладки. Можно поиграть в игру ALMAZ: Spoiler: Show |
Author: | Leency [ Wed Mar 14, 2018 9:07 pm ] |
Post subject: | Re: Эмуляция KolibriOS API |
Клево, шрифты как раз одно из слабых мест KlbrInWin - т.к. новый большой шрифт не поддерживается. |
Page 2 of 5 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |