Page 2 of 21

Posted: Wed Feb 15, 2006 5:42 pm
by mike.dld
Ну знаешь ли. в MeOSEmul trantest показывает около 600 на моей WinXP

Posted: Wed Feb 15, 2006 5:56 pm
by diamond
Хмм... надо будет посмотреть реализацию... в meosemul
Впрочем, быстрого вызова системных функций я не обещал - процессор работает "вживую", но системные функции эмулируются. Видимо, соответствующая часть в meosemul'е написана лучше.

Posted: Wed Feb 15, 2006 8:20 pm
by mike.dld
Просто насколько это понимаю я, возможно неправильно работает таймер, потому что обновляется у тебя быстрее, как-то нездорово мне кажется.

Posted: Fri Feb 17, 2006 3:51 pm
by diamond
Упс... это была глупейшая ошибка... fixed
(Здесь и далее слова "качать там же" опускаются).
Винда, конечно, тормозит, но не на порядок. trantest: Kolibri: ~5200-5300; 98: ~5000-5300; XP: ~3300-3400. Для сравнения под MeOSEmul - ~400.

Posted: Fri Feb 17, 2006 7:35 pm
by mike.dld
Ну вот видишь, уже другое дело ;)

Posted: Sun Feb 19, 2006 5:04 pm
by ipr
У меня Linux/EXT3. Посему с харда не смогу пустить. А дисковод сдох.

Posted: Wed Feb 22, 2006 11:55 am
by Heavyiron
Diamond, отличный змулятор получился, но есть одно но, заставляющее меня использовать эмулятор майка. В винде у меня все файлы без расширения с ним ассоциированы. Очень удобно получается: можно запускать программы колибри двумя кликами мыши :) Проделать то же с твоим не получилось: "Input file read error" :( . Можно ли это как-нибудь исправить?
Может я и слишком ленивый, но ломает каждый раз открывать эмулятор, открывать путь к нужной проге и уже только потом запускать ее :).

Posted: Wed Feb 22, 2006 5:07 pm
by diamond
Heavyiron
Скорее всего, причина в том, что эмулятор пытается считать настройки из ini-файла, который ищет в текущем каталоге - в результате ini-файла нет, что и приводит к глюкам. Если это так, то это легко поправить - просто считывать из каталога с exe'шником. Скоро так и будет.
willow (чтение Enter)
Мда? Странно... надо будет посмотреть...

Posted: Wed Feb 22, 2006 7:43 pm
by Heavyiron
diamond wrote:Скоро так и будет.
Да будет так, и Родина тебя не забудет :wink:

Posted: Fri Feb 24, 2006 4:32 pm
by willow
diamond wrote:willow (чтение Enter)
Мда? Странно... надо будет посмотреть...
Похоже, проблема здесь (KlbrInWin.asm):

Code: Select all

; data for int40 emulating code - initialized
; from kernel.asm
keymap:
	db	'6',27,'1234567890-=',8,9	; 0x00
Enter выводит '6' . Видимо, нельзя просто копировать keymap из кода ядра.
Это я meForth запускаю :wink: В других эмуляторах такого бага нет.
Что если '6' заменить в кеймапах на 13? Форт после этой правки заработал правильно, но следует тестировать и другие приложения.

Posted: Sun Feb 26, 2006 4:20 pm
by diamond
Новая версия. Добавлены поддержка многопоточности, несколько новых системных функций и, видимо, некоторое количество новых багов. Кстати, рекомендую с каждой новой версией просматривать ini-файл, и, в частности, устанавливать путь к рамдиску (если требуется поддержка последнего). Выполнен запрос Heavyiron'а.
willow
А у меня не получается повторить этот глюк...

Posted: Mon Feb 27, 2006 11:43 am
by willow
Скачал новую версию - опять для нормальной работы meForth пришлось заменить '6' на 13 :-)
Может быть, ты внесешь это изменение перманентно? Я, например, ума не приложу, почему в kernel.asm на том месте '6'. Наверное, еще от Ville. Возможно, в отладочных целях как-то обрабатывался пустой буфер клавиатуры...

Posted: Mon Feb 27, 2006 5:15 pm
by halyavin
Потому что нулевого скан-кода не бывает...

Posted: Mon Feb 27, 2006 6:43 pm
by diamond
Теперь поддерживается функция 55, подфункция 55 (пищание системным динамиком) - эмулятор пищит колонками :-)
Звук можно отключить очередным параметром ini-файла, поддерживается и подфункция 8 функции 18 (получение/установка флага sound_flag). Можете послушать startmus :-)
Теперь полностью работает icon2 (как без параметров, так и с параметром BOOT). Кстати о icon2: приложение немного расходится с ядром в вопросе о формате данных функции 55::55 - в некотором месте ядро считает, что нота - число от 1 до 12 (включительно), а прочие элементы соответствующей таблицы содержат "мусор"; icon2 передает ноту 0.
И еще по поводу звука - в Kolibri по умолчанию звук включен, так что icon2 и menu пищат спикером при работе, а лично меня это несколько раздражает, так что первое действие, которое я произвожу после загрузки, - это выключение звука (нажатием на соответствующую иконку в @panel). Может, по умолчанию все же отключить?
willow
Если эта замена помогает, это означает, что в некоторый момент приходит сообщение, интерпретирующееся как нулевой сканкод, что очень странно и (теоретически по идее) невозможно. Это проявляется только на meForth? (Я пытался повторить на keyascii и scancode - все вроде бы нормально.) Если да, то можешь прислать meForth мне на мыло? (diamondz@land.ru) (вместе с комментариями по поводу повторения глюка). Конечно, нетрудно изменить '6' на 13, но где гарантия, что такого не проявляется с какими-нибудь другими клавишами?

Posted: Mon Feb 27, 2006 6:48 pm
by diamond
Пользователям NT/2k/XP+, имеющим права администратора.
kiwntf - make KlbrInWin on NT-systems Faster
http://shade.msu.ru/~msu-se/kiwntf.rar
http://shade.msu.ru/~msu-se/kiwntf_src.rar
Ускоряет системные вызовы за счет переключения на модель, используемую в 9x (NT-модель вызова там просто не работает), для чего требуется залезать в 0-кольцо (конкретно, подправить в IDT вход, соответствующий int 40) (для чего и нужны права администратора). Программа не требует установки; собственно, сам эмулятор тоже не требуется, хотя без него программа абсолютно бесполезна. Действие программы сохраняется до перезагрузки компа.