diff options
author | 2016-09-28 11:55:04 +0200 | |
---|---|---|
committer | 2016-09-28 11:55:04 +0200 | |
commit | 7465cdc2f9e4ad61e701ba89f2a894dbdff283dd (patch) | |
tree | 11832b77592b8fd14955116a5ebb589c2f293b33 | |
parent | f4749d03f7f65cabde47aa8b62cd5776cf3b0140 (diff) | |
parent | 87c993dc7407c167aa9536683b6d9e5531fe7d57 (diff) |
Merge branch 'master' into sh7604_rewrite
148 files changed, 853 insertions, 175 deletions
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 8605fd50502..c353bce46c3 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -4486,6 +4486,7 @@ files { MAME_DIR .. "src/mame/includes/malzak.h", MAME_DIR .. "src/mame/video/malzak.cpp", MAME_DIR .. "src/mame/drivers/manohman.cpp", + MAME_DIR .. "src/mame/drivers/marywu.cpp", MAME_DIR .. "src/mame/drivers/mcatadv.cpp", MAME_DIR .. "src/mame/includes/mcatadv.h", MAME_DIR .. "src/mame/video/mcatadv.cpp", diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index afc5ba6a2ef..7658f14e15d 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3311,7 +3311,6 @@ files { MAME_DIR .. "src/mame/drivers/lg-dvd.cpp", MAME_DIR .. "src/mame/drivers/lola8a.cpp", MAME_DIR .. "src/mame/drivers/m79152pc.cpp", - MAME_DIR .. "src/mame/drivers/marywu.cpp", MAME_DIR .. "src/mame/drivers/mccpm.cpp", MAME_DIR .. "src/mame/drivers/mes.cpp", MAME_DIR .. "src/mame/drivers/mice.cpp", diff --git a/src/devices/cpu/8x300/8x300.cpp b/src/devices/cpu/8x300/8x300.cpp index 7096448f90f..3999332d6ee 100644 --- a/src/devices/cpu/8x300/8x300.cpp +++ b/src/devices/cpu/8x300/8x300.cpp @@ -140,7 +140,8 @@ void n8x300_cpu_device::device_start() state_add( _8X300_OVF, "OVF", m_OVF).mask(0x01).formatstr("%01X"); state_add( _8X300_IVL, "IVL", m_IVL).mask(0xff).formatstr("%02X"); state_add( _8X300_IVR, "IVR", m_IVR).mask(0xff).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_genPC).noshow(); + state_add(STATE_GENPC, "GENPC", m_genPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_genPC).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/adsp2100/adsp2100.cpp b/src/devices/cpu/adsp2100/adsp2100.cpp index dd9bdb4209d..a83614b04c3 100644 --- a/src/devices/cpu/adsp2100/adsp2100.cpp +++ b/src/devices/cpu/adsp2100/adsp2100.cpp @@ -499,7 +499,7 @@ void adsp21xx_device::device_start() // register state with the debugger state_add(ADSP2100_PC, "PC", m_pc); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_astat).mask(0xff).noshow().formatstr("%8s"); state_add(ADSP2100_AX0, "AX0", m_core.ax0.u); diff --git a/src/devices/cpu/adsp2100/adsp2100.h b/src/devices/cpu/adsp2100/adsp2100.h index 282a340e040..71fe14eae8c 100644 --- a/src/devices/cpu/adsp2100/adsp2100.h +++ b/src/devices/cpu/adsp2100/adsp2100.h @@ -170,11 +170,7 @@ enum ADSP2100_SE_SEC, ADSP2100_SB_SEC, ADSP2100_SR0_SEC, - ADSP2100_SR1_SEC, - - ADSP2100_GENPC = STATE_GENPC, - ADSP2100_GENSP = STATE_GENSP, - ADSP2100_GENPCBASE = STATE_GENPCBASE + ADSP2100_SR1_SEC }; diff --git a/src/devices/cpu/alto2/alto2cpu.cpp b/src/devices/cpu/alto2/alto2cpu.cpp index 6ff87fd785b..74d0b07d8f8 100644 --- a/src/devices/cpu/alto2/alto2cpu.cpp +++ b/src/devices/cpu/alto2/alto2cpu.cpp @@ -989,7 +989,8 @@ void alto2_cpu_device::device_start() state_add( A2_OKTORUN, "OKTORUN", m_dsk.ok_to_run).formatstr("%1u"); state_add( A2_READY, "READY", m_dsk.kstat).formatstr("%1u"); - state_add(STATE_GENPC, "curpc", m_mpc).formatstr("%03X").noshow(); + state_add(STATE_GENPC, "GENPC", m_mpc).formatstr("%03X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_mpc).formatstr("%03X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_aluc0).formatstr("%5s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/am29000/am29000.cpp b/src/devices/cpu/am29000/am29000.cpp index bfeefebbcbf..524cb8b28d8 100644 --- a/src/devices/cpu/am29000/am29000.cpp +++ b/src/devices/cpu/am29000/am29000.cpp @@ -397,7 +397,8 @@ void am29000_cpu_device::device_start() state_add( AM29000_R254, "R254", m_r[254] ).formatstr("%08X"); state_add( AM29000_R255, "R255", m_r[255] ).formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%08X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%08X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%08X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_alu).formatstr("%13s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/amis2000/amis2000.cpp b/src/devices/cpu/amis2000/amis2000.cpp index 326437b5baa..1deb6967864 100644 --- a/src/devices/cpu/amis2000/amis2000.cpp +++ b/src/devices/cpu/amis2000/amis2000.cpp @@ -170,7 +170,8 @@ void amis2000_base_device::device_start() state_add(S2000_E, "E", m_e ).formatstr("%01X"); state_add(S2000_CY, "CY", m_carry ).formatstr("%01X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_f).formatstr("%6s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/arc/arc.cpp b/src/devices/cpu/arc/arc.cpp index e38d853f9be..b0672f03bfe 100644 --- a/src/devices/cpu/arc/arc.cpp +++ b/src/devices/cpu/arc/arc.cpp @@ -65,6 +65,7 @@ void arc_device::device_start() state_add( 0, "PC", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); m_icountptr = &m_icount; } @@ -78,6 +79,7 @@ void arc_device::state_export(const device_state_entry &entry) break; case STATE_GENPC: + case STATE_GENPCBASE: m_debugger_temp = m_pc << 2; break; } diff --git a/src/devices/cpu/arcompact/arcompact.cpp b/src/devices/cpu/arcompact/arcompact.cpp index 7c56a774601..7c290e1adad 100644 --- a/src/devices/cpu/arcompact/arcompact.cpp +++ b/src/devices/cpu/arcompact/arcompact.cpp @@ -95,6 +95,7 @@ void arcompact_device::device_start() state_add( 0x12, "LP_END", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); for (int i = 0x100; i < 0x140; i++) { @@ -111,6 +112,8 @@ void arcompact_device::state_export(const device_state_entry &entry) switch (index) { + case STATE_GENPC: + case STATE_GENPCBASE: case 0: m_debugger_temp = m_pc; break; @@ -125,10 +128,6 @@ void arcompact_device::state_export(const device_state_entry &entry) m_debugger_temp = m_LP_END; break; - case STATE_GENPC: - m_debugger_temp = m_pc; - break; - default: if ((index >= 0x100) && (index < 0x140)) { diff --git a/src/devices/cpu/arm/arm.cpp b/src/devices/cpu/arm/arm.cpp index d94534cf515..31bcfa527dd 100644 --- a/src/devices/cpu/arm/arm.cpp +++ b/src/devices/cpu/arm/arm.cpp @@ -545,7 +545,8 @@ void arm_cpu_device::device_start() state_add( ARM32_SR13, "SR13", m_sArmRegister[eR13_SVC] ).formatstr("%08X"); state_add( ARM32_SR14, "SR14", m_sArmRegister[eR14_SVC] ).formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_sArmRegister[15]).mask(ADDRESS_MASK).callimport().callexport().formatstr("%8s").noshow(); + state_add(STATE_GENPC, "GENPC", m_sArmRegister[15]).mask(ADDRESS_MASK).formatstr("%8s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_sArmRegister[15]).mask(ADDRESS_MASK).formatstr("%8s").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_sArmRegister[15]).formatstr("%11s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/arm7/arm7.cpp b/src/devices/cpu/arm7/arm7.cpp index 50388580e5a..7f7f75b279c 100644 --- a/src/devices/cpu/arm7/arm7.cpp +++ b/src/devices/cpu/arm7/arm7.cpp @@ -506,6 +506,7 @@ void arm7_cpu_device::device_start() state_add( ARM7_PC, "PC", m_pc).callexport().formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_pc).callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).callexport().noshow(); /* registers shared by all operating modes */ state_add( ARM7_R0, "R0", m_r[ 0]).formatstr("%08X"); state_add( ARM7_R1, "R1", m_r[ 1]).formatstr("%08X"); @@ -558,6 +559,7 @@ void arm7_cpu_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: m_pc = GET_PC; break; } diff --git a/src/devices/cpu/asap/asap.cpp b/src/devices/cpu/asap/asap.cpp index 5cf5c35512a..bfad7b0a4cf 100644 --- a/src/devices/cpu/asap/asap.cpp +++ b/src/devices/cpu/asap/asap.cpp @@ -187,7 +187,7 @@ void asap_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENSP, "GENSP", m_src2val[REGBASE + 31]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flagsio).callimport().callexport().formatstr("%6s").noshow(); state_add(ASAP_PC, "PC", m_pc); diff --git a/src/devices/cpu/avr8/avr8.cpp b/src/devices/cpu/avr8/avr8.cpp index 5500f9060ad..44009a8c6fd 100644 --- a/src/devices/cpu/avr8/avr8.cpp +++ b/src/devices/cpu/avr8/avr8.cpp @@ -752,6 +752,7 @@ void avr8_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_shifted_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_shifted_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_r[AVR8_REGIDX_SREG]).callimport().callexport().formatstr("%8s").noshow(); state_add(AVR8_SREG, "STATUS", m_r[AVR8_REGIDX_SREG]).mask(0xff); state_add(AVR8_PC, "PC", m_shifted_pc).mask(m_addr_mask); diff --git a/src/devices/cpu/ccpu/ccpu.cpp b/src/devices/cpu/ccpu/ccpu.cpp index f7731312241..9758faff4f0 100644 --- a/src/devices/cpu/ccpu/ccpu.cpp +++ b/src/devices/cpu/ccpu/ccpu.cpp @@ -133,7 +133,8 @@ void ccpu_cpu_device::device_start() state_add( CCPU_X, "X", m_X).mask(0xfff).formatstr("%03X"); state_add( CCPU_Y, "Y", m_Y).mask(0xfff).formatstr("%03X"); state_add( CCPU_T, "T", m_T).mask(0xfff).formatstr("%03X"); - state_add(STATE_GENPC, "curpc", m_PC).noshow(); + state_add(STATE_GENPC, "GENPC", m_PC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).formatstr("%6s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/cop400/cop400.cpp b/src/devices/cpu/cop400/cop400.cpp index 41d2974fb65..885f00d34cf 100644 --- a/src/devices/cpu/cop400/cop400.cpp +++ b/src/devices/cpu/cop400/cop400.cpp @@ -963,7 +963,7 @@ void cop400_cpu_device::device_start() save_item(NAME(m_idle)); state_add(STATE_GENPC, "GENPC", m_pc).mask(0xfff).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_prevpc).mask(0xfff).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_prevpc).mask(0xfff).noshow(); state_add(STATE_GENSP, "GENSP", m_n).mask(0x3).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).mask(0x3).callimport().callexport().noshow().formatstr("%3s"); diff --git a/src/devices/cpu/cop400/cop400.h b/src/devices/cpu/cop400/cop400.h index 8b44c34cd06..d5ccef3a4a4 100644 --- a/src/devices/cpu/cop400/cop400.h +++ b/src/devices/cpu/cop400/cop400.h @@ -72,10 +72,7 @@ enum COP400_EN, COP400_SIO, COP400_SKL, - COP400_T, - COP400_GENPC = STATE_GENPC, - COP400_GENPCBASE = STATE_GENPCBASE, - COP400_GENSP = STATE_GENSP + COP400_T }; /* input lines */ diff --git a/src/devices/cpu/cosmac/cosmac.cpp b/src/devices/cpu/cosmac/cosmac.cpp index b47ba545a5e..f46f6de4dfc 100644 --- a/src/devices/cpu/cosmac/cosmac.cpp +++ b/src/devices/cpu/cosmac/cosmac.cpp @@ -342,6 +342,7 @@ void cosmac_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).callimport().callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).callimport().callexport().noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flagsio).mask(0x7).callimport().callexport().noshow().formatstr("%3s"); state_add(COSMAC_P, "P", m_p).mask(0xf); @@ -433,6 +434,7 @@ void cosmac_device::state_import(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: R[P] = m_pc; break; @@ -453,6 +455,7 @@ void cosmac_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: m_pc = R[P]; break; diff --git a/src/devices/cpu/cp1610/cp1610.cpp b/src/devices/cpu/cp1610/cp1610.cpp index f882d4a73ac..fa3ef8a1d4b 100644 --- a/src/devices/cpu/cp1610/cp1610.cpp +++ b/src/devices/cpu/cp1610/cp1610.cpp @@ -3359,7 +3359,8 @@ void cp1610_cpu_device::device_start() state_add( CP1610_R5, "R5", m_r[5] ).formatstr("%04X"); state_add( CP1610_R6, "R6", m_r[6] ).formatstr("%04X"); state_add( CP1610_R7, "R7", m_r[7] ).formatstr("%04X"); - state_add( STATE_GENPC, "curpc", m_r[7] ).noshow(); + state_add( STATE_GENPC, "GENPC", m_r[7] ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_r[7]).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_flags ).noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp index b042b8de8b5..ec286c10570 100644 --- a/src/devices/cpu/cubeqcpu/cubeqcpu.cpp +++ b/src/devices/cpu/cubeqcpu/cubeqcpu.cpp @@ -229,7 +229,8 @@ void cquestsnd_cpu_device::device_start() state_add( CQUESTSND_RAME, "RAM[E]", m_ram[0xe]).formatstr("%04X"); state_add( CQUESTSND_RAMF, "RAM[F]", m_ram[0xf]).formatstr("%04X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%02X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%02X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%02X").noshow(); m_icountptr = &m_icount; } @@ -331,7 +332,8 @@ void cquestrot_cpu_device::device_start() state_add( CQUESTROT_LDADDR, "LDADDR", m_lineaddr).formatstr("%04X"); state_add( CQUESTROT_LDDATA, "LDDATA", m_linedata).formatstr("%04X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%02X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%02X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%02X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).formatstr("%3s").noshow(); m_icountptr = &m_icount; @@ -457,7 +459,8 @@ void cquestlin_cpu_device::device_start() state_add( CQUESTLIN_CLATCH, "CLATCH", m_clatch).formatstr("%04X"); state_add( CQUESTLIN_ZLATCH, "ZLATCH", m_zlatch).formatstr("%04X"); - state_add(STATE_GENPC, "curpc", m_curpc).callimport().callexport().formatstr("%02X").noshow(); + state_add(STATE_GENPC, "GENPC", m_curpc).formatstr("%02X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_curpc).formatstr("%02X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).formatstr("%6s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/dsp16/dsp16.cpp b/src/devices/cpu/dsp16/dsp16.cpp index 70155100bfe..0c41933bf32 100644 --- a/src/devices/cpu/dsp16/dsp16.cpp +++ b/src/devices/cpu/dsp16/dsp16.cpp @@ -90,7 +90,7 @@ void dsp16_device::device_start() { // register state with the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - //state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_psw).callimport().callexport().formatstr("%10s").noshow(); state_add(DSP16_PC, "PC", m_pc); state_add(DSP16_I, "I", m_i); diff --git a/src/devices/cpu/dsp32/dsp32.cpp b/src/devices/cpu/dsp32/dsp32.cpp index dd6c2b17184..454be6c1aa7 100644 --- a/src/devices/cpu/dsp32/dsp32.cpp +++ b/src/devices/cpu/dsp32/dsp32.cpp @@ -195,7 +195,7 @@ void dsp32c_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_r[15]).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENSP, "GENSP", m_r[21]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_iotemp).callimport().callexport().formatstr("%6s").noshow(); state_add(DSP32_PC, "PC", m_r[15]).mask(0xffffff); diff --git a/src/devices/cpu/dsp56k/dsp56k.cpp b/src/devices/cpu/dsp56k/dsp56k.cpp index 39a19d73bd9..91f3528e86b 100644 --- a/src/devices/cpu/dsp56k/dsp56k.cpp +++ b/src/devices/cpu/dsp56k/dsp56k.cpp @@ -332,8 +332,8 @@ void dsp56k_device::device_start() state_add(DSP56K_ST15, "ST15", m_dsp56k_core.PCU.ss[15].d).formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_dsp56k_core.PCU.pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_dsp56k_core.ppc).noshow(); state_add(STATE_GENSP, "GENSP", m_dsp56k_core.PCU.sp).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_dsp56k_core.ppc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_dsp56k_core.PCU.sr).formatstr("%14s").noshow(); m_icountptr = &m_dsp56k_core.icount; diff --git a/src/devices/cpu/e0c6200/e0c6200.cpp b/src/devices/cpu/e0c6200/e0c6200.cpp index 940a5893ce8..e2bb9390586 100644 --- a/src/devices/cpu/e0c6200/e0c6200.cpp +++ b/src/devices/cpu/e0c6200/e0c6200.cpp @@ -119,7 +119,8 @@ void e0c6200_cpu_device::device_start() state_add(E0C6200_YL, "YL", m_yl).formatstr("%01X"); state_add(E0C6200_SP, "SP", m_sp).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_f).formatstr("%4s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/e132xs/e132xs.cpp b/src/devices/cpu/e132xs/e132xs.cpp index e0889a24474..7d01744147d 100644 --- a/src/devices/cpu/e132xs/e132xs.cpp +++ b/src/devices/cpu/e132xs/e132xs.cpp @@ -1563,6 +1563,7 @@ void hyperstone_device::init(int scale_mask) // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_global_regs[0]).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_global_regs[0]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_global_regs[1]).callimport().callexport().formatstr("%40s").noshow(); state_add(E132XS_PC, "PC", m_global_regs[0]).mask(0xffffffff); state_add(E132XS_SR, "SR", m_global_regs[1]).mask(0xffffffff); diff --git a/src/devices/cpu/es5510/es5510.cpp b/src/devices/cpu/es5510/es5510.cpp index 721f3b222db..fa4bd97a598 100644 --- a/src/devices/cpu/es5510/es5510.cpp +++ b/src/devices/cpu/es5510/es5510.cpp @@ -552,6 +552,7 @@ void es5510_device::ser_w(int offset, INT16 data) void es5510_device::device_start() { m_icountptr = &icount; state_add(STATE_GENPC,"GENPC", pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", pc).noshow(); } void es5510_device::device_reset() { diff --git a/src/devices/cpu/esrip/esrip.cpp b/src/devices/cpu/esrip/esrip.cpp index 43c6590a05f..def6fbc6a05 100644 --- a/src/devices/cpu/esrip/esrip.cpp +++ b/src/devices/cpu/esrip/esrip.cpp @@ -194,6 +194,7 @@ void esrip_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_rip_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_rip_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_status).callimport().callexport().formatstr("%8s").noshow(); state_add(ESRIP_PC, "PC:", m_rip_pc).mask(0xffff); state_add(ESRIP_ACC, "ACC:", m_acc).mask(0xffff); diff --git a/src/devices/cpu/f8/f8.cpp b/src/devices/cpu/f8/f8.cpp index d19274ed202..7d711bf8b03 100644 --- a/src/devices/cpu/f8/f8.cpp +++ b/src/devices/cpu/f8/f8.cpp @@ -2038,7 +2038,8 @@ void f8_cpu_device::device_start() state_add( F8_R62, "R62", m_r[62]).formatstr("%02X"); state_add( F8_R63, "R63", m_r[63]).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_w).formatstr("%5s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/g65816/g65816.cpp b/src/devices/cpu/g65816/g65816.cpp index a98a822849d..169a8208e52 100644 --- a/src/devices/cpu/g65816/g65816.cpp +++ b/src/devices/cpu/g65816/g65816.cpp @@ -868,6 +868,7 @@ void g65816_device::device_start() state_add( G65816_IRQ_STATE, "IRQ", m_line_irq).mask(0x01).callimport().formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_debugger_temp).callimport().callexport().formatstr("%06X").noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callimport().callexport().formatstr("%06X").noshow(); state_add( STATE_GENSP, "GENSP", m_debugger_temp).callimport().callexport().formatstr("%06X").noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%8s").noshow(); @@ -879,6 +880,7 @@ void g65816_device::state_import(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: g65816_set_pc(m_debugger_temp); break; case STATE_GENSP: @@ -924,6 +926,7 @@ void g65816_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: case G65816_PC: m_debugger_temp = g65816_get_pc(); break; diff --git a/src/devices/cpu/h6280/h6280.cpp b/src/devices/cpu/h6280/h6280.cpp index d8d16f6946c..5ca1397bb64 100644 --- a/src/devices/cpu/h6280/h6280.cpp +++ b/src/devices/cpu/h6280/h6280.cpp @@ -209,6 +209,7 @@ void h6280_device::device_start() { // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_p).callimport().callexport().formatstr("%8s").noshow(); state_add(H6280_PC, "PC", m_pc.d).mask(0xffff); state_add(H6280_S, "S", m_sp.b.l).mask(0xff); diff --git a/src/devices/cpu/h8/h8.cpp b/src/devices/cpu/h8/h8.cpp index 62b0829eff1..4a413853b95 100644 --- a/src/devices/cpu/h8/h8.cpp +++ b/src/devices/cpu/h8/h8.cpp @@ -35,7 +35,7 @@ void h8_device::device_start() io = &space(AS_IO); state_add(STATE_GENPC, "GENPC", NPC).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", PPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", PPC).noshow(); if(has_exr) state_add(STATE_GENFLAGS, "GENFLAGS", CCR).formatstr("%11s").noshow(); else diff --git a/src/devices/cpu/hcd62121/hcd62121.cpp b/src/devices/cpu/hcd62121/hcd62121.cpp index 0711868a55b..4cc98ab13fe 100644 --- a/src/devices/cpu/hcd62121/hcd62121.cpp +++ b/src/devices/cpu/hcd62121/hcd62121.cpp @@ -314,7 +314,8 @@ void hcd62121_cpu_device::device_start() save_item( NAME(m_temp2) ); // Register state for debugger - state_add( STATE_GENPC, "curpc", m_ip ).callimport().callexport().formatstr("%8s"); + state_add( STATE_GENPC, "GENPC", m_ip ).callexport().formatstr("%8s"); + state_add( STATE_GENPCBASE,"CURPC", m_ip ).callexport().formatstr("%8s"); state_add( STATE_GENFLAGS, "GENFLAGS", m_f ).callimport().callexport().formatstr("%12s").noshow(); state_add( HCD62121_IP, "IP", m_ip ).callimport().callexport().formatstr("%04X"); @@ -368,6 +369,7 @@ void hcd62121_cpu_device::state_string_export(const device_state_entry &entry, s switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: str = string_format("%06X", (m_cseg << 16) | m_ip); break; diff --git a/src/devices/cpu/hd61700/hd61700.cpp b/src/devices/cpu/hd61700/hd61700.cpp index 55cdaefcd6e..ce96d03c699 100644 --- a/src/devices/cpu/hd61700/hd61700.cpp +++ b/src/devices/cpu/hd61700/hd61700.cpp @@ -186,8 +186,8 @@ void hd61700_cpu_device::device_start() state_add(HD61700_MAINREG + ireg, string_format("R%d", ireg).c_str(), m_regmain[ireg]).callimport().callexport().formatstr("%02X"); } - state_add(STATE_GENPC, "curpc", m_curpc).callimport().callexport().formatstr("%8s").noshow(); - state_add(STATE_GENPCBASE, "curpcbase", m_ppc).callimport().callexport().formatstr("%8s").noshow(); + state_add(STATE_GENPC, "GENPC", m_curpc).formatstr("%8s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).formatstr("%8s").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).mask(0xff).formatstr("%8s").noshow(); // set our instruction counter diff --git a/src/devices/cpu/hmcs40/hmcs40.cpp b/src/devices/cpu/hmcs40/hmcs40.cpp index cd35106a37b..c8d2148b861 100644 --- a/src/devices/cpu/hmcs40/hmcs40.cpp +++ b/src/devices/cpu/hmcs40/hmcs40.cpp @@ -267,7 +267,8 @@ void hmcs40_cpu_device::device_start() state_add(HMCS40_Y, "Y", m_y).formatstr("%01X"); state_add(HMCS40_SPY, "SPY", m_spy).formatstr("%01X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_s).formatstr("%2s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/hphybrid/hphybrid.cpp b/src/devices/cpu/hphybrid/hphybrid.cpp index aa7421e5d15..7e5a575a163 100644 --- a/src/devices/cpu/hphybrid/hphybrid.cpp +++ b/src/devices/cpu/hphybrid/hphybrid.cpp @@ -180,6 +180,7 @@ void hp_hybrid_cpu_device::device_start() state_add(HPHYBRID_D, "D", m_reg_D); state_add(HPHYBRID_P, "P", m_reg_P); state_add(STATE_GENPC, "GENPC", m_genpc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_genpc).noshow(); state_add(HPHYBRID_R, "R", m_reg_R); state_add(STATE_GENSP, "GENSP", m_reg_R).noshow(); state_add(HPHYBRID_IV, "IV", m_reg_IV); diff --git a/src/devices/cpu/i386/i386.cpp b/src/devices/cpu/i386/i386.cpp index b46feb0f813..5c26b195bfe 100644 --- a/src/devices/cpu/i386/i386.cpp +++ b/src/devices/cpu/i386/i386.cpp @@ -3413,6 +3413,7 @@ void i386_device::register_state_i386() state_add( I386_CPL, "CPL", m_CPL).formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_pc).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%8s").noshow(); state_add( STATE_GENSP, "GENSP", REG32(ESP)).noshow(); } diff --git a/src/devices/cpu/i4004/i4004.cpp b/src/devices/cpu/i4004/i4004.cpp index e7a63564c59..ce67670a007 100644 --- a/src/devices/cpu/i4004/i4004.cpp +++ b/src/devices/cpu/i4004/i4004.cpp @@ -418,6 +418,7 @@ void i4004_cpu_device::device_start() { state_add(I4004_PC, "PC", m_PC.w.l).mask(0x0fff); state_add(STATE_GENPC, "GENPC", m_PC.w.l).mask(0x0fff).noshow(); + state_add(STATE_GENPCBASE,"CURPC", m_PC.w.l).mask(0x0fff).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).mask(0x0f).callimport().callexport().noshow().formatstr("%4s"); state_add(I4004_A, "A", m_A).mask(0x0f); diff --git a/src/devices/cpu/i4004/i4004.h b/src/devices/cpu/i4004/i4004.h index fd60a9a5d10..c2e887c6e0d 100644 --- a/src/devices/cpu/i4004/i4004.h +++ b/src/devices/cpu/i4004/i4004.h @@ -14,10 +14,7 @@ enum I4004_PC, I4004_A, I4004_R01, I4004_R23, I4004_R45, I4004_R67, I4004_R89, I4004_RAB, I4004_RCD, I4004_REF, - I4004_ADDR1,I4004_ADDR2,I4004_ADDR3,I4004_ADDR4,I4004_RAM, - I4004_GENPC = STATE_GENPC, - I4004_GENSP = STATE_GENSP, - I4004_GENPCBASE = STATE_GENPCBASE + I4004_ADDR1,I4004_ADDR2,I4004_ADDR3,I4004_ADDR4,I4004_RAM }; /*************************************************************************** diff --git a/src/devices/cpu/i8008/i8008.cpp b/src/devices/cpu/i8008/i8008.cpp index c0af31b82a5..c8e1f74195b 100644 --- a/src/devices/cpu/i8008/i8008.cpp +++ b/src/devices/cpu/i8008/i8008.cpp @@ -83,6 +83,7 @@ void i8008_device::device_start() // register our state for the debugger state_add(I8008_PC, "PC", m_PC.w.l).mask(0x3fff); state_add(STATE_GENPC, "GENPC", m_PC.w.l).mask(0x3fff).noshow(); + state_add(STATE_GENPCBASE,"CURPC", m_PC.w.l).mask(0x3fff).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).mask(0x0f).callimport().callexport().noshow().formatstr("%4s"); state_add(I8008_A, "A", m_A); state_add(I8008_B, "B", m_B); diff --git a/src/devices/cpu/i8008/i8008.h b/src/devices/cpu/i8008/i8008.h index 74c727290eb..14fcf28d0dc 100644 --- a/src/devices/cpu/i8008/i8008.h +++ b/src/devices/cpu/i8008/i8008.h @@ -11,11 +11,7 @@ enum { I8008_PC, I8008_A,I8008_B,I8008_C,I8008_D,I8008_E,I8008_H,I8008_L, - I8008_ADDR1,I8008_ADDR2,I8008_ADDR3,I8008_ADDR4,I8008_ADDR5,I8008_ADDR6,I8008_ADDR7,I8008_ADDR8, - - I8008_GENPC = STATE_GENPC, - I8008_GENSP = STATE_GENSP, - I8008_GENPCBASE = STATE_GENPCBASE + I8008_ADDR1,I8008_ADDR2,I8008_ADDR3,I8008_ADDR4,I8008_ADDR5,I8008_ADDR6,I8008_ADDR7,I8008_ADDR8 }; //************************************************************************** diff --git a/src/devices/cpu/i8085/i8085.cpp b/src/devices/cpu/i8085/i8085.cpp index f8ea5275984..5fc63d50987 100644 --- a/src/devices/cpu/i8085/i8085.cpp +++ b/src/devices/cpu/i8085/i8085.cpp @@ -924,6 +924,7 @@ void i8085a_cpu_device::device_start() { state_add(I8085_PC, "PC", m_PC.w.l); state_add(STATE_GENPC, "GENPC", m_PC.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC.w.l).noshow(); state_add(I8085_SP, "SP", m_SP.w.l); state_add(STATE_GENSP, "GENSP", m_SP.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_AF.b.l).noshow().formatstr("%8s"); diff --git a/src/devices/cpu/i8085/i8085.h b/src/devices/cpu/i8085/i8085.h index 9a866577ca6..dfd1b8a9e02 100644 --- a/src/devices/cpu/i8085/i8085.h +++ b/src/devices/cpu/i8085/i8085.h @@ -14,11 +14,7 @@ enum I8085_PC, I8085_SP, I8085_AF, I8085_BC, I8085_DE, I8085_HL, I8085_A, I8085_B, I8085_C, I8085_D, I8085_E, I8085_F, I8085_H, I8085_L, I8085_STATUS, I8085_SOD, I8085_SID, I8085_INTE, - I8085_HALT, I8085_IM, - - I8085_GENPC = STATE_GENPC, - I8085_GENSP = STATE_GENSP, - I8085_GENPCBASE = STATE_GENPCBASE + I8085_HALT, I8085_IM }; #define I8085_INTR_LINE 0 diff --git a/src/devices/cpu/i8089/i8089.cpp b/src/devices/cpu/i8089/i8089.cpp index 9394206e179..b817e5d109d 100644 --- a/src/devices/cpu/i8089/i8089.cpp +++ b/src/devices/cpu/i8089/i8089.cpp @@ -91,6 +91,7 @@ void i8089_device::device_start() state_add(CH2_PP, "CH2 PP", m_ch2->m_r[i8089_channel::PP].w).mask(0xfffff); state_add(CH2_PSW, "CH2 PSW", m_ch2->m_r[i8089_channel::PSW].w).callimport().callexport().formatstr("%12s"); state_add(STATE_GENPC, "GENPC", m_current_tp).mask(0xfffff).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_current_tp).mask(0xfffff).noshow(); // register for save states save_item(NAME(m_sysbus)); diff --git a/src/devices/cpu/i86/i186.cpp b/src/devices/cpu/i86/i186.cpp index f79505f0353..428b1214052 100644 --- a/src/devices/cpu/i86/i186.cpp +++ b/src/devices/cpu/i86/i186.cpp @@ -555,7 +555,8 @@ void i80186_cpu_device::device_start() state_add( I8086_DS, "DS", m_sregs[DS] ).callimport().callexport().formatstr("%04X"); state_add( I8086_VECTOR, "V", m_int_vector).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%05X"); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%05X"); + state_add(STATE_GENPC, "CURPC", m_pc).formatstr("%05X"); // register for savestates save_item(NAME(m_timer[0].control)); diff --git a/src/devices/cpu/i86/i286.cpp b/src/devices/cpu/i86/i286.cpp index 05fb35362df..d7743897d35 100644 --- a/src/devices/cpu/i86/i286.cpp +++ b/src/devices/cpu/i86/i286.cpp @@ -273,7 +273,8 @@ void i80286_cpu_device::device_start() state_add( I286_MSW, "MSW", m_msw ).callimport().callexport().formatstr("%04X"); state_add( I286_VECTOR, "V", m_int_vector).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%06X"); + state_add(STATE_GENPC, "GENPC", m_pc).callexport().formatstr("%06X"); + state_add(STATE_GENPCBASE, "CURPC", m_pc).callexport().formatstr("%06X"); m_out_shutdown_func.resolve_safe(); } @@ -282,6 +283,7 @@ void i80286_cpu_device::state_string_export(const device_state_entry &entry, std switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: str = string_format("%08X", m_base[CS] + m_ip); break; diff --git a/src/devices/cpu/i86/i86.cpp b/src/devices/cpu/i86/i86.cpp index 0c37e3b9c03..ae68d66b66e 100644 --- a/src/devices/cpu/i86/i86.cpp +++ b/src/devices/cpu/i86/i86.cpp @@ -273,7 +273,8 @@ void i8086_cpu_device::device_start() state_add( I8086_DS, "DS", m_sregs[DS] ).callimport().callexport().formatstr("%04X"); state_add( I8086_VECTOR, "V", m_int_vector).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%05X"); + state_add(STATE_GENPC, "GENPC", m_pc).callexport().formatstr("%05X"); + state_add(STATE_GENPCBASE, "CURPC", m_pc).callexport().formatstr("%05X"); } i8086_common_cpu_device::i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) @@ -323,6 +324,7 @@ void i8086_common_cpu_device::state_string_export(const device_state_entry &entr switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: str = string_format("%08X", (m_sregs[CS] << 4) + m_ip); break; diff --git a/src/devices/cpu/i860/i860.cpp b/src/devices/cpu/i860/i860.cpp index d37079f31e2..96ad4e967c9 100644 --- a/src/devices/cpu/i860/i860.cpp +++ b/src/devices/cpu/i860/i860.cpp @@ -127,7 +127,8 @@ void i860_cpu_device::device_start() state_add( I860_F30, "F30", m_freg[30]).callimport().callexport().formatstr("%08X"); state_add( I860_F31, "F31", m_freg[31]).callimport().callexport().formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_pc).noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/i960/i960.cpp b/src/devices/cpu/i960/i960.cpp index 282aec610f6..3e74c2e676a 100644 --- a/src/devices/cpu/i960/i960.cpp +++ b/src/devices/cpu/i960/i960.cpp @@ -2070,6 +2070,7 @@ void i960_cpu_device::device_start() state_add( I960_G15, "fp", m_r[31]).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", m_IP).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_IP).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_AC).noshow().formatstr("%2s"); m_immediate_vector = 0; diff --git a/src/devices/cpu/ie15/ie15.cpp b/src/devices/cpu/ie15/ie15.cpp index e48b836586d..7d4d3a9a32a 100644 --- a/src/devices/cpu/ie15/ie15.cpp +++ b/src/devices/cpu/ie15/ie15.cpp @@ -61,6 +61,7 @@ void ie15_device::device_start() // register our state for the debugger state_add(IE15_PC, "PC", m_PC.w.l).mask(0x0fff); state_add(STATE_GENPC, "GENPC", m_PC.w.l).mask(0x0fff).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC.w.l).mask(0x0fff).noshow(); state_add(STATE_GENFLAGS,"GENFLAGS", m_flags).mask(0x0f).callimport().callexport().noshow().formatstr("%4s"); state_add(IE15_A, "A", m_A); diff --git a/src/devices/cpu/ie15/ie15.h b/src/devices/cpu/ie15/ie15.h index ce5cb46bf81..5f5d4786ba9 100644 --- a/src/devices/cpu/ie15/ie15.h +++ b/src/devices/cpu/ie15/ie15.h @@ -14,10 +14,7 @@ enum IE15_R0, IE15_R1, IE15_R2, IE15_R3, IE15_R4, IE15_R5, IE15_R6, IE15_R7, IE15_R8, IE15_R9, IE15_R10, IE15_R11, IE15_R12, IE15_R13, IE15_R14, IE15_R15, IE15_R16, IE15_R17, IE15_R18, IE15_R19, IE15_R20, IE15_R21, IE15_R22, IE15_R23, - IE15_R24, IE15_R25, IE15_R26, IE15_R27, IE15_R28, IE15_R29, IE15_R30, IE15_R31, - - IE15_GENPC = STATE_GENPC, - IE15_GENPCBASE = STATE_GENPCBASE + IE15_R24, IE15_R25, IE15_R26, IE15_R27, IE15_R28, IE15_R29, IE15_R30, IE15_R31 }; //************************************************************************** diff --git a/src/devices/cpu/jaguar/jaguar.cpp b/src/devices/cpu/jaguar/jaguar.cpp index 48b1031bd5f..d6d7524dcc7 100644 --- a/src/devices/cpu/jaguar/jaguar.cpp +++ b/src/devices/cpu/jaguar/jaguar.cpp @@ -393,7 +393,7 @@ void jaguar_cpu_device::device_start() state_add( JAGUAR_R31, "R31", m_r[31]).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", PC).noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", FLAGS).formatstr("%11s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/lc8670/lc8670.cpp b/src/devices/cpu/lc8670/lc8670.cpp index fe50a7182c8..026cb1c8756 100644 --- a/src/devices/cpu/lc8670/lc8670.cpp +++ b/src/devices/cpu/lc8670/lc8670.cpp @@ -260,8 +260,8 @@ void lc8670_cpu_device::device_start() state_add(LC8670_SFR + 0x65, "VRMAD2", REG_VRMAD2).callimport().callexport().formatstr("%02X"); state_add(LC8670_SFR + 0x7f, "BTCR" , REG_BTCR ).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%04X").noshow(); - state_add(STATE_GENPCBASE, "curpcbase", m_ppc).callimport().callexport().formatstr("%4X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).callimport().formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).callimport().formatstr("%4X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", REG_PSW).mask(0xff).formatstr("%7s").noshow(); // save state @@ -358,6 +358,7 @@ void lc8670_cpu_device::state_import(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: set_pc(m_pc); break; } diff --git a/src/devices/cpu/lh5801/lh5801.cpp b/src/devices/cpu/lh5801/lh5801.cpp index efdb959080d..072dbf932a5 100644 --- a/src/devices/cpu/lh5801/lh5801.cpp +++ b/src/devices/cpu/lh5801/lh5801.cpp @@ -137,6 +137,7 @@ void lh5801_cpu_device::device_start() state_add( LH5801_DP, "DP", m_dp ).formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_p.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_p.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_t).noshow().formatstr("%8s"); m_icountptr = &m_icount; diff --git a/src/devices/cpu/lr35902/lr35902.cpp b/src/devices/cpu/lr35902/lr35902.cpp index a3c281a1766..3c9080ce3c8 100644 --- a/src/devices/cpu/lr35902/lr35902.cpp +++ b/src/devices/cpu/lr35902/lr35902.cpp @@ -173,7 +173,8 @@ void lr35902_cpu_device::device_start() state_add( LR35902_IE, "IE", m_IE ).callimport().callexport().formatstr("%02X"); state_add( LR35902_IF, "IF", m_IF ).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_PC).callimport().callexport().formatstr("%8s").noshow(); + state_add(STATE_GENPC, "GENPC", m_PC).formatstr("%8s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC).formatstr("%8s").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_F).mask(0xf0).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/m37710/m37710.cpp b/src/devices/cpu/m37710/m37710.cpp index 449af4c45e8..ffaa7f46f05 100644 --- a/src/devices/cpu/m37710/m37710.cpp +++ b/src/devices/cpu/m37710/m37710.cpp @@ -1066,6 +1066,7 @@ void m37710_cpu_device::device_start() state_add( M37710_IRQ_STATE, "IRQ", m_line_irq).formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_debugger_pc ).callimport().callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_pc ).callimport().callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_p ).formatstr("%8s").noshow(); m_icountptr = &m_ICount; @@ -1098,6 +1099,7 @@ void m37710_cpu_device::state_import(const device_state_entry &entry) break; case STATE_GENPC: + case STATE_GENPCBASE: REG_PB = m_debugger_pc & 0xff0000; m37710_set_pc(m_debugger_pc & 0xffff); break; @@ -1130,6 +1132,7 @@ void m37710_cpu_device::state_export(const device_state_entry &entry) break; case STATE_GENPC: + case STATE_GENPCBASE: m_debugger_pc = (REG_PB | REG_PC); break; } diff --git a/src/devices/cpu/m6502/m6502.cpp b/src/devices/cpu/m6502/m6502.cpp index e4f9d7220c6..6fa76704731 100644 --- a/src/devices/cpu/m6502/m6502.cpp +++ b/src/devices/cpu/m6502/m6502.cpp @@ -55,7 +55,7 @@ void m6502_device::init() sync_w.resolve_safe(); state_add(STATE_GENPC, "GENPC", NPC).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", PPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", PPC).noshow(); state_add(STATE_GENSP, "GENSP", SP).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", P).callimport().formatstr("%6s").noshow(); state_add(M6502_PC, "PC", NPC).callimport(); diff --git a/src/devices/cpu/m6502/m6509.cpp b/src/devices/cpu/m6502/m6509.cpp index d5a82a11fde..6d955a7edec 100644 --- a/src/devices/cpu/m6502/m6509.cpp +++ b/src/devices/cpu/m6502/m6509.cpp @@ -32,6 +32,7 @@ void m6509_device::device_start() init(); state_add(STATE_GENPC, "GENPC", XPC).callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", XPC).callexport().noshow(); state_add(M6509_BI, "BI", bank_i); state_add(M6509_BY, "BY", bank_y); } @@ -47,6 +48,7 @@ void m6509_device::state_export(const device_state_entry &entry) { switch(entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: XPC = adr_in_bank_i(NPC); break; } diff --git a/src/devices/cpu/m6800/m6800.cpp b/src/devices/cpu/m6800/m6800.cpp index acb84ede603..c874a6c177a 100644 --- a/src/devices/cpu/m6800/m6800.cpp +++ b/src/devices/cpu/m6800/m6800.cpp @@ -1135,6 +1135,7 @@ void m6800_cpu_device::device_start() state_add( M6800_WAI_STATE, "WAI", m_wai_state).formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_pc.w.l).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc.w.l).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_cc).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/m68000/m68000.h b/src/devices/cpu/m68000/m68000.h index 6ccad0a03bd..1ef00e16e14 100644 --- a/src/devices/cpu/m68000/m68000.h +++ b/src/devices/cpu/m68000/m68000.h @@ -106,11 +106,7 @@ enum M68K_D0, M68K_D1, M68K_D2, M68K_D3, M68K_D4, M68K_D5, M68K_D6, M68K_D7, M68K_A0, M68K_A1, M68K_A2, M68K_A3, M68K_A4, M68K_A5, M68K_A6, M68K_A7, M68K_FP0, M68K_FP1, M68K_FP2, M68K_FP3, M68K_FP4, M68K_FP5, M68K_FP6, M68K_FP7, - M68K_FPSR, M68K_FPCR, - - M68K_GENPC = STATE_GENPC, - M68K_GENSP = STATE_GENSP, - M68K_GENPCBASE = STATE_GENPCBASE + M68K_FPSR, M68K_FPCR }; unsigned int m68k_disassemble_raw(char* str_buff, unsigned int pc, const unsigned char* opdata, const unsigned char* argdata, unsigned int cpu_type); diff --git a/src/devices/cpu/m68000/m68kcpu.cpp b/src/devices/cpu/m68000/m68kcpu.cpp index 18de1a02e04..053ab3d6976 100644 --- a/src/devices/cpu/m68000/m68kcpu.cpp +++ b/src/devices/cpu/m68000/m68kcpu.cpp @@ -1689,7 +1689,7 @@ void m68000_base_device::define_state(void) state_add(M68K_PC, "PC", pc).mask(addrmask); state_add(STATE_GENPC, "GENPC", pc).mask(addrmask).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", ppc).mask(addrmask).noshow(); + state_add(STATE_GENPCBASE, "CURPC", ppc).mask(addrmask).noshow(); state_add(M68K_SP, "SP", dar[15]); state_add(STATE_GENSP, "GENSP", dar[15]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", iotemp).noshow().callimport().callexport().formatstr("%16s"); diff --git a/src/devices/cpu/m6805/m6805.cpp b/src/devices/cpu/m6805/m6805.cpp index 65d7fd86a55..c95f45d32df 100644 --- a/src/devices/cpu/m6805/m6805.cpp +++ b/src/devices/cpu/m6805/m6805.cpp @@ -425,6 +425,7 @@ void m6805_base_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_cc).callimport().callexport().formatstr("%8s").noshow(); state_add(M6805_A, "A", m_a).mask(0xff); state_add(M6805_PC, "PC", m_pc.w.l).mask(0xffff); diff --git a/src/devices/cpu/m6809/m6809.cpp b/src/devices/cpu/m6809/m6809.cpp index c02450c1ea2..148015c3af4 100644 --- a/src/devices/cpu/m6809/m6809.cpp +++ b/src/devices/cpu/m6809/m6809.cpp @@ -140,7 +140,7 @@ void m6809_base_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc.w).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc.w).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc.w).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_cc).callimport().callexport().formatstr("%8s").noshow(); state_add(M6809_PC, "PC", m_pc.w).mask(0xffff); state_add(M6809_S, "S", m_s.w).mask(0xffff); diff --git a/src/devices/cpu/mb86233/mb86233.cpp b/src/devices/cpu/mb86233/mb86233.cpp index fed57fc9ddc..cf4d0ff7da9 100644 --- a/src/devices/cpu/mb86233/mb86233.cpp +++ b/src/devices/cpu/mb86233/mb86233.cpp @@ -155,6 +155,7 @@ void mb86233_cpu_device::device_start() state_add( MB86233_R15, "R15", m_gpr[15]).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", m_pc).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_sr).formatstr("%2s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/mb86235/mb86235.cpp b/src/devices/cpu/mb86235/mb86235.cpp index 2cd268f83ad..9ab306bb96f 100644 --- a/src/devices/cpu/mb86235/mb86235.cpp +++ b/src/devices/cpu/mb86235/mb86235.cpp @@ -68,7 +68,8 @@ void mb86235_cpu_device::device_start() // Register state for debugger //state_add( CP1610_R0, "PC", m_pc ).formatstr("%02X"); - state_add( STATE_GENPC, "curpc", m_pc ).noshow(); + state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_flags ).noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/mb88xx/mb88xx.cpp b/src/devices/cpu/mb88xx/mb88xx.cpp index ce915c6d63b..1f1a84217bf 100644 --- a/src/devices/cpu/mb88xx/mb88xx.cpp +++ b/src/devices/cpu/mb88xx/mb88xx.cpp @@ -222,6 +222,7 @@ void mb88_cpu_device::device_start() state_add( MB88_SB, "SB", m_SB).formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_debugger_pc ).callimport().callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_pc ).callimport().callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_flags ).callimport().callexport().formatstr("%6s").noshow(); m_icountptr = &m_icount; } @@ -241,6 +242,7 @@ void mb88_cpu_device::state_import(const device_state_entry &entry) break; case STATE_GENPC: + case STATE_GENPCBASE: m_PC = m_debugger_pc & 0x3f; m_PA = ( m_debugger_pc >> 6 ) & 0x1f; break; @@ -263,6 +265,7 @@ void mb88_cpu_device::state_export(const device_state_entry &entry) break; case STATE_GENPC: + case STATE_GENPCBASE: m_debugger_pc = GETPC(); break; } diff --git a/src/devices/cpu/mc68hc11/mc68hc11.cpp b/src/devices/cpu/mc68hc11/mc68hc11.cpp index 0bace4613d3..4a3c3970be8 100644 --- a/src/devices/cpu/mc68hc11/mc68hc11.cpp +++ b/src/devices/cpu/mc68hc11/mc68hc11.cpp @@ -442,6 +442,7 @@ void mc68hc11_cpu_device::device_start() state_add( HC11_IY, "IY", m_iy).formatstr("%04X"); state_add( STATE_GENPC, "GENPC", m_pc).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_ccr).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/mcs48/mcs48.cpp b/src/devices/cpu/mcs48/mcs48.cpp index 26963fe2fc1..b21cae01394 100644 --- a/src/devices/cpu/mcs48/mcs48.cpp +++ b/src/devices/cpu/mcs48/mcs48.cpp @@ -968,7 +968,7 @@ void mcs48_cpu_device::device_start() { state_add(MCS48_PC, "PC", m_pc).mask(0xfff); state_add(STATE_GENPC, "GENPC", m_pc).mask(0xfff).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_prevpc).mask(0xfff).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_prevpc).mask(0xfff).noshow(); state_add(STATE_GENSP, "GENSP", m_psw).mask(0x7).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_psw).noshow().formatstr("%10s"); state_add(MCS48_A, "A", m_a); diff --git a/src/devices/cpu/mcs48/mcs48.h b/src/devices/cpu/mcs48/mcs48.h index bb049961104..83f4d4bd4e0 100644 --- a/src/devices/cpu/mcs48/mcs48.h +++ b/src/devices/cpu/mcs48/mcs48.h @@ -43,11 +43,7 @@ enum MCS48_EA, MCS48_STS, /* UPI-41 systems only */ MCS48_DBBO, /* UPI-41 systems only */ - MCS48_DBBI, /* UPI-41 systems only */ - - MCS48_GENPC = STATE_GENPC, - MCS48_GENSP = STATE_GENSP, - MCS48_GENPCBASE = STATE_GENPCBASE + MCS48_DBBI /* UPI-41 systems only */ }; diff --git a/src/devices/cpu/mcs51/mcs51.cpp b/src/devices/cpu/mcs51/mcs51.cpp index 48674fdb6b8..d90623369a3 100644 --- a/src/devices/cpu/mcs51/mcs51.cpp +++ b/src/devices/cpu/mcs51/mcs51.cpp @@ -2148,6 +2148,7 @@ void mcs51_cpu_device::device_start() state_add( MCS51_RB, "RB", m_rtemp).mask(0x03).callimport().callexport().formatstr("%02X"); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_rtemp).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/mcs96/mcs96.cpp b/src/devices/cpu/mcs96/mcs96.cpp index 4dd8c882870..4e30df62c07 100644 --- a/src/devices/cpu/mcs96/mcs96.cpp +++ b/src/devices/cpu/mcs96/mcs96.cpp @@ -26,7 +26,7 @@ void mcs96_device::device_start() m_icountptr = &icount; state_add(STATE_GENPC, "GENPC", PC).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", PPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", PPC).noshow(); state_add(STATE_GENSP, "GENSP", R[0]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", PSW).formatstr("%16s").noshow(); state_add(MCS96_PC, "PC", PC); diff --git a/src/devices/cpu/melps4/melps4.cpp b/src/devices/cpu/melps4/melps4.cpp index 2602c6d0194..a3f204e3ada 100644 --- a/src/devices/cpu/melps4/melps4.cpp +++ b/src/devices/cpu/melps4/melps4.cpp @@ -187,7 +187,8 @@ void melps4_cpu_device::device_start() save_item(NAME(m_w)); // register state for debugger - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_cy).formatstr("%9s").noshow(); state_add(MELPS4_PC, "PC", m_pc).formatstr("%04X"); diff --git a/src/devices/cpu/minx/minx.cpp b/src/devices/cpu/minx/minx.cpp index 8e812dffcde..f5bcc222d1d 100644 --- a/src/devices/cpu/minx/minx.cpp +++ b/src/devices/cpu/minx/minx.cpp @@ -114,7 +114,8 @@ void minx_cpu_device::device_start() state_add( MINX_XI, "XI", m_XI ).formatstr("%02X"); state_add( MINX_YI, "YI", m_YI ).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_curpc).formatstr("%06X").noshow(); + state_add(STATE_GENPC, "GENPC", m_curpc).formatstr("%06X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_curpc).formatstr("%06X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).formatstr("%14s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/mips/r3000.cpp b/src/devices/cpu/mips/r3000.cpp index dce91379357..9eec18d9de2 100644 --- a/src/devices/cpu/mips/r3000.cpp +++ b/src/devices/cpu/mips/r3000.cpp @@ -305,7 +305,7 @@ void r3000_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENSP, "GENSP", m_r[31]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", SR).callimport().callexport().formatstr("%6s").noshow(); state_add(R3000_PC, "PC", m_pc); diff --git a/src/devices/cpu/mn10200/mn10200.cpp b/src/devices/cpu/mn10200/mn10200.cpp index 9293353c825..604b73c0cbf 100644 --- a/src/devices/cpu/mn10200/mn10200.cpp +++ b/src/devices/cpu/mn10200/mn10200.cpp @@ -230,6 +230,7 @@ void mn10200_device::device_start() state_add( MN10200_IAGR, "IAGR", m_iagr).formatstr("%02X"); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_psw).formatstr("%26s").noshow(); m_icountptr = &m_cycles; diff --git a/src/devices/cpu/nec/nec.cpp b/src/devices/cpu/nec/nec.cpp index b368d666ffe..6738a89f467 100644 --- a/src/devices/cpu/nec/nec.cpp +++ b/src/devices/cpu/nec/nec.cpp @@ -430,7 +430,8 @@ void nec_common_device::device_start() state_add( NEC_SS, "SS", Sreg(SS)).formatstr("%04X"); state_add( NEC_DS, "DS0", Sreg(DS0)).formatstr("%04X"); - state_add( STATE_GENPC, "GENPC", m_debugger_temp).callimport().callexport().noshow(); + state_add( STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); state_add( STATE_GENSP, "GENSP", m_debugger_temp).callimport().callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%16s").noshow(); @@ -493,6 +494,7 @@ void nec_common_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: case NEC_PC: m_debugger_temp = (Sreg(PS)<<4) + m_ip; break; diff --git a/src/devices/cpu/nec/v25.cpp b/src/devices/cpu/nec/v25.cpp index b3ea4249882..f67897dd3d2 100644 --- a/src/devices/cpu/nec/v25.cpp +++ b/src/devices/cpu/nec/v25.cpp @@ -533,7 +533,8 @@ void v25_common_device::device_start() state_add( V25_SS, "SS", m_debugger_temp).callimport().callexport().formatstr("%04X"); state_add( V25_DS, "DS0", m_debugger_temp).callimport().callexport().formatstr("%04X"); - state_add( STATE_GENPC, "GENPC", m_debugger_temp).callimport().callexport().noshow(); + state_add( STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); state_add( STATE_GENSP, "GENSP", m_debugger_temp).callimport().callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%16s").noshow(); @@ -643,6 +644,7 @@ void v25_common_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: case V25_PC: m_debugger_temp = (Sreg(PS)<<4) + m_ip; break; diff --git a/src/devices/cpu/patinhofeio/patinho_feio.cpp b/src/devices/cpu/patinhofeio/patinho_feio.cpp index a040d243916..d0d45db77ee 100644 --- a/src/devices/cpu/patinhofeio/patinho_feio.cpp +++ b/src/devices/cpu/patinhofeio/patinho_feio.cpp @@ -117,6 +117,7 @@ void patinho_feio_cpu_device::device_start() state_add( PATINHO_FEIO_EXT, "EXT", m_ext ).mask(0xFF); state_add( PATINHO_FEIO_IDX, "IDX", m_idx ).mask(0xFF); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("0%06O").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("0%06O").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).noshow().formatstr("%8s"); if (m_rc_read_cb.isnull()){ diff --git a/src/devices/cpu/pdp1/pdp1.cpp b/src/devices/cpu/pdp1/pdp1.cpp index 7489d974911..ded99a2d80d 100644 --- a/src/devices/cpu/pdp1/pdp1.cpp +++ b/src/devices/cpu/pdp1/pdp1.cpp @@ -640,6 +640,7 @@ void pdp1_device::device_start() state_add( PDP1_IOS, "IOS", m_ios).mask(1).formatstr("%1X"); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_pf ).formatstr("%13s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/pdp1/tx0.cpp b/src/devices/cpu/pdp1/tx0.cpp index 7a966a04e9d..1f6ee61e6cd 100644 --- a/src/devices/cpu/pdp1/tx0.cpp +++ b/src/devices/cpu/pdp1/tx0.cpp @@ -209,6 +209,7 @@ void tx0_device::device_start() state_add( TX0_IOS, "IOS", m_ios ).mask(1) .formatstr("%1X"); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("0%06O").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("0%06O").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_ir).noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/pdp8/pdp8.cpp b/src/devices/cpu/pdp8/pdp8.cpp index 84685e54636..d65f4dc7cfe 100644 --- a/src/devices/cpu/pdp8/pdp8.cpp +++ b/src/devices/cpu/pdp8/pdp8.cpp @@ -73,6 +73,7 @@ void pdp8_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_CURPC, "CURPC", m_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_l).callimport().callexport().formatstr("%1s").noshow(); state_add(PDP8_PC, "PC", m_pc).mask(0xfff); state_add(PDP8_AC, "AC", m_ac).mask(0xfff); diff --git a/src/devices/cpu/pic16c5x/pic16c5x.cpp b/src/devices/cpu/pic16c5x/pic16c5x.cpp index 89d37d6f5ac..2844fc04a58 100644 --- a/src/devices/cpu/pic16c5x/pic16c5x.cpp +++ b/src/devices/cpu/pic16c5x/pic16c5x.cpp @@ -863,6 +863,7 @@ void pic16c5x_device::device_start() state_add( PIC16C5x_PSCL, "PSCL", m_debugger_temp).callimport().formatstr("%3s"); state_add( STATE_GENPC, "GENPC", m_PC).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_PC).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_OPTION).formatstr("%13s").noshow(); state_add( STATE_GENPCBASE, "PREVPC", m_PREVPC).noshow(); diff --git a/src/devices/cpu/pic16c62x/pic16c62x.cpp b/src/devices/cpu/pic16c62x/pic16c62x.cpp index 024769d66a6..1d990c23794 100644 --- a/src/devices/cpu/pic16c62x/pic16c62x.cpp +++ b/src/devices/cpu/pic16c62x/pic16c62x.cpp @@ -937,6 +937,7 @@ void pic16c62x_device::device_start() state_add( PIC16C62x_PSCL, "PSCL", m_debugger_temp).callimport().formatstr("%3s"); state_add( STATE_GENPC, "GENPC", m_PC).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_PC).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_OPTION).formatstr("%13s").noshow(); state_add( STATE_GENPCBASE, "PREVPC", m_PREVPC).noshow(); diff --git a/src/devices/cpu/powerpc/ppccom.cpp b/src/devices/cpu/powerpc/ppccom.cpp index 081aa5d0838..42ba5708713 100644 --- a/src/devices/cpu/powerpc/ppccom.cpp +++ b/src/devices/cpu/powerpc/ppccom.cpp @@ -877,6 +877,7 @@ void ppc_device::device_start() state_add(PPC_FPSCR, "FPSCR", m_core->fpscr).formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_core->pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_core->pc).noshow(); state_add(STATE_GENSP, "GENSP", m_core->r[31]).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).noshow().formatstr("%1s"); diff --git a/src/devices/cpu/pps4/pps4.cpp b/src/devices/cpu/pps4/pps4.cpp index b2a6cc8129f..7581097f2fa 100644 --- a/src/devices/cpu/pps4/pps4.cpp +++ b/src/devices/cpu/pps4/pps4.cpp @@ -1547,6 +1547,7 @@ void pps4_device::device_start() state_add( PPS4_I2, "I2", m_I2 ).formatstr("%02X").noshow(); state_add( PPS4_Ip, "Ip", m_Ip ).formatstr("%02X").noshow(); state_add( STATE_GENPC, "GENPC", m_P ).noshow(); + state_add( STATE_GENPCBASE,"CURPC", m_P ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_C).formatstr("%3s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/pps4/pps4.h b/src/devices/cpu/pps4/pps4.h index a2797668751..4fee82b9328 100644 --- a/src/devices/cpu/pps4/pps4.h +++ b/src/devices/cpu/pps4/pps4.h @@ -20,9 +20,6 @@ enum PPS4_I1, PPS4_I2, PPS4_Ip, - PPS4_GENPC = STATE_GENPC, - PPS4_GENSP = STATE_GENSP, - PPS4_GENPCBASE = STATE_GENPCBASE, PPS4_PORT_A = 256, PPS4_PORT_B = 257 }; diff --git a/src/devices/cpu/psx/psx.cpp b/src/devices/cpu/psx/psx.cpp index e0a1394fd07..9d4ff93c7f3 100644 --- a/src/devices/cpu/psx/psx.cpp +++ b/src/devices/cpu/psx/psx.cpp @@ -1820,6 +1820,7 @@ void psxcpu_device::device_start() save_item( NAME( m_multiplier_operand2 ) ); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( PSXCPU_PC, "pc", m_pc ); state_add( PSXCPU_DELAYR, "delayr", m_delayr ).formatstr("%8s"); state_add( PSXCPU_DELAYV, "delayv", m_delayv ); diff --git a/src/devices/cpu/rsp/rsp.cpp b/src/devices/cpu/rsp/rsp.cpp index d7e85e7525e..b3ddbda9686 100644 --- a/src/devices/cpu/rsp/rsp.cpp +++ b/src/devices/cpu/rsp/rsp.cpp @@ -493,9 +493,9 @@ void rsp_device::device_start() state_add( RSP_V31, "V31", m_debugger_temp).formatstr("%39s"); state_add( STATE_GENPC, "GENPC", m_debugger_temp).callimport().callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callimport().callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%1s").noshow(); state_add( STATE_GENSP, "GENSP", m_rsp_state->r[31]).noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_debugger_temp).callimport().callexport().noshow(); m_icountptr = &m_rsp_state->icount; } diff --git a/src/devices/cpu/s2650/s2650.cpp b/src/devices/cpu/s2650/s2650.cpp index 69accfea7c7..1071d896350 100644 --- a/src/devices/cpu/s2650/s2650.cpp +++ b/src/devices/cpu/s2650/s2650.cpp @@ -822,6 +822,7 @@ void s2650_device::device_start() state_add( S2650_FO, "FO", m_debugger_temp).mask(0x01).callimport().callexport().formatstr("%01X"); state_add( STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%16s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/saturn/saturn.cpp b/src/devices/cpu/saturn/saturn.cpp index 9993e118919..159d2ecd037 100644 --- a/src/devices/cpu/saturn/saturn.cpp +++ b/src/devices/cpu/saturn/saturn.cpp @@ -164,6 +164,7 @@ void saturn_device::device_start() state_add( SATURN_SLEEPING, "sleep", m_sleeping).formatstr("%1X"); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%2s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/sc61860/sc61860.cpp b/src/devices/cpu/sc61860/sc61860.cpp index 4051d451561..7491412d74d 100644 --- a/src/devices/cpu/sc61860/sc61860.cpp +++ b/src/devices/cpu/sc61860/sc61860.cpp @@ -163,9 +163,9 @@ void sc61860_device::device_start() state_add( SC61860_ZERO, "Zero" , m_zero ).mask(1).formatstr("%1u"); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_oldpc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%2s").noshow(); state_add(STATE_GENSP, "GENSP", m_r).mask(0x7f).formatstr("%02X").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_oldpc).formatstr("%04X").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/scmp/scmp.cpp b/src/devices/cpu/scmp/scmp.cpp index 62717f0035e..2671dc9cf5a 100644 --- a/src/devices/cpu/scmp/scmp.cpp +++ b/src/devices/cpu/scmp/scmp.cpp @@ -493,6 +493,7 @@ void scmp_device::device_start() { state_add(SCMP_PC, "PC", m_PC.w.l); state_add(STATE_GENPC, "GENPC", m_PC.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_SR).noshow().formatstr("%8s"); state_add(SCMP_P1, "P1", m_P1.w.l); state_add(SCMP_P2, "P2", m_P2.w.l); diff --git a/src/devices/cpu/scmp/scmp.h b/src/devices/cpu/scmp/scmp.h index 03f284589eb..11aec711060 100644 --- a/src/devices/cpu/scmp/scmp.h +++ b/src/devices/cpu/scmp/scmp.h @@ -10,10 +10,7 @@ enum { - SCMP_PC, SCMP_P1, SCMP_P2, SCMP_P3, SCMP_AC, SCMP_ER, SCMP_SR, - SCMP_GENPC = STATE_GENPC, - SCMP_GENSP = STATE_GENSP, - SCMP_GENPCBASE = STATE_GENPCBASE + SCMP_PC, SCMP_P1, SCMP_P2, SCMP_P3, SCMP_AC, SCMP_ER, SCMP_SR }; diff --git a/src/devices/cpu/score/score.cpp b/src/devices/cpu/score/score.cpp index e20726b0337..bb5f9cd5255 100644 --- a/src/devices/cpu/score/score.cpp +++ b/src/devices/cpu/score/score.cpp @@ -92,8 +92,8 @@ void score7_cpu_device::device_start() state_add(SCORE_CEH, "ceh", REG_CEH).callimport().callexport().formatstr("%08X"); state_add(SCORE_CEL, "cel", REG_CEL).callimport().callexport().formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%08X").noshow(); - state_add(STATE_GENPCBASE, "curpcbase", m_ppc).callimport().callexport().formatstr("%8X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%08X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).formatstr("%8X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_ppc).formatstr("%5s").noshow(); // save state diff --git a/src/devices/cpu/scudsp/scudsp.cpp b/src/devices/cpu/scudsp/scudsp.cpp index d4b28d87408..d4e393c8ac3 100644 --- a/src/devices/cpu/scudsp/scudsp.cpp +++ b/src/devices/cpu/scudsp/scudsp.cpp @@ -975,7 +975,8 @@ void scudsp_cpu_device::device_start() state_add( SCUDSP_CT1, "CT1", m_ct1 ).formatstr("%02X"); state_add( SCUDSP_CT2, "CT2", m_ct2 ).formatstr("%02X"); state_add( SCUDSP_CT3, "CT3", m_ct3 ).formatstr("%02X"); - state_add( STATE_GENPC, "curpc", m_pc ).noshow(); + state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_flags ).formatstr("%17s").noshow(); m_out_irq_cb.resolve_safe(); diff --git a/src/devices/cpu/se3208/se3208.cpp b/src/devices/cpu/se3208/se3208.cpp index 65c109f8ff4..ec8ddaf0649 100644 --- a/src/devices/cpu/se3208/se3208.cpp +++ b/src/devices/cpu/se3208/se3208.cpp @@ -1801,9 +1801,9 @@ void se3208_device::device_start() state_add( SE3208_PPC, "PPC", m_PPC).formatstr("%08X"); state_add(STATE_GENPC, "GENPC", m_PC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PPC).noshow(); state_add(STATE_GENSP, "GENSP", m_SP).noshow(); - state_add(STATE_GENFLAGS, "GENFLAGS", m_SR).formatstr("%10s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_PPC).noshow(); + state_add(STATE_GENFLAGS, "GENFLAGS", m_SR).formatstr("%10s").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/sh2/sh2.cpp b/src/devices/cpu/sh2/sh2.cpp index 0201e8d8a44..3b419193dcf 100644 --- a/src/devices/cpu/sh2/sh2.cpp +++ b/src/devices/cpu/sh2/sh2.cpp @@ -2459,8 +2459,8 @@ void sh2_device::device_start() state_add( SH2_EA, "EA", m_sh2_state->ea).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", m_sh2_state->pc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_sh2_state->ppc ).noshow(); state_add( STATE_GENSP, "GENSP", m_sh2_state->r[15] ).noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_sh2_state->ppc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_sh2_state->sr ).formatstr("%6s").noshow(); m_icountptr = &m_sh2_state->icount; diff --git a/src/devices/cpu/sh4/sh4.cpp b/src/devices/cpu/sh4/sh4.cpp index 3a9a24e1525..e18e1646314 100644 --- a/src/devices/cpu/sh4/sh4.cpp +++ b/src/devices/cpu/sh4/sh4.cpp @@ -4278,8 +4278,8 @@ void sh34_base_device::device_start() state_add(SH4_XF15, "XF15", m_debugger_temp).callimport().formatstr("%25s"); state_add(STATE_GENPC, "GENPC", m_debugger_temp).callimport().callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(STATE_GENSP, "GENSP", m_r[15]).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_sr).formatstr("%20s").noshow(); m_icountptr = &m_sh4_icount; diff --git a/src/devices/cpu/sharc/sharc.cpp b/src/devices/cpu/sharc/sharc.cpp index f479d336c46..ef6eed4f614 100644 --- a/src/devices/cpu/sharc/sharc.cpp +++ b/src/devices/cpu/sharc/sharc.cpp @@ -760,6 +760,7 @@ void adsp21062_device::device_start() state_add( SHARC_B15, "B15", m_core->dag2.b[7]).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", m_core->pc).noshow(); + state_add( STATE_GENPC, "CURPC", m_core->pc).noshow(); m_icountptr = &m_core->icount; } diff --git a/src/devices/cpu/sm510/sm510.cpp b/src/devices/cpu/sm510/sm510.cpp index b5eb56ab24f..7242ef93b55 100644 --- a/src/devices/cpu/sm510/sm510.cpp +++ b/src/devices/cpu/sm510/sm510.cpp @@ -104,7 +104,8 @@ void sm510_base_device::device_start() state_add(SM510_C, "C", m_c).formatstr("%01X"); state_add(SM510_W, "W", m_w).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_c).formatstr("%1s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/sm8500/sm8500.cpp b/src/devices/cpu/sm8500/sm8500.cpp index dff83dbd9f4..071c7ee56cf 100644 --- a/src/devices/cpu/sm8500/sm8500.cpp +++ b/src/devices/cpu/sm8500/sm8500.cpp @@ -134,7 +134,8 @@ void sm8500_cpu_device::device_start() state_add(SM8500_RR10, "RR10", m_PC ).callimport().callexport().formatstr("%04s"); state_add(SM8500_RR12, "RR12", m_PC ).callimport().callexport().formatstr("%04s"); state_add(SM8500_RR14, "RR14", m_PC ).callimport().callexport().formatstr("%04s"); - state_add(STATE_GENPC, "curpc", m_PC).callimport().callexport().formatstr("%8s").noshow(); + state_add(STATE_GENPC, "GENPC", m_PC).formatstr("%8s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PC).formatstr("%8s").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_PS1).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/sparc/mb86901.cpp b/src/devices/cpu/sparc/mb86901.cpp index be7edbe6284..17eff33b8d1 100644 --- a/src/devices/cpu/sparc/mb86901.cpp +++ b/src/devices/cpu/sparc/mb86901.cpp @@ -247,6 +247,7 @@ void mb86901_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_psr).callimport().callexport().formatstr("%6s").noshow(); state_add(SPARC_PC, "PC", m_pc).formatstr("%08X"); state_add(SPARC_NPC, "nPC", m_npc).formatstr("%08X"); diff --git a/src/devices/cpu/spc700/spc700.cpp b/src/devices/cpu/spc700/spc700.cpp index abd0b7bf44e..c84e5d56a3c 100644 --- a/src/devices/cpu/spc700/spc700.cpp +++ b/src/devices/cpu/spc700/spc700.cpp @@ -1235,10 +1235,10 @@ void spc700_device::device_start() state_add( SPC700_X, "X", m_x ).formatstr("%02X"); state_add( SPC700_Y, "Y", m_y ).formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).formatstr("%04X").noshow(); state_add(STATE_GENSP, "GENSP", m_debugger_temp).mask(0x1ff).callexport().formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).formatstr("%8s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).formatstr("%04X").noshow(); m_icountptr = &m_ICount; } diff --git a/src/devices/cpu/ssem/ssem.cpp b/src/devices/cpu/ssem/ssem.cpp index 3f67e18de5f..1ea2584c33e 100644 --- a/src/devices/cpu/ssem/ssem.cpp +++ b/src/devices/cpu/ssem/ssem.cpp @@ -101,6 +101,7 @@ void ssem_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_halt).callimport().callexport().formatstr("%1s").noshow(); state_add(SSEM_PC, "PC", m_shifted_pc).mask(0xffff); state_add(SSEM_A, "A", m_a).mask(0xffffffff); diff --git a/src/devices/cpu/ssp1601/ssp1601.cpp b/src/devices/cpu/ssp1601/ssp1601.cpp index e583ac0bfb3..e37939f34f4 100644 --- a/src/devices/cpu/ssp1601/ssp1601.cpp +++ b/src/devices/cpu/ssp1601/ssp1601.cpp @@ -540,8 +540,8 @@ void ssp1601_device::device_start() state_add( SSP_PR7, "R7", m_r[7]).formatstr("%02X"); state_add(STATE_GENPC, "GENPC", rPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", PPC).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", rST).formatstr("%4s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", PPC).noshow(); m_icountptr = &m_g_cycles; } diff --git a/src/devices/cpu/superfx/superfx.cpp b/src/devices/cpu/superfx/superfx.cpp index f0b7f79101c..1c7715c4d04 100644 --- a/src/devices/cpu/superfx/superfx.cpp +++ b/src/devices/cpu/superfx/superfx.cpp @@ -694,6 +694,8 @@ void superfx_device::device_start() state_add( SUPERFX_RAMAR, "RAMAR", m_ramar).formatstr("%04X"); state_add( SUPERFX_RAMDR, "RAMDR", m_ramdr).formatstr("%02X"); state_add( SUPERFX_RAMADDR, "RAMADDR", m_ramaddr).formatstr("%04X"); + state_add( STATE_GENPC, "GENPC", m_debugger_temp).callexport().formatstr("%06X"); + state_add( STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().formatstr("%06X"); m_icountptr = &m_icount; } @@ -715,6 +717,7 @@ void superfx_device::state_export(const device_state_entry &entry) switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: case SUPERFX_PC: m_debugger_temp = ( (m_pbr << 16) | m_r[15] ) - 1; break; diff --git a/src/devices/cpu/t11/t11.cpp b/src/devices/cpu/t11/t11.cpp index 262c69cb17a..d53bebf13cb 100644 --- a/src/devices/cpu/t11/t11.cpp +++ b/src/devices/cpu/t11/t11.cpp @@ -287,9 +287,9 @@ void t11_device::device_start() state_add( T11_R4, "R4", m_reg[4].w.l).formatstr("%04X"); state_add( T11_R5, "R5", m_reg[5].w.l).formatstr("%04X"); - state_add(STATE_GENPC, "curpc", m_reg[7].w.l).noshow(); + state_add(STATE_GENPC, "GENPC", m_reg[7].w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_psw.b.l).formatstr("%8s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc.w.l).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/tlcs90/tlcs90.cpp b/src/devices/cpu/tlcs90/tlcs90.cpp index 8cf66a14ccb..a347d93a632 100644 --- a/src/devices/cpu/tlcs90/tlcs90.cpp +++ b/src/devices/cpu/tlcs90/tlcs90.cpp @@ -2764,9 +2764,9 @@ void tlcs90_device::device_start() state_add( T90_IY, "IY", m_iy.w.l).formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_pc.w.l).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_prvpc.w.l).formatstr("%04X").noshow(); state_add(STATE_GENSP, "GENSP", m_sp.w.l).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", F ).formatstr("%8s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_prvpc.w.l).formatstr("%04X").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/tlcs900/tlcs900.cpp b/src/devices/cpu/tlcs900/tlcs900.cpp index fa36695b095..5521954bc03 100644 --- a/src/devices/cpu/tlcs900/tlcs900.cpp +++ b/src/devices/cpu/tlcs900/tlcs900.cpp @@ -378,6 +378,7 @@ void tlcs900h_device::device_start() state_add( TLCS900_DMAM3, "DMAM3", m_dmam[3].b.l ).formatstr("%02X"); state_add( STATE_GENPC, "GENPC", m_pc.d ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_pc.d ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_sr.w.l ).formatstr("%12s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/tms1000/tms1k_base.cpp b/src/devices/cpu/tms1000/tms1k_base.cpp index 019557efab5..ef5f41f0546 100644 --- a/src/devices/cpu/tms1000/tms1k_base.cpp +++ b/src/devices/cpu/tms1000/tms1k_base.cpp @@ -74,6 +74,7 @@ void tms1k_base_device::state_string_export(const device_state_entry &entry, std switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: str = string_format("%03X", m_rom_address << ((m_byte_bits > 8) ? 1 : 0)); break; } @@ -194,7 +195,8 @@ void tms1k_base_device::device_start() state_add(TMS1XXX_Y, "Y", m_y ).formatstr("%01X"); state_add(TMS1XXX_STATUS, "STATUS", m_status).formatstr("%01X"); - state_add(STATE_GENPC, "curpc", m_rom_address).formatstr("%03X").noshow(); + state_add(STATE_GENPC, "GENPC", m_rom_address).formatstr("%03X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_rom_address).formatstr("%03X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_sr).formatstr("%8s").noshow(); m_icountptr = &m_icount; diff --git a/src/devices/cpu/tms32010/tms32010.cpp b/src/devices/cpu/tms32010/tms32010.cpp index 7625ff96646..146d95ab113 100644 --- a/src/devices/cpu/tms32010/tms32010.cpp +++ b/src/devices/cpu/tms32010/tms32010.cpp @@ -863,10 +863,10 @@ void tms32010_device::device_start() state_add( TMS32010_STK3, "STK3", m_STACK[3]).formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_PC).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PREVPC).formatstr("%04X").noshow(); /* This is actually not a stack pointer, but the stack contents */ state_add(STATE_GENSP, "GENSP", m_STACK[3]).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_STR).formatstr("%16s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_PREVPC).formatstr("%04X").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/tms32025/tms32025.cpp b/src/devices/cpu/tms32025/tms32025.cpp index a73ec8f21da..5ce29bf10ab 100644 --- a/src/devices/cpu/tms32025/tms32025.cpp +++ b/src/devices/cpu/tms32025/tms32025.cpp @@ -1747,10 +1747,10 @@ void tms32025_device::device_start() state_add( TMS32025_GREG, "GREG", m_debugger_temp).callimport().callexport().formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_PC).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PREVPC).formatstr("%04X").noshow(); /* This is actually not a stack pointer, but the stack contents */ state_add(STATE_GENSP, "GENSP", m_STACK[7]).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_STR0).formatstr("%33s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_PREVPC).formatstr("%04X").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/tms32031/tms32031.cpp b/src/devices/cpu/tms32031/tms32031.cpp index 6a90630b5a1..22593bc9e15 100644 --- a/src/devices/cpu/tms32031/tms32031.cpp +++ b/src/devices/cpu/tms32031/tms32031.cpp @@ -399,6 +399,7 @@ void tms3203x_device::device_start() // register our state for the debugger state_add(TMS3203X_PC, "PC", m_pc); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_r[TMR_ST].i32[0]).mask(0xff).noshow().formatstr("%8s"); state_add(TMS3203X_R0, "R0", m_r[TMR_R0].i32[0]); state_add(TMS3203X_R1, "R1", m_r[TMR_R1].i32[0]); diff --git a/src/devices/cpu/tms32051/tms32051.cpp b/src/devices/cpu/tms32051/tms32051.cpp index 9bbde38dae0..e5efade625f 100644 --- a/src/devices/cpu/tms32051/tms32051.cpp +++ b/src/devices/cpu/tms32051/tms32051.cpp @@ -244,6 +244,7 @@ void tms32051_device::device_start() state_add( TMS32051_PSC, "PSC", m_timer.psc).formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/tms32082/tms32082.cpp b/src/devices/cpu/tms32082/tms32082.cpp index baf444dd064..3d788a19aa2 100644 --- a/src/devices/cpu/tms32082/tms32082.cpp +++ b/src/devices/cpu/tms32082/tms32082.cpp @@ -206,7 +206,8 @@ void tms32082_mp_device::device_start() state_add(MP_TCOUNT, "tcount", m_tcount).formatstr("%08X"); state_add(MP_TSCALE, "tscale", m_tscale).formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_pc).noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); m_program = &space(AS_PROGRAM); m_direct = &m_program->direct(); @@ -503,7 +504,8 @@ void tms32082_pp_device::device_start() // Register state for debugger state_add(PP_PC, "pc", m_pc).formatstr("%08X"); - state_add(STATE_GENPC, "curpc", m_pc).noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); m_program = &space(AS_PROGRAM); m_direct = &m_program->direct(); diff --git a/src/devices/cpu/tms34010/tms34010.cpp b/src/devices/cpu/tms34010/tms34010.cpp index e7098319d08..dd45a91a848 100644 --- a/src/devices/cpu/tms34010/tms34010.cpp +++ b/src/devices/cpu/tms34010/tms34010.cpp @@ -586,7 +586,7 @@ void tms340x0_device::device_start() { state_add(TMS34010_PC, "PC", m_pc); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_ppc).noshow(); state_add(TMS34010_SP, "SP", m_regs[15].reg); state_add(STATE_GENSP, "GENSP", m_regs[15].reg).noshow(); state_add(TMS34010_ST, "ST", m_st); diff --git a/src/devices/cpu/tms34010/tms34010.h b/src/devices/cpu/tms34010/tms34010.h index f87a3df37b1..83d96832f38 100644 --- a/src/devices/cpu/tms34010/tms34010.h +++ b/src/devices/cpu/tms34010/tms34010.h @@ -50,11 +50,7 @@ enum TMS34010_B11, TMS34010_B12, TMS34010_B13, - TMS34010_B14, - - TMS34010_GENPC = STATE_GENPC, - TMS34010_GENSP = STATE_GENSP, - TMS34010_GENPCBASE = STATE_GENPCBASE + TMS34010_B14 }; diff --git a/src/devices/cpu/tms57002/tms57002.cpp b/src/devices/cpu/tms57002/tms57002.cpp index 2424642e8d4..fbc7b208673 100644 --- a/src/devices/cpu/tms57002/tms57002.cpp +++ b/src/devices/cpu/tms57002/tms57002.cpp @@ -815,6 +815,7 @@ void tms57002_device::device_start() data = &space(AS_DATA); state_add(STATE_GENPC, "GENPC", pc).noshow(); + state_add(STATE_GENPCBASE,"CURPC", pc).noshow(); state_add(TMS57002_PC, "PC", pc); state_add(TMS57002_ST0, "ST0", st0); state_add(TMS57002_ST1, "ST1", st1); diff --git a/src/devices/cpu/tms7000/tms7000.cpp b/src/devices/cpu/tms7000/tms7000.cpp index b29f8f20ee4..bb3d24bf338 100644 --- a/src/devices/cpu/tms7000/tms7000.cpp +++ b/src/devices/cpu/tms7000/tms7000.cpp @@ -241,6 +241,7 @@ void tms7000_device::device_start() state_add(TMS7000_ST, "ST", m_sr).formatstr("%02X"); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%02X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%02X").noshow(); state_add(STATE_GENSP, "GENSP", m_sp).formatstr("%02X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_sr).formatstr("%8s").noshow(); } diff --git a/src/devices/cpu/tms9900/ti990_10.cpp b/src/devices/cpu/tms9900/ti990_10.cpp index 97510d1f610..01c2c57a87d 100644 --- a/src/devices/cpu/tms9900/ti990_10.cpp +++ b/src/devices/cpu/tms9900/ti990_10.cpp @@ -62,7 +62,8 @@ void ti990_10_device::device_start() // set our instruction counter m_icountptr = &m_icount; - state_add(STATE_GENPC, "curpc", PC).formatstr("%4s").noshow(); + state_add(STATE_GENPC, "GENPC", PC).formatstr("%4s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", PC).formatstr("%4s").noshow(); state_add(STATE_GENFLAGS, "status", m_state_any).callimport().callexport().formatstr("%16s").noshow(); } diff --git a/src/devices/cpu/tms9900/tms9900.cpp b/src/devices/cpu/tms9900/tms9900.cpp index eab6ffc8007..1962cc897f5 100644 --- a/src/devices/cpu/tms9900/tms9900.cpp +++ b/src/devices/cpu/tms9900/tms9900.cpp @@ -233,7 +233,8 @@ void tms99xx_device::device_start() // callexport = need to use the state_export method to read the state variable state_add(i, s_statename[i], m_state_any).callimport().callexport().formatstr("%04X"); } - state_add(STATE_GENPC, "curpc", PC).formatstr("%4s").noshow(); + state_add(STATE_GENPC, "GENPC", PC).formatstr("%4s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", PC).formatstr("%4s").noshow(); state_add(STATE_GENFLAGS, "status", m_state_any).callimport().callexport().formatstr("%16s").noshow(); build_command_lookup_table(); diff --git a/src/devices/cpu/tms9900/tms9995.cpp b/src/devices/cpu/tms9900/tms9995.cpp index 52e482efaa5..d8ffcda2337 100644 --- a/src/devices/cpu/tms9900/tms9995.cpp +++ b/src/devices/cpu/tms9900/tms9995.cpp @@ -264,7 +264,8 @@ void tms9995_device::device_start() // callexport = need to use the state_export method to read the state variable state_add(i, s_statename[i], m_state_any).callimport().callexport().formatstr("%04X"); } - state_add(STATE_GENPC, "curpc", PC_debug).formatstr("%4s").noshow(); + state_add(STATE_GENPC, "GENPC", PC_debug).formatstr("%4s").noshow(); + state_add(STATE_GENPCBASE, "CURPC", PC_debug).formatstr("%4s").noshow(); state_add(STATE_GENFLAGS, "status", m_state_any).callimport().callexport().formatstr("%16s").noshow(); // Set up the lookup table for command decoding diff --git a/src/devices/cpu/ucom4/ucom4.cpp b/src/devices/cpu/ucom4/ucom4.cpp index fd0263ac8fb..71f1bd2ce9b 100644 --- a/src/devices/cpu/ucom4/ucom4.cpp +++ b/src/devices/cpu/ucom4/ucom4.cpp @@ -180,7 +180,8 @@ void ucom4_cpu_device::device_start() state_add(UCOM4_DPH, "DPH", m_dph).formatstr("%01X"); state_add(UCOM4_ACC, "ACC", m_acc).formatstr("%01X"); - state_add(STATE_GENPC, "curpc", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_carry_f).formatstr("%5s").noshow(); // dummy m_icountptr = &m_icount; diff --git a/src/devices/cpu/unsp/unsp.cpp b/src/devices/cpu/unsp/unsp.cpp index a6215b98fcf..12bdc67078c 100644 --- a/src/devices/cpu/unsp/unsp.cpp +++ b/src/devices/cpu/unsp/unsp.cpp @@ -145,6 +145,7 @@ void unsp_device::device_start() state_add( UNSP_SB, "SB", m_sb).formatstr("%1u"); state_add(STATE_GENPC, "GENPC", m_debugger_temp).callexport().noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_debugger_temp).callexport().noshow(); m_icountptr = &m_icount; } @@ -153,11 +154,9 @@ void unsp_device::state_export(const device_state_entry &entry) { switch (entry.index()) { - case UNSP_PC: - m_debugger_temp = UNSP_LPC; - break; - case STATE_GENPC: + case STATE_GENPCBASE: + case UNSP_PC: m_debugger_temp = UNSP_LPC; break; } diff --git a/src/devices/cpu/upd7725/upd7725.cpp b/src/devices/cpu/upd7725/upd7725.cpp index 5641743ffb7..9564d380bc9 100644 --- a/src/devices/cpu/upd7725/upd7725.cpp +++ b/src/devices/cpu/upd7725/upd7725.cpp @@ -70,6 +70,7 @@ void necdsp_device::device_start() // register our state for the debugger state_add(STATE_GENPC, "GENPC", regs.pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", regs.pc).noshow(); state_add(UPD7725_PC, "PC", regs.pc); state_add(UPD7725_RP, "RP", regs.rp); state_add(UPD7725_DP, "DP", regs.dp); diff --git a/src/devices/cpu/upd7810/upd7810.cpp b/src/devices/cpu/upd7810/upd7810.cpp index 7ab58fc46c1..9722ba360b3 100644 --- a/src/devices/cpu/upd7810/upd7810.cpp +++ b/src/devices/cpu/upd7810/upd7810.cpp @@ -1659,7 +1659,7 @@ void upd7810_device::device_start() state_add( UPD7810_CO1, "CO1", m_co1).formatstr("%3u"); state_add( STATE_GENPC, "GENPC", m_pc.w.l ).formatstr("%04X").noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_ppc.w.l ).formatstr("%04X").noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc.w.l ).formatstr("%04X").noshow(); state_add( STATE_GENSP, "GENSP", m_sp.w.l ).formatstr("%04X").noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_psw ).formatstr("%17s").noshow(); } @@ -1690,7 +1690,7 @@ void upd78c05_device::device_start() state_add( UPD7810_MKL, "MKL", m_mkl).formatstr("%02X"); state_add( STATE_GENPC, "GENPC", m_pc.w.l ).formatstr("%04X").noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_ppc.w.l ).formatstr("%04X").noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc.w.l ).formatstr("%04X").noshow(); state_add( STATE_GENSP, "GENSP", m_sp.w.l ).formatstr("%04X").noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_psw ).formatstr("%17s").noshow(); diff --git a/src/devices/cpu/v30mz/v30mz.cpp b/src/devices/cpu/v30mz/v30mz.cpp index 52845538b47..1436b72d757 100644 --- a/src/devices/cpu/v30mz/v30mz.cpp +++ b/src/devices/cpu/v30mz/v30mz.cpp @@ -178,7 +178,8 @@ void v30mz_cpu_device::device_start() state_add( NEC_DS, "DS", m_sregs[DS] ).callimport().callexport().formatstr("%04X"); state_add( NEC_VECTOR, "V", m_int_vector).callimport().callexport().formatstr("%02X"); - state_add(STATE_GENPC, "curpc", m_pc).callimport().callexport().formatstr("%05X"); + state_add(STATE_GENPC, "GENPC", m_pc).callexport().formatstr("%05X"); + state_add(STATE_GENPCBASE, "CURPC", m_pc).callexport().formatstr("%05X"); state_add(STATE_GENFLAGS, "GENFLAGS", m_TF).callimport().callexport().formatstr("%16s").noshow(); m_icountptr = &m_icount; @@ -190,6 +191,7 @@ void v30mz_cpu_device::state_string_export(const device_state_entry &entry, std: switch (entry.index()) { case STATE_GENPC: + case STATE_GENPCBASE: str = string_format("%08X", ( m_sregs[CS] << 4 ) + m_ip); break; diff --git a/src/devices/cpu/v60/v60.cpp b/src/devices/cpu/v60/v60.cpp index ec33e3e6eab..009a7cf66a7 100644 --- a/src/devices/cpu/v60/v60.cpp +++ b/src/devices/cpu/v60/v60.cpp @@ -498,7 +498,7 @@ void v60_device::device_start() state_add( V60_ADTMR1, "ADTMR1", ADTMR1).formatstr("%08X"); state_add( STATE_GENPC, "GENPC", PC).noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_PPC ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_PPC ).noshow(); state_add( STATE_GENSP, "GENSP", SP ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_debugger_temp).noshow(); diff --git a/src/devices/cpu/v810/v810.cpp b/src/devices/cpu/v810/v810.cpp index d9509d77b6b..4e03c000747 100644 --- a/src/devices/cpu/v810/v810.cpp +++ b/src/devices/cpu/v810/v810.cpp @@ -1307,9 +1307,9 @@ void v810_device::device_start() state_add( V810_ADTRE, "ADTRE", ADTRE).formatstr("%08X"); state_add(STATE_GENPC, "GENPC", PC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PPC).noshow(); state_add(STATE_GENSP, "GENSP", SP).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", PSW).formatstr("%8s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_PPC).noshow(); m_icountptr = &m_icount; } diff --git a/src/devices/cpu/z180/z180.cpp b/src/devices/cpu/z180/z180.cpp index 8cff26069c0..c904ea33eec 100644 --- a/src/devices/cpu/z180/z180.cpp +++ b/src/devices/cpu/z180/z180.cpp @@ -1973,7 +1973,7 @@ void z180_device::device_start() { state_add(Z180_PC, "PC", m_PC.w.l); state_add(STATE_GENPC, "GENPC", _PCD).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_PREPC.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_PREPC.w.l).noshow(); state_add(Z180_SP, "SP", _SPD); state_add(STATE_GENSP, "GENSP", m_SP.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_AF.b.l).noshow().formatstr("%8s"); diff --git a/src/devices/cpu/z180/z180.h b/src/devices/cpu/z180/z180.h index 87980e29f4e..36b260e7a6f 100644 --- a/src/devices/cpu/z180/z180.h +++ b/src/devices/cpu/z180/z180.h @@ -103,11 +103,7 @@ enum Z180_IO3D, /* 3d reserved */ Z180_OMCR, /* 3e operation mode control register */ Z180_IOCR, /* 3f I/O control register */ - Z180_IOLINES, /* read/write I/O lines */ - - Z180_GENPC = STATE_GENPC, - Z180_GENSP = STATE_GENSP, - Z180_GENPCBASE = STATE_GENPCBASE + Z180_IOLINES /* read/write I/O lines */ }; enum diff --git a/src/devices/cpu/z8/z8.cpp b/src/devices/cpu/z8/z8.cpp index 53aecb48b1b..7e21e5d2e5b 100644 --- a/src/devices/cpu/z8/z8.cpp +++ b/src/devices/cpu/z8/z8.cpp @@ -670,6 +670,7 @@ void z8_device::device_start() { state_add(Z8_PC, "PC", m_pc); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add(Z8_SP, "SP", m_fake_sp).callimport().callexport(); state_add(STATE_GENSP, "GENSP", m_fake_sp).callimport().callexport().noshow(); state_add(Z8_RP, "RP", m_r[Z8_REGISTER_RP]); @@ -773,7 +774,7 @@ void z8_device::state_import(const device_state_entry &entry) switch (entry.index()) { case Z8_SP: - case Z8_GENSP: + case STATE_GENSP: m_r[Z8_REGISTER_SPH] = m_fake_sp >> 8; m_r[Z8_REGISTER_SPL] = m_fake_sp & 0xff; break; @@ -792,7 +793,7 @@ void z8_device::state_export(const device_state_entry &entry) switch (entry.index()) { case Z8_SP: - case Z8_GENSP: + case STATE_GENSP: m_fake_sp = (m_r[Z8_REGISTER_SPH] << 8) | m_r[Z8_REGISTER_SPL]; break; diff --git a/src/devices/cpu/z8/z8.h b/src/devices/cpu/z8/z8.h index 6ef667c74cc..758ae7c5366 100644 --- a/src/devices/cpu/z8/z8.h +++ b/src/devices/cpu/z8/z8.h @@ -16,10 +16,7 @@ enum { Z8_PC, Z8_SP, Z8_RP, Z8_T0, Z8_T1, - Z8_R0, Z8_R1, Z8_R2, Z8_R3, Z8_R4, Z8_R5, Z8_R6, Z8_R7, Z8_R8, Z8_R9, Z8_R10, Z8_R11, Z8_R12, Z8_R13, Z8_R14, Z8_R15, - - Z8_GENPC = STATE_GENPC, - Z8_GENSP = STATE_GENSP + Z8_R0, Z8_R1, Z8_R2, Z8_R3, Z8_R4, Z8_R5, Z8_R6, Z8_R7, Z8_R8, Z8_R9, Z8_R10, Z8_R11, Z8_R12, Z8_R13, Z8_R14, Z8_R15 }; diff --git a/src/devices/cpu/z80/z80.cpp b/src/devices/cpu/z80/z80.cpp index b32dce2faf9..e0a3bbb8863 100644 --- a/src/devices/cpu/z80/z80.cpp +++ b/src/devices/cpu/z80/z80.cpp @@ -3426,7 +3426,7 @@ void z80_device::device_start() /* set up the state table */ state_add(Z80_PC, "PC", m_pc.w.l); state_add(STATE_GENPC, "GENPC", m_pc.w.l).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_prvpc.w.l).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_prvpc.w.l).noshow(); state_add(Z80_SP, "SP", SP); state_add(STATE_GENSP, "GENSP", SP).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", F).noshow().formatstr("%8s"); diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h index e3733807770..a3100fd1674 100644 --- a/src/devices/cpu/z80/z80.h +++ b/src/devices/cpu/z80/z80.h @@ -30,11 +30,7 @@ enum Z80_AF, Z80_BC, Z80_DE, Z80_HL, Z80_IX, Z80_IY, Z80_AF2, Z80_BC2, Z80_DE2, Z80_HL2, Z80_R, Z80_I, Z80_IM, Z80_IFF1, Z80_IFF2, Z80_HALT, - Z80_DC0, Z80_DC1, Z80_DC2, Z80_DC3, Z80_WZ, - - Z80_GENPC = STATE_GENPC, - Z80_GENSP = STATE_GENSP, - Z80_GENPCBASE = STATE_GENPCBASE + Z80_DC0, Z80_DC1, Z80_DC2, Z80_DC3, Z80_WZ }; class z80_device : public cpu_device, public z80_daisy_chain_interface diff --git a/src/devices/cpu/z8000/z8000.cpp b/src/devices/cpu/z8000/z8000.cpp index bdfbc436275..114faab7441 100644 --- a/src/devices/cpu/z8000/z8000.cpp +++ b/src/devices/cpu/z8000/z8000.cpp @@ -612,7 +612,7 @@ void z8002_device::register_debug_state() state_add( Z8000_R15, "R15", RW(15) ).formatstr("%04X"); state_add( STATE_GENPC, "GENPC", m_pc ).noshow(); - state_add( STATE_GENPCBASE, "GENPCBASE", m_ppc ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_ppc ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_fcw ).formatstr("%16s").noshow(); state_add( STATE_GENSP, "GENSP", m_nspoff ).noshow(); } diff --git a/src/devices/machine/netlist.cpp b/src/devices/machine/netlist.cpp index c99b5ac9f18..e04d0f31a60 100644 --- a/src/devices/machine/netlist.cpp +++ b/src/devices/machine/netlist.cpp @@ -499,7 +499,8 @@ void netlist_mame_cpu_device_t::device_start() // State support - state_add(STATE_GENPC, "curpc", m_genPC).noshow(); + state_add(STATE_GENPC, "GENPC", m_genPC).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_genPC).noshow(); for (int i=0; i < netlist().m_nets.size(); i++) { diff --git a/src/emu/debug/debugcmd.cpp b/src/emu/debug/debugcmd.cpp index 99cdefb3b36..9fd4d1a860b 100644 --- a/src/emu/debug/debugcmd.cpp +++ b/src/emu/debug/debugcmd.cpp @@ -2628,7 +2628,7 @@ void debugger_commands::execute_trackpc(int ref, int params, const char *param[] // Insert current pc if (m_cpu.get_visible_cpu() == cpu) { - const offs_t pc = cpu->safe_pc(); + const offs_t pc = cpu->safe_pcbase(); cpu->debug()->set_track_pc_visited(pc); } m_console.printf("PC tracking enabled\n"); diff --git a/src/emu/debug/debugcpu.cpp b/src/emu/debug/debugcpu.cpp index 7832a03fa46..5e6535a9fb4 100644 --- a/src/emu/debug/debugcpu.cpp +++ b/src/emu/debug/debugcpu.cpp @@ -1939,7 +1939,7 @@ void device_debug::instruction_hook(offs_t curpc) // handle step out/over on the instruction we are about to execute if ((m_flags & (DEBUG_FLAG_STEPPING_OVER | DEBUG_FLAG_STEPPING_OUT)) != 0 && m_stepaddr == ~0) - prepare_for_step_overout(m_device.safe_pc()); + prepare_for_step_overout(m_device.safe_pcbase()); // no longer in debugger code debugcpu.set_within_instruction(false); @@ -2955,7 +2955,7 @@ void debugger_cpu::watchpoint_check(address_space& space, int type, offs_t addre { "0bytes", "byte", "word", "3bytes", "dword", "5bytes", "6bytes", "7bytes", "qword" }; - offs_t pc = space.device().safe_pc(); + offs_t pc = space.device().safe_pcbase(); std::string buffer; if (type & WATCHPOINT_WRITE) @@ -2985,7 +2985,7 @@ void debugger_cpu::watchpoint_check(address_space& space, int type, offs_t addre void device_debug::hotspot_check(address_space &space, offs_t address) { - offs_t curpc = m_device.safe_pc(); + offs_t curpc = m_device.safe_pcbase(); // see if we have a match in our list unsigned int hotindex; @@ -3064,7 +3064,7 @@ UINT32 device_debug::dasm_wrapped(std::string &buffer, offs_t pc) UINT64 device_debug::get_current_pc(symbol_table &table, void *ref) { device_t *device = reinterpret_cast<device_t *>(table.globalref()); - return device->safe_pc(); + return device->safe_pcbase(); } diff --git a/src/emu/debug/dvdisasm.cpp b/src/emu/debug/dvdisasm.cpp index e49010e2ef6..b793a7a553e 100644 --- a/src/emu/debug/dvdisasm.cpp +++ b/src/emu/debug/dvdisasm.cpp @@ -167,7 +167,7 @@ void debug_view_disasm::view_char(int chval) case DCH_HOME: // set the active column to the PC { const debug_view_disasm_source &source = downcast<const debug_view_disasm_source &>(*m_source); - offs_t pc = source.m_space.address_to_byte(source.device()->safe_pc()) & source.m_space.logbytemask(); + offs_t pc = source.m_space.address_to_byte(source.device()->safe_pcbase()) & source.m_space.logbytemask(); // figure out which row the pc is on for (unsigned int curline = 0; curline < m_byteaddress.size(); curline++) @@ -458,7 +458,7 @@ void debug_view_disasm::view_update() { const debug_view_disasm_source &source = downcast<const debug_view_disasm_source &>(*m_source); - offs_t pc = source.device()->safe_pc(); + offs_t pc = source.device()->safe_pcbase(); offs_t pcbyte = source.m_space.address_to_byte(pc) & source.m_space.logbytemask(); // update our context; if the expression is dirty, recompute diff --git a/src/mame/drivers/apollo.cpp b/src/mame/drivers/apollo.cpp index 5c5f9ba9a6f..1ea7243a613 100644 --- a/src/mame/drivers/apollo.cpp +++ b/src/mame/drivers/apollo.cpp @@ -951,7 +951,7 @@ void apollo_state::machine_start(){ // install nop handlers for unmapped ISA bus addresses m_isa->install16_device((ATBUS_IO_BASE - 0x40000) >> 7, (ATBUS_IO_END - 0x40000) >> 7, read16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_r), this), write16_delegate(FUNC(apollo_state::apollo_atbus_unmap_io_w), this)); - m_isa->install_memory(ATBUS_MEMORY_BASE, ATBUS_MEMORY_END, read8_delegate(FUNC(apollo_state::apollo_atbus_unmap_r), this), write8_delegate(FUNC(apollo_state::apollo_atbus_unmap_w), this)); + m_isa->install_memory(0, ATBUS_MEMORY_END, read8_delegate(FUNC(apollo_state::apollo_atbus_unmap_r), this), write8_delegate(FUNC(apollo_state::apollo_atbus_unmap_w), this)); } /*************************************************************************** diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp index 826e4ef6cbf..465fc7557a1 100644 --- a/src/mame/drivers/dec0.cpp +++ b/src/mame/drivers/dec0.cpp @@ -785,8 +785,8 @@ static INPUT_PORTS_START( birdtry ) PORT_DIPSETTING( 0x0400, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x1000, DEF_STR( On ) ) PORT_DIPNAME( 0x2000, 0x2000, "Timer" ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0000, "Fast" ) @@ -3294,7 +3294,7 @@ GAME( 1987, hbarrel, 0, hbarrel, hbarrel, dec0_state, hbarrel, ROT2 GAME( 1987, hbarrelw, hbarrel, hbarrel, hbarrel, dec0_state, hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, baddudes, 0, baddudes, baddudes, dec0_state, baddudes, ROT0, "Data East USA", "Bad Dudes vs. Dragonninja (US)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, drgninja, baddudes, baddudes, drgninja, dec0_state, baddudes, ROT0, "Data East Corporation", "Dragonninja (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, birdtry, 0, birdtry, birdtry, dec0_state, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", MACHINE_UNEMULATED_PROTECTION | MACHINE_SUPPORTS_SAVE ) +GAME( 1988, birdtry, 0, birdtry, birdtry, dec0_state, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // protection controls game related data, impossible to emulate without a working PCB GAME( 1988, robocop, 0, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (World revision 4)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, robocopw, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (World revision 3)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, robocopj, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/fidel6502.cpp b/src/mame/drivers/fidel6502.cpp index dcabbe72c52..074e7e69b6c 100644 --- a/src/mame/drivers/fidel6502.cpp +++ b/src/mame/drivers/fidel6502.cpp @@ -1,6 +1,6 @@ // license:BSD-3-Clause // copyright-holders:Kevin Horton,Jonathan Gevaryahu,Sandro Ronco,hap -// thanks-to:Berger +// thanks-to:Berger,yovan /****************************************************************************** Fidelity Electronics 6502 based board driver @@ -325,6 +325,21 @@ Z80 D6 to W: (model 6092, tied to VCC otherwise) - D2-D6: VCC - D7: TSI BUSY + +****************************************************************************** + +Chesster (model 6120) +There is also a German version titled Kishon Chesster +---------------- + +8*(8+1) buttons, 8+8+1 LEDs +8KB RAM(UM6264-12), 32KB ROM(M27C256B) +Ricoh RP65C02G CPU, 5MHz XTAL +8-bit DAC speech timed via IRQ, 128KB ROM(AMI custom label) +PCB label 510-1141C01 + +I/O is via TTL, see source code for more info + ******************************************************************************/ #include "emu.h" @@ -334,10 +349,12 @@ Z80 D6 to W: (model 6092, tied to VCC otherwise) #include "machine/6821pia.h" #include "machine/i8255.h" #include "machine/nvram.h" +#include "sound/dac.h" #include "includes/fidelz80.h" // internal artwork +#include "fidel_chesster.lh" // clickable #include "fidel_csc.lh" // clickable #include "fidel_eas.lh" // clickable #include "fidel_fev.lh" // clickable @@ -397,11 +414,15 @@ public: DECLARE_READ8_MEMBER(sc12_input_r); DECLARE_READ8_MEMBER(sc12_cart_r); - // 6080/6092/6093 (Excellence) + // Excellence DECLARE_INPUT_CHANGED_MEMBER(fexcelv_bankswitch); DECLARE_READ8_MEMBER(fexcelv_speech_r); DECLARE_WRITE8_MEMBER(fexcel_ttl_w); DECLARE_READ8_MEMBER(fexcel_ttl_r); + + // Chesster + DECLARE_WRITE8_MEMBER(chesster_control_w); + DECLARE_DRIVER_INIT(chesster); }; @@ -687,7 +708,7 @@ READ8_MEMBER(fidel6502_state::sc12_cart_r) /****************************************************************************** - 6080/6092/6093 (Excellence) + Excellence ******************************************************************************/ // misc handlers @@ -768,6 +789,39 @@ READ8_MEMBER(fidel6502_state::fexcel_ttl_r) /****************************************************************************** + Chesster +******************************************************************************/ + +// TTL/generic + +WRITE8_MEMBER(fidel6502_state::chesster_control_w) +{ + // a0-a2,d7: 74259(1) + UINT8 mask = 1 << offset; + m_led_select = (m_led_select & ~mask) | ((data & 0x80) ? mask : 0); + + // 74259 Q4-Q7: 7442 a0-a3 + // 7442 0-8: led data, input mux + UINT16 sel = 1 << (m_led_select >> 4 & 0xf) & 0x3ff; + m_inp_mux = sel & 0x1ff; + + // 74259 Q0,Q1: led select (active low) + display_matrix(9, 2, m_inp_mux, ~m_led_select & 3); + + // 74259 Q2,Q3: speechrom A14,A15 + // a0-a2,d0: 74259(2) where Q3 is speechrom A16, other outputs unconnected + m_speech_bank = (m_speech_bank & ~mask) | ((data & 1) ? mask : 0); + membank("bank1")->set_entry((m_led_select >> 2 & 3) | (m_speech_bank >> 1 & 4)); +} + +DRIVER_INIT_MEMBER(fidel6502_state, chesster) +{ + membank("bank1")->configure_entries(0, 8, memregion("speech")->base(), 0x4000); +} + + + +/****************************************************************************** Address Maps ******************************************************************************/ @@ -854,7 +908,7 @@ static ADDRESS_MAP_START( sc12_map, AS_PROGRAM, 8, fidel6502_state ) ADDRESS_MAP_END -// 6080/6092/6093 (Excellence) +// Excellence static ADDRESS_MAP_START( fexcel_map, AS_PROGRAM, 8, fidel6502_state ) AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_RAM @@ -863,6 +917,17 @@ static ADDRESS_MAP_START( fexcel_map, AS_PROGRAM, 8, fidel6502_state ) ADDRESS_MAP_END +// Chesster + +static ADDRESS_MAP_START( chesster_map, AS_PROGRAM, 8, fidel6502_state ) + AM_RANGE(0x0000, 0x1fff) AM_RAM + AM_RANGE(0x2000, 0x2007) AM_MIRROR(0x1ff8) AM_READWRITE(sc12_input_r, chesster_control_w) + AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") + AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_DEVWRITE("dac", dac_device, write_signed8) + AM_RANGE(0x8000, 0xffff) AM_ROM +ADDRESS_MAP_END + + /****************************************************************************** Input Ports @@ -1243,6 +1308,99 @@ static INPUT_PORTS_START( eas ) INPUT_PORTS_END +static INPUT_PORTS_START( chesster ) + PORT_START("IN.0") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h8") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g8") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f8") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e8") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d8") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c8") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b8") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a8") + + PORT_START("IN.1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h7") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g7") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f7") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e7") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d7") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c7") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b7") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a7") + + PORT_START("IN.2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h6") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g6") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f6") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e6") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d6") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c6") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b6") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a6") + + PORT_START("IN.3") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h5") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g5") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f5") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e5") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d5") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c5") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b5") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a5") + + PORT_START("IN.4") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h4") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g4") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f4") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e4") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d4") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c4") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b4") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a4") + + PORT_START("IN.5") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h3") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g3") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f3") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e3") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d3") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c3") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b3") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a3") + + PORT_START("IN.6") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h2") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g2") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f2") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e2") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d2") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c2") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b2") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a2") + + PORT_START("IN.7") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square h1") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square g1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square f1") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square e1") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square d1") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square c1") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square b1") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Square a1") + + PORT_START("IN.8") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_NAME("Clear") + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("No / Move") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("Yes / Hint") + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Repeat / Take Back") + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("New / Level") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("Replay / Option") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("Verify / Problem") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) PORT_NAME("Shift") +INPUT_PORTS_END + + /****************************************************************************** Machine Drivers @@ -1434,6 +1592,22 @@ static MACHINE_CONFIG_DERIVED( fexcelv, fexcel ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) MACHINE_CONFIG_END +static MACHINE_CONFIG_START( chesster, fidel6502_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", R65C02, XTAL_5MHz) // RP65C02G + MCFG_CPU_PROGRAM_MAP(chesster_map) + MCFG_CPU_PERIODIC_INT_DRIVER(fidelz80base_state, irq0_line_hold, 9500) // R/C circuit, approximation + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_fidel_chesster) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_DAC_ADD("dac") + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +MACHINE_CONFIG_END + /****************************************************************************** @@ -1609,6 +1783,15 @@ ROM_START( fexcelv ) ROM_END +ROM_START( chesster ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("chesster.ic9", 0x8000, 0x8000, CRC(29f9a698) SHA1(4c83ca46fd5fc9c40302e9c7f16b4ae2c18b06e6) ) // M27C256B, sticker but no label + + ROM_REGION( 0x20000, "speech", 0 ) + ROM_LOAD("101-1091a02.ic10", 0x0000, 0x20000, CRC(2b4d243c) SHA1(921e51978facb502b207b4f64a73b1e74127e826) ) // AMI, 27C010 or equivalent +ROM_END + + /****************************************************************************** Drivers @@ -1636,3 +1819,5 @@ CONS( 1984, fscc12, 0, 0, sc12, sc12, driver_device, 0, CONS( 1987, fexcel, 0, 0, fexcel, fexcel, driver_device, 0, "Fidelity Electronics", "Excellence (model 6080/6093)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1987, fexcelv, fexcel, 0, fexcelv, fexcelv, driver_device, 0, "Fidelity Electronics", "Voice Excellence", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) + +CONS( 1990, chesster, 0, 0, chesster, chesster, fidel6502_state, chesster, "Fidelity Electronics", "Chesster Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp index 9de5eb427b6..92591ad9a72 100644 --- a/src/mame/drivers/tispeak.cpp +++ b/src/mame/drivers/tispeak.cpp @@ -157,9 +157,9 @@ Speak & Math: - VSM(2/2): 16KB CD2393 - VFD: Futaba 9SY -02Z 7E - notes: As with the Speak & Spell, the voice actor was a radio announcer. - However, the phrase "is greater than or less than" had to be added in a - hurry by one of the TI employees in a hurry, the day before a demo. - Apparently QA never found out and it ended up in the final product. + However, the phrase "is greater than or less than" had to be added by one + of the TI employees in a hurry, the day before a demo. Apparently QA + never found out and it ended up in the final product. Speak & Math (US), 1986 - MCU: CD2708, label CD2708N2L (die label TMC0270F 2708A) diff --git a/src/mame/drivers/vgmplay.cpp b/src/mame/drivers/vgmplay.cpp index 0751b961b14..a5f40be8e8e 100644 --- a/src/mame/drivers/vgmplay.cpp +++ b/src/mame/drivers/vgmplay.cpp @@ -196,7 +196,7 @@ void vgmplay_device::device_start() save_item(NAME(m_pc)); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_pc).noshow(); + state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); } void vgmplay_device::device_reset() diff --git a/src/mame/etc/template_cpu.cpp b/src/mame/etc/template_cpu.cpp index b6900258a43..3ef47437be8 100644 --- a/src/mame/etc/template_cpu.cpp +++ b/src/mame/etc/template_cpu.cpp @@ -70,7 +70,8 @@ void xxx_cpu_device::device_start() // Register state for debugger state_add( CP1610_R0, "PC", m_pc ).formatstr("%02X"); - state_add( STATE_GENPC, "curpc", m_r[7] ).noshow(); + state_add( STATE_GENPC, "GENPC", m_r[7] ).noshow(); + state_add( STATE_GENPCBASE, "CURPC", m_r[7] ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_flags ).noshow(); m_icountptr = &m_icount; diff --git a/src/mame/layout/fidel_chesster.lay b/src/mame/layout/fidel_chesster.lay new file mode 100644 index 00000000000..28a5fab7f74 --- /dev/null +++ b/src/mame/layout/fidel_chesster.lay @@ -0,0 +1,436 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element> + + <element name="led" defstate="0"> + <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> + <disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk> + </element> + + <element name="hl" defstate="0"> + <text string=" "> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="1"> + <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> + <color red="1.0" green="1.0" blue="1.0" /> + </disk> + </element> + <element name="hlb" defstate="0"> + <text string=" "> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="1"> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="1.0" green="1.0" blue="1.0" /> + </disk> + </element> + <element name="hlr" defstate="0"> + <text string=" "> + <bounds x="0" y="0" width="8" height="6" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="1"> + <bounds x="2" y="1" width="4" height="4" /> + <color red="1.0" green="1.0" blue="1.0" /> + </disk> + </element> + + <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> + <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> + <element name="redb"><rect><color red="0.81" green="0.3" blue="0.29" /></rect></element> + <element name="disk_black"><disk><color red="0.17" green="0.15" blue="0.15" /></disk></element> + <element name="disk_white"><disk><color red="0.81" green="0.8" blue="0.79" /></disk></element> + + <element name="text_1"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_3"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_4"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_5"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_6"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_7"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_8"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + + <element name="text_a"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_b"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_c"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_d"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_e"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_f"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_g"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_h"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + + <element name="text_white"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="WHITE"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_black"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="BLACK"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_clear"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u1"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="VERIFY"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="OPTION"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u3"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="LEVEL"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u4"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="TAKE BACK"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u5"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="HINT"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_u6"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="MOVE"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + + <element name="text_shift"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="SHIFT"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s1"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="PROBLEM"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="REPLAY"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s3"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="NEW"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s4"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="REPEAT"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s5"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="YES"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + <element name="text_s6"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="NO"><color red="0.81" green="0.3" blue="0.29" /></text> + </element> + + <element name="text_king"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♚"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_queen"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♛"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_rook"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♜"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_bishop"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♝"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_knight"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♞"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + <element name="text_pion"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="♟"><color red="0.17" green="0.15" blue="0.15" /></text> + </element> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="-7" right="93" top="-2" bottom="103" /> + <bezel element="static_black"> + <bounds left="-7" right="93" top="-2" bottom="103" /> + </bezel> + + <bezel element="white"><bounds x="-7.5" y="-2.5" width="101" height="106" /></bezel> + + <!-- chessboard coords --> + + <bezel element="text_8"><bounds x="-3.25" y="7" width="2" height="2" /></bezel> + <bezel element="text_7"><bounds x="-3.25" y="17" width="2" height="2" /></bezel> + <bezel element="text_6"><bounds x="-3.25" y="27" width="2" height="2" /></bezel> + <bezel element="text_5"><bounds x="-3.25" y="37" width="2" height="2" /></bezel> + <bezel element="text_4"><bounds x="-3.25" y="47" width="2" height="2" /></bezel> + <bezel element="text_3"><bounds x="-3.25" y="57" width="2" height="2" /></bezel> + <bezel element="text_2"><bounds x="-3.25" y="67" width="2" height="2" /></bezel> + <bezel element="text_1"><bounds x="-3.25" y="77" width="2" height="2" /></bezel> + + <bezel element="text_a"><bounds x="5" y="85" width="2" height="2" /></bezel> + <bezel element="text_b"><bounds x="15" y="85" width="2" height="2" /></bezel> + <bezel element="text_c"><bounds x="25" y="85" width="2" height="2" /></bezel> + <bezel element="text_d"><bounds x="35" y="85" width="2" height="2" /></bezel> + <bezel element="text_e"><bounds x="45" y="85" width="2" height="2" /></bezel> + <bezel element="text_f"><bounds x="55" y="85" width="2" height="2" /></bezel> + <bezel element="text_g"><bounds x="65" y="85" width="2" height="2" /></bezel> + <bezel element="text_h"><bounds x="75" y="85" width="2" height="2" /></bezel> + + <!-- chessboard leds --> + + <bezel name="0.7" element="led"><bounds x="-1" y="7.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.6" element="led"><bounds x="-1" y="17.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.5" element="led"><bounds x="-1" y="27.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.4" element="led"><bounds x="-1" y="37.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.3" element="led"><bounds x="-1" y="47.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.2" element="led"><bounds x="-1" y="57.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.1" element="led"><bounds x="-1" y="67.25" width="1.5" height="1.5" /></bezel> + <bezel name="0.0" element="led"><bounds x="-1" y="77.25" width="1.5" height="1.5" /></bezel> + + <bezel name="1.0" element="led"><bounds x="7.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.1" element="led"><bounds x="17.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.2" element="led"><bounds x="27.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.3" element="led"><bounds x="37.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.4" element="led"><bounds x="47.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.5" element="led"><bounds x="57.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.6" element="led"><bounds x="67.25" y="85.5" width="1.5" height="1.5" /></bezel> + <bezel name="1.7" element="led"><bounds x="77.25" y="85.5" width="1.5" height="1.5" /></bezel> + + <!-- chessboard bezel --> + + <bezel element="black"><bounds x="2" y="2" width="82" height="82" /></bezel> + <bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel> + + <bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel> + + <bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel> + <bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel> + + <bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel> + + <bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel> + <bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel> + + <bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel> + + <bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel> + <bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel> + + <bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel> + <bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel> + + <bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel> + <bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel> + <bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel> + + <!-- chessboard sensors --> + + <bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> + + <bezel element="hl" inputtag="IN.1" inputmask="0x80"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x40"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x20"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> + + <bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> + + <bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> + + <bezel element="hl" inputtag="IN.4" inputmask="0x80"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x40"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x20"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x10"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x08"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x04"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x02"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.4" inputmask="0x01"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> + + <bezel element="hl" inputtag="IN.5" inputmask="0x80"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x40"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x20"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x10"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x08"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> + + <bezel element="hl" inputtag="IN.6" inputmask="0x80"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x40"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x20"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x10"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x04"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x02"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.6" inputmask="0x01"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> + + <bezel element="hl" inputtag="IN.7" inputmask="0x80"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x40"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x20"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x10"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x08"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x04"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x02"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> + <bezel element="hl" inputtag="IN.7" inputmask="0x01"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + + <!-- bottom side --> + + <bezel element="text_white"><bounds x="33" y="87.5" width="10" height="2" /></bezel> + <bezel element="text_black"><bounds x="43" y="87.5" width="10" height="2" /></bezel> + + <bezel element="text_s1"><bounds x="3" y="89.7" width="10" height="1.8" /></bezel> + <bezel element="text_s2"><bounds x="13" y="89.7" width="10" height="1.8" /></bezel> + <bezel element="text_s3"><bounds x="23" y="89.7" width="10" height="1.8" /></bezel> + <bezel element="text_s4"><bounds x="53" y="89.7" width="10" height="1.8" /></bezel> + <bezel element="text_s5"><bounds x="63" y="89.7" width="10" height="1.8" /></bezel> + <bezel element="text_s6"><bounds x="73" y="89.7" width="10" height="1.8" /></bezel> + + <bezel element="text_u1"><bounds x="3" y="96.3" width="10" height="1.8" /></bezel> + <bezel element="text_u2"><bounds x="13" y="96.3" width="10" height="1.8" /></bezel> + <bezel element="text_u3"><bounds x="23" y="96.3" width="10" height="1.8" /></bezel> + <bezel element="text_u4"><bounds x="53" y="96.3" width="10" height="1.8" /></bezel> + <bezel element="text_u5"><bounds x="63" y="96.3" width="10" height="1.8" /></bezel> + <bezel element="text_u6"><bounds x="73" y="96.3" width="10" height="1.8" /></bezel> + + <bezel element="text_king"><bounds x="3" y="98" width="10" height="4" /></bezel> + <bezel element="text_queen"><bounds x="13" y="98" width="10" height="4" /></bezel> + <bezel element="text_rook"><bounds x="23" y="98" width="10" height="4" /></bezel> + <bezel element="text_bishop"><bounds x="53" y="98" width="10" height="4" /></bezel> + <bezel element="text_knight"><bounds x="63" y="98" width="10" height="4" /></bezel> + <bezel element="text_pion"><bounds x="73" y="98" width="10" height="4" /></bezel> + + <bezel element="disk_black"><bounds x="6" y="92" width="4" height="4" /></bezel> + <bezel element="disk_black"><bounds x="16" y="92" width="4" height="4" /></bezel> + <bezel element="disk_black"><bounds x="26" y="92" width="4" height="4" /></bezel> + <bezel element="disk_black"><bounds x="56" y="92" width="4" height="4" /></bezel> + <bezel element="disk_black"><bounds x="66" y="92" width="4" height="4" /></bezel> + <bezel element="disk_black"><bounds x="76" y="92" width="4" height="4" /></bezel> + + <bezel element="disk_white"><bounds x="6.5" y="92.5" width="3" height="3" /></bezel> + <bezel element="disk_white"><bounds x="16.5" y="92.5" width="3" height="3" /></bezel> + <bezel element="disk_white"><bounds x="26.5" y="92.5" width="3" height="3" /></bezel> + <bezel element="disk_white"><bounds x="56.5" y="92.5" width="3" height="3" /></bezel> + <bezel element="disk_white"><bounds x="66.5" y="92.5" width="3" height="3" /></bezel> + <bezel element="disk_white"><bounds x="76.5" y="92.5" width="3" height="3" /></bezel> + + <bezel element="hlb" inputtag="IN.8" inputmask="0x40"><bounds x="6" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.8" inputmask="0x20"><bounds x="16" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.8" inputmask="0x10"><bounds x="26" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.8" inputmask="0x08"><bounds x="56" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.8" inputmask="0x04"><bounds x="66" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + <bezel element="hlb" inputtag="IN.8" inputmask="0x02"><bounds x="76" y="92" width="4" height="4" /><color alpha="0.3" /></bezel> + + <bezel element="redb"><bounds x="-5" y="91" width="8" height="6" /></bezel> + <bezel element="white"><bounds x="-4.25" y="91.75" width="6.5" height="4.5" /></bezel> + <bezel element="text_shift"><bounds x="-4" y="93" width="6" height="2" /></bezel> + <bezel name="1.8" element="led"><bounds x="0.65" y="94.65" width="1.5" height="1.5" /></bezel> + <bezel element="hlr" inputtag="IN.8" inputmask="0x80"><bounds x="-5" y="91" width="8" height="6" /><color alpha="0.3" /></bezel> + + <bezel element="black"><bounds x="83" y="91" width="8" height="6" /></bezel> + <bezel element="white"><bounds x="83.75" y="91.75" width="6.5" height="4.5" /></bezel> + <bezel element="text_clear"><bounds x="84" y="93" width="6" height="2" /></bezel> + <bezel element="hlr" inputtag="IN.8" inputmask="0x01"><bounds x="83" y="91" width="8" height="6" /><color alpha="0.3" /></bezel> + + </view> +</mamelayout> diff --git a/src/mame/machine/dec0.cpp b/src/mame/machine/dec0.cpp index 57d78159e1f..cd8d501efda 100644 --- a/src/mame/machine/dec0.cpp +++ b/src/mame/machine/dec0.cpp @@ -238,8 +238,8 @@ void dec0_state::birdtry_i8751_write(int data) /*"Sprite control"*/ case 0x22a: m_i8751_return = 0x200; break; - /* Gives an O.B. otherwise (it must be > 0xb0 )*/ - case 0x3c7: m_i8751_return = 0x7ff; break; + /* velocity of the ball, controlled by power and height formula? */ + case 0x3c7: m_i8751_return = 0x2fff; break; /*Enables shot checks*/ case 0x33c: m_i8751_return = 0x200; break; @@ -264,7 +264,7 @@ void dec0_state::birdtry_i8751_write(int data) case 0x10b: pwr = 0x5c; break; /*PW*/ case 0x10c: pwr = 0x60; break; /*SW*/ case 0x10d: pwr = 0x80; break; /*PT*/ - case 0x481: m_i8751_return = pwr; break; /*Power meter*/ + case 0x481: m_i8751_return = pwr*9; break; /*Power meter*/ /* 0x200-0x20f values are for shot height(STRONG=0x200<<-->>WEAK=0x20f). * * Returned value to i8751 doesn't matter,but send the result to 0x534. * diff --git a/src/mame/mame.lst b/src/mame/mame.lst index ea9aab2ee54..6128142d645 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12194,6 +12194,7 @@ fgoal // TF (c) 1979 Taito Corporation fgoala // MF (c) 1979 Taito Corporation @source:fidel6502.cpp +chesster // csc // CSC: Champion Sensory Chess Challenger (English) cscfr // * French cscg // * German |