summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/hh_hmcs40.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hh_hmcs40.cpp')
-rw-r--r--src/mame/drivers/hh_hmcs40.cpp461
1 files changed, 255 insertions, 206 deletions
diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp
index 9e4626f83ef..0c69858ca4a 100644
--- a/src/mame/drivers/hh_hmcs40.cpp
+++ b/src/mame/drivers/hh_hmcs40.cpp
@@ -156,6 +156,12 @@ public:
m_inputs(*this, "IN.%u", 0)
{ }
+ DECLARE_INPUT_CHANGED_MEMBER(single_interrupt_line);
+
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
// devices
required_device<hmcs40_cpu_device> m_maincpu;
optional_device<pwm_display_device> m_display;
@@ -163,22 +169,17 @@ public:
optional_ioport_array<7> m_inputs; // max 7
// misc common
- u8 m_r[8]; // MCU R ports write data (optional)
- u16 m_d; // MCU D port write data (optional)
- u8 m_int[2]; // MCU INT0/1 pins state
- u16 m_inp_mux; // multiplexed inputs mask
+ u8 m_r[8] = { }; // MCU R ports write data (optional)
+ u16 m_d = 0; // MCU D port write data (optional)
+ u8 m_int[2] = { }; // MCU INT0/1 pins state
+ u16 m_inp_mux = 0; // multiplexed inputs mask
- u32 m_grid; // VFD current row data
- u64 m_plate; // VFD current column data
+ u32 m_grid = 0; // VFD current row data
+ u64 m_plate = 0; // VFD current column data
u16 read_inputs(int columns);
void refresh_interrupts(void);
void set_interrupt(int line, int state);
- DECLARE_INPUT_CHANGED_MEMBER(single_interrupt_line);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
};
@@ -186,14 +187,6 @@ protected:
void hh_hmcs40_state::machine_start()
{
- // zerofill
- memset(m_r, 0, sizeof(m_r));
- memset(m_int, 0, sizeof(m_int));
- m_d = 0;
- m_inp_mux = 0;
- m_grid = 0;
- m_plate = 0;
-
// register for savestates
save_item(NAME(m_r));
save_item(NAME(m_int));
@@ -283,10 +276,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bambball(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u8 input_r();
- void bambball(machine_config &config);
};
// handlers
@@ -354,7 +349,7 @@ INPUT_PORTS_END
void bambball_state::bambball(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38750(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(bambball_state::input_r));
m_maincpu->write_r<1>().set(FUNC(bambball_state::plate_w));
@@ -362,7 +357,7 @@ void bambball_state::bambball(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(bambball_state::plate_w));
m_maincpu->write_d().set(FUNC(bambball_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 478);
@@ -371,7 +366,7 @@ void bambball_state::bambball(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 16);
config.set_default_layout(layout_bambball);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -407,11 +402,13 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bmboxing(machine_config &config);
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u8 input_r();
- void bmboxing(machine_config &config);
};
// handlers
@@ -501,7 +498,7 @@ INPUT_PORTS_END
void bmboxing_state::bmboxing(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38750(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(bmboxing_state::input_r));
m_maincpu->write_r<1>().set(FUNC(bmboxing_state::plate_w));
@@ -510,7 +507,7 @@ void bmboxing_state::bmboxing(machine_config &config)
m_maincpu->write_d().set(FUNC(bmboxing_state::grid_w));
m_maincpu->read_d().set_ioport("IN.4");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 529);
@@ -518,7 +515,7 @@ void bmboxing_state::bmboxing(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 12);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -554,13 +551,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bfriskyt(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
+
+private:
+ void update_int1();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int1();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
- void bfriskyt(machine_config &config);
};
// handlers
@@ -631,7 +630,7 @@ INPUT_PORTS_END
void bfriskyt_state::bfriskyt(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(bfriskyt_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bfriskyt_state::plate_w));
@@ -639,7 +638,7 @@ void bfriskyt_state::bfriskyt(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(bfriskyt_state::plate_w));
m_maincpu->write_d().set(FUNC(bfriskyt_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 675);
@@ -647,7 +646,7 @@ void bfriskyt_state::bfriskyt(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 22);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -689,10 +688,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void packmon(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u16 input_r();
- void packmon(machine_config &config);
};
// handlers
@@ -751,7 +752,7 @@ INPUT_PORTS_END
void packmon_state::packmon(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(packmon_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(packmon_state::plate_w));
@@ -760,7 +761,7 @@ void packmon_state::packmon(machine_config &config)
m_maincpu->write_d().set(FUNC(packmon_state::grid_w));
m_maincpu->read_d().set(FUNC(packmon_state::input_r));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 680);
@@ -769,7 +770,7 @@ void packmon_state::packmon(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(10, 20);
config.set_default_layout(layout_packmon);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -806,12 +807,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
- void plate_w(offs_t offset, u8 data);
- void grid_w(u16 data);
+ void bzaxxon(machine_config &config);
- void update_int1();
DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
- void bzaxxon(machine_config &config);
+
+private:
+ void update_int1();
+ void plate_w(offs_t offset, u8 data);
+ void grid_w(u16 data);
};
// handlers
@@ -879,7 +882,7 @@ INPUT_PORTS_END
void bzaxxon_state::bzaxxon(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 450000); // approximation
m_maincpu->write_r<0>().set(FUNC(bzaxxon_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bzaxxon_state::plate_w));
@@ -888,7 +891,7 @@ void bzaxxon_state::bzaxxon(machine_config &config)
m_maincpu->write_d().set(FUNC(bzaxxon_state::grid_w));
m_maincpu->read_d().set_ioport("IN.5");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(613, 1080);
@@ -896,7 +899,7 @@ void bzaxxon_state::bzaxxon(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(11, 20);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -935,12 +938,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
- void plate_w(offs_t offset, u8 data);
- void grid_w(u16 data);
+ void zackman(machine_config &config);
- void update_int0();
DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void zackman(machine_config &config);
+
+private:
+ void update_int0();
+ void plate_w(offs_t offset, u8 data);
+ void grid_w(u16 data);
};
// handlers
@@ -1004,7 +1009,7 @@ INPUT_PORTS_END
void zackman_state::zackman(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(zackman_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(zackman_state::plate_w));
@@ -1015,7 +1020,7 @@ void zackman_state::zackman(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(zackman_state::plate_w));
m_maincpu->write_d().set(FUNC(zackman_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(487, 1080);
@@ -1023,7 +1028,7 @@ void zackman_state::zackman(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 29);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1059,13 +1064,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bpengo(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
+
+private:
+ void update_int0();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int0();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void bpengo(machine_config &config);
};
// handlers
@@ -1136,7 +1143,7 @@ INPUT_PORTS_END
void bpengo_state::bpengo(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(bpengo_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bpengo_state::plate_w));
@@ -1148,7 +1155,7 @@ void bpengo_state::bpengo(machine_config &config)
m_maincpu->write_d().set(FUNC(bpengo_state::grid_w));
m_maincpu->read_d().set_ioport("IN.5");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 759);
@@ -1156,7 +1163,7 @@ void bpengo_state::bpengo(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 25);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1192,13 +1199,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bbtime(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
+
+private:
+ void update_int0();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int0();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void bbtime(machine_config &config);
};
// handlers
@@ -1266,7 +1275,7 @@ INPUT_PORTS_END
void bbtime_state::bbtime(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(bbtime_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bbtime_state::plate_w));
@@ -1277,7 +1286,7 @@ void bbtime_state::bbtime(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(bbtime_state::plate_w));
m_maincpu->write_d().set(FUNC(bbtime_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(379, 1080);
@@ -1285,7 +1294,7 @@ void bbtime_state::bbtime(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(6, 28);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1321,9 +1330,11 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bdoramon(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- void bdoramon(machine_config &config);
};
// handlers
@@ -1376,7 +1387,7 @@ INPUT_PORTS_END
void bdoramon_state::bdoramon(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(bdoramon_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bdoramon_state::plate_w));
@@ -1386,7 +1397,7 @@ void bdoramon_state::bdoramon(machine_config &config)
m_maincpu->write_d().set(FUNC(bdoramon_state::grid_w));
m_maincpu->read_d().set_ioport("IN.2");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 668);
@@ -1394,7 +1405,7 @@ void bdoramon_state::bdoramon(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 19);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1430,9 +1441,11 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void bultrman(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- void bultrman(machine_config &config);
};
// handlers
@@ -1478,7 +1491,7 @@ INPUT_PORTS_END
void bultrman_state::bultrman(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 350000); // approximation
m_maincpu->write_r<0>().set(FUNC(bultrman_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(bultrman_state::plate_w));
@@ -1487,7 +1500,7 @@ void bultrman_state::bultrman(machine_config &config)
m_maincpu->write_d().set(FUNC(bultrman_state::grid_w));
m_maincpu->read_d().set_ioport("IN.1");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 673);
@@ -1495,7 +1508,7 @@ void bultrman_state::bultrman(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 18);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1531,10 +1544,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void machiman(machine_config &config);
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- void machiman(machine_config &config);
};
// handlers
@@ -1577,7 +1592,7 @@ INPUT_PORTS_END
void machiman_state::machiman(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(machiman_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(machiman_state::plate_w));
@@ -1587,7 +1602,7 @@ void machiman_state::machiman(machine_config &config)
m_maincpu->write_d().set(FUNC(machiman_state::grid_w));
m_maincpu->read_d().set_ioport("IN.1");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1534, 1080);
@@ -1595,7 +1610,7 @@ void machiman_state::machiman(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(5, 19);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1638,6 +1653,9 @@ public:
m_soundlatch(*this, "soundlatch%u", 0)
{ }
+ void pairmtch(machine_config &config);
+
+private:
required_device<hmcs40_cpu_device> m_audiocpu;
required_device_array<generic_latch_8_device, 2> m_soundlatch;
@@ -1649,7 +1667,6 @@ public:
void sound_w(u8 data);
void sound2_w(u8 data);
void speaker_w(u16 data);
- void pairmtch(machine_config &config);
};
// handlers: maincpu side
@@ -1745,7 +1762,7 @@ INPUT_PORTS_END
void pairmtch_state::pairmtch(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<2>().set(FUNC(pairmtch_state::plate_w));
m_maincpu->write_r<3>().set(FUNC(pairmtch_state::plate_w));
@@ -1763,11 +1780,11 @@ void pairmtch_state::pairmtch(machine_config &config)
config.set_perfect_quantum(m_maincpu);
- /* video hardware */
+ // video hardware
PWM_DISPLAY(config, m_display).set_size(6, 12);
config.set_default_layout(layout_pairmtch);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
@@ -1809,10 +1826,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void alnattck(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u16 input_r();
- void alnattck(machine_config &config);
};
// handlers
@@ -1878,7 +1897,7 @@ INPUT_PORTS_END
void alnattck_state::alnattck(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(alnattck_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(alnattck_state::plate_w));
@@ -1887,7 +1906,7 @@ void alnattck_state::alnattck(machine_config &config)
m_maincpu->write_d().set(FUNC(alnattck_state::grid_w));
m_maincpu->read_d().set(FUNC(alnattck_state::input_r));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 700);
@@ -1895,7 +1914,7 @@ void alnattck_state::alnattck(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(10, 20);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -1932,27 +1951,26 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void cdkong(machine_config &config);
+
+protected:
+ virtual void machine_start() override;
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
void speaker_update();
TIMER_DEVICE_CALLBACK_MEMBER(speaker_decay_sim);
- double m_speaker_volume;
- void cdkong(machine_config &config);
-
-protected:
- virtual void machine_start() override;
+ double m_speaker_volume = 0.0;
std::vector<double> m_speaker_levels;
};
void cdkong_state::machine_start()
{
hh_hmcs40_state::machine_start();
-
- // zerofill/init
- m_speaker_volume = 0;
save_item(NAME(m_speaker_volume));
}
@@ -2019,7 +2037,7 @@ INPUT_PORTS_END
void cdkong_state::cdkong(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(cdkong_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(cdkong_state::plate_w));
@@ -2031,7 +2049,7 @@ void cdkong_state::cdkong(machine_config &config)
m_maincpu->write_d().set(FUNC(cdkong_state::grid_w));
m_maincpu->read_d().set_ioport("IN.1");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(605, 1080);
@@ -2039,7 +2057,7 @@ void cdkong_state::cdkong(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(11, 29);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
@@ -2090,13 +2108,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void cgalaxn(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(player_switch);
+
+private:
void update_display();
void grid_w(offs_t offset, u8 data);
void plate_w(u16 data);
u8 input_r();
-
- DECLARE_INPUT_CHANGED_MEMBER(player_switch);
- void cgalaxn(machine_config &config);
};
// handlers
@@ -2169,7 +2189,7 @@ INPUT_PORTS_END
void cgalaxn_state::cgalaxn(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(cgalaxn_state::input_r));
m_maincpu->write_r<1>().set(FUNC(cgalaxn_state::grid_w));
@@ -2177,7 +2197,7 @@ void cgalaxn_state::cgalaxn(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(cgalaxn_state::grid_w));
m_maincpu->write_d().set(FUNC(cgalaxn_state::plate_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(526, 1080);
@@ -2185,7 +2205,7 @@ void cgalaxn_state::cgalaxn(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(12, 15);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -2233,10 +2253,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void cpacman(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u8 input_r();
- void cpacman(machine_config &config);
};
// handlers
@@ -2298,7 +2320,7 @@ INPUT_PORTS_END
void cpacman_state::cpacman(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(cpacman_state::input_r));
m_maincpu->write_r<1>().set(FUNC(cpacman_state::plate_w));
@@ -2309,7 +2331,7 @@ void cpacman_state::cpacman(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(cpacman_state::plate_w));
m_maincpu->write_d().set(FUNC(cpacman_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(484, 1080);
@@ -2317,7 +2339,7 @@ void cpacman_state::cpacman(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(11, 27);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -2369,10 +2391,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void cmspacmn(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u8 input_r();
- void cmspacmn(machine_config &config);
};
// handlers
@@ -2434,7 +2458,7 @@ INPUT_PORTS_END
void cmspacmn_state::cmspacmn(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(cmspacmn_state::input_r));
m_maincpu->write_r<1>().set(FUNC(cmspacmn_state::plate_w));
@@ -2445,7 +2469,7 @@ void cmspacmn_state::cmspacmn(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(cmspacmn_state::plate_w));
m_maincpu->write_d().set(FUNC(cmspacmn_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(481, 1080);
@@ -2453,7 +2477,7 @@ void cmspacmn_state::cmspacmn(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(12, 33);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -2493,11 +2517,13 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void egalaxn2(machine_config &config);
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u8 input_r();
- void egalaxn2(machine_config &config);
};
// handlers
@@ -2570,7 +2596,7 @@ INPUT_PORTS_END
void egalaxn2_state::egalaxn2(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->read_r<0>().set(FUNC(egalaxn2_state::input_r));
m_maincpu->write_r<1>().set(FUNC(egalaxn2_state::plate_w));
@@ -2581,7 +2607,7 @@ void egalaxn2_state::egalaxn2(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(egalaxn2_state::plate_w));
m_maincpu->write_d().set(FUNC(egalaxn2_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(505, 1080);
@@ -2589,7 +2615,7 @@ void egalaxn2_state::egalaxn2(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(15, 24);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -2668,7 +2694,7 @@ void epacman2_state::epacman2(machine_config &config)
{
egalaxn2(config);
- /* video hardware */
+ // video hardware
screen_device *screen = subdevice<screen_device>("screen");
screen->set_size(505, 1080);
screen->set_visarea_full();
@@ -2719,11 +2745,13 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void einvader2(machine_config &config);
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u16 input_r();
- void einvader2(machine_config &config);
};
// handlers
@@ -2786,7 +2814,7 @@ INPUT_PORTS_END
void einvader2_state::einvader2(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 450000); // approximation
m_maincpu->write_r<0>().set(FUNC(einvader2_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(einvader2_state::plate_w));
@@ -2795,7 +2823,7 @@ void einvader2_state::einvader2(machine_config &config)
m_maincpu->write_d().set(FUNC(einvader2_state::grid_w));
m_maincpu->read_d().set(FUNC(einvader2_state::input_r));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(469, 1080);
@@ -2803,7 +2831,7 @@ void einvader2_state::einvader2(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(12, 14);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -2838,35 +2866,34 @@ class eturtles_state : public hh_hmcs40_state
public:
eturtles_state(const machine_config &mconfig, device_type type, const char *tag) :
hh_hmcs40_state(mconfig, type, tag),
- m_audiocpu(*this, "audiocpu"),
- m_cop_irq(0)
+ m_audiocpu(*this, "audiocpu")
{ }
+ void eturtles(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int(); }
+
+protected:
+ virtual void machine_start() override;
+
required_device<cop411_cpu_device> m_audiocpu;
+ void update_int();
virtual void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- u8 m_cop_irq;
DECLARE_WRITE_LINE_MEMBER(speaker_w);
void cop_irq_w(u8 data);
u8 cop_latch_r();
u8 cop_ack_r();
- void update_int();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int(); }
- void eturtles(machine_config &config);
-
-protected:
- virtual void machine_start() override;
+ u8 m_cop_irq = 0;
};
void eturtles_state::machine_start()
{
hh_hmcs40_state::machine_start();
-
- // register for savestates
save_item(NAME(m_cop_irq));
}
@@ -2975,7 +3002,7 @@ INPUT_PORTS_END
void eturtles_state::eturtles(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(eturtles_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(eturtles_state::plate_w));
@@ -2995,7 +3022,7 @@ void eturtles_state::eturtles(machine_config &config)
config.set_perfect_quantum(m_maincpu);
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(484, 1080);
@@ -3003,7 +3030,7 @@ void eturtles_state::eturtles(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(15, 30);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3043,9 +3070,11 @@ public:
eturtles_state(mconfig, type, tag)
{ }
+ void estargte(machine_config &config);
+
+private:
virtual void update_display() override;
u8 cop_data_r();
- void estargte(machine_config &config);
};
// handlers (most of it is in eturtles_state above)
@@ -3098,26 +3127,26 @@ INPUT_PORTS_END
void estargte_state::estargte(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
- m_maincpu->write_r<0>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<1>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<2>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<3>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<4>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<5>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_r<6>().set(FUNC(eturtles_state::plate_w));
- m_maincpu->write_d().set(FUNC(eturtles_state::grid_w));
+ m_maincpu->write_r<0>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<1>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<2>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<3>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<4>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<5>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_r<6>().set(FUNC(estargte_state::plate_w));
+ m_maincpu->write_d().set(FUNC(estargte_state::grid_w));
COP411(config, m_audiocpu, 190000); // approximation
m_audiocpu->set_config(COP400_CKI_DIVISOR_4, COP400_CKO_OSCILLATOR_OUTPUT, false); // guessed
- m_audiocpu->write_sk().set(FUNC(eturtles_state::speaker_w));
- m_audiocpu->write_d().set(FUNC(eturtles_state::cop_irq_w));
+ m_audiocpu->write_sk().set(FUNC(estargte_state::speaker_w));
+ m_audiocpu->write_d().set(FUNC(estargte_state::cop_irq_w));
m_audiocpu->read_l().set(FUNC(estargte_state::cop_data_r));
config.set_perfect_quantum(m_maincpu);
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 854);
@@ -3125,7 +3154,7 @@ void estargte_state::estargte(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(14, 29);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3167,10 +3196,12 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void ghalien(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
u16 input_r();
- void ghalien(machine_config &config);
};
// handlers
@@ -3237,7 +3268,7 @@ INPUT_PORTS_END
void ghalien_state::ghalien(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(ghalien_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(ghalien_state::plate_w));
@@ -3246,7 +3277,7 @@ void ghalien_state::ghalien(machine_config &config)
m_maincpu->write_d().set(FUNC(ghalien_state::grid_w));
m_maincpu->read_d().set(FUNC(ghalien_state::input_r));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 699);
@@ -3254,7 +3285,7 @@ void ghalien_state::ghalien(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(10, 20);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3294,12 +3325,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
- void plate_w(offs_t offset, u8 data);
- void grid_w(u16 data);
+ void gckong(machine_config &config);
- void update_int1();
DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
- void gckong(machine_config &config);
+
+private:
+ void update_int1();
+ void plate_w(offs_t offset, u8 data);
+ void grid_w(u16 data);
};
// handlers
@@ -3369,7 +3402,7 @@ INPUT_PORTS_END
void gckong_state::gckong(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(gckong_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(gckong_state::plate_w));
@@ -3378,7 +3411,7 @@ void gckong_state::gckong(machine_config &config)
m_maincpu->write_d().set(FUNC(gckong_state::grid_w));
m_maincpu->read_d().set_ioport("IN.5");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(479, 1080);
@@ -3387,7 +3420,7 @@ void gckong_state::gckong(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(11, 32);
config.set_default_layout(layout_gckong);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3432,12 +3465,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
- void plate_w(offs_t offset, u8 data);
- void grid_w(u16 data);
+ void gscobra(machine_config &config);
- void update_int0();
DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void gscobra(machine_config &config);
+
+private:
+ void update_int0();
+ void plate_w(offs_t offset, u8 data);
+ void grid_w(u16 data);
};
// handlers
@@ -3502,7 +3537,7 @@ INPUT_PORTS_END
void gscobra_state::gscobra(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(gscobra_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(gscobra_state::plate_w));
@@ -3513,7 +3548,7 @@ void gscobra_state::gscobra(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(gscobra_state::plate_w));
m_maincpu->write_d().set(FUNC(gscobra_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 852);
@@ -3521,7 +3556,7 @@ void gscobra_state::gscobra(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 31);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3557,12 +3592,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
- void plate_w(offs_t offset, u8 data);
- void grid_w(u16 data);
+ void gdigdug(machine_config &config);
- void update_int1();
DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
- void gdigdug(machine_config &config);
+
+private:
+ void update_int1();
+ void plate_w(offs_t offset, u8 data);
+ void grid_w(u16 data);
};
// handlers
@@ -3628,7 +3665,7 @@ INPUT_PORTS_END
void gdigdug_state::gdigdug(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(gdigdug_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(gdigdug_state::plate_w));
@@ -3639,7 +3676,7 @@ void gdigdug_state::gdigdug(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(gdigdug_state::plate_w));
m_maincpu->write_d().set(FUNC(gdigdug_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(476, 1080);
@@ -3647,7 +3684,7 @@ void gdigdug_state::gdigdug(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 32);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3687,12 +3724,14 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void mwcbaseb(machine_config &config);
+
+private:
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
void speaker_w(u8 data);
u8 input_r();
- void mwcbaseb(machine_config &config);
};
// handlers
@@ -3798,7 +3837,7 @@ INPUT_PORTS_END
void mwcbaseb_state::mwcbaseb(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<1>().set(FUNC(mwcbaseb_state::plate_w));
m_maincpu->write_r<2>().set(FUNC(mwcbaseb_state::plate_w));
@@ -3808,7 +3847,7 @@ void mwcbaseb_state::mwcbaseb(machine_config &config)
m_maincpu->write_r<6>().set(FUNC(mwcbaseb_state::plate_w));
m_maincpu->write_d().set(FUNC(mwcbaseb_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 478);
@@ -3818,7 +3857,7 @@ void mwcbaseb_state::mwcbaseb(machine_config &config)
m_display->set_bri_levels(0.001); // cyan elements strobed very briefly?
config.set_default_layout(layout_mwcbaseb);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
static const double speaker_levels[] = { 0.0, 0.5, -0.5, 0.0, -0.5, 0.0, -1.0, -0.5 };
@@ -3861,13 +3900,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void msthawk(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
+
+private:
+ void update_int0();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int0();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void msthawk(machine_config &config);
};
// handlers
@@ -3941,7 +3982,7 @@ INPUT_PORTS_END
void msthawk_state::msthawk(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(msthawk_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(msthawk_state::plate_w));
@@ -3949,7 +3990,7 @@ void msthawk_state::msthawk(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(msthawk_state::plate_w));
m_maincpu->write_d().set(FUNC(msthawk_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 696);
@@ -3958,7 +3999,7 @@ void msthawk_state::msthawk(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(10, 21);
config.set_default_layout(layout_msthawk);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -3994,9 +4035,11 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void pbqbert(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- void pbqbert(machine_config &config);
};
// handlers
@@ -4037,7 +4080,7 @@ INPUT_PORTS_END
void pbqbert_state::pbqbert(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38820(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(pbqbert_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(pbqbert_state::plate_w));
@@ -4049,7 +4092,7 @@ void pbqbert_state::pbqbert(machine_config &config)
m_maincpu->write_d().set(FUNC(pbqbert_state::grid_w));
m_maincpu->read_d().set_ioport("IN.0");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(603, 1080);
@@ -4057,7 +4100,7 @@ void pbqbert_state::pbqbert(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(8, 30);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -4093,13 +4136,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void tmtron(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
+
+private:
+ void update_int1();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int1();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int1(); }
- void tmtron(machine_config &config);
};
// handlers
@@ -4167,7 +4212,7 @@ INPUT_PORTS_END
void tmtron_state::tmtron(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(tmtron_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(tmtron_state::plate_w));
@@ -4175,7 +4220,7 @@ void tmtron_state::tmtron(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(tmtron_state::plate_w));
m_maincpu->write_d().set(FUNC(tmtron_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920, 662);
@@ -4183,7 +4228,7 @@ void tmtron_state::tmtron(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(10, 23);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -4223,13 +4268,15 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void kingman(machine_config &config);
+
+ DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
+
+private:
+ void update_int0();
void update_display();
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
-
- void update_int0();
- DECLARE_INPUT_CHANGED_MEMBER(input_changed) { update_int0(); }
- void kingman(machine_config &config);
};
// handlers
@@ -4297,7 +4344,7 @@ INPUT_PORTS_END
void kingman_state::kingman(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38800(config, m_maincpu, 400000); // approximation
m_maincpu->write_r<0>().set(FUNC(kingman_state::plate_w));
m_maincpu->write_r<1>().set(FUNC(kingman_state::plate_w));
@@ -4305,7 +4352,7 @@ void kingman_state::kingman(machine_config &config)
m_maincpu->write_r<3>().set(FUNC(kingman_state::plate_w));
m_maincpu->write_d().set(FUNC(kingman_state::grid_w));
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(374, 1080);
@@ -4313,7 +4360,7 @@ void kingman_state::kingman(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 23);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@@ -4353,9 +4400,11 @@ public:
hh_hmcs40_state(mconfig, type, tag)
{ }
+ void vinvader(machine_config &config);
+
+private:
void plate_w(offs_t offset, u8 data);
void grid_w(u16 data);
- void vinvader(machine_config &config);
};
// handlers
@@ -4401,7 +4450,7 @@ INPUT_PORTS_END
void vinvader_state::vinvader(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
HD38750(config, m_maincpu, 300000); // approximation
m_maincpu->read_r<0>().set_ioport("IN.0");
m_maincpu->write_r<1>().set(FUNC(vinvader_state::plate_w));
@@ -4410,7 +4459,7 @@ void vinvader_state::vinvader(machine_config &config)
m_maincpu->write_d().set(FUNC(vinvader_state::grid_w));
m_maincpu->read_d().set_ioport("IN.1");
- /* video hardware */
+ // video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(233, 1080);
@@ -4418,7 +4467,7 @@ void vinvader_state::vinvader(machine_config &config)
PWM_DISPLAY(config, m_display).set_size(9, 12);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}