summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/imagedev/bitbngr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/imagedev/bitbngr.c')
-rw-r--r--src/devices/imagedev/bitbngr.c103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/devices/imagedev/bitbngr.c b/src/devices/imagedev/bitbngr.c
new file mode 100644
index 00000000000..9577d9e1efd
--- /dev/null
+++ b/src/devices/imagedev/bitbngr.c
@@ -0,0 +1,103 @@
+// license:BSD-3-Clause
+// copyright-holders:Nathan Woods, Miodrag Milanovic
+/*********************************************************************
+
+ bitbngr.c
+
+*********************************************************************/
+
+#include "emu.h"
+#include "bitbngr.h"
+
+
+
+/***************************************************************************
+ IMPLEMENTATION
+***************************************************************************/
+
+const device_type BITBANGER = &device_creator<bitbanger_device>;
+
+/*-------------------------------------------------
+ ctor
+-------------------------------------------------*/
+
+bitbanger_device::bitbanger_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
+ device_t(mconfig, BITBANGER, "Bitbanger", tag, owner, clock, "bitbanger", __FILE__),
+ device_image_interface(mconfig, *this)
+{
+}
+
+
+
+/*-------------------------------------------------
+ native_output - outputs data to a file
+-------------------------------------------------*/
+
+void bitbanger_device::output(UINT8 data)
+{
+ if (exists())
+ {
+ fwrite(&data, 1);
+ }
+}
+
+
+/*-------------------------------------------------
+ native_input - inputs data from a file
+-------------------------------------------------*/
+
+UINT32 bitbanger_device::input(void *buffer, UINT32 length)
+{
+ if (exists())
+ {
+ return fread(buffer, length);
+ }
+ return 0;
+}
+
+
+
+/*-------------------------------------------------
+ device_start
+-------------------------------------------------*/
+
+void bitbanger_device::device_start(void)
+{
+}
+
+
+
+/*-------------------------------------------------
+ device_config_complete
+-------------------------------------------------*/
+
+void bitbanger_device::device_config_complete(void)
+{
+ update_names(BITBANGER, "bitbngr", "bitb");
+}
+
+
+
+/*-------------------------------------------------
+ call_load
+-------------------------------------------------*/
+
+bool bitbanger_device::call_load(void)
+{
+ /* we don't need to do anything special */
+ return IMAGE_INIT_PASS;
+}
+
+bool bitbanger_device::call_create(int format_type, option_resolution *format_options)
+{
+ /* we don't need to do anything special */
+ return IMAGE_INIT_PASS;
+}
+
+/*-------------------------------------------------
+ call_unload
+-------------------------------------------------*/
+
+void bitbanger_device::call_unload(void)
+{
+}