Пара замечаний:
1. Сейчас уже можно с небольшой переделкой запилить иконки 32х32 с видом плитка.
2. Я перевожу настройки своих программ на функцию GetIni() которая вначале ищет .ini файл в /kolibrios/settings/ если находит - работает с ним, нет, с тем что в /sys/settings/
Следствие из этого изменения: все файлы настроект С-- переезжают в /settings/, т.е. Eolite.ini и pixie.ini.
Нужно для того, чтобы мои настройки хранились на жестком без необходимости постоянного и нудного пересохранения образа, который я потом все развно заменяю на latest_img. Вообще нужно данную функцию додумать, это так временный хак.
Eolite
-
Из хаоса в космос
Я уже давно хотел приобрести себе олдскульный ноутбук и потому периодически мониторил olx.ua (на сколько я понимаю в России есть аналогичнй ресурс Авито). Старые ноутбуки товар специфичный: их цена до определенного момента падает-падает перехотя в категорию "старье", а потом стремительно летит вверх в категорию "раритет". Особенно, если ноутбук в хорошем состоянии, что редкость для железки 20-летней давности.
Так что я 3 месяца мониторил рынок, пока мне не улыбнулась удача и я не купил Toshiba Satellite 2520CDS. Параметры:
- 300MHz AMD K6-2
- RAM 32Mb
- IDE 3.0 GB
- Windows 98
- S3 ViRGE/MX 2Mb
- 13.0" DSTN
- USB 1.0
- PCMCIA
Повезло еще и в том, что CD оказался рабочим, хоть я и намудохался пока записал диск в формате, который он понял. Если бы не CD пришлось бы мудохаться с дискетами, т.к. USB в Window 98 не имел драйверов на флешку, а LAN (RJ45) там нет. Я думаю позже сделаю обзор на данный ноутбук.
Ближе к сути, Колибри на нем прекрасно заработала! И вместе с ней заработали USB флешки, которые ни в какую не хотели подниматься в WIN98. Можно было переносить информацию не тратя CD-диски!
...И тут вылезла проблема с Eolite'ом, который не умел копировать файлы размером больше ОЗУ, а ее зесь напомню всего 32 Мб.
Так что встречайте #7210 в которой Eolite 3.85 умеет копировать поблочно (4Мб) и еще исправлено две маленькие и одна критичная ошибка (тоже связанная с копированием).
Так что я 3 месяца мониторил рынок, пока мне не улыбнулась удача и я не купил Toshiba Satellite 2520CDS. Параметры:
- 300MHz AMD K6-2
- RAM 32Mb
- IDE 3.0 GB
- Windows 98
- S3 ViRGE/MX 2Mb
- 13.0" DSTN
- USB 1.0
- PCMCIA
Повезло еще и в том, что CD оказался рабочим, хоть я и намудохался пока записал диск в формате, который он понял. Если бы не CD пришлось бы мудохаться с дискетами, т.к. USB в Window 98 не имел драйверов на флешку, а LAN (RJ45) там нет. Я думаю позже сделаю обзор на данный ноутбук.
Ближе к сути, Колибри на нем прекрасно заработала! И вместе с ней заработали USB флешки, которые ни в какую не хотели подниматься в WIN98. Можно было переносить информацию не тратя CD-диски!
...И тут вылезла проблема с Eolite'ом, который не умел копировать файлы размером больше ОЗУ, а ее зесь напомню всего 32 Мб.
Так что встречайте #7210 в которой Eolite 3.85 умеет копировать поблочно (4Мб) и еще исправлено две маленькие и одна критичная ошибка (тоже связанная с копированием).
Из хаоса в космос
Кто то недавно писал, про не поддерживаемые инструкции на АМД К6 ?
Там действительно некоторые программы падают, из тех что я видел были только некоторые 3D и 2D демки.
А вот что не работает - так это как оказалось запись на HDD, да и чтение папки иногда падает. Буду репортить.
А вот что не работает - так это как оказалось запись на HDD, да и чтение папки иногда падает. Буду репортить.
Из хаоса в космос
Судя по попыткам использования уже AVX в ядре, нужно будет создавать кастомную сборку системы....Leency wrote:Там действительно некоторые программы падают, из тех что я видел были только некоторые 3D и 2D демки.
А вот что не работает - так это как оказалось запись на HDD, да и чтение папки иногда падает. Буду репортить.
Leency
Умеет копировать поблочно или всегда копирует поблочно? А то в большинстве случаев 4Мб это маловато.
Умеет копировать поблочно или всегда копирует поблочно? А то в большинстве случаев 4Мб это маловато.
Есть же в системе ф-ция определения оперативной памяти?Pathoswithin wrote:Leency
Умеет копировать поблочно или всегда копирует поблочно? А то в большинстве случаев 4Мб это маловато.
Технологии меняют мир, а я - меняю технологии.
Pathoswithin
Именно умеет. Сейчас идет проверка сколько Озу, если ее не хватает, то копирует поблочно иначе целыми файлами. 4 мб сейчас захардкожено, но это нужно переделать на высчитывание оптимального размера для копирования. Грубо говоря даже так будет ок:
Block=4mb
If getfrderam>80mb then block=32mb
Что думаете?
Паша, есть.
Именно умеет. Сейчас идет проверка сколько Озу, если ее не хватает, то копирует поблочно иначе целыми файлами. 4 мб сейчас захардкожено, но это нужно переделать на высчитывание оптимального размера для копирования. Грубо говоря даже так будет ок:
Block=4mb
If getfrderam>80mb then block=32mb
Что думаете?
Паша, есть.
Из хаоса в космос
А может всегда копировать поблочно? Перед началом копирования определить размер блока как некоторую часть от доступной памяти, скажем 20% или 30%.
Для копирования в шелл, я брал 1Мб но не более половины свободной памяти.Leency wrote:Pathoswithin
Именно умеет. Сейчас идет проверка сколько Озу, если ее не хватает, то копирует поблочно иначе целыми файлами. 4 мб сейчас захардкожено, но это нужно переделать на высчитывание оптимального размера для копирования. Грубо говоря даже так будет ок:
Block=4mb
If getfrderam>80mb then block=32mb
Что думаете?
http://websvn.kolibrios.org/filedetails ... 2Fcmd_cp.c :81
от большего увеличения особой выгоды по скорости не заметил.
Рейды по 64кб блоки, а вот для SSD там может быть и 2Мб - наверное надо начинать с этого размера и более, а потом ограничиваться свободной памятью.
Eolite 3.9
Большие иконки подвезли. Включаются в настройках.
Большие иконки подвезли. Включаются в настройках.
- Attachments
-
-
Eolite_3.9.png (50.37 KiB)Viewed 9209 times
-
Из хаоса в космос
Конечно далёк от фэншуя, но зачем объявлять и выделять память в начале main:
если devbuf используется только внутри switch за словом default:
?
Кстати, справочка из Sphinx C--:
Комментарии, что хотели сделать обновлением, их нет. Лучше, чтобы появились.
Коммит в SVN "fix5" очень подробно раскрывает суть исправления (собственно никак не раскрывает).
Если devbuf используется где-то ещё, то может сделать его глобальной переменной, а если нет - то следует поместить его внутрь default, чтобы при выполнении main'а память не отжирал. С другой стороны, если буфер непрерывно используется в цикле (то чтобы не выделять постоянно память, объявлено нормально), но тогда почему он попал в default?
При быстром просмотре ещё вопрос по системной функции ReadDir(): какая это конкретно функция ядра? Где она объявлена или это часть языка С-- (в доках языка не нашёл)? Собственно в каком файле об этой обёртке найти/почитать? Функция нигде в Eolite больше не используется, нужно больше уверенности в её корректном применении.
Code: Select all
dword devbuf;
...
devbuf = malloc(10000);
Code: Select all
ReadDir(19, devbuf, "/");
Кстати, справочка из Sphinx C--:
Рекомендации:Оператор, следующий за ключевым словом default, выполняется, если ни одна из констант не равна значению выражения. Если default опущено, то ни один оператор в теле переключателя не выполняется, и управление передается на оператор, следующий за switch.
Комментарии, что хотели сделать обновлением, их нет. Лучше, чтобы появились.
Коммит в SVN "fix5" очень подробно раскрывает суть исправления (собственно никак не раскрывает).
Если devbuf используется где-то ещё, то может сделать его глобальной переменной, а если нет - то следует поместить его внутрь default, чтобы при выполнении main'а память не отжирал. С другой стороны, если буфер непрерывно используется в цикле (то чтобы не выделять постоянно память, объявлено нормально), но тогда почему он попал в default?
При быстром просмотре ещё вопрос по системной функции ReadDir(): какая это конкретно функция ядра? Где она объявлена или это часть языка С-- (в доках языка не нашёл)? Собственно в каком файле об этой обёртке найти/почитать? Функция нигде в Eolite больше не используется, нужно больше уверенности в её корректном применении.
Ну дык автор — дизайнер, а не программист, конкретно приведённый код — это ещё не так плохоtheonlymirage wrote:Конечно далёк от фэншуя, но зачем объявлять и выделять память в начале main:
Код:
dword devbuf;
...
devbuf = malloc(10000);
если devbuf используется только внутри switch за словом default:
Код:
ReadDir(19, devbuf, "/");
?
Насколько можно судить по коду\форуму\чату\svn автор делает по принципу: работает, да и ладно; а если не работает — ну не судьба, значит.theonlymirage wrote:Комментарии, что хотели сделать обновлением, их нет. Лучше, чтобы появились.
Коммит в SVN "fix5" очень подробно раскрывает суть исправления (собственно никак не раскрывает).
Если devbuf используется где-то ещё, то может сделать его глобальной переменной, а если нет - то следует поместить его внутрь default, чтобы при выполнении main'а память не отжирал. С другой стороны, если буфер непрерывно используется в цикле (то чтобы не выделять постоянно память, объявлено нормально), но тогда почему он попал в default?
theonlymirage wrote:При быстром просмотре ещё вопрос по системной функции ReadDir(): какая это конкретно функция ядра?