mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
dp8344: Split into two device types (only nominally different for now) (nw)
This commit is contained in:
parent
ac55cbc84d
commit
968130b847
@ -47,7 +47,9 @@
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(DP8344, dp8344_device, "dp8344", "DP8344 BCP")
|
||||
// device type definitions
|
||||
DEFINE_DEVICE_TYPE(DP8344A, dp8344a_device, "dp8344a", "DP8344A BCP")
|
||||
DEFINE_DEVICE_TYPE(DP8344B, dp8344b_device, "dp8344b", "DP8344B BCP")
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
@ -60,8 +62,8 @@ ALLOW_SAVE_TYPE(dp8344_device::inst_state);
|
||||
// dp8344_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
dp8344_device::dp8344_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: cpu_device(mconfig, DP8344, tag, owner, clock)
|
||||
dp8344_device::dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
|
||||
: cpu_device(mconfig, type, tag, owner, clock)
|
||||
, m_inst_config("instruction", ENDIANNESS_LITTLE, 16, 16, -1)
|
||||
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
|
||||
, m_inst_space(nullptr)
|
||||
@ -112,6 +114,27 @@ dp8344_device::dp8344_device(const machine_config &mconfig, const char *tag, dev
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dp8344a_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
dp8344a_device::dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: dp8344_device(mconfig, DP8344A, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// dp8344b_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
dp8344b_device::dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||
: dp8344_device(mconfig, DP8344B, tag, owner, clock)
|
||||
{
|
||||
// TODO: emulate differences between DP8344A and DP8344B
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// memory_space_config - return a vector of
|
||||
// configuration structures for memory spaces
|
||||
|
@ -45,9 +45,6 @@ public:
|
||||
BCP_ASP, BCP_DSP
|
||||
};
|
||||
|
||||
// construction/destruction
|
||||
dp8344_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
// callback configuration
|
||||
auto birq_out_cb() { return m_birq_out_cb.bind(); }
|
||||
auto data_out_cb() { return m_data_out_cb.bind(); }
|
||||
@ -64,6 +61,9 @@ public:
|
||||
void remote_write(offs_t offset, u8 data);
|
||||
|
||||
protected:
|
||||
// construction/destruction
|
||||
dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
// device-specific overrides
|
||||
virtual void device_resolve_objects() override;
|
||||
virtual void device_start() override;
|
||||
@ -212,7 +212,26 @@ private:
|
||||
u8 m_tfifo_head;
|
||||
};
|
||||
|
||||
// device type declaration
|
||||
DECLARE_DEVICE_TYPE(DP8344, dp8344_device)
|
||||
// ======================> dp8344a_device
|
||||
|
||||
class dp8344a_device : public dp8344_device
|
||||
{
|
||||
public:
|
||||
// device type constructor
|
||||
dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
// ======================> dp8344b_device
|
||||
|
||||
class dp8344b_device : public dp8344_device
|
||||
{
|
||||
public:
|
||||
// device type constructor
|
||||
dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
};
|
||||
|
||||
// device type declarations
|
||||
DECLARE_DEVICE_TYPE(DP8344A, dp8344a_device)
|
||||
DECLARE_DEVICE_TYPE(DP8344B, dp8344b_device)
|
||||
|
||||
#endif // MAME_CPU_BCP_DP8344_H
|
||||
|
@ -50,7 +50,7 @@ void cbnt2039_state::cbnt2039(machine_config &config)
|
||||
{
|
||||
//F8680(config, m_maincpu, OSC1);
|
||||
|
||||
DP8344(config, m_bcp, 18.8696_MHz_XTAL); // DP8344BV; Y1 = "RXD8.000"; Y2 = "RXD18.86"
|
||||
DP8344B(config, m_bcp, 18.8696_MHz_XTAL); // DP8344BV; Y1 = "RXD8.000"; Y2 = "RXD18.86"
|
||||
m_bcp->set_addrmap(AS_PROGRAM, &cbnt2039_state::bcp_prog_map);
|
||||
m_bcp->set_addrmap(AS_DATA, &cbnt2039_state::bcp_data_map);
|
||||
|
||||
|
@ -81,7 +81,7 @@ void is48x_state::is482(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &is48x_state::mem_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &is48x_state::io_map);
|
||||
|
||||
DP8344(config, m_bcp, 18.867_MHz_XTAL); // DP8344BV
|
||||
DP8344B(config, m_bcp, 18.867_MHz_XTAL); // DP8344BV
|
||||
m_bcp->set_addrmap(AS_PROGRAM, &is48x_state::bcp_inst_map);
|
||||
m_bcp->set_addrmap(AS_DATA, &is48x_state::bcp_data_map);
|
||||
|
||||
|
@ -60,7 +60,7 @@ INPUT_PORTS_END
|
||||
|
||||
void telex1192_state::telex1192(machine_config &config)
|
||||
{
|
||||
DP8344(config, m_bcp, 18.8696_MHz_XTAL);
|
||||
DP8344A(config, m_bcp, 18.8696_MHz_XTAL);
|
||||
m_bcp->set_addrmap(AS_PROGRAM, &telex1192_state::inst_map);
|
||||
m_bcp->set_addrmap(AS_DATA, &telex1192_state::data_map);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user