home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / graphics / 9737 < prev    next >
Encoding:
Internet Message Format  |  1992-09-15  |  3.8 KB

  1. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!cbnewsm!cbnewsl!att-out!pacbell.com!network.ucsd.edu!cogsci!crl!hartung
  2. From: hartung@crl.ucsd.edu (Jeff Hartung)
  3. Newsgroups: comp.graphics
  4. Subject: Re: Info about TRIDENT T8900
  5. Keywords: TRIDENT
  6. Message-ID: <1606@cogsci.ucsd.EDU>
  7. Date: 15 Sep 92 17:02:06 GMT
  8. References: <194b3mINNir5@corax.udac.uu.se>
  9. Sender: news@cogsci.ucsd.EDU
  10. Organization: University of California, San Diego
  11. Lines: 73
  12.  
  13. In article <194b3mINNir5@corax.udac.uu.se> joakimn@delial.DoCS.UU.SE (Joakim Nilsson) writes:
  14. >
  15. >Hi, 
  16. >
  17. >I need some information on how to program a TRIDENT T8900
  18. >card. That is, which registers to use for memory bank selection
  19. >and setting video start address and all other info you can
  20. >supply about the T8900 card.
  21.  
  22. There is a very good description of these registers and their use in
  23. Ferraro's _Programmer's Guide to the EGA and VGA Cards_, 2nd Edition.
  24. (Note: 1st Ed.  sisn't contain anything about SVGA chipsets.)  The
  25. stuff you want starts on page 914.  It appears to be basically a bank
  26. overlap system similar to other SVGA chips.
  27.  
  28. Here (without explanation about how to use them) is the table on page
  29. 915 that describes the registers.  (Note: Ferraro suggests programming
  30. Trident cards in the 64 Kb memory  map mode, rather then the 128 Kb
  31. mode, and states that it is less complicated that way.  I can't verify
  32. this as I don't have a Trident card.)
  33.  
  34. --------------------------------------------------------------------------------
  35. Function        Register Name        Port    Index    Bits    Value
  36.  
  37. Enable Extended Mem.    Mode Control 2        3C4    D    4    1
  38. Disable Extended Mem.    Mode Control 2        3C4    D    4    0
  39. Select 256K Bank,    Mode Control 1        3C4    E    2-1    0-3
  40.   128K page
  41. Select 256K Bank,    Mode Control 1        3C4    E    3-2    0-3
  42.   64K page
  43. Select 128K Page    New Mode Control 1    3C4    E    1    0-1
  44. Select 64K Segment,    New Mode Control 1    3C4    E    0    0-1
  45.   64K page
  46. --------------------------------------------------------------------------------
  47.  
  48. Notice that the New Mode Control 1 register has the same index as the (old)
  49. Mode Control Register?  This is where Trident is a little weird.  If you write
  50. a (word) value of 000B to port 3C4 (accessing the Hardware Version Register),
  51. you set a switch to access the Old Mode Control Registers.  If you index the
  52. same register (B) and _read_ in from that port, you set the switch for
  53. accessing the New Mode Control Registers.  Neither operation actually changes
  54. the bits in the Hardware Version Register though.
  55.  
  56.  
  57. >I would also be glad if someone could tell about some efficient 
  58. >algorithms for swapping around between multiple images, e.g. for animation.
  59.  
  60. I have found that the best way to do this is to use the extended registers
  61. (for whatever chipset you are using) and the standard VGA registers that
  62. control the CRT start address.  When you want to flip pages, you just index
  63. CRTC registers C and D (for the high and low byte of the 16-bit address within
  64. the 64K page, respectively) plus whatever register you need to set the high
  65. bits of the address (generally bits 16 and 17).  Sometimes you also have to
  66. set some bit to tell the card that you want extended memory mapping and not
  67. VGA memory mapping to keep the CRT from wrapping within a single 256K bank.
  68. For example, I have been able to set S3 cards in EGA mode 10 so they can have
  69. 8 display pages, and in VGA mode 12 so they can have 6 pages (if the card is a
  70. 1 Mb card).  However, if I don't set CRTC index 31 register (Memory 
  71. Configuration) bit 3 to 1, the display memory beyond CPU address A000:FFFF
  72. wraps back to A000:0000.  
  73.  
  74. >Thanks in advance, 
  75. >
  76. >Joakim Nilsson, Dept. of Computer Systems, Uppsala University
  77. >e-mail:joakimn@minsk.docs.uu.se
  78.  
  79. My pleasure,
  80.  
  81. -- 
  82.  --Jeff Hartung--      
  83.  Disclaimer: My opinions only, etc., etc., BLAH! BLAH! BLAH!...
  84.  InterNet - hartung@crl.ucsd.edu         BITNET - hartung@ucsd
  85.  UUCP - ucsd!crl.ucsd.edu!hartung
  86.