[A83] Re: Font hooks


[Prev][Next][Index][Thread]

[A83] Re: Font hooks




If for any reason you exit your font hook routine with nz, then the TIOS
will uninstall your fonk hook routine as you can see from this code 
segment taken from the rom:

     call 76CC      ;RunHook
     pop  hl
     jr   z,77A7    ;use custom bitmap
     pop  af
     res  5,(iy+35)
     ret

So this routine you wrote would only work if you tried displaying small
stars all the time otherwise you would end up uninstalling your hook upon
exiting with nz.  

I think you could get around this by creating your own exit routine to
bypass the res 5,(iy+35) <- the bit that tells the os if a font hook is
installed or not.  Writing an entire font set would be tedious if you
wanted to change the bitmap of only one character.

Brandon Sterner

On Thu, 4 Oct 2001, Andy Hochhaus wrote:
> 
> I have only done this on an 83+ all that other info is
> for the 83+ as well. Not sure if it will work or how
> to do a custom font on the 83-.
> 
> Below is an example from a program I am writing. It
> replaces the small font character '*' with a dot.
> 
> ;To enable: (or else do a B_CALL)
> 	ld	hl,fonthook
> 	in	a,(6)	
> 	ld	(9b9ch),hl  ;start of font hook
> 	ld	(9b9eh),a   ;page num font hook is on
> 	set	5,(IY+35h)  ;flag for font hook
> 
> ;Then the font hook itself:
> ;in: a=0 if big font, a=1 if small font
> ;    b=ascii of char to be displayed
> 
> ;out: nz if display default tios bitmap
> ;     z if display custom font then also
> ;        hl->bitmap
> fonthook:
> 	db	83h
> 	cp	0
> 	ret	nz ;don't do anything if BIG font
> 
> 	ld	a,b
> 	cp	2ah ;acsii of '*' 2ah
> 	ret	nz ;if any key other than '*' return
> 	push	af
> 	push	bc
> 	ld	hl,newmult
> 	ld	de,sfont_record
> 	ld	bc,8
> 	ldir ;copy new bitmap to safe ram location
> 	pop	bc
> 	pop	af
> 	ld	hl,sfont_record ;hl->new bitmap
> 	ret
> 	
> newmult:
> 	db	2 ;char width
> 	db	00000000b ;bitmap right justified
> 	db	00000000b
> 	db	00000000b
> 	db	00000010b
> 	db	00000000b
> 	db	00000000b
> 	db	00000000b
> 
> I hope that this explains a bit. Let me know if you
> want further clarification about anything.
> 
> -Andy Hochhaus
> 
> --- Ronald Teune <rtwolf@gmx.net> wrote:
> > 
> > >Here is some info that Dan Englender gave me some
> > time
> > >ago. I hope he dosent mind me reposting it. All the
> > >info is a direct copy from an email he sent me so
> > make
> > >sure to give him all the credit. Hope that this can
> > >help you.
> > >
> > >(ignore the colons, this is a paste from a TI-92
> > Plus)
> > 
> > Is this possible on a TI-83+ too?
> > And what would the custom stuff look like?
> > Something like this?
> > 
> >     .db %00010000
> >     .db %00101000
> >     .db %01111100
> >     .db %01000100
> >     .db %01000100
> >     .db %01000100
> > 
> > and so on for all 256 characters?
> > 
> > >So Basically do something like this
> > >
> > >ld hl,fonthook
> > >B_CALL 4fe4h
> > >ret
> > >
> > >fonthook:
> > >db 83h     ;tios checks this byte always 83h
> > >;do custom font hook stuff
> > >cp a        ;set z flag telling tios to use
> > >             ;   custom font
> > >ret
> > >
> > >Goodluck!
> > 
> > Thanks!
> > 
> > >-Andy Hochhaus
> > >
> > >--- Ronald Teune <rtwolf@gmx.net> wrote:
> > >> 
> > >> ti83plus.inc:
> > >> (...)
> > >> localLanguage        EQU  9B73h
> > >> cursorHookPtr        EQU  9B7Ch
> > >> rawKeyHookPtr        EQU  9B84h
> > >> getKeyHookPtr        EQU  9B88h
> > >> fontHookPtr          EQU  9B9Ch        -->So
> > there
> > >> is a font hook! Probably.
> > >> (...)
> > >> 
> > >> Ronald.
> > 
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
> http://geocities.yahoo.com/ps/info1
> 
> 
> 





Follow-Ups: References: