mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
Added colour overlay to breakout. [Couriersud]
This commit is contained in:
parent
77e03ef8b3
commit
aeba33df1a
@ -65,6 +65,13 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Notes
|
||||||
|
* FIXME: breakout generates some spurious hsync in the middle of line 27
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
// identify unknown devices in IDE
|
// identify unknown devices in IDE
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
@ -146,9 +153,13 @@ CIRCUIT_LAYOUT( breakout )
|
|||||||
CHIP("S4", DIPSWITCH, &dipswitch4_desc)
|
CHIP("S4", DIPSWITCH, &dipswitch4_desc)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (SLOW_BUT_ACCURATE)
|
||||||
SOLVER(Solver, 48000)
|
SOLVER(Solver, 48000)
|
||||||
PARAM(Solver.ACCURACY, 1e-8) // less accuracy and diode will not work
|
PARAM(Solver.ACCURACY, 1e-8) // less accuracy and diode will not work
|
||||||
|
#else
|
||||||
|
SOLVER(Solver, 48000)
|
||||||
|
PARAM(Solver.ACCURACY, 1e-6) // less accuracy and diode will not work
|
||||||
|
#endif
|
||||||
//CHIP("CLOCK", CLOCK_14_318_MHZ)
|
//CHIP("CLOCK", CLOCK_14_318_MHZ)
|
||||||
MAINCLOCK(Y1, 14318000.0)
|
MAINCLOCK(Y1, 14318000.0)
|
||||||
|
|
||||||
@ -1614,7 +1625,6 @@ CIRCUIT_LAYOUT( breakout )
|
|||||||
NET_C(R41.2, B9.3)
|
NET_C(R41.2, B9.3)
|
||||||
NET_C(R42.2, V5)
|
NET_C(R42.2, V5)
|
||||||
|
|
||||||
|
|
||||||
ALIAS(videomix, R41.1)
|
ALIAS(videomix, R41.1)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,6 +17,8 @@ TODO: please see netlist include files
|
|||||||
#include "sound/dac.h"
|
#include "sound/dac.h"
|
||||||
#include "video/fixfreq.h"
|
#include "video/fixfreq.h"
|
||||||
|
|
||||||
|
#include "breakout.lh"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* H count width to 512
|
* H count width to 512
|
||||||
* Reset at 1C6 = 454
|
* Reset at 1C6 = 454
|
||||||
@ -42,13 +44,35 @@ TODO: please see netlist include files
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define MASTER_CLOCK 7159000
|
#define MASTER_CLOCK 7159000
|
||||||
#define V_TOTAL (0x105+1) // 262
|
#define V_TOTAL_PONG (0x105+1) // 262
|
||||||
#define H_TOTAL (0x1C6+1) // 454
|
#define H_TOTAL_PONG (0x1C6+1) // 454
|
||||||
|
|
||||||
#define HBSTART (H_TOTAL)
|
/*
|
||||||
|
* Breakout's H1 signal:
|
||||||
|
*
|
||||||
|
* __ _ __ _ __ _
|
||||||
|
* | |__| |__| |__| |__| |__| |_
|
||||||
|
* 2 2 1 2 2 2 1 2 2 2 1
|
||||||
|
*
|
||||||
|
* ==> Pixel width is 2:2:1:2:2:1:2:2 .....
|
||||||
|
*
|
||||||
|
* 4 Pixels = 7 cycles ==> 256 / 4 * 7 = 448
|
||||||
|
*
|
||||||
|
* 7 cycles ==> 14 Y1 cycles
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MASTER_CLOCK_BREAKOUT (14318000 / 2)
|
||||||
|
|
||||||
|
#define V_TOTAL_BREAKOUT (0xFC) // 252
|
||||||
|
#define H_TOTAL_BREAKOUT (448) // 448
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
#define HBSTART (H_TOTAL_PONG)
|
||||||
#define HBEND (80)
|
#define HBEND (80)
|
||||||
#define VBSTART (V_TOTAL)
|
#define VBSTART (V_TOTAL_PONG)
|
||||||
#define VBEND (16)
|
#define VBEND (16)
|
||||||
|
#endif
|
||||||
|
|
||||||
enum input_changed_enum
|
enum input_changed_enum
|
||||||
{
|
{
|
||||||
@ -275,8 +299,8 @@ static MACHINE_CONFIG_START( pong, pong_state )
|
|||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
||||||
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
|
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
|
||||||
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL)
|
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL_PONG-67,H_TOTAL_PONG-40,H_TOTAL_PONG-8,H_TOTAL_PONG)
|
||||||
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL)
|
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL_PONG-22,V_TOTAL_PONG-19,V_TOTAL_PONG-12,V_TOTAL_PONG)
|
||||||
MCFG_FIXFREQ_FIELDCOUNT(1)
|
MCFG_FIXFREQ_FIELDCOUNT(1)
|
||||||
MCFG_FIXFREQ_SYNC_THRESHOLD(0.31)
|
MCFG_FIXFREQ_SYNC_THRESHOLD(0.31)
|
||||||
|
|
||||||
@ -316,11 +340,12 @@ static MACHINE_CONFIG_START( breakout, breakout_state )
|
|||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
||||||
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
|
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK_BREAKOUT)
|
||||||
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8, H_TOTAL)
|
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL_BREAKOUT-67,H_TOTAL_BREAKOUT-40,H_TOTAL_BREAKOUT-8, H_TOTAL_BREAKOUT)
|
||||||
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12, V_TOTAL)
|
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL_BREAKOUT-22,V_TOTAL_BREAKOUT-22,V_TOTAL_BREAKOUT-4, V_TOTAL_BREAKOUT)
|
||||||
MCFG_FIXFREQ_FIELDCOUNT(1)
|
MCFG_FIXFREQ_FIELDCOUNT(1)
|
||||||
MCFG_FIXFREQ_SYNC_THRESHOLD(1.0)
|
MCFG_FIXFREQ_SYNC_THRESHOLD(1.2)
|
||||||
|
MCFG_FIXFREQ_GAIN(0.5)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
@ -367,8 +392,8 @@ static MACHINE_CONFIG_START( pongd, pong_state )
|
|||||||
/* video hardware */
|
/* video hardware */
|
||||||
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
MCFG_FIXFREQ_ADD("fixfreq", "screen")
|
||||||
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
|
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
|
||||||
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL-67,H_TOTAL-52,H_TOTAL-8,H_TOTAL)
|
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL_PONG-67,H_TOTAL_PONG-52,H_TOTAL_PONG-8,H_TOTAL_PONG)
|
||||||
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL)
|
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL_PONG-22,V_TOTAL_PONG-19,V_TOTAL_PONG-12,V_TOTAL_PONG)
|
||||||
MCFG_FIXFREQ_FIELDCOUNT(1)
|
MCFG_FIXFREQ_FIELDCOUNT(1)
|
||||||
MCFG_FIXFREQ_SYNC_THRESHOLD(0.31)
|
MCFG_FIXFREQ_SYNC_THRESHOLD(0.31)
|
||||||
|
|
||||||
@ -405,4 +430,4 @@ ROM_END
|
|||||||
GAME( 1972, pong, 0, pong, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E) external [TTL]", GAME_SUPPORTS_SAVE)
|
GAME( 1972, pong, 0, pong, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E) external [TTL]", GAME_SUPPORTS_SAVE)
|
||||||
GAME( 1972, pongf, 0, pongf, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E) [TTL]", GAME_SUPPORTS_SAVE )
|
GAME( 1972, pongf, 0, pongf, pong, driver_device, 0, ROT0, "Atari", "Pong (Rev E) [TTL]", GAME_SUPPORTS_SAVE )
|
||||||
GAME( 1974, pongd, 0, pongd, pongd, driver_device, 0, ROT0, "Atari", "Pong Doubles [TTL]", GAME_SUPPORTS_SAVE )
|
GAME( 1974, pongd, 0, pongd, pongd, driver_device, 0, ROT0, "Atari", "Pong Doubles [TTL]", GAME_SUPPORTS_SAVE )
|
||||||
GAME( 1976, breakout, 0, breakout, breakout, driver_device, 0, ROT90, "Atari", "Breakout [TTL]", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING)
|
GAMEL( 1976, breakout, 0, breakout, breakout, driver_device, 0, ROT90, "Atari", "Breakout [TTL]", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING, layout_breakout)
|
||||||
|
46
src/mame/layout/breakout.lay
Normal file
46
src/mame/layout/breakout.lay
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<mamelayout version="2">
|
||||||
|
<element name="overlay">
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="0" right="192" bottom="64" />
|
||||||
|
<color red="1" green="1" blue="1" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="63" right="192" bottom="73" />
|
||||||
|
<color red="1" green="0.125" blue="0.125" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="73" right="192" bottom="82" />
|
||||||
|
<color red="1" green="0.5" blue="0.0625" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="82" right="192" bottom="90" />
|
||||||
|
<color red="0.25" green="1" blue="0.25" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="90" right="192" bottom="100" />
|
||||||
|
<color red="1" green="1" blue="0.25" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="100" right="192" bottom="232" />
|
||||||
|
<color red="1" green="1" blue="1" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="232" right="192" bottom="240" />
|
||||||
|
<color red="0.125" green="0.125" blue="1" />
|
||||||
|
</rect>
|
||||||
|
<rect>
|
||||||
|
<bounds left="0" top="240" right="192" bottom="256" />
|
||||||
|
<color red="1" green="1" blue="1" />
|
||||||
|
</rect>
|
||||||
|
</element>
|
||||||
|
|
||||||
|
<view name="Color Overlay">
|
||||||
|
<screen index="0">
|
||||||
|
<bounds left="0" top="0" right="3" bottom="4" />
|
||||||
|
</screen>
|
||||||
|
<overlay name="overlay" element="overlay">
|
||||||
|
<bounds left="0" top="0" right="3" bottom="4" />
|
||||||
|
</overlay>
|
||||||
|
</view>
|
||||||
|
</mamelayout>
|
Loading…
Reference in New Issue
Block a user