mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
fidel/novagmcs48: shadow m_maincpu (nw)
This commit is contained in:
parent
3f2d50c4a2
commit
b05f97cc09
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user