mirror of
https://github.com/86Box/86Box.git
synced 2026-02-21 17:15:32 -07:00
Printers: Use the new timer API for the timeout timers, fixes printers on faster emulated CPU's.
This commit is contained in:
@@ -401,7 +401,7 @@ timeout_timer(void *priv)
|
||||
if (dev->page->dirty)
|
||||
new_page(dev, 1, 1);
|
||||
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -483,7 +483,7 @@ reset_printer_hard(escp_t *dev)
|
||||
{
|
||||
dev->ack = 0;
|
||||
timer_disable(&dev->pulse_timer);
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
reset_printer(dev);
|
||||
}
|
||||
|
||||
@@ -1898,8 +1898,8 @@ strobe(uint8_t old, uint8_t val, void *priv)
|
||||
/* Process incoming character. */
|
||||
handle_char(dev, dev->data);
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -1909,7 +1909,7 @@ strobe(uint8_t old, uint8_t val, void *priv)
|
||||
dev->ack = 1;
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1939,8 +1939,8 @@ write_ctrl(uint8_t val, void *priv)
|
||||
/* Process incoming character. */
|
||||
handle_char(dev, dev->data);
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -1950,7 +1950,7 @@ write_ctrl(uint8_t val, void *priv)
|
||||
dev->ack = 1;
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
|
||||
dev->ctrl = val;
|
||||
|
||||
@@ -136,7 +136,7 @@ reset_ps(ps_t *dev)
|
||||
dev->buffer_pos = 0;
|
||||
|
||||
timer_disable(&dev->pulse_timer);
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -253,7 +253,7 @@ timeout_timer(void *priv)
|
||||
|
||||
write_buffer(dev, true);
|
||||
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -333,8 +333,8 @@ ps_strobe(uint8_t old, uint8_t val, void *priv)
|
||||
if (!(val & 0x01) && (old & 0x01)) {
|
||||
process_data(dev);
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -344,7 +344,7 @@ ps_strobe(uint8_t old, uint8_t val, void *priv)
|
||||
dev->ack = true;
|
||||
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -371,8 +371,8 @@ ps_write_ctrl(uint8_t val, void *priv)
|
||||
if (!(val & 0x01) && (dev->ctrl & 0x01)) {
|
||||
process_data(dev);
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -382,7 +382,7 @@ ps_write_ctrl(uint8_t val, void *priv)
|
||||
dev->ack = true;
|
||||
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
|
||||
dev->ctrl = val;
|
||||
|
||||
@@ -214,7 +214,7 @@ timeout_timer(void *priv)
|
||||
if (dev->page->dirty)
|
||||
new_page(dev);
|
||||
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -244,7 +244,7 @@ reset_printer(prnt_t *dev)
|
||||
plat_tempfile(dev->filename, NULL, ".txt");
|
||||
|
||||
timer_disable(&dev->pulse_timer);
|
||||
timer_disable(&dev->timeout_timer);
|
||||
timer_stop(&dev->timeout_timer);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -381,8 +381,8 @@ strobe(uint8_t old, uint8_t val, void *priv)
|
||||
/* Process incoming character. */
|
||||
handle_char(dev);
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -393,7 +393,7 @@ strobe(uint8_t old, uint8_t val, void *priv)
|
||||
dev->ack = 1;
|
||||
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -427,8 +427,8 @@ write_ctrl(uint8_t val, void *priv)
|
||||
/* ACK it, will be read on next READ STATUS. */
|
||||
dev->ack = 1;
|
||||
|
||||
if (timer_is_enabled(&dev->timeout_timer)) {
|
||||
timer_disable(&dev->timeout_timer);
|
||||
if (timer_is_on(&dev->timeout_timer)) {
|
||||
timer_stop(&dev->timeout_timer);
|
||||
#ifdef USE_DYNAREC
|
||||
if (cpu_use_dynarec)
|
||||
update_tsc();
|
||||
@@ -436,7 +436,7 @@ write_ctrl(uint8_t val, void *priv)
|
||||
}
|
||||
|
||||
timer_set_delay_u64(&dev->pulse_timer, ISACONST);
|
||||
timer_set_delay_u64(&dev->timeout_timer, 5000000 * TIMER_USEC);
|
||||
timer_on_auto(&dev->timeout_timer, 5000000.0);
|
||||
}
|
||||
|
||||
dev->ctrl = val;
|
||||
|
||||
Reference in New Issue
Block a user