I have been making updates to my ExamRacr app that has been getting tested by an end-user. He has the TI-84 Plus Silver Edition while I am using the regular TI-84 Plus.
The latest issue is that my custom text editor module does not work anymore for him like it had in the past. Now, when he presses keys on his calc, he says he gets "junk". I am wondering if this can be due to a memory management issue between the two calculators or some threshold of some kind is reached.
I have been testing the text editor profusely on the regular TI-84 and it works great, no bugs. I'm about to ask him to let me borrow a silver edition one.
Any guidance is greatly appreciated.
I am posting a segment of code which does the basic handling of the getkey input. The text editor module is over 1100 lines (with comments and blank lines). I'm not sure if it is neccessary to post that.
Code:
The latest issue is that my custom text editor module does not work anymore for him like it had in the past. Now, when he presses keys on his calc, he says he gets "junk". I am wondering if this can be due to a memory management issue between the two calculators or some threshold of some kind is reached.
I have been testing the text editor profusely on the regular TI-84 and it works great, no bugs. I'm about to ask him to let me borrow a silver edition one.
Any guidance is greatly appreciated.
I am posting a segment of code which does the basic handling of the getkey input. The text editor module is over 1100 lines (with comments and blank lines). I'm not sure if it is neccessary to post that.
Code:
bcall(_GetKey)
ld b, a ;save key to check for edit mode
ld a, (AppTextEditorControl.DisableEdit)
or a
jp nz, Enter ; if disable edit is set to 1, then immediately leave
; the text editor (take test mode)
ld a, b ; recall to a the key press
cp kLeft
jp z, Left
cp kRight
jp z, Right
cp kDel
jp z, Delete
cp kClear
jp z, Clear
cp kMode
jp z, Mode
cp kEnter
jp z, Enter
;keyExtend EQU 8446
;kExtendEcho EQU FE
;kExtendEcho2 EQU FC
ld c, a ; hold keycode in c register
ld a, kExtendEcho2
ld b, a
ld a, c ; put keycode back in c register
cp b
jp nz, {+}
ld hl, keyExtend
ld a, (hl) ; get lower case key code
ld d, a
ld a, kExtendEcho2
ld e, a ; ld de, 'char', kExtendEcho2
jp {++}
+:
ld e, a ; ld de, 0a
xor a
ld d, a
++:
bcall(_KeyToString)
inc hl
ld a, (hl)
call AddLetter