covox.c 517 Bytes
Newer Older
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
1
2
3
4
#include "defines.h"
#include <fcntl.h>
#include <stdio.h>
#include <sys/ioctl.h>
5
#include "intl.h"
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
6

7
void covox_init() {
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
8
9
10
11
	covox_val = 0;
	covox_age = ~0;
}

12
int covox_read(c_addr addr, d_word *word)
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
13
14
15
16
17
{
	*word = 0;	/* pulldown */
	return OK;
}

18
int covox_write(c_addr addr, d_word word)
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
19
20
21
22
23
24
{
	covox_val = word & 0xFF;
	covox_age = 0;
	return OK;
}

25
int covox_bwrite(c_addr addr, d_byte byte) {
Michael Stolovitzsky's avatar
Michael Stolovitzsky committed
26
27
28
29
30
31
32
33
34
35
	d_word offset = addr & 1;
	if (offset == 0) {
		covox_val = byte;
	} else {
		covox_val = 0;
	}
	covox_age = 0;
	return OK;
}