Page 16 of 31

Posted: Tue Jan 23, 2007 12:07 am
by andrew_programmer
Попробовал я компилировать различные программы для Колибри, находящиеся в различных директориях.А после запускать эти программы(тестирования проводил на нескольких десятках программ).И вот какие результаты.

После запуска скомпилированной программы может быть:

1)Программа НАМЕРТВО вешает систему(например это происходит после запуска ANIMAGE).

2)Программа "вешает" Tinypad.

3)Если при компиляции программа подключает к себе файлы,то подключаемые файлы могут испортиться.
Это приводит к неправильному отображению(цветовому) кнопок в ANIMAGE, а также шрифтов в KFAR(вместо букв цветные прямоугольники пересечённые вертикальными линиями).

4)При компиляции выдаётся ошибка связанная со стеком(хотя никакой ошибки нет).

5)Программа успешно скомпилировалась и запустилась(как и должно быть).

Тестирования проводил с последней версией ядра и с самой последней версией FASM-а(скачал архив programs.7z с сайта Heavyron-а).

Posted: Tue Jan 23, 2007 10:07 am
by Serge
Вчера компилировал программы их рабочей копии SVN и всё работало нормально. ANIMAGE нормально скомпилировался и загрузился потом перекомпилировал FASM и дальше компилировал им. Проверил лабиринт и тинипад, gmon и ещё
несколько программ. Скомпилировал ядро и запустил его, никаких проблем.

Posted: Tue Jan 23, 2007 10:54 am
by Mario79
andrew_programmer
Проверь диски какой-нибудь утилитой проверки, может у тебя ошибки файловой системы.
Кстати ты так и нее написал конфигурацию компа в той ветке, хотя бы приблизительную.

Posted: Tue Jan 23, 2007 10:56 am
by Heavyiron
andrew_programmer наверное имел в виду компиляцию из самой колибри. Если да, то скорее всего на его компе глючит код работы с файлами, подтверждение здесь: http://meos.sysbin.com/viewtopic.php?t=506&start=120

Posted: Tue Jan 23, 2007 11:01 am
by Mario79
Heavyiron
У него глючило когда записывалось врежиме DMA, сейчас в ядре запись в режиме DMA отключена, включено только чтение.

Posted: Tue Jan 23, 2007 11:08 am
by Heavyiron
однако если кфар сейчас отрисовывает черный прямоугольник и неправильно копирует файлы с последним ядром, то дело здесь не только в ДМА

Posted: Tue Jan 23, 2007 1:27 pm
by andrew_programmer
Heavyiron правильно сказал - я компилировал и запускал программы из самой Колибри(я эмулятором пользуюсь редко).
Возможно копирование файлов начало работать неправильно и с более ранними версиями ядра,но у меня их нет.

Диск сейчас проверю.

Posted: Tue Jan 23, 2007 3:08 pm
by andrew_programmer
Проверил диск - ошибок нет(в том числе и на его поверхности).

Конфигурацию компьютера немогу выложить,потомучто нет программы для теста оборудования.
Есть старая версия Aida16 2.07
Она работает под досом и не сохраняет результаты тестирования.
А какую информацию о моей системе нужно ? Может я вручную что-то перепишу.

Posted: Tue Jan 23, 2007 3:16 pm
by Mario79
andrew_programmer
Вот раздел:
http://meos.sysbin.com/viewtopic.php?t=616
А что скачать
http://soft.softodrom.ru/ap/p2524.shtml
разве сложно? (посморел в http://www.google.ru)
Я понимаю что это старая версия, но все же лучше чем ничего. И весит не много 3 метра с копейками...

Posted: Tue Jan 23, 2007 3:30 pm
by andrew_programmer
У меня на счету осталось 4 мегабайта интернет-трафика.Вот использую их на благо Колибри.
Завтра скорее всего уезжаю из Казани.И моя активность прекратиться на пару недель.

Posted: Tue Jan 23, 2007 4:51 pm
by Mario79
andrew_programmer
Удачи. Надеюсь, твои проблемы благополучно разрешаться.

Posted: Tue Jan 23, 2007 5:03 pm
by Serge
Есть предложение установить все базовые адреса сегментов в 0 и перекомпилировать все программы добавив org
std_application_base_address. Тогда не надо будет переводить указатели из адресного пространство ядра в пространство приложения. Это упростит код ядра, сделает его короче и быстрее. Как минус утратится совместимость с МеОС, но её и так всё меньше и меньше.

Чтобы не было проблем с версиями логично совместить все изменения с выходом нового дистрибутива.

Posted: Tue Jan 23, 2007 5:11 pm
by Mario79
Serge
А заодно с переписывание приложений их можно адаптировать для полной работы с жесткого диска (без рамдиска). Правда придется ввести дополнительную функцию в ядре - получение системного пути (например: /hd0/1/kolibri/).
А на MeOS мы и так полностью забили. :-)
Чтобы не было проблем с версиями логично совместить все изменения с выходом нового дистрибутива.
Для этого придется отсрочить выход дистрибутива.

Posted: Tue Jan 23, 2007 5:31 pm
by Serge
Mario79
Вообще-то я не собирался переписывать все приложения. Только добавить директиву "org" с новым базовым адресом. Рамдиск тоже полезен если возникают проблемы с диском как у andrew_programmer.
А к системному пути надо ещё добавить функцию получения текущего каталога из которого программа запущена. Хотя его можно получить с i_icon никто не хочет сам разбирать путь. И если делать нормальные дескрипторы файлов то он просто неоходим если будут указываться относительные пути. Теперь в ядре есть malloc так что место для строки всегда можно выделить.
Думаю что всю работу можно сделать максимум за две недели.

Posted: Wed Jan 24, 2007 8:10 am
by Mario79
Serge
Хотя его можно получить с i_icon никто не хочет сам разбирать путь.
Это достаточно простая процедура. Я не понимаю в чем сложность?
Находим конец пути (Byte 0), от него в обратную сторону ищем символ "/" в результате имеем начало и конец пути.
И не надо занимать память ядра...