A1exSun
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кто придумал весь этот бред... Почему число видеостраниц доступно только в функции 1Bh, которая кроме этого возвращает кучу ненужного. Почему в этой функции "число текстовых строк на экране" = 25, а в биосе "число текстовых строк" = 24? Но число столбцов там и там 80! Как лучше: Код: while (1) { asm { push ds pop es mov ah, 0x1B mov bx, 0x00 lea di, video int 0x10 } page = video[0x1D]; col = video[0x0B+page*2]; str = video[0x0C+page*2]; ... еще там maxcol, maxstr и количество страниц из массива берется | Или: Код: ... maxpage = количество страниц с помощью if-else в зависимости от текущего режима maxcol = *(char far *)MK_FP(0x0000,0x044A)-1; maxstr = *(char far *)MK_FP(0x0000,0x0484); while (1) { page = *(char far *)MK_FP(0x0000,0x0462); col = *(char far *)MK_FP(0x0000,0x0450+page*2); str = *(char far *)MK_FP(0x0000,0x0450+page*2+1); | Стоп, чем я занимаюсь - во всех текстовых режимах доса 8 страниц... Добавлено: Код: int cursor = *(int far *)MK_FP(0x0000,0x0460); ... else if (key == 118) { // v if (cursor == *(int far *)MK_FP(0x0000,0x0460)) asm mov cx, 0x2000 else asm mov cx, cursor asm { mov ah, 0x01 int 0x10 } } | Почему курсор не показывается/скрывается мгновенно? Как это было часом раньше... А только после сдвига в другую точку. | Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 04:12 22-01-2012 | Исправлено: A1exSun, 04:36 22-01-2012 |
|