Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Oct 01, 2020 5:36 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 311 posts ]  Go to page Previous 16 7 8 9 1021 Next
Author Message
 Post subject:
PostPosted: Tue Nov 07, 2006 10:11 pm 
Offline

Joined: Wed May 18, 2005 7:27 pm
Posts: 1001
Спасибо, Женя!


Top
   
 Post subject:
PostPosted: Fri Nov 17, 2006 3:49 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Поддержка функций работы с кучей процесса (выделение/освобождение памяти) 68.11, 68.12, 68.13. Ссылки всё те же:
http://diamondz.land.ru/KlbrInWin.7z
http://diamondz.land.ru/KlbrInWin_src.7z

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Mon Nov 20, 2006 5:03 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Поддержка функции загрузки DLL (в том числе упакованных) 68.19.


Top
   
 Post subject:
PostPosted: Mon Dec 04, 2006 5:06 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Поддержка функций работы с курсорами 37.4 и 37.5. Добавлена иконка (автор - goglus) для самого exe-шника и для создаваемых окон.


Top
   
 Post subject:
PostPosted: Mon Dec 04, 2006 5:25 pm 
diamond
Эмулятор не поддерживает F18/11, меня терзают смутные сомнения, что из ядра она когда-нибудь исчезнет...
Или я не прав?

offtop:
В винде я использую расширение kex для запуска приложений через эмулятор, может и в Колибри пора ввести какое нибудь расширение?


Top
   
 Post subject:
PostPosted: Mon Dec 04, 2006 7:30 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario79 wrote:
Эмулятор не поддерживает F18/11, меня терзают смутные сомнения, что из ядра она когда-нибудь исчезнет...

Эмулятор поддерживает краткую версию таблицы, на 10 байт, потому что это нужно для работы sysxtree. Эмулятор не поддерживает полную версию таблицы, поскольку она нигде не используется.
А вообще использование полной версии чревато головной болью в будущем, правда, неясно, у кого: то ли у автора программы, использующей эту функцию, то ли у ядерщика, собравшегося добавить очередную файловую систему или улучшить поддержку существующей. Даже если ограничиться первыми двумя полями - начальный/конечный сектор раздела (как между строк рекомендуется в документации), всё равно появятся проблемы, если в ядре появится поддержка 64-битных номеров секторов (aka LBA48).
Quote:
В винде я использую расширение kex для запуска приложений через эмулятор

Во-первых, в винде можно ассоциировать пустое расширение с программой, правда, единственный известный мне способ - лезть ручками в реестр (HKEY_CLASSES_ROOT) и делать по аналогии с каким-нибудь уже существующим расширением. Во-вторых, лично я работаю в Far, используя собственный плагин, и мне вообще пофиг расширение - хоть пустое, хоть .bin, хоть .kex. kfar'у тоже пофиг - если расширение файла не находится в списке известных, он недолго думая передаёт файл функции запуска 70.7. В-третьих, есть доводы за пустое расширение: во-первых, привычка, во-вторых, это экономит 4 байта при записи имени запускаемого приложения в программах (/rd/1/tinypad короче, чем /rd/1/tinypad.kex) - мелочь, конечно, но факт.
Quote:
Обнаружил в эмуляторе особенность - можно два раза вызывать mcall 2 (для обработки расширенного набора клавиш), а на реальной машине должен присутвовать mcall 10 между ними, иначе не будет обработки клавиш (например стрелок).

А зачем бы это там mcall 10? Вроде бы mcall 2 просто считывает клавишу из буфера, а нажатие стрелок помещает в буфер сразу два кода. Разве что обработка сообщения о первом приходе irq1 -> нажатии клавиши происходит так быстро, что клавиатура просто не успевает послать второй байт - но полагаться на это слишком ненадёжно. (В винде на каждое нажатие стрелок приходит только одно сообщение, соответственно эмулятор вынужден помещать сообщения парой).

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Tue Dec 05, 2006 8:16 am 
diamond
Quote:
Эмулятор поддерживает краткую версию таблицы, на 10 байт, потому что это нужно для работы sysxtree.

Странно я не смог получить нормальные результаты, может в конфигурации нужно что-то прописать?

Quote:
А зачем бы это там mcall 10? Вроде бы mcall 2 просто считывает клавишу из буфера, а нажатие стрелок помещает в буфер сразу два кода. Разве что обработка сообщения о первом приходе irq1 -> нажатии клавиши происходит так быстро, что клавиатура просто не успевает послать второй байт - но полагаться на это слишком ненадёжно. (В винде на каждое нажатие стрелок приходит только одно сообщение, соответственно эмулятор вынужден помещать сообщения парой).

Я писал о различиях между реальной системой и эмулятором - на реальной системе не работает, а в эмуляторе работает.


Top
   
 Post subject:
PostPosted: Tue Dec 05, 2006 7:06 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario79
sysxtree работает? Если да, то функция 18.11 работает нормально.
Quote:
Я писал о различиях между реальной системой и эмулятором - на реальной системе не работает, а в эмуляторе работает.

Так и я про то же. Точнее, в первой части я описывал поведение на реальной системе - если причина именно в этом, то а) иногда работать всё же будет (зависит от загруженности процессора, механизма переключения потоков и т.д.) и б) необязательно делать mcall 10, можно, например, mcall 5,1 или просто выполнить любую долгую операцию (что означает "долгую", очень сильно зависит от компа и текущего состояния).


Top
   
 Post subject:
PostPosted: Tue Dec 12, 2006 12:26 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1072
Последняя версия эмулятора (если не запускать kiwntf.exe) как-то слишком подозрительно замедлилась в работе. Есть еще одна странность: если запустить kiwntf.exe, то gmon перестает запускаться в эмуляторе (AllowReadMSR=true и EnablePorts=295 296 у меня прописаны)


Top
   
 Post subject:
PostPosted: Mon Dec 18, 2006 5:00 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
gmon у меня на XP нормально запускается (и с kiwntf, и без). Впрочем, под 98й gmon отказывался обновлять своё окно, так что один глюк исправлен. Задержка при запуске почему-то сильно зависит от условий запуска: так, из-под Far'а при запуске через плагин и через командную строку в одном случае получалось ~1.5c, в другом ~3с. Удалось выяснить, что при загрузке драйвера задержка идёт от вызова NtFlushKey в глубинах services.exe (WinAPI-эквивалент именуется RegFlushKey), причём этот вызов там не по существу. В результате переписал загрузку драйвера на NtLoadDriver/NtUnloadDriver, в результате задержка при запуске с AllowReadMSR=true и/или непустым EnablePorts вообще исчезла.
Добавлена поддержка функции удаления курсора 37.6. Ссылки всё те же.


Top
   
 Post subject:
PostPosted: Tue Dec 19, 2006 12:16 am 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1072
Quote:
Задержка при запуске почему-то сильно зависит от условий запуска: так, из-под Far'а при запуске через плагин и через командную строку в одном случае получалось ~1.5c, в другом ~3с.

У меня замедлился не запуск, а работа эмулятора в целом без kiwntf.exe. Окна отрисовываются около секунды, trantest рисует что-то около 700 треугольников в секунду (после запуска kiwntf фпс вырастают до 22 тысяч). Проверил новую версию: все в точности так же, как в предыдущем посте.


Last edited by Heavyiron on Fri Feb 23, 2007 12:20 am, edited 2 times in total.

Top
   
 Post subject:
PostPosted: Wed Dec 20, 2006 2:39 pm 
Offline

Joined: Wed Jul 05, 2006 9:00 am
Posts: 81
Заметил глюк: функция 70.1 в эмуляторе работает не совсем корректно. Например попытка прочитать виртуальную директорию "/" проходит успешно, "/rd/" - тоже, а вот в "/rd/1/" читаются только папки, а файлы - нет. С "/hd0/1/" тоже самое.


Top
   
 Post subject:
PostPosted: Wed Dec 20, 2006 4:09 pm 
А у меня для RD в эмуляторе папки не работают. KFAR выдает ошибку.


Top
   
 Post subject:
PostPosted: Wed Dec 20, 2006 5:14 pm 
Offline

Joined: Wed Jul 05, 2006 9:00 am
Posts: 81
Примерно то же самое... Корневая папка читается, а любая папка второго уровня нет.


Top
   
 Post subject:
PostPosted: Thu Dec 21, 2006 2:57 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Баг с вылетом gmon исправлен. Прочих багов повторить пока не удалось.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 311 posts ]  Go to page Previous 16 7 8 9 1021 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited