LZ: MenuText .2b


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

LZ: MenuText .2b



I successfuly ran tasm on this with 0 errors, can Anyone tell me why this 
crashes my calc?
#include "TI-85.h"


.org 0
.db "MenuText v.1b", 0


Main:
         ROM_CALL(CLEARLCD)
         ld     hl,$0101
         ld ($8333),hl
get:
         call GET_KEY  ;Get the number of the key pressed
         cp     $37
         ret    z
         cp     $0
         jr     z, get
gogetsml:
         JUMP_(getsmall)




chara:
          cp     $36   ;check if 2nd was pressed
          jr     z, gogetsml ;if so goto small text routine
          ld B, $2E     ;Store the Keycode for "A" into B
          cp B         ;Compare A & B
          jr NZ, charb  ;If NZ flag is set goto charb (Check if "A" was
pressed)
          ld A, 'A'     ;Load 'A' into A
          ROM_CALL(M_CHARPUT) ;output 'A' at coord. 1,1
          JUMP_(get)
charb
                  ld B, $26
                  cp B
                  jr NZ, charc
                  ld A, 'B'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(get)
charc:
                  ld B, $1E
                  cp B
                  jr NZ, chard
                  ld A, 'C'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(get)
Repeat down to Z


charz:
                  ld B, $19
                  cp B
                  jr NZ, space
                  ld A, 'Z'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(get)
space:
                  ld B, $03
                  cp B  ;see if right arrow pressed
                  jr NZ, creturn ;if not go on
                  ld A, ($8334) ;if so store ($8334) -> A
                  inc A ;add one to A
                  ld ($8334), A ;put back to address
                  JUMP_(get)
creturn:
                  ld B, $09
                  cp B ;see if enter pressed
                  jr NZ, exitprog ;no, quit
                  ld A, ($8333) ; increase the line by one
                  inc A
                  ld ($8333), A
                  ld A, $01
                  ld ($8334), A ;store 1 in the column
		     JUMP_(get)
exitprog:
                  ret z


getsmall:
         call GET_KEY  ;Get the number of the key pressed
         cp     $37
         ret    z
         cp     $0
         jr     z, getsmall
gogetlg:
         JUMP_(get)
chara1:
          cp     $36
          jr     z, gogetlg
          ld B, $2E     ;Store the Keycode for "A" into B
          cp B         ;Compare A & B
          jr NZ, charb1  ;If NZ flag is set goto charb (Check if "A" was
pressed)
          ld A, 'a'     ;Load 'A' into A
          ROM_CALL(M_CHARPUT) ;output 'A' at coord. 1,1
          JUMP_(getsmall)
charb1:
                  ld B, $26
                  cp B
                  jr NZ, charc1
                  ld A, 'b'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(getsmall)
charc1:
                  ld B, $1E
                  cp B
                  jr NZ, chard1
                  ld A, 'c'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(getsmall)
repeat down to z
charz1:
                  ld B, $19
                  cp B
                  jr NZ, space1
                  ld A, 'z'
                  ROM_CALL(M_CHARPUT)
                  JUMP_(getsmall)
space1:
                  ld B, $03
                  cp B  ;see if right arrow pressed
                  jr NZ, creturn1 ;if not go on
                  ld A, ($8334) ;if so store ($8334) -> A
                  inc A ;add one to A
                  ld ($8334), A ;put back to address
                  JUMP_(getsmall)
creturn1:
                  ld B, $09
                  cp B ;see if enter pressed
                  jr NZ, exitprog1 ;no, quit
                  ld A, ($8333) ; increase the line by one
                  inc A
                  ld ($8333), A
                  ld A, $01
                  ld ($8334), A ;store 1 in the column
		     JUMP_(getsmall)


exitprog1:
                  ret   z


.end
Thanx!
Nick Leskiw
d5w@mail.nitco.com
<pre>
-- 
-The Light at the End of the Tunnel has been permenantly 
disconnected due to financial problems.


http://ww2.netnitco.net/users/d5w/nick.html
</pre>