Subject: Re: tseng et4000 registers memory map?
To: Todd Whitesel <toddpw@best.com>
From: Julian Coleman <J.D.Coleman@newcastle.ac.uk>
List: port-atari
Date: 09/18/1999 16:58:39
Todd Whitesel wrote:
> I have started on a generic version of pci_tseng.c and friends, but the
> card still isn't displaying anything and I am beginning to suspect that
> it is because I can't find a good description of how the card's 16 meg
> PCI address space is laid out.
I had great fun trying to work out what registers needed to be set in order
to get the display to work.
> The atari code is full of mempory mapping and hardcoded numbers, and is
> very confusing to read. So far my best guess is that the VGA IO shows up
> at 0003c0-0003df or thereabouts, and the text screen shows up at 0a0000.
> This would all be inside the 16 meg region specified by PCI configuration
> register 0x10 for the card.
I used the xfree sources and the VGADOC (http://www.datashopper.dk/~finth/)
archive as my 'documentation'. The summary I have (at the top of some test
code I wrote) is :
/* Registers are :
* Attribute controller (ATC) : 0x00 - 0x16
* Index 0x3c0, Read 0x3c1, Write 0x3c0
*
* Video system enable
* Read 0x3c3, Write 0x3c3
* (Should always be 0x01)
*
* Sequencer (TS) : 0x00 - 0x07
* Index 0x3c4, Read 0x3c5, Write 0x3c5
*
* Graphics Controller (GDC) : 0x00 - 0x08
* Index 0x3ce, Read 0x3cf, Write 0x3cf
*
* Miscellaneous
* Read 0x3cc, Write 0x3c2
*
* 64K segment select
* Read 0x3cd, Write 0x3cd
*
* CRT Controller (CRTC) : 0x00 - 0x3f
* Index base + 0x04, Read base + 0x05, Write base + 0x05
*
* Display Mode Controller
* Read base + 0x08, Write base + 0x08
*
* Colour Select
* Read base + 0x09, Write base + 0x09
*
* AT&T Mode Controller
* Read base + 0x0e, Write base + 0x0e
*/
Let me know if you want the code (although it's a bit VME ET4000 specific).
Apologies that the reply is a bit rushed - I'm just packing as I'm away for
a week from tomorrow.
J
--
Of course it runs NetBSD
http://www.netbsd.org/