(mem_read_handler)cpu_readmem##mem, (mem_write_handler)cpu_writemem##mem, (mem_read_handler)name##_internal_r, (mem_write_handler)name##_internal_w, \ 0, cpu_setopbase##mem, \ shift, bits, CPU_IS_##endian, align, maxinst \ } /************************************* * * The core list of CPU interfaces * *************************************/ const struct cpu_interface cpuintrf[] = { CPU0(DUMMY, dummy, 1, 0,1.00, 8, 16, 0,16,LE,1, 1 ), #if (HAS_Z80) CPU1(Z80, z80, 1,255,1.00, 8, 16, 0,16,LE,1, 4 ), #endif #if (HAS_Z180) CPU1(Z180, z180, 1,255,1.00, 8, 20, 0,20,LE,1, 4 ), #endif #if (HAS_8080) CPU0(8080, i8080, 4,255,1.00, 8, 16, 0,16,LE,1, 3 ), #endif #if (HAS_8085A) CPU0(8085A, i8085, 4,255,1.00, 8, 16, 0,16,LE,1, 3 ), #endif #if (HAS_M6502) CPU0(M6502, m6502, 1, 0,1.00, 8, 16, 0,16,LE,1, 3 ), #endif
#include "ops02.h" #include "opsc02.h" #include "opsce02.h" #define VERBOSE 0 #if VERBOSE #define LOG(x) logerror x #else #define LOG(x) #endif #ifdef RUNTIME_LOADER struct cpu_interface m65ce02_interface= CPU0(M65CE02, m65ce02, 1, 0,1.00,M65CE02_INT_NONE, M65CE02_INT_IRQ,M65CE02_INT_NMI,8, 16, 0,16,LE,1, 3); extern void m65ce02_runtime_loader_init(void) { cpuintf[CPU_M65CE02]=m65ce02_interface; } #endif /* Layout of the registers in the debugger */ static UINT8 m65ce02_reg_layout[] = { M65CE02_A,M65CE02_X,M65CE02_Y,M65CE02_Z,M65CE02_S,M65CE02_PC, M65CE02_P, -1, M65CE02_EA,M65CE02_ZP,M65CE02_NMI_STATE,M65CE02_IRQ_STATE, M65CE02_B, 0 };
//typedef int bool; #define VERBOSE 0 #if VERBOSE #define LOG(x) logerror x #else #define LOG(x) #endif #ifdef RUNTIME_LOADER #define lh5801_ICount lh5801_icount struct cpu_interface lh5801_interface= CPU0(LH5801, lh5801, 1, 0,1.00,LH5801_INT_NONE, LH5801_IRQ, -1, 8, 17, 0,17,BE,1, 5); extern void lh5801_runtime_loader_init(void) { cpuintf[CPU_LH5801]=lh5801_interface; } #endif enum { LH5801_T=1, LH5801_P, LH5801_S, LH5801_U, LH5801_X, LH5801_Y, LH5801_A,
#if VERBOSE #define LOG(x) logerror x #else #define LOG(x) #endif #ifdef RUNTIME_LOADER // currently debugger has symbols of 65ce02, 6509, 4510 so all in 1 library #include "m6509.h" #include "m65ce02.h" #include "m4510.h" struct cpu_interface m6502_interface= CPU0(M6502, m6502, 1, 0,1.00,M6502_INT_NONE, M6502_IRQ_LINE, INPUT_LINE_NMI, 8, 16, 0,16,LE,1, 3), m65c02_interface= CPU0(M65C02, m65c02, 1, 0,1.00,M65C02_INT_NONE, M65C02_INT_IRQ, M65C02_INT_NMI, 8, 16, 0,16,LE,1, 3), m65sc02_interface= CPU0(M65SC02, m65sc02, 1, 0,1.00,M65SC02_INT_NONE, M65SC02_INT_IRQ,M65SC02_INT_NMI,8, 16, 0,16,LE,1, 3), m6510_interface= CPU0(M6510, m6510, 1, 0,1.00,M6510_INT_NONE, M6510_INT_IRQ, M6510_INT_NMI, 8, 16, 0,16,LE,1, 3), m6510t_interface= CPU0(M6510T, m6510t, 1, 0,1.00,M6510T_INT_NONE, M6510T_INT_IRQ, M6510T_INT_NMI, 8, 16, 0,16,LE,1, 3), m7501_interface= CPU0(M7501, m7501, 1, 0,1.00,M7501_INT_NONE, M7501_INT_IRQ, M7501_INT_NMI, 8, 16, 0,16,LE,1, 3), m8502_interface= CPU0(M8502, m8502, 1, 0,1.00,M8502_INT_NONE, M8502_INT_IRQ, M8502_INT_NMI, 8, 16, 0,16,LE,1, 3), n2a03_interface= CPU0(N2A03, n2a03, 1, 0,1.00,N2A03_INT_NONE, N2A03_INT_IRQ, N2A03_INT_NMI, 8, 16, 0,16,LE,1, 3);