{
public:
t_uc390(int Itype, int Itech, class cl_sim *asim);
- int flat24_flag; /* true if flat24 mode code: ((ACON:9Dh & 3) == 0x2) */
+
+ virtual void clear_sfr(void);
// making objects
virtual t_addr get_mem_size (enum mem_class type);
virtual void set_mem (enum mem_class type, t_addr addr, t_mem val);
/* mods for dual-dptr */
- virtual int inst_inc_addr(uchar code);
virtual int inst_inc_dptr(uchar code);
virtual int inst_jmp_$a_dptr(uchar code);
virtual int inst_mov_dptr_$data(uchar code);
virtual int inst_push (uchar code);
virtual int inst_pop (uchar code);
+ /* miscellaneous */
+ virtual void proc_write(uchar *addr);
+
/* mods for disassembly of flat24 */
virtual struct dis_entry *dis_tbl(void);
virtual char * disass(t_addr addr, char *sep);
virtual void print_regs(class cl_console *con);
protected:
+ int flat24_flag; /* true if processor == ds390f */
+ unsigned long ctm_ticks; /* mini-state-machine for "crystal multiplier" */
+ unsigned long timed_access_ticks;
+ int timed_access_state; /* 0: idle; 1: $aa written; 2: $55 written */
virtual int push_byte (uchar uc);
virtual uchar pop_byte (int *Pres);
+ virtual uchar read(uchar *addr);
};
/* End of s51.src/uc390cl.h */