nanogui: Microwindows for Hercules


Previous by date: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Chipzz
Next by date: 16 Jul 1999 17:57:12 -0000 Microwindows & nano-X, Angel Martin Alganza
Previous in thread: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Chipzz
Next in thread: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Ben Pfaff

Subject: RE: Microwindows for Hercules
From: Greg Haerr ####@####.####
Date: 16 Jul 1999 17:57:12 -0000
Message-Id: <01BECF81.C64AE340.greg@censoft.com>

: > 	The place where nano-X and microwindows spend at *least* 95% of their
: > pixel-pushing code is in drawing horizontal lines.  All the demos but one
: > *never* draw a diagonal line, the only case where bresenham is used.  I had
: > completed test cases to prove this...
: 
: OK, granted. Nevertheless, does this mean it has to be slow? Suppose in
: the future someone writes a drawing program for ELKS, using the XOR algo
: to draw lines (and erase them again as the mouse pointer moves).

	Yes, microwindows is ready for this, the code is already
commented out, waiting for somebody to add it.  I just hadn't heard complaints
about the diagonal line drawing speed yet.  (check out devdraw.c, and you'll
see that *if* the clipping routines see that the line can be drawn full speed
with no clipping, then a commented out low level routine can be called
to perform the function at blinding speed.) 

: Hmm then that's something that could be checked for in between STOSB
: instructions (or the like). We could for example use something like this
: (just an idea), where ? is a flag that isn't used (maybe the carry flag?):
: 
: PUSH flags register
: CLI

	(we don't want to draw lines with interrrupts off)

: ...
: {If out needed} ST?
: ...
: {Bresenham}
: ...
: STOSB {or something like that, like OR}
: LOOPN?
: JN? :End
: ...
: {Perform OUT}
: ...
: LOOP
: ...
: 
: :End
: ...
: POP flags register
: 
: We could of course also use something else than a flag, like a register,
: if Bresenham doesn't already use all of them...
: Just an idea, I never did VGA 4 bit programming, I always used mode 13h.
: 
	Generally, it would be nice to have everything in asm for blinding
speed.  I've already done this with microwindows and nano-X, see the file
asmplan4.s..  I also have everything written in C so that it's easily understandable,
and portable.

	Why don't various people play with this code, and maybe
it should be part of the standard make?

Greg

Previous by date: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Chipzz
Next by date: 16 Jul 1999 17:57:12 -0000 Microwindows & nano-X, Angel Martin Alganza
Previous in thread: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Chipzz
Next in thread: 16 Jul 1999 17:57:12 -0000 Re: Microwindows for Hercules, Ben Pfaff


Powered by ezmlm-browse 0.20.