"Ночные" сборки KolibriOS

Share your distros and discuss others'
  • Таки было сломано в ревизии 1260, дальше поправлено в следующих ревизиях, но видимо не все учтено. Мои попытки допилить не увенчались успехом.

    Еще минус что сам драйвер vmode.asm нужно причесывать к текущему ядру, поскольку там наблюдаются указатели вида:
    Spoiler:

    Code: Select all

          mov eax,[OS_BASE+0FE00h]
          mov ebx,[OS_BASE+0FE04h]
    ...
          mov esi,OS_BASE+010000h
    ...
          cmp esi,OS_BASE+30000h
    ...
    
    Проще этот код выбросить, как и нестандартную загрузку драйвера. Как и предлагал Serge.

    Как альтернативу можно попробовать сделать выбор режимов, которые были при загрузке, через V86.

    Однако у меня есть большие сомнения - будет ли это все работать на фоне будущих изменений ядра, связанных с внедрением USB (диски /bdX/X таки ломаются), APIC и прочего.
  • Уважаемый, Mario (Mario79), кому-нубудь было интересно как это сделано в win (videoprt.sys - для "почти" любой (S)VGA-совместимой системы с возможность настройки V-Refresh). В Lin используется похожая схема, но для ограниченного количества оборудования.
    И ещё вопрос: "Ещё одна модель ядра будет?"
    Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!
  • Сломали два года назад. Очень актуальный драйвер.
  • Serge wrote:Сломали два года назад. Очень актуальный драйвер.
    Ссылку выложишь?
    Думаю будет интересно всем.
    Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!
  • Я про vmode.mdr
  • Artyom wrote:как это сделано в win (videoprt.sys - для "почти" любой (S)VGA-совместимой системы с возможность настройки V-Refresh). В Lin используется похожая схема, но для ограниченного количества оборудования.
    Процитирую автора этой фичи:
    Spoiler:

    Code: Select all

    Vertical Refresh Rater 
    
    Версия 2.0
    
    Copyright (C) 2003, Trans
    
    
    Text Version 1.1 (02.08.03)
    
    Win text (cp1251).  (DOS codepage text - see down.)
    -------------------------------------------------------------------------------
    
    Содержание:
    1. Зачем это надо?
    2. Установка.
    3. Использование.
    4. Вопросы и ответы.
    5. Поддержка.
    
    1. Зачем это надо?
    ---------------------
    Проблема "60 Гц" очень остро встает перед пользователями MeOS в современных условиях.
    Как правило, большинство современных компьтеров комплектуется 17 дюймовыми 
    мониторами (все что написано ниже крайне не актуально для владельцев ЖК мониторов).
    Если на 14 или 15 дюймовом мониторе еще можно как то смриться с частотой вертикальной
    развертки 60 Гц, то уже при 17 дюймовом мониторе это превращается в пытку. А про
    больших размеров мониторы вообще говорить не хочется, т.к. это превращается почти
    в слайд-шоу. Конечно же все выше сказанное относится к стандартному интерфейсу
    VESA. Сразу хочу предупредить вопросы по поводу VESA 3.0 - да, интерфейс более
    богатый по возможностям, но и в нем нет способа преключения видеорежима  при
    работе процессора в защищенном режиме (режим V86 в MeOS не реализован !!!).
    
    В связи с тем, что MeOS не умеет (еще не научили :) ) детектировать оборудование
    компьютера при загрузке, устанавливаемый графический видеорежим имеет стандартную
    частоту вертикальной развертки равную 60 Гц (!!!!!)
     
    Программа является свободно распространяемой (FreeWare) и поставляется "Как есть...".
    Автор не несет ответственности за возможный причиненный ущерб ( :) ).
    
    !!!!!_Предупреждение_!!!!!:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ! На текущий момент программа носит ЭКСПЕРИМЕНТАЛЬНЫЙ (!) характер, поэтому всегда   !
    ! остается вероятность порчи оборудования (т.е. монитора). Особенно это касается всех !
    ! тех, чей монитор не имеет защиты от перегрузок по частоте.                         !
    ! Для всех рискнувших - просьба -> Заполнить прилагающуюся информационную форму      !
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    2. Установка.
    ---------------
    Извлечь файл VRR (исполняемый файл MeOS) из архива и поместить в корневой каталог 
    диска C:\ (Fat32. В принципе, может быть любой католог)  или на загрузочную дискету
    MeOS.
    
    
    3. Использование.
    --------------------
    Файл VRR является стандарным исполняемым файлом операционной системы MeOS, который
    можно запустить на исполнение, например, через SYSTREE или MASH.  
    
    После появления окна программы, будет отображено текущее разрешение и таблица
    возможных режимов и частот вертикальной развертки для них. К сожалению, разверток
    пока очень мало (похоже на то, это очень крутой секрет или же этим никто в серьез
    не занимался ввиду отпугивающей сложности. Во всяком случае в сети крайне мало
    информации по этому поводу и по большей части приходится догадываться о положении
    дел). 
    
      Выбор  и установка видорежима
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Видоережим с интересующей частотой можно выбрать _только_ (!!!!!) с помощью 
    цифровых клавиш: 1, 2, 3, 4, 5. Сначало нужно выбрать разрешение, а затем
    частоту. Каждый выбор сопровождается индикацией на экране. Для установления 
    выбранного видеорежима нужно нажать клавишу 'Enter' или кнопку 'Ok'. После перехода
    в выбранный видеорежим у вас есть 13 секунд выбора. Можно ничего не делать и
    через это время вернетесь в исходный видеорежим, а можно нажать пару раз какую-
    -нибудь клавишу или кликнуть пару раз по "остаткам" (артефактам) исходного окна
    программы и зафиксировать выбор. Размеры окна по горизотали можно регулировать 
    кнопками "Право\Лево" или клавишами "+\-". 
    Для корректировки выбора используйте кнопку "Cancel".
    
    В программе реализовано принудительное возвращение в исходный видеорежим с частотой
    60 Гц с помощью кнопки "Default". А так же можете вернуться в последний рабочий
    режим с помощью кнопки "Return" или клавиши 'r'.
    
    Пример:
    Установлен режим 1024х768 при 60 Гц. Нужно 800х600 при 95 Гц.
    Действия: нажать '3', затем '1' и далее клавишу "Enter" или кнопку "Ok". После перехода
    в выбранный видеорежим кликаем пару раз на "остатка" (или том месте где было) окна.
    Далее при необходимости корректируем размер экрана по горизонтали с помощью кнопок
    "Право\Лево"
    
    
    4. Вопросы и ответы.
    ------------------------
    
    5. Поддержка.
    ----------------
    Все вопросы, замечания и пожелания Вы можете направить автору по следующим адресам:
    
                       transafe@rambler.ru
                       transafe@chat.ru
                       trans397@yahoo.com
    
    Пользуйтесь на здоровье!
    Trans.
    Следовательно метод очень не универсальный, не актуральный для большинства оборудования и в некоторых случаях способный сжечь оборудование, либо привести к его преждевременному износу. У меня кстати так и случилось в конечном счете - монитор 17 дюймовый сдох за два года, выгорел выходной каскад строчной развертки. Я его потом отремонтировал, но получилось криво - заменил транзисторы на подобные российского производства, ну и не совсем в режиме все функционировало, а родных компонентов для него не смог найти.
    Artyom wrote:И ещё вопрос: "Ещё одна модель ядра будет?"
    Собственно не понял смысла вопроса. Почему был сделан такой вывод вообще?
  • Serge wrote:Сломали два года назад. Очень актуальный драйвер.
    Я уже приступил к демонтажу, но если честно странно слышать от тебя такое. Ты же сам тоже ковыряешь ATI и должен ратовать за расширение функционала.
  • Mario wrote: Однако у меня есть большие сомнения - будет ли это все работать на фоне будущих изменений ядра, связанных с внедрением USB (диски /bdX/X таки ломаются), APIC и прочего.
    Я про этот текст.
    Программист не тот, кто постоянно пишет КОД, а тот кто сможет понять чужой КОД!!!
  • Зачем? Давно уже режим V86 в ядре реализован. Просто возникли сомнения не будет ли это мартышкин труд.
  • Mario
    Я за расширение функционала, но специализированными драйверами.
    Мой 17" CRT тоже быстро сдох. Думаю что большое количество перезагрузок плохо на него подействовало.
  • Неплохо будет из docpack убрать материалы по VRR, если и VRR тоже не будет.
    Еще предлагаю запускать @panel после icon. При загрузке, если нажать на клавишу super (что я делаю постоянно по неведомым мне причинам), есть очень ненулевая вероятность запустить menu раньше icon. Это выглядит печально, как глюк.
  • VRR из DOCKPACK я убрал в ревизии 2258, но я заметил что руководство по FASM старое, надо его обновить. Однако у нас есть русский перевод документации по FASM 1.64, да устарело, но по русски. Имеет смысл в русскую сборку положить перевод или все же везде положить английскую, но свежую? Сам FASM по идее тоже надо обновлять, но там могут быть тонкости с правкой кода (к примеру написание макросов иногда меняется), чтобы не наступать на грабли пока не трогаю.
  • Лучше свежую аглицкую.
  • Чего-то фигня какая-то const.inc, мало того что с memmap.inc не соотносится, так еще с 1941 ревизии:
    Spoiler:

    Code: Select all

    BOOT_VAR            equ (OS_BASE+0x02f0000)
    ...
    BOOT_VAR            equ (OS_BASE+0x0340000)
    
    Прямо как:
    Spoiler:
    Так, у нас М танков. Нет, М мало, пусть будет N танков...
    Зачем потребовалось переносить BOOT_VAR, оставлять еще одну дырку в памяти на 32 Кб, потом сдвигать еще на 16 кб, оставляя еще одну дырку - мне совершенно не понятно. Потеря 48 Кб, конечно не фатальна, но зачем?
  • Who is online

    Users browsing this forum: No registered users and 29 guests