1 #ifndef CPU_H
2 #define CPU_H
3 
4 #include <stdint.h>
5 
6 extern uint8_t acc;		/* Accumulator */
7 extern uint16_t pc;		/* Program counter */
8 extern long clk;		/* clock */
9 
10 extern uint8_t itimer;		/* Internal timer */
11 extern uint8_t reg_pnt;	/* pointer to register bank */
12 extern uint8_t timer_on;  /* 0=timer off/1=timer on */
13 extern uint8_t count_on;  /* 0=count off/1=count on */
14 
15 extern uint8_t t_flag;		/* Timer flag */
16 
17 extern uint8_t psw;		/* Processor status word */
18 extern uint8_t sp;		/* Stack pointer (part of psw) */
19 
20 extern uint8_t p1;		/* I/O port 1 */
21 extern uint8_t p2;		/* I/O port 2 */
22 
23 extern uint8_t xirq_pend;
24 extern uint8_t tirq_pend;
25 
26 void init_cpu(void);
27 void cpu_exec(void);
28 void ext_IRQ(void);
29 void tim_IRQ(void);
30 void make_psw_debug(void);
31 
32 extern uint8_t acc;		/* Accumulator */
33 extern uint16_t pc;		/* Program counter */
34 extern long clk;		/* clock */
35 
36 extern uint8_t itimer;	/* Internal timer */
37 extern uint8_t reg_pnt;	/* pointer to register bank */
38 extern uint8_t timer_on;  /* 0=timer off/1=timer on */
39 extern uint8_t count_on;  /* 0=count off/1=count on */
40 extern uint8_t psw;		/* Processor status word */
41 extern uint8_t sp;		/* Stack pointer (part of psw) */
42 
43 extern uint8_t p1;		/* I/O port 1 */
44 extern uint8_t p2; 		/* I/O port 2 */
45 extern uint8_t xirq_pend; /* external IRQ pending */
46 extern uint8_t tirq_pend; /* timer IRQ pending */
47 extern uint8_t t_flag;	/* Timer flag */
48 
49 extern uint16_t lastpc;
50 extern uint16_t A11;		/* PC bit 11 */
51 extern uint16_t A11ff;
52 extern uint8_t bs; 		/* Register Bank (part of psw) */
53 extern uint8_t f0;			/* Flag Bit (part of psw) */
54 extern uint8_t f1;			/* Flag Bit 1 */
55 extern uint8_t ac;			/* Aux Carry (part of psw) */
56 extern uint8_t cy;			/* Carry flag (part of psw) */
57 extern uint8_t xirq_en;	/* external IRQ's enabled */
58 extern uint8_t tirq_en;	/* Timer IRQ enabled */
59 extern uint8_t irq_ex;		/* IRQ executing */
60 
61 extern int master_count;
62 
63 
64 #endif  /* CPU_H */
65