WTF. (nw)

This commit is contained in:
Curt Coder 2014-05-24 13:51:36 +00:00
parent ca17664d30
commit 7343038c10
10 changed files with 0 additions and 874 deletions

View File

@ -37,96 +37,6 @@ device_ql_expansion_card_interface::device_ql_expansion_card_interface(const mac
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// ql_expansion_slot_t - constructor
//-------------------------------------------------
ql_expansion_slot_t::ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, QL_EXPANSION_SLOT, "QL expansion port", tag, owner, clock, "ql_expansion_slot", __FILE__),
device_slot_interface(mconfig, *this),
m_write_ipl0l(*this),
m_write_ipl1l(*this),
m_write_berrl(*this),
m_write_extintl(*this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void ql_expansion_slot_t::device_start()
{
m_card = dynamic_cast<device_ql_expansion_card_interface *>(get_card_device());
// resolve callbacks
m_write_ipl0l.resolve_safe();
m_write_ipl1l.resolve_safe();
m_write_berrl.resolve_safe();
m_write_extintl.resolve_safe();
}
//-------------------------------------------------
// SLOT_INTERFACE( ql_expansion_cards )
//-------------------------------------------------
// 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)
SLOT_INTERFACE_END
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sinclair QL expansion port emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "exp.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type QL_EXPANSION_SLOT = &device_creator<ql_expansion_slot_t>;
//**************************************************************************
// DEVICE QL_EXPANSION CARD INTERFACE
//**************************************************************************
//-------------------------------------------------
// device_ql_expansion_card_interface - constructor
//-------------------------------------------------
device_ql_expansion_card_interface::device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
m_slot = dynamic_cast<ql_expansion_slot_t *>(device.owner());
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -135,142 +135,4 @@ SLOT_INTERFACE_EXTERN( ql_expansion_cards );
#endif
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sinclair QL expansion port emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************
A B
GND * 1 * GND
D3 * 2 * D2
D4 * 3 * D1
D5 * 4 * D0
D6 * 5 * ASL
D7 * 6 * DSL
A19 * 7 * RDWL
A18 * 8 * DTACKL
A17 * 9 * BGL
A16 * 10 * BRL
CLKCPU * 11 * A15
RED * 12 * RESETCPUL
A14 * 13 * CSYNCL
A13 * 14 * E
A12 * 15 * VSYNCH
A11 * 16 * VPAL
A10 * 17 * GREEN
A9 * 18 * BLUE
A8 * 19 * FC2
A7 * 20 * FC1
A6 * 21 * FC0
A5 * 22 * A0
A4 * 23 * ROMOEH
A3 * 24 * A1
DBGL * 25 * A2
SP2 * 26 * SP3
DSCML * 27 * IPL0L
SP1 * 28 * BERRL
SP0 * 29 * IPL1L
VP12 * 30 * EXTINTL
VM12 * 31 * VIN
VIN * 32 * VIN
**********************************************************************/
#pragma once
#ifndef __QL_EXPANSION_SLOT__
#define __QL_EXPANSION_SLOT__
#include "emu.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define MCFG_QL_EXPANSION_SLOT_ADD(_tag, _slot_intf, _def_slot) \
MCFG_DEVICE_ADD(_tag, QL_EXPANSION_SLOT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_QL_EXPANSION_SLOT_IPL0L_CALLBACK(_write) \
devcb = &ql_expansion_slot_t::set_ipl0l_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_IPL1L_CALLBACK(_write) \
devcb = &ql_expansion_slot_t::set_ipl1l_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_BERRL_CALLBACK(_write) \
devcb = &ql_expansion_slot_t::set_berrl_wr_callback(*device, DEVCB_##_write);
#define MCFG_QL_EXPANSION_SLOT_EXTINTL_CALLBACK(_write) \
devcb = &ql_expansion_slot_t::set_extintl_wr_callback(*device, DEVCB_##_write);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> device_ql_expansion_card_interface
class ql_expansion_slot_t;
class device_ql_expansion_card_interface : public device_slot_card_interface
{
friend class ql_expansion_slot_t;
public:
// construction/destruction
device_ql_expansion_card_interface(const machine_config &mconfig, device_t &device);
protected:
ql_expansion_slot_t *m_slot;
};
// ======================> ql_expansion_slot_t
class ql_expansion_slot_t : public device_t,
public device_slot_interface
{
public:
// construction/destruction
ql_expansion_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
template<class _Object> static devcb_base &set_ipl0l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl0l.set_callback(object); }
template<class _Object> static devcb_base &set_ipl1l_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_ipl1l.set_callback(object); }
template<class _Object> static devcb_base &set_berrl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_berrl.set_callback(object); }
template<class _Object> static devcb_base &set_extintl_wr_callback(device_t &device, _Object object) { return downcast<ql_expansion_slot_t &>(device).m_write_extintl.set_callback(object); }
DECLARE_WRITE_LINE_MEMBER( extintl_w ) { m_write_extintl(state); }
protected:
// device-level overrides
virtual void device_start();
devcb_write_line m_write_ipl0l;
devcb_write_line m_write_ipl1l;
devcb_write_line m_write_berrl;
devcb_write_line m_write_extintl;
device_ql_expansion_card_interface *m_card;
};
// device type definition
extern const device_type QL_EXPANSION_SLOT;
SLOT_INTERFACE_EXTERN( ql_expansion_cards );
#endif

View File

@ -89,131 +89,6 @@ ioport_constructor qimi_t::device_input_ports() const
//**************************************************************************
// 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()
{
}
// 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<qimi_t>;
//-------------------------------------------------
// 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
//**************************************************************************

View File

@ -18,62 +18,6 @@
//**************************************************************************
// 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
// 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
//**************************************************************************

View File

@ -66,106 +66,6 @@ machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// sandy_super_disk_t - constructor
//-------------------------------------------------
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")
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void sandy_super_disk_t::device_start()
{
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void sandy_super_disk_t::device_reset()
{
}
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sandy Super Disk emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "sandy_superdisk.h"
//**************************************************************************
// MACROS/CONSTANTS
//**************************************************************************
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type SANDY_SUPER_DISK = &device_creator<sandy_super_disk_t>;
//-------------------------------------------------
// ROM( sandy_super_disk )
//-------------------------------------------------
ROM_START( sandy_super_disk )
ROM_REGION( 0x4000, "rom", 0 )
ROM_LOAD( "sandysuperdisk.rom", 0x0000, 0x4000, CRC(b52077da) SHA1(bf531758145ffd083e01c1cf9c45d0e9264a3b53) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *sandy_super_disk_t::device_rom_region() const
{
return ROM_NAME( sandy_super_disk );
}
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( sandy_super_disk )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( sandy_super_disk )
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor sandy_super_disk_t::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sandy_super_disk );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -19,61 +19,6 @@
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> sandy_super_disk_device
class sandy_super_disk_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
sandy_super_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
virtual machine_config_constructor device_mconfig_additions() const;
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// device_ql_expansion_card_interface overrides
private:
required_memory_region m_rom;
};
// device type definition
extern const device_type SANDY_SUPER_DISK;
#endif
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sandy Super Disk emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __SANDY_SUPER_DISK__
#define __SANDY_SUPER_DISK__
#include "exp.h"
#include "machine/wd_fdc.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************

View File

@ -66,106 +66,6 @@ machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// sandy_superqboard_t - constructor
//-------------------------------------------------
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")
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void sandy_superqboard_t::device_start()
{
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void sandy_superqboard_t::device_reset()
{
}
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sandy SuperQBoard emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "sandy_superqboard.h"
//**************************************************************************
// MACROS/CONSTANTS
//**************************************************************************
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type SANDY_SUPERQBOARD = &device_creator<sandy_superqboard_t>;
//-------------------------------------------------
// ROM( sandy_superqboard )
//-------------------------------------------------
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_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *sandy_superqboard_t::device_rom_region() const
{
return ROM_NAME( sandy_superqboard );
}
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( sandy_superqboard )
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor sandy_superqboard_t::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sandy_superqboard );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -20,62 +20,6 @@
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> sandy_superqboard_device
class sandy_superqboard_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
sandy_superqboard_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
virtual machine_config_constructor device_mconfig_additions() const;
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// device_ql_expansion_card_interface overrides
private:
required_memory_region m_rom;
};
// device type definition
extern const device_type SANDY_SUPERQBOARD;
#endif
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Sandy SuperQBoard emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __SANDY_SUPERQBOARD__
#define __SANDY_SUPERQBOARD__
#include "exp.h"
#include "bus/centronics/ctronics.h"
#include "machine/wd_fdc.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************

View File

@ -66,106 +66,6 @@ machine_config_constructor ql_trump_card_t::device_mconfig_additions() const
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// ql_trump_card_t - constructor
//-------------------------------------------------
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")
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void ql_trump_card_t::device_start()
{
}
//-------------------------------------------------
// device_reset - device-specific reset
//-------------------------------------------------
void ql_trump_card_t::device_reset()
{
}
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Systems QL Trump Card emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "trumpcard.h"
//**************************************************************************
// MACROS/CONSTANTS
//**************************************************************************
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type QL_TRUMP_CARD = &device_creator<ql_trump_card_t>;
//-------------------------------------------------
// ROM( ql_trump_card )
//-------------------------------------------------
ROM_START( ql_trump_card )
ROM_REGION( 0x8000, "rom", 0 )
ROM_LOAD( "trumpcard-125.rom", 0x0000, 0x8000, CRC(938eaa46) SHA1(9b3458cf3a279ed86ba395dc45c8f26939d6c44d) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *ql_trump_card_t::device_rom_region() const
{
return ROM_NAME( ql_trump_card );
}
//-------------------------------------------------
// MACHINE_CONFIG_FRAGMENT( ql_trump_card )
//-------------------------------------------------
static MACHINE_CONFIG_FRAGMENT( ql_trump_card )
MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - device-specific
// machine configurations
//-------------------------------------------------
machine_config_constructor ql_trump_card_t::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( ql_trump_card );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************

View File

@ -18,60 +18,6 @@
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> ql_trump_card_t
class ql_trump_card_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
ql_trump_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
virtual machine_config_constructor device_mconfig_additions() const;
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// device_ql_expansion_card_interface overrides
private:
required_memory_region m_rom;
};
// device type definition
extern const device_type QL_TRUMP_CARD;
#endif
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Systems QL Trump Card emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __QL_TRUMP_CARD__
#define __QL_TRUMP_CARD__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************