summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Ruppert <info@vruppert.de>2008-12-14 08:29:48 +0000
committerVolker Ruppert <info@vruppert.de>2008-12-14 08:29:48 +0000
commit6e62666cfc19e7fd45dd0d7c3ad62fd8d0b5f67a (patch)
tree80655cede1607bd79ae5ee6846d1af68fcd63445
parent4595148ea1f1edc6869df44ff79c3ed9ae592ed4 (diff)
- added DPMS support to cirrus vgabios (patch from Gleb Natapov)
-rw-r--r--clext.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/clext.c b/clext.c
index ea37ec5..c7a2ad0 100644
--- a/clext.c
+++ b/clext.c
@@ -510,7 +510,7 @@ cirrus_vesa:
#ifdef CIRRUS_DEBUG
call cirrus_debug_dump
#endif
- cmp al, #0x0F
+ cmp al, #0x10
ja cirrus_vesa_not_handled
push bx
xor bx, bx
@@ -1196,6 +1196,37 @@ cirrus_vesa_07h_2:
mov ax, #0x004f
ret
+cirrus_vesa_10h:
+ cmp bl, #0x00
+ jne cirrus_vesa_10h_01
+ mov bx, #0x0f30
+ mov ax, #0x004f
+ ret
+cirrus_vesa_10h_01:
+ cmp bl, #0x01
+ jne cirrus_vesa_10h_02
+ push dx
+ push ds
+ mov dx, #0x40
+ mov ds, dx
+ mov [0xb9], bh
+ pop ds
+ pop dx
+ mov ax, #0x004f
+ ret
+cirrus_vesa_10h_02:
+ cmp bl, #0x02
+ jne cirrus_vesa_unimplemented
+ push dx
+ push ds
+ mov dx, #0x40
+ mov ds, dx
+ mov bh, [0xb9]
+ pop ds
+ pop dx
+ mov ax, #0x004f
+ ret
+
cirrus_vesa_unimplemented:
mov ax, #0x014F ;; not implemented
ret
@@ -1612,7 +1643,8 @@ cirrus_vesa_handlers:
dw cirrus_vesa_unimplemented
dw cirrus_vesa_unimplemented
dw cirrus_vesa_unimplemented
-
+ ;; 10h
+ dw cirrus_vesa_10h
ASM_END