summaryrefslogtreecommitdiffstats
path: root/src/devices/cpu/tms1000/tms0970.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms1000/tms0970.cpp')
-rw-r--r--src/devices/cpu/tms1000/tms0970.cpp42
1 files changed, 23 insertions, 19 deletions
diff --git a/src/devices/cpu/tms1000/tms0970.cpp b/src/devices/cpu/tms1000/tms0970.cpp
index c4fbd7618df..305e3e98260 100644
--- a/src/devices/cpu/tms1000/tms0970.cpp
+++ b/src/devices/cpu/tms1000/tms0970.cpp
@@ -13,7 +13,7 @@
// TMS0950 is a TMS1000 with a TMS0980 style opla, it was quickly succeeded by the TMS0970
// - RAM, ROM, microinstructions is the same as TMS1000
// - 10-term inverted output PLA and segment PLA on the top-left
-const device_type TMS0950 = device_creator<tms0950_cpu_device>; // 28-pin DIP, 8 O pins, 11? R pins
+DEFINE_DEVICE_TYPE(TMS0950, tms0950_cpu_device, "tms0950", "TMS0950") // 28-pin DIP, 8 O pins, 11? R pins
// TMS0970 is a stripped-down version of the TMS0980, itself acting more like a TMS1000
// - RAM and ROM is the same as TMS1000
@@ -22,8 +22,8 @@ const device_type TMS0950 = device_creator<tms0950_cpu_device>; // 28-pin DIP, 8
// RETN, SETR, RBIT, SBIT, LDX, COMX, TDO, ..., redir(----0-00), LDP
// - 32-term microinstructions PLA between the RAM and ROM, supporting 15 microinstructions
// - 16-term inverted output PLA and segment PLA above the RAM (rotate opla 90 degrees)
-const device_type TMS0970 = device_creator<tms0970_cpu_device>; // 28-pin DIP, 11 R pins (note: pinout may slightly differ from chip to chip)
-const device_type TMS1990 = device_creator<tms1990_cpu_device>; // 28-pin DIP, ? R pins..
+DEFINE_DEVICE_TYPE(TMS0970, tms0970_cpu_device, "tms0970", "TMS0970") // 28-pin DIP, 11 R pins (note: pinout may slightly differ from chip to chip)
+DEFINE_DEVICE_TYPE(TMS1990, tms1990_cpu_device, "tms1990", "TMS1990") // 28-pin DIP, ? R pins..
// internal memory maps
@@ -38,20 +38,24 @@ ADDRESS_MAP_END
// device definitions
tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : tms1000_cpu_device(mconfig, TMS0970, "TMS0970", tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 2 /* x width */, 10 /* prg width */, ADDRESS_MAP_NAME(program_10bit_8), 6 /* data width */, ADDRESS_MAP_NAME(data_64x4), "tms0970", __FILE__)
-{ }
+ : tms0970_cpu_device(mconfig, TMS0970, tag, owner, clock, 8 /* o pins */, 11 /* r pins */, 6 /* pc bits */, 8 /* byte width */, 2 /* x width */, 10 /* prg width */, ADDRESS_MAP_NAME(program_10bit_8), 6 /* data width */, ADDRESS_MAP_NAME(data_64x4))
+{
+}
-tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, const char *shortname, const char *source)
- : tms1000_cpu_device(mconfig, type, name, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, prgwidth, program, datawidth, data, shortname, source)
-{ }
+tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 o_pins, u8 r_pins, u8 pc_bits, u8 byte_bits, u8 x_bits, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data)
+ : tms1000_cpu_device(mconfig, type, tag, owner, clock, o_pins, r_pins, pc_bits, byte_bits, x_bits, prgwidth, program, datawidth, data)
+{
+}
tms0950_cpu_device::tms0950_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : tms0970_cpu_device(mconfig, TMS0950, "TMS0950", tag, owner, clock, 8, 11, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_10bit_8), 6, ADDRESS_MAP_NAME(data_64x4), "tms0950", __FILE__)
-{ }
+ : tms0970_cpu_device(mconfig, TMS0950, tag, owner, clock, 8, 11, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_10bit_8), 6, ADDRESS_MAP_NAME(data_64x4))
+{
+}
tms1990_cpu_device::tms1990_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : tms0970_cpu_device(mconfig, TMS1990, "TMS1990", tag, owner, clock, 8, 11, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_10bit_8), 6, ADDRESS_MAP_NAME(data_64x4), "tms1990", __FILE__)
-{ }
+ : tms0970_cpu_device(mconfig, TMS1990, tag, owner, clock, 8, 11, 6, 8, 2, 10, ADDRESS_MAP_NAME(program_10bit_8), 6, ADDRESS_MAP_NAME(data_64x4))
+{
+}
// machine configs
@@ -59,11 +63,11 @@ static MACHINE_CONFIG_FRAGMENT(tms0950)
// microinstructions PLA, output PLA, segment PLA
MCFG_PLA_ADD("mpla", 8, 16, 30)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MCFG_PLA_ADD("opla", 4, 8, 10)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MCFG_PLA_ADD("spla", 3, 8, 8)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MACHINE_CONFIG_END
machine_config_constructor tms0950_cpu_device::device_mconfig_additions() const
@@ -75,13 +79,13 @@ static MACHINE_CONFIG_FRAGMENT(tms0970)
// main opcodes PLA, microinstructions PLA, output PLA, segment PLA
MCFG_PLA_ADD("ipla", 8, 15, 18)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MCFG_PLA_ADD("mpla", 5, 15, 32)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MCFG_PLA_ADD("opla", 4, 8, 16)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MCFG_PLA_ADD("spla", 3, 8, 8)
- MCFG_PLA_FILEFORMAT(PLA_FMT_BERKELEY)
+ MCFG_PLA_FILEFORMAT(BERKELEY)
MACHINE_CONFIG_END
machine_config_constructor tms0970_cpu_device::device_mconfig_additions() const