1 #ifndef _PDP1_H 2 #define _PDP1_H 3 4 #include "memory.h" 5 #include "osd_cpu.h" 6 7 #include <retro_inline.h> 8 9 enum { 10 PDP1_PC=1, PDP1_AC, PDP1_IO, PDP1_Y, PDP1_IB, PDP1_OV, PDP1_F, 11 PDP1_F1, PDP1_F2, PDP1_F3, PDP1_F4, PDP1_F5, PDP1_F6, 12 PDP1_S1, PDP1_S2, PDP1_S3, PDP1_S4, PDP1_S5, PDP1_S6 13 }; 14 15 /* PUBLIC FUNCTIONS */ 16 extern unsigned pdp1_get_pc(void); 17 extern void pdp1_set_pc(UINT32 newpc); 18 extern unsigned pdp1_get_sp(void); 19 extern void pdp1_set_sp(UINT32 newsp); 20 extern unsigned pdp1_get_context (void *dst); 21 extern void pdp1_set_context (void *src); 22 extern unsigned pdp1_get_reg (int regnum); 23 extern void pdp1_set_reg (int regnum, unsigned val); 24 extern void pdp1_set_nmi_line(int state); 25 extern void pdp1_set_irq_line(int irqline, int state); 26 extern void pdp1_set_irq_callback(int (*callback)(int irqline)); 27 extern void pdp1_reset(void *param); 28 extern void pdp1_exit (void); 29 extern int pdp1_execute(int cycles); 30 extern const char *pdp1_info(void *context, int regnum); 31 extern unsigned pdp1_dasm(char *buffer, unsigned pc); 32 33 extern int pdp1_ICount; 34 extern int (* extern_iot)(int *, int); 35 36 #define READ_PDP_18BIT(A) ((signed)cpu_readmem16(A)) 37 #define WRITE_PDP_18BIT(A,V) (cpu_writemem16(A,V)) 38 39 #define AND 001 40 #define IOR 002 41 #define XOR 003 42 #define XCT 004 43 #define CALJDA 007 44 #define LAC 010 45 #define LIO 011 46 #define DAC 012 47 #define DAP 013 48 #define DIO 015 49 #define DZM 016 50 #define ADD 020 51 #define SUB 021 52 #define IDX 022 53 #define ISP 023 54 #define SAD 024 55 #define SAS 025 56 #define MUS 026 57 #define DIS 027 58 #define JMP 030 59 #define JSP 031 60 #define SKP 032 61 #define SFT 033 62 #define LAW 034 63 #define IOT 035 64 #define OPR 037 65 66 #endif /* _PDP1_H */ 67