On 2 May 2012, at 16:00, Norman Dunbar wrote:

> 
> When I edit a string using this vector, and press ESC to terminate the edit, 
> I'm seeing zero in D0 instead of a positive number. D1.W is correctly set to 
> 27 for the ESC key.
> 
> The docs state that:
> 
> D0 negative is an error.
> D0 zero means ENTER pressed to end the edit.
> D0 positive means another key ended the edit.
> 
> What I'm finding in tracing the code is the following:
> 
> D0=0, D1=27, ESC pressed.
> D0=0, D1=$0a, ENTER pressed.
> D0=0, D1=$d0, UP pressed.
> D0=0, D1=$d8, DOWN pressed.
> 
> It appears that D0 is always zero on return.

The code in ee_wman_rname_asm (which contains the code for WM.ENAME) sets D0 to 
0 when a character is correctly read. If it is one of the terminators then D0 
remains zero. this means that the code distinguishing between ENTER and the 
rest is just not there!

George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to