Merge branch 'master' of https://github.com/86Box/86Box into cleanup30
# Conflicts: # src/include/86box/machine.h # src/machine/m_at_socket7.c # src/machine/machine_table.c # src/video/vid_tgui9440.c # src/win/win.c
This commit is contained in:
@@ -1700,24 +1700,17 @@ es1371_poll(void *p)
|
||||
But if anything sets MIDI Input and Output together we'd have to take account
|
||||
of the MIDI Output case, and disable IRQ's and RX bits when MIDI Input is
|
||||
enabled as well but not in the MIDI Output portion */
|
||||
if (dev->uart_ctrl & UART_CTRL_TXINTEN)
|
||||
dev->int_status |= INT_STATUS_UART;
|
||||
else
|
||||
dev->int_status &= ~INT_STATUS_UART;
|
||||
dev->int_status &= ~INT_STATUS_UART;
|
||||
dev->uart_status |= (UART_STATUS_TXINT | UART_STATUS_TXRDY);
|
||||
} else if (!(dev->uart_ctrl & UART_CTRL_RXINTEN) && ((dev->uart_ctrl & UART_CTRL_TXINTEN))) {
|
||||
/* Or enable the UART IRQ and the respective TX bits only when the MIDI Output is
|
||||
enabled */
|
||||
dev->int_status |= INT_STATUS_UART;
|
||||
} else {
|
||||
dev->uart_status |= (UART_STATUS_TXINT | UART_STATUS_TXRDY);
|
||||
}
|
||||
|
||||
if (dev->uart_ctrl & UART_CTRL_RXINTEN) {
|
||||
if (dev->uart_ctrl & UART_CTRL_TXINTEN)
|
||||
dev->uart_status |= (UART_STATUS_TXINT | UART_STATUS_TXRDY);
|
||||
else
|
||||
dev->uart_status &= ~(UART_STATUS_TXINT | UART_STATUS_TXRDY);
|
||||
} else
|
||||
dev->uart_status |= (UART_STATUS_TXINT | UART_STATUS_TXRDY);
|
||||
|
||||
audiopci_log("UART control = %02x\n", dev->uart_ctrl & (UART_CTRL_RXINTEN | UART_CTRL_TXINTEN));
|
||||
es1371_update_irqs(dev);
|
||||
}
|
||||
|
||||
|
||||
@@ -108,12 +108,10 @@ timer_control(opl_t *dev, int tmr, int start)
|
||||
timer_on_auto(&dev->timers[tmr], (tmr == 1) ? 320.0 : 80.0);
|
||||
} else {
|
||||
opl_log("Timer %i stopped\n", tmr);
|
||||
if (!(dev->flags & FLAG_OPL3)) {
|
||||
if (tmr == 1) {
|
||||
dev->status &= ~STAT_TMR2_OVER;
|
||||
} else
|
||||
dev->status &= ~STAT_TMR1_OVER;
|
||||
}
|
||||
if (tmr == 1) {
|
||||
dev->status &= ~STAT_TMR2_OVER;
|
||||
} else
|
||||
dev->status &= ~STAT_TMR1_OVER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -961,8 +961,9 @@ sb_ct1745_mixer_read(uint16_t addr, void *p)
|
||||
/* 0 = none, 1 = digital 8bit or SBMIDI, 2 = digital 16bit, 4 = MPU-401 */
|
||||
/* 0x02000 DSP v4.04, 0x4000 DSP v4.05, 0x8000 DSP v4.12.
|
||||
I haven't seen this making any difference, but I'm keeping it for now. */
|
||||
/* If QEMU is any indication, then the values are actually 0x20, 0x40, and 0x80. */
|
||||
temp = ((sb->dsp.sb_irq8) ? 1 : 0) | ((sb->dsp.sb_irq16) ? 2 : 0) |
|
||||
((sb->dsp.sb_irq401) ? 4 : 0) | 0x4000;
|
||||
((sb->dsp.sb_irq401) ? 4 : 0) | 0x40;
|
||||
ret = temp;
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user