summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/h8/h83002.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/h8/h83002.cpp')
-rw-r--r--src/devices/cpu/h8/h83002.cpp53
1 files changed, 24 insertions, 29 deletions
diff --git a/src/devices/cpu/h8/h83002.cpp b/src/devices/cpu/h8/h83002.cpp
index 35512008647..68ea4cf4860 100644
--- a/src/devices/cpu/h8/h83002.cpp
+++ b/src/devices/cpu/h8/h83002.cpp
@@ -34,31 +34,6 @@ h83002_device::h83002_device(const machine_config &mconfig, const char *tag, dev
syscr = 0;
}
-static MACHINE_CONFIG_START(h83002)
- MCFG_H8H_INTC_ADD("intc")
- MCFG_H8_ADC_3337_ADD("adc", "intc", 60)
- MCFG_H8_DMA_ADD("dma")
- // (H8/2002.pdf) Table 8-11 DMAC Activation Sources
- MCFG_H8_DMA_CHANNEL_ADD("dma:0", "intc", 44, h8_dma_channel_device::NONE, 24, h8_dma_channel_device::DREQ_EDGE, h8_dma_channel_device::DREQ_LEVEL, 28, 32, 36, 54, 53, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE)
- MCFG_H8_DMA_CHANNEL_ADD("dma:1", "intc", 46, h8_dma_channel_device::NONE, 24, h8_dma_channel_device::DREQ_EDGE, h8_dma_channel_device::DREQ_LEVEL, 28, 32, 36, 54, 53, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE)
- MCFG_H8_PORT_ADD("port4", h8_device::PORT_4, 0x00, 0x00)
- MCFG_H8_PORT_ADD("port6", h8_device::PORT_6, 0x80, 0x80)
- MCFG_H8_PORT_ADD("port7", h8_device::PORT_7, 0x00, 0x00)
- MCFG_H8_PORT_ADD("port8", h8_device::PORT_8, 0xf0, 0xe0)
- MCFG_H8_PORT_ADD("port9", h8_device::PORT_9, 0x00, 0xc0)
- MCFG_H8_PORT_ADD("porta", h8_device::PORT_A, 0x00, 0x00)
- MCFG_H8_PORT_ADD("portb", h8_device::PORT_B, 0x00, 0x00)
- MCFG_H8_TIMER16_ADD("timer16", 5, 0xe0)
- MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:0", 2, 2, "intc", 24)
- MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:1", 2, 2, "intc", 28)
- MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:2", 2, 2, "intc", 32)
- MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:3", 2, 2, "intc", 36)
- MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:4", 2, 2, "intc", 40)
- MCFG_H8_SCI_ADD("sci0", "intc", 52, 53, 54, 55)
- MCFG_H8_SCI_ADD("sci1", "intc", 56, 57, 58, 59)
- MCFG_H8_WATCHDOG_ADD("watchdog", "intc", 20, h8_watchdog_device::H)
-MACHINE_CONFIG_END
-
DEVICE_ADDRESS_MAP_START(map, 16, h83002_device)
AM_RANGE(0xfffd10, 0xffff0f) AM_RAM
@@ -161,10 +136,30 @@ DEVICE_ADDRESS_MAP_START(map, 16, h83002_device)
AM_RANGE(0xfffff8, 0xfffff9) AM_DEVREADWRITE8("intc", h8h_intc_device, icr_r, icr_w, 0xffff)
ADDRESS_MAP_END
-machine_config_constructor h83002_device::device_mconfig_additions() const
-{
- return MACHINE_CONFIG_NAME(h83002);
-}
+MACHINE_CONFIG_MEMBER(h83002_device::device_add_mconfig)
+ MCFG_H8H_INTC_ADD("intc")
+ MCFG_H8_ADC_3337_ADD("adc", "intc", 60)
+ MCFG_H8_DMA_ADD("dma")
+ // (H8/2002.pdf) Table 8-11 DMAC Activation Sources
+ MCFG_H8_DMA_CHANNEL_ADD("dma:0", "intc", 44, h8_dma_channel_device::NONE, 24, h8_dma_channel_device::DREQ_EDGE, h8_dma_channel_device::DREQ_LEVEL, 28, 32, 36, 54, 53, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE)
+ MCFG_H8_DMA_CHANNEL_ADD("dma:1", "intc", 46, h8_dma_channel_device::NONE, 24, h8_dma_channel_device::DREQ_EDGE, h8_dma_channel_device::DREQ_LEVEL, 28, 32, 36, 54, 53, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE, h8_dma_channel_device::NONE)
+ MCFG_H8_PORT_ADD("port4", h8_device::PORT_4, 0x00, 0x00)
+ MCFG_H8_PORT_ADD("port6", h8_device::PORT_6, 0x80, 0x80)
+ MCFG_H8_PORT_ADD("port7", h8_device::PORT_7, 0x00, 0x00)
+ MCFG_H8_PORT_ADD("port8", h8_device::PORT_8, 0xf0, 0xe0)
+ MCFG_H8_PORT_ADD("port9", h8_device::PORT_9, 0x00, 0xc0)
+ MCFG_H8_PORT_ADD("porta", h8_device::PORT_A, 0x00, 0x00)
+ MCFG_H8_PORT_ADD("portb", h8_device::PORT_B, 0x00, 0x00)
+ MCFG_H8_TIMER16_ADD("timer16", 5, 0xe0)
+ MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:0", 2, 2, "intc", 24)
+ MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:1", 2, 2, "intc", 28)
+ MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:2", 2, 2, "intc", 32)
+ MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:3", 2, 2, "intc", 36)
+ MCFG_H8H_TIMER16_CHANNEL_ADD("timer16:4", 2, 2, "intc", 40)
+ MCFG_H8_SCI_ADD("sci0", "intc", 52, 53, 54, 55)
+ MCFG_H8_SCI_ADD("sci1", "intc", 56, 57, 58, 59)
+ MCFG_H8_WATCHDOG_ADD("watchdog", "intc", 20, h8_watchdog_device::H)
+MACHINE_CONFIG_END
void h83002_device::execute_set_input(int inputnum, int state)
{