diff options
Diffstat (limited to 'src/mess/includes/coco12.h')
-rw-r--r-- | src/mess/includes/coco12.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/mess/includes/coco12.h b/src/mess/includes/coco12.h new file mode 100644 index 00000000000..3b02ac5f03d --- /dev/null +++ b/src/mess/includes/coco12.h @@ -0,0 +1,62 @@ +/*************************************************************************** + + coco12.h + + TRS-80 Radio Shack Color Computer 1/2 Family + +***************************************************************************/ + +#pragma once + +#ifndef __COCO12__ +#define __COCO12__ + + +#include "includes/coco.h" +#include "machine/6883sam.h" +#include "video/mc6847.h" + + + +//************************************************************************** +// MACROS / CONSTANTS +//************************************************************************** + +#define SAM_TAG "sam" +#define VDG_TAG "vdg" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +class coco12_state : public coco_state +{ +public: + coco12_state(const machine_config &mconfig, device_type type, const char *tag); + + required_device<sam6883_device> m_sam; + required_device<mc6847_base_device> m_vdg; + + static const mc6847_interface mc6847_config; + static const sam6883_interface sam6883_config; + +protected: + virtual void device_start(); + virtual void update_cart_base(UINT8 *cart_base); + + /* PIA1 */ + virtual void pia1_pb_changed(void); + +private: + DECLARE_WRITE_LINE_MEMBER( horizontal_sync ); + DECLARE_WRITE_LINE_MEMBER( field_sync ); + + DECLARE_READ8_MEMBER( sam_read ); + + void configure_sam(void); +}; + + +#endif /* __COCO12__ */ |