[comp.os.minix] Wanted: Minix-cc

john@minster.york.ac.uk (11/17/88)

Would some kind PC expert out there please mail me a *tested*
Minix-compilable C program which draws (a straight line, say)
on a Hercules-compatible graphic display?

Now to a related, but thornier, question. Should Minix have a
graphics library, and a `window manager'? I realise that Minix
was not intended to include "features grafted onto Unix after the
release of Version 7" (shouldn't that be "7th edition"?). I
applaud this decision, but feel that with the addition of LAN
support, the argument has been weakened somewhat. I would really
like to develop graphic programs with Minix.

My hope is to support those who will try to prevent the addition of
monstrosities like NeWS and Display PostScript to Minix (not enough
memory on the PC, anyway :-> ). If the correct way for Minix to go
generally is the that of the 8th and 9th editions, then the Blit (Bell
Labs Intelligent Terminal) approach - adapted to Minix - may be suitable.
This would entail adding a *small* `Display Manager' process (`DM'?
- analogous to the Blit's Mpxterm) alongside MM & FS.

Arguably the most important routine that would have to be
written is bitblt() - and all the different display adaptors in use
could cause its author quite a problem :-). Several versions would
presumably be needed - as with the hard disk driver. Even so, in his 1987
paper, presented to the Dublin EUUG conference, Bart Locanthi [1]
refers to the PC as an architecture which "inherently and actively
obstruct[s] the implementation of bitblt() ... the display byte order differs
from that of the processor ... and ... the processor isn't very good
at dealing with bit-aligned data anyway". I will add that the Hercules
graphics adaptor makes things even worse by four-way interleaving display
lines in memory.

Comments? I'm almost on the side of the `no change' faction; perhaps
Minix should stay just as it is now.

References

1. "Fast bitblt() with asm() and cpp",
   Bart Locanthi,
   Proceedings of the Autumn 1987 EUUG Conference,
   Trinity College, Dublin,
   EUUG, September 1987, pp. 243-259.

-------------------------------------------------------------------------------
John A. Murdie  "For I dipt into the Future, far as human eye could see
Comp. Sci.       Saw the Vision of the world, and all the wonder that would be
Univ. of York    Saw the heavens fill with commerce, argosies of magic sails
England          Pilots of the purple twilight, dropping down with costly bales"

ukc!minster!john                        Alfred, Lord Tennyson

wheels@mks.UUCP (Gerry Wheeler) (11/21/88)

In article <595772331.26840@minster.york.ac.uk>, john@minster.york.ac.uk writes:
> Should Minix have a graphics library, and a `window manager'?
> My hope is to support those who will try to prevent the addition of
> monstrosities like NeWS and Display PostScript to Minix (not enough
> memory on the PC, anyway :-> ). If the correct way for Minix to go
> generally is the that of the 8th and 9th editions, then the Blit (Bell
> Labs Intelligent Terminal) approach - adapted to Minix - may be suitable.
> This would entail adding a *small* `Display Manager' process (`DM'?
> - analogous to the Blit's Mpxterm) alongside MM & FS.

Sounds good to me. Hopefully this will be doable on the ST version as
well?

While we're talking about graphics, I'd like some input about how
graphics can be done within MINIX.  For example, on the ST, one could
use /dev/mem to write directly to the video memory, but I think that
would be rather poor.  Perhaps another minor device can be added to the
memory driver which references the video memory?

At the moment, I'm just thinking about the ability to put bits on the
screen, so that I can show Neochrome pictures for example.  However,
eventually I've no doubt there will be some sort of graphics manager
that will require access to the screen.  Perhaps this driver could be
the bottom end for it. In fact, perhaps this driver could also be the
bottom end for the tty driver so everything goes through a common
interface.

Just a thought. Any other ideas?
-- 
     Gerry Wheeler                           Phone: (519)884-2251
Mortice Kern Systems Inc.               UUCP: uunet!watmath!mks!wheels
   35 King St. North                             BIX: join mks
Waterloo, Ontario  N2J 2W9                  CompuServe: 73260,1043