This commit is contained in:
OBattler
2025-05-01 15:39:52 +02:00
2 changed files with 15 additions and 7 deletions

View File

@@ -62,13 +62,18 @@ joystick_standard_read(UNUSED(void *priv))
{
uint8_t ret = 0xf0;
for (int js = 0; js < 2; js++) {
if (JOYSTICK_PRESENT(0, js)) {
if (joystick_state[0][js].button[0])
ret &= ~0x10;
if (joystick_state[0][js].button[1])
ret &= ~0x20;
}
if (JOYSTICK_PRESENT(0, 0)) {
if (joystick_state[0][0].button[0])
ret &= ~0x10;
if (joystick_state[0][0].button[1])
ret &= ~0x20;
}
if (JOYSTICK_PRESENT(0, 1)) {
if (joystick_state[0][1].button[0])
ret &= ~0x40;
if (joystick_state[0][1].button[1])
ret &= ~0x80;
}
return ret;

View File

@@ -4264,10 +4264,13 @@ mach_accel_in_fifo(mach_t *mach, svga_t *svga, ibm8514_t *dev, uint16_t port, in
if (dev->force_busy) {
temp |= 0x0200; /*Hardware busy*/
if (mach->accel.cmd_type >= 0) {
mono_src = (mach->accel.dp_config >> 5) & 3;
switch (mach->accel.cmd_type) {
case 2:
if (dev->accel.sy >= mach->accel.height)
dev->force_busy = 0;
else if (mono_src == 2)
dev->force_busy = 0;
break;
case 5:
if (dev->accel.sx >= mach->accel.width)