Subversion Repositories Kolibri OS

Rev

Rev 837 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 837 Rev 2971
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: 834 $
8
$Revision: 2971 $
9
 
9
 
10
struc VBE_VGAInfo {
10
struc VBE_VGAInfo {
11
  .VESASignature          dd ?    ; char
11
  .VESASignature          dd ?    ; char
Line 215... Line 215...
215
        jz      @f
215
        jz      @f
Line 216... Line 216...
216
 
216
 
217
;        cmp     [es:mi.BitsPerPixel], 24
217
;        cmp     [es:mi.BitsPerPixel], 24
Line 218... Line 218...
218
;        jb      @f
218
;        jb      @f
219
 
219
 
220
        cmp     [es:mi.BitsPerPixel],16
220
;        cmp     [es:mi.BitsPerPixel],16
221
        jne     .l0
221
;        jne     .l0
222
        cmp     [es:mi.GreenMaskSize],5
222
;        cmp     [es:mi.GreenMaskSize],5
Line 223... Line 223...
223
        jne     .l0
223
;        jne     .l0
224
        mov     [es:mi.BitsPerPixel],15
224
;        mov     [es:mi.BitsPerPixel],15
225
 
225
 
Line 244... Line 244...
244
 
244
 
245
        or      cx,0x4000  ; use LFB
245
        or      cx,0x4000  ; use LFB
246
  .lp1: mov     [es:bx+6],cx               ; +6 : mode number
246
.lp1:	mov     [es:bx+6],cx               ; +6 : mode number
247
        movzx   ax,byte [es:mi.BitsPerPixel]
247
        movzx   ax,byte [es:mi.BitsPerPixel]
248
        mov     word [es:bx+8],ax               ; +8 : bits per pixel
248
        mov     word [es:bx+8],ax               ; +8 : bits per pixel
Line 249... Line 249...
249
        add     bx,size_of_step
249
        add     bx,size_of_step                 ; size of record 
250
 
250
 
251
    @@:
251
    @@:
Line 412... Line 412...
412
        jae     @f
412
        jae     @f
413
        mov     ax,modes_table
413
        mov     ax,modes_table
414
@@:
414
@@:
Line 415... Line 415...
415
 
415
 
416
        mov     word[home_cursor],ax
416
        mov     word [home_cursor],ax
417
        push    word [preboot_graph]
417
        mov	si,[preboot_graph]
-
 
418
        mov     word [cursor_pos],si
-
 
419
 
-
 
420
        push    word [es:si]
-
 
421
        pop     word [x_save]
-
 
422
        push    word [es:si+2]
-
 
423
        pop     word [y_save]
-
 
424
        push    word [es:si+6]
-
 
425
        pop     word [number_vm]
418
        pop     word [cursor_pos]
426
 
419
        ret
427
        ret
420
;;;;;;;;;;;;;;;;;;;;;;;;;;;
428
;;;;;;;;;;;;;;;;;;;;;;;;;;;
421
.loops:
429
.loops:
422
        cmp     ax,word [es:si]
430
        cmp     ax,word [es:si]
Line 430... Line 438...
430
.next:  add     si,size_of_step
438
.next:  add     si,size_of_step
431
        cmp     word [es:si],-1
439
        cmp     word [es:si],-1
432
        je      .exit
440
        je      .exit
433
        jmp     .loops
441
        jmp     .loops
434
.ok:    xor     ax,ax        
442
.ok:    xor     ax,ax        
-
 
443
	ret
435
.exit:  ret
444
.exit:  or	ax,-1
-
 
445
	ret
Line 436... Line 446...
436
 
446
 
Line 437... Line 447...
437
 
447
 
Line 529... Line 539...
529
        mov     [scroll_end], ax
539
        mov     [scroll_end], ax
530
        pop     si
540
        pop     si
531
        mov     bp,long_v_table               ;show rows
541
        mov     bp,long_v_table               ;show rows
532
.@@_next_bit:
542
.@@_next_bit:
533
;clear cursor
543
;clear cursor
-
 
544
	mov	ax,'  '
534
        mov     word[ds:_r1+21],'  '
545
        mov     word[ds:_r1+21],ax
535
        mov     word[ds:_r1+50],'  '
546
        mov     word[ds:_r1+50],ax
Line 536... Line 547...
536
 
547
 
537
        mov     word[ds:_r2+21],'  '
548
        mov     word[ds:_r2+21],ax
Line 538... Line 549...
538
        mov     word[ds:_r2+45],'  '
549
        mov     word[ds:_r2+45],ax
539
 
550
 
540
        mov     word[ds:_rs+21],'  '
551
        mov     word[ds:_rs+21],ax
541
        mov     word[ds:_rs+46],'  '
552
        mov     word[ds:_rs+46],ax
542
; draw string
553
; draw string
543
        cmp     word [es:si+6],0x12
554
        cmp     word [es:si+6],0x12
544
        je      .show_0x12
555
        je      .show_0x12
Line 647... Line 658...
647
        mov     bp,12
658
        mov     bp,12
648
.loop_start:
659
.loop_start:
649
        rep     stosw
660
        rep     stosw
650
        mov     cx,70
661
        mov     cx,70
651
        add     di,20
662
        add     di,20
652
        dec     bp               ; 㬥­ìè¨âì DX,
663
        dec     bp
653
        jns        .loop_start       
664
        jns        .loop_start       
654
        pop     es
665
        pop     es
655
        popa
666
        popa
656
        ret
667
        ret