X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fxa.src%2Fxacl.h;h=172f923587ef3247ce8d4dfbfaaf398382a55773;hb=90f4aedaef8a2310573eef905f95c671f84e5cde;hp=ad2b2a1b9efc95ba712f4c602435a5b49a9b6de7;hpb=e76f5fbeaa15ee0679147f7e2daccd74932faaca;p=fw%2Fsdcc diff --git a/sim/ucsim/xa.src/xacl.h b/sim/ucsim/xa.src/xacl.h index ad2b2a1b..172f9235 100644 --- a/sim/ucsim/xa.src/xacl.h +++ b/sim/ucsim/xa.src/xacl.h @@ -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); @@ -78,10 +83,16 @@ public: int *mnemonic); virtual char *disass(t_addr addr, char *sep); - virtual void print_regs(class cl_console *con); + virtual void print_regs(class cl_console_base *con); 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);