Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > по какому адресу на ходится видеопамять?


Автор: Dreamuchiy 22.2.2009, 22:38
по какому адресу на ходится видеопамять? И как организовать обмен данными напрямую без всяких досов? Как управлять видеорежимами?

Автор: sgi1981 23.2.2009, 01:38
В простом варианте доступна память в диапазоне адресов реального режима процессора по физическим адресам A0000...BFFFF.
Непосредственное программирование через порты не рекомендуется. Лучше для этого использовать функции BIOS.
Современные видеоконтроллеры занимают адресные пространства в других областях, например возможно по физическим адресам FD000000...FDFFFFFF, D0000000...DFFFFFFF, FA000000...FAFFFFFF.

Автор: Dreamuchiy 26.2.2009, 18:26
А что если через порты? как узнать какие порты? и как с ними работать?

Автор: sgi1981 27.2.2009, 00:03
Откройте "Диспетчер устройств". В дереве найдите ваш видеоконтроллер и посмотрите свойства, там ресурсы. В общем на каждое устройство предоставляется документация, только она может быть по разному доступна. Может производитель оборудования продает эту информацию за определенные деньги.

Автор: Mikl_ 27.2.2009, 04:42
Dreamuchiy, в WinXP обращение к портам только через драйвера в DOS программах запущенных под WinXP будет только эмуляция обращения к портам. 
Цитата
как организовать обмен данными напрямую без всяких досов? Как управлять видеорежимами
 через BIOS прерывания 10h

Автор: Dreamuchiy 28.2.2009, 01:07
мне нужна истина, а не эмуляция ! я пишу на асме стараясь избегать все что связано с microsoft и всем тем что закрывает прямой доступ к ресурсам компьютера. Можно подумать что на майрософте свет клином сошелся

Автор: Mikl_ 2.3.2009, 04:24
Цитата(Dreamuchiy)
все что связано с microsoft и всем тем что закрывает прямой доступ к ресурсам компьютера. Можно подумать что на майрософте свет клином сошелся
Кто тебе такое сказал, что Windows "закрывает прямой доступ к ресурсам компьютера"? microsoft пытается защитить hard & soft от кривых ручек начинающих кодеров -- прямой доступ есть и он через написание драйверов, а это наскоком не возьмешь smile Для начинающих программистов остается более простой путь -- установить на многоядерный Pentium или Atlon DOS и писать под операционную систему, от которой ушли уже в 1992 году.  smile Тебе это надо? Либо переходи на Linux или Kolibri OS smile 

Автор: dvamaster 3.4.2009, 06:47
http://vesa.org/

качай мануалы (жаль по-англицки), там все подробненько про защищенный режим тоже

Автор: 222 15.5.2009, 18:59
Dreamuchiy (цитата): мне нужна истина, а не эмуляция ! я пишу на асме стараясь избегать все что связано с microsoft и всем тем что закрывает прямой доступ к ресурсам компьютера. Можно подумать что на майрософте свет клином сошелся.
-----
Может быть, ты это имел в виду:
MOV AX,13                  (13 - номер графического режима 320х200 точек, 248 цветов)
INT 10                          (включаем видеорежим)
MOV AX,A000              (адрес сегмента видеопамяти, то есть А000:0000 - адрес верхней левой точки)
MOV ES,AX                  (грузим в ES)
MOV SI,0                      (в SI - координата точки)
ES:
MOV BYTE[SI],2          (пишем туда 2 - зелёная точка)
INC SI                           (переход к следующей)
ES:
MOV WORD[SI], 407  (затем рисуем серую и красную...)
MOV AH,10
INT 16                           (пауза. Смотрим, что получилось)
INT 20                           (выход)
-----
Я это сам искал лет 10 назад (пока не прочитал команды INT 10).

[/code]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)