OSDev

для всех
Текущее время: 02 май 2024, 22:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Начинающий [видео]
СообщениеДобавлено: 02 авг 2007, 12:28 

Зарегистрирован: 02 авг 2007, 12:23
Сообщения: 7
Привет. Кто подскажет, как мне войти в видеорежим и показать курсор ;) Помогите, я ещё начинающий :)

Вот мой код (пожалуйста дополните)

Код:
[ORG 0x7C00]

start:

cli
mov ax, cs
mov ds, ax
mov ss, ax
mov sp, start

sti

mov si, msg
call kputs

cli
hlt
jmp short $

kputs:

.loop:
lodsb
test al, al
jz .quit
mov ah, 0x0E
int 0x10
jmp short .loop
.quit:
ret

msg: db "Sample",0x0A,0x0D,0
times 510-($-$$) db 0
db 0xAA, 0x55


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинающий [видео]
СообщениеДобавлено: 02 авг 2007, 15:24 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Установка видео режима.
Через прерывания int 10h
Код:
mov ax,13h
int 10h


ah=0 - установка режима монитора
al - режим номер там графическии и текстовые.

Доков полно найдешь.

Есть еще VESA, служит для установки больших разрешений с большим числом цветов.
Код:
mov ax,4F02h
mov bx,100h
int 10h

ah= 4F VESA функции
al - функция
их много, вот несколько
FUNCTION 00H - RETURN VBE CONTROLLER INFORMATION
FUNCTION 01H - RETURN VBE MODE INFORMATION
FUNCTION 02H - SET VBE MODE
в
bx номер видео режима.
Номер видео режима и то какое разрешение ему соответствует. Устанавливается через первые две функции.
Через 00 получаем список режимов. А через 01 получаем их параметры.

Подробний читай VBE3.pdf лежит на сайте http://www.VESA.org

Установка видео режима через порты.
Порты VGA/EGA известны и описаны. Но установка видео режима непросто. Портов много, поэтому используются таблицы. Тут надо поискать пример. Правда это старые добрые разрешения. А вот разрешения такие, как у VESA. Так просто не установишь через порты так, как тут программирование зависит от видеокарты.

Насчет вывода мышки.
Так как драйвера у нас не стоят то старый досовскую мышь на int 33h вызывать бессмысленно.
Так что тут придеться писать драйвер мыши.
Описание протокола общения PS/2 и COM известно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинающий [видео]
СообщениеДобавлено: 03 авг 2007, 16:36 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Изменение местоположения курсора тоже можно осуществить посредством сервиса BIOS:

mov ah, 02h
mov bh, pagenumber ; обычно 0
mov dh, row ; номер строки при нумерации с нуля
mov dl, column ; номер столбца при нумерации с нуля
int 10h


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинающий [видео]
СообщениеДобавлено: 05 авг 2007, 01:00 

Зарегистрирован: 04 май 2007, 08:32
Сообщения: 27
Рекомендую начинать пробовать себя в осеписании с изучения рассылок lonesome'а и dron'а с Subscribe.ru (архивы: http://nextos.osdev.ru/arch/dron.zip, http://nextos.osdev.ru/arch/lonesome.zip). Также рекомендую почитать книжку/рассылку "Ассемблер?Это просто!" О.Калашникова - учебник по асму под дос "с нуля", там помнится тоже по поводу видео что-то было. Хорошо также иметь под рукой списки прерываний (BIOS)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинающий [видео]
СообщениеДобавлено: 05 авг 2007, 12:13 

Зарегистрирован: 02 май 2007, 14:25
Сообщения: 126
Ага, и расспрашивать местных Гуру, чтобы навели на правильный путь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинающий [видео]
СообщениеДобавлено: 06 авг 2007, 19:07 

Зарегистрирован: 06 авг 2007, 19:03
Сообщения: 8
Удалено модератором


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB