2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
|
|
1 | |
Прямой доступ к видео памяти12.02.2011, 11:41. Показов 7694. Ответов 12
Метки нет Все метки)
(
Здравствуйте, подскажите как организовать прямой доступ к видео памяти на современно VGA/DVI видео адаптере.
В Книги Шилдта есть указания как сделать это,но на старых видео адаптерах. Там указанно что надо создать указатель на область памяти 0xB0000000 - если монохромный видео адаптер, или на область - 0xB8000000 - если это EGA или CGA адаптер. Но книга 1989 года издания, как реализовать это в современных условиях. P.S: я пишу консольное приложения, до для разработки и управление интерфейсом мне необходим доступ в видеопамяти.
0
|
|
12.02.2011, 11:41 | |
Ответы с готовыми решениями:
12
Прямой доступ к памяти Прямой доступ к памяти Есть ли средства для питон, позволяющие получить прямой доступ к памяти? Прямой доступ к битмапу |
12.02.2011, 13:32 | 2 |
Делал такие вещи на АСМе, по книге где-то того же времени (даже наверное раньше)), все получилось)
А что за книга? Давно хотел узнать, как в языках С/С++ можно указателю принудительно константное значение присвоить, сам пробовал - не компилировалось(
0
|
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
|
|
12.02.2011, 13:41 [ТС] | 3 |
Г. Шилдт "С для профессиональных программистов"
Просто у меня курсовая по ЯВУ, а конкретно С/С++ я поэтому хотел бы узнать как это на языке Си реализовать...
0
|
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
|
|
12.02.2011, 13:47 | 4 |
в 89-м году был DOS. современные системы не дают доступа напрямую к памяти других приложений (см. изоляция процессов) и к портам ввода-вывода (уровень ядра системы). так что реализовать можно только через обращения к драйверу, в зависимости от системы.
да и вообще, если не секрет, зачем доступ напрямую, если есть множество библиотек для работы с графикой?
0
|
12.02.2011, 13:51 | 5 |
Iron Bug, возможно сделать именно через адреса. Просто современные ОС естетвенно тебя не пустят туда, куда не просят, но они поймут, что тебе нужно и будет с эмулированно обращение к адресу. Хотя в действительности конечно же итог работы программы будет достигнут другим путем, но это уже программисту знать не обязательно (я вот, если честно не знаю, только догадываюсь))
0
|
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
|
|
12.02.2011, 15:06 | 6 |
насколько мне известно, начиная с Win2K все эти лазейки прикрыты. и надёжно. и к портам уже давно никто не лазит.
пишите драйвер - тогда пожалуйста. с уровня ядра можно и напрямую.
0
|
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
|
|
13.02.2011, 18:50 [ТС] | 7 |
А еще варианты как можно изменить выведенное на экране изображение/текст/псевдографику не используя функцию очистки экрана? Какие winAPI функции предусмотрены? и какие библиотеки требуются?
Подскажите плиз, а то каждый раз при изменение использовать windows("cls") или clrscr(); как то слишком грубо и неприятно для глаз...
0
|
22 / 22 / 2
Регистрация: 06.12.2010
Сообщений: 125
|
|
13.02.2011, 22:42 | 8 |
ну, вариантов-то много. про API навскидку не скажу. нет у меня дома венды, чтобы посмотреть. а так, есть DirectDraw и если требуется работа с изображением на экране, то лучше копать в эту сторону. но это, опять же, смотря какая задача. а то из пушки по воробьям не очень эффективно.
0
|
1178 / 988 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
|
||||||
14.02.2011, 11:46 | 9 | |||||
В 1990 (ДОС еще) написал
С тех пор прошло много виндов, программы прекрасно работают как в полноэкранном режиме, так и в окне. Видимо, эмулируется досовская видеопамять, и эмулируется правильно. Добавлено через 2 минуты Пиши спокойно по указанному адресу. Только не забудь, что на символ там 2 байта - символ и цветовой атрибут. А вот кто бы мне сказал как цвет курсора изменить? Добавлено через 7 минут ЗЫ. Если интересно, могу скинуть досовский редактор с исходниками. А то как-то жалко, такая вещь пропадает!
2
|
2 / 2 / 0
Регистрация: 12.02.2011
Сообщений: 55
|
|
14.02.2011, 20:37 [ТС] | 11 |
а какой компилятор лучше использовать? просто мне MS Visual Studio говорит что-то типа неверный адресс =(((
0
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
14.02.2011, 21:00 | 12 |
все что было сказано выше компилируется под дос, но работает и под виндой. В MS Visual Studio нельзя скомпилировать программу под дос, придется поискать старый досовский компилятор, что то типа turbo C. Только вот зачем это в винде, где есть тот же DirectX например?
0
|
Диссидент
![]() 27697 / 17314 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
14.02.2011, 21:34 | 13 |
0
|
14.02.2011, 21:34 | |
14.02.2011, 21:34 | |
Помогаю со студенческими работами здесь
13
Прямой доступ к видеопамяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |