482
|
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
|
|
33 start leax $04,s
|
|
34 ldd $02,s
|
|
35 cmpd #$0001
|
|
36 beq L0033
|
|
37 cmpd #$0002
|
|
38 bne L0057
|
|
39 ldd [<$04,s]
|
|
40 ldx $06,s
|
|
41 leax -$01,x
|
|
42 beq L0031
|
|
43 leax -$01,x
|
|
44 bne L0057
|
|
45 tfr b,a
|
|
46 L0031 leax $08,s
|
|
47 L0033 ldu $02,x
|
|
48 ldx ,x
|
|
49 ldb #$FF
|
|
50 stb ,x
|
|
51 cmpu #$0002
|
|
52 bcs L0043
|
|
53 stb $01,x
|
|
54 L0043 ldb #SS.Ready
|
|
55 os9 I$GetStt
|
|
56 bcs L0052
|
|
57 ldy #0001
|
|
58 os9 I$Read
|
|
59 rts
|
|
60 L0052 cmpb #E$NotRdy
|
|
61 bne L0059
|
|
62 rts
|
|
63 L0057 ldb #E$ParmEr
|
|
64 L0059 coma
|
|
65 rts
|
|
66
|
|
67 emod
|
|
68 eom equ *
|
|
69 end
|
|
70
|