OSDN Git Service

Updated copyright notices for most files.
[pf3gnuchains/pf3gnuchains4x.git] / sim / m68hc11 / dv-m68hc11eepr.c
index d4aeb48..ca075b1 100644 (file)
@@ -1,21 +1,21 @@
 /*  dv-m68hc11eepr.c -- Simulation of the 68HC11 Internal EEPROM.
-    Copyright (C) 1999, 2000 Free Software Foundation, Inc.
-    Written by Stephane Carrez (stcarrez@worldnet.fr)
+    Copyright (C) 1999, 2000, 2001, 2002, 2007, 2008
+    Free Software Foundation, Inc.
+    Written by Stephane Carrez (stcarrez@nerim.fr)
     (From a driver model Contributed by Cygnus Solutions.)
     
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
-    
+
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
-    
+
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     
     */
 
@@ -119,7 +119,7 @@ struct m68hc11eepr
   /* Minimum time in CPU cycles for programming the EEPROM.  */
   unsigned long         eeprom_min_cycles;
 
-  char* file_name;
+  const char*           file_name;
 };
 
 
@@ -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);
@@ -621,7 +621,8 @@ m68hc11eepr_io_write_buffer (struct hw *me,
 }
 
 const struct hw_descriptor dv_m68hc11eepr_descriptor[] = {
-  { "m68hc11eepr", m68hc11eepr_finish, },
+  { "m68hc11eepr", m68hc11eepr_finish },
+  { "m68hc12eepr", m68hc11eepr_finish },
   { NULL },
 };