LZ: MORE HELP NEEDED


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

LZ: MORE HELP NEEDED



Well im just bout there.... i still have one major bug that i (being a newbie) 
cant yet figure out.. why wont this program exit... i have made sure all my 
call_'s have ret statements and im confused for the 5th time here is the code 
anyone who can figure out why it wont exit i would appreciate it...




#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)


    cp $0F   ;clear
    JUMP_Z(clear)
    
    JUMP_(Start)    ; loop
up:
  inc c  ; x=x+1
  CALL_(PlotPixel) ; draw it
  ret


down:
     dec c ; x=x-1
     CALL_(PlotPixel)
     ret


right:
  inc b  ; y=y+1
  CALL_(PlotPixel) ; draw it
  ret    ; go back


left:
  dec b  ; y=y-1
  CALL_(PlotPixel) ; draw it
  ret   ; go back
clear:
    ROM_CALL(CLEARLCD)
    JUMP_(init)


PlotPixel:
    ROM_CALL(FIND_PIXEL)
    ld de,$FC00
    add hl,de
    or (HL)
    ld (HL),a
    ret


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)
exitloop: 
   call GET_KEY
   cp $37
   ret z
   jr exitloop
   


bye: .db "BYE THANKS FOR TESTING",0  ; Displays this line then freezes
.end