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