trunk/src/emu/machine/idectrl.c
| r23672 | r23673 | |
| 128 | 128 | set_irq(ASSERT_LINE); |
| 129 | 129 | break; |
| 130 | 130 | |
| 131 | | case TID_RESET_CALLBACK: |
| 132 | | reset(); |
| 133 | | break; |
| 134 | | |
| 135 | 131 | case TID_SECURITY_ERROR_DONE: |
| 136 | 132 | /* clear error state */ |
| 137 | 133 | dev->status &= ~IDE_STATUS_ERROR; |
| r23672 | r23673 | |
| 1266 | 1262 | { |
| 1267 | 1263 | dev->status |= IDE_STATUS_BUSY; |
| 1268 | 1264 | dev->status &= ~IDE_STATUS_DRIVE_READY; |
| 1269 | | reset_timer->adjust(attotime::from_msec(5)); |
| 1265 | dev->reset_timer->adjust(attotime::from_msec(5)); |
| 1270 | 1266 | } |
| 1271 | 1267 | break; |
| 1272 | 1268 | } |
| r23672 | r23673 | |
| 1310 | 1306 | slot[0] = subdevice<ide_slot_device>("0"); |
| 1311 | 1307 | slot[1] = subdevice<ide_slot_device>("1"); |
| 1312 | 1308 | |
| 1313 | | /* create a timer for timing status */ |
| 1314 | | reset_timer = timer_alloc(TID_RESET_CALLBACK); |
| 1315 | | |
| 1316 | 1309 | /* register ide states */ |
| 1317 | 1310 | save_item(NAME(config_unknown)); |
| 1318 | 1311 | save_item(NAME(config_register)); |
trunk/src/emu/machine/idehd.c
| r23672 | r23673 | |
| 284 | 284 | save_item(NAME(dma_active)); |
| 285 | 285 | save_item(NAME(verify_only)); |
| 286 | 286 | |
| 287 | /* create a timer for timing status */ |
| 287 | 288 | last_status_timer = timer_alloc(TID_NULL); |
| 289 | reset_timer = timer_alloc(TID_RESET_CALLBACK); |
| 288 | 290 | } |
| 289 | 291 | |
| 290 | 292 | //------------------------------------------------- |
| r23672 | r23673 | |
| 330 | 332 | status = IDE_STATUS_DRIVE_READY | IDE_STATUS_SEEK_COMPLETE; |
| 331 | 333 | } |
| 332 | 334 | |
| 335 | void ide_hdd_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 336 | { |
| 337 | switch(id) |
| 338 | { |
| 339 | case TID_RESET_CALLBACK: |
| 340 | reset(); |
| 341 | break; |
| 342 | } |
| 343 | } |
| 344 | |
| 333 | 345 | //------------------------------------------------- |
| 334 | 346 | // read device key |
| 335 | 347 | //------------------------------------------------- |
trunk/src/emu/machine/idehd.h
| r23672 | r23673 | |
| 68 | 68 | UINT8 gnetreadlock; |
| 69 | 69 | |
| 70 | 70 | emu_timer * last_status_timer; |
| 71 | emu_timer * reset_timer; |
| 71 | 72 | |
| 72 | 73 | protected: |
| 73 | 74 | UINT8 m_features[IDE_DISK_SECTOR_SIZE]; |
| r23672 | r23673 | |
| 93 | 94 | // device-level overrides |
| 94 | 95 | virtual void device_start(); |
| 95 | 96 | virtual void device_reset(); |
| 97 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 96 | 98 | |
| 97 | 99 | // optional information overrides |
| 98 | 100 | virtual machine_config_constructor device_mconfig_additions() const; |