summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-02-16 18:42:42 +0100
committer hap <happppp@users.noreply.github.com>2019-02-16 18:42:42 +0100
commitb05f97cc095ec21e1e02a2122be2912418fef6fe (patch)
tree72f15eacd629a59075e06d56d4701a148eb45312
parent3f2d50c4a24b8e3639bac6f331fe4c2d74013482 (diff)
fidel/novagmcs48: shadow m_maincpu (nw)
-rw-r--r--src/mame/drivers/fidelmcs48.cpp19
-rw-r--r--src/mame/drivers/fidelz80.cpp4
-rw-r--r--src/mame/drivers/novag68k.cpp6
-rw-r--r--src/mame/drivers/novagmcs48.cpp13
4 files changed, 24 insertions, 18 deletions
diff --git a/src/mame/drivers/fidelmcs48.cpp b/src/mame/drivers/fidelmcs48.cpp
index f7da11afce8..6cb818e209e 100644
--- a/src/mame/drivers/fidelmcs48.cpp
+++ b/src/mame/drivers/fidelmcs48.cpp
@@ -45,12 +45,15 @@ class fidelmcs48_state : public fidelbase_state
{
public:
fidelmcs48_state(const machine_config &mconfig, device_type type, const char *tag) :
- fidelbase_state(mconfig, type, tag)
+ fidelbase_state(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
{ }
void sc6(machine_config &config);
private:
+ required_device<mcs48_cpu_device> m_maincpu;
+
// SC6
void sc6_prepare_display();
DECLARE_WRITE8_MEMBER(sc6_mux_w);
@@ -180,13 +183,13 @@ INPUT_PORTS_END
void fidelmcs48_state::sc6(machine_config &config)
{
/* basic machine hardware */
- i8040_device &maincpu(I8040(config, m_maincpu, 11_MHz_XTAL));
- maincpu.set_addrmap(AS_PROGRAM, &fidelmcs48_state::sc6_map);
- maincpu.p2_out_cb().set(FUNC(fidelmcs48_state::sc6_mux_w));
- maincpu.p1_in_cb().set(FUNC(fidelmcs48_state::sc6_input_r));
- maincpu.p1_out_cb().set(FUNC(fidelmcs48_state::sc6_select_w));
- maincpu.t0_in_cb().set(FUNC(fidelmcs48_state::sc6_input6_r));
- maincpu.t1_in_cb().set(FUNC(fidelmcs48_state::sc6_input7_r));
+ I8040(config, m_maincpu, 11_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &fidelmcs48_state::sc6_map);
+ m_maincpu->p2_out_cb().set(FUNC(fidelmcs48_state::sc6_mux_w));
+ m_maincpu->p1_in_cb().set(FUNC(fidelmcs48_state::sc6_input_r));
+ m_maincpu->p1_out_cb().set(FUNC(fidelmcs48_state::sc6_select_w));
+ m_maincpu->t0_in_cb().set(FUNC(fidelmcs48_state::sc6_input6_r));
+ m_maincpu->t1_in_cb().set(FUNC(fidelmcs48_state::sc6_input7_r));
TIMER(config, "display_decay").configure_periodic(FUNC(fidelbase_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_fidel_sc6);
diff --git a/src/mame/drivers/fidelz80.cpp b/src/mame/drivers/fidelz80.cpp
index ac9ef521266..a016e8c4c45 100644
--- a/src/mame/drivers/fidelz80.cpp
+++ b/src/mame/drivers/fidelz80.cpp
@@ -37,10 +37,10 @@
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
Program/data cartridges, for various boards, some cross-compatible:
- - CAC: Challenger Advanced Chess - 8KB 101-1038A01
- CB9: Challenger Book Openings 1 - 8KB (label not known)
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
- - others are alt. titles of these?
+ - *CG64: 64 Greatest Games
+ - *EOA-EOE: Challenger Book Openings - Chess Encyclopedia A-E (5 modules)
Board hardware descriptions below.
Detailed RE work done by Kevin 'kevtris' Horton, except where noted
diff --git a/src/mame/drivers/novag68k.cpp b/src/mame/drivers/novag68k.cpp
index c153e2af0fa..ae0b9daff4a 100644
--- a/src/mame/drivers/novag68k.cpp
+++ b/src/mame/drivers/novag68k.cpp
@@ -11,7 +11,7 @@
such as Arena(in editmode).
TODO:
- - RS232 port
+ - RS232 port (when connected, I'm only getting "New Game")
******************************************************************************
@@ -43,8 +43,8 @@ Scorpio 68000 hardware is very similar, but with chessboard buttons and side led
class novag68k_state : public novagbase_state
{
public:
- novag68k_state(const machine_config &mconfig, device_type type, const char *tag)
- : novagbase_state(mconfig, type, tag)
+ novag68k_state(const machine_config &mconfig, device_type type, const char *tag) :
+ novagbase_state(mconfig, type, tag)
{ }
void diablo68k(machine_config &config);
diff --git a/src/mame/drivers/novagmcs48.cpp b/src/mame/drivers/novagmcs48.cpp
index a29f07ba89e..69fa328c2f6 100644
--- a/src/mame/drivers/novagmcs48.cpp
+++ b/src/mame/drivers/novagmcs48.cpp
@@ -42,7 +42,8 @@ class novagmcs48_state : public novagbase_state
{
public:
novagmcs48_state(const machine_config &mconfig, device_type type, const char *tag) :
- novagbase_state(mconfig, type, tag)
+ novagbase_state(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
{ }
void presto(machine_config &config);
@@ -51,6 +52,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(octo_cpu_freq);
private:
+ required_device<mcs48_cpu_device> m_maincpu;
+
// Presto/Octo
DECLARE_WRITE8_MEMBER(presto_mux_w);
DECLARE_WRITE8_MEMBER(presto_control_w);
@@ -150,10 +153,10 @@ INPUT_CHANGED_MEMBER(novagmcs48_state::octo_cpu_freq)
void novagmcs48_state::presto(machine_config &config)
{
/* basic machine hardware */
- i8049_device &maincpu(I8049(config, m_maincpu, 6000000)); // LC circuit, measured 6MHz
- maincpu.p1_in_cb().set(FUNC(novagmcs48_state::presto_input_r));
- maincpu.p2_out_cb().set(FUNC(novagmcs48_state::presto_control_w));
- maincpu.bus_out_cb().set(FUNC(novagmcs48_state::presto_mux_w));
+ I8049(config, m_maincpu, 6000000); // LC circuit, measured 6MHz
+ m_maincpu->p1_in_cb().set(FUNC(novagmcs48_state::presto_input_r));
+ m_maincpu->p2_out_cb().set(FUNC(novagmcs48_state::presto_control_w));
+ m_maincpu->bus_out_cb().set(FUNC(novagmcs48_state::presto_mux_w));
TIMER(config, "display_decay").configure_periodic(FUNC(novagmcs48_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_novag_presto);