A83: RE: Problem with directinput routine


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

A83: RE: Problem with directinput routine




You can ty a "call _getkey" or something like that just before quiting for
clearing the keyboard-buffer... or something you can try is use a di before
the key-checking and a ei after the checking..

>  -----Oorspronkelijk bericht-----
> Van: 	central@hyperfield.com [mailto:central@hyperfield.com] 
> Verzonden:	vrijdag 29 september 2000 16:00
> Aan:	'assembly-83@lists.ticalc.org'
> Onderwerp:	Problem with directinput routine
> 
> I am using the direct input routine:
> 
> 
> #define kbtrigger(xxxx) ld a,keyreset \ out (1),a \ ld a,xxxx \ out (1),a
> \ in a, (1)
> ...Keydefines and stuff...
> getkeyloop1:
> 
>         kbtrigger(keygroup3)
>         cp key3
>         jp z,log1
>         kbtrigger(keygroup4)
>         cp key2
>         jp z,rijen1
>         cp keyStat
>         jp z,help
>         kbtrigger(keygroup5)
>         cp key1
>         jp z,gonio1
>         cp key4
>         jp z,algebra1
>         kbtrigger(keygroup7)
>         cp keyMode
>         jp z,exit
>         jp getkeyloop1
> 
> ...more program code...
> 
> exit:
>         
> 
>         bcall(_clrlcdfull)
>         bcall(_grbufclr)
>         bcall(_homeup)
>         ld hl,0000h
>         ld (CURCOL),hl
>         ld hl,exittext
>         bcall(_puts)
>         ld hl,0409h
>         ld (CURCOL),hl
>         ld hl,done
>         bcall(_puts)
> 
>         ret
> ...rest of program...
> 
> but when I press mode to quit, the program does quit, but directly
> afterwards the TIOS
> Mode-screen is being displayed.
> 
> I tried resetting the keyboard with ld a, 0FFh \ out (1),a
> but that didn't work.
> 
> Anyone any ideas???
> 
> 
> Peter Martijn
>