struct ChannelState chn[2];
};
-#define SERIAL_MAXADDR 7
-#define SERIAL_SIZE (SERIAL_MAXADDR + 1)
+#define SERIAL_SIZE 8
#define SERIAL_CTRL 0
#define SERIAL_DATA 1
static int slavio_serial_update_irq_chn(ChannelState *s)
{
- if ((s->wregs[W_INTR] & INTR_INTALL) && // interrupts enabled
- (((s->wregs[W_INTR] & INTR_TXINT) && s->txint == 1) ||
+ if ((((s->wregs[W_INTR] & INTR_TXINT) && s->txint == 1) ||
// tx ints enabled, pending
((((s->wregs[W_INTR] & INTR_RXMODEMSK) == INTR_RXINT1ST) ||
((s->wregs[W_INTR] & INTR_RXMODEMSK) == INTR_RXINTALL)) &&
val &= 0xff;
saddr = (addr & 3) >> 1;
- channel = (addr & SERIAL_MAXADDR) >> 2;
+ channel = addr >> 2;
s = &serial->chn[channel];
switch (saddr) {
case SERIAL_CTRL:
int channel;
saddr = (addr & 3) >> 1;
- channel = (addr & SERIAL_MAXADDR) >> 2;
+ channel = addr >> 2;
s = &serial->chn[channel];
switch (saddr) {
case SERIAL_CTRL: