/kernel/trunk/boot/bootcode.inc |
---|
542,7 → 542,7 |
.pgup: cmp ah,0x49 ; page up |
jne .pgdn |
sub si, size_of_step*9 |
sub si, size_of_step*long_v_table |
cmp si, modes_table |
jae @f |
mov si, modes_table |
549,7 → 549,7 |
@@: |
mov word [cursor_pos], si |
mov si, word [home_cursor] |
sub si, size_of_step*9 |
sub si, size_of_step*long_v_table |
cmp si, modes_table |
jae @f |
mov si, modes_table |
560,7 → 560,7 |
.pgdn: cmp ah,0x51 ; page down |
jne .enter |
mov ax, [end_cursor] |
add si, size_of_step*9 |
add si, size_of_step*long_v_table |
cmp si, ax |
jb @f |
mov si, ax |
568,8 → 568,8 |
@@: |
mov word [cursor_pos], si |
mov si, word [home_cursor] |
sub ax, size_of_step*9 |
add si, size_of_step*9 |
sub ax, size_of_step*long_v_table |
add si, size_of_step*long_v_table |
cmp si, ax |
jb @f |
mov si, ax |
/kernel/trunk/boot/bootvesa.inc |
---|
75,6 → 75,7 |
end_cursor dw 0 ;end of position current shows rows a table |
long_v_table equ 9 ;long of visible video table |
size_of_step equ 10 |
scroll_area_size equ (long_v_table-2) |
int2str: |
dec bl |
jz @f |
523,7 → 524,7 |
stosb |
add di, 80*2-1 |
mov al, 32 |
mov cx, 7 |
mov cx, scroll_area_size |
@@: |
stosb |
add di, 80*2-1 |
542,7 → 543,7 |
cwd |
div bx |
mov di, ax |
mov ax, 7*9 |
mov ax, scroll_area_size*long_v_table |
cwd |
div si |
test ax, ax |
549,17 → 550,17 |
jnz @f |
inc ax |
@@: |
cmp al, 7 |
cmp al, scroll_area_size |
jb @f |
mov al, 7 |
mov al, scroll_area_size |
@@: |
mov cx, ax |
; cx = scroll height |
; calculate scroll pos |
xor bx, bx ; initialize scroll pos |
sub al, 7+1 |
sub al, scroll_area_size+1 |
neg al |
sub si, 9-1 |
sub si, long_v_table-1 |
jbe .draw_scroll |
mul di |
div si |