[comp.sys.amiga] Odd question

derek@speedy.WISC.EDU (Derek Zahn) (07/21/87)

Does anybody know the details about how console windows actually render their
text?  In particular, I was wondering if it might be possible to use
SetFunction() to intercept the call that puts out the text to my CLI.
My reasons for this are several and rather obscure.  I thought at first 
that at the lowest level, Text() must be used, but haven't had any luck
with that approach.  Maybe I am just doing it incorrectly?

As always, thanks!

derek

Derek Zahn @ Wisconsin

USENET:         ...!{allegra,heurikon,ihnp4,seismo,ucbvax}!uwvax!derek
BITNET:         derek at wiscvm
ARPA INTERNET:  derek@cs.wisc.edu

"It's much much much too hot in here."

cmcmanis%pepper@Sun.COM (Chuck McManis) (07/21/87)

In article <3947@spool.WISC.EDU> derek@speedy.WISC.EDU (Derek Zahn) writes:
.>Does anybody know the details about how console windows actually render their
.>text?  In particular, I was wondering if it might be possible to use
.>SetFunction() to intercept the call that puts out the text to my CLI.
.>My reasons for this are several and rather obscure.  I thought at first 
.>that at the lowest level, Text() must be used, but haven't had any luck
.>with that approach.  Maybe I am just doing it incorrectly?

Yes, this is exactly what it does. What Fast Fonts (a product of Microsmiths)
does is replace the Text() function with one that is quite a bit faster. Thus
anything that uses a CLI (or the console device) will render it's text to the
screen more efficiently. So yes, replacing Text() should do what you want.

--Chuck McManis
uucp: {anywhere}!sun!cmcmanis   BIX: cmcmanis  ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.

billk@pnet01.CTS.COM (Bill Kelly) (07/23/87)

Derek Zahn @ Wisconsin was asking how the console device rendered its text. 
He tried to use SetFunction() on the Text() routine but has had no luck...

That's strange, for Text() is indeed the low-level text routine that the
console device goes through.  When I was testing WarpText 2.0, (some 30,000
cps text routines I wrote, posted to comp.sources and comp.binaries.amiga) I
just jammed the pointer to my routine (interactively with Forth) into Text()'s
vector.  All of the text on the machine was now using WarpText 2.0.  

Perhaps you were calling SetFunction the wrong way...?  I have never used it,
because I never made a program that needed it.  Much easier to hack things in
from the keyboard...  I do know, however, that if you are successful in
pointing the vector for Text() at your own text routine, the console device
will now be using your routine to render its text.

Bill
--
Bill Kelly      {ihnp4, hplabs!hp-sdd, sdcsvax}!crash!pnet01!billk
                (Don't use pnet01!billk; try crash!pnet01!billk -- Thanks!)

                Weird echo causing incomprehension.