Rev 941 | Rev 947 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 941 | Rev 946 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 941 $ |
8 | $Revision: 946 $ |
9 | 9 | ||
10 | struc VBE_VGAInfo { |
10 | struc VBE_VGAInfo { |
11 | .VESASignature dd ? ; char |
11 | .VESASignature dd ? ; char |
Line 109... | Line 109... | ||
109 | pop eax |
109 | pop eax |
110 | @@: or al,0x30 |
110 | @@: or al,0x30 |
111 | mov [es:di],al |
111 | mov [es:di],al |
112 | inc di |
112 | inc di |
113 | ret |
113 | ret |
- | 114 | ||
114 | ;------------------------------------------------------- |
115 | ;------------------------------------------------------- |
115 | ;Write message about incorrect v_mode and write message about jmp on swith v_mode |
116 | ;Write message about incorrect v_mode and write message about jmp on swith v_mode |
116 | v_mode_error: |
117 | v_mode_error: |
117 | _setcursor 19,2 |
118 | _setcursor 19,2 |
118 | mov si, fatalsel |
119 | mov si, fatalsel |
Line 244... | Line 245... | ||
244 | 245 | ||
245 | or cx,0x4000 ; use LFB |
246 | or cx,0x4000 ; use LFB |
246 | .lp1: mov [es:bx+6],cx ; +6 : mode number |
247 | .lp1: mov [es:bx+6],cx ; +6 : mode number |
247 | movzx ax,byte [es:mi.BitsPerPixel] |
248 | movzx ax,byte [es:mi.BitsPerPixel] |
248 | mov word [es:bx+8],ax ; +8 : bits per pixel |
249 | mov word [es:bx+8],ax ; +8 : bits per pixel |
Line 249... | Line 250... | ||
249 | add bx,size_of_step |
250 | add bx,size_of_step ; size of record |
250 | 251 | ||
251 | @@: |
252 | @@: |
Line 411... | Line 412... | ||
411 | cmp ax,modes_table |
412 | cmp ax,modes_table |
412 | jae @f |
413 | jae @f |
413 | mov ax,modes_table |
414 | mov ax,modes_table |
414 | @@: |
415 | @@: |
Line 415... | Line 416... | ||
415 | 416 | ||
416 | mov word[home_cursor],ax |
417 | mov word [home_cursor],ax |
417 | push word [preboot_graph] |
418 | mov si,[preboot_graph] |
- | 419 | mov word [cursor_pos],si |
|
- | 420 | ||
- | 421 | push word [es:si] |
|
- | 422 | pop word [x_save] |
|
- | 423 | push word [es:si+2] |
|
- | 424 | pop word [y_save] |
|
- | 425 | push word [es:si+6] |
|
- | 426 | pop word [number_vm] |
|
418 | pop word [cursor_pos] |
427 | |
419 | ret |
428 | ret |
420 | ;;;;;;;;;;;;;;;;;;;;;;;;;;; |
429 | ;;;;;;;;;;;;;;;;;;;;;;;;;;; |
421 | .loops: |
430 | .loops: |
422 | cmp ax,word [es:si] |
431 | cmp ax,word [es:si] |
Line 430... | Line 439... | ||
430 | .next: add si,size_of_step |
439 | .next: add si,size_of_step |
431 | cmp word [es:si],-1 |
440 | cmp word [es:si],-1 |
432 | je .exit |
441 | je .exit |
433 | jmp .loops |
442 | jmp .loops |
434 | .ok: xor ax,ax |
443 | .ok: xor ax,ax |
- | 444 | ret |
|
435 | .exit: ret |
445 | .exit: or ax,-1 |
- | 446 | ret |
|
Line 436... | Line 447... | ||
436 | 447 | ||
Line 437... | Line 448... | ||
437 | 448 | ||
Line 529... | Line 540... | ||
529 | mov [scroll_end], ax |
540 | mov [scroll_end], ax |
530 | pop si |
541 | pop si |
531 | mov bp,long_v_table ;show rows |
542 | mov bp,long_v_table ;show rows |
532 | .@@_next_bit: |
543 | .@@_next_bit: |
533 | ;clear cursor |
544 | ;clear cursor |
- | 545 | mov ax,' ' |
|
534 | mov word[ds:_r1+21],' ' |
546 | mov word[ds:_r1+21],ax |
535 | mov word[ds:_r1+50],' ' |
547 | mov word[ds:_r1+50],ax |
Line 536... | Line 548... | ||
536 | 548 | ||
537 | mov word[ds:_r2+21],' ' |
549 | mov word[ds:_r2+21],ax |
Line 538... | Line 550... | ||
538 | mov word[ds:_r2+45],' ' |
550 | mov word[ds:_r2+45],ax |
539 | 551 | ||
540 | mov word[ds:_rs+21],' ' |
552 | mov word[ds:_rs+21],ax |
541 | mov word[ds:_rs+46],' ' |
553 | mov word[ds:_rs+46],ax |
542 | ; draw string |
554 | ; draw string |
543 | cmp word [es:si+6],0x12 |
555 | cmp word [es:si+6],0x12 |
544 | je .show_0x12 |
556 | je .show_0x12 |
Line 644... | Line 656... | ||
644 | xor ax,ax |
656 | xor ax,ax |
645 | mov ah, 1*16+15 |
657 | mov ah, 1*16+15 |
646 | mov cx,70 |
658 | mov cx,70 |
647 | mov bp,12 |
659 | mov bp,12 |
648 | .loop_start: |
660 | .loop_start: |
649 | rep stosw ;®ç¨á⪠®¡« á⨠íªà |
661 | rep stosw |
650 | mov cx,70 |
662 | mov cx,70 |
651 | add di,20 |
663 | add di,20 |
652 | dec bp ;㬥ì襨¥ bp, ¢ bp áç¥â稪 |
664 | dec bp |
653 | jns .loop_start |
665 | jns .loop_start |
654 | pop es |
666 | pop es |
655 | popa |
667 | popa |
656 | ret |
668 | ret |
Line 657... | Line 669... | ||
657 | 669 |