summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/ql/sandy_superqboard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/ql/sandy_superqboard.cpp')
-rw-r--r--src/devices/bus/ql/sandy_superqboard.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/devices/bus/ql/sandy_superqboard.cpp b/src/devices/bus/ql/sandy_superqboard.cpp
index 9fbd2f49c77..109fc273a39 100644
--- a/src/devices/bus/ql/sandy_superqboard.cpp
+++ b/src/devices/bus/ql/sandy_superqboard.cpp
@@ -9,6 +9,8 @@
#include "emu.h"
#include "sandy_superqboard.h"
+#include "formats/ql_dsk.h"
+
//**************************************************************************
@@ -75,16 +77,18 @@ static void sandy_superqboard_floppies(device_slot_interface &device)
// FLOPPY_FORMATS( floppy_formats )
//-------------------------------------------------
-FLOPPY_FORMATS_MEMBER( sandy_superqboard_device::floppy_formats )
- FLOPPY_QL_FORMAT
-FLOPPY_FORMATS_END
+void sandy_superqboard_device::floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_QL_FORMAT);
+}
//-------------------------------------------------
// centronics
//-------------------------------------------------
-WRITE_LINE_MEMBER( sandy_superqboard_device::busy_w )
+void sandy_superqboard_device::busy_w(int state)
{
if (state)
{
@@ -106,8 +110,8 @@ WRITE_LINE_MEMBER( sandy_superqboard_device::busy_w )
void sandy_superqboard_device::device_add_mconfig(machine_config &config)
{
WD1772(config, m_fdc, XTAL(16'000'000)/2);
- FLOPPY_CONNECTOR(config, m_floppy0, sandy_superqboard_floppies, "35hd", sandy_superqboard_device::floppy_formats);
- FLOPPY_CONNECTOR(config, m_floppy1, sandy_superqboard_floppies, nullptr, sandy_superqboard_device::floppy_formats);
+ FLOPPY_CONNECTOR(config, m_floppy[0], sandy_superqboard_floppies, "35hd", sandy_superqboard_device::floppy_formats);
+ FLOPPY_CONNECTOR(config, m_floppy[1], sandy_superqboard_floppies, nullptr, sandy_superqboard_device::floppy_formats);
CENTRONICS(config, m_centronics, centronics_devices, "printer");
m_centronics->ack_handler().set(FUNC(sandy_superqboard_device::busy_w));
@@ -214,12 +218,11 @@ sandy_superqboard_device::sandy_superqboard_device(const machine_config &mconfig
device_t(mconfig, type, tag, owner, clock),
device_ql_expansion_card_interface(mconfig, *this),
m_fdc(*this, WD1772_TAG),
- m_floppy0(*this, WD1772_TAG":0"),
- m_floppy1(*this, WD1772_TAG":1"),
+ m_floppy(*this, WD1772_TAG":%u", 0U),
m_centronics(*this, CENTRONICS_TAG),
m_latch(*this, TTL74273_TAG),
m_rom(*this, "rom"),
- m_ram(*this, "ram"),
+ m_ram(*this, "ram", ram_size, ENDIANNESS_BIG),
m_buttons(*this, "mouse_buttons"),
m_ram_size(ram_size),
m_fd6(0),
@@ -250,9 +253,6 @@ sandy_superqmouse_512k_device::sandy_superqmouse_512k_device(const machine_confi
void sandy_superqboard_device::device_start()
{
- // allocate memory
- m_ram.allocate(m_ram_size);
-
// state saving
save_item(NAME(m_fd6));
save_item(NAME(m_fd7));
@@ -378,11 +378,11 @@ void sandy_superqboard_device::write(offs_t offset, uint8_t data)
if (BIT(data, 1))
{
- floppy = m_floppy0->get_device();
+ floppy = m_floppy[0]->get_device();
}
else if (BIT(data, 2))
{
- floppy = m_floppy1->get_device();
+ floppy = m_floppy[1]->get_device();
}
m_fdc->set_floppy(floppy);