Совместимость сос тарым оборудованием...
-
Вот попадаются мне часто пожилые экземпляры 90-х годов выпуска (я про компы), так вот это дело поддерживать-то сколь-нибудь мало планируется, или все завязывается на новое оборудование? Дело в том, что ни на одной, сколь-нибудь старой машине колибри виснет, причем я пробовал штуки три-четыре ядра... Или ребутится, или... А еще у меня ат-шный корпус, но мать дершит как АТ, так и FN{/// А вот при выключении питания или перезагрузке я не уловил, чтобы это было предусмотрено - система виснет намертво, помогает только резет... А ведь прежде всего нужно обеспечить совместимость...
Хм, 90-е годы? Это очень расплывчатая конфигурация компьютера . Несколько конкретнее пиши хотя бы.
Хорошо... AM-486, 16 MB RAM, 1,2 Gb HDD, ?
Intel Celeron 433 MHZ, 128 MB RAM PC-133, Intel810 (integrated video), Sound:CS4281 (SB Compatible), HDD 10GB, DVD-RAM резак, LG CD-52x, ...
Intel P100 - 16 MB - 1,2 GB, VIDEO - S3
Intel Pentium II - 366, 64 MB RAM, 7,4 HDD SAMSUNG, Sound Blaster, Video - Не поню...
Еще приводить? Если первый и 486 - экзотика, то все остальное используется. А 486-е еще на предприятияхз на некоторых в моем городе работают... А еще есть П3, АМД-К5, ...
Intel Celeron 433 MHZ, 128 MB RAM PC-133, Intel810 (integrated video), Sound:CS4281 (SB Compatible), HDD 10GB, DVD-RAM резак, LG CD-52x, ...
Intel P100 - 16 MB - 1,2 GB, VIDEO - S3
Intel Pentium II - 366, 64 MB RAM, 7,4 HDD SAMSUNG, Sound Blaster, Video - Не поню...
Еще приводить? Если первый и 486 - экзотика, то все остальное используется. А 486-е еще на предприятияхз на некоторых в моем городе работают... А еще есть П3, АМД-К5, ...
Забыл еще добавить... В i810 во всех видеопамять берется из оперативки... А Колибри это вообще никак не учитывает...
Nameless
Я сам лично Колибри запускал на Pentium100,AMD-K5(75Mhz) с видеокартами S3 работающих в vesa1.2 или vesa2.0 Всё отлично работало.
Возможно ты как-то неправильно запускал.
В одно время действительно были проблемы со старым железом(размер LFB памяти неправильно определялся), но в дистре 0.6.5.0 всё заработало.
Я сам лично Колибри запускал на Pentium100,AMD-K5(75Mhz) с видеокартами S3 работающих в vesa1.2 или vesa2.0 Всё отлично работало.
Возможно ты как-то неправильно запускал.
В одно время действительно были проблемы со старым железом(размер LFB памяти неправильно определялся), но в дистре 0.6.5.0 всё заработало.
0/6/50 как раз ни на одной машине и не работает... Я просто распаковываю имидж на дискетку и перегружаюсь... После загрузки рамдиска - полный повисон. Прчем запустить ЦПУ тремя клавишами можно, так же нормально запускаются приложения, не требовательные к памяти (не более трех штук), через две минуты виснут и они, либо вылетают с соответствующим сообщением в доске...
У меня нет оборудования на котором можно тестировать. =) Только мой PentiumII 300МГЦ видео agp i740.
Насчет i810 легко исправить. Для определения размера идет тестирование его объема. Функция mem_test в memory.inc.
Функция не коректа возможен случий когда фидео память(LFB) распологается сразу за основной памятью компьютера так что возможен некоректное определение объема. Возможен при следующих раскладах 2ГБ ОЗУ и 1ГБ видео памяти/ 3ГБ ОЗУ и 512МБ видео памяти/ и др.
В файле
BOOTCODE.INC
Есть закоментированные строчки для определения памяти через int 15h тот код которой был написан не очень коректный, вернее он под старое ядро.
Я думаю что самый коректный способ определения объема это через int 15h.
mov ax,0E801h
int 15h
По идее этот код должен учитывать и то что память отводиться под i810. Только не знаю какие регистры брать, нужно протестировать.
Вот описание функции.
Input:
AX = E801h Большой размер памяти (Выше 64 Kbytes)
Большой размер памяти , 16 Битная функция
(используется в Windows NT 3.1 and OS/2 2.11 and 2.20)
Output:
Carry 0 => Функция E801 поддерживается
AX Память от 1 Мбайта до 16 Мбайт, в 1 Kbytes блоках
BX Память выше 16 Мбайт, в 64 Кбайтах блоках
CX Настраиваемая память от 1 Мбайта до 16 Мбайт, в 1 Кбайтах блоках
DX Настраиваемая память выше 16 Мбайт в 64 Кбайтах блоках
Насчет i810 легко исправить. Для определения размера идет тестирование его объема. Функция mem_test в memory.inc.
Функция не коректа возможен случий когда фидео память(LFB) распологается сразу за основной памятью компьютера так что возможен некоректное определение объема. Возможен при следующих раскладах 2ГБ ОЗУ и 1ГБ видео памяти/ 3ГБ ОЗУ и 512МБ видео памяти/ и др.
В файле
BOOTCODE.INC
Есть закоментированные строчки для определения памяти через int 15h тот код которой был написан не очень коректный, вернее он под старое ядро.
Я думаю что самый коректный способ определения объема это через int 15h.
mov ax,0E801h
int 15h
По идее этот код должен учитывать и то что память отводиться под i810. Только не знаю какие регистры брать, нужно протестировать.
Вот описание функции.
Input:
AX = E801h Большой размер памяти (Выше 64 Kbytes)
Большой размер памяти , 16 Битная функция
(используется в Windows NT 3.1 and OS/2 2.11 and 2.20)
Output:
Carry 0 => Функция E801 поддерживается
AX Память от 1 Мбайта до 16 Мбайт, в 1 Kbytes блоках
BX Память выше 16 Мбайт, в 64 Кбайтах блоках
CX Настраиваемая память от 1 Мбайта до 16 Мбайт, в 1 Кбайтах блоках
DX Настраиваемая память выше 16 Мбайт в 64 Кбайтах блоках
Nameless
а на других мшинах работат? может чтото с оброзом
а на других мшинах работат? может чтото с оброзом
Pavia
А этот сервис все БИОС поддерживают ?
А этот сервис все БИОС поддерживают ?
Есть еще функцияSerge wrote:Pavia
А этот сервис все БИОС поддерживают ?
Input:
AX = 8800h Размер расширенной памяти
Output:
AX Размер расширенной памяти до 64 Мбайт в блоках по 1 Кбайту
3C00 = 15 Мбайт или > 64 Мбайт (Используйте функции E8h)
Поимее на старых машинах точно должна быть функция 88h, а вот на новых обе 88h 0E8h
Так что сначала через первую тестируем она AT совместимая, так что должна быть на всех бигусах затем через вторую. Раз ее использует виндоус то должна присутствовать на всех машинах.
Описание функций из PhoenixBIOS 4.0 BIOS Programmer's Guide v10.pdf
Award БИОС тоже поддерживает эти функции.
Собственно там целый ворох функций.
Есть еще функция E820h - упоминается в документации на ACPI.
В документации от феникс маленькая не точность на эту функцию
Вызывать нужно так чтобы старшая часть eax была занулина.
mov eax, E820h - корректный вызов
если написать ax то верхняя часть не занулится.
Часть БИОСов проверяют номер этой функции по eax.
Nameless
Минимальные требования к железу:
1) процессор класса Pentium (можно без MMX) или AMD K-5 или Сyrix 5x86.
2) память не менее 16 Mb (последние ядра экспериментально работают на 12 Мб)
3) Видеокарта c поддержкой Vesa. Для проверки можно запустить в Винде или DOS программу VESA & DDC info tool, взять http://mikedld.com/
4) Клавиатура и мышь желательно не USB, если нет эмуляции в BIOS.
Минимальные требования к железу:
1) процессор класса Pentium (можно без MMX) или AMD K-5 или Сyrix 5x86.
2) память не менее 16 Mb (последние ядра экспериментально работают на 12 Мб)
3) Видеокарта c поддержкой Vesa. Для проверки можно запустить в Винде или DOS программу VESA & DDC info tool, взять http://mikedld.com/
4) Клавиатура и мышь желательно не USB, если нет эмуляции в BIOS.
Павиа, с тобой согласен. Хотел сам переписать код, но пока это не является причной моих повисонов в 810 - если, память, конечно, резервируется ПОСТОМ в конце (а это наиболее логично) - я просто вручную вырезал там лишнее...
Mario79
Поддержка VESA не нужна для режимов 640*480*16 и 320*200*256 или я чего-то не понял? А в остальном - ну, требованиям и удовлетворяю. Я просто забыл, чтио веза не поддерживается КОлибриОС.
На тачках выше П2 - как правило, все ОК...а на других мшинах работат? может чтото с оброзом
Mario79
Поддержка VESA не нужна для режимов 640*480*16 и 320*200*256 или я чего-то не понял? А в остальном - ну, требованиям и удовлетворяю. Я просто забыл, чтио веза не поддерживается КОлибриОС.
Nameless
Хотя я лично с таким не сталкивался, но где-то про такое читал.
Есть тенденция на новых видеокартах к отмиранию старых режимов...Поддержка VESA не нужна для режимов 640*480*16 и 320*200*256 или я чего-то не понял?
Хотя я лично с таким не сталкивался, но где-то про такое читал.
Смотрите исходники Линукса или документацию по ACPI: нужно начать опрос с использованием более продвинутой функции (0xE820), затем, если нет поддержки, попробовать использовать функцию 0xE801, и в самую последнюю очередь, если вообще возникнет такая необходимость, - функцию 0x88.А этот сервис все БИОС поддерживают ?
Ну, это на новых, но не на моей. Древность у меня еще та...Есть тенденция на новых видеокартах к отмиранию старых режимов...
Who is online
Users browsing this forum: Yandex [Bot] and 11 guests