Изменения на синем экране (boot-screen)

Kernel boot-loaders discussion
  • Serge wrote:yogev_ezra
    KolibriOS is a fork of MenuetOS
    А вот сформулируй это на русском. Я выступал против слова "основана".
    КолибриОС является форком МенуэтОС - Википедия одобряет
  • Leency wrote:Смотри: Ёгев, ты против
    Ленси, я прежде всего против, чтобы ты писал моё имя как Ёгев - я уже об этом просил, имей элементарное уважение. Ну да, голосование за самого себя в теме, быть ли тебе модератором, ещё не обязывает тебя читать саму тему. Кстати, твои исходники на C--, которые ты в тот день в одностороннем порядке объявил закрытыми, - они под какой лицензией? Не тот ли самый GPL, который "требует только наличия исходников в открытом доступе"?
  • Пример с Андроидом кстати весьма показателен. Если можно Гуглу, то почему нам нельзя? Между прочим в отличие от Гугла мы исходники сразу выкладываем. От ядра Menuet осталось не больше 15-20% уже и это только код ядра собственно, если сложить с драйверами то и того меньше. Тем не менее в исходниках везде честно указано наличие кода Вилле и остальных авторов, если таковые были до образования KolibriOS Team.

    Также есть достаточно убедительные, хоть и косвенные доказательства невозбранного копипиздинга кода из Колибри в M64, но там почему то об этом не упоминается.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote:Пример с Андроидом кстати весьма показателен. Если можно Гуглу, то почему нам нельзя?
    И ты хочешь, чтобы к KolibriOS относились так же, как к Google? Называли нас Корпорацией Добра Бобра/Бабла?
    Или подтрунивали над нами, как подтрунивают над ReactOS?

    Убирание упоминания MenuetOS на синем экране - ещё один повод для наших недоброжелателей сказать о нас какую-нибудь гадость.
  • Как и Мак основан на FreeBSD.
    Как и Firefox на Netscape.
    Как и Chrome на Safari, а Safari на KHTML.
    Продолжать можно до бесконечности...

    Короче, это вообще никак не обоснованное желание писать Menuet на стартовом экране и если кто-то будет возникать в будующем (а я сомневаюсь, что это кому-то будет нужно), то можешь смело отвечать ему, что он олень :)
    Last edited by Leency on Fri Jul 05, 2013 2:41 pm, edited 1 time in total.
    Из хаоса в космос
  • SoUrcerer wrote:Ночные сборки бывают нестабильны, и часто требуется расширенная отладочная информация ядра. В то же время, в нормальном режиме работы такая информация не требуется. Смена режимов отображения требует перекомпиляции ядра - и, что самое сложное - упаковывания его из Колибри.
    Я предлагаю для ночных сборок (а может и не только для них) добавить опцию "Включить вывод подробной отладочной информации" в синий экран.
    yogev_ezra « Wed Jun 19, 2013 6:15 pm » CleverMouse: А ты можешь на синем экране добавить 4-ую опцию, включить ядро с дебагом или без? Это реально?
    SoUrcerer « Wed Jun 19, 2013 6:22 pm » yogev_ezra: oh shi~~~~
    SoUrcerer « Wed Jun 19, 2013 6:23 pm » Или дебаговая информация в условно-компилируемых блоках сейчас, и отладочное ядро будет тяжелее обычного?
    yogev_ezra « Wed Jun 19, 2013 6:24 pm » SoUrcerer: Это я твою просьбу передаю, работаю секретарём. Две самые дельные просьбы передал :-)
    CleverMouse « Wed Jun 19, 2013 6:27 pm » я не понимаю, почему это вопросы ко мне
    yogev_ezra « Wed Jun 19, 2013 6:30 pm » CleverMouse: Потому что:
    CleverMouse « Mon Feb 18, 2013 12:29 pm » yogev_ezra: "половина разработчиков" = "один из двух"?
    CleverMouse « Mon Feb 18, 2013 12:40 pm » yogev_ezra: hidnplayr - есть такой разработчик, SoUrcerer - есть такой любитель портирования, остальные - это кто?
    CleverMouse « Wed Jun 19, 2013 6:32 pm » yogev_ezra: и что, отсюда следует, что я должна всё бросить и на всё смотреть?
    : В общем, как говорят в нашем проекте: Хочешь, чтобы что-то было сделано? - Сделай это сам! :wink:

    SVN #3777: Added 2 more options to blue screen: c) BOOT_DEBUG_PRINT and d) BOOT_LAUNCHER_START. Existing option "Boot device" is now e).
    BOOT_DEBUG_PRINT = If set to "yes"/"on", will duplicate debug output to the screen. Default is "no"/"off".
    BOOT_LAUNCHER_START = If set to "no"/"off", LAUNCHER application won't be run after kernel has loaded. Default is "yes"/"on".

    При включении BOOT_DEBUG_PRINT, полезно (но необязательно) отключать BOOT_LAUNCHER_START, потому что вывод дебаг сообщений на экране происходит одновременно с отрисовкой изображений от загружающихся через LAUNCHER программ, и часть текста просто затирается.

    P.S. Как можно заметить из моего коммита, я не добавлял строчку "KolibriOS is a fork of MenuetOS" обратно, хотя добавленная мной функциональность затрагивала как раз именно эти файлы. Это не значит, что я не планирую добавить эту строчку в будущем (просто мне это не так срочно, как вы думали).
  • yogev_ezra
    С почином!
    Также мои поздравления с первым блином, который как всем известно... :wink:
    Spoiler:

    Code: Select all

    ; LOAD FIRST APPLICATION
            cmp     byte [launcher_start], 1        ; Check if starting LAUNCHER is selected on blue screen (1 = yes)
            jnz     @f   ; куда идем мы с пятачком?
    
            cli
            mov     ebp, firstapp
            call    fs_execute_from_sysdir
            test    eax, eax
            jns     first_app_found
    
            mov     esi, boot_failed
            call    boot_log
    
            mov     eax, 0xDEADBEEF      ; otherwise halt
            hlt
    
    first_app_found:
    
            cli
    Оно конечно компилируется и даже работает.

    З.Ы. SVN r.3778 - Укоротил сообщения загрузочного лога и сдвинул вывод BOOT_DEBUG_PRINT вправо, теперь текст левой колонки не пересекается с текстом правой колонки, ну, по крайней мере в русской и английской версии ядра.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Я вчера слегка набыдлокодил (r3989), добавил поддержку нажатия ESC на синем экране (потому что часто хочется проверить, какие варианты есть в каждом пункте, но ничего не выбирать и оставить как было, а до моего исправления приходилось обязательно что-то выбирать). Есть 2 вопроса:
    1) Для пунктов -[e] работает нормально. Для пункта [a] тоже работает, но запоминает выбор сделанный по ESC, и потом его показывает, хотя на самом деле не выбирает. Как сделать так, чтобы и не показывало тоже?
    2) Я увидел много раз повторяющийся кусок кода, и сделал макрос

    Code: Select all

    macro _ask_question question,range,variable_to_set
    {
            _setcursor 16,0
            mov     si, question    ; Print the question
            call    print
            mov     bx, range       ; range accepted for answer
            call    getkey
            cmp     al, 27          ; If ESC was pressed, do not change the value
            jz      .esc_pressed
            mov     [variable_to_set], al
    }
    Можно ли сделать вместо макроса процедуру, которую вызывать через Call? И если да, то что лучше в этом конкретном случае (быстрее, занимает меньше байт, меньше памяти) - macro или procedure?
  • Макросы через call не вызывают, вызывают подпрограммы. Макрос же в конечном виде развернется в исходном виде для каждого случая, т.е. экономии в бинарнике не получишь.

    Насчет кода - это нужно смотреть и за пару минут подсказать не смогу.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • >> Макрос же в конечном виде развернется в исходном виде для каждого случая, т.е. экономии в бинарнике не получишь.
    Мне кажется yogev_ezra это понимает, потому и спрашивает. В данный момент он просто оптимизировал повтовяющийся код.
    Из хаоса в космос
  • Mario_r4 wrote:Макросы через call не вызывают, вызывают подпрограммы. Макрос же в конечном виде развернется в исходном виде для каждого случая, т.е. экономии в бинарнике не получишь.
    Так я поэтому и спросил, можно ли вместо макроса как-то сделать процедуру (подпрограмму) в данном случае?
    Leency wrote:>> Макрос же в конечном виде развернется в исходном виде для каждого случая, т.е. экономии в бинарнике не получишь.
    Мне кажется yogev_ezra это понимает, потому и спрашивает. В данный момент он просто оптимизировал повтовяющийся код.
    Да, именно так.
    Mario_r4 wrote:Насчет кода - это нужно смотреть и за пару минут подсказать не смогу.
    Если будет время посмотреть и исправить, то я буду очень признателен.
  • yogev_ezra wrote:1) Для пунктов -[e] работает нормально. Для пункта [a] тоже работает, но запоминает выбор сделанный по ESC, и потом его показывает, хотя на самом деле не выбирает. Как сделать так, чтобы и не показывало тоже?

    Сделал в SVN r.3999.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Пункты [c] и [d] необходимо объединить в один:
    - это упростит описание снизу
    - они и так всегда используются вместе
    - пользователю не известно что такое launcher, потому он не может сознательно менять его
    - из-за предыдущего пункта он может выключить запуск лаунчер и ПОЛУЧИТ то, что рабочий стол не загрузится после загрузки системы

    Существование пункта [d] отдельно - опасная функция и в любом случае должнать быть убрана из начального экрана.
    Из хаоса в космос
  • Leency wrote:Существование пункта [d] отдельно - опасная функция и в любом случае должнать быть убрана из начального экрана.
    Не согласен с доводами. Если пользователь клинический идиот, то не нужно лезть в настройки сервисного меню телевизора. Нормальные люди, в первую очередь разработчики, не должны ограничивать свои возможности из-за страха, что клинические неизлечимые прокладки между клавиатурой и креслом могут прищемить себе мозг от попыток его использования.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 1 guest