Revision e715c8e8 hw/eepro100.c
b/hw/eepro100.c | ||
---|---|---|
392 | 392 |
} |
393 | 393 |
} |
394 | 394 |
|
395 |
static void eepro100_interrupt(EEPRO100State * s, uint8_t stat) |
|
395 |
static void eepro100_interrupt(EEPRO100State * s, uint8_t status)
|
|
396 | 396 |
{ |
397 | 397 |
uint8_t mask = ~s->mem[SCBIntmask]; |
398 |
s->mem[SCBAck] |= stat; |
|
399 |
stat = s->scb_stat = s->mem[SCBAck]; |
|
400 |
stat &= (mask | 0x0f); |
|
401 |
//~ stat &= (~s->mem[SCBIntmask] | 0x0xf); |
|
402 |
if (stat && (mask & 0x01)) { |
|
398 |
s->mem[SCBAck] |= status;
|
|
399 |
status = s->scb_stat = s->mem[SCBAck];
|
|
400 |
status &= (mask | 0x0f);
|
|
401 |
//~ status &= (~s->mem[SCBIntmask] | 0x0xf);
|
|
402 |
if (status && (mask & 0x01)) {
|
|
403 | 403 |
/* SCB mask and SCB Bit M do not disable interrupt. */ |
404 | 404 |
enable_interrupt(s); |
405 | 405 |
} else if (s->int_stat) { |
Also available in: Unified diff