diff options
Diffstat (limited to 'src/mame/drivers/cybiko.cpp')
-rw-r--r-- | src/mame/drivers/cybiko.cpp | 67 |
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"); |