Subject: Re: PMAG-CA data structures
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Andy Doran <ad@psn.ie>
List: port-pmax
Date: 02/15/1999 19:35:22
> Great.  I think. (how do we scroll one line of text at a time?)
Sorry, I mean a maximum of 255 rows at a time.

> >All the init code we have for the bt459 and STIC seems complete, in fact
> >from what I've seen so far, the STIC init code that we have came from
> >ULTRIX. I'm certain of it.
> 
> No, in fact, it comes from putting a logic analyzer on the TC-board
> connector pins (a trick Dave Boggs showed me).  And possibly from
> seeing and then re-writing some freely-distributable Mach source code.
> I think there's a comment to that effect in the source.
> 
> I dont have ultrix source for the PMAG-C or px/pxg framebuffers.
What I mean is that the timeouts in the stic init code are *exactly* the
same as that in the ULTRIX 4.1a 'ga' driver.

> And (thanks to Adobe) I now have a monitor which works with the PMAG-C
> which someone (I forget who) so kindly sent me, so maybe I can help
> out with the rcons-end glue.
That'd be great.

> The X server is a whole 'nuther kettle of fish, though.
I agree. Has anybody tried asking VLSI for documentation on these chips?
The problem I'm facing at the momement is a real nasty one. I can see
the command buffer, and it's layout, and I'm beginning to understand it
bit by bit (dbx /vmunix /dev/kmem; whatis gaComArea). What's wrong is that
it's located outside the card's address space, and I can't see anything
telling the card where it's located. I'll have to look at the code for
the gaintr routine again. I think it uses DMA ('whatis struct gx_info'),
but I'm not familiar with this on TC. More investigation requred. 

The px_send_packet() routine that I've written requests a packet buf from
the card, and waits until the command has completed. I haven't gotten
the interrupt routine finished yet, but my intuition is that the interrupt
routine takes care of giving the data to the card. Oh, it can queue 16 
commands by the way.

I'll post some code later so you can see what I mean. I'm not acutally
at home right now, this box crashed (yet again) and I had to come in
to restart it.

Andy.