Re: LZ: Program again SORRY


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

Re: LZ: Program again SORRY



On Tue, 24 Sep 1996, Frank  wrote:


> Here is my infamous test at the etch a sketch proggy... well thanx to some 
> people help it actually does draw now the prob is that when it tries to exits 
> it just stalls never returning to zshell here is the code once again
> 
> #include "ti-85.h"
> .org 0
> .db "By Frank Apap",0
> 
> Init:
>  ld a,4
>  out (5),a
>  ROM_CALL(CLEARLCD)
>  ld b,40                   ; x start
>  ld c,30                   ; y start
> 
> Start:
>     call GET_KEY   ; get a key
>     cp $04         ; up ?
>      jr nz,nextkey
>     CALL_Z(up)
>      JUMP_(Start)
> 
> nextkey:
>     cp $01         ; down
>     CALL_Z(down)
> 
>     cp $02           ; left?
>     CALL_Z(left)
> 
>     cp $03        ; right
>     CALL_Z(right)
> 
>     cp $37              ;exit
>     JUMP_Z(exit)
> 
>     JUMP_(Start)    ; loop
> up:
>   inc c  ; x=x+1
>   CALL_(PlotPixel) ; draw it
>   JUMP_(Start)
> 
> down:
>      dec c ; x=x-1
>      CALL_(PlotPixel)
>      JUMP_(Start)
> 
> right:
>   inc b  ; y=y+1
>   CALL_(PlotPixel) ; draw it
>   JUMP_(Start)    ; go back
> 
> left:
>   dec b  ; y=y-1
>   CALL_(PlotPixel) ; draw it
>   JUMP_(Start)   ; go back
> 
> PlotPixel:
>     ROM_CALL(FIND_PIXEL)
>     ld de,$FC00
>     add hl,de
>     or (HL)
>     ld (HL),a
>     JUMP_(Start)
> 
> exit:
>      ROM_CALL(CLEARLCD)
>      ld hl,$1A1A
>      ld ($8333), hl
>      ld hl, (PROGRAM_ADDR)
>      ld de,bye
>      add hl,de
>      ROM_CALL(D_ZM_STR)
>      JUMP_(exitloop)    ; This isn't needed.  It just falls through.
> exitloop:               
>    call GET_KEY
>    cp $37
>    ret z
>    cp $9
>    ret z
>    JUMP_(exitloop)
> 
> bye: .db "BYE THANKS FOR TESTING",0 ; THIS LINE JUST SHOWS UP                  
>                                               ; AND WONT LEAVE
> .end
>   
> 


References: