summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2014-09-09 01:13:25 +0000
committer Robbbert <robbbert@users.noreply.github.com>2014-09-09 01:13:25 +0000
commit05eccb8f4dfc5e7f77e03204258f2fb1f40338d8 (patch)
tree3712294d58043216f432bca76f5ff97616335d7d
parent56af4112a4b6d3a03299ad8bccc36ff8ec97d414 (diff)
jp.c : placeholder
-rw-r--r--.gitattributes1
-rw-r--r--src/mame/drivers/jp.c138
-rw-r--r--src/mame/layout/jp.lay150
-rw-r--r--src/mame/mame.mak1
4 files changed, 255 insertions, 35 deletions
diff --git a/.gitattributes b/.gitattributes
index 39b9b8b1952..aaf5cd429e5 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6604,6 +6604,7 @@ src/mame/layout/invaders.lay svneol=native#text/xml
src/mame/layout/jankenmn.lay svneol=native#text/xml
src/mame/layout/jeutel.lay svneol=native#text/plain
src/mame/layout/jollycrd.lay svneol=native#text/xml
+src/mame/layout/jp.lay svneol=native#text/plain
src/mame/layout/jpmimpct.lay svneol=native#text/xml
src/mame/layout/jpmmps.lay svneol=native#text/xml
src/mame/layout/jpms80.lay svneol=native#text/xml
diff --git a/src/mame/drivers/jp.c b/src/mame/drivers/jp.c
index adc622c0cad..7c3fcc8482b 100644
--- a/src/mame/drivers/jp.c
+++ b/src/mame/drivers/jp.c
@@ -1,56 +1,114 @@
+/******************************************************************************************************
-#include "emu.h"
+ PINBALL
+ Juegos Populares
+
+ All manuals are in Spanish.
+ Schematic has a number of errors and omissions, so referring to PinMAME.
+
+*******************************************************************************************************/
+
+#include "machine/genpin.h"
#include "cpu/z80/z80.h"
+#include "sound/ay8910.h"
+#include "jp.lh"
-class jp_state : public driver_device
+class jp_state : public genpin_class
{
public:
jp_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu")
+ : genpin_class(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
{ }
-protected:
-
- // devices
- required_device<cpu_device> m_maincpu;
-
- // driver_device overrides
- virtual void machine_reset();
-public:
+ DECLARE_READ8_MEMBER(porta_r);
+ DECLARE_WRITE8_MEMBER(porta_w);
+ DECLARE_READ8_MEMBER(portb_r);
+ DECLARE_WRITE8_MEMBER(sol_w) {};
+ DECLARE_WRITE8_MEMBER(disp_w);
+ DECLARE_WRITE8_MEMBER(lamp1_w) {};
+ DECLARE_WRITE8_MEMBER(lamp2_w) {};
DECLARE_DRIVER_INIT(jp);
+private:
+ UINT8 m_row;
+ virtual void machine_reset();
+ required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START( jp_map, AS_PROGRAM, 8, jp_state )
- AM_RANGE(0x0000, 0xffff) AM_NOP
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x4000, 0x47ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram") // ram-"5128" battery backed
+ AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1ffc) AM_DEVWRITE("ay", ay8910_device, address_w)
+ AM_RANGE(0x6001, 0x6001) AM_MIRROR(0x1ffc) AM_DEVREAD("ay", ay8910_device, data_r)
+ AM_RANGE(0x6002, 0x6002) AM_MIRROR(0x1ffc) AM_DEVWRITE("ay", ay8910_device, data_w)
+ AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x1ff8) AM_WRITE(sol_w)
+ AM_RANGE(0xa001, 0xa001) AM_MIRROR(0x1ff8) AM_WRITE(disp_w)
+ AM_RANGE(0xa002, 0xa007) AM_MIRROR(0x1ff8) AM_WRITE(lamp1_w)
+ AM_RANGE(0xc000, 0xc007) AM_MIRROR(0x1ff8) AM_WRITE(lamp2_w)
ADDRESS_MAP_END
static INPUT_PORTS_START( jp )
INPUT_PORTS_END
+WRITE8_MEMBER( jp_state::disp_w )
+{
+}
+
+WRITE8_MEMBER( jp_state::porta_w )
+{
+}
+
+READ8_MEMBER( jp_state::porta_r )
+{
+ return 0xff;
+}
+
+READ8_MEMBER( jp_state::portb_r )
+{
+ return 0xff;
+}
+
void jp_state::machine_reset()
{
+ m_row = 0;
+ //m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-DRIVER_INIT_MEMBER(jp_state,jp)
+DRIVER_INIT_MEMBER( jp_state, jp )
{
}
static MACHINE_CONFIG_START( jp, jp_state )
/* basic machine hardware */
- MCFG_CPU_ADD("maincpu", Z80, 5000000)
+ MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2)
MCFG_CPU_PROGRAM_MAP(jp_map)
+ MCFG_CPU_PERIODIC_INT_DRIVER(jp_state, irq0_line_hold, XTAL_8MHz / 8192) // 4020 divider
+ MCFG_NVRAM_ADD_0FILL("nvram")
+
+ /* Video */
+ MCFG_DEFAULT_LAYOUT(layout_jp)
+
+ /* Sound */
+ MCFG_FRAGMENT_ADD( genpin_audio )
+ MCFG_SPEAKER_STANDARD_MONO("ayvol")
+ MCFG_SOUND_ADD("ay", AY8910, XTAL_8MHz / 4)
+ MCFG_AY8910_PORT_A_READ_CB(READ8(jp_state, porta_r))
+ MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(jp_state, porta_w))
+ MCFG_AY8910_PORT_B_READ_CB(READ8(jp_state, portb_r))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "ayvol", 0.9)
MACHINE_CONFIG_END
/*-------------------------------------------------------------------
/ America 1492
/-------------------------------------------------------------------*/
ROM_START(america)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("cpvi1492.dat", 0x0000, 0x2000, CRC(e1d3bd57) SHA1(049c17cd717404e58339100ab8efd4d6bf8ee791))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("sbvi1492.dat", 0x00000, 0x4000, CRC(38934e06) SHA1(eef850a5096a7436b728921aed22fe5f3d85b4ee))
+
ROM_REGION(0x40000, "sound1", 0)
ROM_LOAD("b1vi1492.dat", 0x0000, 0x8000, CRC(e93083ed) SHA1(6a44675d8cc8b8af40091646f589b833245bf092))
ROM_LOAD("b2vi1492.dat", 0x8000, 0x8000, CRC(88be85a0) SHA1(ebf9d88847d6fd787892f0a34258f38e48445014))
@@ -65,10 +123,12 @@ ROM_END
/ Aqualand
/-------------------------------------------------------------------*/
ROM_START(aqualand)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("jpaqcpu", 0x0000, 0x2000, CRC(53230fab) SHA1(0b049f3be412be598982537e7fa7abf9b2766a16))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("jpaqsds", 0x00000, 0x4000, CRC(ff1e0cd2) SHA1(ef58d2b59929c7250dd30c413a3ba31ebfd7e09d))
+
ROM_REGION(0x80000, "sound1", 0)
ROM_LOAD("jpaq-1sd", 0x0000, 0x8000, CRC(7cdf2f7a) SHA1(e00482a6accd11e96fd0d444b3167b7d36332f7b))
ROM_LOAD("jpaq-2sd", 0x8000, 0x8000, CRC(db05c774) SHA1(2d40410b70de6ab0de57e94c6d8ada6e8a4a2050))
@@ -90,7 +150,7 @@ ROM_END
/ Faeton
/-------------------------------------------------------------------*/
ROM_START(faeton)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("faeton.cpu", 0x0000, 0x2000, CRC(ef7e6915) SHA1(5d3d86549606b3d9134bb3f6d3026d6f3e07d4cd))
ROM_END
@@ -98,10 +158,12 @@ ROM_END
/ Halley Comet
/-------------------------------------------------------------------*/
ROM_START(halley)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("halley.cpu", 0x0000, 0x2000, CRC(b158a0d7) SHA1(ad071ac3d06a99a8fbd4df461071fe03dc1e1a26))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("hc_sh", 0x00000, 0x4000, CRC(8af15ded) SHA1(2abc199b612df6180dc116f56ec0027dacf30e77))
+
ROM_REGION(0x80000, "sound1", 0)
ROM_LOAD("hc_s1", 0x0000, 0x8000, CRC(3146b12f) SHA1(9d3974c267e1b2f8d0a8edc78f4013823e4d5e9b))
ROM_LOAD("hc_s2", 0x8000, 0x8000, CRC(8b525f15) SHA1(3ba78a730b11d32fb6ebbcfc52672b9bb5ca5250))
@@ -122,10 +184,12 @@ ROM_START(halley)
ROM_END
ROM_START(halleya)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("hc_pgm", 0x0000, 0x2000, CRC(dc5eaa8f) SHA1(2f3af60ba5439f67e9c69de543167ac31abc09f1))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("hc_sh", 0x00000, 0x4000, CRC(8af15ded) SHA1(2abc199b612df6180dc116f56ec0027dacf30e77))
+
ROM_REGION(0x80000, "sound1", 0)
ROM_LOAD("hc_s1", 0x0000, 0x8000, CRC(3146b12f) SHA1(9d3974c267e1b2f8d0a8edc78f4013823e4d5e9b))
ROM_LOAD("hc_s2", 0x8000, 0x8000, CRC(8b525f15) SHA1(3ba78a730b11d32fb6ebbcfc52672b9bb5ca5250))
@@ -149,7 +213,7 @@ ROM_END
/ Lortium
/-------------------------------------------------------------------*/
ROM_START(lortium)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("cpulort1.dat", 0x0000, 0x2000, NO_DUMP)
ROM_LOAD("cpulort2.dat", 0x2000, 0x2000, CRC(71eebb26) SHA1(9d49c1012555bda24ac7287499bcb93828cbb57f))
ROM_END
@@ -158,7 +222,7 @@ ROM_END
/ Pimbal
/-------------------------------------------------------------------*/
ROM_START(pimbal)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("p3000.r1", 0x0000, 0x2000, CRC(57fb5958) SHA1(536d6564c184f214edf821b83a27aa7f75c7ad00))
ROM_LOAD("p3000.r2", 0x2000, 0x2000, CRC(b8aae5ad) SHA1(8639b132aa69281f4460f80e84e0d30a5dc298d0))
ROM_END
@@ -167,10 +231,12 @@ ROM_END
/ Olympus
/-------------------------------------------------------------------*/
ROM_START(olympus)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("olympus.dat", 0x0000, 0x2000, CRC(08b021e8) SHA1(9662d37ccef94b6e6bc3c8c81dea0c0a34c8052d))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("cs.128", 0x00000, 0x4000, CRC(39b9107a) SHA1(8a11fa0c1558d0b1d309446b8a6f97e761b6559d))
+
ROM_REGION(0x40000, "sound1", 0)
ROM_LOAD("c1.256", 0x0000, 0x8000, CRC(93ceefbf) SHA1(be50b3d4485d4e8291047a52ca60656b55729555))
ROM_LOAD("c2.256", 0x8000, 0x8000, NO_DUMP)
@@ -185,7 +251,7 @@ ROM_END
/ Petaco
/-------------------------------------------------------------------*/
ROM_START(petaco)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("petaco1.cpu", 0x0000, 0x2000, CRC(f4e09939) SHA1(dcc4220b269d271eb0b6ad0a5d3c1a240587a01b))
ROM_LOAD("petaco2.cpu", 0x2000, 0x2000, CRC(d29a59ea) SHA1(bb7891e9597bbf5ae6a3276abf2b1247e082d828))
ROM_END
@@ -194,10 +260,12 @@ ROM_END
/ Petaco 2
/-------------------------------------------------------------------*/
ROM_START(petaco2)
- ROM_REGION(0x10000, "maincpu", 0)
+ ROM_REGION(0x4000, "maincpu", 0)
ROM_LOAD("petaco2.dat", 0x0000, 0x2000, CRC(9a3d6409) SHA1(bca061e254c3214b940080c92d2cf88904f1b81c))
+
ROM_REGION(0x10000, "cpu2", 0)
ROM_LOAD("jpsonid0.dat", 0x00000, 0x4000, CRC(1bdbdd60) SHA1(903012e58cdb4041e5546a377f5c9df83dc93737))
+
ROM_REGION(0x40000, "sound1", 0)
ROM_LOAD("jpsonid1.dat", 0x0000, 0x8000, CRC(e39da92a) SHA1(79eb60710bdf6b826349e02ae909426cb81e131e))
ROM_LOAD("jpsonid2.dat", 0x8000, 0x8000, CRC(88456f1e) SHA1(168fe88ae9da5114d0ef6427df0503ca2eea9089))
@@ -208,13 +276,13 @@ ROM_START(petaco2)
ROM_LOAD("jpsonid7.dat", 0x30000, 0x8000, CRC(ff430b1b) SHA1(423592a40eba174108dfc6817e549c643bb3c80f))
ROM_END
-GAME(1986, america, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "America 1492", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, aqualand, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Aqualand", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, faeton, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Faeton", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, lortium, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Lortium", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, pimbal, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Pimbal (Pinball 3000)",GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, petaco, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, petaco2, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco 2", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, halley, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Halley Comet", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, halleya, halley, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Halley Comet (alternate version)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, olympus, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Olympus", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, america, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "America 1492", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, aqualand, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Aqualand", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, faeton, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Faeton", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, lortium, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Lortium", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, pimbal, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Pimbal (Pinball 3000)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, petaco, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, petaco2, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco 2", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, halley, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Halley Comet", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, halleya, halley, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Halley Comet (alternate version)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, olympus, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Olympus", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/layout/jp.lay b/src/mame/layout/jp.lay
new file mode 100644
index 00000000000..3bce6e5aeb1
--- /dev/null
+++ b/src/mame/layout/jp.lay
@@ -0,0 +1,150 @@
+<!-- Juegos Populares copied from inder.lay -->
+
+<!-- 2014-09-09: Initial version. [Robbbert] -->
+
+<mamelayout version="2">
+
+ <element name="digit" defstate="0">
+ <led7seg>
+ <color red="1.0" green="0.25" blue="0.0" />
+ </led7seg>
+ </element>
+ <element name="red_led">
+ <disk><color red="1.0" green="0.0" blue="0.0" /></disk>
+ </element>
+ <element name="background">
+ <rect>
+ <bounds left="0" top="0" right="1" bottom="1" />
+ <color red="0.0" green="0.0" blue="0.0" />
+ </rect>
+ </element>
+ <element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+ <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+ <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+ <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+ <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+ <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
+
+ <view name="Default Layout">
+
+ <!-- Background -->
+ <backdrop element="background">
+ <bounds left="0" top="20" right="318" bottom="394" />
+ </backdrop>
+
+ <!-- LEDs -->
+
+ <!-- Player 1 Score -->
+
+ <bezel name="digit6" element="digit">
+ <bounds left="10" top="45" right="44" bottom="84" />
+ </bezel>
+ <bezel name="digit5" element="digit">
+ <bounds left="54" top="45" right="88" bottom="84" />
+ </bezel>
+ <bezel name="digit4" element="digit">
+ <bounds left="98" top="45" right="132" bottom="84" />
+ </bezel>
+ <bezel name="digit3" element="digit">
+ <bounds left="142" top="45" right="176" bottom="84" />
+ </bezel>
+ <bezel name="digit2" element="digit">
+ <bounds left="186" top="45" right="220" bottom="84" />
+ </bezel>
+ <bezel name="digit1" element="digit">
+ <bounds left="230" top="45" right="264" bottom="84" />
+ </bezel>
+ <bezel name="digit0" element="digit">
+ <bounds left="274" top="45" right="308" bottom="84" />
+ </bezel>
+
+ <!-- Player 2 Score -->
+ <bezel name="digit16" element="digit">
+ <bounds left="10" top="105" right="44" bottom="144" />
+ </bezel>
+ <bezel name="digit15" element="digit">
+ <bounds left="54" top="105" right="88" bottom="144" />
+ </bezel>
+ <bezel name="digit14" element="digit">
+ <bounds left="98" top="105" right="132" bottom="144" />
+ </bezel>
+ <bezel name="digit13" element="digit">
+ <bounds left="142" top="105" right="176" bottom="144" />
+ </bezel>
+ <bezel name="digit12" element="digit">
+ <bounds left="186" top="105" right="220" bottom="144" />
+ </bezel>
+ <bezel name="digit11" element="digit">
+ <bounds left="230" top="105" right="264" bottom="144" />
+ </bezel>
+ <bezel name="digit10" element="digit">
+ <bounds left="274" top="105" right="308" bottom="144" />
+ </bezel>
+
+ <!-- Player 3 Score -->
+ <bezel name="digit26" element="digit">
+ <bounds left="10" top="165" right="44" bottom="204" />
+ </bezel>
+ <bezel name="digit25" element="digit">
+ <bounds left="54" top="165" right="88" bottom="204" />
+ </bezel>
+ <bezel name="digit24" element="digit">
+ <bounds left="98" top="165" right="132" bottom="204" />
+ </bezel>
+ <bezel name="digit23" element="digit">
+ <bounds left="142" top="165" right="176" bottom="204" />
+ </bezel>
+ <bezel name="digit22" element="digit">
+ <bounds left="186" top="165" right="220" bottom="204" />
+ </bezel>
+ <bezel name="digit21" element="digit">
+ <bounds left="230" top="165" right="264" bottom="204" />
+ </bezel>
+ <bezel name="digit20" element="digit">
+ <bounds left="274" top="165" right="308" bottom="204" />
+ </bezel>
+
+ <!-- Player 4 Score -->
+ <bezel name="digit36" element="digit">
+ <bounds left="10" top="225" right="44" bottom="264" />
+ </bezel>
+ <bezel name="digit35" element="digit">
+ <bounds left="54" top="225" right="88" bottom="264" />
+ </bezel>
+ <bezel name="digit34" element="digit">
+ <bounds left="98" top="225" right="132" bottom="264" />
+ </bezel>
+ <bezel name="digit33" element="digit">
+ <bounds left="142" top="225" right="176" bottom="264" />
+ </bezel>
+ <bezel name="digit32" element="digit">
+ <bounds left="186" top="225" right="220" bottom="264" />
+ </bezel>
+ <bezel name="digit31" element="digit">
+ <bounds left="230" top="225" right="264" bottom="264" />
+ </bezel>
+ <bezel name="digit30" element="digit">
+ <bounds left="274" top="225" right="308" bottom="264" />
+ </bezel>
+
+ <!-- Credits and Balls -->
+ <bezel name="digit41" element="digit">
+ <bounds left="30" top="345" right="64" bottom="384" />
+ </bezel>
+ <bezel name="digit40" element="digit">
+ <bounds left="69" top="345" right="103" bottom="384" />
+ </bezel>
+ <bezel name="digit45" element="digit">
+ <bounds left="171" top="345" right="205" bottom="384" />
+ </bezel>
+ <bezel name="digit44" element="digit">
+ <bounds left="210" top="345" right="244" bottom="384" />
+ </bezel>
+ <bezel element="P1"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
+ <bezel element="P0"><bounds left="50" right="108" top="330" bottom="342" /></bezel>
+ <bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel>
+ <bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
+ <bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
+ <bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
+ </view>
+</mamelayout>
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index a52a599b472..36cc4594a76 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -2653,6 +2653,7 @@ $(DRIVERS)/inder.o: $(LAYOUT)/inder.lh
$(DRIVERS)/jankenmn.o: $(LAYOUT)/jankenmn.lh
$(DRIVERS)/jeutel.o: $(LAYOUT)/jeutel.lh
+$(DRIVERS)/jp.o: $(LAYOUT)/jp.lh
$(DRIVERS)/jpmimpct.o: $(LAYOUT)/jpmimpct.lh