mirror of
https://github.com/holub/mame
synced 2025-10-06 00:54:22 +03:00
i8271: slight improvement for the bbc (nw)
This commit is contained in:
parent
94532c6549
commit
7ac63b89ec
@ -98,6 +98,7 @@ void i8271_device::soft_reset()
|
|||||||
rr = 0;
|
rr = 0;
|
||||||
scan_sec = 0;
|
scan_sec = 0;
|
||||||
moder = 0xc0;
|
moder = 0xc0;
|
||||||
|
oport = 0;
|
||||||
scan_cnt[0] = scan_cnt[1] = 0;
|
scan_cnt[0] = scan_cnt[1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -823,7 +824,7 @@ void i8271_device::start_command(int cmd)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0x23:
|
case 0x23:
|
||||||
rr = (command[0] << 1) & 0xc0;
|
rr = (command[0] & 0xc0) | oport;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
rr = 0;
|
rr = 0;
|
||||||
@ -863,6 +864,7 @@ void i8271_device::start_command(int cmd)
|
|||||||
case 0x22:
|
case 0x22:
|
||||||
break;
|
break;
|
||||||
case 0x23: {
|
case 0x23: {
|
||||||
|
oport = command[2] & ~0xc0;
|
||||||
floppy_info &fi = flopi[BIT(command[0], 7)];
|
floppy_info &fi = flopi[BIT(command[0], 7)];
|
||||||
fi.dev->dir_w(BIT(command[2], 2));
|
fi.dev->dir_w(BIT(command[2], 2));
|
||||||
fi.dev->stp_w(BIT(command[2], 1));
|
fi.dev->stp_w(BIT(command[2], 1));
|
||||||
|
@ -209,7 +209,7 @@ private:
|
|||||||
floppy_info flopi[2];
|
floppy_info flopi[2];
|
||||||
|
|
||||||
int command_pos, sectors_read, scan_len;
|
int command_pos, sectors_read, scan_len;
|
||||||
UINT8 command[6], dma_data;
|
UINT8 command[6], dma_data, oport;
|
||||||
UINT8 rr, scan_sec, moder;
|
UINT8 rr, scan_sec, moder;
|
||||||
UINT8 precomp, perpmode, scan_cnt[2];
|
UINT8 precomp, perpmode, scan_cnt[2];
|
||||||
UINT8 srate, hset, icnt, hload;
|
UINT8 srate, hset, icnt, hload;
|
||||||
|
Loading…
Reference in New Issue
Block a user