mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
novagmcs48: added octo 15mhz version (nw)
This commit is contained in:
parent
25ab376c4c
commit
bfcac4b2ec
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- is presto led handling correct? mux data needs to be auto cleared
|
- is presto led handling correct? mux data needs to be auto cleared
|
||||||
similar to diablo/sexpert
|
similar to diablo/sexpert. cpu color led should be on while thinking
|
||||||
|
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
|
|
||||||
@ -49,6 +49,9 @@ public:
|
|||||||
DECLARE_WRITE8_MEMBER(presto_mux_w);
|
DECLARE_WRITE8_MEMBER(presto_mux_w);
|
||||||
DECLARE_WRITE8_MEMBER(presto_control_w);
|
DECLARE_WRITE8_MEMBER(presto_control_w);
|
||||||
DECLARE_READ8_MEMBER(presto_input_r);
|
DECLARE_READ8_MEMBER(presto_input_r);
|
||||||
|
DECLARE_MACHINE_RESET(octo);
|
||||||
|
DECLARE_INPUT_CHANGED_MEMBER(octo_cpu_freq);
|
||||||
|
void octo_set_cpu_freq();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -59,7 +62,7 @@ public:
|
|||||||
Presto/Octo
|
Presto/Octo
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
// MCU ports
|
// MCU ports/generic
|
||||||
|
|
||||||
WRITE8_MEMBER(novagmcs48_state::presto_mux_w)
|
WRITE8_MEMBER(novagmcs48_state::presto_mux_w)
|
||||||
{
|
{
|
||||||
@ -87,6 +90,18 @@ READ8_MEMBER(novagmcs48_state::presto_input_r)
|
|||||||
return ~read_inputs(9) & 0xff;
|
return ~read_inputs(9) & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void novagmcs48_state::octo_set_cpu_freq()
|
||||||
|
{
|
||||||
|
// Octo was released with either 12MHz or 15MHz CPU
|
||||||
|
m_maincpu->set_unscaled_clock((ioport("FAKE")->read() & 1) ? (15000000) : (12000000));
|
||||||
|
}
|
||||||
|
|
||||||
|
MACHINE_RESET_MEMBER(novagmcs48_state, octo)
|
||||||
|
{
|
||||||
|
novagbase_state::machine_reset();
|
||||||
|
octo_set_cpu_freq();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -122,6 +137,20 @@ static INPUT_PORTS_START( presto )
|
|||||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("Go")
|
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("Go")
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( octo )
|
||||||
|
PORT_INCLUDE( presto )
|
||||||
|
|
||||||
|
PORT_START("FAKE")
|
||||||
|
PORT_CONFNAME( 0x01, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, novagmcs48_state, octo_cpu_freq, nullptr) // factory set
|
||||||
|
PORT_CONFSETTING( 0x00, "12MHz" )
|
||||||
|
PORT_CONFSETTING( 0x01, "15MHz" )
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
INPUT_CHANGED_MEMBER(novagmcs48_state::octo_cpu_freq)
|
||||||
|
{
|
||||||
|
octo_set_cpu_freq();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -148,7 +177,9 @@ static MACHINE_CONFIG_DERIVED( octo, presto )
|
|||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MCFG_CPU_MODIFY("maincpu")
|
MCFG_CPU_MODIFY("maincpu")
|
||||||
MCFG_DEVICE_CLOCK(12000000) // LC circuit, measured
|
MCFG_DEVICE_CLOCK(12000000) // LC circuit, measured, see octo_set_cpu_freq
|
||||||
|
|
||||||
|
MCFG_MACHINE_RESET_OVERRIDE(novagmcs48_state, octo)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
@ -175,4 +206,4 @@ ROM_END
|
|||||||
|
|
||||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
|
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
|
||||||
CONS( 1984, npresto, 0, 0, presto, presto, driver_device, 0, "Novag", "Presto (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
CONS( 1984, npresto, 0, 0, presto, presto, driver_device, 0, "Novag", "Presto (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||||
CONS( 1987, nocto, npresto, 0, octo, presto, driver_device, 0, "Novag", "Octo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
CONS( 1987, nocto, npresto, 0, octo, octo, driver_device, 0, "Novag", "Octo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||||
|
Loading…
Reference in New Issue
Block a user