RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : R.I.P. SNAP - раскопки могилы :)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : ???
To : All
Subj : R.I.P. SNAP - раскопки могилы :)

По заявленным данным производителя т.е. Scitech, версия 3.1.8 поддерживает седующие семейства:

1) ATI: <= Radeon X850 Series
2) Intel: <= i945G
3) NVIDIA: <= GeForce 6 Series

Было раскопано, что поддержка данных 3-x семейств не ограничивается указанными картами. Собственно для тех, кто не в курсе - graphics.bpd эта основная dll-ка SNAP-a - такая слоёная конструкция из текстовых таблиц и PE-фaйлов (большая часть из которых - это минидрайвера различных семейств). В "теле" каждого минидрайвера присутствует его имя - ближе к концу, например radeon.bpd или i845.bpd. Что важно, имена могут повторяться. Тогда отличие идёт в дате выхода/сертификации минидрайвера.

Главное связующее звено между картой и минидрайвером это строчка таблицы #1:

0 8086:2572 i845.drv.Jul.31.2006.14.58.46 ; Intel i865G/GL/GV

где

1) 0 или 1 - общее поле - тип устройства. 0 - устройство поддерживается. 1 - устройство не поддерживается.
2) 8086:2572 - стандартно VENDOR_ID:DEVICE_ID
3) i845.drv - имя драйвера в теле GRAPHICS.BPD
4) Jul.31.2006.14.58.46 - его дата выхода/сертификации, как прописано в PE-заголовке и теле минидрайвера.

Есть и другая таблица (#2), ее вид

0 1002:515E radeon.drv ; ES1000

устроена похоже но первое поле отличается -

1) 0,1 или 2 - общее поле - тип устройства. 0 - устройство поддерживается. 1 - устройство не поддерживается. 2 - если это идентификатор второй "головы" (актуально для ATI-шек).

Заманчиво то, что записей в этой таблице (#2) существенно больше. И в минидрайверах есть упоминания следующих семейств:

1) ATI: <= Radeon x1900 Series
2) Intel: <= Q963/Q965/G965
3) NVIDIA: <= GeForce 7 Series

Для запуска некоторых карт достаточно выполнить - gaoption noncert on. Для каких-то карт нет упоминания при переборе device id в минидрайвере например для 1002:71C1 (Radeon x1650), а ее соседи присутствуют 1002:71C0 и 1002:71C2. Для каких-то - нет записей в таблице #1 и/или #2.

Соответственно возникают пути экспериментального добавления поддержки новых карт путем:

а) исправления таблиц #1, #2
b) исправления кода перебора device id's (делается просто с пом. HIEW или IDA Pro, минидрайвера обычно небольшие порядка 100-200 Кб), при этом нет необходимости пересчитывать контрольную сумму т.к. там = 0.

Интерес к данной теме вызван и потому что Panorama пока еще только "в начале пути". Отсюда возникает вопрос - здесь на форуме попадались заявления что кому-то удавалось заводить "по простому" и более поздние чипсеты, чем указанные в начале поста. Так ли это? Производились ли при этом патчи на GPAPHICS.BPD?

Thu 28 Aug 2008 23:53 Opera/9.27 (Windows NT 5.0; U; en)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.