From 7e8910b7fec3356ed5ee30778345debaabd3f25f Mon Sep 17 00:00:00 2001 From: "Alexey Teplov (" Date: Tue, 19 Feb 2008 06:04:16 +0000 Subject: [PATCH] fixed bug in blue screen and add hardware cursor for ATI mobility 7500 card test on IBM Think Pad R51 git-svn-id: svn://kolibrios.org@749 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/boot/bootcode.inc | 2 ++ kernel/trunk/boot/bootvesa.inc | 8 ++++++-- kernel/trunk/boot/preboot.inc | 1 + kernel/trunk/drivers/ati2d.asm | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/kernel/trunk/boot/bootcode.inc b/kernel/trunk/boot/bootcode.inc index de50f17def..000940d94d 100644 --- a/kernel/trunk/boot/bootcode.inc +++ b/kernel/trunk/boot/bootcode.inc @@ -587,6 +587,8 @@ cfgmanager: pop word [x_save] push word [es:bp+2] pop word [y_save] + push word [es:bp+6] + pop word [number_vm] mov word [preboot_graph],bp ;save choose jmp .d diff --git a/kernel/trunk/boot/bootvesa.inc b/kernel/trunk/boot/bootvesa.inc index 8e7399348c..37c0b72a81 100644 --- a/kernel/trunk/boot/bootvesa.inc +++ b/kernel/trunk/boot/bootvesa.inc @@ -333,8 +333,8 @@ draw_current_vmode: ret ;----------------------------------------------------------------------------- check_first_parm: - mov ax,word [preboot_graph] - test ax,ax + mov si,word [preboot_graph] + test si,si jnz .no_zero ;if no zero .zerro: ; mov ax,modes_table @@ -368,6 +368,9 @@ check_first_parm: .no_zero: + mov bp,word [number_vm] + cmp bp,word [es:si+6] + jz .ok_found_mode mov ax,word [x_save] mov bx,word [y_save] mov si,modes_table @@ -375,6 +378,7 @@ check_first_parm: test ax,ax jz .ok_found_mode + mov si,modes_table ; cmp ax,modes_table ; jb .zerro ;check on correct if bellow ; cmp ax,word [end_cursor] diff --git a/kernel/trunk/boot/preboot.inc b/kernel/trunk/boot/preboot.inc index 70498fbdf2..30c9a49103 100644 --- a/kernel/trunk/boot/preboot.inc +++ b/kernel/trunk/boot/preboot.inc @@ -20,6 +20,7 @@ display_atboot db 0 ; show boot screen messages ( 2-no ) preboot_graph dw 0 ; graph mode x_save dw 0 ; x y_save dw 0 ; y +number_vm dw 0 ; ;pixel_save dw 0 ; per to pixel preboot_gprobe db 0 ; probe vesa3 videomodes (1-no, 2-yes) preboot_vrrm db 0 ; use VRR_M (1-yes, 2- no) diff --git a/kernel/trunk/drivers/ati2d.asm b/kernel/trunk/drivers/ati2d.asm index 01aee8d361..dc27bae224 100644 --- a/kernel/trunk/drivers/ati2d.asm +++ b/kernel/trunk/drivers/ati2d.asm @@ -1069,6 +1069,7 @@ hex_buff db 8 dup(0),13,10,0 R200M equ 0x5a62 ;R300 R7000 equ 0x5159 ;R200 +R750M equ 0x4c57 ;M7 mobile rv200 R8500 equ 0x514C ;R200 R9000 equ 0x4966 ;RV250 R9200 equ 0x5961 ;RV280 @@ -1089,6 +1090,7 @@ align 4 devices: dd (R200M shl 16)+VID_ATI, init_r200 ;R300 dd (R7000 shl 16)+VID_ATI, init_r200 + dd (R750M shl 16)+VID_ATI, init_r200 ;M7 dd (R8500 shl 16)+VID_ATI, init_r200 dd (R9000 shl 16)+VID_ATI, init_r200 dd (0x514D shl 16)+VID_ATI, init_r200 ;R200 9100