Commit | Line | Data |
---|---|---|
846f4d60 AT |
1 | /* (c) 2020 Aaron Taylor <ataylor at subgeniuskitty dot com> */ |
2 | /* See LICENSE.txt file for copyright and license details. */ | |
3 | ||
4 | #include <stdint.h> | |
5 | ||
6 | /* | |
7 | * Polled console I/O | |
8 | */ | |
9 | ||
10 | #define RCSR (*((volatile uint16_t *)0177560)) | |
11 | #define RBUF (*((volatile uint16_t *)0177562)) | |
12 | #define XCSR (*((volatile uint16_t *)0177564)) | |
13 | #define XBUF (*((volatile uint16_t *)0177566)) | |
14 | ||
15 | void | |
16 | putch(uint16_t c) | |
17 | { | |
18 | while((XCSR && 0200) == 0) continue; | |
19 | XBUF = c; | |
20 | } | |
21 | ||
22 | uint16_t | |
23 | getch(void) | |
24 | { | |
25 | while((RCSR && 0200) == 0) continue; | |
26 | return RBUF; | |
27 | } | |
28 | ||
29 | /* | |
30 | * Busy-loop | |
31 | */ | |
32 | ||
33 | void | |
34 | wait(uint16_t count) | |
35 | { | |
36 | while (count--) continue; | |
37 | } |