From 9faffd2067365d7e55c9036267f0a87b11ab1c5c Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sun, 25 May 2014 22:00:17 +0000 Subject: [PATCH] (MESS) ql: Expansion port/floppy WIP. (nw) --- .gitattributes | 2 - src/emu/bus/bus.mak | 1 - src/emu/bus/ql/exp.c | 2 - src/emu/bus/ql/exp.h | 16 +++ src/emu/bus/ql/qimi.c | 125 ---------------------- src/emu/bus/ql/qimi.h | 56 ---------- src/emu/bus/ql/sandy_superdisk.c | 22 +++- src/emu/bus/ql/sandy_superdisk.h | 2 + src/emu/bus/ql/sandy_superqboard.c | 162 ++++++++++++++++++++++++++++- src/emu/bus/ql/sandy_superqboard.h | 16 ++- src/emu/bus/ql/trumpcard.c | 23 +++- src/emu/bus/ql/trumpcard.h | 2 + 12 files changed, 237 insertions(+), 192 deletions(-) delete mode 100644 src/emu/bus/ql/qimi.c delete mode 100644 src/emu/bus/ql/qimi.h diff --git a/.gitattributes b/.gitattributes index 6bf0a064e83..14ba6541d20 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1254,8 +1254,6 @@ src/emu/bus/plus4/user.c svneol=native#text/plain src/emu/bus/plus4/user.h svneol=native#text/plain src/emu/bus/ql/exp.c svneol=native#text/plain src/emu/bus/ql/exp.h svneol=native#text/plain -src/emu/bus/ql/qimi.c svneol=native#text/plain -src/emu/bus/ql/qimi.h svneol=native#text/plain src/emu/bus/ql/sandy_superdisk.c svneol=native#text/plain src/emu/bus/ql/sandy_superdisk.h svneol=native#text/plain src/emu/bus/ql/sandy_superqboard.c svneol=native#text/plain diff --git a/src/emu/bus/bus.mak b/src/emu/bus/bus.mak index c92c7f624a4..8c3140d1a7f 100644 --- a/src/emu/bus/bus.mak +++ b/src/emu/bus/bus.mak @@ -1142,7 +1142,6 @@ endif ifneq ($(filter QL,$(BUSES)),) OBJDIRS += $(BUSOBJ)/ql BUSOBJS += $(BUSOBJ)/ql/exp.o -BUSOBJS += $(BUSOBJ)/ql/qimi.o BUSOBJS += $(BUSOBJ)/ql/sandy_superdisk.o BUSOBJS += $(BUSOBJ)/ql/sandy_superqboard.o BUSOBJS += $(BUSOBJ)/ql/trumpcard.o diff --git a/src/emu/bus/ql/exp.c b/src/emu/bus/ql/exp.c index 38e4d846f0a..02d60d4de2a 100644 --- a/src/emu/bus/ql/exp.c +++ b/src/emu/bus/ql/exp.c @@ -77,13 +77,11 @@ void ql_expansion_slot_t::device_start() //------------------------------------------------- // slot devices -#include "qimi.h" #include "sandy_superdisk.h" #include "sandy_superqboard.h" #include "trumpcard.h" SLOT_INTERFACE_START( ql_expansion_cards ) - SLOT_INTERFACE("qimi", QIMI) SLOT_INTERFACE("superdisk", SANDY_SUPER_DISK) SLOT_INTERFACE("superqboard", SANDY_SUPERQBOARD) SLOT_INTERFACE("trumpcard", QL_TRUMP_CARD) diff --git a/src/emu/bus/ql/exp.h b/src/emu/bus/ql/exp.h index 7ab1e444983..d77433c398b 100644 --- a/src/emu/bus/ql/exp.h +++ b/src/emu/bus/ql/exp.h @@ -93,8 +93,14 @@ public: // construction/destruction device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device); + virtual void romoeh_w(int state) { m_romoeh = state; } + virtual UINT8 read(address_space &space, offs_t offset, UINT8 data) { return data; } + virtual void write(address_space &space, offs_t offset, UINT8 data) { } + protected: ql_expansion_slot_t *m_slot; + + int m_romoeh; }; @@ -112,11 +118,21 @@ public: template static devcb_base &set_berrl_wr_callback(device_t &device, _Object object) { return downcast(device).m_write_berrl.set_callback(object); } template static devcb_base &set_extintl_wr_callback(device_t &device, _Object object) { return downcast(device).m_write_extintl.set_callback(object); } + // computer interface + UINT8 read(address_space &space, offs_t offset, UINT8 data) { if (m_card) data = m_card->read(space, offset, data); return data; } + void write(address_space &space, offs_t offset, UINT8 data) { if (m_card) m_card->write(space, offset, data); } + DECLARE_WRITE_LINE_MEMBER( romoeh_w ) { if (m_card) m_card->romoeh_w(state); } + + // card interface + DECLARE_WRITE_LINE_MEMBER( ipl0l_w ) { m_write_ipl0l(state); } + DECLARE_WRITE_LINE_MEMBER( ipl1l_w ) { m_write_ipl1l(state); } + DECLARE_WRITE_LINE_MEMBER( berrl_w ) { m_write_berrl(state); } DECLARE_WRITE_LINE_MEMBER( extintl_w ) { m_write_extintl(state); } protected: // device-level overrides virtual void device_start(); + virtual void device_reset() { if (get_card_device()) get_card_device()->reset(); } devcb_write_line m_write_ipl0l; devcb_write_line m_write_ipl1l; diff --git a/src/emu/bus/ql/qimi.c b/src/emu/bus/ql/qimi.c deleted file mode 100644 index 727f439a1ed..00000000000 --- a/src/emu/bus/ql/qimi.c +++ /dev/null @@ -1,125 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Curt Coder -/********************************************************************** - - QIMI (QL Internal Mouse Interface) emulation - - Copyright MESS Team. - Visit http://mamedev.org for licensing and usage restrictions. - -**********************************************************************/ - -#include "qimi.h" - - - -//************************************************************************** -// MACROS/CONSTANTS -//************************************************************************** - -#define MOUSEX_TAG "MOUSEX" -#define MOUSEY_TAG "MOUSEY" -#define MOUSEB_TAG "MOUSEB" - - -// Mouse bits in Sandy port order -#define MOUSE_MIDDLE 0x02 -#define MOUSE_RIGHT 0x04 -#define MOUSE_LEFT 0x08 -#define MOUSE_DIRY 0x10 -#define MOUSE_DIRX 0x20 -#define MOUSE_INTY 0x40 -#define MOUSE_INTX 0x80 -#define MOUSE_INT_MASK (MOUSE_INTX | MOUSE_INTY) - - - -//************************************************************************** -// DEVICE DEFINITIONS -//************************************************************************** - -const device_type QIMI = &device_creator; - - -//------------------------------------------------- -// MACHINE_CONFIG_FRAGMENT( qimi ) -//------------------------------------------------- - -static MACHINE_CONFIG_FRAGMENT( qimi ) -MACHINE_CONFIG_END - - -//------------------------------------------------- -// machine_config_additions - device-specific -// machine configurations -//------------------------------------------------- - -machine_config_constructor qimi_t::device_mconfig_additions() const -{ - return MACHINE_CONFIG_NAME( qimi ); -} - - -//------------------------------------------------- -// INPUT_PORTS( qimi ) -//------------------------------------------------- - -static INPUT_PORTS_START( qimi ) - PORT_START(MOUSEX_TAG) - PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) - - PORT_START(MOUSEY_TAG) - PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) - - PORT_START(MOUSEB_TAG) /* Mouse buttons */ - PORT_BIT( MOUSE_RIGHT, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Mouse Button 1") PORT_CODE(MOUSECODE_BUTTON1) - PORT_BIT( MOUSE_LEFT, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Mouse Button 2") PORT_CODE(MOUSECODE_BUTTON2) - PORT_BIT( MOUSE_MIDDLE, IP_ACTIVE_LOW, IPT_BUTTON3) PORT_NAME("Mouse Button 3") PORT_CODE(MOUSECODE_BUTTON3) -INPUT_PORTS_END - - -//------------------------------------------------- -// input_ports - device-specific input ports -//------------------------------------------------- - -ioport_constructor qimi_t::device_input_ports() const -{ - return INPUT_PORTS_NAME( qimi ); -} - - - -//************************************************************************** -// LIVE DEVICE -//************************************************************************** - -//------------------------------------------------- -// qimi_t - constructor -//------------------------------------------------- - -qimi_t::qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : - device_t(mconfig, QIMI, "QIMI", tag, owner, clock, "qimi", __FILE__), - device_ql_expansion_card_interface(mconfig, *this), - m_mousex(*this, MOUSEX_TAG), - m_mousey(*this, MOUSEY_TAG), - m_mouseb(*this, MOUSEB_TAG) -{ -} - - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - -void qimi_t::device_start() -{ -} - - -//------------------------------------------------- -// device_reset - device-specific reset -//------------------------------------------------- - -void qimi_t::device_reset() -{ -} diff --git a/src/emu/bus/ql/qimi.h b/src/emu/bus/ql/qimi.h deleted file mode 100644 index 8f2ea8b4ef9..00000000000 --- a/src/emu/bus/ql/qimi.h +++ /dev/null @@ -1,56 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Curt Coder -/********************************************************************** - - QIMI (QL Internal Mouse Interface) emulation - - Copyright MESS Team. - Visit http://mamedev.org for licensing and usage restrictions. - -**********************************************************************/ - -#pragma once - -#ifndef __QIMI__ -#define __QIMI__ - -#include "exp.h" - - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -// ======================> qimi_device - -class qimi_t : public device_t, - public device_ql_expansion_card_interface -{ -public: - // construction/destruction - qimi_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - - // optional information overrides - virtual machine_config_constructor device_mconfig_additions() const; - virtual ioport_constructor device_input_ports() const; - -protected: - // device-level overrides - virtual void device_start(); - virtual void device_reset(); - - // device_ql_expansion_card_interface overrides - -private: - required_ioport m_mousex; - required_ioport m_mousey; - required_ioport m_mouseb; -}; - - -// device type definition -extern const device_type QIMI; - - -#endif diff --git a/src/emu/bus/ql/sandy_superdisk.c b/src/emu/bus/ql/sandy_superdisk.c index ff82e1da2ce..7db9de8fc68 100644 --- a/src/emu/bus/ql/sandy_superdisk.c +++ b/src/emu/bus/ql/sandy_superdisk.c @@ -17,6 +17,9 @@ // MACROS/CONSTANTS //************************************************************************** +#define WD1772_TAG "wd1772" +#define CENTRONICS_TAG "centronics" + //************************************************************************** @@ -46,11 +49,27 @@ const rom_entry *sandy_super_disk_t::device_rom_region() const } +//------------------------------------------------- +// SLOT_INTERFACE( sandy_super_disk_floppies ) +//------------------------------------------------- + +static SLOT_INTERFACE_START( sandy_super_disk_floppies ) + SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) +SLOT_INTERFACE_END + + //------------------------------------------------- // MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) //------------------------------------------------- static MACHINE_CONFIG_FRAGMENT( sandy_super_disk ) + MCFG_DEVICE_ADD(WD1772_TAG, WD1772x, 8000000) + //MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(sandy_super_disk_t, fdc_intrq_w)) + //MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(sandy_super_disk_t, fdc_drq_w)) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_super_disk_floppies, "35dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_super_disk_floppies, NULL, floppy_image_device::default_floppy_formats) + + MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "printer") MACHINE_CONFIG_END @@ -77,7 +96,8 @@ machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const sandy_super_disk_t::sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, SANDY_SUPER_DISK, "Sandy Super Disk", tag, owner, clock, "sandy_super_disk", __FILE__), device_ql_expansion_card_interface(mconfig, *this), - m_rom(*this, "rom") + m_rom(*this, "rom"), + m_ram(*this, "ram") { } diff --git a/src/emu/bus/ql/sandy_superdisk.h b/src/emu/bus/ql/sandy_superdisk.h index 5f45d5528b7..47136429567 100644 --- a/src/emu/bus/ql/sandy_superdisk.h +++ b/src/emu/bus/ql/sandy_superdisk.h @@ -15,6 +15,7 @@ #define __SANDY_SUPER_DISK__ #include "exp.h" +#include "bus/centronics/ctronics.h" #include "machine/wd_fdc.h" @@ -45,6 +46,7 @@ protected: private: required_memory_region m_rom; + optional_shared_ptr m_ram; }; diff --git a/src/emu/bus/ql/sandy_superqboard.c b/src/emu/bus/ql/sandy_superqboard.c index 89b303be755..a04512c19f2 100644 --- a/src/emu/bus/ql/sandy_superqboard.c +++ b/src/emu/bus/ql/sandy_superqboard.c @@ -2,7 +2,7 @@ // copyright-holders:Curt Coder /********************************************************************** - Sandy SuperQBoard emulation + Sandy SuperQBoard (with HD upgrade) emulation Copyright MESS Team. Visit http://mamedev.org for licensing and usage restrictions. @@ -17,6 +17,10 @@ // MACROS/CONSTANTS //************************************************************************** +#define WD1772_TAG "ic3" +#define TTL74273_TAG "ic10" +#define CENTRONICS_TAG "j2" + //************************************************************************** @@ -32,7 +36,10 @@ const device_type SANDY_SUPERQBOARD = &device_creator; ROM_START( sandy_superqboard ) ROM_REGION( 0x8000, "rom", 0 ) - ROM_LOAD( "sandy_disk_controller_v1.18y_1984.rom", 0x0000, 0x8000, CRC(d02425be) SHA1(e730576e3e0c6a1acad042c09e15fc62a32d8fbd) ) + ROM_LOAD( "sandy_disk_controller_v1.18y_1984.ic2", 0x0000, 0x8000, CRC(d02425be) SHA1(e730576e3e0c6a1acad042c09e15fc62a32d8fbd) ) + + ROM_REGION( 0x100, "plds", 0 ) + ROM_LOAD( "gal16v8.ic5", 0x000, 0x000, NO_DUMP ) ROM_END @@ -46,11 +53,38 @@ const rom_entry *sandy_superqboard_t::device_rom_region() const } +//------------------------------------------------- +// SLOT_INTERFACE( sandy_superqboard_floppies ) +//------------------------------------------------- + +static SLOT_INTERFACE_START( sandy_superqboard_floppies ) + SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) + SLOT_INTERFACE( "35hd", FLOPPY_35_HD ) +SLOT_INTERFACE_END + + +//------------------------------------------------- +// centronics +//------------------------------------------------- + +WRITE_LINE_MEMBER( sandy_superqboard_t::busy_w ) +{ + m_busy = state; +} + + //------------------------------------------------- // MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) //------------------------------------------------- static MACHINE_CONFIG_FRAGMENT( sandy_superqboard ) + MCFG_DEVICE_ADD(WD1772_TAG, WD1772x, XTAL_16MHz/2) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", sandy_superqboard_floppies, "35dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", sandy_superqboard_floppies, NULL, floppy_image_device::default_floppy_formats) + + MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "printer") + MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(sandy_superqboard_t, busy_w)) + MCFG_CENTRONICS_OUTPUT_LATCH_ADD(TTL74273_TAG, CENTRONICS_TAG) MACHINE_CONFIG_END @@ -77,7 +111,16 @@ machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const sandy_superqboard_t::sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, SANDY_SUPERQBOARD, "SANDY_SUPERQBOARD", tag, owner, clock, "sandy_superqboard", __FILE__), device_ql_expansion_card_interface(mconfig, *this), - m_rom(*this, "rom") + m_fdc(*this, WD1772_TAG), + m_floppy0(*this, WD1772_TAG":0"), + m_floppy1(*this, WD1772_TAG":1"), + m_centronics(*this, CENTRONICS_TAG), + m_latch(*this, TTL74273_TAG), + m_rom(*this, "rom"), + m_ram(*this, "ram"), + m_busy(1), + m_int2(0), + m_int3(0) { } @@ -97,4 +140,117 @@ void sandy_superqboard_t::device_start() void sandy_superqboard_t::device_reset() { + m_fdc->reset(); + m_latch->write(0); + + m_int2 = 0; + m_int3 = 0; +} + + +//------------------------------------------------- +// read - +//------------------------------------------------- + +UINT8 sandy_superqboard_t::read(address_space &space, offs_t offset, UINT8 data) +{ + switch ((offset >> 2) & 0x03) + { + case 0: + data = m_fdc->read(space, offset & 0x03); + break; + + case 3: + /* + + bit description + + 0 BUSY + 1 mouse pin 8 + 2 mouse pin 1 + 3 mouse pin 2 + 4 mouse pin 4 flip-flop Q + 5 mouse pin 3 flip-flop Q + 6 INT3 + 7 INT2 + + */ + + data = m_busy; + data |= m_int3 << 6; + data |= m_int2 << 7; + break; + } + + return data; +} + + +//------------------------------------------------- +// write - +//------------------------------------------------- + +void sandy_superqboard_t::write(address_space &space, offs_t offset, UINT8 data) +{ + switch ((offset >> 2) & 0x03) + { + case 0: + m_fdc->write(space, offset & 0x03, data); + break; + + case 1: + { + /* + + bit description + + 0 SIDE ONE + 1 DSEL0 + 2 DSEL1 + 3 M ON0 + 4 /DDEN + 5 STROBE inverted + 6 GAL pin 11 + 7 GAL pin 9 + + */ + + floppy_image_device *floppy = NULL; + + if (BIT(data, 1)) + { + floppy = m_floppy0->get_device(); + } + else if (BIT(data, 2)) + { + floppy = m_floppy1->get_device(); + } + + m_fdc->set_floppy(floppy); + + if (floppy) + { + floppy->ss_w(BIT(data, 0)); + floppy->mon_w(BIT(data, 3)); + } + + m_fdc->dden_w(BIT(data, 4)); + + m_centronics->write_strobe(!BIT(data, 5)); + } + break; + + case 2: + m_latch->write(data); + break; + + case 4: + m_int2 = 0; + m_int3 = 0; + break; + + case 5: + m_fdc->set_unscaled_clock(XTAL_16MHz >> !BIT(data, 0)); + break; + } } diff --git a/src/emu/bus/ql/sandy_superqboard.h b/src/emu/bus/ql/sandy_superqboard.h index c1262874da1..8ca46f3f784 100644 --- a/src/emu/bus/ql/sandy_superqboard.h +++ b/src/emu/bus/ql/sandy_superqboard.h @@ -2,7 +2,7 @@ // copyright-holders:Curt Coder /********************************************************************** - Sandy SuperQBoard emulation + Sandy SuperQBoard (with HD upgrade) emulation Copyright MESS Team. Visit http://mamedev.org for licensing and usage restrictions. @@ -37,15 +37,29 @@ public: virtual const rom_entry *device_rom_region() const; virtual machine_config_constructor device_mconfig_additions() const; + WRITE_LINE_MEMBER( busy_w ); + protected: // device-level overrides virtual void device_start(); virtual void device_reset(); // device_ql_expansion_card_interface overrides + virtual UINT8 read(address_space &space, offs_t offset, UINT8 data); + virtual void write(address_space &space, offs_t offset, UINT8 data); private: + required_device m_fdc; + required_device m_floppy0; + required_device m_floppy1; + required_device m_centronics; + required_device m_latch; required_memory_region m_rom; + optional_shared_ptr m_ram; + + int m_busy; + int m_int2; + int m_int3; }; diff --git a/src/emu/bus/ql/trumpcard.c b/src/emu/bus/ql/trumpcard.c index a84bae0cad4..e74fdbd6aba 100644 --- a/src/emu/bus/ql/trumpcard.c +++ b/src/emu/bus/ql/trumpcard.c @@ -17,6 +17,8 @@ // MACROS/CONSTANTS //************************************************************************** +#define WD1772_TAG "wd1772" + //************************************************************************** @@ -33,6 +35,10 @@ const device_type QL_TRUMP_CARD = &device_creator; ROM_START( ql_trump_card ) ROM_REGION( 0x8000, "rom", 0 ) ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) ) + + ROM_REGION( 0x100, "plds", 0 ) + ROM_LOAD( "1u4", 0x000, 0x000, NO_DUMP ) + ROM_LOAD( "2u4", 0x000, 0x000, NO_DUMP ) ROM_END @@ -46,11 +52,25 @@ const rom_entry *ql_trump_card_t::device_rom_region() const } +//------------------------------------------------- +// SLOT_INTERFACE( ql_trump_card_floppies ) +//------------------------------------------------- + +static SLOT_INTERFACE_START( ql_trump_card_floppies ) + SLOT_INTERFACE( "35dd", FLOPPY_35_DD ) +SLOT_INTERFACE_END + + //------------------------------------------------- // MACHINE_CONFIG_FRAGMENT( ql_trump_card ) //------------------------------------------------- static MACHINE_CONFIG_FRAGMENT( ql_trump_card ) + MCFG_DEVICE_ADD(WD1772_TAG, WD1772x, 8000000) + //MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(ql_trump_card_t, fdc_intrq_w)) + //MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(ql_trump_card_t, fdc_drq_w)) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":0", ql_trump_card_floppies, "35dd", floppy_image_device::default_floppy_formats) + MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG":1", ql_trump_card_floppies, NULL, floppy_image_device::default_floppy_formats) MACHINE_CONFIG_END @@ -77,7 +97,8 @@ machine_config_constructor ql_trump_card_t::device_mconfig_additions() const ql_trump_card_t::ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, QL_TRUMP_CARD, "QL Trump Card", tag, owner, clock, "ql_trump_card", __FILE__), device_ql_expansion_card_interface(mconfig, *this), - m_rom(*this, "rom") + m_rom(*this, "rom"), + m_ram(*this, "ram") { } diff --git a/src/emu/bus/ql/trumpcard.h b/src/emu/bus/ql/trumpcard.h index ab8a57381b3..7e0ecc0e4ce 100644 --- a/src/emu/bus/ql/trumpcard.h +++ b/src/emu/bus/ql/trumpcard.h @@ -15,6 +15,7 @@ #define __QL_TRUMP_CARD__ #include "exp.h" +#include "machine/wd_fdc.h" @@ -44,6 +45,7 @@ protected: private: required_memory_region m_rom; + optional_shared_ptr m_ram; };