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