Subversion Repositories Kolibri OS

Rev

Rev 129 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
129 mikedld 1
Video Mode Driver ver.1.0 for MenuetOS
2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
This driver provide of hardware operation of all VGA-compatible videocard
4
 
5
 
6
P.S.
7
It may be added to SYSFUNCS.TXT
8
 
9
21 = SETUP FOR DEVICES
10
 
11
     ebx = 13 - videodriver enable
12
            ecx = 1 - Get DriverInfo and Driver Initial Set
13
                  edx = offset to 512-bytes area for DriverInfo
14
                           RETURN: eax = -1  - errors or driver not installed in system
15
                                            eax = 'MDAZ' - driver ID => set information in info area
16
                                                        Info Structure:
17
                                                                              +0   - Full driver name (ASCII string )
18
                                                                              +32  - Driver version (dword)
19
                                                                              +36 - Reserved
20
                                                                              +64  - List of support videomodes
21
                                                                                         (max 32 positions) (word)
22
                                                                              +128 - List of Support vertical rate
23
                                                                                          to each present mode (word):
24
                                                                                           +0 - 1st ver.rate for mode0
25
                                                                                           +2 - 2st ver.rate for mode0
26
                                                                                           +4 - 3st ver.rate for mode0
27
                                                                                           +8 - 4st ver.rate for mode0
28
                                                                                           +10 - 5st ver.rate for mode0
29
 
30
                                                                                           +12 - 1st ver.rate for mode1
31
                                                                                           +14 - 2st ver.rate for mode1
32
                                                                                           +16 - 3st ver.rate for mode1
33
                                                                                           +18 - 4st ver.rate for mode1
34
                                                                                           +20 - 5st ver.rate for mode1
35
 
36
            ecx = 2 - Get Current Video Mode With Vertical Refresh Rate
37
                           RETURN: eax = -1  - errors
38
                                            eax = X_screen*65536+Y_screen
39
                                                ebx = current vertical rate
40
                                                ecx = current video mode (number) [see infostruct]
41
            ecx = 3 - Change Video Mode
42
                  edx = VertRate*65536+VideoMode [see infostruct]
43
                           RETURN: eax = -1  - errors
44
                                            eax = 0 - set new videomode
45
            ecx = 4 - Return at Start System Video Mode
46
                           RETURN: eax = -1  - errors
47
                                            eax = 0 - set initial videomode
48
            ecx = 5 - Change vertical and horizontal size of visible screen area
49
                  edx = 0/1 - -/+ horizontal size on 1 position
50
                        = 2/3 - -/+ vertical size on 1 position (8 pixels)  (not complete yet)
51
                           RETURN: eax = -1  - errors
52
                                            eax = 0 - succesfull
53