version 0.5.2
[fw/sdcc] / sim / ucsim / z80.src / z80cl.h
index a9ef160ebfa70b4869ccf1ea392ce3ec76c07d64..966d2464feb59c02cdca04d8c4d711dd8eb657cc 100644 (file)
@@ -40,26 +40,32 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 class cl_z80: public cl_uc
 {
 public:
-  cl_mem *ram;
-  cl_mem *rom;
+  class cl_memory *ram;
+  class cl_memory *rom;
   struct t_regs regs;
 public:
   cl_z80(class cl_sim *asim);
   virtual int init(void);
   virtual char *id_string(void);
 
-  virtual t_addr get_mem_size(enum mem_class type);
-  //virtual int get_mem_width(enum mem_class type);
+  //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);
-  //virtual struct name_entry *sfr_tbl(void);
-  //virtual struct name_entry *bit_tbl(void);
-  virtual char *disass(uint addr, char *sep);
-  virtual void print_disass(uint addr, class cl_console *con);
+  virtual int inst_length(t_addr addr);
+  virtual int inst_branch(t_addr addr);
+  virtual int longest_inst(void);
+  virtual char *disass(t_addr addr, char *sep);
   virtual void print_regs(class cl_console *con);
 
   virtual int exec_inst(void);
+
+  virtual char * get_disasm_info(t_addr addr,
+                        int *ret_len,
+                        int *ret_branch,
+                        int *immed_offset);
+
 #include "instcl.h"
 };