[A83] Re: Special ram areas?


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

[A83] Re: Special ram areas?




You really cant guarantee that that location will not be over written by
another asm program/application.  In fact there really isn't anywhere in
ram that you can feel safe there won't be shifting or overwriting unless
your program is in complete control but the idea of hooks is that they are
used while your program is not running.  You could always look up the
program in the vat but that would be insanely inefficient.

On Wed, 31 Oct 2001, Ronald Teune wrote:

> 
> Hi,
> 
> Dunno if I told it, but I'm planning to make a font app, with external font
> support, if possible. If I have external fonts, I need to transfer them to a
> static location in ram, like ion's 9F60 or so. Is there another such
> location that won't shift through memory? How does ion do it?
> Another one: The ti-font is 5 pixels wide, but bytes are 8 bytes. Do I have
> to fill the rest with zeroes? Can anyone (Andy Hochhaus?) tell me what to
> change if I want to make a big font? And can anyone tell the use of eea? I
> don't see it. Maybe if I downloaded it, this will change.
> 
> 
> ;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
> 
> ;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 ;here was an error he said, however,
>         ;with BIG font this should be okay(?)
> 
> 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
> 
> 
> 
> 
> 





References: