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