Новый эмулятор

Running Kolibri and its programs in other OSes
  • diamond
    Ага, спасибо, теперь все понял. :-)
    Но, лучше все-таки писать документацию к программам...
  • Добавлена поддержка kpack'ованных скинов.
    Ушёл к умным, знающим и культурным людям.
  • http://diamondz.land.ru/KlbrInWin.7z
    http://diamondz.land.ru/KlbrInWin_src.7z
    Добавлена поддержка функции 30 и текущей папки в функции 70. Добавлена функция 18.13 получения версии - эмулятор возвращает версию 0.7.0.0, идентификатор 3 (UID_KlbrInWin) и имя "KlbrInWin". Да, кстати, в 18.13 таки будет добавляться ревизия ядра? Когда об этом шла речь в прошлый раз, не было сказано ни "да", ни "нет", а тема просто заглохла.
  • diamond

    По-моему возможность узнать ревизию через 18.13 была бы большим плюсом!
  • diamond
    Уже сделано :)
    Я подумал майк сделал, что подумал майк, я вообще хз... Но это в прошлом.
    Кстати, по голосованию было сказано 13 раз да и ниразу нет.
  • Обновлён формат возвращаемой информации в 18.13. Текущая реализация выдаёт номер ревизии 540 как первую ревизию, в которой 18.13 модифицирована.
  • Добавлена поддержка стиля Y=4.
  • Пофиксен вылет при определённых неправильных параметрах в 70-й функции. Функция 18.13 возвращает ревизию 549 как первую, в которой появилась поддержка стиля Y=4.
  • Исправления: 70.9 больше не ругается при создании уже существующей папки; 18.7 возвращала значение на единицу меньше правильного. Новый ключ в KlbrInWin.ini: AllowReadPCI=true (по умолчанию - false) разрешает выполнение чтения в функции 62 (подфункции 0,1,2,4,5,6) и на NT-системах требует прав админа. Запись не поддерживается, в основном, потому что мне было лень её писать, потому что я не вижу особого смысла (впрочем, в чтении особого смысла я тоже не вижу) и потому что в отличие от Колибри, где для большинства устройств драйверов нет и можно смело общаться с этими устройствами напрямую, в Windows драйвера как раз таки есть и вряд ли ожидают запись в PCI-пространство "их" устройств всякой фигни "чужими" действиями. Впрочем, если нужна и запись - свистните, у нас форум (в основном) ассемблерный, а ассемблер, как и Си, не станет мешать выстрелить себе в ногу (сочтя, что вы - профессиональный террорист и знаете, что делаете :)) Функция 57 не поддерживается по следующим соображениям: 1) по очевидным причинам её эмуляция была бы в основном просто копированием реализации 62-й; 2) непонятно, зачем поддерживать две функции, могущие одно и то же (причём в ядре 57-я функция при отсутствии PCI32 вообще скатывается на эмуляцию через 62-ю).
    Ушёл к умным, знающим и культурным людям.
  • Большое спасибо :-).

    ..bw
  • У меня при завершении программы всегда выдаёт ошибку: "Cannot load DLL". (OS VISTA)
  • При зависании программы KOS (не эмулятора) приходится завершать работу эмулятор через диспетчер задач (w2k). После этого очень часто идет ругань мол "Cannot load driver". Что делать? Перезагружать комп очень длительная процедура.

    ..bw
  • bw
    Прибей второй поток эмулятора.
  • Обновление, ссылки те же. Поддерживаются функции прибивания потока 18.2 и 18.18, но рекомендуется избегать их употребления (не только под KlbrInWin, но и под Kolibri - мало ли чем может заниматься прибиваемый поток...). Небольшие оптимизации используемых ресурсов. В ini-файл добавлен новый параметр, определяющий громкость звука в 55.55. midamp нормально работает, cpu нормально прибивает приложения. Вероятность появления ругательства "cannot load DLL" снижена.
    Кстати, в следующей версии вместо ini-файла будет setup.exe, умеющий создавать этот файл с нуля, обновлять существующие настройки до новых, а также ассоциировать KlbrInWin с любым списком расширений, включая пустое - а то мне надоели а) ошибки, возникающие из-за необновлённых путей для рамдиска/жёстких дисков и б) довод "используем расширение kex, поскольку с ним легко ассоциировать эмулятор".
    Ушёл к умным, знающим и культурным людям.
  • Who is online

    Users browsing this forum: No registered users and 10 guests