(MESS) pc/xt/at: added basic implementation of the Programmers Development System ISA card. The PDS editor software requires the hardware present to start up. Some core work will need to be done to get any communications working, however. [Barry Rodewald]

This commit is contained in:
mahlemiut 2014-01-31 09:06:30 +00:00
parent 73debc51f4
commit 6ecea67cfa
6 changed files with 120 additions and 0 deletions

2
.gitattributes vendored
View File

@ -7989,6 +7989,8 @@ src/mess/machine/isa_ide.c svneol=native#text/plain
src/mess/machine/isa_ide.h svneol=native#text/plain
src/mess/machine/isa_mpu401.c svneol=native#text/plain
src/mess/machine/isa_mpu401.h svneol=native#text/plain
src/mess/machine/isa_pds.c svneol=native#text/plain
src/mess/machine/isa_pds.h svneol=native#text/plain
src/mess/machine/isa_sblaster.c svneol=native#text/plain
src/mess/machine/isa_sblaster.h svneol=native#text/plain
src/mess/machine/isa_ssi2001.c svneol=native#text/plain

View File

@ -38,6 +38,7 @@ SLOT_INTERFACE_START( pc_isa8_cards )
SLOT_INTERFACE("ibm_mfc", ISA8_IBM_MFC)
SLOT_INTERFACE("wd1002a_wx1", ISA8_WD1002A_WX1)
SLOT_INTERFACE("dectalk", ISA8_DECTALK)
SLOT_INTERFACE("pds", ISA8_PDS)
SLOT_INTERFACE_END
SLOT_INTERFACE_START( pc_isa16_cards )
@ -67,6 +68,7 @@ SLOT_INTERFACE_START( pc_isa16_cards )
SLOT_INTERFACE("ibm_mfc", ISA8_IBM_MFC)
SLOT_INTERFACE("fdcsmc", ISA8_FDC_SMC)
SLOT_INTERFACE("dectalk", ISA8_DECTALK)
SLOT_INTERFACE("pds", ISA8_PDS)
// 16-bit
SLOT_INTERFACE("ide", ISA16_IDE)
SLOT_INTERFACE("ne2000", NE2000)

View File

@ -52,6 +52,7 @@
// communication ports
#include "machine/pc_lpt.h"
#include "machine/isa_com.h"
#include "machine/isa_pds.h"
// other
#include "machine/isa_finalchs.h"

View File

@ -0,0 +1,76 @@
/*
* isa_pds.c - Programmers Development System 8-bit ISA card
*
* Used to connect up to two 8-bit systems to the PC, allowing the download of assembled code directly to the
* target 8-bit system (Spectrum, CPC, MSX, C64 and maybe the BBC?)
*
* The editor software require the ISA card to be present.
*
* The PC end hardware consists of an 8-bit ISA card containing an 8255 PPI hooked up to the two connectors on the
* back of the card.
*
* The 8-bit end hardware consists of an expansion device containing a Z80PIO.
*
* Created on: 31/01/2014
*/
#include "isa_pds.h"
const device_type ISA8_PDS = &device_creator<isa8_pds_device>;
isa8_pds_device::isa8_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: device_t(mconfig, ISA8_PDS, "Programmers Development System", tag, owner, clock, "isa_pds", __FILE__),
device_isa8_card_interface( mconfig, *this ),
m_ppi(*this,"pds_ppi")
{
}
READ8_MEMBER(isa8_pds_device::ppi_r)
{
if(!(offset & 0x01))
return m_ppi->read(space,offset/2);
return 0xff;
}
WRITE8_MEMBER(isa8_pds_device::ppi_w)
{
if(!(offset & 0x01))
m_ppi->write(space,offset/2,data);
}
void isa8_pds_device::device_start()
{
set_isa_device();
m_isa->install_device(0x0300, 0x0307, 0, 0, read8_delegate(FUNC(isa8_pds_device::ppi_r),this), write8_delegate(FUNC(isa8_pds_device::ppi_w),this) );
}
void isa8_pds_device::device_reset()
{
}
void isa8_pds_device::device_stop()
{
}
I8255_INTERFACE(pds_ppi_intf)
{
DEVCB_NULL, //m_in_pa_cb;
DEVCB_NULL, //m_out_pa_cb;
DEVCB_NULL, //m_in_pb_cb;
DEVCB_NULL, //m_out_pb_cb;
DEVCB_NULL, //m_in_pc_cb;
DEVCB_NULL, //m_out_pc_cb;
};
static MACHINE_CONFIG_FRAGMENT( pds_config )
MCFG_I8255_ADD("pds_ppi", pds_ppi_intf)
MACHINE_CONFIG_END
machine_config_constructor isa8_pds_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( pds_config );
}

View File

@ -0,0 +1,38 @@
/*
* isa_pds.h
*
* Created on: 31/01/2014
*/
#ifndef ISA_PDS_H_
#define ISA_PDS_H_
#include "emu.h"
#include "machine/isa.h"
#include "machine/i8255.h"
class isa8_pds_device :
public device_t,
public device_isa8_card_interface
{
public:
isa8_pds_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
DECLARE_READ8_MEMBER(ppi_r);
DECLARE_WRITE8_MEMBER(ppi_w);
// optional information overrides
virtual machine_config_constructor device_mconfig_additions() const;
required_device<i8255_device> m_ppi;
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
virtual void device_stop();
};
extern const device_type ISA8_PDS;
#endif /* ISA_PDS_H_ */

View File

@ -849,6 +849,7 @@ $(MESSOBJ)/isa.a: \
$(MESS_MACHINE)/isa_aha1542.o \
$(MESS_MACHINE)/isa_wd1002a_wx1.o\
$(MESS_MACHINE)/isa_dectalk.o \
$(MESS_MACHINE)/isa_pds.o \
$(MESS_VIDEO)/isa_cga.o \
$(MESS_VIDEO)/isa_svga_cirrus.o \
$(MESS_VIDEO)/isa_ega.o \