#include "itsrccl.h"
-class t_uc51r: public t_uc52
+class cl_uc51r: public cl_uc52
{
-protected:
+public:
int clock_out;
- int WDT; // If negative then WDT is disabled
- uchar wdtrst;
public:
- uchar ERAM[ERAM_SIZE];
+ //uchar ERAM[ERAM_SIZE];
public:
- t_uc51r(int Itype, int Itech, class cl_sim *asim);
+ cl_uc51r(int Itype, int Itech, class cl_sim *asim);
+ virtual void mk_hw_elements(void);
+ virtual void make_memories(void);
virtual void reset(void);
+ virtual void clear_sfr(void);
- virtual void eram2xram(void);
- virtual void xram2eram(void);
+ //virtual void eram2xram(void);
+ //virtual void xram2eram(void);
- virtual void proc_write(uchar *addr);
+ //virtual void proc_write(t_addr addr);
- virtual int do_timers(int cycles);
- virtual int do_timer2(int cycles);
- virtual int do_t2_clockout(int cycles);
- virtual int serial_bit_cnt(int mode);
virtual void received(int c);
- virtual int do_wdt(int cycles);
- virtual int inst_movx_a_$dptr(uchar code); /* e0 */
- virtual int inst_movx_a_$ri(uchar code); /* e2,e3 */
- virtual int inst_movx_$dptr_a(uchar code); /* f0 */
- virtual int inst_movx_$ri_a(uchar code); /* f2,f3 */
+ //virtual int inst_movx_a_Sdptr(uchar code); /* e0 */
+ //virtual int inst_movx_a_Sri(uchar code); /* e2,e3 */
+ //virtual int inst_movx_Sdptr_a(uchar code); /* f0 */
+ //virtual int inst_movx_Sri_a(uchar code); /* f2,f3 */
+};
+
+
+class cl_uc51r_dummy_hw: public cl_hw
+{
+protected:
+ class cl_memory_cell *cell_auxr;
+public:
+ cl_uc51r_dummy_hw(class cl_uc *auc);
+ virtual int init(void);
+
+ virtual void write(class cl_memory_cell *cell, t_mem *val);
+ //virtual void happen(class cl_hw *where, enum hw_event he, void *params);
};