moved where cur_drive is updated & changed pcmcia trampoline definition to 16 bit. (nw)

This commit is contained in:
smf- 2013-06-05 20:29:15 +00:00
parent 6f16367c19
commit a06026456b
2 changed files with 13 additions and 5 deletions

View File

@ -1096,7 +1096,16 @@ UINT32 ide_controller_device::ide_controller_read(int bank, offs_t offset, int s
void ide_controller_device::ide_controller_write(int bank, offs_t offset, int size, UINT32 data)
{
switch (BANK(bank, offset))
{
case IDE_BANK0_HEAD_NUMBER:
cur_drive = (data & 0x10) >> 4;
break;
}
ide_device_interface *dev = slot[cur_drive]->dev();
if (dev == NULL)
return;
/* logit */
if (BANK(bank, offset) != IDE_BANK0_DATA)
@ -1227,7 +1236,6 @@ void ide_controller_device::ide_controller_write(int bank, offs_t offset, int si
/* current head */
case IDE_BANK0_HEAD_NUMBER:
cur_drive = (data & 0x10) >> 4;
dev->cur_head = data & 0x0f;
dev->cur_head_reg = data;
// LBA mode = data & 0x40
@ -1439,7 +1447,7 @@ WRITE32_DEVICE_HANDLER( ide_controller32_w )
}
READ32_DEVICE_HANDLER( ide_controller16_pcmcia_r )
READ16_DEVICE_HANDLER( ide_controller16_pcmcia_r )
{
ide_controller_device *ide = (ide_controller_device *) device;
@ -1458,7 +1466,7 @@ READ32_DEVICE_HANDLER( ide_controller16_pcmcia_r )
}
WRITE32_DEVICE_HANDLER( ide_controller16_pcmcia_w )
WRITE16_DEVICE_HANDLER( ide_controller16_pcmcia_w )
{
int size;

View File

@ -82,8 +82,8 @@ void ide_controller_w(device_t *config, int reg, int size, UINT32 data);
DECLARE_READ32_DEVICE_HANDLER( ide_controller32_r );
DECLARE_WRITE32_DEVICE_HANDLER( ide_controller32_w );
DECLARE_READ32_DEVICE_HANDLER( ide_controller16_pcmcia_r );
DECLARE_WRITE32_DEVICE_HANDLER( ide_controller16_pcmcia_w );
DECLARE_READ16_DEVICE_HANDLER( ide_controller16_pcmcia_r );
DECLARE_WRITE16_DEVICE_HANDLER( ide_controller16_pcmcia_w );
DECLARE_READ32_DEVICE_HANDLER( ide_bus_master32_r );
DECLARE_WRITE32_DEVICE_HANDLER( ide_bus_master32_w );