| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > VESA это большая проблема |
| Автор: scuter 20.11.2011, 06:27 | ||
| Я запустил код на виртуальной машине, в нём запустил VESA режим, и комп вылетел полностью из строя вот оно замечательное творение
|
| Автор: 500mhz 20.11.2011, 09:41 |
| и ? что от нас требуется? |
| Автор: iff 20.11.2011, 10:38 |
явно что-то не так с виртуальной машиной |
| Автор: scuter 20.11.2011, 15:55 |
виртуальная машина Oracle VM VirtualBox KolibriOS там запускается нормально. мне бы узнать почему комп вышел из строя, и хотелось бы нормально в режиме VESA по работать, а то 256-цветный дисплей с размером 320х200 это конечно хорошо, но хотелось бы все таки использовать полноценное RGB разрешение с альфа каналом хотябы 800 x 600 (8:8:8)RGB и не так как в других местах пишут, типа надо найти то место где находиться BITMAP дисплея и в него на прямую писать |
| Автор: scuter 20.11.2011, 16:36 |
| математика тут простая предположим режим у нас bx=11Bh ; 1280 x 1024 RGB посчитаем количество точек 1280*1024=1310720 потом учтём параметры цвета 1310720*3=3932160 в регистре AX самое большое число которое туда помещается это 65536 если сравнить обьём памяти экрана и AX : 3932160=65536 то становится понятным что так просто указывать путь ES:AX не представляется возможным |
| Автор: iff 20.11.2011, 17:00 |
адрес. для этого и нужен регистр сегмента - меняйе его. или используйте eax |
| Автор: iff 20.11.2011, 19:46 |
| 1. Витруальная машина не когда не должна приводить комп к зависанию (даже если на ней запускают программу с ошибами) 2. На сколько я помню в VESA используют "видео-окна", размеры каждого позволяют использовать адрессацию, когда адрес указывается как сегмент:смещение, причём сегмент не меняется, т.е. можно адрессовать одним шестнадцатиразрядным регистром. Окна можно переключать и получать доступ к разным частям экрана. |
| Автор: scuter 20.11.2011, 19:49 | ||
| лучьше дайте рабочий пример скрипта на FASM который запускает VESA в режиме bx=115h (800 x 600, RGB, 16777216 (16M)) и записывает точку где нибудь по центру, а ещё лучше линию и текстовый режим bx=10Ch (132x60 text) с записью пары букв на русском языке Добавлено через 10 минут и 36 секунд
тем не мения Oracle VM VirtualBox хоть и использует VMX монитор у меня всё равно стал черным и по середине был мёртвый синий экран виндовса повторять такие попытки я больше не буду слишким опасно для компа. а на счёт страниц VESA хотелось бы узнать как эти страници растределяются по экрану и сколько их в документациях пишут (окно А, окно В) |
| Автор: 500mhz 20.11.2011, 20:50 |
| flat real mode вам поможет получаем прямой доступ к LFB без заморочек со страницами |
| Автор: scuter 20.11.2011, 21:15 | ||||
мне бы хоть начать что то делать |