Попробовал я компилировать различные программы для Колибри, находящиеся в различных директориях.А после запускать эти программы(тестирования проводил на нескольких десятках программ).И вот какие результаты.
После запуска скомпилированной программы может быть:
1)Программа НАМЕРТВО вешает систему(например это происходит после запуска ANIMAGE).
2)Программа "вешает" Tinypad.
3)Если при компиляции программа подключает к себе файлы,то подключаемые файлы могут испортиться.
Это приводит к неправильному отображению(цветовому) кнопок в ANIMAGE, а также шрифтов в KFAR(вместо букв цветные прямоугольники пересечённые вертикальными линиями).
4)При компиляции выдаётся ошибка связанная со стеком(хотя никакой ошибки нет).
5)Программа успешно скомпилировалась и запустилась(как и должно быть).
Тестирования проводил с последней версией ядра и с самой последней версией FASM-а(скачал архив programs.7z с сайта Heavyron-а).
Новая модель ядра
Вчера компилировал программы их рабочей копии SVN и всё работало нормально. ANIMAGE нормально скомпилировался и загрузился потом перекомпилировал FASM и дальше компилировал им. Проверил лабиринт и тинипад, gmon и ещё
несколько программ. Скомпилировал ядро и запустил его, никаких проблем.
несколько программ. Скомпилировал ядро и запустил его, никаких проблем.
andrew_programmer
Проверь диски какой-нибудь утилитой проверки, может у тебя ошибки файловой системы.
Кстати ты так и нее написал конфигурацию компа в той ветке, хотя бы приблизительную.
Проверь диски какой-нибудь утилитой проверки, может у тебя ошибки файловой системы.
Кстати ты так и нее написал конфигурацию компа в той ветке, хотя бы приблизительную.
andrew_programmer наверное имел в виду компиляцию из самой колибри. Если да, то скорее всего на его компе глючит код работы с файлами, подтверждение здесь: http://meos.sysbin.com/viewtopic.php?t=506&start=120
Heavyiron
У него глючило когда записывалось врежиме DMA, сейчас в ядре запись в режиме DMA отключена, включено только чтение.
У него глючило когда записывалось врежиме DMA, сейчас в ядре запись в режиме DMA отключена, включено только чтение.
однако если кфар сейчас отрисовывает черный прямоугольник и неправильно копирует файлы с последним ядром, то дело здесь не только в ДМА
Heavyiron правильно сказал - я компилировал и запускал программы из самой Колибри(я эмулятором пользуюсь редко).
Возможно копирование файлов начало работать неправильно и с более ранними версиями ядра,но у меня их нет.
Диск сейчас проверю.
Возможно копирование файлов начало работать неправильно и с более ранними версиями ядра,но у меня их нет.
Диск сейчас проверю.
Проверил диск - ошибок нет(в том числе и на его поверхности).
Конфигурацию компьютера немогу выложить,потомучто нет программы для теста оборудования.
Есть старая версия Aida16 2.07
Она работает под досом и не сохраняет результаты тестирования.
А какую информацию о моей системе нужно ? Может я вручную что-то перепишу.
Конфигурацию компьютера немогу выложить,потомучто нет программы для теста оборудования.
Есть старая версия Aida16 2.07
Она работает под досом и не сохраняет результаты тестирования.
А какую информацию о моей системе нужно ? Может я вручную что-то перепишу.
andrew_programmer
Вот раздел:
http://meos.sysbin.com/viewtopic.php?t=616
А что скачать
http://soft.softodrom.ru/ap/p2524.shtml
разве сложно? (посморел в http://www.google.ru)
Я понимаю что это старая версия, но все же лучше чем ничего. И весит не много 3 метра с копейками...
Вот раздел:
http://meos.sysbin.com/viewtopic.php?t=616
А что скачать
http://soft.softodrom.ru/ap/p2524.shtml
разве сложно? (посморел в http://www.google.ru)
Я понимаю что это старая версия, но все же лучше чем ничего. И весит не много 3 метра с копейками...
У меня на счету осталось 4 мегабайта интернет-трафика.Вот использую их на благо Колибри.
Завтра скорее всего уезжаю из Казани.И моя активность прекратиться на пару недель.
Завтра скорее всего уезжаю из Казани.И моя активность прекратиться на пару недель.
andrew_programmer
Удачи. Надеюсь, твои проблемы благополучно разрешаться.
Удачи. Надеюсь, твои проблемы благополучно разрешаться.
Есть предложение установить все базовые адреса сегментов в 0 и перекомпилировать все программы добавив org
std_application_base_address. Тогда не надо будет переводить указатели из адресного пространство ядра в пространство приложения. Это упростит код ядра, сделает его короче и быстрее. Как минус утратится совместимость с МеОС, но её и так всё меньше и меньше.
Чтобы не было проблем с версиями логично совместить все изменения с выходом нового дистрибутива.
std_application_base_address. Тогда не надо будет переводить указатели из адресного пространство ядра в пространство приложения. Это упростит код ядра, сделает его короче и быстрее. Как минус утратится совместимость с МеОС, но её и так всё меньше и меньше.
Чтобы не было проблем с версиями логично совместить все изменения с выходом нового дистрибутива.
Serge
А заодно с переписывание приложений их можно адаптировать для полной работы с жесткого диска (без рамдиска). Правда придется ввести дополнительную функцию в ядре - получение системного пути (например: /hd0/1/kolibri/).
А на MeOS мы и так полностью забили.
А заодно с переписывание приложений их можно адаптировать для полной работы с жесткого диска (без рамдиска). Правда придется ввести дополнительную функцию в ядре - получение системного пути (например: /hd0/1/kolibri/).
А на MeOS мы и так полностью забили.
Для этого придется отсрочить выход дистрибутива.Чтобы не было проблем с версиями логично совместить все изменения с выходом нового дистрибутива.
Mario79
Вообще-то я не собирался переписывать все приложения. Только добавить директиву "org" с новым базовым адресом. Рамдиск тоже полезен если возникают проблемы с диском как у andrew_programmer.
А к системному пути надо ещё добавить функцию получения текущего каталога из которого программа запущена. Хотя его можно получить с i_icon никто не хочет сам разбирать путь. И если делать нормальные дескрипторы файлов то он просто неоходим если будут указываться относительные пути. Теперь в ядре есть malloc так что место для строки всегда можно выделить.
Думаю что всю работу можно сделать максимум за две недели.
Вообще-то я не собирался переписывать все приложения. Только добавить директиву "org" с новым базовым адресом. Рамдиск тоже полезен если возникают проблемы с диском как у andrew_programmer.
А к системному пути надо ещё добавить функцию получения текущего каталога из которого программа запущена. Хотя его можно получить с i_icon никто не хочет сам разбирать путь. И если делать нормальные дескрипторы файлов то он просто неоходим если будут указываться относительные пути. Теперь в ядре есть malloc так что место для строки всегда можно выделить.
Думаю что всю работу можно сделать максимум за две недели.
Serge
Находим конец пути (Byte 0), от него в обратную сторону ищем символ "/" в результате имеем начало и конец пути.
И не надо занимать память ядра...
Это достаточно простая процедура. Я не понимаю в чем сложность?Хотя его можно получить с i_icon никто не хочет сам разбирать путь.
Находим конец пути (Byte 0), от него в обратную сторону ищем символ "/" в результате имеем начало и конец пути.
И не надо занимать память ядра...
Who is online
Users browsing this forum: No registered users and 7 guests