Страница 1 из 2

Добавлено: 21 мар 2004, 13:49
Andy
Там вообще нет вектора на это прерывание(без комм.)
Почему нет и где нет? (Читаем пост "Как задавать вопросы в этом разделе").
Ведь режимы СВГА документированы, а регистры нет
Документированы и регистры, только сейчас программирование портов не в моде и документации почти нет. Документация Вам нужна на регистры 3С0-3CF,3B4-5,3D4-5,3DA (это основные - реально их намного больше). За режим, развертку и все такое вроде бы отвечают порты 3D4-3D5.
Кстати, если бы мне вдруг приперло посмотреть как биос выполняет int 10h - я бы его протрассировал. Ничто не мешает пройтись по нему под ДОС'ом в отладчике (в том же td.exe).

Добавлено: 21 мар 2004, 21:02
Andy
А можно поподробнее как TD память трассировать? Он же просит на входе файл?
Так и надо файл. Берешь в программе и перехватываешь int 10h. Далее заполняешь регистры как при установке видеорежима БИОС'ом (ax == 4F02h для SVGA).

Код: Выделить всё

...
	mov	ax,3510h
	int	21h
	
	mov	word ptr old_10h,bx
	mov	word ptr old_10h+2,es
	
	mov	ax,4f02h
	mov	bx,116h // 1024х768х64к
	call	dword ptr old_10h
...
old_10h dd ?
Зпускаешь прогу в td.exe и степишь. После "call dword ptr old_10h" попадешь на оригинальный обработчик int 10h (если его никто не перехватил, в любом случает это не проблема) и трассируешь его, при это набираешься терпения и смотришь что он делает. Если опыт есть - то разберешься что в какие порты он отправляет чтобы установить конкретный видео режим.

Re: :oops: Видеоконтроллер

Добавлено: 26 окт 2009, 08:44
atavin-ta
&quot писал(а):режим 640х400х256
Ты серьёзно? Не 640*480, а именно 640*400? Ни разу не видел такого режима.

Re: :oops: Видеоконтроллер

Добавлено: 26 окт 2009, 10:47
somewhere
&quot писал(а):Ты серьёзно? Не 640*480, а именно 640*400? Ни разу не видел такого режима.
Странно, очень популярный был режим в свое время. Преимущества его были в том, что кадр укладывался в 256Кб и число страниц для свопа было не меньше 2 даже на SVGA 512K

Re: :oops: Видеоконтроллер

Добавлено: 26 окт 2009, 11:39
atavin-ta
&quot писал(а):Странно, очень популярный был режим в свое время. Преимущества его были в том, что кадр укладывался в 256Кб и число страниц для свопа было не меньше 2 даже на SVGA 512K
Тогда задумайся над отсутвием популярности у режима 320*240*16 (у тех кто имеет нормальные адаптеры). Кроме того, зачем вообще ставить свжа, если видорежим понижается по сравнению с его предшественником? А видеостраницы можно листать программно через память даже если адптер вообще не понимает, как их может быть больше одной. У меня их даже на спектруме было три в полные шесть колобайт, хотя адаптер вообще не умел их листать.

Re: :oops: Видеоконтроллер

Добавлено: 26 окт 2009, 12:42
somewhere
&quot писал(а):А видеостраницы можно листать программно через память
В том то все и дело, что раньше память экономили и кадры формировали в видеопамяти на неактивной странице.

Re: :oops: Видеоконтроллер

Добавлено: 26 окт 2009, 12:51
atavin-ta
А видеопамять можно не экономить? Её-то всегда меньше.