3 / 3 / 0
Регистрация: 15.07.2021
Сообщений: 15
FASM

Как напрямую работать с видеорежимами?

15.07.2021, 14:10. Показов 13283. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я делаю свою ОСь на FASM и мне нужно выводить картинку на экран.
Прерыванием биоса 10h слишком долго!!!
Мне нужны примеры на ассемблере(желательно на FASM-е) работы с видеокартой напрямую.

Буду очень благодарен!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2021, 14:10
Ответы с готовыми решениями:

Как работать напрямую с короткими путями файлов?
function GetShortName( sLongName : string ) : string; var sShortName : string; nShortNameLen : integer; begin ...

Как можно работать с диспетчером задач напрямую из win?
Вообщем хочется узнать что вы знаете :)) С помощью каких либ или драйверов, или просто классов) , можно сотворить что либо с Windows'ким...

Можно ли работать с исходным кодом страницы напрямую?
Здравствуйте, уважаемые. Подскажите, можно ли работать с исходным кодом напрямую? Если да, то, пожалуйста, очень подробно расскажите...

24
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 18
07.01.2022, 14:54
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Jin X Посмотреть сообщение
Я в VESA вывожу без проблем в LFB.
ну на эмулятора само собою аналогично) а вот на ПК)) увы) видимо коды эти не поддерживает)

а как переключить, и именно эти режимы?)
1920x1080
1280x720
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6817 / 2056 / 239
Регистрация: 14.12.2014
Сообщений: 4,320
Записей в блоге: 12
07.01.2022, 19:40
Гипер-Ион, при чём тут эмулятор? Всё работает в реальной системе.
Чтобы найти нужный видеорежим, вызываете функцию 4F00h получаете список режимов, затем для каждого вызываете 4F01h и проверяете – совпадает ли разрешение/цветность и пр. с нужными вам (там же смотрите линейный адрес LFB). Так находите нужный видеорежим. Ну и с помощью 4F02h переключаетесь в этот режим.
0
0 / 0 / 0
Регистрация: 12.02.2016
Сообщений: 18
08.01.2022, 09:38
Цитата Сообщение от Jin X Посмотреть сообщение
Гипер-Ион, при чём тут эмулятор? Всё работает в реальной системе.
- в эмуляторах работает, а на реальных ПК не А)) некоторые режимы нет поддержки...
+функции прерывания пропускает короче отличаются от реальных ПК как выяснилось
- кстати как ты записываешь на флешку то?) поделись методом) раз знаток ;-)
и тебе это раз плютнуть)) - тема: как записать на флешку!

не знаешь как цвет...
проблема с Цветом... как цвет выбрать корректно?!
а то ЧБ лишь?! или оч мало цветов) и это оч странно...)
на больших расширениях... а хотя и везде так...
- как выводить красивые Цвета?) или какой режим? кодой нет заготовок? как у ссылки нижу... я лишь режим изменил

Assembler
1
2
3
4
5
6
7
8
9
;Set video mode
mov ax, 4f02h
mov bx, 17Fh  
int 10h
 
1920x1080       #BX = 17Fh - 1920x1080/32
1280x720        #BX = 17Bh - 1280x720/32
 
mov ax, 4f05h

Цитата Сообщение от Adm1n1strat0r Посмотреть сообщение
Я делаю свою ОСь на FASM и мне нужно выводить картинку на экран.
Прерыванием биоса 10h слишком долго!!!
Мне нужны примеры на ассемблере(желательно на FASM-е) работы с видеокартой напрямую.
Буду очень благодарен!
Как (записать/прочитать) видео-память пиксель? [разрешение]: 1920x1080/1280x720
- ну, Будь!) тут я радом по широких экранах тоже перелопачивал статьи.
но проблема с Цветом... как цвет выбрать корректно?! а то ЧБ лишь?! и это странно...)
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6817 / 2056 / 239
Регистрация: 14.12.2014
Сообщений: 4,320
Записей в блоге: 12
09.01.2022, 11:04
Цитата Сообщение от Гипер-Ион Посмотреть сообщение
- в эмуляторах работает, а на реальных ПК не А)) некоторые режимы нет поддержки...
+функции прерывания пропускает короче отличаются от реальных ПК как выяснилось
По этим словам суть проблемы не понятна. Конечно, не все режимы есть в конкретной VESA BIOS. Плюс надо ещё бит поддержки проверять (не сказал в прошлый раз).

Цитата Сообщение от Гипер-Ион Посмотреть сообщение
- кстати как ты записываешь на флешку то?) поделись методом) раз знаток ;-)
При чём тут флешка? Про это речи не было.
Но на флешку можно, например, Rufus'ом записать или моей прогой.

Цитата Сообщение от Гипер-Ион Посмотреть сообщение
проблема с Цветом... как цвет выбрать корректно?!
В чём именно вопрос?
Там есть инфа о том, в каком порядке расположены биты цветов: RGB или BGR. Да, это заморочь...
0
0 / 0 / 0
Регистрация: 11.10.2023
Сообщений: 6
21.11.2023, 00:29
Вот простой пример для видеорежима 13h на nasm
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
org 0x7c00
mov ax, 13h
int 10h
; ax - x      bx - y      cx - color
 
main:
    mov ax, 160
    mov bx, 100
    mov cx, 100
    push $ + 1
    jmp draw_pixel
    jmp main
draw_pixel: ; Метод для рисования пикселя
    push cx
    push bx
    push ax
    mov ax, VID_BUF
    mov es, ax
    pop di
    pop ax
    shl ax, 6
    add di, ax
    shl ax, 2
    add di, ax
    pop ax
    stosb
    pop ax
    jmp ax
VID_BUF equ 00A000h
times 510-($-$$) db 0
dw 0xAA55
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.11.2023, 00:29

Разработка приложения на основе SOA. Будет ли сайт, созданный на .NET, работать напрямую с БД
товарищи пните в нужном направлении. Так вот как создать такое приложение я разобрался вроде. Как создать сайт на .NET то же в...

Как зарегистрировать домен напрямую
как зарегистрировать домен на физ.лицо в зоне ру, не прибегая к посредничеству хостеров (хостинг при этом не нужен)?

Как запретить доступ к файлу напрямую?
Есть страница index.php, в неё с помощью jquery-load подгружается страница page.php. Как сделать так, чтобы когда пользователь напрямую...

Как скачать библиотеки напрямую с Nuget
https://www.nuget.org как скачать отсюда библиотеки напрямую без консоли и возможно ли? сторонние источники не предлагать.

Как подключить напрямую вентилятор ffb1212ehe
Добавлено через 5 минут Разобрался


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru