diff options
author | Vas Crabb <vas@vastheman.com> | 2021-09-07 23:15:50 +1000 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2021-09-07 23:15:50 +1000 |
commit | 142f96023889fc2c09a01318947f81cdb0e0f424 (patch) | |
tree | 39135ee898b7213937dbc779528f3550982b6a5a | |
parent | d6873bfaccee1b1c5bb8e6ec9127c4ed860d8564 (diff) |
-Reworked device type definition macros a little and added more Doxygen.
* Reworked device type definition macros to eliminate one level of
indirection when using device types by name.
* Fixed a potential initialisation order issue that could affect device
parent ROMs.
* Eliminated the need for DEFINE_DEVICE_TYPE_NS - just use
DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_PRIVATE with fully-qualified
names.
* Changed device type aliases to static auto references in the headers.
* Added Doxygen comments for system/device definition macros and system
flags.
-Added ROM parents for m68705u3 and a2diskiing.
93 files changed, 584 insertions, 202 deletions
diff --git a/src/devices/bus/a2bus/a2diskiing.h b/src/devices/bus/a2bus/a2diskiing.h index 94025b0854f..a3b07e78063 100644 --- a/src/devices/bus/a2bus/a2diskiing.h +++ b/src/devices/bus/a2bus/a2diskiing.h @@ -14,9 +14,13 @@ #pragma once #include "a2bus.h" +#include "a2diskii.h" + +#include "machine/wozfdc.h" #include "imagedev/floppy.h" + #include "formats/flopimg.h" -#include "machine/wozfdc.h" + //************************************************************************** // TYPE DEFINITIONS @@ -54,6 +58,8 @@ class a2bus_diskiing_device: public diskiing_device { public: a2bus_diskiing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + static auto parent_rom_device_type() { return &A2BUS_DISKII; } }; class a2bus_diskiing13_device: public diskiing_device diff --git a/src/devices/bus/amiga/keyboard/a1200.cpp b/src/devices/bus/amiga/keyboard/a1200.cpp index e9107fbe5be..4877903d73a 100644 --- a/src/devices/bus/amiga/keyboard/a1200.cpp +++ b/src/devices/bus/amiga/keyboard/a1200.cpp @@ -57,7 +57,7 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE_NS(A1200_KBD, bus::amiga::keyboard, a1200_kbd_device, "a1200kbd_rb", "Amiga 1200 Keyboard Rev B") +DEFINE_DEVICE_TYPE(A1200_KBD, bus::amiga::keyboard::a1200_kbd_device, "a1200kbd_rb", "Amiga 1200 Keyboard Rev B") diff --git a/src/devices/bus/amiga/keyboard/a2000.cpp b/src/devices/bus/amiga/keyboard/a2000.cpp index b9728ca7f26..eb0ab7c5058 100644 --- a/src/devices/bus/amiga/keyboard/a2000.cpp +++ b/src/devices/bus/amiga/keyboard/a2000.cpp @@ -74,11 +74,11 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE_NS(A2000_KBD_G80_US, bus::amiga::keyboard, a2000_kbd_g80_us_device, "a2000kbd_g80_us", "Amiga 2000 Keyboard (Cherry - U.S./Canada)") -DEFINE_DEVICE_TYPE_NS(A2000_KBD_G80_DE, bus::amiga::keyboard, a2000_kbd_g80_de_device, "a2000kbd_g80_de", "Amiga 2000 Keyboard (Cherry - Germany/Austria)") -DEFINE_DEVICE_TYPE_NS(A2000_KBD_G80_SE, bus::amiga::keyboard, a2000_kbd_g80_se_device, "a2000kbd_g80_se", "Amiga 2000 Keyboard (Cherry - Sweden/Finland)") -DEFINE_DEVICE_TYPE_NS(A2000_KBD_G80_DK, bus::amiga::keyboard, a2000_kbd_g80_dk_device, "a2000kbd_g80_dk", "Amiga 2000 Keyboard (Cherry - Denmark)") -DEFINE_DEVICE_TYPE_NS(A2000_KBD_G80_GB, bus::amiga::keyboard, a2000_kbd_g80_gb_device, "a2000kbd_g80_gb", "Amiga 2000 Keyboard (Cherry - UK)") +DEFINE_DEVICE_TYPE(A2000_KBD_G80_US, bus::amiga::keyboard::a2000_kbd_g80_us_device, "a2000kbd_g80_us", "Amiga 2000 Keyboard (Cherry - U.S./Canada)") +DEFINE_DEVICE_TYPE(A2000_KBD_G80_DE, bus::amiga::keyboard::a2000_kbd_g80_de_device, "a2000kbd_g80_de", "Amiga 2000 Keyboard (Cherry - Germany/Austria)") +DEFINE_DEVICE_TYPE(A2000_KBD_G80_SE, bus::amiga::keyboard::a2000_kbd_g80_se_device, "a2000kbd_g80_se", "Amiga 2000 Keyboard (Cherry - Sweden/Finland)") +DEFINE_DEVICE_TYPE(A2000_KBD_G80_DK, bus::amiga::keyboard::a2000_kbd_g80_dk_device, "a2000kbd_g80_dk", "Amiga 2000 Keyboard (Cherry - Denmark)") +DEFINE_DEVICE_TYPE(A2000_KBD_G80_GB, bus::amiga::keyboard::a2000_kbd_g80_gb_device, "a2000kbd_g80_gb", "Amiga 2000 Keyboard (Cherry - UK)") diff --git a/src/devices/bus/amiga/zorro/a2052.cpp b/src/devices/bus/amiga/zorro/a2052.cpp index 69b5f324d18..379a75270c5 100644 --- a/src/devices/bus/amiga/zorro/a2052.cpp +++ b/src/devices/bus/amiga/zorro/a2052.cpp @@ -19,7 +19,7 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_A2052, bus::amiga::zorro, a2052_device, "zorro_a2052", "CBM A2052 Fast Memory") +DEFINE_DEVICE_TYPE(ZORRO_A2052, bus::amiga::zorro::a2052_device, "zorro_a2052", "CBM A2052 Fast Memory") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/a2058.cpp b/src/devices/bus/amiga/zorro/a2058.cpp index 34a587454d8..26d5f393222 100644 --- a/src/devices/bus/amiga/zorro/a2058.cpp +++ b/src/devices/bus/amiga/zorro/a2058.cpp @@ -19,7 +19,7 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_A2058, bus::amiga::zorro, a2058_device, "zorro_a2058", "CBM A2058 Fast Memory") +DEFINE_DEVICE_TYPE(ZORRO_A2058, bus::amiga::zorro::a2058_device, "zorro_a2058", "CBM A2058 Fast Memory") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/a2065.cpp b/src/devices/bus/amiga/zorro/a2065.cpp index b99eb51ebfb..a76b289bb7f 100644 --- a/src/devices/bus/amiga/zorro/a2065.cpp +++ b/src/devices/bus/amiga/zorro/a2065.cpp @@ -24,7 +24,7 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_A2065, bus::amiga::zorro, a2065_device, "zorro_a2065", "CBM A2065 Ethernet Card") +DEFINE_DEVICE_TYPE(ZORRO_A2065, bus::amiga::zorro::a2065_device, "zorro_a2065", "CBM A2065 Ethernet Card") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/a2232.cpp b/src/devices/bus/amiga/zorro/a2232.cpp index 938b60ffb63..b9d6726bc7e 100644 --- a/src/devices/bus/amiga/zorro/a2232.cpp +++ b/src/devices/bus/amiga/zorro/a2232.cpp @@ -21,7 +21,7 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_A2232, bus::amiga::zorro, a2232_device, "zorro_a2232", "CBM A2232 Serial Card") +DEFINE_DEVICE_TYPE(ZORRO_A2232, bus::amiga::zorro::a2232_device, "zorro_a2232", "CBM A2232 Serial Card") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/a590.cpp b/src/devices/bus/amiga/zorro/a590.cpp index a956e845b90..3fe72c69a42 100644 --- a/src/devices/bus/amiga/zorro/a590.cpp +++ b/src/devices/bus/amiga/zorro/a590.cpp @@ -18,8 +18,8 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_A590, bus::amiga::zorro, a590_device, "zorro_a590", "CBM A590 HD Controller") -DEFINE_DEVICE_TYPE_NS(ZORRO_A2091, bus::amiga::zorro, a2091_device, "zorro_a2091", "CBM A2091 HD Controller") +DEFINE_DEVICE_TYPE(ZORRO_A590, bus::amiga::zorro::a590_device, "zorro_a590", "CBM A590 HD Controller") +DEFINE_DEVICE_TYPE(ZORRO_A2091, bus::amiga::zorro::a2091_device, "zorro_a2091", "CBM A2091 HD Controller") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/action_replay.cpp b/src/devices/bus/amiga/zorro/action_replay.cpp index 6fe65413709..9466305049d 100644 --- a/src/devices/bus/amiga/zorro/action_replay.cpp +++ b/src/devices/bus/amiga/zorro/action_replay.cpp @@ -22,9 +22,9 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_ACTION_REPLAY_MK1, bus::amiga::zorro, action_replay_mk1_device, "zorro_ar1", "Datel Action Replay MK-I") -DEFINE_DEVICE_TYPE_NS(ZORRO_ACTION_REPLAY_MK2, bus::amiga::zorro, action_replay_mk2_device, "zorro_ar2", "Datel Action Replay MK-II") -DEFINE_DEVICE_TYPE_NS(ZORRO_ACTION_REPLAY_MK3, bus::amiga::zorro, action_replay_mk3_device, "zorro_ar3", "Datel Action Replay MK-III") +DEFINE_DEVICE_TYPE(ZORRO_ACTION_REPLAY_MK1, bus::amiga::zorro::action_replay_mk1_device, "zorro_ar1", "Datel Action Replay MK-I") +DEFINE_DEVICE_TYPE(ZORRO_ACTION_REPLAY_MK2, bus::amiga::zorro::action_replay_mk2_device, "zorro_ar2", "Datel Action Replay MK-II") +DEFINE_DEVICE_TYPE(ZORRO_ACTION_REPLAY_MK3, bus::amiga::zorro::action_replay_mk3_device, "zorro_ar3", "Datel Action Replay MK-III") namespace bus::amiga::zorro { diff --git a/src/devices/bus/amiga/zorro/buddha.cpp b/src/devices/bus/amiga/zorro/buddha.cpp index 08e7df229ec..16a27d07ff2 100644 --- a/src/devices/bus/amiga/zorro/buddha.cpp +++ b/src/devices/bus/amiga/zorro/buddha.cpp @@ -33,7 +33,7 @@ // DEVICE DEFINITIONS //************************************************************************** -DEFINE_DEVICE_TYPE_NS(ZORRO_BUDDHA, bus::amiga::zorro, buddha_device, "zorro_buddha", "Buddha IDE controller") +DEFINE_DEVICE_TYPE(ZORRO_BUDDHA, bus::amiga::zorro::buddha_device, "zorro_buddha", "Buddha IDE controller") namespace bus::amiga::zorro { diff --git a/src/devices/bus/hexbus/hexbus.cpp b/src/devices/bus/hexbus/hexbus.cpp index b9dcfd29ef8..40189262457 100644 --- a/src/devices/bus/hexbus/hexbus.cpp +++ b/src/devices/bus/hexbus/hexbus.cpp @@ -158,7 +158,7 @@ #include "logmacro.h" // Hexbus instance -DEFINE_DEVICE_TYPE_NS(HEXBUS, bus::hexbus, hexbus_device, "hexbus", "Hexbus connector") +DEFINE_DEVICE_TYPE(HEXBUS, bus::hexbus::hexbus_device, "hexbus", "Hexbus connector") namespace bus::hexbus { diff --git a/src/devices/bus/hexbus/hx5102.cpp b/src/devices/bus/hexbus/hx5102.cpp index 69bfaf3dfaf..740b5f93f4c 100644 --- a/src/devices/bus/hexbus/hx5102.cpp +++ b/src/devices/bus/hexbus/hx5102.cpp @@ -107,7 +107,7 @@ #define MOTOR_TIMER 1 #define UNDEF -1 -DEFINE_DEVICE_TYPE_NS(HX5102, bus::hexbus, hx5102_device, "ti_hx5102", "TI Hexbus Floppy Drive") +DEFINE_DEVICE_TYPE(HX5102, bus::hexbus::hx5102_device, "ti_hx5102", "TI Hexbus Floppy Drive") namespace bus::hexbus { diff --git a/src/devices/bus/hexbus/tp0370.cpp b/src/devices/bus/hexbus/tp0370.cpp index 739d7c4a685..e4d1ac50863 100644 --- a/src/devices/bus/hexbus/tp0370.cpp +++ b/src/devices/bus/hexbus/tp0370.cpp @@ -128,7 +128,7 @@ enum #include "logmacro.h" // Hexbus instance -DEFINE_DEVICE_TYPE_NS(IBC, bus::hexbus, ibc_device, "ibc", "Intelligent Peripheral Bus Controller") +DEFINE_DEVICE_TYPE(IBC, bus::hexbus::ibc_device, "hexbus_ibc", "Intelligent Peripheral Bus Controller") namespace bus::hexbus { diff --git a/src/devices/bus/hp_dio/hp98265a.cpp b/src/devices/bus/hp_dio/hp98265a.cpp index 97f6b9bc945..b215a4c1152 100644 --- a/src/devices/bus/hp_dio/hp98265a.cpp +++ b/src/devices/bus/hp_dio/hp98265a.cpp @@ -17,7 +17,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_98265A, bus::hp_dio, dio16_98265a_device, "hp98265a", "HP98265A SCSI S16 Interface") +DEFINE_DEVICE_TYPE(HPDIO_98265A, bus::hp_dio::dio16_98265a_device, "hp98265a", "HP98265A SCSI S16 Interface") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98543.cpp b/src/devices/bus/hp_dio/hp98543.cpp index 6df0757f04f..a2bfb82f5ee 100644 --- a/src/devices/bus/hp_dio/hp98543.cpp +++ b/src/devices/bus/hp_dio/hp98543.cpp @@ -21,7 +21,7 @@ ROM_START(hp98543) ROM_LOAD("1818-3907.bin", 0x000000, 0x002000, CRC(5e2bf02a) SHA1(9ba9391cf39624ef8027ce42c84e100344b2a2b8)) ROM_END -DEFINE_DEVICE_TYPE_NS(HPDIO_98543, bus::hp_dio, dio16_98543_device, "dio98543", "HP98543 medium-res color DIO video card") +DEFINE_DEVICE_TYPE(HPDIO_98543, bus::hp_dio::dio16_98543_device, "dio98543", "HP98543 medium-res color DIO video card") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98544.cpp b/src/devices/bus/hp_dio/hp98544.cpp index 040e36637aa..420dc93919f 100644 --- a/src/devices/bus/hp_dio/hp98544.cpp +++ b/src/devices/bus/hp_dio/hp98544.cpp @@ -19,7 +19,7 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE_NS(HPDIO_98544, bus::hp_dio, dio16_98544_device, "dio98544", "HP98544 high-res monochrome DIO video card") +DEFINE_DEVICE_TYPE(HPDIO_98544, bus::hp_dio::dio16_98544_device, "dio98544", "HP98544 high-res monochrome DIO video card") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98550.cpp b/src/devices/bus/hp_dio/hp98550.cpp index b4a9af05a73..54b89418680 100644 --- a/src/devices/bus/hp_dio/hp98550.cpp +++ b/src/devices/bus/hp_dio/hp98550.cpp @@ -23,7 +23,7 @@ ROM_START(hp98550) ROM_LOAD("98550a.bin", 0x000000, 0x008000, CRC(9d639233) SHA1(d6b23a34850f24525ca5fb36de3deb91196d2dc5)) ROM_END -DEFINE_DEVICE_TYPE_NS(HPDIO_98550, bus::hp_dio, dio32_98550_device, "dio98550", "HP98550A high-res color DIO video card") +DEFINE_DEVICE_TYPE(HPDIO_98550, bus::hp_dio::dio32_98550_device, "dio98550", "HP98550A high-res color DIO video card") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98603a.cpp b/src/devices/bus/hp_dio/hp98603a.cpp index 791366d7639..37458c43c36 100644 --- a/src/devices/bus/hp_dio/hp98603a.cpp +++ b/src/devices/bus/hp_dio/hp98603a.cpp @@ -9,7 +9,7 @@ #include "emu.h" #include "hp98603a.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_98603A, bus::hp_dio, dio16_98603a_device, "dio98603a", "HP98603A BASIC 4.0 ROM card") +DEFINE_DEVICE_TYPE(HPDIO_98603A, bus::hp_dio::dio16_98603a_device, "dio98603a", "HP98603A BASIC 4.0 ROM card") #define HP98603A_ROM_REGION "98603a_rom" diff --git a/src/devices/bus/hp_dio/hp98603b.cpp b/src/devices/bus/hp_dio/hp98603b.cpp index e9ab716f30f..6210b3b0178 100644 --- a/src/devices/bus/hp_dio/hp98603b.cpp +++ b/src/devices/bus/hp_dio/hp98603b.cpp @@ -9,7 +9,7 @@ #include "emu.h" #include "hp98603b.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_98603B, bus::hp_dio, dio16_98603b_device, "dio98603b", "HP98603 BASIC ROM card") +DEFINE_DEVICE_TYPE(HPDIO_98603B, bus::hp_dio::dio16_98603b_device, "dio98603b", "HP98603 BASIC ROM card") #define HP98603B_ROM_REGION "98603b_rom" diff --git a/src/devices/bus/hp_dio/hp98620.cpp b/src/devices/bus/hp_dio/hp98620.cpp index 6a58ef2af78..88a8491fae8 100644 --- a/src/devices/bus/hp_dio/hp98620.cpp +++ b/src/devices/bus/hp_dio/hp98620.cpp @@ -13,7 +13,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_98620, bus::hp_dio, dio16_98620_device, "hp98620", "HP98620 DMA Controller") +DEFINE_DEVICE_TYPE(HPDIO_98620, bus::hp_dio::dio16_98620_device, "hp98620", "HP98620 DMA Controller") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98643.cpp b/src/devices/bus/hp_dio/hp98643.cpp index bba7cefebb5..f665303097a 100644 --- a/src/devices/bus/hp_dio/hp98643.cpp +++ b/src/devices/bus/hp_dio/hp98643.cpp @@ -13,7 +13,7 @@ //#define VERBOSE 1 #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_98643, bus::hp_dio, dio16_98643_device, "dio98643", "HP98643A LANIC Ethernet card") +DEFINE_DEVICE_TYPE(HPDIO_98643, bus::hp_dio::dio16_98643_device, "dio98643", "HP98643A LANIC Ethernet card") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp98644.cpp b/src/devices/bus/hp_dio/hp98644.cpp index 2896076d01f..d74b8c02fea 100644 --- a/src/devices/bus/hp_dio/hp98644.cpp +++ b/src/devices/bus/hp_dio/hp98644.cpp @@ -15,7 +15,7 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE_NS(HPDIO_98644, bus::hp_dio, dio16_98644_device, "dio98644", "HP98644A Asynchronous Serial Interface") +DEFINE_DEVICE_TYPE(HPDIO_98644, bus::hp_dio::dio16_98644_device, "dio98644", "HP98644A Asynchronous Serial Interface") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/hp_dio.cpp b/src/devices/bus/hp_dio/hp_dio.cpp index 75102828b01..647b28f83c9 100644 --- a/src/devices/bus/hp_dio/hp_dio.cpp +++ b/src/devices/bus/hp_dio/hp_dio.cpp @@ -23,10 +23,10 @@ // GLOBAL VARIABLES //************************************************************************** -DEFINE_DEVICE_TYPE_NS(DIO16_SLOT, bus::hp_dio, dio16_slot_device, "dio16_slot", "16-bit DIO slot") -DEFINE_DEVICE_TYPE_NS(DIO32_SLOT, bus::hp_dio, dio32_slot_device, "dio32_slot", "32-bit DIO-II slot") -DEFINE_DEVICE_TYPE_NS(DIO16, bus::hp_dio, dio16_device, "dio16", "16-bit DIO bus") -DEFINE_DEVICE_TYPE_NS(DIO32, bus::hp_dio, dio32_device, "dio32", "32-bit DIO-II bus") +DEFINE_DEVICE_TYPE(DIO16_SLOT, bus::hp_dio::dio16_slot_device, "dio16_slot", "16-bit DIO slot") +DEFINE_DEVICE_TYPE(DIO32_SLOT, bus::hp_dio::dio32_slot_device, "dio32_slot", "32-bit DIO-II slot") +DEFINE_DEVICE_TYPE(DIO16, bus::hp_dio::dio16_device, "dio16", "16-bit DIO bus") +DEFINE_DEVICE_TYPE(DIO32, bus::hp_dio::dio32_device, "dio32", "32-bit DIO-II bus") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_dio/human_interface.cpp b/src/devices/bus/hp_dio/human_interface.cpp index b084ac47e24..a0957977f10 100644 --- a/src/devices/bus/hp_dio/human_interface.cpp +++ b/src/devices/bus/hp_dio/human_interface.cpp @@ -19,7 +19,7 @@ //#define VERBOSE 1 #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(HPDIO_HUMAN_INTERFACE, bus::hp_dio, human_interface_device, "human_interface", "HP human interface card") +DEFINE_DEVICE_TYPE(HPDIO_HUMAN_INTERFACE, bus::hp_dio::human_interface_device, "human_interface", "HP human interface card") namespace bus::hp_dio { diff --git a/src/devices/bus/hp_hil/hlekbd.cpp b/src/devices/bus/hp_hil/hlekbd.cpp index 2a07bc083df..62278a45a7f 100644 --- a/src/devices/bus/hp_hil/hlekbd.cpp +++ b/src/devices/bus/hp_hil/hlekbd.cpp @@ -11,8 +11,8 @@ DEVICE TYPE GLOBALS ***************************************************************************/ -DEFINE_DEVICE_TYPE_NS(HP_IPC_HLE_KEYBOARD, bus::hp_hil, hle_hp_ipc_device, "hp_ipc_hle_kbd", "HP Integral Keyboard (HLE)") -DEFINE_DEVICE_TYPE_NS(HP_ITF_HLE_KEYBOARD, bus::hp_hil, hle_hp_itf_device, "hp_itf_hle_kbd", "HP ITF Keyboard") +DEFINE_DEVICE_TYPE(HP_IPC_HLE_KEYBOARD, bus::hp_hil::hle_hp_ipc_device, "hp_ipc_hle_kbd", "HP Integral Keyboard (HLE)") +DEFINE_DEVICE_TYPE(HP_ITF_HLE_KEYBOARD, bus::hp_hil::hle_hp_itf_device, "hp_itf_hle_kbd", "HP ITF Keyboard") namespace bus::hp_hil { diff --git a/src/devices/bus/hp_hil/hlemouse.cpp b/src/devices/bus/hp_hil/hlemouse.cpp index 76a1cbf7ef5..215912b5cc6 100644 --- a/src/devices/bus/hp_hil/hlemouse.cpp +++ b/src/devices/bus/hp_hil/hlemouse.cpp @@ -10,7 +10,7 @@ DEVICE TYPE GLOBALS ***************************************************************************/ -DEFINE_DEVICE_TYPE_NS(HP_46060B_MOUSE, bus::hp_hil, hle_hp_46060b_device, "hp_46060b", "HP 46060B Mouse") +DEFINE_DEVICE_TYPE(HP_46060B_MOUSE, bus::hp_hil::hle_hp_46060b_device, "hp_46060b", "HP 46060B Mouse") namespace bus::hp_hil { diff --git a/src/devices/bus/intellec4/insdatastor.cpp b/src/devices/bus/intellec4/insdatastor.cpp index 30a7554d1ab..55086054dcb 100644 --- a/src/devices/bus/intellec4/insdatastor.cpp +++ b/src/devices/bus/intellec4/insdatastor.cpp @@ -5,7 +5,7 @@ #include "insdatastor.h" -DEFINE_DEVICE_TYPE_NS(INTELLEC4_INST_DATA_STORAGE, bus::intellec4, imm4_22_device, "intlc4_imm4_22", "Intel imm4-22 Instruction/Data Storage Module") +DEFINE_DEVICE_TYPE(INTELLEC4_INST_DATA_STORAGE, bus::intellec4::imm4_22_device, "intlc4_imm4_22", "Intel imm4-22 Instruction/Data Storage Module") namespace bus::intellec4 { diff --git a/src/devices/bus/intellec4/intellec4.cpp b/src/devices/bus/intellec4/intellec4.cpp index c70c25b31c3..66807166782 100644 --- a/src/devices/bus/intellec4/intellec4.cpp +++ b/src/devices/bus/intellec4/intellec4.cpp @@ -7,8 +7,8 @@ #include <algorithm> -DEFINE_DEVICE_TYPE_NS(INTELLEC4_UNIV_SLOT, bus::intellec4, univ_slot_device, "intlc4univslot", "INTELLEC 4 Universal Slot") -DEFINE_DEVICE_TYPE_NS(INTELLEC4_UNIV_BUS, bus::intellec4, univ_bus_device, "intlc4univbus", "INTELLEC 4 Universal Bus") +DEFINE_DEVICE_TYPE(INTELLEC4_UNIV_SLOT, bus::intellec4::univ_slot_device, "intlc4univslot", "INTELLEC 4 Universal Slot") +DEFINE_DEVICE_TYPE(INTELLEC4_UNIV_BUS, bus::intellec4::univ_bus_device, "intlc4univbus", "INTELLEC 4 Universal Bus") namespace bus::intellec4 { diff --git a/src/devices/bus/intellec4/prommemory.cpp b/src/devices/bus/intellec4/prommemory.cpp index 7ce7dd962fd..e297006f241 100644 --- a/src/devices/bus/intellec4/prommemory.cpp +++ b/src/devices/bus/intellec4/prommemory.cpp @@ -5,7 +5,7 @@ #include "prommemory.h" -DEFINE_DEVICE_TYPE_NS(INTELLEC4_PROM_MEMORY, bus::intellec4, imm6_26_device, "intlc4_imm6_26", "Intel imm6-26 PROM Memory Module") +DEFINE_DEVICE_TYPE(INTELLEC4_PROM_MEMORY, bus::intellec4::imm6_26_device, "intlc4_imm6_26", "Intel imm6-26 PROM Memory Module") namespace bus::intellec4 { diff --git a/src/devices/bus/intellec4/tapereader.cpp b/src/devices/bus/intellec4/tapereader.cpp index 1f32815fbd5..52685bdf032 100644 --- a/src/devices/bus/intellec4/tapereader.cpp +++ b/src/devices/bus/intellec4/tapereader.cpp @@ -5,7 +5,7 @@ #include "tapereader.h" -DEFINE_DEVICE_TYPE_NS(INTELLEC4_TAPE_READER, bus::intellec4, imm4_90_device, "intlc4_imm4_90", "Intel imm4-90 High-Speed Paper Tape Reader") +DEFINE_DEVICE_TYPE(INTELLEC4_TAPE_READER, bus::intellec4::imm4_90_device, "intlc4_imm4_90", "Intel imm4-90 High-Speed Paper Tape Reader") namespace bus::intellec4 { diff --git a/src/devices/bus/interpro/keyboard/hle.cpp b/src/devices/bus/interpro/keyboard/hle.cpp index 66fa8e44a30..89217cc10ad 100644 --- a/src/devices/bus/interpro/keyboard/hle.cpp +++ b/src/devices/bus/interpro/keyboard/hle.cpp @@ -120,7 +120,7 @@ #define VERBOSE 0 #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(INTERPRO_HLE_EN_US_KEYBOARD, bus::interpro::keyboard, hle_en_us_device, "kbd_hle_en_us", "InterPro Keyboard (HLE, US English)") +DEFINE_DEVICE_TYPE(INTERPRO_HLE_EN_US_KEYBOARD, bus::interpro::keyboard::hle_en_us_device, "kbd_hle_en_us", "InterPro Keyboard (HLE, US English)") namespace bus::interpro::keyboard { diff --git a/src/devices/bus/interpro/keyboard/lle.cpp b/src/devices/bus/interpro/keyboard/lle.cpp index 7151f1e0fc0..1556a3f4779 100644 --- a/src/devices/bus/interpro/keyboard/lle.cpp +++ b/src/devices/bus/interpro/keyboard/lle.cpp @@ -155,7 +155,7 @@ #define VERBOSE (0) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(INTERPRO_LLE_EN_US_KEYBOARD, bus::interpro::keyboard, lle_en_us_device, "kbd_lle_en_us", "InterPro Keyboard (LLE, US English)") +DEFINE_DEVICE_TYPE(INTERPRO_LLE_EN_US_KEYBOARD, bus::interpro::keyboard::lle_en_us_device, "kbd_lle_en_us", "InterPro Keyboard (LLE, US English)") namespace bus::interpro::keyboard { diff --git a/src/devices/bus/nubus/nubus_image.cpp b/src/devices/bus/nubus/nubus_image.cpp index 80875c6bd41..f017b9cc5a1 100644 --- a/src/devices/bus/nubus/nubus_image.cpp +++ b/src/devices/bus/nubus/nubus_image.cpp @@ -68,7 +68,7 @@ public: // device type definition -DEFINE_DEVICE_TYPE_NS(MESSIMG_DISK, nubus_image_device, messimg_disk_image_device, "messimg_disk_image", "Mac image") +DEFINE_DEVICE_TYPE(MESSIMG_DISK, nubus_image_device::messimg_disk_image_device, "messimg_disk_image", "Mac image") nubus_image_device::messimg_disk_image_device::messimg_disk_image_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, MESSIMG_DISK, tag, owner, clock), diff --git a/src/devices/bus/rs232/hlemouse.cpp b/src/devices/bus/rs232/hlemouse.cpp index 599e0d77d14..7b25b1e327b 100644 --- a/src/devices/bus/rs232/hlemouse.cpp +++ b/src/devices/bus/rs232/hlemouse.cpp @@ -74,12 +74,12 @@ // Device type globals //************************************************** -DEFINE_DEVICE_TYPE_NS(MSFT_HLE_SERIAL_MOUSE, bus::rs232, hle_msft_mouse_device, "rs232_mouse_hle_msft", "Microsoft 2-Button Serial Mouse (HLE)") -DEFINE_DEVICE_TYPE_NS(LOGITECH_HLE_SERIAL_MOUSE, bus::rs232, hle_logitech_mouse_device, "rs232_mouse_hle_logitech", "Logitech 3-Button Serial Mouse (HLE)") -DEFINE_DEVICE_TYPE_NS(WHEEL_HLE_SERIAL_MOUSE, bus::rs232, hle_wheel_mouse_device, "rs232_mouse_hle_wheel", "Microsoft Serial Mouse with Wheel (HLE)") -DEFINE_DEVICE_TYPE_NS(MSYSTEMS_HLE_SERIAL_MOUSE, bus::rs232, hle_msystems_mouse_device, "rs232_mouse_hle_msystems", "Mouse Systems Non-rotatable Mouse (HLE)") -DEFINE_DEVICE_TYPE_NS(ROTATABLE_HLE_SERIAL_MOUSE, bus::rs232, hle_rotatable_mouse_device, "rs232_mouse_hle_rotatable", "Mouse Systems Rotatable Mouse (HLE)") -DEFINE_DEVICE_TYPE_NS(SGI_HLE_SERIAL_MOUSE, bus::rs232, hle_sgi_mouse_device, "rs232_mouse_hle_sgi", "SGI IRIS Indigo Mouse (HLE)") +DEFINE_DEVICE_TYPE(MSFT_HLE_SERIAL_MOUSE, bus::rs232::hle_msft_mouse_device, "rs232_mouse_hle_msft", "Microsoft 2-Button Serial Mouse (HLE)") +DEFINE_DEVICE_TYPE(LOGITECH_HLE_SERIAL_MOUSE, bus::rs232::hle_logitech_mouse_device, "rs232_mouse_hle_logitech", "Logitech 3-Button Serial Mouse (HLE)") +DEFINE_DEVICE_TYPE(WHEEL_HLE_SERIAL_MOUSE, bus::rs232::hle_wheel_mouse_device, "rs232_mouse_hle_wheel", "Microsoft Serial Mouse with Wheel (HLE)") +DEFINE_DEVICE_TYPE(MSYSTEMS_HLE_SERIAL_MOUSE, bus::rs232::hle_msystems_mouse_device, "rs232_mouse_hle_msystems", "Mouse Systems Non-rotatable Mouse (HLE)") +DEFINE_DEVICE_TYPE(ROTATABLE_HLE_SERIAL_MOUSE, bus::rs232::hle_rotatable_mouse_device, "rs232_mouse_hle_rotatable", "Mouse Systems Rotatable Mouse (HLE)") +DEFINE_DEVICE_TYPE(SGI_HLE_SERIAL_MOUSE, bus::rs232::hle_sgi_mouse_device, "rs232_mouse_hle_sgi", "SGI IRIS Indigo Mouse (HLE)") namespace bus::rs232 { diff --git a/src/devices/bus/sgikbd/hlekbd.cpp b/src/devices/bus/sgikbd/hlekbd.cpp index c5f0b8c4c83..dc3c5f39ec3 100644 --- a/src/devices/bus/sgikbd/hlekbd.cpp +++ b/src/devices/bus/sgikbd/hlekbd.cpp @@ -6,7 +6,7 @@ #include "machine/keyboard.ipp" #include "speaker.h" -DEFINE_DEVICE_TYPE_NS(SGI_HLE_KEYBOARD, bus::sgikbd, hle_device, "hlekbd", "SGI Indigo Keyboard (HLE)") +DEFINE_DEVICE_TYPE(SGI_HLE_KEYBOARD, bus::sgikbd::hle_device, "hlekbd", "SGI Indigo Keyboard (HLE)") namespace bus::sgikbd { diff --git a/src/devices/bus/sunkbd/hlekbd.cpp b/src/devices/bus/sunkbd/hlekbd.cpp index 305d09ef3e2..593d6cb3eb2 100644 --- a/src/devices/bus/sunkbd/hlekbd.cpp +++ b/src/devices/bus/sunkbd/hlekbd.cpp @@ -136,12 +136,12 @@ DEVICE TYPE GLOBALS ***************************************************************************/ -DEFINE_DEVICE_TYPE_NS(SUN_TYPE3_HLE_KEYBOARD, bus::sunkbd, hle_type3_device, "kbd_type3_hle", "Sun Type 3 Keyboard (HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_TYPE4_HLE_KEYBOARD, bus::sunkbd, hle_type4_device, "kbd_type4_hle", "Sun Type 4 Keyboard (HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_HLE_KEYBOARD, bus::sunkbd, hle_type5_device, "kbd_type5_hle_us", "Sun Type 5 Keyboard (U.S.A. - HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_GB_HLE_KEYBOARD, bus::sunkbd, hle_type5_gb_device, "kbd_type5_hle_gb", "Sun Type 5 Keyboard (Great Britain - HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_SE_HLE_KEYBOARD, bus::sunkbd, hle_type5_se_device, "kbd_type5_hle_se", "Sun Type 5 Keyboard (Sweden - HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_TYPE5_JP_HLE_KEYBOARD, bus::sunkbd, hle_type5_jp_device, "kbd_type5_hle_jp", "Sun Type 5 Keyboard (Japan - HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE3_HLE_KEYBOARD, bus::sunkbd::hle_type3_device, "kbd_type3_hle", "Sun Type 3 Keyboard (HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE4_HLE_KEYBOARD, bus::sunkbd::hle_type4_device, "kbd_type4_hle", "Sun Type 4 Keyboard (HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE5_HLE_KEYBOARD, bus::sunkbd::hle_type5_device, "kbd_type5_hle_us", "Sun Type 5 Keyboard (U.S.A. - HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE5_GB_HLE_KEYBOARD, bus::sunkbd::hle_type5_gb_device, "kbd_type5_hle_gb", "Sun Type 5 Keyboard (Great Britain - HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE5_SE_HLE_KEYBOARD, bus::sunkbd::hle_type5_se_device, "kbd_type5_hle_se", "Sun Type 5 Keyboard (Sweden - HLE)") +DEFINE_DEVICE_TYPE(SUN_TYPE5_JP_HLE_KEYBOARD, bus::sunkbd::hle_type5_jp_device, "kbd_type5_hle_jp", "Sun Type 5 Keyboard (Japan - HLE)") diff --git a/src/devices/bus/sunmouse/hlemouse.cpp b/src/devices/bus/sunmouse/hlemouse.cpp index 97bae888600..3256f171aee 100644 --- a/src/devices/bus/sunmouse/hlemouse.cpp +++ b/src/devices/bus/sunmouse/hlemouse.cpp @@ -27,8 +27,8 @@ DEVICE TYPE GLOBALS ***************************************************************************/ -DEFINE_DEVICE_TYPE_NS(SUN_1200BAUD_HLE_MOUSE, bus::sunmouse, hle_1200baud_device, "sunmouse_hle1200", "Sun Mouse (1200 Baud, HLE)") -DEFINE_DEVICE_TYPE_NS(SUN_4800BAUD_HLE_MOUSE, bus::sunmouse, hle_4800baud_device, "sunmouse_hle4800", "Sun Mouse (4800 Baud, HLE)") +DEFINE_DEVICE_TYPE(SUN_1200BAUD_HLE_MOUSE, bus::sunmouse::hle_1200baud_device, "sunmouse_hle1200", "Sun Mouse (1200 Baud, HLE)") +DEFINE_DEVICE_TYPE(SUN_4800BAUD_HLE_MOUSE, bus::sunmouse::hle_4800baud_device, "sunmouse_hle4800", "Sun Mouse (4800 Baud, HLE)") namespace bus::sunmouse { diff --git a/src/devices/bus/ti8x/bitsocket.cpp b/src/devices/bus/ti8x/bitsocket.cpp index 00f0e1b4b8d..4168c09af91 100644 --- a/src/devices/bus/ti8x/bitsocket.cpp +++ b/src/devices/bus/ti8x/bitsocket.cpp @@ -5,7 +5,7 @@ #include "bitsocket.h" -DEFINE_DEVICE_TYPE_NS(TI8X_BIT_SOCKET, bus::ti8x, bit_socket_device, "ti8x_bitsock", "TI-8x Bit Socket") +DEFINE_DEVICE_TYPE(TI8X_BIT_SOCKET, bus::ti8x::bit_socket_device, "ti8x_bitsock", "TI-8x Bit Socket") namespace bus::ti8x { diff --git a/src/devices/bus/ti8x/graphlinkhle.cpp b/src/devices/bus/ti8x/graphlinkhle.cpp index 9368b2ec0bc..b41d67ca50b 100644 --- a/src/devices/bus/ti8x/graphlinkhle.cpp +++ b/src/devices/bus/ti8x/graphlinkhle.cpp @@ -5,7 +5,7 @@ #include "graphlinkhle.h" -DEFINE_DEVICE_TYPE_NS(TI8X_GRAPH_LINK_HLE, bus::ti8x, graph_link_hle_device, "ti8x_glinkhle", "TI-Graph Link (grey, HLE)") +DEFINE_DEVICE_TYPE(TI8X_GRAPH_LINK_HLE, bus::ti8x::graph_link_hle_device, "ti8x_glinkhle", "TI-Graph Link (grey, HLE)") namespace bus::ti8x { diff --git a/src/devices/bus/ti8x/teeconn.cpp b/src/devices/bus/ti8x/teeconn.cpp index 92b2048a486..9325816735b 100644 --- a/src/devices/bus/ti8x/teeconn.cpp +++ b/src/devices/bus/ti8x/teeconn.cpp @@ -5,7 +5,7 @@ #include "teeconn.h" -DEFINE_DEVICE_TYPE_NS(TI8X_TEE_CONNECTOR, bus::ti8x, tee_connector_device, "ti8x_tconn", "TI-8x T-connector") +DEFINE_DEVICE_TYPE(TI8X_TEE_CONNECTOR, bus::ti8x::tee_connector_device, "ti8x_tconn", "TI-8x T-connector") namespace bus::ti8x { diff --git a/src/devices/bus/ti8x/tispeaker.cpp b/src/devices/bus/ti8x/tispeaker.cpp index ec0e9865a57..a3fe86d76fd 100644 --- a/src/devices/bus/ti8x/tispeaker.cpp +++ b/src/devices/bus/ti8x/tispeaker.cpp @@ -7,8 +7,8 @@ #include "speaker.h" -DEFINE_DEVICE_TYPE_NS(TI8X_SPEAKER_STEREO, bus::ti8x, stereo_speaker_device, "ti8x_stspkr", "TI-8x Speaker (Stereo)") -DEFINE_DEVICE_TYPE_NS(TI8X_SPEAKER_MONO, bus::ti8x, mono_speaker_device, "ti8x_mspkr", "TI-8x Speaker (Mono)") +DEFINE_DEVICE_TYPE(TI8X_SPEAKER_STEREO, bus::ti8x::stereo_speaker_device, "ti8x_stspkr", "TI-8x Speaker (Stereo)") +DEFINE_DEVICE_TYPE(TI8X_SPEAKER_MONO, bus::ti8x::mono_speaker_device, "ti8x_mspkr", "TI-8x Speaker (Mono)") namespace bus::ti8x { diff --git a/src/devices/bus/ti99/colorbus/busmouse.cpp b/src/devices/bus/ti99/colorbus/busmouse.cpp index 1c3e1dcbac2..ccaf9c66f25 100644 --- a/src/devices/bus/ti99/colorbus/busmouse.cpp +++ b/src/devices/bus/ti99/colorbus/busmouse.cpp @@ -23,7 +23,7 @@ #define VERBOSE ( LOG_GENERAL ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(V9938_BUSMOUSE, bus::ti99::colorbus, v9938_busmouse_device, "v9938_busmouse", "V9938 Bus Mouse") +DEFINE_DEVICE_TYPE(V9938_BUSMOUSE, bus::ti99::colorbus::v9938_busmouse_device, "v9938_busmouse", "V9938 Bus Mouse") namespace bus::ti99::colorbus { diff --git a/src/devices/bus/ti99/colorbus/colorbus.cpp b/src/devices/bus/ti99/colorbus/colorbus.cpp index 8d3dbf23071..e3decb6ba61 100644 --- a/src/devices/bus/ti99/colorbus/colorbus.cpp +++ b/src/devices/bus/ti99/colorbus/colorbus.cpp @@ -21,7 +21,7 @@ #include "colorbus.h" #include "busmouse.h" -DEFINE_DEVICE_TYPE_NS(V9938_COLORBUS, bus::ti99::colorbus, v9938_colorbus_device, "v9938_colorbus", "V9938 Color bus") +DEFINE_DEVICE_TYPE(V9938_COLORBUS, bus::ti99::colorbus::v9938_colorbus_device, "v9938_colorbus", "V9938 Color bus") namespace bus::ti99::colorbus { diff --git a/src/devices/bus/ti99/gromport/cartridges.cpp b/src/devices/bus/ti99/gromport/cartridges.cpp index 78c0231c9a7..7a9ccb95a6d 100644 --- a/src/devices/bus/ti99/gromport/cartridges.cpp +++ b/src/devices/bus/ti99/gromport/cartridges.cpp @@ -32,7 +32,7 @@ #define VERBOSE ( LOG_GENERAL | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_CART, bus::ti99::gromport, ti99_cartridge_device, "ti99cart", "TI-99 cartridge") +DEFINE_DEVICE_TYPE(TI99_CART, bus::ti99::gromport::ti99_cartridge_device, "ti99cart", "TI-99 cartridge") namespace bus::ti99::gromport { diff --git a/src/devices/bus/ti99/gromport/gkracker.cpp b/src/devices/bus/ti99/gromport/gkracker.cpp index 91544460541..37f13623575 100644 --- a/src/devices/bus/ti99/gromport/gkracker.cpp +++ b/src/devices/bus/ti99/gromport/gkracker.cpp @@ -104,7 +104,7 @@ #define VERBOSE ( LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT_GK, bus::ti99::gromport, ti99_gkracker_device, "ti99_gkracker", "Miller's Graphics GRAM Kracker") +DEFINE_DEVICE_TYPE(TI99_GROMPORT_GK, bus::ti99::gromport::ti99_gkracker_device, "ti99_gkracker", "Miller's Graphics GRAM Kracker") namespace bus::ti99::gromport { diff --git a/src/devices/bus/ti99/gromport/gromport.cpp b/src/devices/bus/ti99/gromport/gromport.cpp index 0fb1ff03e65..1a53362416c 100644 --- a/src/devices/bus/ti99/gromport/gromport.cpp +++ b/src/devices/bus/ti99/gromport/gromport.cpp @@ -121,7 +121,7 @@ #define VERBOSE ( LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT, bus::ti99::gromport, gromport_device, "gromport", "TI-99 Cartridge port") +DEFINE_DEVICE_TYPE(TI99_GROMPORT, bus::ti99::gromport::gromport_device, "gromport", "TI-99 Cartridge port") namespace bus::ti99::gromport { diff --git a/src/devices/bus/ti99/gromport/multiconn.cpp b/src/devices/bus/ti99/gromport/multiconn.cpp index f5b948143b0..595a6ab1a29 100644 --- a/src/devices/bus/ti99/gromport/multiconn.cpp +++ b/src/devices/bus/ti99/gromport/multiconn.cpp @@ -49,7 +49,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT_MULTI, bus::ti99::gromport, ti99_multi_cart_conn_device, "ti99_mcartconn", "TI-99 Multi-cartridge extender") +DEFINE_DEVICE_TYPE(TI99_GROMPORT_MULTI, bus::ti99::gromport::ti99_multi_cart_conn_device, "ti99_mcartconn", "TI-99 Multi-cartridge extender") namespace bus::ti99::gromport { diff --git a/src/devices/bus/ti99/gromport/singleconn.cpp b/src/devices/bus/ti99/gromport/singleconn.cpp index ce07dba59f5..e24a3ba416a 100644 --- a/src/devices/bus/ti99/gromport/singleconn.cpp +++ b/src/devices/bus/ti99/gromport/singleconn.cpp @@ -9,7 +9,7 @@ #include "emu.h" #include "singleconn.h" -DEFINE_DEVICE_TYPE_NS(TI99_GROMPORT_SINGLE, bus::ti99::gromport, ti99_single_cart_conn_device, "ti99_scartconn", "TI-99 Standard cartridge connector") +DEFINE_DEVICE_TYPE(TI99_GROMPORT_SINGLE, bus::ti99::gromport::ti99_single_cart_conn_device, "ti99_scartconn", "TI-99 Standard cartridge connector") namespace bus::ti99::gromport { diff --git a/src/devices/bus/ti99/internal/992board.cpp b/src/devices/bus/ti99/internal/992board.cpp index 10c065ed7ac..bb13a379475 100644 --- a/src/devices/bus/ti99/internal/992board.cpp +++ b/src/devices/bus/ti99/internal/992board.cpp @@ -129,13 +129,13 @@ [2] VDC Controller CF40052 */ -DEFINE_DEVICE_TYPE_NS(VIDEO99224, bus::ti99::internal, video992_24_device, "video992_24", "TI-99/2 CRT Controller 24K version") -DEFINE_DEVICE_TYPE_NS(VIDEO99232, bus::ti99::internal, video992_32_device, "video992_32", "TI-99/2 CRT Controller 32K version") -DEFINE_DEVICE_TYPE_NS(IO99224, bus::ti99::internal, io992_24_device, "io992_24", "TI-99/2 I/O controller 24K version") -DEFINE_DEVICE_TYPE_NS(IO99232, bus::ti99::internal, io992_32_device, "io992_32", "TI-99/2 I/O controller 32K version") +DEFINE_DEVICE_TYPE(VIDEO99224, bus::ti99::internal::video992_24_device, "video992_24", "TI-99/2 CRT Controller 24K version") +DEFINE_DEVICE_TYPE(VIDEO99232, bus::ti99::internal::video992_32_device, "video992_32", "TI-99/2 CRT Controller 32K version") +DEFINE_DEVICE_TYPE(IO99224, bus::ti99::internal::io992_24_device, "io992_24", "TI-99/2 I/O controller 24K version") +DEFINE_DEVICE_TYPE(IO99232, bus::ti99::internal::io992_32_device, "io992_32", "TI-99/2 I/O controller 32K version") -DEFINE_DEVICE_TYPE_NS(TI992_EXPPORT, bus::ti99::internal, ti992_expport_device, "ti992_expport", "TI-99/2 Expansion Port") -DEFINE_DEVICE_TYPE_NS(TI992_RAM32K, bus::ti99::internal, ti992_expram_device, "ti992_ram32k", "TI-99/2 RAM Expansion 32K") +DEFINE_DEVICE_TYPE(TI992_EXPPORT, bus::ti99::internal::ti992_expport_device, "ti992_expport", "TI-99/2 Expansion Port") +DEFINE_DEVICE_TYPE(TI992_RAM32K, bus::ti99::internal::ti992_expram_device, "ti992_ram32k", "TI-99/2 RAM Expansion 32K") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/998board.cpp b/src/devices/bus/ti99/internal/998board.cpp index 32a018b540c..49533d97c29 100644 --- a/src/devices/bus/ti99/internal/998board.cpp +++ b/src/devices/bus/ti99/internal/998board.cpp @@ -128,11 +128,11 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_MAINBOARD8, bus::ti99::internal, mainboard8_device, "ti998_mainboard", "TI-99/8 Mainboard") -DEFINE_DEVICE_TYPE_NS(TI99_VAQUERRO, bus::ti99::internal, vaquerro_device, "ti998_vaquerro", "TI-99/8 Logical Address Space Decoder") -DEFINE_DEVICE_TYPE_NS(TI99_MOFETTA, bus::ti99::internal, mofetta_device, "ti998_mofetta", "TI-99/8 Physical Address Space Decoder") -DEFINE_DEVICE_TYPE_NS(TI99_OSO, bus::ti99::internal, oso_device, "ti998_oso", "TI-99/8 Hexbus interface") -DEFINE_DEVICE_TYPE_NS(TI99_AMIGO, bus::ti99::internal, amigo_device, "ti998_amigo", "TI-99/8 Address space mapper") +DEFINE_DEVICE_TYPE(TI99_MAINBOARD8, bus::ti99::internal::mainboard8_device, "ti998_mainboard", "TI-99/8 Mainboard") +DEFINE_DEVICE_TYPE(TI99_VAQUERRO, bus::ti99::internal::vaquerro_device, "ti998_vaquerro", "TI-99/8 Logical Address Space Decoder") +DEFINE_DEVICE_TYPE(TI99_MOFETTA, bus::ti99::internal::mofetta_device, "ti998_mofetta", "TI-99/8 Physical Address Space Decoder") +DEFINE_DEVICE_TYPE(TI99_OSO, bus::ti99::internal::oso_device, "ti998_oso", "TI-99/8 Hexbus interface") +DEFINE_DEVICE_TYPE(TI99_AMIGO, bus::ti99::internal::amigo_device, "ti998_amigo", "TI-99/8 Address space mapper") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/buffram.cpp b/src/devices/bus/ti99/internal/buffram.cpp index 338313d4733..1677e2ede8d 100644 --- a/src/devices/bus/ti99/internal/buffram.cpp +++ b/src/devices/bus/ti99/internal/buffram.cpp @@ -16,7 +16,7 @@ #define BUFFRAM_TAG "buffered_ram" -DEFINE_DEVICE_TYPE_NS(BUFF_RAM, bus::ti99::internal, buffered_ram_device, BUFFRAM_TAG, "Buffered SRAM") +DEFINE_DEVICE_TYPE(BUFF_RAM, bus::ti99::internal::buffered_ram_device, BUFFRAM_TAG, "Buffered SRAM") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/datamux.cpp b/src/devices/bus/ti99/internal/datamux.cpp index 53092cf187e..d56d8573822 100644 --- a/src/devices/bus/ti99/internal/datamux.cpp +++ b/src/devices/bus/ti99/internal/datamux.cpp @@ -82,7 +82,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_DATAMUX, bus::ti99::internal, datamux_device, "ti99_datamux", "TI-99 Databus multiplexer") +DEFINE_DEVICE_TYPE(TI99_DATAMUX, bus::ti99::internal::datamux_device, "ti99_datamux", "TI-99 Databus multiplexer") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/evpcconn.cpp b/src/devices/bus/ti99/internal/evpcconn.cpp index 366a3ad4c94..2b7647d52dd 100644 --- a/src/devices/bus/ti99/internal/evpcconn.cpp +++ b/src/devices/bus/ti99/internal/evpcconn.cpp @@ -22,7 +22,7 @@ #include "emu.h" #include "evpcconn.h" -DEFINE_DEVICE_TYPE_NS(TI99_EVPCCONN, bus::ti99::internal, evpc_clock_connector, "ti99_evpc_clock", "EVPC clock connector") +DEFINE_DEVICE_TYPE(TI99_EVPCCONN, bus::ti99::internal::evpc_clock_connector, "ti99_evpc_clock", "EVPC clock connector") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/genboard.cpp b/src/devices/bus/ti99/internal/genboard.cpp index dbe4664e997..10813d9d32e 100644 --- a/src/devices/bus/ti99/internal/genboard.cpp +++ b/src/devices/bus/ti99/internal/genboard.cpp @@ -434,9 +434,9 @@ #include "genboard.h" #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(GENEVE_GATE_ARRAY, bus::ti99::internal, geneve_gate_array_device, "geneve_gate_array", "Geneve Gate Array") -DEFINE_DEVICE_TYPE_NS(GENMOD_DECODER, bus::ti99::internal, genmod_decoder_device, "genmod_decoder", "GenMod decoder circuit") -DEFINE_DEVICE_TYPE_NS(GENEVE_PAL, bus::ti99::internal, geneve_pal_device, "geneve_pal", "Geneve PAL circuit") +DEFINE_DEVICE_TYPE(GENEVE_GATE_ARRAY, bus::ti99::internal::geneve_gate_array_device, "geneve_gate_array", "Geneve Gate Array") +DEFINE_DEVICE_TYPE(GENMOD_DECODER, bus::ti99::internal::genmod_decoder_device, "genmod_decoder", "GenMod decoder circuit") +DEFINE_DEVICE_TYPE(GENEVE_PAL, bus::ti99::internal::geneve_pal_device, "geneve_pal", "Geneve PAL circuit") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/internal/ioport.cpp b/src/devices/bus/ti99/internal/ioport.cpp index a6049e72a6b..4ab42b201b4 100644 --- a/src/devices/bus/ti99/internal/ioport.cpp +++ b/src/devices/bus/ti99/internal/ioport.cpp @@ -80,7 +80,7 @@ #include "ioport.h" #include "bus/ti99/peb/peribox.h" -DEFINE_DEVICE_TYPE_NS(TI99_IOPORT, bus::ti99::internal, ioport_device, "ti99_ioport", "TI-99 I/O Port") +DEFINE_DEVICE_TYPE(TI99_IOPORT, bus::ti99::internal::ioport_device, "ti99_ioport", "TI-99 I/O Port") namespace bus::ti99::internal { diff --git a/src/devices/bus/ti99/joyport/handset.cpp b/src/devices/bus/ti99/joyport/handset.cpp index 07a78dab1f2..8805d460200 100644 --- a/src/devices/bus/ti99/joyport/handset.cpp +++ b/src/devices/bus/ti99/joyport/handset.cpp @@ -49,8 +49,8 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_JOYSTICK, bus::ti99::joyport, ti99_twin_joystick_device, "ti99_twinjoy", "TI-99/4(A) Twin Joysticks") -DEFINE_DEVICE_TYPE_NS(TI99_HANDSET, bus::ti99::joyport, ti99_handset_device, "ti99_handset", "TI-99/4 IR handset") +DEFINE_DEVICE_TYPE(TI99_JOYSTICK, bus::ti99::joyport::ti99_twin_joystick_device, "ti99_twinjoy", "TI-99/4(A) Twin Joysticks") +DEFINE_DEVICE_TYPE(TI99_HANDSET, bus::ti99::joyport::ti99_handset_device, "ti99_handset", "TI-99/4 IR handset") namespace bus::ti99::joyport { diff --git a/src/devices/bus/ti99/joyport/joyport.cpp b/src/devices/bus/ti99/joyport/joyport.cpp index 92680ab2c09..77825e85f96 100644 --- a/src/devices/bus/ti99/joyport/joyport.cpp +++ b/src/devices/bus/ti99/joyport/joyport.cpp @@ -40,7 +40,7 @@ #include "handset.h" #include "mecmouse.h" -DEFINE_DEVICE_TYPE_NS(TI99_JOYPORT, bus::ti99::joyport, joyport_device, "ti99_joyport", "TI-99 Joystick port") +DEFINE_DEVICE_TYPE(TI99_JOYPORT, bus::ti99::joyport::joyport_device, "ti99_joyport", "TI-99 Joystick port") namespace bus::ti99::joyport { diff --git a/src/devices/bus/ti99/joyport/mecmouse.cpp b/src/devices/bus/ti99/joyport/mecmouse.cpp index e21f3a540a2..76a5a24c413 100644 --- a/src/devices/bus/ti99/joyport/mecmouse.cpp +++ b/src/devices/bus/ti99/joyport/mecmouse.cpp @@ -51,7 +51,7 @@ #include "emu.h" #include "mecmouse.h" -DEFINE_DEVICE_TYPE_NS(TI99_MECMOUSE, bus::ti99::joyport, mecmouse_device, "ti99_mecmouse", "TI-99 Mechatronics Mouse") +DEFINE_DEVICE_TYPE(TI99_MECMOUSE, bus::ti99::joyport::mecmouse_device, "ti99_mecmouse", "TI-99 Mechatronics Mouse") namespace bus::ti99::joyport { diff --git a/src/devices/bus/ti99/peb/bwg.cpp b/src/devices/bus/ti99/peb/bwg.cpp index e0373ae2fc6..4950943a8a8 100644 --- a/src/devices/bus/ti99/peb/bwg.cpp +++ b/src/devices/bus/ti99/peb/bwg.cpp @@ -63,7 +63,7 @@ #define VERBOSE ( LOG_CONFIG | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_BWG, bus::ti99::peb, snug_bwg_device, "ti99_bwg", "SNUG BwG Floppy Controller") +DEFINE_DEVICE_TYPE(TI99_BWG, bus::ti99::peb::snug_bwg_device, "ti99_bwg", "SNUG BwG Floppy Controller") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/cc_fdc.cpp b/src/devices/bus/ti99/peb/cc_fdc.cpp index c2b20e778a8..6762dea8a05 100644 --- a/src/devices/bus/ti99/peb/cc_fdc.cpp +++ b/src/devices/bus/ti99/peb/cc_fdc.cpp @@ -59,14 +59,14 @@ #define BUFFER "ram" -DEFINE_DEVICE_TYPE_NS(TI99_CCDCC, bus::ti99::peb, corcomp_dcc_device, CCDCC_TAG, "CorComp Disk Controller Card") -DEFINE_DEVICE_TYPE_NS(TI99_CCFDC, bus::ti99::peb, corcomp_fdca_device, CCFDC_TAG, "CorComp Floppy Disk Controller Card Rev A") +DEFINE_DEVICE_TYPE(TI99_CCDCC, bus::ti99::peb::corcomp_dcc_device, CCDCC_TAG, "CorComp Disk Controller Card") +DEFINE_DEVICE_TYPE(TI99_CCFDC, bus::ti99::peb::corcomp_fdca_device, CCFDC_TAG, "CorComp Floppy Disk Controller Card Rev A") -DEFINE_DEVICE_TYPE_NS(CCDCC_PALU2, bus::ti99::peb, ccdcc_palu2_device, CCDCC_PALU2_TAG, "CorComp DCC PAL u2") -DEFINE_DEVICE_TYPE_NS(CCDCC_PALU1, bus::ti99::peb, ccdcc_palu1_device, CCDCC_PALU1_TAG, "CorComp DCC PAL u1") +DEFINE_DEVICE_TYPE(CCDCC_PALU2, bus::ti99::peb::ccdcc_palu2_device, CCDCC_PALU2_TAG, "CorComp DCC PAL u2") +DEFINE_DEVICE_TYPE(CCDCC_PALU1, bus::ti99::peb::ccdcc_palu1_device, CCDCC_PALU1_TAG, "CorComp DCC PAL u1") -DEFINE_DEVICE_TYPE_NS(CCFDC_PALU12, bus::ti99::peb, ccfdc_palu12_device, CCFDC_PALU12_TAG, "CorComp FDC PAL u12") -DEFINE_DEVICE_TYPE_NS(CCFDC_PALU6, bus::ti99::peb, ccfdc_palu6_device, CCFDC_PALU6_TAG, "CorComp FDC PAL u6") +DEFINE_DEVICE_TYPE(CCFDC_PALU12, bus::ti99::peb::ccfdc_palu12_device, CCFDC_PALU12_TAG, "CorComp FDC PAL u12") +DEFINE_DEVICE_TYPE(CCFDC_PALU6, bus::ti99::peb::ccfdc_palu6_device, CCFDC_PALU6_TAG, "CorComp FDC PAL u6") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/evpc.cpp b/src/devices/bus/ti99/peb/evpc.cpp index f45c672d00c..b99821baf4a 100644 --- a/src/devices/bus/ti99/peb/evpc.cpp +++ b/src/devices/bus/ti99/peb/evpc.cpp @@ -52,7 +52,7 @@ #include "logmacro.h" #define EVPC_SCREEN_TAG "screen" -DEFINE_DEVICE_TYPE_NS(TI99_EVPC, bus::ti99::peb, snug_enhanced_video_device, "ti99_evpc", "SNUG Enhanced Video Processor Card") +DEFINE_DEVICE_TYPE(TI99_EVPC, bus::ti99::peb::snug_enhanced_video_device, "ti99_evpc", "SNUG Enhanced Video Processor Card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/forti.cpp b/src/devices/bus/ti99/peb/forti.cpp index 25b0ce0a3a0..0ee053a740c 100644 --- a/src/devices/bus/ti99/peb/forti.cpp +++ b/src/devices/bus/ti99/peb/forti.cpp @@ -41,7 +41,7 @@ #define FORTI_GEN3_TAG "soundchip3" #define FORTI_GEN4_TAG "soundchip4" -DEFINE_DEVICE_TYPE_NS(TI99_FORTI, bus::ti99::peb, forti_device, "ti99_forti", "FORTi Sound Card") +DEFINE_DEVICE_TYPE(TI99_FORTI, bus::ti99::peb::forti_device, "ti99_forti", "FORTi Sound Card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/hfdc.cpp b/src/devices/bus/ti99/peb/hfdc.cpp index 204223fd19c..2e5d7173c44 100644 --- a/src/devices/bus/ti99/peb/hfdc.cpp +++ b/src/devices/bus/ti99/peb/hfdc.cpp @@ -74,7 +74,7 @@ #define VERBOSE ( LOG_GENERAL | LOG_CONFIG | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_HFDC, bus::ti99::peb, myarc_hfdc_device, "ti99_hfdc", "Myarc Hard and Floppy Disk Controller") +DEFINE_DEVICE_TYPE(TI99_HFDC, bus::ti99::peb::myarc_hfdc_device, "ti99_hfdc", "Myarc Hard and Floppy Disk Controller") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/horizon.cpp b/src/devices/bus/ti99/peb/horizon.cpp index e0e226f646b..1be6264189c 100644 --- a/src/devices/bus/ti99/peb/horizon.cpp +++ b/src/devices/bus/ti99/peb/horizon.cpp @@ -139,7 +139,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_HORIZON, bus::ti99::peb, horizon_ramdisk_device, "ti99_horizon", "Horizon 4000B RAMdisk") +DEFINE_DEVICE_TYPE(TI99_HORIZON, bus::ti99::peb::horizon_ramdisk_device, "ti99_horizon", "Horizon 4000B RAMdisk") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/hsgpl.cpp b/src/devices/bus/ti99/peb/hsgpl.cpp index cc5f4b0feee..fc687b25785 100644 --- a/src/devices/bus/ti99/peb/hsgpl.cpp +++ b/src/devices/bus/ti99/peb/hsgpl.cpp @@ -136,7 +136,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_HSGPL, bus::ti99::peb, snug_high_speed_gpl_device, "ti99_hsgpl", "SNUG High-speed GPL card") +DEFINE_DEVICE_TYPE(TI99_HSGPL, bus::ti99::peb::snug_high_speed_gpl_device, "ti99_hsgpl", "SNUG High-speed GPL card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/memex.cpp b/src/devices/bus/ti99/peb/memex.cpp index 44db15aa6af..1ee9bf423e1 100644 --- a/src/devices/bus/ti99/peb/memex.cpp +++ b/src/devices/bus/ti99/peb/memex.cpp @@ -25,7 +25,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_MEMEX, bus::ti99::peb, geneve_memex_device, "ti99_memex", "Geneve memory expansion card") +DEFINE_DEVICE_TYPE(TI99_MEMEX, bus::ti99::peb::geneve_memex_device, "ti99_memex", "Geneve memory expansion card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/myarcfdc.cpp b/src/devices/bus/ti99/peb/myarcfdc.cpp index 8c1410bb848..4e85d5be0c0 100644 --- a/src/devices/bus/ti99/peb/myarcfdc.cpp +++ b/src/devices/bus/ti99/peb/myarcfdc.cpp @@ -47,8 +47,8 @@ #define WD1772_TAG "wd1772" #define PAL_TAG "pal" -DEFINE_DEVICE_TYPE_NS(TI99_DDCC1, bus::ti99::peb, myarc_fdc_device, "ti99_ddcc1", "Myarc Disk Controller Card") -DEFINE_DEVICE_TYPE_NS(DDCC1_PAL, bus::ti99::peb, ddcc1_pal_device, PAL_TAG, "Myarc DDCC-1 PAL u1") +DEFINE_DEVICE_TYPE(TI99_DDCC1, bus::ti99::peb::myarc_fdc_device, "ti99_ddcc1", "Myarc Disk Controller Card") +DEFINE_DEVICE_TYPE(DDCC1_PAL, bus::ti99::peb::ddcc1_pal_device, PAL_TAG, "Myarc DDCC-1 PAL u1") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/myarcmem.cpp b/src/devices/bus/ti99/peb/myarcmem.cpp index 20d2bd5af4e..edee7601c80 100644 --- a/src/devices/bus/ti99/peb/myarcmem.cpp +++ b/src/devices/bus/ti99/peb/myarcmem.cpp @@ -30,7 +30,7 @@ #include "emu.h" #include "myarcmem.h" -DEFINE_DEVICE_TYPE_NS(TI99_MYARCMEM, bus::ti99::peb, myarc_memory_expansion_device, "ti99_myarcmem", "Myarc Memory expansion card MEXP-1") +DEFINE_DEVICE_TYPE(TI99_MYARCMEM, bus::ti99::peb::myarc_memory_expansion_device, "ti99_myarcmem", "Myarc Memory expansion card MEXP-1") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/pcode.cpp b/src/devices/bus/ti99/peb/pcode.cpp index c7f10650995..156d190adc6 100644 --- a/src/devices/bus/ti99/peb/pcode.cpp +++ b/src/devices/bus/ti99/peb/pcode.cpp @@ -86,7 +86,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_P_CODE, bus::ti99::peb, ti_pcode_card_device, "ti99_pcode", "TI-99 P-Code Card") +DEFINE_DEVICE_TYPE(TI99_P_CODE, bus::ti99::peb::ti_pcode_card_device, "ti99_pcode", "TI-99 P-Code Card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/peribox.cpp b/src/devices/bus/ti99/peb/peribox.cpp index 13b58cc36e7..b4e047c9815 100644 --- a/src/devices/bus/ti99/peb/peribox.cpp +++ b/src/devices/bus/ti99/peb/peribox.cpp @@ -211,22 +211,22 @@ CRUCLK* 51||52 DBIN // Peripheral box that is attached to the TI console (also TI with EVPC) // and has the Flex Cable Interface in slot 1 // This is a device that plugs into the slot "ioport" of the console -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX, bus::ti99::peb, peribox_device, "peribox", "Peripheral expansion box") +DEFINE_DEVICE_TYPE(TI99_PERIBOX, bus::ti99::peb::peribox_device, "peribox", "Peripheral expansion box") // Peripheral box which has a EVPC card in slot 2 (for use with the ti99_4ev) -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_EV, bus::ti99::peb, peribox_ev_device, "peribox_ev", "Peripheral expansion box with EVPC") +DEFINE_DEVICE_TYPE(TI99_PERIBOX_EV, bus::ti99::peb::peribox_ev_device, "peribox_ev", "Peripheral expansion box with EVPC") // Peripheral box which hosts the SGCPU card in slot 1 -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_SG, bus::ti99::peb, peribox_sg_device, "peribox_sg", "Peripheral expansion box SGCPU") +DEFINE_DEVICE_TYPE(TI99_PERIBOX_SG, bus::ti99::peb::peribox_sg_device, "peribox_sg", "Peripheral expansion box SGCPU") // Peripheral box which hosts the Geneve 9640 in slot 1 -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_GEN, bus::ti99::peb, peribox_gen_device, "peribox_gen", "Peripheral expansion box Geneve") +DEFINE_DEVICE_TYPE(TI99_PERIBOX_GEN, bus::ti99::peb::peribox_gen_device, "peribox_gen", "Peripheral expansion box Geneve") // Peripheral box which hosts the Geneve 9640 in slot 1 with Genmod -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_GENMOD, bus::ti99::peb, peribox_genmod_device, "peribox_genmod", "Peripheral expansion box Genmod") +DEFINE_DEVICE_TYPE(TI99_PERIBOX_GENMOD, bus::ti99::peb::peribox_genmod_device, "peribox_genmod", "Peripheral expansion box Genmod") // Single slot of the PEB -DEFINE_DEVICE_TYPE_NS(TI99_PERIBOX_SLOT, bus::ti99::peb, peribox_slot_device, "peribox_slot", "TI P-Box slot") +DEFINE_DEVICE_TYPE(TI99_PERIBOX_SLOT, bus::ti99::peb::peribox_slot_device, "peribox_slot", "TI P-Box slot") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/pgram.cpp b/src/devices/bus/ti99/peb/pgram.cpp index 851a7bcee4a..c6ece9407a0 100644 --- a/src/devices/bus/ti99/peb/pgram.cpp +++ b/src/devices/bus/ti99/peb/pgram.cpp @@ -141,7 +141,7 @@ #define COUNT2_TAG "u12_counter" #define COUNT3_TAG "u10_counter" -DEFINE_DEVICE_TYPE_NS(TI99_PGRAM, bus::ti99::peb, pgram_device, "ti99_pgram", "PGRAM(+) memory card") +DEFINE_DEVICE_TYPE(TI99_PGRAM, bus::ti99::peb::pgram_device, "ti99_pgram", "PGRAM(+) memory card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/samsmem.cpp b/src/devices/bus/ti99/peb/samsmem.cpp index 2c895e35130..d38f877fc9f 100644 --- a/src/devices/bus/ti99/peb/samsmem.cpp +++ b/src/devices/bus/ti99/peb/samsmem.cpp @@ -28,7 +28,7 @@ #include "emu.h" #include "samsmem.h" -DEFINE_DEVICE_TYPE_NS(TI99_SAMSMEM, bus::ti99::peb, sams_memory_expansion_device, "ti99_sams", "SuperAMS memory expansion card") +DEFINE_DEVICE_TYPE(TI99_SAMSMEM, bus::ti99::peb::sams_memory_expansion_device, "ti99_sams", "SuperAMS memory expansion card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/sidmaster.cpp b/src/devices/bus/ti99/peb/sidmaster.cpp index 5d6db281b22..9b6eb0af129 100644 --- a/src/devices/bus/ti99/peb/sidmaster.cpp +++ b/src/devices/bus/ti99/peb/sidmaster.cpp @@ -31,7 +31,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_SIDMASTER, bus::ti99::peb, sidmaster_device, "ti99_sidmaster", "SID Master 99") +DEFINE_DEVICE_TYPE(TI99_SIDMASTER, bus::ti99::peb::sidmaster_device, "ti99_sidmaster", "SID Master 99") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/spchsyn.cpp b/src/devices/bus/ti99/peb/spchsyn.cpp index 7c6fd56fbfb..302758f3f4e 100644 --- a/src/devices/bus/ti99/peb/spchsyn.cpp +++ b/src/devices/bus/ti99/peb/spchsyn.cpp @@ -36,7 +36,7 @@ #define VERBOSE ( LOG_CONFIG | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_SPEECH, bus::ti99::peb, ti_speech_synthesizer_device, "ti99_speech", "TI-99 Speech synthesizer (on adapter card)") +DEFINE_DEVICE_TYPE(TI99_SPEECH, bus::ti99::peb::ti_speech_synthesizer_device, "ti99_speech", "TI-99 Speech synthesizer (on adapter card)") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/ti_32kmem.cpp b/src/devices/bus/ti99/peb/ti_32kmem.cpp index ee17e86ba7b..1f9404bd1e1 100644 --- a/src/devices/bus/ti99/peb/ti_32kmem.cpp +++ b/src/devices/bus/ti99/peb/ti_32kmem.cpp @@ -31,7 +31,7 @@ #include "emu.h" #include "ti_32kmem.h" -DEFINE_DEVICE_TYPE_NS(TI99_32KMEM, bus::ti99::peb, ti_32k_expcard_device, "ti99_32kmem", "TI-99 32KiB memory expansion card") +DEFINE_DEVICE_TYPE(TI99_32KMEM, bus::ti99::peb::ti_32k_expcard_device, "ti99_32kmem", "TI-99 32KiB memory expansion card") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/ti_fdc.cpp b/src/devices/bus/ti99/peb/ti_fdc.cpp index 15636a7d2cc..b68147a8193 100644 --- a/src/devices/bus/ti99/peb/ti_fdc.cpp +++ b/src/devices/bus/ti99/peb/ti_fdc.cpp @@ -32,7 +32,7 @@ #define VERBOSE ( LOG_CONFIG | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_FDC, bus::ti99::peb, ti_fdc_device, "ti99_fdc", "TI-99 Standard DSSD Floppy Controller") +DEFINE_DEVICE_TYPE(TI99_FDC, bus::ti99::peb::ti_fdc_device, "ti99_fdc", "TI-99 Standard DSSD Floppy Controller") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/ti_rs232.cpp b/src/devices/bus/ti99/peb/ti_rs232.cpp index a88b0124e67..841acf44ac7 100644 --- a/src/devices/bus/ti99/peb/ti_rs232.cpp +++ b/src/devices/bus/ti99/peb/ti_rs232.cpp @@ -118,9 +118,9 @@ #define VERBOSE ( LOG_CONFIG | LOG_WARN ) #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_RS232, bus::ti99::peb, ti_rs232_pio_device, "ti99_rs232", "TI-99 RS232/PIO interface") -DEFINE_DEVICE_TYPE_NS(TI99_RS232_DEV, bus::ti99::peb, ti_rs232_attached_device, "ti99_rs232_atttached", "TI-99 Serial attached device") -DEFINE_DEVICE_TYPE_NS(TI99_PIO_DEV, bus::ti99::peb, ti_pio_attached_device, "ti99_pio_attached", "TI-99 Parallel attached device") +DEFINE_DEVICE_TYPE(TI99_RS232, bus::ti99::peb::ti_rs232_pio_device, "ti99_rs232", "TI-99 RS232/PIO interface") +DEFINE_DEVICE_TYPE(TI99_RS232_DEV, bus::ti99::peb::ti_rs232_attached_device, "ti99_rs232_atttached", "TI-99 Serial attached device") +DEFINE_DEVICE_TYPE(TI99_PIO_DEV, bus::ti99::peb::ti_pio_attached_device, "ti99_pio_attached", "TI-99 Parallel attached device") namespace bus::ti99::peb { diff --git a/src/devices/bus/ti99/peb/tn_ide.cpp b/src/devices/bus/ti99/peb/tn_ide.cpp index a1f7528940e..2a31a86dd6a 100644 --- a/src/devices/bus/ti99/peb/tn_ide.cpp +++ b/src/devices/bus/ti99/peb/tn_ide.cpp @@ -134,7 +134,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_IDE, bus::ti99::peb, nouspikel_ide_card_device, "ti99_ide", "Nouspikel IDE interface card") +DEFINE_DEVICE_TYPE(TI99_IDE, bus::ti99::peb::nouspikel_ide_card_device, "ti99_ide", "Nouspikel IDE interface card") #define CLOCK65_TAG "rtc65271" #define CLOCK47_TAG "bq4847" diff --git a/src/devices/bus/ti99/peb/tn_usbsm.cpp b/src/devices/bus/ti99/peb/tn_usbsm.cpp index 3e48e328772..5a2a266661b 100644 --- a/src/devices/bus/ti99/peb/tn_usbsm.cpp +++ b/src/devices/bus/ti99/peb/tn_usbsm.cpp @@ -48,7 +48,7 @@ #include "logmacro.h" -DEFINE_DEVICE_TYPE_NS(TI99_USBSM, bus::ti99::peb, nouspikel_usb_smartmedia_device, "ti99_usbsm", "Nouspikel USB/Smartmedia card") +DEFINE_DEVICE_TYPE(TI99_USBSM, bus::ti99::peb::nouspikel_usb_smartmedia_device, "ti99_usbsm", "Nouspikel USB/Smartmedia card") namespace bus::ti99::peb { diff --git a/src/devices/cpu/dsp56156/dsp56156.cpp b/src/devices/cpu/dsp56156/dsp56156.cpp index 85f0e4a5333..38ec2039bf5 100644 --- a/src/devices/cpu/dsp56156/dsp56156.cpp +++ b/src/devices/cpu/dsp56156/dsp56156.cpp @@ -60,7 +60,7 @@ #include "dsp56mem.h" -DEFINE_DEVICE_TYPE_NS(DSP56156, DSP_56156, dsp56156_device, "dsp56156", "Motorola DSP56156") +DEFINE_DEVICE_TYPE(DSP56156, DSP_56156::dsp56156_device, "dsp56156", "Motorola DSP56156") namespace DSP_56156 { diff --git a/src/devices/cpu/m6805/m68705.h b/src/devices/cpu/m6805/m68705.h index f6e02430acc..9f5354f9f6f 100644 --- a/src/devices/cpu/m6805/m68705.h +++ b/src/devices/cpu/m6805/m68705.h @@ -425,6 +425,8 @@ class m68705u3_device : public m68705u_device public: m68705u3_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock); + static auto parent_rom_device_type() { return &M68705R3; } + protected: virtual tiny_rom_entry const *device_rom_region() const override; diff --git a/src/devices/machine/i8255.cpp b/src/devices/machine/i8255.cpp index e0e5d8297a6..003734413e4 100644 --- a/src/devices/machine/i8255.cpp +++ b/src/devices/machine/i8255.cpp @@ -64,7 +64,6 @@ enum //************************************************************************** DEFINE_DEVICE_TYPE(I8255, i8255_device, "i8255", "Intel 8255 PPI") -decltype(I8255) I8255A = I8255; DEFINE_DEVICE_TYPE(AMS40489_PPI, ams40489_ppi_device, "ams40489_ppi", "Amstrad AMS40489 PPI") diff --git a/src/devices/machine/i8255.h b/src/devices/machine/i8255.h index 44a4dc72e5f..bd74fe2eb6e 100644 --- a/src/devices/machine/i8255.h +++ b/src/devices/machine/i8255.h @@ -142,7 +142,7 @@ public: // device type definition DECLARE_DEVICE_TYPE(I8255, i8255_device) -DECLARE_DEVICE_TYPE(I8255A, i8255_device) +static auto &I8255A = I8255; DECLARE_DEVICE_TYPE(AMS40489_PPI, ams40489_ppi_device) #endif // MAME_MACHINE_I8255_H diff --git a/src/devices/video/hd61830.cpp b/src/devices/video/hd61830.cpp index 235d250b405..6e36a550153 100644 --- a/src/devices/video/hd61830.cpp +++ b/src/devices/video/hd61830.cpp @@ -21,7 +21,6 @@ //************************************************************************** DEFINE_DEVICE_TYPE(HD61830, hd61830_device, "hd61830", "Hitachi HD61830B LCD Controller") -decltype(HD61830) HD61830B = HD61830; // default address map diff --git a/src/devices/video/hd61830.h b/src/devices/video/hd61830.h index 56747935587..052335c5e6d 100644 --- a/src/devices/video/hd61830.h +++ b/src/devices/video/hd61830.h @@ -108,6 +108,6 @@ private: // device type definition DECLARE_DEVICE_TYPE(HD61830, hd61830_device) -DECLARE_DEVICE_TYPE(HD61830B, hd61830_device) +static auto &HD61830B = HD61830; #endif // MAME_VIDEO_HD61830_H diff --git a/src/emu/device.h b/src/emu/device.h index 05fa523b6fd..cab07888d35 100644 --- a/src/emu/device.h +++ b/src/emu/device.h @@ -335,42 +335,126 @@ template < emu::detail::device_feature::type Imperfect> constexpr auto driver_device_creator = &emu::detail::driver_tag_func<DriverClass, ShortName, FullName, Source, Unemulated, Imperfect>; + +/// \addtogroup machinedef +/// \{ + +/// \brief Declare a device type +/// +/// Declares a device type where the exposed device class is in the +/// global namespace. Must be used in the global namespace. +/// +/// In addition to declaring the device type itself, a forward +/// declaration for the exposed device class is generated, and automatic +/// instantiation of device finder templates for the exposed device +/// class is suppressed. +/// \param Type The device type name (an identifier). By convention, +/// these start with an uppercase letter and consist only of uppercase +/// letters and underscores. +/// \param Class The exposed device class name. Must be the device +/// implementation class, or a public base of it, and must be derived +/// from #device_t. +/// \sa DECLARE_DEVICE_TYPE_NS DEFINE_DEVICE_TYPE +/// DEFINE_DEVICE_TYPE_PRIVATE #define DECLARE_DEVICE_TYPE(Type, Class) \ class Class; \ - extern emu::detail::device_type_impl<Class> const &Type; \ + extern emu::detail::device_type_impl<Class> const Type; \ extern template class device_finder<Class, false>; \ extern template class device_finder<Class, true>; + +/// \brief Declare a device type for a class in a namespace +/// +/// Declares a device type where the exposed device class is not in the +/// global namespace. Must be used in the global namespace. +/// +/// In addition to declaring the device type itself, a forward +/// declaration for the exposed device class is generated, and automatic +/// instantiation of device finder templates for the exposed device +/// class is suppressed. +/// \param Type The device type name (an identifier). By convention, +/// these start with an uppercase letter and consist only of uppercase +/// letters and underscores. +/// \param Namespace The fully qualified name of the namespace +/// containing the exposed device class. +/// \param Class The exposed device class name, without namespace +/// qualifiers. Must be the device implementation class, or a public +/// base of it, and must be derived from #device_t. +/// \sa DECLARE_DEVICE_TYPE DEFINE_DEVICE_TYPE +/// DEFINE_DEVICE_TYPE_PRIVATE #define DECLARE_DEVICE_TYPE_NS(Type, Namespace, Class) \ namespace Namespace { class Class; } \ - extern emu::detail::device_type_impl<Namespace::Class> const &Type; \ + extern emu::detail::device_type_impl<Namespace::Class> const Type; \ extern template class device_finder<Namespace::Class, false>; \ extern template class device_finder<Namespace::Class, true>; + +/// \brief Define a device type +/// +/// Defines a device type where the exposed device class is the same as +/// the device implementation class. Must be used in the global +/// namespace. +/// +/// As well as defining the device type, device finder templates are +/// instantiated for the device class. +/// \param Type The device type name (an identifier). By convention, +/// these start with an uppercase letter and consist only of uppercase +/// letters and underscores. +/// \param Class The device implementation class name. Must be the same +/// as the exposed device class, and must be derived from #device_t. +/// \param ShortName The short name of the device, used for +/// identification, and in filesystem paths for assets and data. Must +/// be a string no longer than thirty-two characters, containing only +/// ASCII lowercase letters, digits and underscores. Must be globally +/// unique across systems and devices. +/// \param FullName Display name for the device. Must be a string, and +/// must be globally unique across systems and devices. +/// \sa DECLARE_DEVICE_TYPE DECLARE_DEVICE_TYPE_NS +/// DEFINE_DEVICE_TYPE_PRIVATE #define DEFINE_DEVICE_TYPE(Type, Class, ShortName, FullName) \ namespace { \ - struct Class##_device_traits { static constexpr char const shortname[] = ShortName, fullname[] = FullName, source[] = __FILE__; }; \ - constexpr char const Class##_device_traits::shortname[], Class##_device_traits::fullname[], Class##_device_traits::source[]; \ + struct Type##_device_traits { static constexpr char const shortname[] = ShortName, fullname[] = FullName, source[] = __FILE__; }; \ + constexpr char const Type##_device_traits::shortname[], Type##_device_traits::fullname[], Type##_device_traits::source[]; \ } \ - emu::detail::device_type_impl<Class> const &Type = device_creator<Class, (Class##_device_traits::shortname), (Class##_device_traits::fullname), (Class##_device_traits::source)>; \ + emu::detail::device_type_impl<Class> const Type = device_creator<Class, (Type##_device_traits::shortname), (Type##_device_traits::fullname), (Type##_device_traits::source)>; \ template class device_finder<Class, false>; \ template class device_finder<Class, true>; + +/// \brief Define a device type with a private implementation class +/// +/// Defines a device type where the exposed device class is a base of +/// the device implementation class. Must be used in the global +/// namespace. +/// +/// Device finder templates are not instantiated for the exposed device +/// class. This must be done explicitly in a single location for the +/// project. +/// \param Type The device type name (an identifier). By convention, +/// these start with an uppercase letter and consist only of uppercase +/// letters and underscores. +/// \param Base The fully-qualified exposed device class name. Must be +/// a public base of the device implementation class, and must be +/// derived from #device_t. +/// \param Class The fully-qualified device implementation class name. +/// Must be derived from the exposed device class, and indirectly from +/// #device_t. +/// \param ShortName The short name of the device, used for +/// identification, and in filesystem paths for assets and data. Must +/// be a string no longer than thirty-two characters, containing only +/// ASCII lowercase letters, digits and underscores. Must be globally +/// unique across systems and devices. +/// \param FullName Display name for the device. Must be a string, and +/// must be globally unique across systems and devices. +/// \sa DECLARE_DEVICE_TYPE DECLARE_DEVICE_TYPE_NS DEFINE_DEVICE_TYPE #define DEFINE_DEVICE_TYPE_PRIVATE(Type, Base, Class, ShortName, FullName) \ namespace { \ - struct Class##_device_traits { static constexpr char const shortname[] = ShortName, fullname[] = FullName, source[] = __FILE__; }; \ - constexpr char const Class##_device_traits::shortname[], Class##_device_traits::fullname[], Class##_device_traits::source[]; \ + struct Type##_device_traits { static constexpr char const shortname[] = ShortName, fullname[] = FullName, source[] = __FILE__; }; \ + constexpr char const Type##_device_traits::shortname[], Type##_device_traits::fullname[], Type##_device_traits::source[]; \ } \ - emu::detail::device_type_impl<Base> const &Type = device_creator<Class, (Class##_device_traits::shortname), (Class##_device_traits::fullname), (Class##_device_traits::source)>; + emu::detail::device_type_impl<Base> const Type = device_creator<Class, (Type##_device_traits::shortname), (Type##_device_traits::fullname), (Type##_device_traits::source)>; -#define DEFINE_DEVICE_TYPE_NS(Type, Namespace, Class, ShortName, FullName) \ - namespace { \ - struct Class##_device_traits { static constexpr char const shortname[] = ShortName, fullname[] = FullName, source[] = __FILE__; }; \ - constexpr char const Class##_device_traits::shortname[], Class##_device_traits::fullname[], Class##_device_traits::source[]; \ - } \ - emu::detail::device_type_impl<Namespace::Class> const &Type = device_creator<Namespace::Class, (Class##_device_traits::shortname), (Class##_device_traits::fullname), (Class##_device_traits::source)>; \ - template class device_finder<Namespace::Class, false>; \ - template class device_finder<Namespace::Class, true>; +/// \} // exception classes @@ -526,8 +610,8 @@ public: /// /// Implement this member in a derived class to declare the parent /// device type for the purpose of searching for ROMs. Only one - /// level is allowed. It is an error if the parent device type itself - /// declares a parent device type. + /// level is allowed. It is an error if the parent device type + /// itself declares a parent device type. /// \return Pointer to parent device type, or nullptr. static auto parent_rom_device_type() { return nullptr; } diff --git a/src/emu/driver.h b/src/emu/driver.h index 43697f2d109..0656775ab7b 100644 --- a/src/emu/driver.h +++ b/src/emu/driver.h @@ -76,9 +76,14 @@ typedef delegate<void ()> driver_callback_delegate; -// ======================> driver_device - -// base class for machine driver-specific devices +/// \brief Base class for system device classes +/// +/// System devices can be used as the root device of a system. +/// Indirection for metadata, input port definitons, initialisation +/// functions, ROM definitions, internal artwork and emulation status +/// flags is provided via the #game_driver structure. This allows +/// multiple systems to be be implemented using a single +/// system device class. class driver_device : public device_t { public: @@ -102,7 +107,10 @@ public: // inline configuration helpers static void static_set_callback(device_t &device, callback_type type, driver_callback_delegate callback); - // dummy driver_init callback + /// \brief Empty system initialisation function + /// + /// Provided as a convenience for systems that have no additional + /// initialisation tasks. void empty_init(); // output heler diff --git a/src/emu/emucore.h b/src/emu/emucore.h index 2be0f2f4221..768fa8c7280 100644 --- a/src/emu/emucore.h +++ b/src/emu/emucore.h @@ -178,15 +178,19 @@ constexpr endianness_t ENDIANNESS_NATIVE = util::endianness::native; #endif -// orientation of bitmaps -constexpr int ORIENTATION_FLIP_X = 0x0001; // mirror everything in the X direction -constexpr int ORIENTATION_FLIP_Y = 0x0002; // mirror everything in the Y direction -constexpr int ORIENTATION_SWAP_XY = 0x0004; // mirror along the top-left/bottom-right diagonal +/// \name Image orientation flags +/// \{ + +constexpr int ORIENTATION_FLIP_X = 0x0001; ///< Mirror horizontally (in the X direction) +constexpr int ORIENTATION_FLIP_Y = 0x0002; ///< Mirror vertically (in the Y direction) +constexpr int ORIENTATION_SWAP_XY = 0x0004; ///< Mirror along the top-left/bottom-right diagonal constexpr int ROT0 = 0; -constexpr int ROT90 = ORIENTATION_SWAP_XY | ORIENTATION_FLIP_X; // rotate clockwise 90 degrees -constexpr int ROT180 = ORIENTATION_FLIP_X | ORIENTATION_FLIP_Y; // rotate 180 degrees -constexpr int ROT270 = ORIENTATION_SWAP_XY | ORIENTATION_FLIP_Y; // rotate counter-clockwise 90 degrees +constexpr int ROT90 = ORIENTATION_SWAP_XY | ORIENTATION_FLIP_X; ///< Rotate 90 degrees clockwise +constexpr int ROT180 = ORIENTATION_FLIP_X | ORIENTATION_FLIP_Y; ///< Rotate 180 degrees +constexpr int ROT270 = ORIENTATION_SWAP_XY | ORIENTATION_FLIP_Y; ///< Rotate 90 degrees anti-clockwise (270 degrees clockwise) + +/// \} // these are UTF-8 encoded strings for common characters diff --git a/src/emu/gamedrv.h b/src/emu/gamedrv.h index 2843e7a36c8..eba153e3410 100644 --- a/src/emu/gamedrv.h +++ b/src/emu/gamedrv.h @@ -16,6 +16,9 @@ #include <type_traits> +/// \defgroup machinedef Machine definition macros + + //************************************************************************** // CONSTANTS //************************************************************************** @@ -59,51 +62,76 @@ struct machine_flags DECLARE_ENUM_BITWISE_OPERATORS(machine_flags::type); -// flags for machine drivers constexpr u64 MACHINE_TYPE_ARCADE = machine_flags::TYPE_ARCADE; constexpr u64 MACHINE_TYPE_CONSOLE = machine_flags::TYPE_CONSOLE; constexpr u64 MACHINE_TYPE_COMPUTER = machine_flags::TYPE_COMPUTER; constexpr u64 MACHINE_TYPE_OTHER = machine_flags::TYPE_OTHER; -constexpr u64 MACHINE_NOT_WORKING = machine_flags::NOT_WORKING; -constexpr u64 MACHINE_SUPPORTS_SAVE = machine_flags::SUPPORTS_SAVE; -constexpr u64 MACHINE_NO_COCKTAIL = machine_flags::NO_COCKTAIL; -constexpr u64 MACHINE_IS_BIOS_ROOT = machine_flags::IS_BIOS_ROOT; -constexpr u64 MACHINE_REQUIRES_ARTWORK = machine_flags::REQUIRES_ARTWORK; -constexpr u64 MACHINE_CLICKABLE_ARTWORK = machine_flags::CLICKABLE_ARTWORK; -constexpr u64 MACHINE_UNOFFICIAL = machine_flags::UNOFFICIAL; -constexpr u64 MACHINE_NO_SOUND_HW = machine_flags::NO_SOUND_HW; -constexpr u64 MACHINE_MECHANICAL = machine_flags::MECHANICAL; -constexpr u64 MACHINE_IS_INCOMPLETE = machine_flags::IS_INCOMPLETE; + + +/// \addtogroup machinedef +/// \{ +/// \name System emulation status constants +/// +/// Constants representing system emulation status flags. May be +/// combined for use as FLAGS arguments to the #GAME, #GAMEL, #CONS, +/// #COMP and #SYST macros. +/// \{ + +// flags for machine drivers +constexpr u64 MACHINE_NOT_WORKING = machine_flags::NOT_WORKING; ///< Imperfect emulation prevents using the system as intended +constexpr u64 MACHINE_SUPPORTS_SAVE = machine_flags::SUPPORTS_SAVE; ///< All devices in the system supports save states (enables auto save feature, and won't show a warning on using save states) +constexpr u64 MACHINE_NO_COCKTAIL = machine_flags::NO_COCKTAIL; ///< The system supports screen flipping for use in a cocktail cabinet, but this feature is not properly emulated +constexpr u64 MACHINE_IS_BIOS_ROOT = machine_flags::IS_BIOS_ROOT; ///< The system represents an empty system board of some kind - clones are treated as separate systems rather than variants +constexpr u64 MACHINE_REQUIRES_ARTWORK = machine_flags::REQUIRES_ARTWORK; ///< The system requires external artwork for key functionality +constexpr u64 MACHINE_CLICKABLE_ARTWORK = machine_flags::CLICKABLE_ARTWORK; ///< Enables pointer display for the system to facilitate using clickable artwork +constexpr u64 MACHINE_UNOFFICIAL = machine_flags::UNOFFICIAL; ///< The system represents an after-market or end-user modification to a system +constexpr u64 MACHINE_NO_SOUND_HW = machine_flags::NO_SOUND_HW; ///< The system has no sound output capability +constexpr u64 MACHINE_MECHANICAL = machine_flags::MECHANICAL; ///< The system depends on mechanical features for key functionality +constexpr u64 MACHINE_IS_INCOMPLETE = machine_flags::IS_INCOMPLETE; ///< The system represents an incomplete prototype // flags that map to device feature flags -constexpr u64 MACHINE_UNEMULATED_PROTECTION = 0x00000001'00000000; // game's protection not fully emulated -constexpr u64 MACHINE_WRONG_COLORS = 0x00000002'00000000; // colors are totally wrong -constexpr u64 MACHINE_IMPERFECT_COLORS = 0x00000004'00000000; // colors are not 100% accurate, but close -constexpr u64 MACHINE_IMPERFECT_GRAPHICS = 0x00000008'00000000; // graphics are wrong/incomplete -constexpr u64 MACHINE_NO_SOUND = 0x00000010'00000000; // sound is missing -constexpr u64 MACHINE_IMPERFECT_SOUND = 0x00000020'00000000; // sound is known to be wrong -constexpr u64 MACHINE_IMPERFECT_CONTROLS = 0x00000040'00000000; // controls are known to be imperfectly emulated -constexpr u64 MACHINE_NODEVICE_MICROPHONE = 0x00000080'00000000; // any game/system that has unemulated audio capture device -constexpr u64 MACHINE_NODEVICE_PRINTER = 0x00000100'00000000; // any game/system that has unemulated hardcopy output device -constexpr u64 MACHINE_NODEVICE_LAN = 0x00000200'00000000; // any game/system that has unemulated local networking -constexpr u64 MACHINE_IMPERFECT_TIMING = 0x00000400'00000000; // timing is known to be imperfectly emulated +constexpr u64 MACHINE_UNEMULATED_PROTECTION = 0x00000001'00000000; ///< Some form of protection is imperfectly emulated (e.g. copy protection or anti-tampering) +constexpr u64 MACHINE_WRONG_COLORS = 0x00000002'00000000; ///< Colours are completely wrong +constexpr u64 MACHINE_IMPERFECT_COLORS = 0x00000004'00000000; ///< Colours are close but not completely accurate +constexpr u64 MACHINE_IMPERFECT_GRAPHICS = 0x00000008'00000000; ///< Graphics are emulated incorrectly for the system +constexpr u64 MACHINE_NO_SOUND = 0x00000010'00000000; ///< The system has sound output, but it is not emulated +constexpr u64 MACHINE_IMPERFECT_SOUND = 0x00000020'00000000; ///< Sound is known to be imperfectly emulated for the system +constexpr u64 MACHINE_IMPERFECT_CONTROLS = 0x00000040'00000000; ///< Controls or inputs are emulated imperfectly for the system +constexpr u64 MACHINE_NODEVICE_MICROPHONE = 0x00000080'00000000; ///< The system has unemulated audio capture functionality +constexpr u64 MACHINE_NODEVICE_PRINTER = 0x00000100'00000000; ///< The system has unemulated printer functionality +constexpr u64 MACHINE_NODEVICE_LAN = 0x00000200'00000000; ///< The system has unemulated local area networking +constexpr u64 MACHINE_IMPERFECT_TIMING = 0x00000400'00000000; ///< Timing is known to be imperfectly emulated for the system // useful combinations of flags -constexpr u64 MACHINE_IS_SKELETON = MACHINE_NO_SOUND | MACHINE_NOT_WORKING; // flag combination for skeleton drivers +constexpr u64 MACHINE_IS_SKELETON = MACHINE_NO_SOUND | MACHINE_NOT_WORKING; ///< Useful combination of flags for preliminary systems constexpr u64 MACHINE_IS_SKELETON_MECHANICAL = MACHINE_IS_SKELETON | MACHINE_MECHANICAL | MACHINE_REQUIRES_ARTWORK; // flag combination for skeleton mechanical machines +/// \} +/// \} + //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -// static POD structure describing each game driver entry +/// \brief Static system description +/// +/// A plain data structure providing static information about an system. +/// Used to allow multiple systems to be implemented using a single +/// system device class (an implementation of #driver_device). class game_driver { public: typedef void (*machine_creator_wrapper)(machine_config &, device_t &); typedef void (*driver_init_wrapper)(device_t &); + /// \brief Get unemulated system features + /// + /// Converts system flags corresponding to unemulated device + /// features to the a device feature type bit field. + /// \param [in] flags A system flags bit field. + /// \return A device feature type bit field corresponding to + /// unemulated features declared in the \p flags argument. static constexpr device_t::feature_type unemulated_features(u64 flags) { return @@ -114,6 +142,14 @@ public: ((flags & MACHINE_NODEVICE_LAN) ? device_t::feature::LAN : device_t::feature::NONE); } + /// \brief Get imperfectly emulated system features + /// + /// Converts system flags corresponding to imperfectly emulated + /// device features to the a device feature type bit field. + /// \param [in] flags A system flags bit field. + /// \return A device feature type bit field corresponding to + /// imperfectly emulated features declared in the \p flags + /// argument. static constexpr device_t::feature_type imperfect_features(u64 flags) { return @@ -126,7 +162,7 @@ public: } device_type type; // static type info for driver class - const char * parent; // if this is a clone, the name of the parent + const char * parent; // name of the parent or BIOS system if applicable const char * year; // year the game was released const char * manufacturer; // manufacturer of the game machine_creator_wrapper machine_creator; // machine driver tokens @@ -136,7 +172,7 @@ public: const char * compatible_with; const internal_layout * default_layout; // default internally defined layout machine_flags::type flags; // orientation and other flags; see defines above - char name[MAX_DRIVER_NAME_CHARS + 1]; // short name of the game + char name[MAX_DRIVER_NAME_CHARS + 1]; // short name of the system }; @@ -164,9 +200,61 @@ driver_device_creator< \ game_driver::unemulated_features(FLAGS), \ game_driver::imperfect_features(FLAGS)> -// standard GAME() macro -#define GAME(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS) \ -GAME_DRIVER_TRAITS(NAME,FULLNAME) \ + +/// \addtogroup machinedef +/// \{ + +/// \brief Define a "game" system +/// +/// Use this macro to define most systems intended for public use, +/// including arcade games, gambling machines, vending machines, and +/// information kiosks. Muse be used in the global namespace. +/// +/// Creates an appropriately named and populated #game_driver structure +/// describing the system. +/// \param YEAR The year that the system was first made available. Must +/// be a token containing only the digits zero to nine, question mark +/// and plus sign. +/// \param NAME The short name of the system, used for identification, +/// and in filesystem paths for assets and data. Must be a token no +/// longer than sixteen characters, containing only ASCII lowercase +/// letters, digits and underscores. Must be globally unique across +/// systems and devices. +/// \param PARENT Short name of the parent or BIOS system if applicable, +/// or a single digit zero otherwise. +/// \param MACHINE Function used to buid machine configuration for the +/// system. Must be a public member function of the system device +/// class (\p CLASS argument), returning void and taking a reference +/// to a #machine_config object as a parameter. +/// \param INPUT Input port definitions for the root device of the +/// system, usually defined using #INPUT_PORTS_START and associated +/// macros. +/// \param CLASS Class to instantiate as the root device of the system. +/// Must be an implementation of #driver_device. +/// \param INIT Initialisation function called after all child devices +/// have started, but before the driver start functions are called. +/// Often used for tasks like decrypting ROMs. Must be a public +/// member function of the system device class (\p CLASS argument), +/// returning void and accepting no parameters. The function +/// #driver_device::empty_init is supplied for systems that don't need +/// to perform additional tasks. +/// \param MONITOR Screen orientation flags applied to all screens in +/// the system, after the individual screens' orientation flags are +/// applied. Usually one #ROT0, #ROT90, #ROT180 or #ROT270. +/// \param COMPANY Name of the developer or distributor of the system. +/// Must be a string. +/// \param FULLNAME Display name for the system. Must be a string, and +/// must be globally unique across systems and devices. +/// \param FLAGS Bitwise combination of emulation status flags for the +/// system, in addition to flags supplied by the system device class +/// (see #device_t::unemulated_features and +/// #device_t::imperfect_features). It is advisable to supply +/// unemulated and imperfectly emulated feature flags that apply to +/// all systems implemented using the class in the class itself to +/// avoid repetition. +/// \sa GAMEL CONS COMP SYST +#define GAME(YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MONITOR, COMPANY, FULLNAME, FLAGS) \ +GAME_DRIVER_TRAITS(NAME, FULLNAME) \ extern game_driver const GAME_NAME(NAME) \ { \ GAME_DRIVER_TYPE(NAME, CLASS, FLAGS), \ @@ -183,9 +271,62 @@ extern game_driver const GAME_NAME(NAME) \ #NAME \ }; -// standard macro with additional layout -#define GAMEL(YEAR,NAME,PARENT,MACHINE,INPUT,CLASS,INIT,MONITOR,COMPANY,FULLNAME,FLAGS,LAYOUT) \ -GAME_DRIVER_TRAITS(NAME,FULLNAME) \ + +/// \brief Define a "game" system with an additional internal layout +/// +/// Equivalent to the #GAME macro, but with the additional ability to +/// supply system-specific internal artwork layout data. Views from the +/// system-specific layout are available in addition to any views from +/// layout data specified in the machine configuration. Must be used in +/// the global namespace. +/// +/// Creates an appropriately named and populated #game_driver structure +/// describing the system. +/// \param YEAR The year that the system was first made available. Must +/// be a token containing only the digits zero to nine, question mark +/// and plus sign. +/// \param NAME The short name of the system, used for identification, +/// and in filesystem paths for assets and data. Must be a token no +/// longer than sixteen characters, containing only ASCII lowercase +/// letters, digits and underscores. Must be globally unique across +/// systems and devices. +/// \param PARENT Short name of the parent or BIOS system if applicable, +/// or a single digit zero otherwise. +/// \param MACHINE Function used to buid machine configuration for the +/// system. Must be a public member function of the system device +/// class (\p CLASS argument), returning void and taking a reference +/// to a #machine_config object as a parameter. +/// \param INPUT Input port definitions for the root device of the +/// system, usually defined using #INPUT_PORTS_START and associated +/// macros. +/// \param CLASS Class to instantiate as the root device of the system. +/// Must be an implementation of #driver_device. +/// \param INIT Initialisation function called after all child devices +/// have started, but before the driver start functions are called. +/// Often used for tasks like decrypting ROMs. Must be a public +/// member function of the system device class (\p CLASS argument), +/// returning void and accepting no parameters. The function +/// #driver_device::empty_init is supplied for systems that don't need +/// to perform additional tasks. +/// \param MONITOR Screen orientation flags applied to all screens in +/// the system, after the individual screens' orientation flags are +/// applied. Usually one #ROT0, #ROT90, #ROT180 or #ROT270. +/// \param COMPANY Name of the developer or distributor of the system. +/// Must be a string. +/// \param FULLNAME Display name for the system. Must be a string, and +/// must be globally unique across systems and devices. +/// \param FLAGS Bitwise combination of emulation status flags for the +/// system, in addition to flags supplied by the system device class +/// (see #device_t::unemulated_features and +/// #device_t::imperfect_features). It is advisable to supply +/// unemulated and imperfectly emulated feature flags that apply to +/// all systems implemented using the class in the class itself to +/// avoid repetition. +/// \param LAYOUT An #internal_layout structure providing additional +/// internal artwork for the system. +/// \sa GAME CONS COMP SYST +#define GAMEL(YEAR, NAME, PARENT, MACHINE, INPUT, CLASS, INIT, MONITOR, COMPANY, FULLNAME, FLAGS, LAYOUT) \ +GAME_DRIVER_TRAITS(NAME, FULLNAME) \ extern game_driver const GAME_NAME(NAME) \ { \ GAME_DRIVER_TYPE(NAME, CLASS, FLAGS), \ @@ -203,8 +344,54 @@ extern game_driver const GAME_NAME(NAME) \ }; -// standard console definition macro -#define CONS(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \ +/// \brief Define a "console" system +/// +/// Use this macro to define appliance-like entertainment systems +/// designed for domestic use. Must be used in the global namespace. +/// +/// Creates an appropriately named and populated #game_driver structure +/// describing the system. +/// \param YEAR The year that the system was first made available. Must +/// be a token containing only the digits zero to nine, question mark +/// and plus sign. +/// \param NAME The short name of the system, used for identification, +/// and in filesystem paths for assets and data. Must be a token no +/// longer than sixteen characters, containing only ASCII lowercase +/// letters, digits and underscores. Must be globally unique across +/// systems and devices. +/// \param PARENT Short name of the parent or BIOS system if applicable, +/// or a single digit zero otherwise. +/// \param COMPAT Short name of a system that this system is compatible +/// with if applicable, or a single digit zero otherwise. +/// \param MACHINE Function used to buid machine configuration for the +/// system. Must be a public member function of the system device +/// class (\p CLASS argument), returning void and taking a reference +/// to a #machine_config object as a parameter. +/// \param INPUT Input port definitions for the root device of the +/// system, usually defined using #INPUT_PORTS_START and associated +/// macros. +/// \param CLASS Class to instantiate as the root device of the system. +/// Must be an implementation of #driver_device. +/// \param INIT Initialisation function called after all child devices +/// have started, but before the driver start functions are called. +/// Often used for tasks like decrypting ROMs. Must be a public +/// member function of the system device class (\p CLASS argument), +/// returning void and accepting no parameters. The function +/// #driver_device::empty_init is supplied for systems that don't need +/// to perform additional tasks. +/// \param COMPANY Name of the developer or distributor of the system. +/// Must be a string. +/// \param FULLNAME Display name for the system. Must be a string, and +/// must be globally unique across systems and devices. +/// \param FLAGS Bitwise combination of emulation status flags for the +/// system, in addition to flags supplied by the system device class +/// (see #device_t::unemulated_features and +/// #device_t::imperfect_features). It is advisable to supply +/// unemulated and imperfectly emulated feature flags that apply to +/// all systems implemented using the class in the class itself to +/// avoid repetition. Screen orientation flags may be included here. +/// \sa GAME GAMEL COMP SYST +#define CONS(YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS) \ GAME_DRIVER_TRAITS(NAME,FULLNAME) \ extern game_driver const GAME_NAME(NAME) \ { \ @@ -222,7 +409,54 @@ extern game_driver const GAME_NAME(NAME) \ #NAME \ }; -// standard computer definition macro + +/// \brief Define a "computer" system +/// +/// Use this macro to define computer-like systems. Must be used in the +/// global namespace. +/// +/// Creates an appropriately named and populated #game_driver structure +/// describing the system. +/// \param YEAR The year that the system was first made available. Must +/// be a token containing only the digits zero to nine, question mark +/// and plus sign. +/// \param NAME The short name of the system, used for identification, +/// and in filesystem paths for assets and data. Must be a token no +/// longer than sixteen characters, containing only ASCII lowercase +/// letters, digits and underscores. Must be globally unique across +/// systems and devices. +/// \param PARENT Short name of the parent or BIOS system if applicable, +/// or a single digit zero otherwise. +/// \param COMPAT Short name of a system that this system is compatible +/// with if applicable, or a single digit zero otherwise. +/// \param MACHINE Function used to buid machine configuration for the +/// system. Must be a public member function of the system device +/// class (\p CLASS argument), returning void and taking a reference +/// to a #machine_config object as a parameter. +/// \param INPUT Input port definitions for the root device of the +/// system, usually defined using #INPUT_PORTS_START and associated +/// macros. +/// \param CLASS Class to instantiate as the root device of the system. +/// Must be an implementation of #driver_device. +/// \param INIT Initialisation function called after all child devices +/// have started, but before the driver start functions are called. +/// Often used for tasks like decrypting ROMs. Must be a public +/// member function of the system device class (\p CLASS argument), +/// returning void and accepting no parameters. The function +/// #driver_device::empty_init is supplied for systems that don't need +/// to perform additional tasks. +/// \param COMPANY Name of the developer or distributor of the system. +/// Must be a string. +/// \param FULLNAME Display name for the system. Must be a string, and +/// must be globally unique across systems and devices. +/// \param FLAGS Bitwise combination of emulation status flags for the +/// system, in addition to flags supplied by the system device class +/// (see #device_t::unemulated_features and +/// #device_t::imperfect_features). It is advisable to supply +/// unemulated and imperfectly emulated feature flags that apply to +/// all systems implemented using the class in the class itself to +/// avoid repetition. Screen orientation flags may be included here. +/// \sa GAME GAMEL CONS SYST #define COMP(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \ GAME_DRIVER_TRAITS(NAME,FULLNAME) \ extern game_driver const GAME_NAME(NAME) \ @@ -241,7 +475,54 @@ extern game_driver const GAME_NAME(NAME) \ #NAME \ }; -// standard system definition macro + +/// \brief Define a generic system +/// +/// Use this macro to define miscellaneous systems that don't fall into +/// one of the other categories. Must be used in the global namespace. +/// +/// Creates an appropriately named and populated #game_driver structure +/// describing the system. +/// \param YEAR The year that the system was first made available. Must +/// be a token containing only the digits zero to nine, question mark +/// and plus sign. +/// \param NAME The short name of the system, used for identification, +/// and in filesystem paths for assets and data. Must be a token no +/// longer than sixteen characters, containing only ASCII lowercase +/// letters, digits and underscores. Must be globally unique across +/// systems and devices. +/// \param PARENT Short name of the parent or BIOS system if applicable, +/// or a single digit zero otherwise. +/// \param COMPAT Short name of a system that this system is compatible +/// with if applicable, or a single digit zero otherwise. +/// \param MACHINE Function used to buid machine configuration for the +/// system. Must be a public member function of the system device +/// class (\p CLASS argument), returning void and taking a reference +/// to a #machine_config object as a parameter. +/// \param INPUT Input port definitions for the root device of the +/// system, usually defined using #INPUT_PORTS_START and associated +/// macros. +/// \param CLASS Class to instantiate as the root device of the system. +/// Must be an implementation of #driver_device. +/// \param INIT Initialisation function called after all child devices +/// have started, but before the driver start functions are called. +/// Often used for tasks like decrypting ROMs. Must be a public +/// member function of the system device class (\p CLASS argument), +/// returning void and accepting no parameters. The function +/// #driver_device::empty_init is supplied for systems that don't need +/// to perform additional tasks. +/// \param COMPANY Name of the developer or distributor of the system. +/// Must be a string. +/// \param FULLNAME Display name for the system. Must be a string, and +/// must be globally unique across systems and devices. +/// \param FLAGS Bitwise combination of emulation status flags for the +/// system, in addition to flags supplied by the system device class +/// (see #device_t::unemulated_features and +/// #device_t::imperfect_features). It is advisable to supply +/// unemulated and imperfectly emulated feature flags that apply to +/// all systems implemented using the class in the class itself to +/// avoid repetition. Screen orientation flags may be included here. +/// \sa GAME GAMEL CONS COMP #define SYST(YEAR,NAME,PARENT,COMPAT,MACHINE,INPUT,CLASS,INIT,COMPANY,FULLNAME,FLAGS) \ GAME_DRIVER_TRAITS(NAME,FULLNAME) \ extern game_driver const GAME_NAME(NAME) \ @@ -260,5 +541,6 @@ extern game_driver const GAME_NAME(NAME) \ #NAME \ }; +/// \} #endif // MAME_EMU_GAMEDRV_H diff --git a/src/mame/video/k053244_k053245.cpp b/src/mame/video/k053244_k053245.cpp index 0ca46f52847..fdd82c3344b 100644 --- a/src/mame/video/k053244_k053245.cpp +++ b/src/mame/video/k053244_k053245.cpp @@ -42,7 +42,6 @@ main ram and the buffer. *****************************************************************************/ DEFINE_DEVICE_TYPE(K053244, k05324x_device, "k05324x", "K053244/053245 Sprite Generator") -decltype(K053244) K053245 = K053244; const gfx_layout k05324x_device::spritelayout = { diff --git a/src/mame/video/k053244_k053245.h b/src/mame/video/k053244_k053245.h index 1f01fd71a8a..bc534d7a2df 100644 --- a/src/mame/video/k053244_k053245.h +++ b/src/mame/video/k053244_k053245.h @@ -64,6 +64,6 @@ private: DECLARE_DEVICE_TYPE(K053244, k05324x_device) -DECLARE_DEVICE_TYPE(K053245, k05324x_device) +static auto &K053245 = K053244; #endif // MAME_VIDEO_K053244_K053245_H diff --git a/src/mame/video/k053246_k053247_k055673.cpp b/src/mame/video/k053246_k053247_k055673.cpp index fcd27f1f065..a6f0d92748e 100644 --- a/src/mame/video/k053246_k053247_k055673.cpp +++ b/src/mame/video/k053246_k053247_k055673.cpp @@ -1045,7 +1045,6 @@ void k055673_device::device_start() DEFINE_DEVICE_TYPE(K053247, k053247_device, "k053247", "K053246/K053247 Sprite Generator") -decltype(K053247) K053246 = K053247; k053247_device::k053247_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : k053247_device(mconfig, K053247, tag, owner, clock) diff --git a/src/mame/video/k053246_k053247_k055673.h b/src/mame/video/k053246_k053247_k055673.h index 0be6f634af9..32b866335a8 100644 --- a/src/mame/video/k053246_k053247_k055673.h +++ b/src/mame/video/k053246_k053247_k055673.h @@ -449,7 +449,7 @@ protected: }; DECLARE_DEVICE_TYPE(K053247, k053247_device) -DECLARE_DEVICE_TYPE(K053246, k053247_device) +static auto &K053246 = K053247; class k055673_device : public k053247_device { |