From 33d3fbc45eb800121f3bf5f42a70e9fea9481f1b Mon Sep 17 00:00:00 2001 From: yz70s Date: Sun, 17 Jan 2016 19:42:32 +0100 Subject: [PATCH] idehd.cpp: Respond to command SECURITY DISABLE PASSWORD (nw) --- src/devices/machine/atahle.h | 1 + src/devices/machine/idehd.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/devices/machine/atahle.h b/src/devices/machine/atahle.h index 2ccfb397b26..95f55a8b68a 100644 --- a/src/devices/machine/atahle.h +++ b/src/devices/machine/atahle.h @@ -126,6 +126,7 @@ protected: IDE_COMMAND_IDENTIFY_DEVICE = 0xec, IDE_COMMAND_SET_FEATURES = 0xef, IDE_COMMAND_SECURITY_UNLOCK = 0xf2, + IDE_COMMAND_SECURITY_DISABLE_PASSWORD = 0xf6, IDE_COMMAND_READ_NATIVE_MAX_ADDRESS = 0xf8, IDE_COMMAND_SET_MAX = 0xf9 }; diff --git a/src/devices/machine/idehd.cpp b/src/devices/machine/idehd.cpp index 68a6cdbbdc9..78cda7b1f2a 100644 --- a/src/devices/machine/idehd.cpp +++ b/src/devices/machine/idehd.cpp @@ -506,6 +506,10 @@ void ata_mass_storage_device::process_buffer() if (m_master_password_enable || m_user_password_enable) security_error(); } + else if (m_command == IDE_COMMAND_SECURITY_DISABLE_PASSWORD) + { + LOGPRINT(("IDE Done unimplemented SECURITY_DISABLE_PASSWORD command\n")); + } else { set_dasp(ASSERT_LINE); @@ -685,6 +689,15 @@ void ata_mass_storage_device::process_command() set_irq(ASSERT_LINE); break; + case IDE_COMMAND_SECURITY_DISABLE_PASSWORD: + LOGPRINT(("IDE Unimplemented SECURITY DISABLE PASSWORD command\n")); + + /* mark the buffer ready */ + m_status |= IDE_STATUS_DRQ; + + set_irq(ASSERT_LINE); + break; + case IDE_COMMAND_IDENTIFY_DEVICE: LOGPRINT(("IDE Identify device\n"));