Rev 730 | Rev 738 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 730 | Rev 731 | ||
---|---|---|---|
Line 73... | Line 73... | ||
73 | home_cursor dw 0 ;current shows rows a table |
73 | home_cursor dw 0 ;current shows rows a table |
74 | end_cursor dw 0 ;end of position current shows rows a table |
74 | end_cursor dw 0 ;end of position current shows rows a table |
75 | long_v_table equ 9 ;long of visible video table |
75 | long_v_table equ 9 ;long of visible video table |
76 | size_of_step equ 10 |
76 | size_of_step equ 10 |
77 | int2str: |
77 | scroll_area_size equ (long_v_table-2) |
- | 78 | int2str: |
|
78 | dec bl |
79 | dec bl |
79 | jz @f |
80 | jz @f |
80 | xor edx,edx |
81 | xor edx,edx |
81 | div ecx |
82 | div ecx |
82 | push edx |
83 | push edx |
Line 521... | Line 522... | ||
521 | mov al, 30 |
522 | mov al, 30 |
522 | stosb |
523 | stosb |
523 | add di, 80*2-1 |
524 | add di, 80*2-1 |
524 | mov al, 32 |
525 | mov al, 32 |
525 | mov cx, 7 |
526 | mov cx, scroll_area_size |
526 | @@: |
527 | @@: |
527 | stosb |
528 | stosb |
528 | add di, 80*2-1 |
529 | add di, 80*2-1 |
529 | loop @b |
530 | loop @b |
530 | mov al, 31 |
531 | mov al, 31 |
531 | stosb |
532 | stosb |
Line 540... | Line 541... | ||
540 | sub ax, modes_table |
541 | sub ax, modes_table |
541 | cwd |
542 | cwd |
542 | div bx |
543 | div bx |
543 | mov di, ax |
544 | mov di, ax |
544 | mov ax, 7*9 |
545 | mov ax, scroll_area_size*long_v_table |
545 | cwd |
546 | cwd |
546 | div si |
547 | div si |
547 | test ax, ax |
548 | test ax, ax |
548 | jnz @f |
549 | jnz @f |
549 | inc ax |
550 | inc ax |
550 | @@: |
551 | @@: |
551 | cmp al, 7 |
552 | cmp al, scroll_area_size |
552 | jb @f |
553 | jb @f |
553 | mov al, 7 |
554 | mov al, scroll_area_size |
554 | @@: |
555 | @@: |
555 | mov cx, ax |
556 | mov cx, ax |
556 | ; cx = scroll height |
557 | ; cx = scroll height |
557 | ; calculate scroll pos |
558 | ; calculate scroll pos |
558 | xor bx, bx ; initialize scroll pos |
559 | xor bx, bx ; initialize scroll pos |
559 | sub al, 7+1 |
560 | sub al, scroll_area_size+1 |
560 | neg al |
561 | neg al |
561 | sub si, 9-1 |
562 | sub si, long_v_table-1 |
562 | jbe .draw_scroll |
563 | jbe .draw_scroll |
563 | mul di |
564 | mul di |
564 | div si |
565 | div si |
565 | mov bx, ax |
566 | mov bx, ax |
566 | .draw_scroll: |
567 | .draw_scroll: |
567 | mov al, 0xDB |
568 | mov al, 0xDB |