From 33e71d9ae6e1245a45b42fc43aaddae46adbc825 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 3 Aug 2019 10:53:07 -0400 Subject: am8052: Skeleton device implementation (inadvertently omitted from 6a3e79f9a73583db5a5922592c26a054f5aed05f, nw) --- src/devices/video/am8052.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++ src/devices/video/am8052.h | 42 +++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 src/devices/video/am8052.cpp create mode 100644 src/devices/video/am8052.h diff --git a/src/devices/video/am8052.cpp b/src/devices/video/am8052.cpp new file mode 100644 index 00000000000..8f12cbce5f7 --- /dev/null +++ b/src/devices/video/am8052.cpp @@ -0,0 +1,64 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/********************************************************************** + + AMD Am8052 Alphanumeric CRT Controller (CRTC) + + Skeleton device. + +**********************************************************************/ + +#include "emu.h" +#include "video/am8052.h" +//#include "screen.h" + +//************************************************************************** +// GLOBAL VARIABLES +//************************************************************************** + +// device type definition +DEFINE_DEVICE_TYPE(AM8052, am8052_device, "am8052", "Am8052 CRTC") + +//************************************************************************** +// DEVICE IMPLEMENTATION +//************************************************************************** + +//------------------------------------------------- +// am8052_device - constructor +//------------------------------------------------- + +am8052_device::am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) + : device_t(mconfig, AM8052, tag, owner, clock) + , m_pointer(0xffff) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void am8052_device::device_start() +{ + save_item(NAME(m_pointer)); +} + + +//------------------------------------------------- +// pointer_w - set pointer register +//------------------------------------------------- + +void am8052_device::pointer_w(u16 data) +{ + m_pointer = data; +} + + +//------------------------------------------------- +// data_w - write to data register +//------------------------------------------------- + +void am8052_device::data_w(u16 data) +{ + logerror("%s: Register %04X = %04X\n", machine().describe_context(), m_pointer, data); +} diff --git a/src/devices/video/am8052.h b/src/devices/video/am8052.h new file mode 100644 index 00000000000..22fac7914f2 --- /dev/null +++ b/src/devices/video/am8052.h @@ -0,0 +1,42 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/********************************************************************** + + AMD Am8052 Alphanumeric CRT Controller (CRTC) + +**********************************************************************/ + +#ifndef MAME_VIDEO_AM8052_H +#define MAME_VIDEO_AM8052_H + +#pragma once + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> am8052_device + +class am8052_device : public device_t +{ +public: + // device constructor + am8052_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + + // read/write handlers + void pointer_w(u16 data); + void data_w(u16 data); + +protected: + // device-specific overrides + virtual void device_start() override; + +private: + // internal state + u16 m_pointer; +}; + +// device type declarations +DECLARE_DEVICE_TYPE(AM8052, am8052_device) + +#endif // MAME_VIDEO_AM8052_H -- cgit v1.2.3