С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/41: Рейтинг темы: голосов - 41, средняя оценка - 4.78
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55

Прямой доступ к видео памяти

12.02.2011, 11:41. Показов 8501. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите как организовать прямой доступ к видео памяти на современно VGA/DVI видео адаптере.
В Книги Шилдта есть указания как сделать это,но на старых видео адаптерах. Там указанно что надо создать указатель на область памяти 0xB0000000 - если монохромный видео адаптер, или на область - 0xB8000000 - если это EGA или CGA адаптер.
Но книга 1989 года издания, как реализовать это в современных условиях.
P.S: я пишу консольное приложения, до для разработки и управление интерфейсом мне необходим доступ в видеопамяти.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2011, 11:41
Ответы с готовыми решениями:

Прямой доступ к памяти
Как прочитать произвольный адрес оперативной памяти? Заранее спасибо!

Прямой доступ к памяти
Подскажите как сделать чтобы функция ChangeId меняла член структуры, я рассматриваю что после padding в структуре следующая структура...

Есть ли средства для питон, позволяющие получить прямой доступ к памяти?
Есть ли средства для питон, которые бы позволили напрямую обращаться к памяти?

12
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
12.02.2011, 13:32
Делал такие вещи на АСМе, по книге где-то того же времени (даже наверное раньше)), все получилось)

Цитата Сообщение от Liricnet Посмотреть сообщение
В Книги Шилдта есть указания как сделать это,но на старых видео адаптерах. Там указанно что надо создать указатель на область памяти 0xB0000000 - если монохромный видео адаптер, или на область - 0xB8000000 - если это EGA или CGA адаптер.
А что за книга? Давно хотел узнать, как в языках С/С++ можно указателю принудительно константное значение присвоить, сам пробовал - не компилировалось(
0
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
12.02.2011, 13:41  [ТС]
Г. Шилдт "С для профессиональных программистов"
Просто у меня курсовая по ЯВУ, а конкретно С/С++
я поэтому хотел бы узнать как это на языке Си реализовать...
0
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
12.02.2011, 13:47
в 89-м году был DOS. современные системы не дают доступа напрямую к памяти других приложений (см. изоляция процессов) и к портам ввода-вывода (уровень ядра системы). так что реализовать можно только через обращения к драйверу, в зависимости от системы.
да и вообще, если не секрет, зачем доступ напрямую, если есть множество библиотек для работы с графикой?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
12.02.2011, 13:51
Iron Bug, возможно сделать именно через адреса. Просто современные ОС естетвенно тебя не пустят туда, куда не просят, но они поймут, что тебе нужно и будет с эмулированно обращение к адресу. Хотя в действительности конечно же итог работы программы будет достигнут другим путем, но это уже программисту знать не обязательно (я вот, если честно не знаю, только догадываюсь))
0
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
12.02.2011, 15:06
насколько мне известно, начиная с Win2K все эти лазейки прикрыты. и надёжно. и к портам уже давно никто не лазит.
пишите драйвер - тогда пожалуйста. с уровня ядра можно и напрямую.
0
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
13.02.2011, 18:50  [ТС]
А еще варианты как можно изменить выведенное на экране изображение/текст/псевдографику не используя функцию очистки экрана? Какие winAPI функции предусмотрены? и какие библиотеки требуются?
Подскажите плиз, а то каждый раз при изменение использовать windows("cls") или clrscr(); как то слишком грубо и неприятно для глаз...
0
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
13.02.2011, 22:42
ну, вариантов-то много. про API навскидку не скажу. нет у меня дома венды, чтобы посмотреть. а так, есть DirectDraw и если требуется работа с изображением на экране, то лучше копать в эту сторону. но это, опять же, смотря какая задача. а то из пушки по воробьям не очень эффективно.
0
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
14.02.2011, 11:46
В 1990 (ДОС еще) написал
C
1
 char far *vidmem = (char far *) 0xB000000;;
и делал там, что хотел.
С тех пор прошло много виндов, программы прекрасно работают как в полноэкранном режиме, так и в окне. Видимо, эмулируется досовская видеопамять, и эмулируется правильно.

Добавлено через 2 минуты
Цитата Сообщение от Liricnet Посмотреть сообщение
А еще варианты как можно изменить выведенное на экране изображение/текст/псевдографику не используя функцию очистки экрана? Какие winAPI функции предусмотрены? и какие библиотеки требуются?
Подскажите плиз, а то каждый раз при изменение использовать windows("cls") или clrscr(); как то слишком грубо и неприятно для глаз...
Пиши спокойно по указанному адресу. Только не забудь, что на символ там 2 байта - символ и цветовой атрибут.
А вот кто бы мне сказал как цвет курсора изменить?

Добавлено через 7 минут
ЗЫ. Если интересно, могу скинуть досовский редактор с исходниками. А то как-то жалко, такая вещь пропадает!
2
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
14.02.2011, 14:15
Цитата Сообщение от Day Посмотреть сообщение
Видимо, эмулируется досовская видеопамять, и эмулируется правильно.
Так и есть) Когда начинал на АСМе под ДОС писать, читал лит-ру на эту тему, все эмулируется, даже прерывания.
0
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
14.02.2011, 20:37  [ТС]
а какой компилятор лучше использовать? просто мне MS Visual Studio говорит что-то типа неверный адресс =(((
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
14.02.2011, 21:00
Цитата Сообщение от Liricnet Посмотреть сообщение
а какой компилятор лучше использовать? просто мне MS Visual Studio говорит что-то типа неверный адресс =(((
все что было сказано выше компилируется под дос, но работает и под виндой. В MS Visual Studio нельзя скомпилировать программу под дос, придется поискать старый досовский компилятор, что то типа turbo C. Только вот зачем это в винде, где есть тот же DirectX например?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
14.02.2011, 21:34
Цитата Сообщение от Liricnet Посмотреть сообщение
а какой компилятор лучше использовать? просто мне MS Visual Studio говорит что-то типа неверный адресс =(((
Из архаики могу посоветовать Borland C 2.0 или 3.1.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2011, 21:34
Помогаю со студенческими работами здесь

Прямой доступ к битмапу
К сожалению, в моей предыдущей теме какие-то конкретные советы по моей проблеме дать никто не смог, поэтому пришлось брать инициативу в...

Прямой IP-доступ запрещен
Здравствуйте, при подключении к сайту возвращается ответ, в котором сказано: "Direct IP access not allowed", как это исправить? ...

Прямой доступ к переменным
Доброго времени суток, форумчане. Сразу оговорю, что название темы может не совсем корректно раскрывать суть вопроса. Начну с аналога...

Прямой доступ к видеопамяти
Здраствуйте уважаемы программеры! У меня к вам огромная просьба не могу написать казалось бы простую программу на ассемблере. Вобщем как не...

Прямой доступ к файлу
Есть заполненный бинарный файл с действительными числами. Нужно изменить этот же файл, изменив последовательность этих чисел вот так: A1,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru