summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/sst39vfx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/machine/sst39vfx.c')
-rw-r--r--src/mess/machine/sst39vfx.c54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/mess/machine/sst39vfx.c b/src/mess/machine/sst39vfx.c
index 87317210772..34a801c96f2 100644
--- a/src/mess/machine/sst39vfx.c
+++ b/src/mess/machine/sst39vfx.c
@@ -41,7 +41,7 @@ INLINE sst39vfx_t *get_token(device_t *device)
assert(device != NULL);
assert(device->type() == SST39VF020 || device->type() == SST39VF400A);
- return (sst39vfx_t *) downcast<legacy_device_base *>(device)->token();
+ return (sst39vfx_t *) downcast<sst39vf020_device *>(device)->token();
}
INLINE const sst39vfx_config *get_config(device_t *device)
@@ -218,5 +218,53 @@ DEVICE_GET_INFO( sst39vf400a )
}
}
-DEFINE_LEGACY_DEVICE(SST39VF020, sst39vf020);
-DEFINE_LEGACY_DEVICE(SST39VF400A, sst39vf400a);
+const device_type SST39VF020 = &device_creator<sst39vf020_device>;
+
+sst39vf020_device::sst39vf020_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, SST39VF020, "SST39VF020", tag, owner, clock)
+{
+ m_token = global_alloc_array_clear(UINT8, sizeof(sst39vfx_t));
+}
+sst39vf020_device::sst39vf020_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, type, name, tag, owner, clock)
+{
+ m_token = global_alloc_array_clear(UINT8, sizeof(sst39vfx_t));
+}
+
+//-------------------------------------------------
+// device_config_complete - perform any
+// operations now that the configuration is
+// complete
+//-------------------------------------------------
+
+void sst39vf020_device::device_config_complete()
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void sst39vf020_device::device_start()
+{
+ DEVICE_START_NAME( sst39vf020 )(this);
+}
+
+
+const device_type SST39VF400A = &device_creator<sst39vf400a_device>;
+
+sst39vf400a_device::sst39vf400a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : sst39vf020_device(mconfig, SST39VF400A, "SST39VF400A", tag, owner, clock)
+{
+}
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void sst39vf400a_device::device_start()
+{
+ DEVICE_START_NAME( sst39vf400a )(this);
+}
+
+