Subversion Repositories Kolibri OS

Rev

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