* dv-m68hc11eepr.c (m68hc11eepr_info): Fix print of current write
authorStephane Carrez <stcarrez@nerim.fr>
Sat, 28 Jul 2001 19:19:05 +0000 (19:19 +0000)
committerStephane Carrez <stcarrez@nerim.fr>
Sat, 28 Jul 2001 19:19:05 +0000 (19:19 +0000)
address.
(m68hc11eepr_port_event): Fix detach/attach logic.

sim/m68hc11/ChangeLog
sim/m68hc11/dv-m68hc11eepr.c

index 0d6953b30e351444dc68525d7069b5152cebf88c..e4cc73f7640c56c8fb8f6393f05376ef4f4f984e 100644 (file)
@@ -1,3 +1,9 @@
+2001-07-28  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * dv-m68hc11eepr.c (m68hc11eepr_info): Fix print of current write
+       address.
+       (m68hc11eepr_port_event): Fix detach/attach logic.
+
 2001-07-22  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
        * Makefile.in (SIM_OBJS): Remove sim-resume.o
index a48456fa13d013106e968ee61ed2d16044199bda..fb99068fe87714bf3046c159095af86b5e20b973 100644 (file)
@@ -1,5 +1,5 @@
 /*  dv-m68hc11eepr.c -- Simulation of the 68HC11 Internal EEPROM.
-    Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+    Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
     Written by Stephane Carrez (stcarrez@worldnet.fr)
     (From a driver model Contributed by Cygnus Solutions.)
     
@@ -269,10 +269,10 @@ m68hc11eepr_port_event (struct hw *me,
            The EEPROM CONFIG register is still enabled and can be programmed
            for a next configuration (taken into account only after a reset,
            see Motorola spec).  */
-        if (cpu->ios[M6811_CONFIG] & M6811_EEON)
+        if (!(cpu->ios[M6811_CONFIG] & M6811_EEON))
           {
             if (controller->mapped)
-              hw_attach_address (hw_parent (me), M6811_EEPROM_LEVEL,
+              hw_detach_address (hw_parent (me), M6811_EEPROM_LEVEL,
                                  controller->attach_space,
                                  controller->base_address,
                                  controller->size - 1,
@@ -282,7 +282,7 @@ m68hc11eepr_port_event (struct hw *me,
         else
           {
             if (!controller->mapped)
-              hw_detach_address (hw_parent (me), M6811_EEPROM_LEVEL,
+              hw_attach_address (hw_parent (me), M6811_EEPROM_LEVEL,
                                  controller->attach_space,
                                  controller->base_address,
                                  controller->size - 1,
@@ -368,7 +368,7 @@ m68hc11eepr_info (struct hw *me)
         sim_io_printf (sd, "  Programming CONFIG register ");
       else
         sim_io_printf (sd, "  Programming: 0x%04x ",
-                       controller->eeprom_waddr);
+                       controller->eeprom_waddr + controller->base_address);
 
       sim_io_printf (sd, "with 0x%02x\n",
                     controller->eeprom_wbyte);