summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Michael Zapf <Michael.Zapf@mizapf.de>2018-08-21 02:04:06 +0200
committer Michael Zapf <Michael.Zapf@mizapf.de>2018-08-21 02:05:32 +0200
commit6ac6484d609894d840d228b7b68324f0217dc278 (patch)
tree654e7075f2a5d2a5f90b7790d8a647ae26abd897 /src/devices
parent10b24fabf5acbdc40cedaf4a01ece347d09d4c03 (diff)
ti99: Kill some more MCFGs. (nw)
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/bus/hexbus/hx5102.cpp19
-rw-r--r--src/devices/bus/ti99/gromport/gkracker.cpp7
-rw-r--r--src/devices/bus/ti99/gromport/multiconn.cpp13
-rw-r--r--src/devices/bus/ti99/gromport/singleconn.cpp7
-rw-r--r--src/devices/bus/ti99/internal/998board.cpp13
-rw-r--r--src/devices/bus/ti99/peb/bwg.cpp17
-rw-r--r--src/devices/bus/ti99/peb/hfdc.cpp24
-rw-r--r--src/devices/bus/ti99/peb/ti_fdc.cpp14
-rw-r--r--src/devices/imagedev/mfmhd.h16
9 files changed, 70 insertions, 60 deletions
diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp
index c8a74e5ba49..580fad0e55e 100644
--- a/src/devices/bus/hexbus/hx5102.cpp
+++ b/src/devices/bus/hexbus/hx5102.cpp
@@ -667,7 +667,8 @@ INPUT_PORTS_END
/*
HX5102 configuration
*/
-MACHINE_CONFIG_START(hx5102_device::device_add_mconfig)
+void hx5102_device::device_add_mconfig(machine_config& config)
+{
// Hexbus controller
IBC(config, m_hexbus_ctrl, 0);
m_hexbus_ctrl->hexbus_cb().set(FUNC(hx5102_device::hexbus_out));
@@ -687,13 +688,13 @@ MACHINE_CONFIG_START(hx5102_device::device_add_mconfig)
// Not connected: Select lines (DS0, DS1), Head load (HDL), VCO
// Tied to 1: READY
// Tied to 0: TC
- MCFG_I8272A_ADD(FDC_TAG, false)
- MCFG_UPD765_INTRQ_CALLBACK(WRITELINE(*this, hx5102_device, fdc_irq_w))
- MCFG_UPD765_DRQ_CALLBACK(WRITELINE(*this, hx5102_device, fdc_drq_w))
- MCFG_FLOPPY_DRIVE_ADD("d0", hx5102_drive, "525dd", hx5102_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("d1", hx5102_drive, nullptr, hx5102_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
+ I8272A(config, m_floppy_ctrl, 0);
+ m_floppy_ctrl->set_ready_line_connected(false);
+ m_floppy_ctrl->intrq_wr_callback().set(FUNC(hx5102_device::fdc_irq_w));
+ m_floppy_ctrl->drq_wr_callback().set(FUNC(hx5102_device::fdc_drq_w));
+
+ FLOPPY_CONNECTOR(config, "d0", hx5102_drive, "525dd", hx5102_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "d1", hx5102_drive, nullptr, hx5102_device::floppy_formats).enable_sound(true);
// Monoflops
TTL74123(config, m_motormf, 0);
@@ -721,7 +722,7 @@ MACHINE_CONFIG_START(hx5102_device::device_add_mconfig)
// RAM
RAM(config, RAM1_TAG).set_default_size("2048").set_default_value(0);
RAM(config, RAM2_TAG).set_default_size("2048").set_default_value(0);
-MACHINE_CONFIG_END
+}
ROM_START( hx5102 )
ROM_REGION( 0x4000, DSR_TAG, 0 )
diff --git a/src/devices/bus/ti99/gromport/gkracker.cpp b/src/devices/bus/ti99/gromport/gkracker.cpp
index cd4a99d5000..d9de20949b2 100644
--- a/src/devices/bus/ti99/gromport/gkracker.cpp
+++ b/src/devices/bus/ti99/gromport/gkracker.cpp
@@ -433,9 +433,10 @@ const tiny_rom_entry *ti99_gkracker_device::device_rom_region() const
return ROM_NAME( gkracker_rom );
}
-MACHINE_CONFIG_START(ti99_gkracker_device::device_add_mconfig)
- MCFG_DEVICE_ADD("cartridge", TI99_CART, 0)
-MACHINE_CONFIG_END
+void ti99_gkracker_device::device_add_mconfig(machine_config &config)
+{
+ TI99_CART(config, "cartridge", 0);
+}
INPUT_PORTS_START(gkracker)
PORT_START( GKSWITCH1_TAG )
diff --git a/src/devices/bus/ti99/gromport/multiconn.cpp b/src/devices/bus/ti99/gromport/multiconn.cpp
index 860d2e7fbd7..efaf57d649d 100644
--- a/src/devices/bus/ti99/gromport/multiconn.cpp
+++ b/src/devices/bus/ti99/gromport/multiconn.cpp
@@ -301,12 +301,13 @@ void ti99_multi_cart_conn_device::device_reset(void)
m_grom_selected = false;
}
-MACHINE_CONFIG_START(ti99_multi_cart_conn_device::device_add_mconfig)
- MCFG_DEVICE_ADD("cartridge1", TI99_CART, 0)
- MCFG_DEVICE_ADD("cartridge2", TI99_CART, 0)
- MCFG_DEVICE_ADD("cartridge3", TI99_CART, 0)
- MCFG_DEVICE_ADD("cartridge4", TI99_CART, 0)
-MACHINE_CONFIG_END
+void ti99_multi_cart_conn_device::device_add_mconfig(machine_config &config)
+{
+ TI99_CART(config, "cartridge1", 0);
+ TI99_CART(config, "cartridge2", 0);
+ TI99_CART(config, "cartridge3", 0);
+ TI99_CART(config, "cartridge4", 0);
+}
INPUT_CHANGED_MEMBER( ti99_multi_cart_conn_device::switch_changed )
{
diff --git a/src/devices/bus/ti99/gromport/singleconn.cpp b/src/devices/bus/ti99/gromport/singleconn.cpp
index 93a7d088c0b..c967cf503f2 100644
--- a/src/devices/bus/ti99/gromport/singleconn.cpp
+++ b/src/devices/bus/ti99/gromport/singleconn.cpp
@@ -83,9 +83,10 @@ void ti99_single_cart_conn_device::device_reset()
m_cartridge->set_slot(0);
}
-MACHINE_CONFIG_START(ti99_single_cart_conn_device::device_add_mconfig)
- MCFG_DEVICE_ADD("cartridge", TI99_CART, 0)
-MACHINE_CONFIG_END
+void ti99_single_cart_conn_device::device_add_mconfig(machine_config &config)
+{
+ TI99_CART(config, "cartridge", 0);
+}
} } } // end namespace bus::ti99::gromport
diff --git a/src/devices/bus/ti99/internal/998board.cpp b/src/devices/bus/ti99/internal/998board.cpp
index ccfe31d9813..957fd1f0558 100644
--- a/src/devices/bus/ti99/internal/998board.cpp
+++ b/src/devices/bus/ti99/internal/998board.cpp
@@ -1070,12 +1070,13 @@ void mainboard8_device::device_reset()
m_space = &m_maincpu->space(AS_PROGRAM);
}
-MACHINE_CONFIG_START(mainboard8_device::device_add_mconfig)
- MCFG_DEVICE_ADD(TI998_VAQUERRO_TAG, TI99_VAQUERRO, 0)
- MCFG_DEVICE_ADD(TI998_MOFETTA_TAG, TI99_MOFETTA, 0)
- MCFG_DEVICE_ADD(TI998_AMIGO_TAG, TI99_AMIGO, 0)
- MCFG_DEVICE_ADD(TI998_OSO_TAG, TI99_OSO, 0)
-MACHINE_CONFIG_END
+void mainboard8_device::device_add_mconfig(machine_config &config)
+{
+ TI99_VAQUERRO(config, TI998_VAQUERRO_TAG, 0);
+ TI99_MOFETTA(config, TI998_MOFETTA_TAG, 0);
+ TI99_AMIGO(config, TI998_AMIGO_TAG, 0);
+ TI99_OSO(config, TI998_OSO_TAG, 0);
+}
/***************************************************************************
===== VAQUERRO: Logical Address Space decoder =====
diff --git a/src/devices/bus/ti99/peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp
index 4ef48a51ea0..877485174f2 100644
--- a/src/devices/bus/ti99/peb/bwg.cpp
+++ b/src/devices/bus/ti99/peb/bwg.cpp
@@ -675,24 +675,21 @@ ROM_START( bwg_fdc )
ROM_LOAD("bwg_dsr.u15", 0x0000, 0x8000, CRC(06f1ec89) SHA1(6ad77033ed268f986d9a5439e65f7d391c4b7651)) /* BwG disk DSR ROM */
ROM_END
-MACHINE_CONFIG_START(snug_bwg_device::device_add_mconfig)
+void snug_bwg_device::device_add_mconfig(machine_config& config)
+{
WD1773(config, m_wd1773, 8_MHz_XTAL);
m_wd1773->intrq_wr_callback().set(FUNC(snug_bwg_device::fdc_irq_w));
m_wd1773->drq_wr_callback().set(FUNC(snug_bwg_device::fdc_drq_w));
MM58274C(config, CLOCK_TAG, 0).set_mode_and_day(1, 0); // 24h, sunday
- MCFG_FLOPPY_DRIVE_ADD("0", bwg_floppies, "525dd", snug_bwg_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("1", bwg_floppies, "525dd", snug_bwg_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("2", bwg_floppies, nullptr, snug_bwg_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("3", bwg_floppies, nullptr, snug_bwg_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
+ FLOPPY_CONNECTOR(config, "0", bwg_floppies, "525dd", snug_bwg_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "1", bwg_floppies, "525dd", snug_bwg_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "2", bwg_floppies, nullptr, snug_bwg_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "3", bwg_floppies, nullptr, snug_bwg_device::floppy_formats).enable_sound(true);
RAM(config, BUFFER).set_default_size("2K").set_default_value(0);
-MACHINE_CONFIG_END
+}
ioport_constructor snug_bwg_device::device_input_ports() const
{
diff --git a/src/devices/bus/ti99/peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp
index d48c138834a..97ac8d403ab 100644
--- a/src/devices/bus/ti99/peb/hfdc.cpp
+++ b/src/devices/bus/ti99/peb/hfdc.cpp
@@ -1069,7 +1069,6 @@ ROM_END
void myarc_hfdc_device::device_add_mconfig(machine_config& config)
{
- device_t *device = nullptr;
HDC9234(config, m_hdc9234, 0);
m_hdc9234->intrq_cb().set(FUNC(myarc_hfdc_device::intrq_w));
m_hdc9234->dmarq_cb().set(FUNC(myarc_hfdc_device::dmarq_w));
@@ -1078,19 +1077,16 @@ void myarc_hfdc_device::device_add_mconfig(machine_config& config)
m_hdc9234->dmain_cb().set(FUNC(myarc_hfdc_device::read_buffer));
m_hdc9234->dmaout_cb().set(FUNC(myarc_hfdc_device::write_buffer));
- MCFG_FLOPPY_DRIVE_ADD("f1", hfdc_floppies, "525dd", myarc_hfdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("f2", hfdc_floppies, "525dd", myarc_hfdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("f3", hfdc_floppies, nullptr, myarc_hfdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("f4", hfdc_floppies, nullptr, myarc_hfdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
-
- // NB: Hard disks don't go without image (other than floppy drives)
- MCFG_MFM_HARDDISK_CONN_ADD("h1", hfdc_harddisks, nullptr, MFM_BYTE, 3000, 20, MFMHD_GEN_FORMAT)
- MCFG_MFM_HARDDISK_CONN_ADD("h2", hfdc_harddisks, nullptr, MFM_BYTE, 2000, 20, MFMHD_GEN_FORMAT)
- MCFG_MFM_HARDDISK_CONN_ADD("h3", hfdc_harddisks, nullptr, MFM_BYTE, 2000, 20, MFMHD_GEN_FORMAT)
+ // First two floppy drives shall be connected by default
+ FLOPPY_CONNECTOR(config, "f1", hfdc_floppies, "525dd", myarc_hfdc_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "f2", hfdc_floppies, "525dd", myarc_hfdc_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "f3", hfdc_floppies, nullptr, myarc_hfdc_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "f4", hfdc_floppies, nullptr, myarc_hfdc_device::floppy_formats).enable_sound(true);
+
+ // Hard disks don't go without image (other than floppy drives)
+ MFM_HD_CONNECTOR(config, "h1", hfdc_harddisks, nullptr, MFM_BYTE, 3000, 20, MFMHD_GEN_FORMAT);
+ MFM_HD_CONNECTOR(config, "h2", hfdc_harddisks, nullptr, MFM_BYTE, 3000, 20, MFMHD_GEN_FORMAT);
+ MFM_HD_CONNECTOR(config, "h3", hfdc_harddisks, nullptr, MFM_BYTE, 3000, 20, MFMHD_GEN_FORMAT);
MM58274C(config, CLOCK_TAG, 0).set_mode_and_day(1, 0); // 24h, sunday
diff --git a/src/devices/bus/ti99/peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp
index 472a5d5d881..7fd4192757c 100644
--- a/src/devices/bus/ti99/peb/ti_fdc.cpp
+++ b/src/devices/bus/ti99/peb/ti_fdc.cpp
@@ -419,17 +419,15 @@ ROM_START( ti_fdc )
ROM_LOAD("fdc_dsr.u27", 0x1000, 0x1000, CRC(2c921087) SHA1(3646c3bcd2dce16b918ee01ea65312f36ae811d2)) /* TI disk DSR ROM second 4K */
ROM_END
-MACHINE_CONFIG_START(ti_fdc_device::device_add_mconfig)
+void ti_fdc_device::device_add_mconfig(machine_config& config)
+{
FD1771(config, m_fd1771, 1_MHz_XTAL);
m_fd1771->intrq_wr_callback().set(FUNC(ti_fdc_device::fdc_irq_w));
m_fd1771->drq_wr_callback().set(FUNC(ti_fdc_device::fdc_drq_w));
- MCFG_FLOPPY_DRIVE_ADD("0", tifdc_floppies, "525dd", ti_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("1", tifdc_floppies, "525dd", ti_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
- MCFG_FLOPPY_DRIVE_ADD("2", tifdc_floppies, nullptr, ti_fdc_device::floppy_formats)
- MCFG_FLOPPY_DRIVE_SOUND(true)
+ FLOPPY_CONNECTOR(config, "0", tifdc_floppies, "525dd", ti_fdc_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "1", tifdc_floppies, "525dd", ti_fdc_device::floppy_formats).enable_sound(true);
+ FLOPPY_CONNECTOR(config, "2", tifdc_floppies, nullptr, ti_fdc_device::floppy_formats).enable_sound(true);
LS259(config, m_crulatch); // U23
m_crulatch->q_out_cb<0>().set(FUNC(ti_fdc_device::dskpgena_w));
@@ -440,7 +438,7 @@ MACHINE_CONFIG_START(ti_fdc_device::device_add_mconfig)
m_crulatch->q_out_cb<5>().set(FUNC(ti_fdc_device::dsel_w));
m_crulatch->q_out_cb<6>().set(FUNC(ti_fdc_device::dsel_w));
m_crulatch->q_out_cb<7>().set(FUNC(ti_fdc_device::sidsel_w));
-MACHINE_CONFIG_END
+}
const tiny_rom_entry *ti_fdc_device::device_rom_region() const
{
diff --git a/src/devices/imagedev/mfmhd.h b/src/devices/imagedev/mfmhd.h
index 972d7bd4e75..69b868a30ac 100644
--- a/src/devices/imagedev/mfmhd.h
+++ b/src/devices/imagedev/mfmhd.h
@@ -206,11 +206,25 @@ public:
DECLARE_DEVICE_TYPE(MFMHD_ST251, mfm_hd_st251_device)
-/* Connector for a MFM hard disk. See also floppy.c */
+/*
+ Connector for a MFM hard disk. Similar concept as in floppy.cpp.
+*/
class mfm_harddisk_connector : public device_t,
public device_slot_interface
{
public:
+ template <typename T>
+ mfm_harddisk_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts,
+ const char *dflt, mfmhd_enc_t enc, int spinup, int cache, const mfmhd_format_type format, bool fixed = false)
+ : mfm_harddisk_connector(mconfig, tag, owner, 0)
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(dflt);
+ set_fixed(fixed);
+ configure(enc, spinup, cache, format);
+ }
+
mfm_harddisk_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~mfm_harddisk_connector();