Commit | Line | Data |
---|---|---|
6df6071a AT |
1 | #include <stdint.h> |
2 | ||
3 | /* | |
4 | * Polled console I/O | |
5 | */ | |
6 | ||
7 | #define RCSR (*((volatile uint16_t *)0177560)) | |
8 | #define RBUF (*((volatile uint16_t *)0177562)) | |
9 | #define XCSR (*((volatile uint16_t *)0177564)) | |
10 | #define XBUF (*((volatile uint16_t *)0177566)) | |
11 | ||
12 | void | |
13 | putch(uint16_t c) | |
14 | { | |
15 | while((XCSR && 0200) == 0) continue; | |
16 | XBUF = c; | |
17 | } | |
18 | ||
19 | uint16_t | |
20 | getch(void) | |
21 | { | |
22 | while((RCSR && 0200) == 0) continue; | |
23 | return RBUF; | |
24 | } | |
25 | ||
26 | /* | |
27 | * Busy-loop | |
28 | */ | |
29 | ||
30 | void | |
31 | wait(uint16_t count) | |
32 | { | |
33 | while (count--) continue; | |
34 | } |