+ class cl_decoder_list *decoders;
+public:
+ cl_address_space(char *id, t_addr astart, t_addr asize, int awidth);
+ virtual ~cl_address_space(void);
+
+ virtual bool is_address_space(void) { return(DD_TRUE); }
+
+ virtual t_mem read(t_addr addr);
+ virtual t_mem read(t_addr addr, enum hw_cath skip);
+ virtual t_mem get(t_addr addr);
+ virtual t_mem write(t_addr addr, t_mem val);
+ virtual void set(t_addr addr, t_mem val);
+ virtual t_mem wadd(t_addr addr, long what);
+ virtual void set_bit1(t_addr addr, t_mem bits);
+ virtual void set_bit0(t_addr addr, t_mem bits);
+
+ virtual class cl_address_decoder *get_decoder(t_addr addr);
+
+ virtual class cl_memory_cell *get_cell(t_addr addr);
+ virtual int get_cell_flag(t_addr addr);
+ virtual bool get_cell_flag(t_addr addr, enum cell_flag flag);
+ virtual void set_cell_flag(t_addr addr, bool set_to, enum cell_flag flag);
+
+ virtual bool decode_cell(t_addr addr,
+ class cl_memory_chip *chip, t_addr chipaddr);
+ virtual void undecode_cell(t_addr addr);
+ virtual void undecode_area(class cl_address_decoder *skip,
+ t_addr begin, t_addr end, class cl_console *con);
+
+ virtual class cl_memory_cell *register_hw(t_addr addr, class cl_hw *hw,
+ int *ith,
+ bool announce);
+
+ virtual void set_brk(t_addr addr, class cl_brk *brk);
+ virtual void del_brk(t_addr addr, class cl_brk *brk);
+
+#ifdef STATISTIC
+ virtual unsigned long get_nuof_reads(void) { return(0); }
+ virtual unsigned long get_nuof_writes(void) { return(0); }
+ virtual void set_nuof_reads(unsigned long value) {}
+ virtual void set_nuof_writes(unsigned long value) {}
+#endif