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