summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pong.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pong.cpp')
-rw-r--r--src/mame/drivers/pong.cpp75
1 files changed, 40 insertions, 35 deletions
diff --git a/src/mame/drivers/pong.cpp b/src/mame/drivers/pong.cpp
index ea4ad14e7ab..7699b460935 100644
--- a/src/mame/drivers/pong.cpp
+++ b/src/mame/drivers/pong.cpp
@@ -109,7 +109,7 @@ static const int NS_PER_CLOCK_PONG = static_cast<int>((double) NETLIST_INTERNAL
static const int MASTER_CLOCK_PONG = static_cast<int>((double) NETLIST_INTERNAL_RES / (double) NS_PER_CLOCK_PONG + 0.5);
#define V_TOTAL_PONG (0x105+1) // 262
-#define H_TOTAL_PONG (0x1C6+1) // 454
+#define H_TOTAL_PONG (0x1C5+1) // 454
/*
* Breakout's H1 signal:
@@ -490,14 +490,15 @@ void pong_state::pong(machine_config &config)
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
//SCREEN(config, "screen", SCREEN_TYPE_VECTOR);
- FIXFREQ(config, m_video).set_screen("screen");
- m_video->set_monitor_clock(MASTER_CLOCK_PONG);
- m_video->set_horz_params(H_TOTAL_PONG-67,H_TOTAL_PONG-40,H_TOTAL_PONG-8,H_TOTAL_PONG);
- m_video->set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-19,V_TOTAL_PONG-12,V_TOTAL_PONG);
- m_video->set_fieldcount(1);
- m_video->set_threshold(0.11);
- m_video->set_horz_scale(4);
-
+ FIXFREQ(config, m_video)
+ .set_monitor_clock(MASTER_CLOCK_PONG)
+ .set_horz_params(H_TOTAL_PONG-66,H_TOTAL_PONG-40,H_TOTAL_PONG-8,H_TOTAL_PONG)
+ .set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-10,V_TOTAL_PONG-8,V_TOTAL_PONG)
+ .set_fieldcount(1)
+ .set_threshold(0.11)
+ .set_gain(2.37)
+ .set_horz_scale(4)
+ .set_screen("screen");
/* sound hardware */
SPEAKER(config, "speaker").front_center();
DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
@@ -540,19 +541,20 @@ void breakout_state::breakout(machine_config &config)
NETLIST_ANALOG_OUTPUT(config, "maincpu:coin_counter", 0).set_params("CON_T", FUNC(breakout_state::coin_counter_cb));
/* video hardware */
- FIXFREQ(config, m_video).set_screen("screen");
- SCREEN(config, "screen", SCREEN_TYPE_RASTER);
- //SCREEN(config, "screen", SCREEN_TYPE_VECTOR);
/* The Pixel width is a 2,1,2,1,2,1,1,1 repeating pattern
* Thus we must use double resolution horizontally
*/
- m_video->set_monitor_clock(MASTER_CLOCK_BREAKOUT);
- m_video->set_horz_params((H_TOTAL_BREAKOUT-208),(H_TOTAL_BREAKOUT-144),(H_TOTAL_BREAKOUT-16), (H_TOTAL_BREAKOUT));
- m_video->set_vert_params(V_TOTAL_BREAKOUT-22,V_TOTAL_BREAKOUT-23,V_TOTAL_BREAKOUT-4, V_TOTAL_BREAKOUT);
- m_video->set_fieldcount(1);
- m_video->set_threshold(1.0);
- m_video->set_gain(1.5);
- m_video->set_horz_scale(2);
+ SCREEN(config, "screen", SCREEN_TYPE_RASTER);
+ //SCREEN(config, "screen", SCREEN_TYPE_VECTOR);
+ FIXFREQ(config, m_video)
+ .set_monitor_clock(MASTER_CLOCK_BREAKOUT)
+ .set_horz_params((H_TOTAL_BREAKOUT-176),(H_TOTAL_BREAKOUT-144),(H_TOTAL_BREAKOUT-80), (H_TOTAL_BREAKOUT))
+ .set_vert_params(V_TOTAL_BREAKOUT-24,V_TOTAL_BREAKOUT-24,V_TOTAL_BREAKOUT-20, V_TOTAL_BREAKOUT)
+ .set_fieldcount(1)
+ .set_threshold(1.0)
+ .set_gain(2.66)
+ .set_horz_scale(2)
+ .set_screen("screen");
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -594,12 +596,15 @@ void pong_state::pongd(machine_config &config)
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
- FIXFREQ(config, m_video).set_screen("screen");
- m_video->set_monitor_clock(MASTER_CLOCK_PONG);
- m_video->set_horz_params(H_TOTAL_PONG-67,H_TOTAL_PONG-52,H_TOTAL_PONG-8,H_TOTAL_PONG);
- m_video->set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-19,V_TOTAL_PONG-12,V_TOTAL_PONG);
- m_video->set_fieldcount(1);
- m_video->set_threshold(0.11);
+ FIXFREQ(config, m_video)
+ .set_monitor_clock(MASTER_CLOCK_PONG)
+ .set_horz_params(H_TOTAL_PONG-76,H_TOTAL_PONG-56,H_TOTAL_PONG-8,H_TOTAL_PONG)
+ .set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-10,V_TOTAL_PONG-8,V_TOTAL_PONG)
+ .set_fieldcount(1)
+ .set_threshold(0.11)
+ .set_gain(2.7)
+ .set_horz_scale(2)
+ .set_screen("screen");
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -633,15 +638,15 @@ void rebound_state::rebound(machine_config &config)
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
- FIXFREQ(config, m_video).set_screen("screen");
- m_video->set_monitor_clock(MASTER_CLOCK_PONG);
- //m_video->set_horz_params(H_TOTAL_PONG-67,H_TOTAL_PONG-40,H_TOTAL_PONG-8,H_TOTAL_PONG);
- m_video->set_horz_params(H_TOTAL_PONG-51,H_TOTAL_PONG-40,H_TOTAL_PONG-8,H_TOTAL_PONG);
- m_video->set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-19,V_TOTAL_PONG-12,V_TOTAL_PONG);
- m_video->set_fieldcount(1);
- m_video->set_threshold(1.0);
- m_video->set_gain(0.6);
- m_video->set_horz_scale(2);
+ FIXFREQ(config, m_video)
+ .set_monitor_clock(MASTER_CLOCK_PONG)
+ .set_horz_params(H_TOTAL_PONG-66,H_TOTAL_PONG-56,H_TOTAL_PONG-8,H_TOTAL_PONG)
+ .set_vert_params(V_TOTAL_PONG-22,V_TOTAL_PONG-12,V_TOTAL_PONG-8,V_TOTAL_PONG)
+ .set_fieldcount(1)
+ .set_threshold(1.0)
+ .set_gain(1.8)
+ .set_horz_scale(2)
+ .set_screen("screen");
/* sound hardware */
SPEAKER(config, "speaker").front_center();
@@ -721,7 +726,7 @@ ROM_END
*/
GAME( 1972, pong, 0, pong, pong, pong_state, empty_init, ROT0, "Atari", "Pong (Rev E) external [TTL]", MACHINE_SUPPORTS_SAVE)
-GAME( 1972, pongf, 0, pongf, pong, pong_state, empty_init, ROT0, "Atari", "Pong (Rev E) [TTL]", MACHINE_SUPPORTS_SAVE)
+GAME( 1972, pongf, pong, pongf, pong, pong_state, empty_init, ROT0, "Atari", "Pong (Rev E) [TTL]", MACHINE_SUPPORTS_SAVE)
GAME( 1973, pongd, 0, pongd, pongd, pong_state, empty_init, ROT0, "Atari", "Pong Doubles [TTL]", MACHINE_SUPPORTS_SAVE)
GAMEL( 1974, rebound, 0, rebound, rebound, rebound_state, empty_init, ROT0, "Atari", "Rebound (Rev B) [TTL]", MACHINE_SUPPORTS_SAVE, layout_rebound)
GAMEL( 1976, breakout, 0, breakout, breakout, breakout_state, empty_init, ROT90, "Atari", "Breakout [TTL]", MACHINE_SUPPORTS_SAVE, layout_breakout)