mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +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:
|
public:
|
||||||
fidelmcs48_state(const machine_config &mconfig, device_type type, const char *tag) :
|
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);
|
void sc6(machine_config &config);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
required_device<mcs48_cpu_device> m_maincpu;
|
||||||
|
|
||||||
// SC6
|
// SC6
|
||||||
void sc6_prepare_display();
|
void sc6_prepare_display();
|
||||||
DECLARE_WRITE8_MEMBER(sc6_mux_w);
|
DECLARE_WRITE8_MEMBER(sc6_mux_w);
|
||||||
@ -180,13 +183,13 @@ INPUT_PORTS_END
|
|||||||
void fidelmcs48_state::sc6(machine_config &config)
|
void fidelmcs48_state::sc6(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
i8040_device &maincpu(I8040(config, m_maincpu, 11_MHz_XTAL));
|
I8040(config, m_maincpu, 11_MHz_XTAL);
|
||||||
maincpu.set_addrmap(AS_PROGRAM, &fidelmcs48_state::sc6_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &fidelmcs48_state::sc6_map);
|
||||||
maincpu.p2_out_cb().set(FUNC(fidelmcs48_state::sc6_mux_w));
|
m_maincpu->p2_out_cb().set(FUNC(fidelmcs48_state::sc6_mux_w));
|
||||||
maincpu.p1_in_cb().set(FUNC(fidelmcs48_state::sc6_input_r));
|
m_maincpu->p1_in_cb().set(FUNC(fidelmcs48_state::sc6_input_r));
|
||||||
maincpu.p1_out_cb().set(FUNC(fidelmcs48_state::sc6_select_w));
|
m_maincpu->p1_out_cb().set(FUNC(fidelmcs48_state::sc6_select_w));
|
||||||
maincpu.t0_in_cb().set(FUNC(fidelmcs48_state::sc6_input6_r));
|
m_maincpu->t0_in_cb().set(FUNC(fidelmcs48_state::sc6_input6_r));
|
||||||
maincpu.t1_in_cb().set(FUNC(fidelmcs48_state::sc6_input7_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));
|
TIMER(config, "display_decay").configure_periodic(FUNC(fidelbase_state::display_decay_tick), attotime::from_msec(1));
|
||||||
config.set_default_layout(layout_fidel_sc6);
|
config.set_default_layout(layout_fidel_sc6);
|
||||||
|
@ -37,10 +37,10 @@
|
|||||||
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
|
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
|
||||||
|
|
||||||
Program/data cartridges, for various boards, some cross-compatible:
|
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)
|
- CB9: Challenger Book Openings 1 - 8KB (label not known)
|
||||||
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
|
- 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.
|
Board hardware descriptions below.
|
||||||
Detailed RE work done by Kevin 'kevtris' Horton, except where noted
|
Detailed RE work done by Kevin 'kevtris' Horton, except where noted
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
such as Arena(in editmode).
|
such as Arena(in editmode).
|
||||||
|
|
||||||
TODO:
|
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
|
class novag68k_state : public novagbase_state
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
novag68k_state(const machine_config &mconfig, device_type type, const char *tag)
|
novag68k_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
: novagbase_state(mconfig, type, tag)
|
novagbase_state(mconfig, type, tag)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void diablo68k(machine_config &config);
|
void diablo68k(machine_config &config);
|
||||||
|
@ -42,7 +42,8 @@ class novagmcs48_state : public novagbase_state
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
novagmcs48_state(const machine_config &mconfig, device_type type, const char *tag) :
|
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);
|
void presto(machine_config &config);
|
||||||
@ -51,6 +52,8 @@ public:
|
|||||||
DECLARE_INPUT_CHANGED_MEMBER(octo_cpu_freq);
|
DECLARE_INPUT_CHANGED_MEMBER(octo_cpu_freq);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
required_device<mcs48_cpu_device> m_maincpu;
|
||||||
|
|
||||||
// Presto/Octo
|
// Presto/Octo
|
||||||
DECLARE_WRITE8_MEMBER(presto_mux_w);
|
DECLARE_WRITE8_MEMBER(presto_mux_w);
|
||||||
DECLARE_WRITE8_MEMBER(presto_control_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)
|
void novagmcs48_state::presto(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
i8049_device &maincpu(I8049(config, m_maincpu, 6000000)); // LC circuit, measured 6MHz
|
I8049(config, m_maincpu, 6000000); // LC circuit, measured 6MHz
|
||||||
maincpu.p1_in_cb().set(FUNC(novagmcs48_state::presto_input_r));
|
m_maincpu->p1_in_cb().set(FUNC(novagmcs48_state::presto_input_r));
|
||||||
maincpu.p2_out_cb().set(FUNC(novagmcs48_state::presto_control_w));
|
m_maincpu->p2_out_cb().set(FUNC(novagmcs48_state::presto_control_w));
|
||||||
maincpu.bus_out_cb().set(FUNC(novagmcs48_state::presto_mux_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));
|
TIMER(config, "display_decay").configure_periodic(FUNC(novagmcs48_state::display_decay_tick), attotime::from_msec(1));
|
||||||
config.set_default_layout(layout_novag_presto);
|
config.set_default_layout(layout_novag_presto);
|
||||||
|
Loading…
Reference in New Issue
Block a user