При запуске любой программы "ReadFile error."
Windows 10 Enterprise x64.
Эмуляция KolibriOS API
-
Из хаоса в космос
Leency, ты хотя бы тему почитал что ли ...
Хотя ты не единственный не читатель
Вот в этом сообщении http://board.kolibrios.org/viewtopic.ph ... =30#p70153 я ответил на подобный твоему комментарий, сказав, что об этом уже было написано ещё раньше в этой же теме.
Хотя ты не единственный не читатель
Вот в этом сообщении http://board.kolibrios.org/viewtopic.ph ... =30#p70153 я ответил на подобный твоему комментарий, сказав, что об этом уже было написано ещё раньше в этой же теме.
Может сначала искать библиотеки (директорию LIB) для загрузки в текущей директории запускаемой программы, затем на директорию выше, далее в корневой папке где находится запускаемая программа,0CodErr wrote:Добавил загрузку библиотек.
далее в корне диска и если это не получилось, то в путях в ключах реестра.
P.S. Сейчас у меня, если никак не изменять ключи реестра программы путь выводится примерно такой
Code: Select all
/rd/1E:/kolibrios
Code: Select all
""
А kFar ещё не стартует? Из игрушек ещё + удачно запустился Bomber
из эмуляторов EZ-80 запускается
Их надо изменять.Kopa wrote:P.S. Сейчас у меня, если никак не изменять ключи реестра программы путь выводится примерно такой
Он стартует, но там вывод изображения через SysFn65:DrawImageEx, она ещё не поддерживается. И ещё не все файловые функции поддерживаются.Kopa wrote:А kFar ещё не стартует?
Да ладно Раньше он не запускался, а в этот раз я ещё не проверял. Ну хорошо тогда.Kopa wrote:Из игрушек ещё удачно запустился Bomber
Ещё DosBox и PokeMini запустились.0CodErr wrote:Да ладно Раньше он не запускался, а в этот раз я ещё не проверял. Ну хорошо тогда.Kopa wrote:Из игрушек ещё удачно запустился Bomber
P.S. В классическом Питоне есть "задержка" реакции при смене направления движения.
Bomber, похоже, запускается, если не указывать пути в ключах реестра,
А Snake (0.7) если пути прописаны.
0CodErr,
в Win8.1-64 эта штука с реестром не работает. Программа не меняет реестр, даже если запустить от имени администратора. Если же изменить реестр вручную и запустить от имени администратора, то
FilePath = ""
Вообще, насколько важно записывать это в реестр? Может лучше простой ini-файл?
в Win8.1-64 эта штука с реестром не работает. Программа не меняет реестр, даже если запустить от имени администратора. Если же изменить реестр вручную и запустить от имени администратора, то
FilePath = ""
Вообще, насколько важно записывать это в реестр? Может лучше простой ini-файл?
Там важен регистр, потому что сравнение строк сейчас происходит так:akron1 wrote:штука с реестром не работает
Code: Select all
If MemCmp(ValueName, KOSPath^, ValueLen - 1) = 0 Then
Code: Select all
If MemCmp(Data, WinPath^, DataLen - 1) = 0 Then
0CodErr, я извиняюсь, работает.
Ключи реестра создаются в разделе Wow6432Node, поэтому я их не сразу заметил.
А не работало, потому что эмулятор у меня находится в папке D:\KEm и этот путь я прописал в реестре, а для запуска я написал командный файл с такой строкой:
KEm.exe -base 65536 D:\Kem\HW.kex 123 456
Естественно, функция MemCmp показала неравенство строк "D:\KEm" и "D:\Kem".
Путь приложения и параметры передаются правильно, файловые функции пока не тестировал.
Вот только запускать программу надо всегда от имени администратора, что несколько напрягает...
Ключи реестра создаются в разделе Wow6432Node, поэтому я их не сразу заметил.
А не работало, потому что эмулятор у меня находится в папке D:\KEm и этот путь я прописал в реестре, а для запуска я написал командный файл с такой строкой:
KEm.exe -base 65536 D:\Kem\HW.kex 123 456
Естественно, функция MemCmp показала неравенство строк "D:\KEm" и "D:\Kem".
Путь приложения и параметры передаются правильно, файловые функции пока не тестировал.
Вот только запускать программу надо всегда от имени администратора, что несколько напрягает...
Добавил поддержку файловых путей непосредственно в структуре и относительных файловых путей.
Можно, например, в LodeRunner теперь поиграть.
Или в LaserTank.
calcplus, кстати, тоже ещё работает.
Пример со скроллбаром на FreeBasic http://board.kolibrios.org/viewtopic.ph ... 202#p47749
Пример со скроллбаром на Modula-2 http://board.kolibrios.org/viewtopic.ph ... 371#p47919
tinygl примеры, gears, например.
Возможно, ещё какие-то игры стали запускаться.
Интересную вещь обнаружил.
Когда выбираешь мышкой цвета в Colorref, то они меняются сразу в нескольких копиях запущенной программы.
Если запустить 3 копии хоть даже во всех трёх эмуляторах(MeOSEmul, KlbrInWin, KEm).
А в настоящей KolibriOS не так.
Интересно, кто-нибудь пробовал из-под Wine запускать?
Хотя, возможно, будет проблема как с ReactOS.
Там, вероятно, VirtualProtect не отрабатывает.
Из KEm.asm:Windows считает память, начиная с Header и включая data одним регионом:Похоже, что ReactOS так не считает.
Можно, например, в LodeRunner теперь поиграть.
Или в LaserTank.
calcplus, кстати, тоже ещё работает.
Пример со скроллбаром на FreeBasic http://board.kolibrios.org/viewtopic.ph ... 202#p47749
Пример со скроллбаром на Modula-2 http://board.kolibrios.org/viewtopic.ph ... 371#p47919
tinygl примеры, gears, например.
Возможно, ещё какие-то игры стали запускаться.
Интересную вещь обнаружил.
Когда выбираешь мышкой цвета в Colorref, то они меняются сразу в нескольких копиях запущенной программы.
Если запустить 3 копии хоть даже во всех трёх эмуляторах(MeOSEmul, KlbrInWin, KEm).
А в настоящей KolibriOS не так.
Интересно, кто-нибудь пробовал из-под Wine запускать?
Хотя, возможно, будет проблема как с ReactOS.
Там, вероятно, VirtualProtect не отрабатывает.
Из KEm.asm:
Code: Select all
Invoke VirtualProtect, 0x0010000, MEM_SIZE, PAGE_EXECUTE_READWRITE, Offset X
Spoiler:
В моём эмуляторе под линукс всё нормально, меняется только в одном окне. Хотя поначалу тоже были проблемы (не реагировала на клик).0CodErr wrote:Интересную вещь обнаружил.
Когда выбираешь мышкой цвета в Colorref, то они меняются сразу в нескольких копиях запущенной программы.
В нескольких программах (в том числе и в этой) есть проверка, является ли окно активным. Это делается анализом zpos.
Я пробовал, всё тот же "Read File error".0CodErr wrote:Интересно, кто-нибудь пробовал из-под Wine запускать?
Doom, Quake запустились0CodErr wrote:Возможно, ещё какие-то игры стали запускаться.
P.S. Периодическая таблица ещё не до конца функциональна.
Путь через реестр не очень удобно, лучше через ini.
Из хаоса в космос
Значит в linux нельзя выделить память в нуле.tsdima wrote:Я пробовал, всё тот же "Read File error".0CodErr wrote:Интересно, кто-нибудь пробовал из-под Wine запускать?
Kopa wrote:Под ReactOS эти тесты не заработaли. Выводит ошибку доступа к памяти Write only.
Первая версия в ReactOS работала.0CodErr wrote:Там, вероятно, VirtualProtect не отрабатывает.
Из KEm.asm:Windows считает память, начиная с Header и включая data одним регионом ... Похоже, что ReactOS так не считает.Code: Select all
Invoke VirtualProtect, 0x0010000, MEM_SIZE, PAGE_EXECUTE_READWRITE, Offset X
Немного переделал код, может теперь снова заработает.
Добавил загрузку скина и ещё некоторые функции.