Merge from trunk

This commit is contained in:
SarahW 2019-04-18 20:46:38 +01:00
commit 50e7de5214
282 changed files with 51494 additions and 22451 deletions

View file

@ -37,6 +37,8 @@ struct
int tandy;
int pb2_turbo;
pc_timer_t send_delay_timer;
} keyboard_xt;
static uint8_t key_queue[16];
@ -44,7 +46,7 @@ static int key_queue_start = 0, key_queue_end = 0;
void keyboard_xt_poll()
{
keybsenddelay += (1000 * TIMER_USEC);
timer_advance_u64(&keyboard_xt.send_delay_timer, (1000 * TIMER_USEC));
if (!(keyboard_xt.pb & 0x40) && romset != ROM_TANDY)
return;
if (keyboard_xt.wantirq)
@ -125,8 +127,7 @@ void keyboard_xt_write(uint16_t port, uint8_t val, void *priv)
ppi.pb = val;
timer_process();
timer_update_outstanding();
if (romset == ROM_IBMPC)
cassette_set_motor((val & 8) ? 0 : 1);
else if (keyboard_xt.pb2_turbo)
@ -241,7 +242,7 @@ void keyboard_xt_init()
keyboard_xt.tandy = 0;
keyboard_xt.pb2_turbo = (romset == ROM_GENXT || romset == ROM_DTKXT || romset == ROM_AMIXT || romset == ROM_PXXT) ? 1 : 0;
timer_add(keyboard_xt_poll, &keybsenddelay, TIMER_ALWAYS_ENABLED, NULL);
timer_add(&keyboard_xt.send_delay_timer, keyboard_xt_poll, NULL, 1);
}
void keyboard_tandy_init()
@ -253,5 +254,5 @@ void keyboard_tandy_init()
keyboard_poll = keyboard_xt_poll;
keyboard_xt.tandy = (romset != ROM_TANDY) ? 1 : 0;
timer_add(keyboard_xt_poll, &keybsenddelay, TIMER_ALWAYS_ENABLED, NULL);
timer_add(&keyboard_xt.send_delay_timer, keyboard_xt_poll, NULL, 1);
}