summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cybiko.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cybiko.cpp')
-rw-r--r--src/mame/drivers/cybiko.cpp67
1 files changed, 42 insertions, 25 deletions
diff --git a/src/mame/drivers/cybiko.cpp b/src/mame/drivers/cybiko.cpp
index fe538a8f76c..d05e76022f1 100644
--- a/src/mame/drivers/cybiko.cpp
+++ b/src/mame/drivers/cybiko.cpp
@@ -389,16 +389,14 @@ static DEVICE_INPUT_DEFAULTS_START( debug_serial ) // set up debug port to defau
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END
-MACHINE_CONFIG_START(cybiko_state::cybikov1)
- // cpu
- MCFG_DEVICE_ADD( "maincpu", H8S2241, XTAL(11'059'200) )
- MCFG_DEVICE_PROGRAM_MAP( cybikov1_mem )
- MCFG_DEVICE_IO_MAP( cybikov1_io )
-
- MCFG_DEVICE_MODIFY("maincpu:sci1")
- MCFG_H8_SCI_TX_CALLBACK(WRITELINE("flash1", at45db041_device, si_w))
- MCFG_H8_SCI_CLK_CALLBACK(WRITELINE("flash1", at45db041_device, sck_w))
+MACHINE_CONFIG_START(cybiko_state::cybikov1_debug_serial)
+ MCFG_DEVICE_MODIFY("debug_serial")
+ MCFG_RS232_RXD_HANDLER(WRITELINE("maincpu:sci2", h8_sci_device, rx_w))
+ MCFG_DEVICE_MODIFY("maincpu:sci2")
+ MCFG_H8_SCI_TX_CALLBACK(WRITELINE("debug_serial", rs232_port_device, write_txd))
+MACHINE_CONFIG_END
+MACHINE_CONFIG_START(cybiko_state::cybikov1_base)
// screen
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE( 60 )
@@ -415,8 +413,6 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1)
// machine
/* rtc */
MCFG_PCF8593_ADD("rtc")
- AT45DB041(config, m_flash1, 0);
- m_flash1->so_callback().set("maincpu:sci1", FUNC(h8_sci_device::rx_w));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -429,19 +425,39 @@ MACHINE_CONFIG_START(cybiko_state::cybikov1)
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", debug_serial)
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("pty", debug_serial)
- MCFG_DEVICE_MODIFY("debug_serial")
- MCFG_RS232_RXD_HANDLER(WRITELINE("maincpu:sci2", h8_sci_device, rx_w))
- MCFG_DEVICE_MODIFY("maincpu:sci2")
- MCFG_H8_SCI_TX_CALLBACK(WRITELINE("debug_serial", rs232_port_device, write_txd))
-
/* quickload */
MCFG_QUICKLOAD_ADD("quickload", cybiko_state, cybiko, "bin,nv", 0)
MACHINE_CONFIG_END
+void cybiko_state::cybikov1_flash(machine_config &config)
+{
+ AT45DB041(config, m_flash1, 0);
+ m_flash1->so_callback().set("maincpu:sci1", FUNC(h8_sci_device::rx_w));
+}
+
+MACHINE_CONFIG_START(cybiko_state::cybikov1)
+ cybikov1_base(config);
+
+ // cpu
+ MCFG_DEVICE_ADD( "maincpu", H8S2241, XTAL(11'059'200) )
+ MCFG_DEVICE_PROGRAM_MAP( cybikov1_mem )
+ MCFG_DEVICE_IO_MAP( cybikov1_io )
+
+ MCFG_DEVICE_MODIFY("maincpu:sci1")
+ MCFG_H8_SCI_TX_CALLBACK(WRITELINE("flash1", at45db041_device, si_w))
+ MCFG_H8_SCI_CLK_CALLBACK(WRITELINE("flash1", at45db041_device, sck_w))
+
+ // machine
+ cybikov1_flash(config);
+ cybikov1_debug_serial(config);
+MACHINE_CONFIG_END
+
MACHINE_CONFIG_START(cybiko_state::cybikov2)
- cybikov1(config);
+ cybikov1_base(config);
+ cybikov1_flash(config);
+
// cpu
- MCFG_DEVICE_REPLACE("maincpu", H8S2246, XTAL(11'059'200))
+ MCFG_DEVICE_ADD("maincpu", H8S2246, XTAL(11'059'200))
MCFG_DEVICE_PROGRAM_MAP(cybikov2_mem)
MCFG_DEVICE_IO_MAP(cybikov2_io)
@@ -450,7 +466,8 @@ MACHINE_CONFIG_START(cybiko_state::cybikov2)
MCFG_H8_SCI_CLK_CALLBACK(WRITELINE("flash1", at45db041_device, sck_w))
// machine
- MCFG_SST_39VF020_ADD("flash2")
+ SST_39VF020(config, "flash2");
+ cybikov1_debug_serial(config);
/* internal ram */
m_ram->set_default_size("256K").set_extra_options("512K,1M");
@@ -463,15 +480,15 @@ MACHINE_CONFIG_START(cybiko_state::cybikov2)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(cybiko_state::cybikoxt)
- cybikov1(config);
+ cybikov1_base(config);
+
// cpu
- MCFG_DEVICE_REPLACE("maincpu", H8S2323, XTAL(18'432'000))
- MCFG_DEVICE_PROGRAM_MAP(cybikoxt_mem )
- MCFG_DEVICE_IO_MAP(cybikoxt_io )
+ MCFG_DEVICE_ADD("maincpu", H8S2323, XTAL(18'432'000))
+ MCFG_DEVICE_PROGRAM_MAP(cybikoxt_mem)
+ MCFG_DEVICE_IO_MAP(cybikoxt_io)
// machine
- MCFG_DEVICE_REMOVE("flash1")
- MCFG_SST_39VF400A_ADD("flashxt")
+ SST_39VF400A(config, "flashxt");
/* internal ram */
m_ram->set_default_size("2M");