Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт окт 23, 2018 9:00 am

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




Начать новую тему  Ответить на тему  [ 73 сообщения ]  На страницу Пред. 1 2 3 4 5 След.
Автор Сообщение
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Пт мар 23, 2018 2:39 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4815
При запуске любой программы "ReadFile error."

Windows 10 Enterprise x64.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Пт мар 23, 2018 4:09 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1485
Leency, ты хотя бы тему почитал что ли ...
Хотя ты не единственный не читатель :mrgreen:
Вот в этом сообщении viewtopic.php?f=37&t=3679&start=30#p70153 я ответил на подобный твоему комментарий, сказав, что об этом уже было написано ещё раньше в этой же теме.


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Пт мар 23, 2018 4:11 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 632
0CodErr писал(а):
Добавил загрузку библиотек.

Может сначала искать библиотеки (директорию LIB) для загрузки в текущей директории запускаемой программы, затем на директорию выше, далее в корневой папке где находится запускаемая программа,
далее в корне диска и если это не получилось, то в путях в ключах реестра.

P.S. Сейчас у меня, если никак не изменять ключи реестра программы путь выводится примерно такой
Код:
/rd/1E:/kolibrios 

При реддактировании
Код:
""

и OpenDialogFile не запускается.
А kFar ещё не стартует? Из игрушек ещё + удачно запустился Bomber
из эмуляторов EZ-80 запускается :)


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Пт мар 23, 2018 4:15 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1485
Kopa писал(а):
P.S. Сейчас у меня, если никак не изменять ключи реестра программы путь выводится примерно такой
Их надо изменять.
Kopa писал(а):
А kFar ещё не стартует?
Он стартует, но там вывод изображения через SysFn65:DrawImageEx, она ещё не поддерживается. И ещё не все файловые функции поддерживаются.
Kopa писал(а):
Из игрушек ещё удачно запустился Bomber :)
Да ладно :) Раньше он не запускался, а в этот раз я ещё не проверял. Ну хорошо тогда.


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Пт мар 23, 2018 4:23 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 632
0CodErr писал(а):
Kopa писал(а):
Из игрушек ещё удачно запустился Bomber :)
Да ладно :) Раньше он не запускался, а в этот раз я ещё не проверял. Ну хорошо тогда.

Ещё DosBox и PokeMini запустились. :)

P.S. В классическом Питоне есть "задержка" реакции при смене направления движения.
Bomber, похоже, запускается, если не указывать пути в ключах реестра,
А Snake (0.7) если пути прописаны.


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Сб мар 24, 2018 12:14 am 
Не в сети

Зарегистрирован: Вс окт 27, 2013 8:13 pm
Сообщения: 134
0CodErr,
в Win8.1-64 эта штука с реестром не работает. Программа не меняет реестр, даже если запустить от имени администратора. Если же изменить реестр вручную и запустить от имени администратора, то

FilePath = ""

Вообще, насколько важно записывать это в реестр? Может лучше простой ini-файл?


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Сб мар 24, 2018 1:01 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1485
akron1 писал(а):
штука с реестром не работает
Там важен регистр, потому что сравнение строк сейчас происходит так:
Код:
If MemCmp(ValueName, KOSPath^, ValueLen - 1) = 0 Then 
Код:
If MemCmp(Data, WinPath^, DataLen - 1) = 0 Then 
Можно дополнительно посмтреть, что возвращает RegOpenKey, но вообще должно работать.


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Сб мар 24, 2018 4:02 am 
Не в сети

Зарегистрирован: Вс окт 27, 2013 8:13 pm
Сообщения: 134
0CodErr, я извиняюсь, работает.
Ключи реестра создаются в разделе Wow6432Node, поэтому я их не сразу заметил.
А не работало, потому что эмулятор у меня находится в папке D:\KEm и этот путь я прописал в реестре, а для запуска я написал командный файл с такой строкой:

KEm.exe -base 65536 D:\Kem\HW.kex 123 456

Естественно, функция MemCmp показала неравенство строк "D:\KEm" и "D:\Kem".
Путь приложения и параметры передаются правильно, файловые функции пока не тестировал.
Вот только запускать программу надо всегда от имени администратора, что несколько напрягает...


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Чт мар 29, 2018 12:30 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1485
Добавил поддержку файловых путей непосредственно в структуре и относительных файловых путей.
Можно, например, в LodeRunner теперь поиграть.
Или в LaserTank.
calcplus, кстати, тоже ещё работает.
Пример со скроллбаром на FreeBasic viewtopic.php?f=33&t=2202#p47749
Пример со скроллбаром на Modula-2 viewtopic.php?f=33&t=2280&p=52371#p47919
tinygl примеры, gears, например.
Возможно, ещё какие-то игры стали запускаться.

Интересную вещь обнаружил.
Когда выбираешь мышкой цвета в Colorref, то они меняются сразу в нескольких копиях запущенной программы.
Если запустить 3 копии хоть даже во всех трёх эмуляторах(MeOSEmul, KlbrInWin, KEm).
А в настоящей KolibriOS не так.

Интересно, кто-нибудь пробовал из-под Wine запускать?
Хотя, возможно, будет проблема как с ReactOS.
Там, вероятно, VirtualProtect не отрабатывает.
Из KEm.asm:
Код:
  Invoke VirtualProtect, 0x0010000, MEM_SIZE, PAGE_EXECUTE_READWRITE, Offset X
Windows считает память, начиная с Header и включая data одним регионом:
Спойлер: Показать
Вложение:
1.PNG
1.PNG [ 14.13 КБ | 1139 просмотров ]
Похоже, что ReactOS так не считает.
Вложение:
KEm.7z [54.01 КБ]
21 скачивание


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Чт мар 29, 2018 1:15 pm 
Не в сети

Зарегистрирован: Ср мар 26, 2008 12:44 pm
Сообщения: 205
0CodErr писал(а):
Интересную вещь обнаружил.
Когда выбираешь мышкой цвета в Colorref, то они меняются сразу в нескольких копиях запущенной программы.

В моём эмуляторе под линукс всё нормально, меняется только в одном окне. Хотя поначалу тоже были проблемы (не реагировала на клик).
В нескольких программах (в том числе и в этой) есть проверка, является ли окно активным. Это делается анализом zpos.

0CodErr писал(а):
Интересно, кто-нибудь пробовал из-под Wine запускать?

Я пробовал, всё тот же "Read File error".


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Сб мар 31, 2018 7:38 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 632
0CodErr писал(а):
Возможно, ещё какие-то игры стали запускаться.

Doom, Quake запустились :)

P.S. Периодическая таблица ещё не до конца функциональна.


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Ср апр 18, 2018 1:19 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4815
Путь через реестр не очень удобно, лучше через ini.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Чт апр 26, 2018 6:16 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1485
tsdima писал(а):
0CodErr писал(а):
Интересно, кто-нибудь пробовал из-под Wine запускать?
Я пробовал, всё тот же "Read File error".
Значит в linux нельзя выделить память в нуле.
Kopa писал(а):
Под ReactOS эти тесты не заработaли. Выводит ошибку доступа к памяти Write only.
0CodErr писал(а):
Там, вероятно, VirtualProtect не отрабатывает.
Из KEm.asm:
Код:
  Invoke VirtualProtect, 0x0010000, MEM_SIZE, PAGE_EXECUTE_READWRITE, Offset X
Windows считает память, начиная с Header и включая data одним регионом ... Похоже, что ReactOS так не считает.
Первая версия в ReactOS работала.
Немного переделал код, может теперь снова заработает.

Добавил загрузку скина и ещё некоторые функции.
Вложение:
KEm.7z [67.57 КБ]
27 скачиваний


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Чт апр 26, 2018 7:55 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4815
Отлично! А как прописать путь к /rd/1/ ?
Если не использовать .ini файл, то хоть поставлять .reg файл, чтобы юзер мог изменить его и запустить.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Эмуляция KolibriOS API
СообщениеДобавлено: Чт апр 26, 2018 10:30 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 632
0CodErr писал(а):
Первая версия в ReactOS работала.
Немного переделал код, может теперь снова заработает.

Да, проверил заработало. :)

В ReactOS при запуске Колибри программ окно приложения мерцает до момента пока мышью не активизируешь фокус на нём. (также и при разворачивании приложения из трея)

P.S. Мерцание приложения в XP наблюдается, например, Web-demo (из-за скина перекрывающего изображение?)
Приложение Table, при изменении его размера не перерисовывается.
Если окно приложения подвигать за пределы рабочего стола, то окно искажается.
Еolite не запускает приложения?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 73 сообщения ]  На страницу Пред. 1 2 3 4 5 След.

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


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

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


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

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