Initial commit to 'Modern C Template For PDP-11' repository.
[pdp11-modern-c] / pdp11 / pdp11.c
CommitLineData
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
15void
16putch(uint16_t c)
17{
18 while((XCSR && 0200) == 0) continue;
19 XBUF = c;
20}
21
22uint16_t
23getch(void)
24{
25 while((RCSR && 0200) == 0) continue;
26 return RBUF;
27}
28
29/*
30 * Busy-loop
31 */
32
33void
34wait(uint16_t count)
35{
36 while (count--) continue;
37}