From 1fb575d4b7392aa89235e51b3300d150d5251781 Mon Sep 17 00:00:00 2001 From: smf- Date: Thu, 30 Oct 2014 18:56:00 +0000 Subject: Fixed Mametesters 05769 by reducing ATA flash card seek time to zero. [smf] --- src/emu/machine/ataflash.c | 5 +++++ src/emu/machine/ataflash.h | 1 + src/emu/machine/idehd.h | 7 +++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/emu/machine/ataflash.c b/src/emu/machine/ataflash.c index 0e0b3221540..226e887d80e 100644 --- a/src/emu/machine/ataflash.c +++ b/src/emu/machine/ataflash.c @@ -202,3 +202,8 @@ void ata_flash_pccard_device::process_buffer() ide_hdd_device::process_buffer(); } } + +attotime ata_flash_pccard_device::seek_time() +{ + return attotime::zero; +} diff --git a/src/emu/machine/ataflash.h b/src/emu/machine/ataflash.h index b2a1c9f1901..9c067e1ecc3 100644 --- a/src/emu/machine/ataflash.h +++ b/src/emu/machine/ataflash.h @@ -26,6 +26,7 @@ protected: virtual void device_start(); virtual void device_reset(); + virtual attotime seek_time(); virtual void process_command(); virtual void process_buffer(); virtual bool is_ready(); diff --git a/src/emu/machine/idehd.h b/src/emu/machine/idehd.h index 090d39a7ddc..f00f055d60d 100644 --- a/src/emu/machine/idehd.h +++ b/src/emu/machine/idehd.h @@ -44,6 +44,7 @@ protected: virtual int read_sector(UINT32 lba, void *buffer) = 0; virtual int write_sector(UINT32 lba, const void *buffer) = 0; + virtual attotime seek_time(); void ide_build_identify_device(); @@ -72,7 +73,6 @@ private: void security_error(); void read_first_sector(); void soft_reset(); - attotime seek_time(); UINT32 m_cur_lba; UINT16 m_block_count; @@ -93,9 +93,6 @@ public: ide_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); ide_hdd_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); - virtual int read_sector(UINT32 lba, void *buffer) { if (m_disk == NULL) return 0; return hard_disk_read(m_disk, lba, buffer); } - virtual int write_sector(UINT32 lba, const void *buffer) { if (m_disk == NULL) return 0; return hard_disk_write(m_disk, lba, buffer); } - protected: // device-level overrides virtual void device_start(); @@ -104,6 +101,8 @@ protected: // optional information overrides virtual machine_config_constructor device_mconfig_additions() const; + virtual int read_sector(UINT32 lba, void *buffer) { if (m_disk == NULL) return 0; return hard_disk_read(m_disk, lba, buffer); } + virtual int write_sector(UINT32 lba, const void *buffer) { if (m_disk == NULL) return 0; return hard_disk_write(m_disk, lba, buffer); } virtual UINT8 calculate_status(); chd_file *m_handle; -- cgit v1.2.3