]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/FLUSHBUF.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / MAPPER / FLUSHBUF.ASM
1 ;\ f\e0
2 page 80,132
3
4 title CP/DOS KbdFlushBuffer mapper
5
6 kbdxxx 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
22 savedkbdinput label word
23 db 0 ; Character goes here
24 db 0 ; Not zero means char is here
25
26
27 str struc
28 old_bp dw ?
29 return dd ?
30 handle dw ? ; kbd handle
31 str ends
32
33 kbdflushbuffer 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
46 nochar:
47 mov savedkbdinput,0
48
49 done: sub ax,ax ; set good return code
50 Mexit ; pop registers
51 ret size str - 6 ; return
52
53 kbdflushbuffer endp
54
55 kbdxxx ends
56
57 end