summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2017-02-11 23:04:57 +1100
committer Vas Crabb <vas@vastheman.com>2017-02-11 23:04:57 +1100
commit32e28a68d6089c6ce1ba7084a164901065cf1730 (patch)
tree9891f75a8a31dfdefe156e1c75d7dd167d4a5d64 /src/devices/imagedev
parentf86b81cf8e873d39f1ef4ec1d9967e4f6a282ee0 (diff)
sitcom: hook up LEDs to PIA outputs to show state visually, softlist a
buch of tutorial programs (mostly displaying patterns on the LEDs)
Diffstat (limited to 'src/devices/imagedev')
-rw-r--r--src/devices/imagedev/bitbngr.cpp3
-rw-r--r--src/devices/imagedev/bitbngr.h15
2 files changed, 14 insertions, 4 deletions
diff --git a/src/devices/imagedev/bitbngr.cpp b/src/devices/imagedev/bitbngr.cpp
index eddf94e0fca..eb56d7251f8 100644
--- a/src/devices/imagedev/bitbngr.cpp
+++ b/src/devices/imagedev/bitbngr.cpp
@@ -23,7 +23,8 @@ const device_type BITBANGER = &device_creator<bitbanger_device>;
bitbanger_device::bitbanger_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, BITBANGER, "Bitbanger", tag, owner, clock, "bitbanger", __FILE__),
- device_image_interface(mconfig, *this)
+ device_image_interface(mconfig, *this),
+ m_interface(nullptr)
{
}
diff --git a/src/devices/imagedev/bitbngr.h b/src/devices/imagedev/bitbngr.h
index fd7b179b14a..85992844859 100644
--- a/src/devices/imagedev/bitbngr.h
+++ b/src/devices/imagedev/bitbngr.h
@@ -6,13 +6,15 @@
*********************************************************************/
-#ifndef __BITBNGR_H__
-#define __BITBNGR_H__
+#ifndef MAME_DEVICES_IMAGEDEV_BITBNGR_H
+#define MAME_DEVICES_IMAGEDEV_BITBNGR_H
class bitbanger_device : public device_t,
public device_image_interface
{
public:
+ static void static_set_interface(device_t &device, const char *_interface) { downcast<bitbanger_device &>(device).m_interface = _interface; }
+
// construction/destruction
bitbanger_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -28,6 +30,7 @@ public:
virtual bool is_creatable() const override { return 1; }
virtual bool must_be_loaded() const override { return 0; }
virtual bool is_reset_on_load() const override { return 0; }
+ virtual const char *image_interface() const override { return m_interface; }
virtual const char *file_extensions() const override { return ""; }
void output(uint8_t data);
@@ -37,9 +40,15 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_config_complete() override;
+
+private:
+ char const *m_interface;
};
+#define MCFG_BITBANGER_INTERFACE(_interface) \
+ bitbanger_image_device::static_set_interface(*device, _interface);
+
// device type definition
extern const device_type BITBANGER;
-#endif /* __BITBNGR_H__ */
+#endif // MAME_DEVICES_IMAGEDEV_BITBNGR_H