Subversion Repositories Kolibri OS

Rev

Rev 129 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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.