summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2014-08-20 09:04:55 +0000
committer Robbbert <robbbert@users.noreply.github.com>2014-08-20 09:04:55 +0000
commitae76637449a44aff422b3fad144182c0032e5b8c (patch)
tree2274e99c740664eabb6788cd14d85d88a4e8bded
parent4363951c67f851243c7b50c7d29153acd6544be9 (diff)
jeutel.c : placeholder
-rw-r--r--.gitattributes1
-rw-r--r--src/mame/drivers/jeutel.c99
-rw-r--r--src/mame/drivers/ltd.c1
-rw-r--r--src/mame/layout/jeutel.lay152
-rw-r--r--src/mame/mame.mak2
5 files changed, 232 insertions, 23 deletions
diff --git a/.gitattributes b/.gitattributes
index d21fed9c519..652895d7b4a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -6557,6 +6557,7 @@ src/mame/layout/imolagp.lay svneol=native#text/xml
src/mame/layout/invad2ct.lay svneol=native#text/xml
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/jpmimpct.lay svneol=native#text/xml
src/mame/layout/jpmmps.lay svneol=native#text/xml
diff --git a/src/mame/drivers/jeutel.c b/src/mame/drivers/jeutel.c
index 2ffb08bfc39..a50fca58716 100644
--- a/src/mame/drivers/jeutel.c
+++ b/src/mame/drivers/jeutel.c
@@ -1,47 +1,55 @@
/*******************************************************************************
-Pinball
-Jeutel
+ PINBALL
+ Jeutel
+
+ There are at least 7 machines from this manufacturer. Unable to find anything
+ technical at all... so will be using PinMAME as the reference.
+
+ToDo:
+- Everything!
+- Each machine has 4 players, 7-digit, 12-segment florescent display
********************************************************************************/
-#include "emu.h"
+#include "machine/genpin.h"
#include "cpu/z80/z80.h"
+#include "machine/i8255.h"
+#include "sound/ay8910.h"
+#include "sound/tms5110.h"
+#include "jeutel.lh"
-class jeutel_state : public driver_device
+class jeutel_state : public genpin_class
{
public:
jeutel_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_DRIVER_INIT(jeutel);
+private:
+ virtual void machine_reset();
+ required_device<cpu_device> m_maincpu;
};
static ADDRESS_MAP_START( jeutel_map, AS_PROGRAM, 8, jeutel_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0xc000, 0xc7ff) AM_RAM
- //AM_RANGE(0xe000, 0xe003) AM_READWRITE ppi8255_2
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("shared")
+ AM_RANGE(0xc400, 0xc7ff) AM_RAM
+ AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write)
ADDRESS_MAP_END
static ADDRESS_MAP_START( jeutel_cpu2, AS_PROGRAM, 8, jeutel_state )
ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x0000, 0x0fff) AM_ROM
- //AM_RANGE(0x2000, 0x2003) AM_WRITE ppi8255_0
- //AM_RANGE(0x3000, 0x3003) AM_WRITE ppi8255_1
- //AM_RANGE(0x4000, 0x4000) AM_WRITENOP
+ AM_RANGE(0x2000, 0x2003) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
+ AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
+ AM_RANGE(0x4000, 0x4000) AM_WRITENOP
AM_RANGE(0x8000, 0x83ff) AM_RAM
+ AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("shared")
ADDRESS_MAP_END
static ADDRESS_MAP_START( jeutel_cpu3, AS_PROGRAM, 8, jeutel_state )
@@ -52,9 +60,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( jeutel_cpu3_io, AS_IO, 8, jeutel_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- //AM_RANGE(0x00, 0x00) AM_WRITE AY8910_control_port_0_w
- //AM_RANGE(0x01, 0x01) AM_WRITE AY8910_write_port_0_w
- //AM_RANGE(0x04, 0x04) AM_READ(AY8910_read_port_0_r)
+ AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd", ay8910_device, address_w)
+ AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd", ay8910_device, data_w)
+ AM_RANGE(0x04, 0x04) AM_DEVREAD("aysnd", ay8910_device, data_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( jeutel )
@@ -64,7 +72,7 @@ void jeutel_state::machine_reset()
{
}
-DRIVER_INIT_MEMBER(jeutel_state,jeutel)
+DRIVER_INIT_MEMBER( jeutel_state, jeutel )
{
}
@@ -77,6 +85,51 @@ static MACHINE_CONFIG_START( jeutel, jeutel_state )
MCFG_CPU_ADD("cpu3", Z80, 3300000)
MCFG_CPU_PROGRAM_MAP(jeutel_cpu3)
MCFG_CPU_IO_MAP(jeutel_cpu3_io)
+
+ /* Video */
+ MCFG_DEFAULT_LAYOUT(layout_jeutel)
+
+ /* Sound */
+ MCFG_FRAGMENT_ADD( genpin_audio )
+
+ /* sound hardware */
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+
+ MCFG_SOUND_ADD("aysnd", AY8910, 639450)
+ //MCFG_AY8910_PORT_A_READ_CB(IOPORT("P1"))
+ //MCFG_AY8910_PORT_B_READ_CB(IOPORT("P2"))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
+
+ MCFG_SOUND_ADD("tms", TMS5110A, 640000)
+ //MCFG_TMS5110_M0_CB(DEVWRITELINE("tmsprom", tmsprom_device, m0_w))
+ //MCFG_TMS5110_DATA_CB(DEVREADLINE("tmsprom", tmsprom_device, data_r))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+
+ /* Devices */
+ MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0)
+ //MCFG_I8255_IN_PORTA_CB(IOPORT("P1"))
+ //MCFG_I8255_OUT_PORTA_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTB_CB(IOPORT("P2"))
+ //MCFG_I8255_OUT_PORTB_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTC_CB(IOPORT("EXTRA"))
+ //MCFG_I8255_OUT_PORTC_CB(WRITE8(jeutel_state, port_C_w))
+
+ MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0)
+ //MCFG_I8255_IN_PORTA_CB(IOPORT("P1"))
+ //MCFG_I8255_OUT_PORTA_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTB_CB(IOPORT("P2"))
+ //MCFG_I8255_OUT_PORTB_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTC_CB(IOPORT("EXTRA"))
+ //MCFG_I8255_OUT_PORTC_CB(WRITE8(jeutel_state, port_C_w))
+
+ MCFG_DEVICE_ADD("ppi8255_2", I8255A, 0)
+ //MCFG_I8255_IN_PORTA_CB(IOPORT("P1"))
+ //MCFG_I8255_OUT_PORTA_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTB_CB(IOPORT("P2"))
+ //MCFG_I8255_OUT_PORTB_CB(WRITE8(jeutel_state, port_C_w))
+ //MCFG_I8255_IN_PORTC_CB(IOPORT("EXTRA"))
+ //MCFG_I8255_OUT_PORTC_CB(WRITE8(jeutel_state, port_C_w))
+
MACHINE_CONFIG_END
/*--------------------------------
diff --git a/src/mame/drivers/ltd.c b/src/mame/drivers/ltd.c
index a44811ce68d..55f09e38566 100644
--- a/src/mame/drivers/ltd.c
+++ b/src/mame/drivers/ltd.c
@@ -26,6 +26,7 @@
ToDo:
- No mechanical sounds
+- Although nvram is fitted, everything is lost at powerup
- System 3, no sound
- System 3, slam tilt to connect to reset line
- Zephy, no playfield inputs
diff --git a/src/mame/layout/jeutel.lay b/src/mame/layout/jeutel.lay
new file mode 100644
index 00000000000..44c639e95a1
--- /dev/null
+++ b/src/mame/layout/jeutel.lay
@@ -0,0 +1,152 @@
+<!-- Jeutel copied from hankin.lay -->
+
+<!-- 2014-08-20: Initial version. [Robbbert] -->
+
+<mamelayout version="2">
+
+ <element name="digit" defstate="0">
+ <led14seg>
+ <color red="0.0" green="0.75" blue="1.0" />
+ </led14seg>
+ </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="digit44" element="digit">
+ <bounds left="171" top="345" right="205" bottom="384" />
+ </bezel>
+ <bezel name="digit43" 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>
+ <bezel name="led0" element="red_led">
+ <bounds left="10" right="25" top="360" bottom="375" /></bezel>
+ </view>
+</mamelayout>
diff --git a/src/mame/mame.mak b/src/mame/mame.mak
index 83a392e3aa7..baef3d94669 100644
--- a/src/mame/mame.mak
+++ b/src/mame/mame.mak
@@ -2649,6 +2649,8 @@ $(DRIVERS)/imolagp.o: $(LAYOUT)/imolagp.lh
$(DRIVERS)/jankenmn.o: $(LAYOUT)/jankenmn.lh
+$(DRIVERS)/jeutel.o: $(LAYOUT)/jeutel.lh
+
$(DRIVERS)/jpmimpct.o: $(LAYOUT)/jpmimpct.lh
$(DRIVERS)/jpmmps.o: $(LAYOUT)/jpmmps.lh