* sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized varaibles
[fw/sdcc] / sim / ucsim / xa.src / xacl.h
index ad2b2a1b9efc95ba712f4c602435a5b49a9b6de7..fb64cae156154e9115ea70c9f8acb09dedbfc122 100644 (file)
@@ -3,9 +3,10 @@
  *
  * Copyright (C) 1999,99 Drotos Daniel, Talker Bt.
  *
- * Written by Karl Bongers karl@turbobit.com
- * 
  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu
+ * Other contributors include:
+ *   Karl Bongers karl@turbobit.com,
+ *   Johan Knol johan.knol@iduna.nl
  *
  */
 
@@ -41,23 +42,27 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 class cl_xa: public cl_uc
 {
 public:
-  cl_mem *ram;
-  cl_mem *rom;
+  class cl_address_space *ram;
+  class cl_address_space *rom;
   struct t_regs regs;
 
+  class cl_address_space *sfr, *iram;
+
   // for now make it as simple as possible
-  TYPE_UBYTE mem_direct[1024*2];
-#ifndef WORDS_BIGENDIAN
-  TYPE_UWORD *wmem_direct;  /* word pointer at mem_direct */
-#endif
+//  TYPE_UBYTE mem_direct[1024*2];
+//#ifndef WORDS_BIGENDIAN
+//  TYPE_UWORD *wmem_direct;  /* word pointer at mem_direct */
+//#endif
 
 public:
   cl_xa(class cl_sim *asim);
   virtual int init(void);
   virtual char *id_string(void);
 
-  virtual t_addr get_mem_size(enum mem_class type);
+  //virtual class cl_m *mk_mem(enum mem_class type, char *class_name);
+  //virtual t_addr get_mem_size(enum mem_class type);
   virtual void mk_hw_elements(void);
+  virtual void make_memories(void);
 
   virtual struct dis_entry *dis_tbl(void);
 
@@ -82,6 +87,12 @@ public:
 
   virtual int exec_inst(void);
   virtual int get_reg(int word_flag, unsigned int index);
+
+  virtual void store1(t_addr addr, unsigned char val);
+  virtual void store2(t_addr addr, unsigned short val);
+  virtual unsigned char get1(t_addr addr);
+  virtual unsigned short get2(t_addr addr);
+
   virtual bool get_bit(int bit);
   virtual void set_bit(int bit, int value);