summaryrefslogtreecommitdiff
path: root/v4.0/src/MAPPER/FLUSHBUF.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/MAPPER/FLUSHBUF.ASM')
-rw-r--r--v4.0/src/MAPPER/FLUSHBUF.ASM57
1 files changed, 57 insertions, 0 deletions
diff --git a/v4.0/src/MAPPER/FLUSHBUF.ASM b/v4.0/src/MAPPER/FLUSHBUF.ASM
new file mode 100644
index 0000000..85e678a
--- /dev/null
+++ b/v4.0/src/MAPPER/FLUSHBUF.ASM
@@ -0,0 +1,57 @@
1;0
2page 80,132
3
4title CP/DOS KbdFlushBuffer mapper
5
6kbdxxx segment byte public 'kbd'
7 assume cs:kbdxxx,ds:nothing,es:nothing,ss:nothing
8
9; ************************************************************************* *
10; *
11; * MODULE: kbdflushbuffer
12; *
13; *************************************************************************
14;
15 public kbdflushbuffer
16 .sall
17 .xlist
18 include kbd.inc
19 .list
20
21 public savedkbdinput
22savedkbdinput label word
23 db 0 ; Character goes here
24 db 0 ; Not zero means char is here
25
26
27str struc
28old_bp dw ?
29return dd ?
30handle dw ? ; kbd handle
31str ends
32
33kbdflushbuffer proc far
34 Enter KbdFlushBuffer ; push registers
35 mov ah,0bh ; Check for ^C
36 int 021h
37
38 mov ax,0c06h
39 mov dl,-1
40 int 021h
41 jz nochar
42
43 mov ah,1
44 mov savedkbdinput,ax
45 jmp done
46nochar:
47 mov savedkbdinput,0
48
49done: sub ax,ax ; set good return code
50 Mexit ; pop registers
51 ret size str - 6 ; return
52
53kbdflushbuffer endp
54
55kbdxxx ends
56
57 end