|
|
1.1 root 1: #ifndef M68KCORE_H
2: #define M68KCORE_H
3: #include "core.pri"
4:
5: class M68kCore : public Core {
6: friend HostCore; friend HostProcess;
7: friend M68kContext;
8: friend RtRawCore;
9: friend RtNrtxCore;
10: char *stepoverM68KJSB();
11: int isM68KJSB(int);
12: char *stepprolog();
13: char *read(long,char*,int);
14: char *write(long,char*,int);
15: virtual char *dostep(long,long,int);
16: virtual char *readwrite(long,char*,int,int);
17: virtual int instack(long,long);
18: virtual int fpvalid(long);
19: virtual long regaddr();
20: virtual Behavs behavetype();
21: virtual long scratchaddr();
22: public:
23: M68kCore(Process *p, Master *m):(p, m) {}
24: Asm *newAsm();
25: Cslfd *peek(long,Cslfd* =PEEKFAIL);
26: CallStk *callstack();
27: Frame frameabove(long);
28: char *liftbpt(Trap*);
29: char *peekstring(long,char* =0);
30: char *poke(long,long,int);
31: char *pokedbl(long,double,int);
32: char *regname(int);
33: char *step(long=0,long=0);
34: char *popcallstack();
35: int REG_AP();
36: int REG_FP();
37: int REG_PC();
38: int REG_SP();
39: int REG_PS();
40: long regloc(int,int=0);
41: long saved(Frame*,int,int=0);
42: long apforcall(int);
43: char *docall(long,int);
44: long returnregloc();
45: virtual int nregs();
46: virtual Context *newContext();
47: };
48:
49: class M68kContext : public Context {
50: friend M68kCore;
51: long regs[18];
52: M68kCore *core;
53: public:
54: M68kContext() {}
55: virtual void restore();
56: };
57: #endif M68KCORE_H
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.