home *** CD-ROM | disk | FTP | other *** search
/ GameStar 1998 November (Bonus) / GAMESTAR11B.ISO / Diverses / QPV17E / INSTALL.DAT / DRVSRC / DRVSRC.ZIP / S3.ASM < prev    next >
Assembly Source File  |  1995-10-21  |  2KB  |  77 lines

  1. ;
  2. ; QPV/386 video driver (experimental)
  3. ; for graphics cards based on the S3 chipset,
  4. ; supports up to 8 Mb of video memory.
  5. ;
  6. ; The following S3 chips are supported (refer to S3.TXT for details):
  7. ; 86c911, -911A, -924, -801, -805, -805i, -805p, -928, -928p,
  8. ; -732 ("Trio32"), -764 ("Trio64"), -864 ("Vision864")
  9. ; -964 ("Vision964"), -866, -868, -968
  10. ;
  11.  
  12.         .286
  13. Code    Segment Para 'Code'
  14.         Assume  cs:Code
  15.         Org 100h
  16.  
  17. Procs   dw      Bank,Init,Exit,0
  18.  
  19. WIndex  Macro   idx, val
  20.         mov     al,idx
  21.         out     dx,al
  22.         inc     dx
  23.         mov     al,val
  24.         out     dx,al
  25.         dec     dx
  26.         EndM
  27.  
  28. RIndex  Macro   idx
  29.         mov     al,idx
  30.         out     dx,al
  31.         inc     dx
  32.         in      al,dx
  33.         dec     dx
  34.         EndM
  35.  
  36. Bank:   mov     dx,03d4h
  37.         push    ax
  38.         mov     ah,al
  39.         cmp     [byte ptr cs:0],0c0h
  40.         jae     c864
  41.         RIndex  35h
  42.         and     ah,0fh
  43.         and     al,0f0h
  44.         or      ah,al
  45.         WIndex  35h,ah
  46.         pop     ax
  47.         cmp     [byte ptr cs:0],090h
  48.         jae     short c928
  49.         retf
  50. c928:   push    ax
  51.         mov     ah,al
  52.         RIndex  51h
  53.         and     ah,30h
  54.         shr     ah,2
  55.         and     al,0f3h
  56.         or      ah,al
  57.         WIndex  51h,ah
  58.         pop     ax
  59.         retf
  60. c864:   WIndex  6ah,ah
  61.         pop     ax
  62.         retf
  63.  
  64. Init:   mov     dx,03d4h
  65.         WIndex  38h,48h
  66.         WIndex  39h,0a5h
  67.         RIndex  30h
  68.         mov     [cs:0],al
  69.         retf
  70.  
  71. Exit:   retf
  72.  
  73. Code    Ends
  74.         End Procs
  75.  
  76. ; End of source.
  77.