Video card!
Прямая запись?Куда?Или через апаратные прерывания?
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?
Самый простой способ - писать прямо в видеопамять по адр. 0а000:0-64000, в СВГА-реж. идет 4-5 видеостраниц, там и инициализация сложнее, и за переключением стр. следить надо... хотя тоже не смертельно :)
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?
1) В текстовом режиме окно видеопамяти находится по линейному адресу 0xB8000.
2) Графический режим можно инициализировать с помощью функций VESA BIOS (ax=0x4fxx,int=0x10). Если видеокарта поддерживает VESA 2.0, работа с видеопамятью осуществляется через линейный фреймбуфер (LFB).
1) В текстовом режиме окно видеопамяти находится по линейному адресу 0xB8000.
2) Графический режим можно инициализировать с помощью функций VESA BIOS (ax=0x4fxx,int=0x10). Если видеокарта поддерживает VESA 2.0, работа с видеопамятью осуществляется через линейный фреймбуфер (LFB).
Вряд ли ему нужен тестовый режим ;) Но ты прав, не стоит исключать. Только тогда стоит упомянуть, что запись в видеопамять в тексте идет в 2 байта: символ и аттрибут.
Насчет ВЕСА тут я бы не стал утверждать однозначно: у каждой видеокарты свои особенности (столкнулся). Да и горааааздо сложнее (сколько сам просидел, изучая ФИДОшные мануалы на англицком!)
Вряд ли ему нужен тестовый режим ;) Но ты прав, не стоит исключать. Только тогда стоит упомянуть, что запись в видеопамять в тексте идет в 2 байта: символ и аттрибут.
Насчет ВЕСА тут я бы не стал утверждать однозначно: у каждой видеокарты свои особенности (столкнулся). Да и горааааздо сложнее (сколько сам просидел, изучая ФИДОшные мануалы на англицком!)
На самом деле все проще париной репы надо только юзать нормальные доки
http://www.vesa.org/public/VBE/vbecore3.pdf
PS: Не надо все усложнять
На самом деле все проще париной репы надо только юзать нормальные доки
http://www.vesa.org/public/VBE/vbecore3.pdf
PS: Не надо все усложнять
Скажу тебе по секрету (только чур никому!): интернет был не всегда ;)
p.s.: интересно ,ты сам по ссылке ходил? Считаешь это нормальным мануалом для новичков?
Скажу тебе по секрету (только чур никому!): интернет был не всегда ;)
p.s.: интересно ,ты сам по ссылке ходил? Считаешь это нормальным мануалом для новичков?
Для тех кто умеет читать вполне подойдет.
VGA-это понятно,а вот SVGA или XVGA?(Прямая запись в память)
В чем _конкретно_ вопрос?
Какой адресс и как инициализировать для больших разрешений 800*600,1024*768,...,короче из ДОС-на большое разрешение...
См. линк выше елки зеленые. Либо банки для таких разрешений переключать надо либо LFB юзать.
Только для LFB нужен Protected или Big Real Mode.
Мне ВГА нужен с большим разрешением,подскажите линейный адрес...
Ладно,будем короче:
Мне ВГА нужен с большим разрешением,подскажите линейный адрес...
НЕТУ ТАКОГО. 640x480 16 Цветов - максимальное для VGA
Сори,я имел ввиду СВГА или ИКСВГА
Для SVGA - Стандарт VESA
Все выше в моих постах написано.
Блин,трудновато,нет полегче,или без ВЕСЫ?
На самом деле не все так сложно (не пужайся :), если нарою у себя дома - скину ТПУ-шник с исходником...
Адрес LFB назначается при загрузке компьютера на этапе инициализации видеоадаптера. Узнать его можно, запросив у Весы информацию о видеорежиме.
Блин,трудновато,нет полегче,или без ВЕСЫ?
Почитай книжку Кулакова "Программирование на аппаратном уровне: специальный справочник", глава №4. Но полагаться на книгу полностью не рекомендую: не знаю, как там описана графика, но в главе "Программирование сетевых адаптеров" я нашел много неточностей и ошибок.
Почитай книжку Кулакова "Программирование на аппаратном уровне: специальный справочник", глава №4. Но полагаться на книгу полностью не рекомендую: не знаю, как там описана графика, но в главе "Программирование сетевых адаптеров" я нашел много неточностей и ошибок.
плиз . напиши где и что неправилно в этой главе .а то будет жалко спотыкаться на ровном месте .
плиз . напиши где и что неправилно в этой главе .а то будет жалко спотыкаться на ровном месте .
В главе про графику или в главе про сетевые адапт.?
В главе про графику или в главе про сетевые адапт.?
про сетевые
про сетевые
1. При инициализации адаптера не устанавливается значение регистра BNRY. Адаптер принимает один пакет и считает, что кольцевой буфер битком набит. Для исправление ошибки необходимо в сабе InitializeAdapter занести в BNRY значение -1.
2. В регистре конфигурации ресивера (RCR) устанавливается в 1 бит №4, т.е. адаптер обрабатывает все пакеты не зависимо от физического адреса места назначения. После этого из сети начинает идти всякое д-мо. Это, конечно, не страшно: у меня "кривые" пакеты отбрасывает сетевой драйвер, но так или иначе теряем производительность, отвлекаясь на ненужные пакеты.
3. В процедуре SendPacket идет проверка регистра CR на неравенство значению 0x26. Эту проверку вообще убрать нужно. Как показала моя практика, некоторые сетевые адаптеры даже при успешной передачи пакета не сбрасывают CR в 0x22, так что при попытке отправить несколько пакетов друг за другом машина виснет на бесконечном цикле...
Это не все глюка, а то, что сейчас восстановилось по памяти...
См. линк выше елки зеленые. Либо банки для таких разрешений переключать надо либо LFB юзать.
Только для LFB нужен Protected или Big Real Mode.
Почему в XP не работает функция PMode/W экстендера Physical Address Mapping для получения доступа к памяти карты в LFB-режиме???
Интересно,как сделать доступ к видеокарте?
Прямая запись?Куда?Или через апаратные прерывания?
Если под DOS - LBF (линейный буффер памяти, так сказать) находится по ФИЗИЧЕСКОМУ адресу 0D0000000h. Доступ к нему можно получить тока в защищенном режиме или в BigDos'e так называемом, где даже в RealMode можно адресоваться к 4 Гб.
я в принципе всю эту тему прохавал...
Если что пиши в лучше асю - 258464925, помогу...
(Oleg)
...находится по ФИЗИЧЕСКОМУ адресу 0D0000000h...
немного исправлюсь... в большинстве случаев там... а точно всё это можно легко узнать (вырезка):
mov ax,4F01h
mov ecx,[@@mode]
or cx,4000h
lea di,[VESA_INFO]
int 10h
и по адресу ds:[di] (VESA_INFO) появится инфа (256 байт) о видеорежиме @@mode, а в инфе такм многое можно найти (порядка 70 байт useful инфы)