diff --git a/src/burn/drv/konami/d_ajax.cpp b/src/burn/drv/konami/d_ajax.cpp index 4e13bc219..56f524e61 100644 --- a/src/burn/drv/konami/d_ajax.cpp +++ b/src/burn/drv/konami/d_ajax.cpp @@ -726,7 +726,7 @@ static INT32 DrvFrame() } } - if (K051960_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K051960_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -765,7 +765,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); M6809Scan(nAction); ZetScan(nAction); diff --git a/src/burn/drv/konami/d_aliens.cpp b/src/burn/drv/konami/d_aliens.cpp index 63dcf0a9d..3f61f5700 100644 --- a/src/burn/drv/konami/d_aliens.cpp +++ b/src/burn/drv/konami/d_aliens.cpp @@ -539,7 +539,7 @@ static INT32 DrvFrame() } } - if (K051960_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K051960_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -576,7 +576,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_blockhl.cpp b/src/burn/drv/konami/d_blockhl.cpp index 975830037..27f4abeee 100644 --- a/src/burn/drv/konami/d_blockhl.cpp +++ b/src/burn/drv/konami/d_blockhl.cpp @@ -466,7 +466,7 @@ static INT32 DrvFrame() } if (K052109_irq_enabled && (nDrvKonamiBank[0] & 0x03) == 0) - konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -502,7 +502,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_crimfght.cpp b/src/burn/drv/konami/d_crimfght.cpp index b33d33ee2..a6327553f 100644 --- a/src/burn/drv/konami/d_crimfght.cpp +++ b/src/burn/drv/konami/d_crimfght.cpp @@ -645,7 +645,7 @@ static INT32 DrvFrame() } } - konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -682,7 +682,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_gbusters.cpp b/src/burn/drv/konami/d_gbusters.cpp index 28f243de1..e17e9dfb2 100644 --- a/src/burn/drv/konami/d_gbusters.cpp +++ b/src/burn/drv/konami/d_gbusters.cpp @@ -541,7 +541,7 @@ static INT32 DrvFrame() } } - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -578,7 +578,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_hcastle.cpp b/src/burn/drv/konami/d_hcastle.cpp index 16fef304f..650a5ebd4 100644 --- a/src/burn/drv/konami/d_hcastle.cpp +++ b/src/burn/drv/konami/d_hcastle.cpp @@ -767,7 +767,7 @@ static INT32 DrvFrame() konamiOpen(0); konamiRun(nCyclesTotal[0]); - konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); BurnTimerEndFrameYM3812(nCyclesTotal[1]); @@ -803,7 +803,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM3812Scan(nAction, pnMin); diff --git a/src/burn/drv/konami/d_parodius.cpp b/src/burn/drv/konami/d_parodius.cpp index 1edb882f5..bfd6ef2b4 100644 --- a/src/burn/drv/konami/d_parodius.cpp +++ b/src/burn/drv/konami/d_parodius.cpp @@ -621,7 +621,7 @@ static INT32 DrvFrame() } } - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -658,7 +658,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_rollerg.cpp b/src/burn/drv/konami/d_rollerg.cpp index 7b084131e..efc494617 100644 --- a/src/burn/drv/konami/d_rollerg.cpp +++ b/src/burn/drv/konami/d_rollerg.cpp @@ -525,7 +525,7 @@ static INT32 DrvFrame() BurnTimerUpdateYM3812(i * (nCyclesTotal[1] / nInterleave)); } - konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); BurnTimerEndFrameYM3812(nCyclesTotal[1]); @@ -560,7 +560,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM3812Scan(nAction, pnMin); diff --git a/src/burn/drv/konami/d_simpsons.cpp b/src/burn/drv/konami/d_simpsons.cpp index f4384cb4d..f61414bd2 100644 --- a/src/burn/drv/konami/d_simpsons.cpp +++ b/src/burn/drv/konami/d_simpsons.cpp @@ -686,7 +686,7 @@ static INT32 DrvFrame() nCyclesDone[0] += nCyclesSegment; if (i == 1 && K053246Irq && simpsons_firq_enabled) { - konamiSetIrqLine(KONAMI_FIRQ_LINE, KONAMI_HOLD_LINE); + konamiSetIrqLine(KONAMI_FIRQ_LINE, KONAMI_IRQSTATUS_AUTO); } K053246Irq = K053246_is_IRQ_enabled(); @@ -706,7 +706,7 @@ static INT32 DrvFrame() } if (K053246Irq) simpsons_objdma(); - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -743,7 +743,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_surpratk.cpp b/src/burn/drv/konami/d_surpratk.cpp index f5b935f46..c16ae63ed 100644 --- a/src/burn/drv/konami/d_surpratk.cpp +++ b/src/burn/drv/konami/d_surpratk.cpp @@ -524,7 +524,7 @@ static INT32 DrvFrame() } } - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -559,7 +559,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_thunderx.cpp b/src/burn/drv/konami/d_thunderx.cpp index 2b74e6120..68366f78f 100644 --- a/src/burn/drv/konami/d_thunderx.cpp +++ b/src/burn/drv/konami/d_thunderx.cpp @@ -313,7 +313,7 @@ static void thunderx_1f98_w(UINT8 data) konamiRun(10); - konamiSetIrqLine(KONAMI_FIRQ_LINE, KONAMI_HOLD_LINE); // must be delayed + konamiSetIrqLine(KONAMI_FIRQ_LINE, KONAMI_IRQSTATUS_AUTO); // must be delayed } thunderx_1f98_data = data; @@ -808,7 +808,7 @@ static INT32 DrvFrame() } } - if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (K052109_irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -845,7 +845,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/burn/drv/konami/d_vendetta.cpp b/src/burn/drv/konami/d_vendetta.cpp index 1c22059dd..5a3228205 100644 --- a/src/burn/drv/konami/d_vendetta.cpp +++ b/src/burn/drv/konami/d_vendetta.cpp @@ -893,7 +893,7 @@ static INT32 DrvFrame() } } - if (irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_HOLD_LINE); + if (irq_enabled) konamiSetIrqLine(KONAMI_IRQ_LINE, KONAMI_IRQSTATUS_AUTO); if (pBurnSoundOut) { INT32 nSegmentLength = nBurnSoundLen - nSoundBufferPos; @@ -930,7 +930,7 @@ static INT32 DrvScan(INT32 nAction,INT32 *pnMin) ba.szName = "All Ram"; BurnAcb(&ba); - konamiCpuScan(nAction, pnMin); + konamiCpuScan(nAction); ZetScan(nAction); BurnYM2151Scan(nAction); diff --git a/src/cpu/konami/konami.cpp b/src/cpu/konami/konami.cpp index 490acbf4f..20b19e4e9 100644 --- a/src/cpu/konami/konami.cpp +++ b/src/cpu/konami/konami.cpp @@ -116,10 +116,10 @@ static PAIR ea; /* effective address */ static int nCyclesToDo = 0; #define CHECK_IRQ_LINES \ - if( konami.irq_state[KONAMI_IRQ_LINE] != KONAMI_CLEAR_LINE || \ - konami.irq_state[KONAMI_FIRQ_LINE] != KONAMI_CLEAR_LINE ) \ + if( konami.irq_state[KONAMI_IRQ_LINE] != KONAMI_IRQSTATUS_NONE || \ + konami.irq_state[KONAMI_FIRQ_LINE] != KONAMI_IRQSTATUS_NONE ) \ konami.int_state &= ~KONAMI_SYNC; /* clear SYNC flag */ \ - if( konami.irq_state[KONAMI_FIRQ_LINE]!=KONAMI_CLEAR_LINE && !(CC & CC_IF) ) \ + if( konami.irq_state[KONAMI_FIRQ_LINE]!=KONAMI_IRQSTATUS_NONE && !(CC & CC_IF) ) \ { \ /* fast IRQ */ \ /* state already saved by CWAI? */ \ @@ -141,7 +141,7 @@ static int nCyclesToDo = 0; (void)(*konami.irq_callback)(KONAMI_FIRQ_LINE); \ } \ else \ - if( konami.irq_state[KONAMI_IRQ_LINE]!=KONAMI_CLEAR_LINE && !(CC & CC_II) )\ + if( konami.irq_state[KONAMI_IRQ_LINE]!=KONAMI_IRQSTATUS_NONE && !(CC & CC_II) )\ { \ /* standard IRQ */ \ /* state already saved by CWAI? */ \ @@ -412,9 +412,9 @@ void konamiReset() konami.nTotalCycles = 0; konami.int_state = 0; - konami.nmi_state = KONAMI_CLEAR_LINE; - konami.irq_state[0] = KONAMI_CLEAR_LINE; - konami.irq_state[1] = KONAMI_CLEAR_LINE; + konami.nmi_state = KONAMI_IRQSTATUS_NONE; + konami.irq_state[0] = KONAMI_IRQSTATUS_NONE; + konami.irq_state[1] = KONAMI_IRQSTATUS_NONE; DPD = 0; /* Reset direct page register */ @@ -446,7 +446,7 @@ void konami_set_irq_line(int irqline, int state) if (konami.nmi_state == state) return; konami.nmi_state = state; // LOG(("KONAMI#%d set_nmi_line %d\n", cpu_getactivecpu(), state)); - if( state == KONAMI_CLEAR_LINE ) return; + if( state == KONAMI_IRQSTATUS_NONE ) return; /* if the stack was not yet initialized */ if( !(konami.int_state & KONAMI_LDS) ) return; @@ -479,7 +479,7 @@ void konami_set_irq_line(int irqline, int state) { // LOG(("KONAMI#%d set_irq_line %d, %d\n", cpu_getactivecpu(), irqline, state)); konami.irq_state[irqline] = state; - if (state == KONAMI_CLEAR_LINE) return; + if (state == KONAMI_IRQSTATUS_NONE) return; CHECK_IRQ_LINES; } } @@ -528,7 +528,7 @@ int konamiRun(int cycles) return cycles - konami_ICount; } -int konamiCpuScan(int nAction,int *) +int konamiCpuScan(int nAction) { #if defined FBA_DEBUG if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiCpuScan called without init\n")); diff --git a/src/cpu/konami/konami.h b/src/cpu/konami/konami.h index c01011360..fafa65097 100644 --- a/src/cpu/konami/konami.h +++ b/src/cpu/konami/konami.h @@ -16,26 +16,26 @@ enum /****************************************************************************/ /* Read a byte from given memory location */ /****************************************************************************/ -#define KONAMI_RDMEM(Addr) konami_read(Addr) +#define KONAMI_RDMEM(Addr) konamiRead(Addr) /****************************************************************************/ /* Write a byte to given memory location */ /****************************************************************************/ -#define KONAMI_WRMEM(Addr,Value) konami_write(Addr,Value) +#define KONAMI_WRMEM(Addr,Value) konamiWrite(Addr,Value) /****************************************************************************/ /* Z80_RDOP() is identical to Z80_RDMEM() except it is used for reading */ /* opcodes. In case of system with memory mapped I/O, this function can be */ /* used to greatly speed up emulation */ /****************************************************************************/ -#define KONAMI_RDOP(Addr) konami_fetch(Addr) +#define KONAMI_RDOP(Addr) konamiFetch(Addr) /****************************************************************************/ /* Z80_RDOP_ARG() is identical to Z80_RDOP() except it is used for reading */ /* opcode arguments. This difference can be used to support systems that */ /* use different encoding mechanisms for opcodes and opcode arguments */ /****************************************************************************/ -#define KONAMI_RDOP_ARG(Addr) konami_fetch(Addr) +#define KONAMI_RDOP_ARG(Addr) konamiFetch(Addr) #ifndef FALSE # define FALSE 0 diff --git a/src/cpu/konami_intf.cpp b/src/cpu/konami_intf.cpp index 277051095..dd91876b4 100644 --- a/src/cpu/konami_intf.cpp +++ b/src/cpu/konami_intf.cpp @@ -16,10 +16,13 @@ static INT32 nKonamiCpuActive = -1; static UINT8 *mem[3][PAGE_COUNT]; -static UINT8 (*konamiRead)(UINT16 address); -static void (*konamiWrite)(UINT16 address, UINT8 data); +static UINT8 (*konamiReadFunction)(UINT16 address); +static void (*konamiWriteFunction)(UINT16 address, UINT8 data); static INT32 (*irqcallback)(INT32); +extern void konami_set_irq_line(INT32 irqline, INT32 state); +extern void konami_init(INT32 (*irqcallback)(INT32)); + void konamiMapMemory(UINT8 *src, UINT16 start, UINT16 finish, INT32 type) { #if defined FBA_DEBUG @@ -57,7 +60,7 @@ void konamiSetWriteHandler(void (*write)(UINT16, UINT8)) if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiSetWriteHandler called without init\n")); #endif - konamiWrite = write; + konamiWriteFunction = write; } void konamiSetReadHandler(UINT8 (*read)(UINT16)) @@ -66,10 +69,10 @@ void konamiSetReadHandler(UINT8 (*read)(UINT16)) if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiSetReadHandler called without init\n")); #endif - konamiRead = read; + konamiReadFunction = read; } -void konami_write_rom(UINT32 address, UINT8 data) +static void konami_write_rom(UINT32 address, UINT8 data) { #if defined FBA_DEBUG if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konami_write_rom called without init\n")); @@ -90,11 +93,11 @@ void konami_write_rom(UINT32 address, UINT8 data) } if (konamiWrite != NULL) { - konamiWrite(address, data); + konamiWriteFunction(address, data); } } -void konami_write(UINT16 address, UINT8 data) +void konamiWrite(UINT16 address, UINT8 data) { if (mem[WRITE][address >> PAGE_SHIFT] != NULL) { mem[WRITE][address >> PAGE_SHIFT][address & PAGE_MASK] = data; @@ -102,34 +105,34 @@ void konami_write(UINT16 address, UINT8 data) } if (konamiWrite != NULL) { - konamiWrite(address, data); + konamiWriteFunction(address, data); return; } return; } -UINT8 konami_read(UINT16 address) +UINT8 konamiRead(UINT16 address) { if (mem[ READ][address >> PAGE_SHIFT] != NULL) { return mem[ READ][address >> PAGE_SHIFT][address & PAGE_MASK]; } if (konamiRead != NULL) { - return konamiRead(address); + return konamiReadFunction(address); } return 0; } -UINT8 konami_fetch(UINT16 address) +UINT8 konamiFetch(UINT16 address) { if (mem[FETCH][address >> PAGE_SHIFT] != NULL) { return mem[FETCH][address >> PAGE_SHIFT][address & PAGE_MASK]; } if (konamiRead != NULL) { - return konamiRead(address); + return konamiReadFunction(address); } return 0; @@ -141,10 +144,10 @@ void konamiSetIrqLine(INT32 line, INT32 state) if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiSetIrqLine called without init\n")); #endif - if (state == KONAMI_HOLD_LINE) { - konami_set_irq_line(line, KONAMI_HOLD_LINE); + if (state == KONAMI_IRQSTATUS_AUTO) { + konami_set_irq_line(line, KONAMI_IRQSTATUS_ACK); konamiRun(0); - konami_set_irq_line(line, KONAMI_CLEAR_LINE); + konami_set_irq_line(line, KONAMI_IRQSTATUS_NONE); konamiRun(0); } else { konami_set_irq_line(line, state); @@ -158,7 +161,7 @@ void konamiRunEnd() static UINT8 konami_cheat_read(UINT32 a) { - return konami_read(a); + return konamiRead(a); } static cpu_core_config konamiCheatCpuConfig = @@ -200,8 +203,8 @@ void konamiExit() #endif nKonamiCpuCount = 0; - konamiWrite = NULL; - konamiRead = NULL; + konamiWriteFunction = NULL; + konamiReadFunction = NULL; DebugCPU_KonamiInitted = 0; } diff --git a/src/cpu/konami_intf.h b/src/cpu/konami_intf.h index 452347a5f..a6cdb0551 100644 --- a/src/cpu/konami_intf.h +++ b/src/cpu/konami_intf.h @@ -1,8 +1,8 @@ -// konami.cpp -void konami_set_irq_line(INT32 irqline, INT32 state); -void konami_init(INT32 (*irqcallback)(INT32)); -// konami_intf.cpp +void konamiWrite(UINT16 address, UINT8 data); +UINT8 konamiRead(UINT16 address); +UINT8 konamiFetch(UINT16 address); + #define KON_READ 1 #define KON_WRITE 2 #define KON_FETCH 4 @@ -18,10 +18,6 @@ void konamiSetlinesCallback(void (*setlines_callback)(INT32 lines)); void konamiSetWriteHandler(void (*write)(UINT16, UINT8)); void konamiSetReadHandler(UINT8 (*read)(UINT16)); -void konami_write(UINT16 address, UINT8 data); -UINT8 konami_read(UINT16 address); -UINT8 konami_fetch(UINT16 address); - void konamiInit(INT32 ); void konamiOpen(INT32 ); void konamiReset(); @@ -33,18 +29,17 @@ extern INT32 nKonamiCpuCount; #define KONAMI_IRQ_LINE 0 #define KONAMI_FIRQ_LINE 1 +#define KONAMI_INPUT_LINE_NMI 0x20 -#define KONAMI_CLEAR_LINE 0 -#define KONAMI_HOLD_LINE 1 -#define KONAMI_INPUT_LINE_NMI 2 +#define KONAMI_IRQSTATUS_NONE 0 +#define KONAMI_IRQSTATUS_ACK 1 +#define KONAMI_IRQSTATUS_AUTO 2 void konamiSetIrqLine(INT32 line, INT32 state); -INT32 konamiCpuScan(INT32 nAction, INT32 *); +INT32 konamiCpuScan(INT32 nAction); INT32 konamiTotalCycles(); void konamiNewFrame(); INT32 konamiGetActive(); - -void konami_write_rom(UINT16 address, UINT8 data);