Судя по всему QEMU 0.12.5 считается stable. Вышла 60 дней назад.
Попробовал загрузить в qemu образ дискеты релиза 0.7.7.0 (сборки декабря 2009го). Eolite тоже падает. При этом другие программы работают нормально (хотя тестировал я далеко не всё).
Что странно, в списке устройств есть /cd2/1, которого быть не должно. KFAR и KFM ругаются, что имеет место быть ошибка в файловой системе на этом диске.
Временное решение: выключить диски, видимые в BIOS. После этого все работает, хотя /cd2/1 все равно присутствует
Проверил сборки с 1474й и 1154й ревизиями. Та же песня.
Наверняка чудит QEMU. Под виндами пользовал QEMU 0.9
Из-под wine в qemu 0.9 все три фм работают (но cd2 почему-то все равно есть, интересно, откуда он)
У меня вообще-то тоже AQemu, но в ней наблюдаются все те же эффекты для п.1 и п.2 в консоли - меняешь путь и в одном случае Eolite вылетает, в другом не вылетает.
Мне так кажется проблема в том, что Eolite (в отличие от KFM и KFAR) не проверяет код ошибки возвращаемой функцией 70 и пытается работать с неверными данными. Нужно смотреть код приложения - но я не ЯВУ программист, я всего лишь ассемблерщик.
Сделал объединение темы с этой темой, а поскольку пост размещен раньше он помещается отнюдь не в конец темы и чтобы не затерялось:
vkos wrote:В документации написано:
======================================================================
============= Функция 9 - информация о потоке выполнения. ============
======================================================================
* +10 = +0xA: 11 байт: имя процесса
(имя соответствующего исполняемого файла в формате 8+3)
В реальности же расширения там нет (проверял отладчиком). Может стоит исправить документацию или исправить ядро?
По-моему, изменять ядро смысла нет. От расширения ни пользователю, ни программисту никакого профита нет. Одного лишь имени недостаточно (должен быть LFN-путь и имя). Если уж изменять ядро, то пусть будет указатель на ASCIIZ-строку с именем исполняемого файла. Или второй вариант:
* +10 = +0xA: 8 байт: имя процесса (имя файла без расширения)
* +18 = +0x12: 3 байт: зарезервировано
Возможно так и есть, не успел подробно разобраться. У консоли не нашел собственной темы, запостил только для Shell, хотя заметил еще в TEST_GETS и TESTCON2.
З.Ы. Отдельное спасибо Максиму - бурная деятельность которого иногда приносит полезный результат (почаще бы).