Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Video card!

2.2K
12 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?
325
13 декабря 2005 года
Franky
723 / / 10.08.2005
Цитата:
Originally posted by Brezhnev1980
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?


Самый простой способ - писать прямо в видеопамять по адр. 0а000:0-64000, в СВГА-реж. идет 4-5 видеостраниц, там и инициализация сложнее, и за переключением стр. следить надо... хотя тоже не смертельно :)

3.8K
13 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Brezhnev1980
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?


1) В текстовом режиме окно видеопамяти находится по линейному адресу 0xB8000.
2) Графический режим можно инициализировать с помощью функций VESA BIOS (ax=0x4fxx,int=0x10). Если видеокарта поддерживает VESA 2.0, работа с видеопамятью осуществляется через линейный фреймбуфер (LFB).

325
13 декабря 2005 года
Franky
723 / / 10.08.2005
Цитата:
Originally posted by Supervisor
1) В текстовом режиме окно видеопамяти находится по линейному адресу 0xB8000.
2) Графический режим можно инициализировать с помощью функций VESA BIOS (ax=0x4fxx,int=0x10). Если видеокарта поддерживает VESA 2.0, работа с видеопамятью осуществляется через линейный фреймбуфер (LFB).


Вряд ли ему нужен тестовый режим ;) Но ты прав, не стоит исключать. Только тогда стоит упомянуть, что запись в видеопамять в тексте идет в 2 байта: символ и аттрибут.
Насчет ВЕСА тут я бы не стал утверждать однозначно: у каждой видеокарты свои особенности (столкнулся). Да и горааааздо сложнее (сколько сам просидел, изучая ФИДОшные мануалы на англицком!)

260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Цитата:
Originally posted by Franky
Вряд ли ему нужен тестовый режим ;) Но ты прав, не стоит исключать. Только тогда стоит упомянуть, что запись в видеопамять в тексте идет в 2 байта: символ и аттрибут.
Насчет ВЕСА тут я бы не стал утверждать однозначно: у каждой видеокарты свои особенности (столкнулся). Да и горааааздо сложнее (сколько сам просидел, изучая ФИДОшные мануалы на англицком!)


На самом деле все проще париной репы надо только юзать нормальные доки
http://www.vesa.org/public/VBE/vbecore3.pdf

PS: Не надо все усложнять

325
13 декабря 2005 года
Franky
723 / / 10.08.2005
Цитата:
Originally posted by Ramon
На самом деле все проще париной репы надо только юзать нормальные доки
http://www.vesa.org/public/VBE/vbecore3.pdf

PS: Не надо все усложнять


Скажу тебе по секрету (только чур никому!): интернет был не всегда ;)

p.s.: интересно ,ты сам по ссылке ходил? Считаешь это нормальным мануалом для новичков?

260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Цитата:
Originally posted by Franky
Скажу тебе по секрету (только чур никому!): интернет был не всегда ;)

p.s.: интересно ,ты сам по ссылке ходил? Считаешь это нормальным мануалом для новичков?


Для тех кто умеет читать вполне подойдет.

260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
PS: Я еще по тому доку и программил.
2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
VGA-это понятно,а вот SVGA или XVGA?(Прямая запись в память)
3.8K
13 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by Brezhnev1980
VGA-это понятно,а вот SVGA или XVGA?(Прямая запись в память)


В чем _конкретно_ вопрос?

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Какой адресс и как инициализировать для больших разрешений 800*600,1024*768,...,короче из ДОС-на большое разрешение...
260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Цитата:
Originally posted by Brezhnev1980
Какой адресс и как инициализировать для больших разрешений 800*600,1024*768,...,короче из ДОС-на большое разрешение...


См. линк выше елки зеленые. Либо банки для таких разрешений переключать надо либо LFB юзать.
Только для LFB нужен Protected или Big Real Mode.

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Ладно,будем короче:
Мне ВГА нужен с большим разрешением,подскажите линейный адрес...
260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Цитата:
Originally posted by Brezhnev1980
Ладно,будем короче:
Мне ВГА нужен с большим разрешением,подскажите линейный адрес...


НЕТУ ТАКОГО. 640x480 16 Цветов - максимальное для VGA

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Сори,я имел ввиду СВГА или ИКСВГА
260
13 декабря 2005 года
Ramon
1.1K / / 16.08.2003
Цитата:
Originally posted by Brezhnev1980
Сори,я имел ввиду СВГА или ИКСВГА


Для SVGA - Стандарт VESA
Все выше в моих постах написано.

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Понятно,спасибо!
2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Блин,трудновато,нет полегче,или без ВЕСЫ?
325
14 декабря 2005 года
Franky
723 / / 10.08.2005
Цитата:
Originally posted by Brezhnev1980
Блин,трудновато,нет полегче,или без ВЕСЫ?


На самом деле не все так сложно (не пужайся :), если нарою у себя дома - скину ТПУ-шник с исходником...

3.8K
14 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
подскажите линейный адрес...


Адрес LFB назначается при загрузке компьютера на этапе инициализации видеоадаптера. Узнать его можно, запросив у Весы информацию о видеорежиме.

Цитата:
Originally posted by Brezhnev1980
Блин,трудновато,нет полегче,или без ВЕСЫ?


Почитай книжку Кулакова "Программирование на аппаратном уровне: специальный справочник", глава №4. Но полагаться на книгу полностью не рекомендую: не знаю, как там описана графика, но в главе "Программирование сетевых адаптеров" я нашел много неточностей и ошибок.

2.2K
15 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Ладно,хватит...Мне достатачно!
252
28 декабря 2005 года
koderAlex
1.4K / / 07.09.2005
Цитата:
Originally posted by Supervisor

Почитай книжку Кулакова "Программирование на аппаратном уровне: специальный справочник", глава №4. Но полагаться на книгу полностью не рекомендую: не знаю, как там описана графика, но в главе "Программирование сетевых адаптеров" я нашел много неточностей и ошибок.


плиз . напиши где и что неправилно в этой главе .а то будет жалко спотыкаться на ровном месте .

3.8K
28 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by koderAlex
плиз . напиши где и что неправилно в этой главе .а то будет жалко спотыкаться на ровном месте .


В главе про графику или в главе про сетевые адапт.?

252
28 декабря 2005 года
koderAlex
1.4K / / 07.09.2005
Цитата:
Originally posted by Supervisor
В главе про графику или в главе про сетевые адапт.?


про сетевые

3.8K
29 декабря 2005 года
Supervisor
158 / / 29.05.2005
Цитата:
Originally posted by koderAlex
про сетевые



1. При инициализации адаптера не устанавливается значение регистра BNRY. Адаптер принимает один пакет и считает, что кольцевой буфер битком набит. Для исправление ошибки необходимо в сабе InitializeAdapter занести в BNRY значение -1.
2. В регистре конфигурации ресивера (RCR) устанавливается в 1 бит №4, т.е. адаптер обрабатывает все пакеты не зависимо от физического адреса места назначения. После этого из сети начинает идти всякое д-мо. Это, конечно, не страшно: у меня "кривые" пакеты отбрасывает сетевой драйвер, но так или иначе теряем производительность, отвлекаясь на ненужные пакеты.
3. В процедуре SendPacket идет проверка регистра CR на неравенство значению 0x26. Эту проверку вообще убрать нужно. Как показала моя практика, некоторые сетевые адаптеры даже при успешной передачи пакета не сбрасывают CR в 0x22, так что при попытке отправить несколько пакетов друг за другом машина виснет на бесконечном цикле...

Это не все глюка, а то, что сейчас восстановилось по памяти...

15K
30 декабря 2005 года
IMiron13
1 / / 15.12.2005
Цитата:
Originally posted by Ramon
См. линк выше елки зеленые. Либо банки для таких разрешений переключать надо либо LFB юзать.
Только для LFB нужен Protected или Big Real Mode.



Почему в XP не работает функция PMode/W экстендера Physical Address Mapping для получения доступа к памяти карты в LFB-режиме???

1.7K
16 января 2006 года
alektrik
140 / / 16.01.2006
Цитата:
Originally posted by Brezhnev1980
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?



Если под DOS - LBF (линейный буффер памяти, так сказать) находится по ФИЗИЧЕСКОМУ адресу 0D0000000h. Доступ к нему можно получить тока в защищенном режиме или в BigDos'e так называемом, где даже в RealMode можно адресоваться к 4 Гб.
я в принципе всю эту тему прохавал...
Если что пиши в лучше асю - 258464925, помогу...
(Oleg)

1.7K
16 января 2006 года
alektrik
140 / / 16.01.2006
Цитата:
Originally posted by alektrik
...находится по ФИЗИЧЕСКОМУ адресу 0D0000000h...


немного исправлюсь... в большинстве случаев там... а точно всё это можно легко узнать (вырезка):
mov ax,4F01h
mov ecx,[@@mode]
or cx,4000h
lea di,[VESA_INFO]
int 10h

и по адресу ds:[di] (VESA_INFO) появится инфа (256 байт) о видеорежиме @@mode, а в инфе такм многое можно найти (порядка 70 байт useful инфы)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог