File ncr5380-mode-reg.patch of Package aranym

From 7af1cbfc5257d2c524ffe009790045d687c69fa5 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@linux-m68k.org>
Date: Mon, 21 Mar 2016 00:51:59 +0100
Subject: [PATCH] emulate NCR5380 MODE register

---
 ChangeLog             | 4 ++++
 src/include/ncr5380.h | 1 +
 src/ncr5380.cpp       | 4 +++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/include/ncr5380.h b/src/include/ncr5380.h
index f8fc43b..55bb84d 100644
--- a/src/include/ncr5380.h
+++ b/src/include/ncr5380.h
@@ -33,6 +33,7 @@ class NCR5380 {
 		uae_u8	hd_count;
 
 		uae_u8	hd_initiator;
+		uae_u8	hd_mode;
 
 	public:
 		NCR5380(void);
diff --git a/src/ncr5380.cpp b/src/ncr5380.cpp
index 75d8f50..b3177f1 100644
--- a/src/ncr5380.cpp
+++ b/src/ncr5380.cpp
@@ -120,7 +120,7 @@ NCR5380::~NCR5380(void)
 
 void NCR5380::reset(void)
 {
-	hd_count = hd_status = hd_initiator = 0;
+	hd_count = hd_status = hd_initiator = hd_mode = 0;
 
 	D(bug("ncr5380: reset"));
 }
@@ -140,6 +140,7 @@ uae_u8 NCR5380::ReadData(uae_u16 control)
 			data = hd_initiator = ICR_ARBITRATION_PROGRESS;
 			break;
 		case MODE_REG:
+			data = hd_mode;
 			break;
 		case TARGET_COMMAND_REG:
 			break;
@@ -172,6 +173,7 @@ void NCR5380::WriteData(uae_u16 control, uae_u8 data)
 			hd_initiator = data;
 			break;
 		case MODE_REG:
+			hd_mode = data;
 			break;
 		case TARGET_COMMAND_REG:
 			break;
-- 
2.7.4