From e0e0fc765e2732afd481fad4361a82a0e859c1b7 Mon Sep 17 00:00:00 2001
From: Mark Alexander <marka@cygnus>
Date: Mon, 5 Jan 1998 23:43:30 +0000
Subject: 	* interp.c (sim_monitor): Handle Densan monitor outbyte 
 and inbyte functions.

---
 sim/mips/ChangeLog | 5 +++++
 sim/mips/interp.c  | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 8c8f690..2cbb741 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jan  5 20:38:54 1998  Mark Alexander  <marka@cygnus.com>
+
+	* interp.c (sim_monitor): Handle Densan monitor outbyte
+	and inbyte functions.
+
 1997-12-29  Felix Lee  <flee@cygnus.com>
 
 	* interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 59de19b..fe17645 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -765,6 +765,13 @@ sim_monitor(sd,cia,reason)
 	break;
       }
 
+    case 2:  /* Densan monitor: char inbyte(int waitflag) */
+      {
+	if (A0 == 0)	/* waitflag == NOWAIT */
+	  V0 = (ut_reg)-1;
+      }
+     /* Drop through to case 11 */
+
     case 11: /* char inbyte(void) */
       {
         char tmp;
@@ -778,6 +785,7 @@ sim_monitor(sd,cia,reason)
 	break;
       }
 
+    case 3:  /* Densan monitor: void co(char chr) */
     case 12: /* void outbyte(char chr) : write a byte to "stdout" */
       {
         char tmp = (char)(A0 & 0xFF);
-- 
cgit v1.1