diff options
Diffstat (limited to 'src/devices/bus/abcbus/lux21046.cpp')
-rw-r--r-- | src/devices/bus/abcbus/lux21046.cpp | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp index 489aac9e92c..86bddaf990e 100644 --- a/src/devices/bus/abcbus/lux21046.cpp +++ b/src/devices/bus/abcbus/lux21046.cpp @@ -94,12 +94,12 @@ Notes: // DEVICE DEFINITIONS //************************************************************************** -const device_type LUXOR_55_21046 = device_creator<luxor_55_21046_t>; -const device_type ABC830 = device_creator<abc830_t>; -const device_type ABC832 = device_creator<abc832_t>; -const device_type ABC834 = device_creator<abc834_t>; -const device_type ABC838 = device_creator<abc838_device>; -const device_type ABC850_FLOPPY = device_creator<abc850_floppy_t>; +DEFINE_DEVICE_TYPE(LUXOR_55_21046, luxor_55_21046_device, "lux21046", "Luxor 55 21046") +DEFINE_DEVICE_TYPE(ABC830, abc830_device, "abc830", "ABC 830") +DEFINE_DEVICE_TYPE(ABC832, abc832_device, "abc832", "ABC 832") +DEFINE_DEVICE_TYPE(ABC834, abc834_device, "abc834", "ABC 834") +DEFINE_DEVICE_TYPE(ABC838, abc838_device, "abc838", "ABC 838") +DEFINE_DEVICE_TYPE(ABC850_FLOPPY, abc850_floppy_device, "abc850flop", "ABC 850 Floppy") //------------------------------------------------- @@ -127,7 +127,7 @@ ROM_END // rom_region - device-specific ROM region //------------------------------------------------- -const tiny_rom_entry *luxor_55_21046_t::device_rom_region() const +const tiny_rom_entry *luxor_55_21046_device::device_rom_region() const { return ROM_NAME( luxor_55_21046 ); } @@ -137,7 +137,7 @@ const tiny_rom_entry *luxor_55_21046_t::device_rom_region() const // ADDRESS_MAP( luxor_55_21046_mem ) //------------------------------------------------- -static ADDRESS_MAP_START( luxor_55_21046_mem, AS_PROGRAM, 8, luxor_55_21046_t ) +static ADDRESS_MAP_START( luxor_55_21046_mem, AS_PROGRAM, 8, luxor_55_21046_device ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0x3fff) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_REGION(Z80_TAG, 0x2000) // A13 pull-up @@ -149,7 +149,7 @@ ADDRESS_MAP_END // ADDRESS_MAP( luxor_55_21046_io ) //------------------------------------------------- -static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_t ) +static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_device ) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0c, 0x0c) AM_MIRROR(0xff03) AM_READ(out_r) AM_RANGE(0x1c, 0x1c) AM_MIRROR(0xff03) AM_WRITE(inp_w) @@ -157,8 +157,8 @@ static ADDRESS_MAP_START( luxor_55_21046_io, AS_IO, 8, luxor_55_21046_t ) AM_RANGE(0x3c, 0x3c) AM_MIRROR(0xff03) AM_WRITE(_9b_w) AM_RANGE(0x4c, 0x4c) AM_MIRROR(0xff03) AM_WRITE(_8a_w) AM_RANGE(0x58, 0x58) AM_MIRROR(0x0007) AM_SELECT(0xff00) AM_READ(_9a_r) - AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff00) AM_DEVREAD(SAB1793_TAG, fd1793_t, read) - AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff00) AM_DEVWRITE(SAB1793_TAG, fd1793_t, write) + AM_RANGE(0x68, 0x6b) AM_MIRROR(0xff00) AM_DEVREAD(SAB1793_TAG, fd1793_device, read) + AM_RANGE(0x78, 0x7b) AM_MIRROR(0xff00) AM_DEVWRITE(SAB1793_TAG, fd1793_device, write) AM_RANGE(0x80, 0x80) AM_MIRROR(0xff77) AM_DEVREADWRITE(Z80DMA_TAG, z80dma_device, read, write) ADDRESS_MAP_END @@ -222,7 +222,7 @@ ADDRESS_MAP_END */ -WRITE_LINE_MEMBER( luxor_55_21046_t::dma_int_w ) +WRITE_LINE_MEMBER( luxor_55_21046_device::dma_int_w ) { m_dma_irq = state; @@ -230,27 +230,27 @@ WRITE_LINE_MEMBER( luxor_55_21046_t::dma_int_w ) m_maincpu->set_input_line(INPUT_LINE_IRQ0, m_fdc_irq || m_dma_irq); } -READ8_MEMBER( luxor_55_21046_t::memory_read_byte ) +READ8_MEMBER( luxor_55_21046_device::memory_read_byte ) { return m_maincpu->space(AS_PROGRAM).read_byte(offset); } -WRITE8_MEMBER( luxor_55_21046_t::memory_write_byte ) +WRITE8_MEMBER( luxor_55_21046_device::memory_write_byte ) { return m_maincpu->space(AS_PROGRAM).write_byte(offset, data); } -READ8_MEMBER( luxor_55_21046_t::io_read_byte ) +READ8_MEMBER( luxor_55_21046_device::io_read_byte ) { return m_maincpu->space(AS_IO).read_byte(offset); } -WRITE8_MEMBER( luxor_55_21046_t::io_write_byte ) +WRITE8_MEMBER( luxor_55_21046_device::io_write_byte ) { return m_maincpu->space(AS_IO).write_byte(offset, data); } -FLOPPY_FORMATS_MEMBER( luxor_55_21046_t::floppy_formats ) +FLOPPY_FORMATS_MEMBER( luxor_55_21046_device::floppy_formats ) FLOPPY_ABC800_FORMAT FLOPPY_FORMATS_END @@ -263,7 +263,7 @@ static SLOT_INTERFACE_START( abc_floppies ) SLOT_INTERFACE( "8dsdd", FLOPPY_8_DSDD ) SLOT_INTERFACE_END -WRITE_LINE_MEMBER( luxor_55_21046_t::fdc_intrq_w ) +WRITE_LINE_MEMBER( luxor_55_21046_device::fdc_intrq_w ) { m_fdc_irq = state; @@ -295,14 +295,14 @@ static MACHINE_CONFIG_FRAGMENT( luxor_55_21046 ) MCFG_DEVICE_ADD(Z80DMA_TAG, Z80DMA, XTAL_16MHz/4) MCFG_Z80DMA_OUT_BUSREQ_CB(INPUTLINE(Z80_TAG, INPUT_LINE_HALT)) - MCFG_Z80DMA_OUT_INT_CB(WRITELINE(luxor_55_21046_t, dma_int_w)) - MCFG_Z80DMA_IN_MREQ_CB(READ8(luxor_55_21046_t, memory_read_byte)) - MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(luxor_55_21046_t, memory_write_byte)) - MCFG_Z80DMA_IN_IORQ_CB(READ8(luxor_55_21046_t, io_read_byte)) - MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(luxor_55_21046_t, io_write_byte)) + MCFG_Z80DMA_OUT_INT_CB(WRITELINE(luxor_55_21046_device, dma_int_w)) + MCFG_Z80DMA_IN_MREQ_CB(READ8(luxor_55_21046_device, memory_read_byte)) + MCFG_Z80DMA_OUT_MREQ_CB(WRITE8(luxor_55_21046_device, memory_write_byte)) + MCFG_Z80DMA_IN_IORQ_CB(READ8(luxor_55_21046_device, io_read_byte)) + MCFG_Z80DMA_OUT_IORQ_CB(WRITE8(luxor_55_21046_device, io_write_byte)) MCFG_FD1793_ADD(SAB1793_TAG, XTAL_16MHz/16) - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(luxor_55_21046_t, fdc_intrq_w)) + MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(luxor_55_21046_device, fdc_intrq_w)) MCFG_WD_FDC_DRQ_CALLBACK(DEVWRITELINE(Z80DMA_TAG, z80dma_device, rdy_w)) MACHINE_CONFIG_END @@ -312,8 +312,8 @@ MACHINE_CONFIG_END //------------------------------------------------- static MACHINE_CONFIG_DERIVED( abc830, luxor_55_21046 ) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525ssdd", luxor_55_21046_t::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525ssdd", luxor_55_21046_t::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525ssdd", luxor_55_21046_device::floppy_formats) MACHINE_CONFIG_END @@ -322,8 +322,8 @@ MACHINE_CONFIG_END //------------------------------------------------- static MACHINE_CONFIG_DERIVED( abc832, luxor_55_21046 ) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats) MACHINE_CONFIG_END @@ -332,8 +332,8 @@ MACHINE_CONFIG_END //------------------------------------------------- static MACHINE_CONFIG_DERIVED( abc838, luxor_55_21046 ) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "8dsdd", luxor_55_21046_t::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "8dsdd", luxor_55_21046_t::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, "8dsdd", luxor_55_21046_device::floppy_formats) MACHINE_CONFIG_END @@ -342,8 +342,8 @@ MACHINE_CONFIG_END //------------------------------------------------- static MACHINE_CONFIG_DERIVED( abc850, luxor_55_21046 ) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_t::floppy_formats) - MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, nullptr, luxor_55_21046_t::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":0", abc_floppies, "525qd", luxor_55_21046_device::floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(SAB1793_TAG":1", abc_floppies, nullptr, luxor_55_21046_device::floppy_formats) MACHINE_CONFIG_END @@ -352,22 +352,22 @@ MACHINE_CONFIG_END // machine configurations //------------------------------------------------- -machine_config_constructor luxor_55_21046_t::device_mconfig_additions() const +machine_config_constructor luxor_55_21046_device::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( luxor_55_21046 ); } -machine_config_constructor abc830_t::device_mconfig_additions() const +machine_config_constructor abc830_device::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( abc830 ); } -machine_config_constructor abc832_t::device_mconfig_additions() const +machine_config_constructor abc832_device::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( abc832 ); } -machine_config_constructor abc834_t::device_mconfig_additions() const +machine_config_constructor abc834_device::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( abc832 ); } @@ -377,7 +377,7 @@ machine_config_constructor abc838_device::device_mconfig_additions() const return MACHINE_CONFIG_NAME( abc838 ); } -machine_config_constructor abc850_floppy_t::device_mconfig_additions() const +machine_config_constructor abc850_floppy_device::device_mconfig_additions() const { return MACHINE_CONFIG_NAME( abc850 ); } @@ -703,22 +703,22 @@ INPUT_PORTS_END // input_ports - device-specific input ports //------------------------------------------------- -ioport_constructor luxor_55_21046_t::device_input_ports() const +ioport_constructor luxor_55_21046_device::device_input_ports() const { return INPUT_PORTS_NAME( luxor_55_21046 ); } -ioport_constructor abc830_t::device_input_ports() const +ioport_constructor abc830_device::device_input_ports() const { return INPUT_PORTS_NAME( abc830 ); } -ioport_constructor abc832_t::device_input_ports() const +ioport_constructor abc832_device::device_input_ports() const { return INPUT_PORTS_NAME( abc832 ); } -ioport_constructor abc834_t::device_input_ports() const +ioport_constructor abc834_device::device_input_ports() const { return INPUT_PORTS_NAME( abc834 ); } @@ -728,7 +728,7 @@ ioport_constructor abc838_device::device_input_ports() const return INPUT_PORTS_NAME( abc838 ); } -ioport_constructor abc850_floppy_t::device_input_ports() const +ioport_constructor abc850_floppy_device::device_input_ports() const { return INPUT_PORTS_NAME( abc850 ); } @@ -740,16 +740,16 @@ ioport_constructor abc850_floppy_t::device_input_ports() const //************************************************************************** //------------------------------------------------- -// luxor_55_21046_t - constructor +// luxor_55_21046_device - constructor //------------------------------------------------- -luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, LUXOR_55_21046, "Luxor 55 21046", tag, owner, clock, "lux21046", __FILE__) +luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + luxor_55_21046_device(mconfig, LUXOR_55_21046, tag, owner, clock) { } -luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, const char *source) : - device_t(mconfig, type, name, tag, owner, clock, shortname, source), +luxor_55_21046_device::luxor_55_21046_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) : + device_t(mconfig, type, tag, owner, clock), device_abcbus_card_interface(mconfig, *this), m_maincpu(*this, Z80_TAG), m_dma(*this, Z80DMA_TAG), @@ -771,28 +771,28 @@ luxor_55_21046_t::luxor_55_21046_t(const machine_config &mconfig, device_type ty { } -abc830_t::abc830_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, ABC830, "ABC 830", tag, owner, clock, "abc830", __FILE__) +abc830_device::abc830_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + luxor_55_21046_device(mconfig, ABC830, tag, owner, clock) { } -abc832_t::abc832_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, ABC832, "ABC 832", tag, owner, clock, "abc832", __FILE__) +abc832_device::abc832_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + luxor_55_21046_device(mconfig, ABC832, tag, owner, clock) { } -abc834_t::abc834_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, ABC834, "ABC 834", tag, owner, clock, "abc834", __FILE__) +abc834_device::abc834_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + luxor_55_21046_device(mconfig, ABC834, tag, owner, clock) { } abc838_device::abc838_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, ABC838, "ABC 838", tag, owner, clock, "abc838", __FILE__) + luxor_55_21046_device(mconfig, ABC838, tag, owner, clock) { } -abc850_floppy_t::abc850_floppy_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - luxor_55_21046_t(mconfig, ABC850_FLOPPY, "ABC 850 floppy", tag, owner, clock, "abc850flop", __FILE__) +abc850_floppy_device::abc850_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + luxor_55_21046_device(mconfig, ABC850_FLOPPY, tag, owner, clock) { } @@ -801,7 +801,7 @@ abc850_floppy_t::abc850_floppy_t(const machine_config &mconfig, const char *tag, // device_start - device-specific startup //------------------------------------------------- -void luxor_55_21046_t::device_start() +void luxor_55_21046_device::device_start() { // state saving save_item(NAME(m_cs)); @@ -819,7 +819,7 @@ void luxor_55_21046_t::device_start() // device_reset - device-specific reset //------------------------------------------------- -void luxor_55_21046_t::device_reset() +void luxor_55_21046_device::device_reset() { m_cs = false; m_out = 0; @@ -842,7 +842,7 @@ void luxor_55_21046_t::device_reset() // abcbus_cs - //------------------------------------------------- -void luxor_55_21046_t::abcbus_cs(uint8_t data) +void luxor_55_21046_device::abcbus_cs(uint8_t data) { m_cs = (data == m_sw3->read()); } @@ -852,7 +852,7 @@ void luxor_55_21046_t::abcbus_cs(uint8_t data) // abcbus_csb - //------------------------------------------------- -int luxor_55_21046_t::abcbus_csb() +int luxor_55_21046_device::abcbus_csb() { return m_cs ? 0 : 1; } @@ -862,7 +862,7 @@ int luxor_55_21046_t::abcbus_csb() // abcbus_stat - //------------------------------------------------- -uint8_t luxor_55_21046_t::abcbus_stat() +uint8_t luxor_55_21046_device::abcbus_stat() { /* @@ -895,7 +895,7 @@ uint8_t luxor_55_21046_t::abcbus_stat() // abcbus_inp - //------------------------------------------------- -uint8_t luxor_55_21046_t::abcbus_inp() +uint8_t luxor_55_21046_device::abcbus_inp() { uint8_t data = 0xff; @@ -913,7 +913,7 @@ uint8_t luxor_55_21046_t::abcbus_inp() // abcbus_out - //------------------------------------------------- -void luxor_55_21046_t::abcbus_out(uint8_t data) +void luxor_55_21046_device::abcbus_out(uint8_t data) { if (m_cs) { @@ -927,7 +927,7 @@ void luxor_55_21046_t::abcbus_out(uint8_t data) // abcbus_c1 - //------------------------------------------------- -void luxor_55_21046_t::abcbus_c1(uint8_t data) +void luxor_55_21046_device::abcbus_c1(uint8_t data) { if (m_cs) { @@ -941,7 +941,7 @@ void luxor_55_21046_t::abcbus_c1(uint8_t data) // abcbus_c3 - //------------------------------------------------- -void luxor_55_21046_t::abcbus_c3(uint8_t data) +void luxor_55_21046_device::abcbus_c3(uint8_t data) { if (m_cs) { @@ -954,7 +954,7 @@ void luxor_55_21046_t::abcbus_c3(uint8_t data) // abcbus_c4 - //------------------------------------------------- -void luxor_55_21046_t::abcbus_c4(uint8_t data) +void luxor_55_21046_device::abcbus_c4(uint8_t data) { // TODO connected to PAL16R4 pin 2 } @@ -969,7 +969,7 @@ void luxor_55_21046_t::abcbus_c4(uint8_t data) // 3d_r - //------------------------------------------------- -READ8_MEMBER( luxor_55_21046_t::out_r ) +READ8_MEMBER( luxor_55_21046_device::out_r ) { if (m_busy) { @@ -984,7 +984,7 @@ READ8_MEMBER( luxor_55_21046_t::out_r ) // 4d_w - //------------------------------------------------- -WRITE8_MEMBER( luxor_55_21046_t::inp_w ) +WRITE8_MEMBER( luxor_55_21046_device::inp_w ) { if (m_busy) { @@ -999,7 +999,7 @@ WRITE8_MEMBER( luxor_55_21046_t::inp_w ) // 4b_w - //------------------------------------------------- -WRITE8_MEMBER( luxor_55_21046_t::_4b_w ) +WRITE8_MEMBER( luxor_55_21046_device::_4b_w ) { /* @@ -1030,7 +1030,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_4b_w ) // 9b_w - //------------------------------------------------- -WRITE8_MEMBER( luxor_55_21046_t::_9b_w ) +WRITE8_MEMBER( luxor_55_21046_device::_9b_w ) { /* @@ -1070,7 +1070,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_9b_w ) // 8a_w - //------------------------------------------------- -WRITE8_MEMBER( luxor_55_21046_t::_8a_w ) +WRITE8_MEMBER( luxor_55_21046_device::_8a_w ) { /* @@ -1110,7 +1110,7 @@ WRITE8_MEMBER( luxor_55_21046_t::_8a_w ) // 9a_r - //------------------------------------------------- -READ8_MEMBER( luxor_55_21046_t::_9a_r ) +READ8_MEMBER( luxor_55_21046_device::_9a_r ) { /* |