trunk/src/emu/machine/idectrl.c
| r23468 | r23469 | |
| 1096 | 1096 | |
| 1097 | 1097 | void ide_controller_device::ide_controller_write(int bank, offs_t offset, int size, UINT32 data) |
| 1098 | 1098 | { |
| 1099 | switch (BANK(bank, offset)) |
| 1100 | { |
| 1101 | case IDE_BANK0_HEAD_NUMBER: |
| 1102 | cur_drive = (data & 0x10) >> 4; |
| 1103 | break; |
| 1104 | } |
| 1105 | |
| 1099 | 1106 | ide_device_interface *dev = slot[cur_drive]->dev(); |
| 1107 | if (dev == NULL) |
| 1108 | return; |
| 1100 | 1109 | |
| 1101 | 1110 | /* logit */ |
| 1102 | 1111 | if (BANK(bank, offset) != IDE_BANK0_DATA) |
| r23468 | r23469 | |
| 1227 | 1236 | |
| 1228 | 1237 | /* current head */ |
| 1229 | 1238 | case IDE_BANK0_HEAD_NUMBER: |
| 1230 | | cur_drive = (data & 0x10) >> 4; |
| 1231 | 1239 | dev->cur_head = data & 0x0f; |
| 1232 | 1240 | dev->cur_head_reg = data; |
| 1233 | 1241 | // LBA mode = data & 0x40 |
| r23468 | r23469 | |
| 1439 | 1447 | } |
| 1440 | 1448 | |
| 1441 | 1449 | |
| 1442 | | READ32_DEVICE_HANDLER( ide_controller16_pcmcia_r ) |
| 1450 | READ16_DEVICE_HANDLER( ide_controller16_pcmcia_r ) |
| 1443 | 1451 | { |
| 1444 | 1452 | ide_controller_device *ide = (ide_controller_device *) device; |
| 1445 | 1453 | |
| r23468 | r23469 | |
| 1458 | 1466 | } |
| 1459 | 1467 | |
| 1460 | 1468 | |
| 1461 | | WRITE32_DEVICE_HANDLER( ide_controller16_pcmcia_w ) |
| 1469 | WRITE16_DEVICE_HANDLER( ide_controller16_pcmcia_w ) |
| 1462 | 1470 | { |
| 1463 | 1471 | int size; |
| 1464 | 1472 | |
trunk/src/emu/machine/idectrl.h
| r23468 | r23469 | |
| 82 | 82 | |
| 83 | 83 | DECLARE_READ32_DEVICE_HANDLER( ide_controller32_r ); |
| 84 | 84 | DECLARE_WRITE32_DEVICE_HANDLER( ide_controller32_w ); |
| 85 | | DECLARE_READ32_DEVICE_HANDLER( ide_controller16_pcmcia_r ); |
| 86 | | DECLARE_WRITE32_DEVICE_HANDLER( ide_controller16_pcmcia_w ); |
| 85 | DECLARE_READ16_DEVICE_HANDLER( ide_controller16_pcmcia_r ); |
| 86 | DECLARE_WRITE16_DEVICE_HANDLER( ide_controller16_pcmcia_w ); |
| 87 | 87 | DECLARE_READ32_DEVICE_HANDLER( ide_bus_master32_r ); |
| 88 | 88 | DECLARE_WRITE32_DEVICE_HANDLER( ide_bus_master32_w ); |
| 89 | 89 | |