[comp.sys.dec] NeWS 1.1 on DECstation 3100

steve@fnord.umiacs.umd.edu (Steve D. Miller) (08/18/89)

   I have NeWS 1.1 working fairly well on monochrome DECstation 3100s, and
almost working on color DS3100s.  Working fairly well may be an exaggeration;
I couldn't get the mono version to do anything too funky, but I didn't try
too hard, as I'm not really a NeWS user, much less a guru.

   Here's what works and doesn't work:

	1) The news_server binary does figure out automatically whether
	or not you're running on a mono or color display.  (This was
	really gross to implement.  DEC, is there a display depth ioctl
	or something that I'm too dumb to know about?)

	2) The mono server seems solid.  It's even fast... and I still
	have never compiled with -O instead of -g (much less used -O4,
	or run the fancy compiler tools that put the most-heavily-used
	code into the same 64K region of memory so it all runs in the
	cache, or done any real performance tuning).  Running on a
	DECstation really helps make NeWS seem snappy!

	3) The color server is not finished.  It does:

		- put the correct colors up on the screen
		- do 8-deep to 8-deep rasterops OK
		- draw text, after a fashion (see below)
		- draw lines, after a fashion (ditto).

	   It needs:

		- hacking on the hardware cursor to make it get out of
			the way
		- hacking on the 1-deep to 8-deep rasterop code to fix
			some pixel alignment problems with drawing text
		- more hacking on the 1-to-8 rop code to fix some other
			problems with drawing text
		- hacking on to take advantage of the plane mask hardware
		- hacking on to fix what is probably only one remaining
			bug in the line-drawing code.  (The ico demo looks
			pretty strange...)
		- probably some other cleanups in general, including
			performance tuning.

	4) I'd bet that this works on a DECstation 2100, too, but I don't
	have one to test on.  (The DECsystem 5400 and DECsystem 5810/5820
	do not have framebuffers, so far as I know, but I don't have any
	of them, either... yet.)

   Basically, I'd really like to see the color support hacked into maturity,
but I've already spent too much time on this, and I just can't spend more
time on it right now.  If you do get this working, I'd love to get the changes
back!  It's probably not even hard to get working if you've done a lot of
graphics-related bit-twiddling and are familiar with the tricks of the trade.
(I'm pretty graphics-ignorant, actually.)

   If you want this, here's the deal.  There's enough code here that is
different from the NeWS 1.1 code that I don't feel I can distribute diffs
without remaining true to our licensing agreement.  If you want a copy,
contact me, and we can see about working out some terms.  They will likely
involve sending or faxing me a copy of at least the signature page of your
NeWS 1.1 source license.  More may be involved; it all depends on what I
think is needed to keep the campus lawyers (or Sun's lawyers) from skinning
me alive.  (Hey Sun: if I can't give this out at all for some reason, let
me know.)

   In case it isn't already clear, distributing this code has to be a
background task.  I've got enough irons in the fire already that I can't
spend a lot of time on this.  Sorry; I'd really like to help more, but...

   Also, if there is sufficient interest, and if I have time, I suppose I
could be talked into producing a document describing how the 3100 (pm)
framebuffer works, to the extent that I understand it.  My thanks to
the author of the MGR window system (Stephen A. Uhler of Bellcore) and
to Tait Cyrus, both of whom provided me with what they knew about how
DEC display hardware (and the pm in general).

   Anyway, my address is:

	Steve Miller
	UMIACS
	University of Maryland
	College Park, MD 20742
	
	Voice Phone: (301) 454-1808
	FAX: (301) 454-8346 (I think)

	UUCP: ...!uunet!mimsy!steve
	Domain: steve@mimsy.umd.edu


Spoken: Steve Miller    Domain: steve@mimsy.umd.edu    UUCP: uunet!mimsy!steve
Phone: +1-301-454-1808  USPS: UMIACS, Univ. of Maryland, College Park, MD 20742

Spoken: Steve Miller    Domain: steve@mimsy.umd.edu    UUCP: uunet!mimsy!steve
Phone: +1-301-454-1808  USPS: UMIACS, Univ. of Maryland, College Park, MD 20742