Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
716 | lvd | 1 | #pragma once |
2 | |||
3 | namespace z80gs |
||
4 | { |
||
5 | const int GSCPUFQ = 24000000; // hz //12 |
||
6 | extern const unsigned GSCPUINT; |
||
7 | extern unsigned __int64 gs_t_states; // inc'ed with GSCPUINT every gs int |
||
8 | |||
9 | void apply_gs(); |
||
10 | void init_gs_frame(); |
||
11 | void flush_gs_frame(); |
||
12 | |||
13 | u8 in_gs(unsigned port); |
||
14 | void out_gs(unsigned port, u8 val); |
||
15 | void reset(); |
||
16 | void __cdecl BankNames(int i, char *Name); |
||
17 | __int64 __cdecl delta(); |
||
18 | void __cdecl SetLastT(); |
||
19 | |||
20 | u8 __fastcall Xm(u32 addr); |
||
21 | u8 __fastcall Rm(u32 addr); |
||
22 | void __fastcall Wm(u32 addr, u8 val); |
||
23 | u8 __fastcall DbgXm(u32 addr); |
||
24 | u8 __fastcall DbgRm(u32 addr); |
||
25 | void __fastcall DbgWm(u32 addr, u8 val); |
||
26 | } |
||
27 | |||
28 | class TGsZ80 : public Z80 |
||
29 | { |
||
30 | public: |
||
31 | TGsZ80(u32 Idx, |
||
32 | TBankNames BankNames, TStep Step, TDelta Delta, |
||
33 | TSetLastT SetLastT, u8 *membits, const TMemIf *FastMemIf, const TMemIf *DbgMemIf) : |
||
34 | Z80(Idx, BankNames, Step, Delta, SetLastT, membits, FastMemIf, DbgMemIf) { } |
||
35 | |||
36 | virtual u8 *DirectMem(unsigned addr) const override; // get direct memory pointer in debuger |
||
37 | /* |
||
38 | virtual unsigned char rm(unsigned addr) override; |
||
39 | virtual unsigned char dbgrm(unsigned addr) override; |
||
40 | virtual void wm(unsigned addr, unsigned char val) override; |
||
41 | virtual void dbgwm(unsigned addr, unsigned char val) override; |
||
42 | */ |
||
43 | virtual unsigned char m1_cycle() override; |
||
44 | virtual unsigned char in(unsigned port) override; |
||
45 | virtual void out(unsigned port, unsigned char val) override; |
||
46 | virtual u8 IntVec() override; |
||
47 | virtual void CheckNextFrame() override; |
||
48 | virtual void retn() override; |
||
49 | }; |