@@ -68,6 +68,7 @@ class tatrain_state : public driver_device
68
68
m_inputs (*this , " IN.%u" , 0 )
69
69
{ }
70
70
71
+ template <typename T> void cpu_config (T &maincpu);
71
72
void shared (machine_config &config);
72
73
void tatrain (machine_config &config);
73
74
void tatraina (machine_config &config);
@@ -195,19 +196,22 @@ INPUT_PORTS_END
195
196
Machine Configs
196
197
*******************************************************************************/
197
198
198
- #define CPU_CONFIG () \
199
- maincpu.nvram_enable_backup(true ); \
200
- maincpu.standby_cb().set(m_maincpu, FUNC(h8_device::nvram_set_battery)); \
201
- maincpu.standby_cb().append([this ](int state) { if (state) m_display->clear (); }); \
202
- maincpu.write_port1().set(FUNC(tatrain_state::leds_w<0 >)); \
203
- maincpu.write_port2().set(FUNC(tatrain_state::leds_w<1 >)); \
204
- maincpu.write_port3().set(FUNC(tatrain_state::leds_w<2 >)); \
205
- maincpu.read_port4().set(FUNC(tatrain_state::p4_r)); \
206
- maincpu.read_port5().set_constant(0xff ); \
207
- maincpu.write_port5().set(FUNC(tatrain_state::p5_w)); \
208
- maincpu.read_port6().set_ioport(" IN.2" ).invert(); \
209
- maincpu.write_port6().set(FUNC(tatrain_state::p6_w)); \
210
- maincpu.write_port7().set(FUNC(tatrain_state::p7_w))
199
+ template <typename T>
200
+ void tatrain_state::cpu_config(T &maincpu)
201
+ {
202
+ maincpu.nvram_enable_backup (true );
203
+ maincpu.standby_cb ().set (m_maincpu, FUNC (h8_device::nvram_set_battery));
204
+ maincpu.standby_cb ().append ([this ](int state) { if (state) m_display->clear (); });
205
+ maincpu.write_port1 ().set (FUNC (tatrain_state::leds_w<0 >));
206
+ maincpu.write_port2 ().set (FUNC (tatrain_state::leds_w<1 >));
207
+ maincpu.write_port3 ().set (FUNC (tatrain_state::leds_w<2 >));
208
+ maincpu.read_port4 ().set (FUNC (tatrain_state::p4_r));
209
+ maincpu.read_port5 ().set_constant (0xff );
210
+ maincpu.write_port5 ().set (FUNC (tatrain_state::p5_w));
211
+ maincpu.read_port6 ().set_ioport (" IN.2" ).invert ();
212
+ maincpu.write_port6 ().set (FUNC (tatrain_state::p6_w));
213
+ maincpu.write_port7 ().set (FUNC (tatrain_state::p7_w));
214
+ }
211
215
212
216
void tatrain_state::shared (machine_config &config)
213
217
{
@@ -229,17 +233,15 @@ void tatrain_state::shared(machine_config &config)
229
233
void tatrain_state::tatrain (machine_config &config)
230
234
{
231
235
H83212 (config, m_maincpu, 10_MHz_XTAL);
232
- auto &maincpu = downcast<h83212_device &>(*m_maincpu);
233
- CPU_CONFIG ();
236
+ cpu_config<h83212_device>(downcast<h83212_device &>(*m_maincpu));
234
237
235
238
shared (config);
236
239
}
237
240
238
241
void tatrain_state::tatraina (machine_config &config)
239
242
{
240
243
H8323 (config, m_maincpu, 20_MHz_XTAL);
241
- auto &maincpu = downcast<h8323_device &>(*m_maincpu);
242
- CPU_CONFIG ();
244
+ cpu_config<h8323_device>(downcast<h8323_device &>(*m_maincpu));
243
245
244
246
shared (config);
245
247
}
0 commit comments