diff options
Diffstat (limited to 'src/emu/cpu/apexc/apexc.h')
-rw-r--r-- | src/emu/cpu/apexc/apexc.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/emu/cpu/apexc/apexc.h b/src/emu/cpu/apexc/apexc.h new file mode 100644 index 00000000000..47bee1f9653 --- /dev/null +++ b/src/emu/cpu/apexc/apexc.h @@ -0,0 +1,38 @@ +/* register names for apexc_get_reg & apexc_set_reg */ +enum +{ + APEXC_CR =1, /* control register */ + APEXC_A, /* acumulator */ + APEXC_R, /* register */ + APEXC_ML, /* memory location */ + APEXC_WS, /* working store */ + APEXC_STATE, /* whether CPU is running */ + + APEXC_ML_FULL /* read-only pseudo-register for exclusive use by the control panel code + in the apexc driver : enables it to get the complete address computed + from the contents of ML and WS */ +}; + +extern int apexc_ICount; + +void apexc_get_info(UINT32 state, cpuinfo *info); + +#ifndef SUPPORT_ODD_WORD_SIZES +#define apexc_readmem(address) program_read_dword_32be((address)<<2) +#define apexc_writemem(address, data) program_write_dword_32be((address)<<2, (data)) +/* eewww ! - Fortunately, there is no memory mapped I/O, so we can simulate masked write +without danger */ +#define apexc_writemem_masked(address, data, mask) \ + apexc_writemem((address), (apexc_readmem(address) & ~(mask)) | ((data) & (mask))) +#else +#define apexc_readmem(address) cpu_readmem13_32(address) +#define apexc_writemem(address, data) cpu_writemem13_32((address), (data)) +#define apexc_writemem_masked(address, data, mask) cpu_writemem13_32masked((address), (data), (mask)) +#endif + +#ifdef MAME_DEBUG +unsigned apexc_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram); +#endif /* MAME_DEBUG */ + +#define apexc_readop(address) apexc_readmem(address) + |