![]() |
|
|
![]()
|
|
| gMan |
|
|||
|
Unregistered |
Может кто знает как установить графический режим и вывести точку на экран после перехода в защищенный? Или может кто знает где можно узнать?
Заранее спасибо. |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
в принципе все описано в спецификации vesa
ну а проще говоря нужно получить адрес LinearFrameBuffer получить его можно вызвав (не помню номер) функцию прерывания 10 для режимов vesa http://www.theworld.com/obi/Standards/VGA/vesa.txt -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
gMan
Уточни, что за защищенный режим у тебя: собственный переключатель, используешь dpmi или еще что. Например, при использовании dpmi можно выполнять через int 31h прерывания реального режима, в тч и BIOS. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| gMan |
|
|||
|
Unregistered |
Нет я неизпользую DPMI следовательно не могу вызывать ф-ии БИОСа. Наверно надо как-то через порты? Да?
|
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
Все зависит от того, какую задачу ты решаешь.
Если ты изучаешь защищенный режим и учишься программировать, то лучше научиться использовать режим виртуального V86. Об этом можно прочить в книге Финогенова. Благодаря нему можно вызывать подпрограммы BIOS, DOS и т.д. Если ты решаешь конкретную задачу, то тут может быть много вариантов. В первую очередь непонятен твой отказ от DPMI. Если все же нужно прогрраммировать свой супервизор, то, во-первых, можно переключиться в графику до переключения в защиненный режим, ну а если прямо таки необходимо переключать режимы монитора внутри защищенного режима, то можно действительно изучить команды работы с видеоконтроллером. На эту тему множество документации, можно напрямую вызвать BIOS с функцией переключения режима, и трассируя его в отладчике, посмотреть команды in/out, которые переключают режим монитора. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Да именно это мне и надо! |
|||
|
||||
| Shura |
|
|||
|
Unregistered |
Люди, помогите!! Поменял железо и VESA уже не пашет, а очень надо. Можно ли как-нибудь по-другому сделать 1024*768*24b или лучше 32b?? Заранее благодарен!
|
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
как это vesa не пашет? ты что поставил видюху 1980 года выпуска?
давай чуть поподробней -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
А где ссылка от Theworld.com/obi ?
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Может быть просто VESA другой версии?.
|
|||
|
||||
| Shura |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.3.2005 Репутация: нет Всего: нет |
Видюха RADEON 9600PRO. Раньше был GF - работало, а сейчас вообще черный экран! Работает VGA, но этого мало! Может я что-то не так делаю?
text segment 'code' assume CS:text begin: mov AH,00 mov AL,10h mov AX,4F02h mov BX,118h int 10h mov SI,0 mov CX,640 line: push CX mov AH,0Ch mov AL,255 ; RED mov BL,100 ; BLUE mov BH,0 mov CX,SI mov DX,SI int 10h inc SI pop CX loop line mov AH,08h int 21h mov AH,00h mov AL,03h int 10h mov AH,00h mov AL,03h int 10h text ends end begin Управление цветами я нашел эксперементально, так что может в этом дело? если это верно, то как управлять зеленым? Постучавшимся в аську (288-576-179) буду рад |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
а зачем ты точки через прерывания ставиш? этоже медленно
в данном примере нада установить режим 32 бита на точку или заменить stosd на stosw если режим 16 на точку ну и значение в еах тоже подправить -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Shura |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.3.2005 Репутация: нет Всего: нет |
В EAX, на сколько я понял, ты заносишь RGB, вывод точки осуществляется 5-10 строками, в ECX,EDX заносятся XY точки? А что ты в ES заносишь? Я от такого волосею, так бы все еще
Благодарствую! Добавлено @ 20:56 В EAX, на сколько я понял, ты заносишь RGB, вывод точки осуществляется 5-10 строками, в ECX,EDX заносятся XY точки? А что ты в ES заносишь? Я от такого волосею, так бы все еще Благодарствую! |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
в есх скажем так длинна строки
в еs сегмент видеобуфера -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Shura |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.3.2005 Репутация: нет Всего: нет |
Слушай, после таких пояснений я что-то затупил... Не мог ли бы ты привести именно функцию вывода, ну, например, линии от 0,0 до 1024,0? От пояснений не откажусь, но можно и без них!
|
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |