(MESS) ql: Expansions WIP. (nw)

This commit is contained in:
Curt Coder 2014-06-04 11:37:59 +00:00
parent 2073e3e6fb
commit f6f8fe56b2
24 changed files with 1473 additions and 0 deletions

20
.gitattributes vendored
View File

@ -1258,8 +1258,28 @@ src/emu/bus/plus4/std.c svneol=native#text/plain
src/emu/bus/plus4/std.h svneol=native#text/plain
src/emu/bus/plus4/user.c svneol=native#text/plain
src/emu/bus/plus4/user.h svneol=native#text/plain
src/emu/bus/ql/cst_q_plus4.c svneol=native#text/plain
src/emu/bus/ql/cst_q_plus4.h svneol=native#text/plain
src/emu/bus/ql/cst_qdisc.c svneol=native#text/plain
src/emu/bus/ql/cst_qdisc.h svneol=native#text/plain
src/emu/bus/ql/cumana_fdi.c svneol=native#text/plain
src/emu/bus/ql/cumana_fdi.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/kempston_di.c svneol=native#text/plain
src/emu/bus/ql/kempston_di.h svneol=native#text/plain
src/emu/bus/ql/miracle_gold_card.c svneol=native#text/plain
src/emu/bus/ql/miracle_gold_card.h svneol=native#text/plain
src/emu/bus/ql/miracle_hd.c svneol=native#text/plain
src/emu/bus/ql/miracle_hd.h svneol=native#text/plain
src/emu/bus/ql/mp_fdi.c svneol=native#text/plain
src/emu/bus/ql/mp_fdi.h svneol=native#text/plain
src/emu/bus/ql/opd_basic_master.c svneol=native#text/plain
src/emu/bus/ql/opd_basic_master.h svneol=native#text/plain
src/emu/bus/ql/pcml_qdisk.c svneol=native#text/plain
src/emu/bus/ql/pcml_qdisk.h svneol=native#text/plain
src/emu/bus/ql/qubide.c svneol=native#text/plain
src/emu/bus/ql/qubide.h svneol=native#text/plain
src/emu/bus/ql/rom.c svneol=native#text/plain
src/emu/bus/ql/rom.h svneol=native#text/plain
src/emu/bus/ql/sandy_superdisk.c svneol=native#text/plain

View File

@ -1145,9 +1145,19 @@ endif
ifneq ($(filter QL,$(BUSES)),)
OBJDIRS += $(BUSOBJ)/ql
BUSOBJS += $(BUSOBJ)/ql/exp.o
BUSOBJS += $(BUSOBJ)/ql/cst_qdisc.o
BUSOBJS += $(BUSOBJ)/ql/cst_q_plus4.o
BUSOBJS += $(BUSOBJ)/ql/cumana_fdi.o
BUSOBJS += $(BUSOBJ)/ql/kempston_di.o
BUSOBJS += $(BUSOBJ)/ql/miracle_gold_card.o
BUSOBJS += $(BUSOBJ)/ql/mp_fdi.o
BUSOBJS += $(BUSOBJ)/ql/opd_basic_master.o
BUSOBJS += $(BUSOBJ)/ql/pcml_qdisk.o
BUSOBJS += $(BUSOBJ)/ql/qubide.o
BUSOBJS += $(BUSOBJ)/ql/sandy_superdisk.o
BUSOBJS += $(BUSOBJ)/ql/sandy_superqboard.o
BUSOBJS += $(BUSOBJ)/ql/trumpcard.o
BUSOBJS += $(BUSOBJ)/ql/rom.o
BUSOBJS += $(BUSOBJ)/ql/miracle_hd.o
BUSOBJS += $(BUSOBJ)/ql/std.o
endif

View File

@ -0,0 +1,84 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
CST Q+4 emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "cst_q_plus4.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type CST_Q_PLUS4 = &device_creator<cst_q_plus4_t>;
//-------------------------------------------------
// ROM( cst_q_plus4 )
//-------------------------------------------------
ROM_START( cst_q_plus4 )
ROM_REGION( 0x2000, "rom", 0 )
ROM_LOAD( "qplus4.rom", 0x0000, 0x2000, CRC(53a078fb) SHA1(53d6828c1b6ba052b862fd80ac8a364b0078330d) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *cst_q_plus4_t::device_rom_region() const
{
return ROM_NAME( cst_q_plus4 );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// cst_q_plus4_t - constructor
//-------------------------------------------------
cst_q_plus4_t::cst_q_plus4_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, CST_Q_PLUS4, "CST Q+4", tag, owner, clock, "ql_qplus4", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void cst_q_plus4_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 cst_q_plus4_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void cst_q_plus4_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
CST Q+4 emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __CST_Q_PLUS4__
#define __CST_Q_PLUS4__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> cst_q_plus4_t
class cst_q_plus4_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
cst_q_plus4_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
cst_q_plus4_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type CST_Q_PLUS4;
#endif

View File

@ -0,0 +1,88 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
CST QL Disc Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "cst_qdisc.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type CST_QL_DISC_INTERFACE = &device_creator<cst_ql_disc_interface_t>;
//-------------------------------------------------
// ROM( cst_ql_disc_interface )
//-------------------------------------------------
ROM_START( cst_ql_disc_interface )
ROM_REGION( 0x2000, "rom", 0 )
ROM_DEFAULT_BIOS("v116")
ROM_SYSTEM_BIOS( 0, "v113", "v1.13" )
ROMX_LOAD( "cst_qdisc_controller_v1.13_1984.rom", 0x0000, 0x2000, CRC(e08d9b5b) SHA1(ec981e60db0269412c518930ca6b5187b20a44f5), ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 1, "v116", "v1.16" )
ROMX_LOAD( "cst_qdisc_controller_v1.16_1984.rom", 0x0000, 0x2000, CRC(05a73b00) SHA1(de8c5a4257107a4a41bc94c532cbfb7c65bfb472), ROM_BIOS(2) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *cst_ql_disc_interface_t::device_rom_region() const
{
return ROM_NAME( cst_ql_disc_interface );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// cst_ql_disc_interface_t - constructor
//-------------------------------------------------
cst_ql_disc_interface_t::cst_ql_disc_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, CST_QL_DISC_INTERFACE, "CST QL Disc Interface", tag, owner, clock, "ql_qdisc", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void cst_ql_disc_interface_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 cst_ql_disc_interface_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void cst_ql_disc_interface_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
CST QL Disc Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __CST_QL_DISC_INTERFACE__
#define __CST_QL_DISC_INTERFACE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> cst_ql_disc_interface_t
class cst_ql_disc_interface_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
cst_ql_disc_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
cst_ql_disc_interface_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type CST_QL_DISC_INTERFACE;
#endif

View File

@ -0,0 +1,88 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Cumana Floppy Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "cumana_fdi.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type CUMANA_FLOPPY_DISK_INTERFACE = &device_creator<cumana_floppy_disk_interface_t>;
//-------------------------------------------------
// ROM( cumana_floppy_disk_interface )
//-------------------------------------------------
ROM_START( cumana_floppy_disk_interface )
ROM_REGION( 0x4000, "rom", 0 )
ROM_DEFAULT_BIOS("v116")
ROM_SYSTEM_BIOS( 0, "v114", "v1.14" )
ROMX_LOAD( "cumana114.rom", 0x0000, 0x4000, CRC(03baf164) SHA1(e487742c481be8c2771ab2c0fc5e3acd612dec54), ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 1, "v116", "v1.16" )
ROMX_LOAD( "cumana116.rom", 0x0000, 0x4000, CRC(def02822) SHA1(323120cd3e1eaa38f6d0ae74367a4835a5a2a011), ROM_BIOS(2) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *cumana_floppy_disk_interface_t::device_rom_region() const
{
return ROM_NAME( cumana_floppy_disk_interface );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// cumana_floppy_disk_interface_t - constructor
//-------------------------------------------------
cumana_floppy_disk_interface_t::cumana_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, CUMANA_FLOPPY_DISK_INTERFACE, "Cumana Floppy Disk Interface", tag, owner, clock, "ql_cumanafdi", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void cumana_floppy_disk_interface_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 cumana_floppy_disk_interface_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void cumana_floppy_disk_interface_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Cumana Floppy Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __CUMANA_FLOPPY_DISK_INTERFACE__
#define __CUMANA_FLOPPY_DISK_INTERFACE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> cumana_floppy_disk_interface_t
class cumana_floppy_disk_interface_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
cumana_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
cumana_floppy_disk_interface_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type CUMANA_FLOPPY_DISK_INTERFACE;
#endif

View File

@ -78,14 +78,32 @@ void ql_expansion_slot_t::device_start()
//-------------------------------------------------
// slot devices
#include "cst_qdisc.h"
#include "cst_q_plus4.h"
#include "cumana_fdi.h"
#include "kempston_di.h"
#include "miracle_gold_card.h"
#include "mp_fdi.h"
#include "opd_basic_master.h"
#include "pcml_qdisk.h"
#include "qubide.h"
#include "sandy_superdisk.h"
#include "sandy_superqboard.h"
#include "trumpcard.h"
SLOT_INTERFACE_START( ql_expansion_cards )
SLOT_INTERFACE("qdisc", CST_QL_DISC_INTERFACE)
SLOT_INTERFACE("qplus4", CST_Q_PLUS4)
SLOT_INTERFACE("cumanafdi", CUMANA_FLOPPY_DISK_INTERFACE)
SLOT_INTERFACE("kdi", KEMPSTON_DISK_INTERFACE)
SLOT_INTERFACE("mpfdi", MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE)
SLOT_INTERFACE("gold", MIRACLE_GOLD_CARD)
SLOT_INTERFACE("pcmlqdi", PCML_Q_DISK_INTERFACE)
SLOT_INTERFACE("qubide", QUBIDE)
SLOT_INTERFACE("sdisk", SANDY_SUPER_DISK)
SLOT_INTERFACE("sqboard", SANDY_SUPERQBOARD)
SLOT_INTERFACE("sqboard512k", SANDY_SUPERQBOARD_512K)
SLOT_INTERFACE("opdbasic", OPD_BASIC_MASTER)
SLOT_INTERFACE("trump", QL_TRUMP_CARD)
SLOT_INTERFACE("trump256k", QL_TRUMP_CARD_256K)
SLOT_INTERFACE("trump512k", QL_TRUMP_CARD_512K)

View File

@ -0,0 +1,86 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Kempston Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "kempston_di.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type KEMPSTON_DISK_INTERFACE = &device_creator<kempston_disk_interface_t>;
//-------------------------------------------------
// ROM( kempston_disk_system )
//-------------------------------------------------
ROM_START( kempston_disk_system )
ROM_REGION( 0x2000, "rom", 0 )
ROM_DEFAULT_BIOS("v114")
ROM_SYSTEM_BIOS( 0, "v114", "v1.14" )
ROMX_LOAD( "kempston_disk_system_v1.14_1984.rom", 0x0000, 0x2000, CRC(0b70ad2e) SHA1(ff8158d25864d920f3f6df259167e91c2784692c), ROM_BIOS(1) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *kempston_disk_interface_t::device_rom_region() const
{
return ROM_NAME( kempston_disk_system );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// kempston_disk_interface_t - constructor
//-------------------------------------------------
kempston_disk_interface_t::kempston_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, KEMPSTON_DISK_INTERFACE, "Kempston Disk Interface", tag, owner, clock, "ql_kdi", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void kempston_disk_interface_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 kempston_disk_interface_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void kempston_disk_interface_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Kempston Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __KEMPSTON_DISK_INTERFACE__
#define __KEMPSTON_DISK_INTERFACE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> kempston_disk_interface_t
class kempston_disk_interface_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
kempston_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
kempston_disk_interface_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type KEMPSTON_DISK_INTERFACE;
#endif

View File

@ -0,0 +1,88 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Systems Gold Card emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "miracle_gold_card.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type MIRACLE_GOLD_CARD = &device_creator<miracle_gold_card_t>;
//-------------------------------------------------
// ROM( miracle_gold_card )
//-------------------------------------------------
ROM_START( miracle_gold_card )
ROM_REGION( 0x10000, "rom", 0 )
ROM_DEFAULT_BIOS("v249")
ROM_SYSTEM_BIOS( 0, "v228", "v2.28" )
ROMX_LOAD( "goldcard228.bin", 0x00000, 0x10000, CRC(fee008de) SHA1(849f0a515ac32502f3b1a4f65ce957c0bef6e6d6), ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 1, "v249", "v2.49" )
ROMX_LOAD( "sgcandgc249.bin", 0x00000, 0x10000, CRC(963c7bfc) SHA1(e80851fc536eef2b83c611e717e563b05bba8b3d), ROM_BIOS(2) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *miracle_gold_card_t::device_rom_region() const
{
return ROM_NAME( miracle_gold_card );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// miracle_gold_card_t - constructor
//-------------------------------------------------
miracle_gold_card_t::miracle_gold_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, MIRACLE_GOLD_CARD, "Miracle Gold Card", tag, owner, clock, "ql_gold", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void miracle_gold_card_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 miracle_gold_card_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void miracle_gold_card_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Systems Gold Card emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __MIRACLE_GOLD_CARD__
#define __MIRACLE_GOLD_CARD__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> miracle_gold_card_t
class miracle_gold_card_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
miracle_gold_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
miracle_gold_card_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type MIRACLE_GOLD_CARD;
#endif

View File

@ -0,0 +1,86 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Hard Disk emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "miracle_hd.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type MIRACLE_HARD_DISK = &device_creator<miracle_hard_disk_t>;
//-------------------------------------------------
// ROM( miracle_hard_disk )
//-------------------------------------------------
ROM_START( miracle_hard_disk )
ROM_REGION( 0x2000, "rom", 0 )
ROM_DEFAULT_BIOS("v202")
ROM_SYSTEM_BIOS( 0, "v202", "v2.02" )
ROMX_LOAD( "miraculous_winny_v2.02_1989_qjump.rom", 0x0000, 0x2000, CRC(10982b35) SHA1(1beb87a207ecd0f47a43ed4b1bcc81d89ac75ffc), ROM_BIOS(1) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *miracle_hard_disk_t::device_rom_region() const
{
return ROM_NAME( miracle_hard_disk );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// miracle_hard_disk_t - constructor
//-------------------------------------------------
miracle_hard_disk_t::miracle_hard_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, MIRACLE_HARD_DISK, "Miracle Hard Disk", tag, owner, clock, "ql_mhd", __FILE__),
device_ql_rom_cartridge_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void miracle_hard_disk_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 miracle_hard_disk_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void miracle_hard_disk_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Miracle Hard Disk emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __MIRACLE_HARD_DISK__
#define __MIRACLE_HARD_DISK__
#include "rom.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> miracle_hard_disk_t
class miracle_hard_disk_t : public device_t,
public device_ql_rom_cartridge_card_interface
{
public:
// construction/destruction
miracle_hard_disk_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
miracle_hard_disk_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// device_ql_rom_cartridge_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:
};
// device type definition
extern const device_type MIRACLE_HARD_DISK;
#endif

86
src/emu/bus/ql/mp_fdi.c Normal file
View File

@ -0,0 +1,86 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Micro Peripherals Floppy Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "mp_fdi.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE = &device_creator<micro_peripherals_floppy_disk_interface_t>;
//-------------------------------------------------
// ROM( micro_peripherals_floppy_disk_interface )
//-------------------------------------------------
ROM_START( micro_peripherals_floppy_disk_interface )
ROM_REGION( 0x8000, "rom", 0 )
ROM_DEFAULT_BIOS("v53e")
ROM_SYSTEM_BIOS( 0, "v53e", "v5.3E" )
ROMX_LOAD( "microp_disk system_v5.3e_1985.rom", 0x0000, 0x8000, CRC(9a8d8fa7) SHA1(f9f5e5d55f3046f63b4eae59222b81290d626e72), ROM_BIOS(1) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *micro_peripherals_floppy_disk_interface_t::device_rom_region() const
{
return ROM_NAME( micro_peripherals_floppy_disk_interface );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// micro_peripherals_floppy_disk_interface_t - constructor
//-------------------------------------------------
micro_peripherals_floppy_disk_interface_t::micro_peripherals_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE, "Micro Peripherals Floppy Disk Interface", tag, owner, clock, "ql_mpfdi", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void micro_peripherals_floppy_disk_interface_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 micro_peripherals_floppy_disk_interface_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void micro_peripherals_floppy_disk_interface_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

56
src/emu/bus/ql/mp_fdi.h Normal file
View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Micro Peripherals Floppy Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE__
#define __MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> micro_peripherals_floppy_disk_interface_t
class micro_peripherals_floppy_disk_interface_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
micro_peripherals_floppy_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
micro_peripherals_floppy_disk_interface_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type MICRO_PERIPHERALS_FLOPPY_DISK_INTERFACE;
#endif

View File

@ -0,0 +1,84 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
OPD Basic Master emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "opd_basic_master.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type OPD_BASIC_MASTER = &device_creator<opd_basic_master_t>;
//-------------------------------------------------
// ROM( opd_basic_master )
//-------------------------------------------------
ROM_START( opd_basic_master )
ROM_REGION( 0x10000, "rom", 0 )
ROM_LOAD( "opd_basic_master_1984.rom", 0x00000, 0x10000, CRC(7e534c0d) SHA1(de485e89272e3b51086967333cda9de806ba3876) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *opd_basic_master_t::device_rom_region() const
{
return ROM_NAME( opd_basic_master );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// opd_basic_master_t - constructor
//-------------------------------------------------
opd_basic_master_t::opd_basic_master_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, OPD_BASIC_MASTER, "OPD Basic Master", tag, owner, clock, "ql_opdbm", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void opd_basic_master_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 opd_basic_master_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void opd_basic_master_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
OPD Basic Master emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __OPD_BASIC_MASTER__
#define __OPD_BASIC_MASTER__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> opd_basic_master_t
class opd_basic_master_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
opd_basic_master_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
opd_basic_master_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type OPD_BASIC_MASTER;
#endif

View File

@ -0,0 +1,86 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
PCML Q+ Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "pcml_qdisk.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type PCML_Q_DISK_INTERFACE = &device_creator<pcml_q_disk_interface_t>;
//-------------------------------------------------
// ROM( pcml_q_disk_interface )
//-------------------------------------------------
ROM_START( pcml_q_disk_interface )
ROM_REGION( 0x4000, "rom", 0 )
ROM_DEFAULT_BIOS("v114")
ROM_SYSTEM_BIOS( 0, "v114", "v1.14" )
ROMX_LOAD( "pcml_diskram system_v1.14_1984.rom", 0x0000, 0x4000, CRC(e38b41dd) SHA1(d2038f0b1a62e8e65ec86660d03c25489ce40274), ROM_BIOS(1) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *pcml_q_disk_interface_t::device_rom_region() const
{
return ROM_NAME( pcml_q_disk_interface );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// pcml_q_disk_interface_t - constructor
//-------------------------------------------------
pcml_q_disk_interface_t::pcml_q_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, PCML_Q_DISK_INTERFACE, "PCML Q+ Disk Interface", tag, owner, clock, "ql_pcmlqdi", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void pcml_q_disk_interface_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 pcml_q_disk_interface_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void pcml_q_disk_interface_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
PCML Q+ Disk Interface emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __PCML_Q_DISK_INTERFACE__
#define __PCML_Q_DISK_INTERFACE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> pcml_q_disk_interface_t
class pcml_q_disk_interface_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
pcml_q_disk_interface_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
pcml_q_disk_interface_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type PCML_Q_DISK_INTERFACE;
#endif

86
src/emu/bus/ql/qubide.c Normal file
View File

@ -0,0 +1,86 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Qubbesoft QubIDE emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#include "qubide.h"
//**************************************************************************
// DEVICE DEFINITIONS
//**************************************************************************
const device_type QUBIDE = &device_creator<qubide_t>;
//-------------------------------------------------
// ROM( qubide )
//-------------------------------------------------
ROM_START( qubide )
ROM_REGION( 0x4000, "rom", 0 )
ROM_DEFAULT_BIOS("v201")
ROM_SYSTEM_BIOS( 0, "v201", "v2.01" )
ROMX_LOAD( "qb201_16k.rom", 0x0000, 0x4000, CRC(6f1d62a6) SHA1(1708d85397422e2024daa1a3406cac685f46730d), ROM_BIOS(1) )
ROM_END
//-------------------------------------------------
// rom_region - device-specific ROM region
//-------------------------------------------------
const rom_entry *qubide_t::device_rom_region() const
{
return ROM_NAME( qubide );
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// qubide_t - constructor
//-------------------------------------------------
qubide_t::qubide_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, QUBIDE, "QubIDE", tag, owner, clock, "ql_qubide", __FILE__),
device_ql_expansion_card_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void qubide_t::device_start()
{
}
//-------------------------------------------------
// read -
//-------------------------------------------------
UINT8 qubide_t::read(address_space &space, offs_t offset, UINT8 data)
{
return data;
}
//-------------------------------------------------
// write -
//-------------------------------------------------
void qubide_t::write(address_space &space, offs_t offset, UINT8 data)
{
}

56
src/emu/bus/ql/qubide.h Normal file
View File

@ -0,0 +1,56 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Qubbesoft QubIDE emulation
Copyright MESS Team.
Visit http://mamedev.org for licensing and usage restrictions.
**********************************************************************/
#pragma once
#ifndef __QUBIDE__
#define __QUBIDE__
#include "exp.h"
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
// ======================> qubide_t
class qubide_t : public device_t,
public device_ql_expansion_card_interface
{
public:
// construction/destruction
qubide_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
qubide_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int ram_size);
// optional information overrides
virtual const rom_entry *device_rom_region() const;
protected:
// device-level overrides
virtual void device_start();
// 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:
};
// device type definition
extern const device_type QUBIDE;
#endif

View File

@ -128,9 +128,12 @@ void ql_rom_cartridge_slot_t::get_default_card_software(astring &result)
//-------------------------------------------------
// slot devices
#include "miracle_hd.h"
#include "std.h"
SLOT_INTERFACE_START( ql_rom_cartridge_cards )
SLOT_INTERFACE("mhd", MIRACLE_HARD_DISK)
// the following need ROMs from the software list
SLOT_INTERFACE_INTERNAL("standard", QL_STANDARD_ROM_CARTRIDGE)
SLOT_INTERFACE_END