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 01:25:43
> >Ok. Somebody please stop me if they think I'm doing something wrong,
> >but... The two PMAG-CA accelerated operations I've recognised so far
> >are 'vertical scroll' and 'filled rectangle'. These look pretty simple
> >to implement, and with any luck I should be able to do that. The interface
> >with the card stays the same, it always seems to be a (two byte as far as
> >I remember, I did this late last night) opcode with command
> >specific data following.

The opcode for rectangle is 1041, scroll is 1029 (it's pleasing to be
able to say that after so long ;). It can only scroll 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 certian of it.

I'm still confused about the way the card works; the ULTRIX console driver
uses basically two or three of it's features, and nothing else. The card
is using a ring buffer, with space for what looks like 2 x 4kB packets.
It's unclear to me as yet whether it can queue multiple operations. I'm
still trying to understand the layout; the command buffer seems to be
located starting at 0xa0*, and I'm not sure that's where it should be. Is
it normal for TC cards to access outside their own memory range? In i386
land I have no problems understanding anything, it's just tough trying to
get to grips with a different way of doing things.

> The next step is to write functions that implement the methods
> (callbacks, funciton slots, whatever) which rcons needs: basically
> blitting, and scrolling.  If you can write the console font onto the
> card's memory, i think you can just copy the relevant rectangles.
I think that's exactly what's happening. There's a 3070 word image
buffer. Co-incidentally, the console font that ULTRIX uses on the 5000's
happens to be just under 3000 words. 

> Both 1.3.2 and -current first produce kernels in ELF format, and then
> convert them to a.out and ECOFF.  a.out is bootable by the scsi
> boobtlocks.  ECOFF is bootable via the PROM tftp (or mopd, if you have
> an Ultrix server).  You don't need a corss-compiler.
tftp is the way to go then, since I've done it before with a 3100. Funnily
enough, I used to have to issue the boot command 2 or three times before
it'd start. 

Andy.

PS: I have the whole of next week off, so this should be fun... <g>