[comp.os.minix] Minix-ST 1.5.10 stuff

sgerakin@hawk.ulowell.edu (Steve Gerakines) (09/26/90)

I have a few questions for people that are probably more familiar with
Unix and Minix than myself.

First, I didn't notice until after I tried compiling the MTV ray tracer that
the minix ACK compiler had no floating point library.  I obtained the port
of P.S. Housel's floating point routines for Minix-ST, and wrote my own
patches for the "-f" option in "cc".  Was the "doscanf" function missing
from the original posting?  I ended up having to write that, too.  Now the
system seems to be, well, functional. :-)  Are there any better FP
alternatives for the ACK compiler?

Next, has anyone else installed /dev/mouse and /dev/screen under the 1.5.10
kernel?  /dev/screen wasn't too tough, but I ended up having to change the
mouse driver quite a bit to get it working right under 1.5.10.  Are there
any standard patches for those two items?  The original postings appeared
to have been written to go with the Minix-ST 1.1 kernel.

Last, I noticed in the Minix kernel, that when a tty is opened with
the O_NONBLOCK mode, the flag gets handled up until it reaches the
TTY task, then in tty.c, it doesn't even bother with it.  I modified tty.c
so that when you try and do a non-blocking read on a tty, if there are
no characters available it simply returns a zero count (or, in cooked mode
it returns a zero count until end of line is hit).  Is this normal for
unix systems, or did I just create my own feature?  :-)

I don't claim to be a Minix expert, but these things that I added really
improved my system.  If these things don't make stomachs churn, I have
a few things that people might be interested in, other than the stuff I
mentioned:

o  A "talk" program that takes advantage of O_NONBLOCK on tty's.  It's much
   faster than a previous version I saw.  (The old one looked like slow
   motion on my system at least.)

o  A few patches to stvdu.c:  added support for the DECAWM (autowrap), and
   DECTCEM (cursor enable/disable).  At least on my kernel, the LINEWRAP
   define statement in <minix/config.h> doesn't appear to do anything.

o  Changed /dev/screen so that the hardware address of the screen only
   gets updated during a vertical blank interrupt.  That way, double
   buffering can be used without any nasty flickering.

o  A graphics program that lets you define solid-plane objects and rotates
   them about the x, y, and z axis.  I modified a polygon fill routine from
   the Amiga to compile under minix.  I get between 10 to 20 frames per
   second for various objects on my system.

Well, that's enough gabbing for me.  I just wanted to see if anyone would
be interested in the things I've been doing with my system, since I've put
quite a bit of time into improving it lately.  Would any of the diffs to
the kernel be frowned upon?  I'd rather hear opinions now than to
post source and get flamed.  :-)

Thanks,
-Steve Gerakines

 ----------------------------------------------------------------------------
| Usenet: sgerakin@hawk.ulowell.edu       | SteveNet: GENESIS:Steve2         |
| UUCP:   ...!harvard!swan!sgerakin@hawk  | "My kingdom for a smoke!!!"      |
 ----------------------------------------------------------------------------