mc6845: add AMS40489 CRTC

This commit is contained in:
mahlemiut 2015-11-27 21:58:03 +13:00
parent 623bbe98dc
commit ff29765fd9
2 changed files with 31 additions and 0 deletions

View File

@ -55,6 +55,7 @@ const device_type SY6545_1 = &device_creator<sy6545_1_device>;
const device_type SY6845E = &device_creator<sy6845e_device>;
const device_type HD6345 = &device_creator<hd6345_device>;
const device_type AMS40041 = &device_creator<ams40041_device>;
const device_type AMS40489 = &device_creator<ams40489_device>;
const device_type MOS8563 = &device_creator<mos8563_device>;
const device_type MOS8568 = &device_creator<mos8568_device>;
@ -1244,6 +1245,18 @@ void ams40041_device::device_start()
m_supports_transparent = false;
}
void ams40489_device::device_start()
{
mc6845_device::device_start();
m_supports_disp_start_addr_r = true;
m_supports_vert_sync_width = false;
m_supports_status_reg_d5 = false;
m_supports_status_reg_d6 = false;
m_supports_status_reg_d7 = false;
m_supports_transparent = false;
}
void mos8563_device::device_start()
{
@ -1350,6 +1363,7 @@ void sy6545_1_device::device_reset() { mc6845_device::device_reset(); }
void sy6845e_device::device_reset() { mc6845_device::device_reset(); }
void hd6345_device::device_reset() { mc6845_device::device_reset(); }
void ams40041_device::device_reset() { mc6845_device::device_reset(); }
void ams40489_device::device_reset() { mc6845_device::device_reset(); }
void mos8563_device::device_reset()
{
@ -1434,6 +1448,11 @@ ams40041_device::ams40041_device(const machine_config &mconfig, const char *tag,
{
}
ams40489_device::ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: mc6845_device(mconfig, AMS40489, "AMS40489 ASIC (CRTC)", tag, owner, clock, "ams40489", __FILE__)
{
}
mos8563_device::mos8563_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
: mc6845_device(mconfig, type, name, tag, owner, clock, shortname, source),

View File

@ -98,6 +98,7 @@ class mc6845_device : public device_t,
friend class sy6845e_device;
friend class hd6345_device;
friend class ams40041_device;
friend class ams40489_device;
public:
// construction/destruction
@ -419,6 +420,16 @@ protected:
virtual void device_reset();
};
class ams40489_device : public mc6845_device
{
public:
ams40489_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
protected:
virtual void device_start();
virtual void device_reset();
};
class mos8563_device : public mc6845_device,
public device_memory_interface
{
@ -505,6 +516,7 @@ extern const device_type SY6545_1;
extern const device_type SY6845E;
extern const device_type HD6345;
extern const device_type AMS40041;
extern const device_type AMS40489;
extern const device_type MOS8563;
extern const device_type MOS8568;