0
|
1 ********************************************************************
|
|
2 * Inkey - Key detect subroutine
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
|
8 * ? Original Tandy/Microware version
|
|
9 * 1 Put a proper edition number after the name BGP 98/10/26
|
|
10
|
|
11 nam Inkey
|
|
12 ttl Key detect subroutine
|
|
13
|
|
14 * Disassembled 98/09/11 11:55:29 by Disasm v1.6 (C) 1988 by RML
|
|
15
|
|
16 ifp1
|
|
17 use defsfile
|
|
18 endc
|
|
19
|
|
20 tylg set Sbrtn+Objct
|
|
21 atrv set ReEnt+rev
|
|
22 rev set $01
|
|
23 edition set 1
|
|
24
|
|
25 mod eom,name,tylg,atrv,start,size
|
|
26
|
|
27 u0000 rmb 0
|
|
28 size equ .
|
|
29
|
|
30 name fcs /Inkey/
|
|
31 fcb edition
|
|
32 start leax $04,s
|
|
33 ldd $02,s
|
|
34 cmpd #$0001
|
|
35 beq L0033
|
|
36 cmpd #$0002
|
|
37 bne L0057
|
|
38 ldd [<$04,s]
|
|
39 ldx $06,s
|
|
40 leax -$01,x
|
|
41 beq L0031
|
|
42 leax -$01,x
|
|
43 bne L0057
|
|
44 tfr b,a
|
|
45 L0031 leax $08,s
|
|
46 L0033 ldu $02,x
|
|
47 ldx ,x
|
|
48 ldb #$FF
|
|
49 stb ,x
|
|
50 cmpu #$0002
|
|
51 bcs L0043
|
|
52 stb $01,x
|
|
53 L0043 ldb #$01
|
|
54 os9 I$GetStt
|
|
55 bcs L0052
|
|
56 ldy #0001
|
|
57 os9 I$Read
|
|
58 rts
|
|
59 L0052 cmpb #E$NotRdy
|
|
60 bne L0059
|
|
61 rts
|
|
62 L0057 ldb #$38
|
|
63 L0059 coma
|
|
64 rts
|
|
65
|
|
66 emod
|
|
67 eom equ *
|
|
68 end
|
|
69
|