summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/nec/v25.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/nec/v25.h')
-rw-r--r--src/devices/cpu/nec/v25.h44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/devices/cpu/nec/v25.h b/src/devices/cpu/nec/v25.h
index c5cc0b5ee2a..00bf192f22f 100644
--- a/src/devices/cpu/nec/v25.h
+++ b/src/devices/cpu/nec/v25.h
@@ -1,8 +1,10 @@
// license:BSD-3-Clause
// copyright-holders:Bryan McPhail, Alex W. Jackson
/* ASG 971222 -- rewrote this interface */
-#ifndef __NEC_V25_H_
-#define __NEC_V25_H_
+#ifndef MAME_CPU_NEC_V25_H
+#define MAME_CPU_NEC_V25_H
+
+#pragma once
#define NEC_INPUT_LINE_INTP0 10
@@ -48,24 +50,24 @@ enum
class v25_common_device : public cpu_device
{
public:
- // construction/destruction
- v25_common_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, uint32_t clock, const char *shortname, bool is_16bit, offs_t fetch_xor, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type);
-
// static configuration helpers
static void set_decryption_table(device_t &device, const uint8_t *decryption_table) { downcast<v25_common_device &>(device).m_v25v35_decryptiontable = decryption_table; }
- template<class _Object> static devcb_base & set_pt_in_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_pt_in.set_callback(object); }
- template<class _Object> static devcb_base & set_p0_in_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p0_in.set_callback(object); }
- template<class _Object> static devcb_base & set_p1_in_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p1_in.set_callback(object); }
- template<class _Object> static devcb_base & set_p2_in_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p2_in.set_callback(object); }
+ template <class Object> static devcb_base & set_pt_in_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_pt_in.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base & set_p0_in_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p0_in.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base & set_p1_in_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p1_in.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base & set_p2_in_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p2_in.set_callback(std::forward<Object>(cb)); }
- template<class _Object> static devcb_base & set_p0_out_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p0_out.set_callback(object); }
- template<class _Object> static devcb_base & set_p1_out_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p1_out.set_callback(object); }
- template<class _Object> static devcb_base & set_p2_out_cb(device_t &device, _Object object) { return downcast<v25_common_device &>(device).m_p2_out.set_callback(object); }
+ template <class Object> static devcb_base & set_p0_out_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p0_out.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base & set_p1_out_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p1_out.set_callback(std::forward<Object>(cb)); }
+ template <class Object> static devcb_base & set_p2_out_cb(device_t &device, Object &&cb) { return downcast<v25_common_device &>(device).m_p2_out.set_callback(std::forward<Object>(cb)); }
TIMER_CALLBACK_MEMBER(v25_timer_callback);
protected:
+ // construction/destruction
+ v25_common_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool is_16bit, offs_t fetch_xor, uint8_t prefetch_size, uint8_t prefetch_cycles, uint32_t chip_type);
+
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
@@ -98,12 +100,12 @@ private:
address_space_config m_program_config;
address_space_config m_io_config;
-/* internal RAM and register banks */
-union internalram
-{
- uint16_t w[128];
- uint8_t b[256];
-};
+ /* internal RAM and register banks */
+ union internalram
+ {
+ uint16_t w[128];
+ uint8_t b[256];
+ };
internalram m_ram;
offs_t m_fetch_xor;
@@ -487,8 +489,8 @@ public:
};
-extern const device_type V25;
-extern const device_type V35;
+DECLARE_DEVICE_TYPE(V25, v25_device)
+DECLARE_DEVICE_TYPE(V35, v35_device)
-#endif
+#endif // MAME_CPU_NEC_V25_H