[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: