Страница 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
" писал(а):режим 640х400х256
Ты серьёзно? Не 640*480, а именно 640*400? Ни разу не видел такого режима.
Re: :oops: Видеоконтроллер
Добавлено: 26 окт 2009, 10:47
somewhere
" писал(а):Ты серьёзно? Не 640*480, а именно 640*400? Ни разу не видел такого режима.
Странно, очень популярный был режим в свое время. Преимущества его были в том, что кадр укладывался в 256Кб и число страниц для свопа было не меньше 2 даже на SVGA 512K
Re: :oops: Видеоконтроллер
Добавлено: 26 окт 2009, 11:39
atavin-ta
" писал(а):Странно, очень популярный был режим в свое время. Преимущества его были в том, что кадр укладывался в 256Кб и число страниц для свопа было не меньше 2 даже на SVGA 512K
Тогда задумайся над отсутвием популярности у режима 320*240*16 (у тех кто имеет нормальные адаптеры). Кроме того, зачем вообще ставить свжа, если видорежим понижается по сравнению с его предшественником? А видеостраницы можно листать программно через память даже если адптер вообще не понимает, как их может быть больше одной. У меня их даже на спектруме было три в полные шесть колобайт, хотя адаптер вообще не умел их листать.
Re: :oops: Видеоконтроллер
Добавлено: 26 окт 2009, 12:42
somewhere
" писал(а):А видеостраницы можно листать программно через память
В том то все и дело, что раньше память экономили и кадры формировали в видеопамяти на неактивной странице.
Re: :oops: Видеоконтроллер
Добавлено: 26 окт 2009, 12:51
atavin-ta
А видеопамять можно не экономить? Её-то всегда меньше.