Re: A92: TSR Programming


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

Re: A92: TSR Programming




At 13:17 13/05/99 +0200, you wrote:
>
>I've found a method to make programs resident :
>    just write your TSR at address $120 : that's the start of the stack.
>
>So here is an example for the ti-92 : it locks the hand+2nd+on reset.
>Hope it will be useful :o)
>(Programs must be as little as possible -> max 4Ko)
>
>                    reset.asm :
>
> xdef _main
> xdef _comment
>
>UserStack equ $120
>
>_main
> movea.l #UserStack,a1
> move.w #$0700,d0
> trap #1
> move.l $78,fin+2
>
> movea.l #int,a0
>.loop
> move.b (a0)+,(a1)+
> cmpa.l #int_end,a0
> bne .loop
>
> bclr.b #2,$600001
> move.l #UserStack,$78
> bset.b #2,$600001
> trap #1
> rts
>
>int
> move.w #%1111111111111110,$600018
> nop
> nop
> nop
> nop
> nop
> nop
> btst.b #3,$60001B si touche lock enfoncée
> bne fin  alors on sort de l'interruption
>
> rte
>
>fin
> jmp ($0).l
>int_end
>
>_comment dc.b "Reset BloKer (c) LoVePaRaD",0
> END
>
>Cyril CATTIAUX <-> LoVePaRaD.
>
>PS: I'm looking for great fargo 2.x programmers please !!!!

But if two programs use this method, there will be some problems.
(for example, fcamera under fargo1 use this method).

For ti-92+ and ti-89 we have now hopefully the HeapMoveHigh
or the HeapAllocHigh functions, which if I don't make a 
mistake should create a non-moveable memory buffer.

Bye
Benoit SCHERRER




References: