[A83] Re: Font hooks correction


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

[A83] Re: Font hooks correction





-----Original Message-----
From: Andy Hochhaus <amhochhaus@yahoo.com>
To: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
Date: donderdag 4 oktober 2001 21:51
Subject: [A83] Re: Font hooks correction


>
>I made a mistake, upon entering the fonthook a=0 if
>variable width font and a=1 if it is the large font.
>(Like the inital email from Dan said)

I think you _where_ right, because you ret _nz_

However, I made this using your code, and it doesn't seem to work. The eea
guy (sorry, forgot your name) said, however, that hooks could only be used
in apps.

;<COMMON STUFF>

.NOLIST
#define equ .equ
#define EQU .equ
#define end .end
#include "ti83plus.inc"
;#include "tokens.inc"
.LIST
#define bcall(xxxx) rst 28h \ .dw xxxx
#define bcallz(xxxx) jr nz,$+5 \ rst 28h \ .dw xxxx
#define bcallnz(xxxx) jr z,$+5 \ rst 28h \ .dw xxxx
#define bcallc(xxxx) jr nc,$+5 \ rst 28h \ .dw xxxx
#define bcallnc(xxxx) jr c,$+5 \ rst 28h \ .dw xxxx
#define bjump(xxxx) call 50h \ .dw xxxx
 .addinstr BCALL *       EF   3 NOP 1
saferam1 =9872h ;Ion-
progstart =9327h ;headers
 .org    progstart-2
        .db     $BB,$6D

;</COMMON STUFF>

 ;Start of Andy Hochhaus' code

 ;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


;my stuff (start)
 ld bc,$0000
 ld (pencol),bc
 ld hl,tekst
 bcall(_VPutS)
 bcall(_GetKey)
 ret
;end

tekst:
 .db "1*2",0

 ;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

 ;end of AHC
.end
END

Ronald.





Follow-Ups: