summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--hash/sorcerer_cass.xml11
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/devices/video/huc6261.cpp26
-rw-r--r--src/devices/video/huc6272.cpp173
-rw-r--r--src/devices/video/huc6272.h45
-rw-r--r--src/mame/drivers/aristmk5.cpp92
-rw-r--r--src/mame/drivers/asuka.cpp8
-rw-r--r--src/mame/drivers/hh_tms1k.cpp44
-rw-r--r--src/mame/drivers/pcfx.cpp116
-rw-r--r--src/mame/drivers/sdk85.cpp53
-rw-r--r--src/mame/layout/f2pbball.lay328
-rw-r--r--src/mame/mame.lst1
12 files changed, 692 insertions, 206 deletions
diff --git a/hash/sorcerer_cass.xml b/hash/sorcerer_cass.xml
index 9dbbc9f78f9..e383f519069 100644
--- a/hash/sorcerer_cass.xml
+++ b/hash/sorcerer_cass.xml
@@ -773,4 +773,15 @@
</dataarea>
</part>
</software>
+ <software name="interceptor">
+ <description>Interceptor</description>
+ <year>198?</year>
+ <publisher>Blair Rideout</publisher>
+ <info name="usage" value="Boot to Monitor, LOG" />
+ <part name="cass" interface="sorcerer_cass">
+ <dataarea name="cass" size="7201560">
+ <rom name="interceptor.wav" size="7201560" crc="144ad2be" sha1="621776831dacde4d25777eb87300c0e9e692b74f" offset="0" />
+ </dataarea>
+ </part>
+ </software>
</softwarelist>
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 164008ece2e..bc303a90a06 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -302,6 +302,7 @@ VIDEOS["HUC6202"] = true
VIDEOS["HUC6260"] = true
VIDEOS["HUC6261"] = true
VIDEOS["HUC6270"] = true
+VIDEOS["HUC6271"] = true
VIDEOS["HUC6272"] = true
VIDEOS["I8244"] = true
VIDEOS["I82730"] = true
diff --git a/src/devices/video/huc6261.cpp b/src/devices/video/huc6261.cpp
index 08f234acbff..4787a8ee0aa 100644
--- a/src/devices/video/huc6261.cpp
+++ b/src/devices/video/huc6261.cpp
@@ -289,21 +289,21 @@ WRITE16_MEMBER( huc6261_device::write )
switch( m_register )
{
/* Control register */
- // -x-------------- Enable HuC6271: 0 - disabled, 1 - enabled
- // --x------------- Enable HuC6272 BG3: 0 - disabled, 1 - enabled
- // ---x------------ Enable HuC6272 BG2: 0 - disabled, 1 - enabled
- // ----x----------- Enable Huc6272 BG1: 0 - disabled, 1 - enabled
- // -----x---------- Enable HuC6272 BG0: 0 - disabled, 1 - enabled
- // ------x--------- Enable HuC6270 SPR: 0 - disabled, 1 - enabled
- // -------x-------- Enable HuC6270 BG: 0 - disabled, 1 - enabled
- // --------x------- Number of SPR colors?: 0 - 16, 1 - 256
- // ---------x------ Number of BG colors?: 0 - 16, 1 - 256
- // ------------x--- Dot clock: 0 - 5MHz, 1 - 7MHz
- // -------------x-- Synchronization: 0 - internal, 1 - external
- // --------------xx Screen height: 00 - 262 lines, 01 - 263 lines, 10 - interlace, 11 - unknown/undefined
+ // -x-- ---- ---- ---- Enable HuC6271: 0 - disabled, 1 - enabled
+ // --x- ---- ---- ---- Enable HuC6272 BG3: 0 - disabled, 1 - enabled
+ // ---x ---- ---- ---- Enable HuC6272 BG2: 0 - disabled, 1 - enabled
+ // ---- x--- ---- ---- Enable Huc6272 BG1: 0 - disabled, 1 - enabled
+ // ---- -x-- ---- ---- Enable HuC6272 BG0: 0 - disabled, 1 - enabled
+ // ---- --x- ---- ---- Enable HuC6270 SPR: 0 - disabled, 1 - enabled
+ // ---- ---x ---- ---- Enable HuC6270 BG: 0 - disabled, 1 - enabled
+ // ---- ---- x--- ---- Number of SPR colors?: 0 - 16, 1 - 256
+ // ---- ---- -x-- ---- Number of BG colors?: 0 - 16, 1 - 256
+ // ---- ---- ---- x--- Dot clock: 0 - 5MHz, 1 - 7MHz
+ // ---- ---- ---- -x-- Synchronization: 0 - internal, 1 - external
+ // ---- ---- ---- --xx Screen height: 00 - 262 lines, 01 - 263 lines, 10 - interlace, 11 - unknown/undefined
case 0x00:
m_control = data;
- m_pixels_per_clock = ( data & 0x04 ) ? 3 : 4;
+ m_pixels_per_clock = ( data & 0x08 ) ? 3 : 4;
break;
// Palette address
diff --git a/src/devices/video/huc6272.cpp b/src/devices/video/huc6272.cpp
index 2e4be104527..079fab06301 100644
--- a/src/devices/video/huc6272.cpp
+++ b/src/devices/video/huc6272.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol
+// copyright-holders:Wilbert Pol, Angelo Salese
/***************************************************************************
Hudson/NEC HuC6272 "King" device
@@ -7,6 +7,7 @@
***************************************************************************/
#include "emu.h"
+
#include "video/huc6272.h"
@@ -23,8 +24,8 @@ static ADDRESS_MAP_START( microprg_map, AS_PROGRAM, 16, huc6272_device )
ADDRESS_MAP_END
static ADDRESS_MAP_START( kram_map, AS_DATA, 32, huc6272_device )
- AM_RANGE(0x000000, 0x0fffff) AM_RAM
- AM_RANGE(0x100000, 0x1fffff) AM_RAM
+ AM_RANGE(0x000000, 0x0fffff) AM_RAM AM_SHARE("kram_page0")
+ AM_RANGE(0x100000, 0x1fffff) AM_RAM AM_SHARE("kram_page1")
ADDRESS_MAP_END
@@ -40,8 +41,15 @@ huc6272_device::huc6272_device(const machine_config &mconfig, const char *tag, d
: device_t(mconfig, huc6272, "HuC6272 \"King\"", tag, owner, clock, "huc6272", __FILE__),
device_memory_interface(mconfig, *this),
m_program_space_config("microprg", ENDIANNESS_LITTLE, 16, 4, 0, nullptr, *ADDRESS_MAP_NAME(microprg_map)),
- m_data_space_config("kram", ENDIANNESS_LITTLE, 32, 32, 0, nullptr, *ADDRESS_MAP_NAME(kram_map)),
- m_microprg_ram(*this, "microprg_ram")
+ m_data_space_config("kram", ENDIANNESS_LITTLE, 32, 21, 0, nullptr, *ADDRESS_MAP_NAME(kram_map)),
+ m_microprg_ram(*this, "microprg_ram"),
+ m_kram_page0(*this, "kram_page0"),
+ m_kram_page1(*this, "kram_page1"),
+ m_scsibus(*this, "scsi"),
+ m_scsi_data_in(*this, "scsi_data_in"),
+ m_scsi_data_out(*this, "scsi_data_out"),
+ m_scsi_ctrl_in(*this, "scsi_ctrl_in"),
+ m_irq_changed_cb(*this)
{
}
@@ -62,6 +70,8 @@ void huc6272_device::device_validity_check(validity_checker &valid) const
void huc6272_device::device_start()
{
+ m_irq_changed_cb.resolve_safe();
+
}
@@ -143,12 +153,22 @@ READ32_MEMBER( huc6272_device::read )
---- ---- ---- ---- ---- ---- -xxx xxxx register read-back
*/
res = m_register & 0x7f;
- res |= (0) << 16;
+ res |= (m_scsi_ctrl_in->read() & 0xff) << 16;
}
else
{
switch(m_register)
{
+ case 0x00: // SCSI data in
+ res = m_scsi_data_in->read() & 0xff;
+ break;
+
+ case 0x05: // SCSI bus status
+ res = m_scsi_ctrl_in->read() & 0xff;
+ res|= (m_scsi_data_in->read() << 8);
+ break;
+
+
/*
x--- ---- ---- ---- ----
*/
@@ -160,9 +180,9 @@ READ32_MEMBER( huc6272_device::read )
res = (m_kram_addr_w & 0x3ffff) | ((m_kram_inc_w & 0x1ff) << 18) | ((m_kram_page_w & 1) << 31);
break;
- case 0x0e:
+ case 0x0e: // KRAM read data
res = read_dword((m_kram_addr_r)|(m_kram_page_r<<18));
- m_kram_addr_r += (m_kram_inc_r & 0x100) ? ((m_kram_inc_r & 0xff) - 0x100) : (m_kram_inc_r & 0xff);
+ m_kram_addr_r += (m_kram_inc_r & 0x200) ? ((m_kram_inc_r & 0x1ff) - 0x200) : (m_kram_inc_r & 0x1ff);
break;
case 0x0f:
@@ -180,14 +200,34 @@ WRITE32_MEMBER( huc6272_device::write )
if((offset & 1) == 0)
m_register = data & 0x7f;
else
- {
+ {
switch(m_register)
{
- case 0x00: // SCSI data
+ case 0x00: // SCSI data out
+ m_scsi_data_out->write(data & 0xff);
+ break;
case 0x01: // SCSI command
+ //m_scsibus->write_bsy(BIT(data, 0)); // bus?
+ m_scsibus->write_atn(BIT(data, 1));
+ m_scsibus->write_sel(BIT(data, 2));
+ m_scsibus->write_ack(BIT(data, 4));
+ m_scsibus->write_rst(BIT(data, 7));
+ break;
+
case 0x02: // SCSI mode
+ break;
+
case 0x03: // SCSI target command
+ m_scsibus->write_io(BIT(data, 0));
+ m_scsibus->write_cd(BIT(data, 1));
+ m_scsibus->write_msg(BIT(data, 2));
+ break;
+
case 0x05: // SCSI bus status
+ // bits 7-0: SCSI DMA trigger?
+ m_scsi_data_out->write((data >> 8) & 0xff);
+ break;
+
case 0x06: // SCSI input data
case 0x07: // SCSI DMA trigger
case 0x08: // SCSI subcode
@@ -200,19 +240,20 @@ WRITE32_MEMBER( huc6272_device::write )
*/
case 0x0c: // KRAM load address
m_kram_addr_r = (data & 0x0003ffff);
- m_kram_inc_r = (data & 0x07fc0000) >> 18;
+ m_kram_inc_r = (data & 0x0ffc0000) >> 18;
m_kram_page_r = (data & 0x80000000) >> 31;
break;
case 0x0d: // KRAM write address
m_kram_addr_w = (data & 0x0003ffff);
- m_kram_inc_w = (data & 0x07fc0000) >> 18;
+ m_kram_inc_w = (data & 0x0ffc0000) >> 18;
m_kram_page_w = (data & 0x80000000) >> 31;
break;
- case 0x0e: // KRAM write VRAM
- write_dword((m_kram_addr_w)|(m_kram_page_w<<18),data); /* TODO: there are some 32-bits accesses during BIOS? */
- m_kram_addr_w += (m_kram_inc_w & 0x100) ? ((m_kram_inc_w & 0xff) - 0x100) : (m_kram_inc_w & 0xff);
+ case 0x0e: // KRAM write data
+ // TODO: handle non-dword cases?
+ write_dword((m_kram_addr_w)|(m_kram_page_w<<18),data);
+ m_kram_addr_w += (m_kram_inc_w & 0x200) ? ((m_kram_inc_w & 0x1ff) - 0x200) : (m_kram_inc_w & 0x1ff);
break;
/*
@@ -241,12 +282,25 @@ WRITE32_MEMBER( huc6272_device::write )
// 1011 - 256 color palette block mode
// others - unused/invalid
case 0x10:
- m_bgmode[0] = data & 0x0f;
- m_bgmode[1] = ( data >> 4 ) & 0x0f;
- m_bgmode[2] = ( data >> 8 ) & 0x0f;
- m_bgmode[3] = ( data >> 12 ) & 0x0f;
+ for(int i=0;i<4;i++)
+ m_bg[i].mode = (data >> i*4) & 0x0f;
+
break;
+ /*
+ ---x ---- ---- ---- BG0 rotation enable
+ ---- xxx- ---- ---- BG3 priority
+ ---- ---x xx-- ---- BG2 priority
+ ---- ---- --xx x--- BG1 priority
+ ---- ---- ---- -xxx BG0 priority
+ */
+ case 0x12:
+ for(int i=0;i<4;i++)
+ m_bg[i].priority = (data >> i*3) & 0x07;
+
+ // TODO: rotation enable
+ break;
+
case 0x13:
m_micro_prg.index = data & 0xf;
break;
@@ -259,9 +313,88 @@ WRITE32_MEMBER( huc6272_device::write )
case 0x15:
m_micro_prg.ctrl = data & 1;
- break;
+ break;
+
+ // case 0x16: wrap-around enable
+
+ // BAT and CG address setters
+ case 0x20: m_bg[0].bat_address = data * 1024; break;
+ case 0x21: m_bg[0].cg_address = data * 1024; break;
+ case 0x22: m_bg0sub.bat_address = data * 1024; break;
+ case 0x23: m_bg0sub.cg_address = data * 1024; break;
+ case 0x24: m_bg[1].bat_address = data * 1024; break;
+ case 0x25: m_bg[1].cg_address = data * 1024; break;
+ case 0x26: m_bg[2].bat_address = data * 1024; break;
+ case 0x27: m_bg[2].cg_address = data * 1024; break;
+ case 0x28: m_bg[3].bat_address = data * 1024; break;
+ case 0x29: m_bg[3].cg_address = data * 1024; break;
+
+ // Height & Width setters
+ case 0x2c:
+ case 0x2d:
+ case 0x2e:
+ case 0x2f:
+ {
+ uint8_t reg_offs = m_register & 3;
+ m_bg[reg_offs].height = 1 << (data & 0x000f);
+ m_bg[reg_offs].width = 1 << ((data & 0x00f0) >> 4);
+ if(reg_offs == 0)
+ {
+ m_bg0sub.height = 1 << ((data & 0x0f00) >> 8);
+ m_bg0sub.width = 1 << ((data & 0xf000) >> 12);
+ }
+ break;
+ }
+
+ // X & Y scroll values
+ case 0x30:
+ case 0x31:
+ case 0x32:
+ case 0x33:
+ case 0x34:
+ case 0x35:
+ case 0x36:
+ case 0x37:
+ {
+ uint8_t reg_offs = (m_register & 6) >> 1;
+
+ if(m_register & 1)
+ m_bg[reg_offs].yscroll = data & 0xffff;
+ else
+ m_bg[reg_offs].xscroll = data & 0xffff;
+ break;
+ }
//default: printf("%04x %04x %08x\n",m_register,data,mem_mask);
}
}
}
+
+static MACHINE_CONFIG_FRAGMENT( king_scsi_intf )
+ MCFG_DEVICE_ADD("scsi", SCSI_PORT, 0)
+ MCFG_SCSI_RST_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit7))
+ MCFG_SCSI_BSY_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit6))
+ MCFG_SCSI_REQ_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit5))
+ MCFG_SCSI_MSG_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit4))
+ MCFG_SCSI_CD_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit3))
+ MCFG_SCSI_IO_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit2))
+ MCFG_SCSI_SEL_HANDLER(DEVWRITELINE("scsi_ctrl_in", input_buffer_device, write_bit1))
+
+ MCFG_SCSI_DATA_INPUT_BUFFER("scsi_data_in")
+
+ MCFG_SCSI_OUTPUT_LATCH_ADD("scsi_data_out", "scsi")
+ MCFG_DEVICE_ADD("scsi_ctrl_in", INPUT_BUFFER, 0)
+ MCFG_DEVICE_ADD("scsi_data_in", INPUT_BUFFER, 0)
+
+ MCFG_SCSIDEV_ADD("scsi:" SCSI_PORT_DEVICE1, "cdrom", SCSICD, SCSI_ID_1)
+MACHINE_CONFIG_END
+
+//-------------------------------------------------
+// machine_config_additions - return a pointer to
+// the device's machine fragment
+//-------------------------------------------------
+
+machine_config_constructor huc6272_device::device_mconfig_additions() const
+{
+ return MACHINE_CONFIG_NAME( king_scsi_intf );
+}
diff --git a/src/devices/video/huc6272.h b/src/devices/video/huc6272.h
index 5fcbdaf1901..8f34c6e4e5e 100644
--- a/src/devices/video/huc6272.h
+++ b/src/devices/video/huc6272.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol
+// copyright-holders:Wilbert Pol, Angelo Salese
/***************************************************************************
Hudson/NEC HuC6272 "King" device
@@ -11,6 +11,8 @@
#ifndef __huc6272DEV_H__
#define __huc6272DEV_H__
+#include "bus/scsi/scsi.h"
+#include "bus/scsi/scsicd.h"
//**************************************************************************
@@ -20,6 +22,9 @@
#define MCFG_HUC6272_ADD(_tag,_freq) \
MCFG_DEVICE_ADD(_tag, huc6272, _freq)
+#define MCFG_HUC6272_IRQ_CHANGED_CB(_devcb) \
+ devcb = &huc6272_device::set_irq_changed_callback(*device, DEVCB_##_devcb);
+
//**************************************************************************
// TYPE DEFINITIONS
@@ -34,16 +39,18 @@ public:
// construction/destruction
huc6272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template<class _Object> static devcb_base &set_irq_changed_callback(device_t &device, _Object object) { return downcast<huc6272_device &>(device).m_irq_changed_cb.set_callback(object); }
+
// I/O operations
DECLARE_WRITE32_MEMBER( write );
DECLARE_READ32_MEMBER( read );
-
protected:
// device-level overrides
virtual void device_validity_check(validity_checker &valid) const override;
virtual void device_start() override;
virtual void device_reset() override;
+ virtual machine_config_constructor device_mconfig_additions() const override;
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_PROGRAM) const override;
private:
@@ -52,8 +59,26 @@ private:
uint16_t m_kram_inc_r,m_kram_inc_w;
uint8_t m_kram_page_r,m_kram_page_w;
uint32_t m_page_setting;
- uint8_t m_bgmode[4];
-
+
+ struct{
+ uint32_t bat_address;
+ uint32_t cg_address;
+ uint8_t mode;
+ uint16_t height;
+ uint16_t width;
+ uint16_t xscroll;
+ uint16_t yscroll;
+ uint8_t priority;
+ }m_bg[4];
+
+ struct{
+ uint32_t bat_address;
+ uint32_t cg_address;
+ uint16_t height;
+ uint16_t width;
+ }m_bg0sub;
+
+
struct{
uint8_t index;
uint8_t ctrl;
@@ -62,13 +87,21 @@ private:
const address_space_config m_program_space_config;
const address_space_config m_data_space_config;
required_shared_ptr<uint16_t> m_microprg_ram;
-
+ required_shared_ptr<uint32_t> m_kram_page0;
+ required_shared_ptr<uint32_t> m_kram_page1;
+ required_device<SCSI_PORT_DEVICE> m_scsibus;
+ required_device<input_buffer_device> m_scsi_data_in;
+ required_device<output_latch_device> m_scsi_data_out;
+ required_device<input_buffer_device> m_scsi_ctrl_in;
+
+ /* Callback for when the irq line may have changed (mandatory) */
+ devcb_write_line m_irq_changed_cb;
+
uint32_t read_dword(offs_t address);
void write_dword(offs_t address, uint32_t data);
void write_microprg_data(offs_t address, uint16_t data);
};
-
// device type definition
extern const device_type huc6272;
diff --git a/src/mame/drivers/aristmk5.cpp b/src/mame/drivers/aristmk5.cpp
index 29617a3f2f5..c9651eeb8cb 100644
--- a/src/mame/drivers/aristmk5.cpp
+++ b/src/mame/drivers/aristmk5.cpp
@@ -3043,6 +3043,21 @@ ROM_START( pantmag )
ROM_REGION( 0x20000*4, "sram", ROMREGION_ERASE00 )
ROM_END
+ROM_START( pantmaga )
+ ARISTOCRAT_MK5_BIOS
+
+ ROM_REGION( 0x400000, "game_prg", ROMREGION_ERASEFF )
+ ROM_LOAD32_WORD("0100716v.u7", 0x0000000, 0x0080000, CRC(8646a4a6) SHA1(1449ba497e4ccebf5de9630bfaf31ad3c583fc44) )
+ ROM_LOAD32_WORD("0100716v.u11", 0x0000002, 0x0080000, CRC(61ae2a5a) SHA1(3b11c0f1c6e1464211e6dea958f08d7212ee5756) )
+ ROM_LOAD32_WORD("0100716v.u8", 0x0100000, 0x0080000, CRC(91997f98) SHA1(2353abdc0b160cf087230f0c290f37f045a4d07b) )
+ ROM_LOAD32_WORD("0100716v.u12", 0x0100002, 0x0080000, CRC(6adfd0ab) SHA1(3b6479bcd95812f5678a27adc7decbc881cd6caa) )
+
+ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
+ ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
+ ROM_REGION( 0x20000*4, "sram", ROMREGION_ERASE00 )
+ROM_END
+
+
// MV4115/6 - 9/20 Line Multiline Multiplier.
// Party Gras [Reel Game] - Export A - 10/11/2001.
@@ -3232,7 +3247,7 @@ ROM_START( pengpayu )
ROM_END
-ROM_START( petshop )
+ROM_START( petshopa )
ARISTOCRAT_MK5_BIOS
// checksum code not found (due to bad rom)
ROM_REGION( 0x400000, "game_prg", ROMREGION_ERASEFF )
@@ -3246,7 +3261,7 @@ ROM_START( petshop )
ROM_REGION( 0x20000*4, "sram", ROMREGION_ERASE00 )
ROM_END
-ROM_START( petshopa )
+ROM_START( petshop )
ARISTOCRAT_MK5_BIOS
ROM_REGION( 0x400000, "game_prg", ROMREGION_ERASEFF )
@@ -3650,7 +3665,7 @@ ROM_START( sbuk2 )
ROM_REGION( 0x400000, "game_prg", ROMREGION_ERASEFF )
ROM_LOAD32_WORD("0400501v.u7", 0x0000000, 0x0080000, CRC(f025775d) SHA1(71a94f6f17fa7cdcd997b0117b8f4afe21606a69) )
ROM_LOAD32_WORD("0400501v.u11", 0x0000002, 0x0080000, CRC(f1b51a61) SHA1(8e9fcb071f704122e13333094828a41974646792) )
- ROM_LOAD32_WORD("0400501v.u8", 0x0100000, 0x0080000, CRC(03912f4e) SHA1(48bdcd2160e05261b7d834c53e1d483acaad098f) )
+ ROM_LOAD32_WORD("0400501v.u8", 0x0100000, 0x0080000, BAD_DUMP CRC(03912f4e) SHA1(48bdcd2160e05261b7d834c53e1d483acaad098f) ) // bit 0x20 is stuck on for most of the ROM
ROM_LOAD32_WORD("0400501v.u12", 0x0100002, 0x0080000, CRC(f9b65d2b) SHA1(f519fc284aaa08d3619e4d88e92e690320cf5432) )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
@@ -3891,7 +3906,7 @@ ROM_START( unicorndnz )
ROM_REGION( 0x20000*4, "sram", ROMREGION_ERASE00 )
ROM_END
-ROM_START( wamazon )
+ROM_START( wamazona )
ARISTOCRAT_MK5_BIOS
/*
Checksum code found at 0x000b68
@@ -3913,7 +3928,7 @@ ROM_START( wamazon )
ROM_END
-ROM_START( wamazona )
+ROM_START( wamazon )
ARISTOCRAT_MK5_BIOS
/*
Checksum code found at 0x000b68
@@ -4114,19 +4129,14 @@ GAME( 1995, aristmk5, 0, aristmk5, aristmk5, aristmk5_state, aristmk
// Dates listed below are for the combination (reel layout), not release dates
GAMEL( 1998, adonis, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis (0200751V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/9, A - 25/05/98, Rev 10
GAMEL( 1998, adonisa, adonis, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis (0100751V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/9, A - 25/05/98, Rev 9
-GAMEL( 2001, adonisu, adonis, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis (BHG1508, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4124/1, B - 31/07/01 - BAD DUMP
GAMEL( 1999, adonisce, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis - Cash Express (0201005V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/9, C - 06/07/99
GAMEL( 1996, baddog, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Bad Dog Poker (0200428V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 386/56, A - 17/12/96
-GAMEL( 1996, blackpnt, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Black Panther (0200818V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // 594/1, A - 30/07/96 - doesn't boot, 'needs VLC comms instead of QCOM' (or bad?)
GAMEL( 1998, bootsctn, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Boot Scootin' (0100812V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 616/1, B - 11/12/98
-GAMEL( 1999, bootsctnu, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1012-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4098, A - 25/08/99 - BAD DUMP
GAMEL( 1996, bumblbug, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Bumble Bugs (0200510V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 593, D - 5/07/96
GAMEL( 1996, bumblbugql,bumblbug, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Bumble Bugs (0200456V, Queensland)", MACHINE_FLAGS, layout_aristmk5 ) // 593, D - 5/07/96
-GAMEL( 1997, bumblbugu, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 593, D - 05/07/97 - BAD DUMP
GAMEL( 1995, buttdeli, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Butterfly Delight (0200143V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 571/4, A - 19/12/95
GAMEL( 1999, cashcat, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Cat (0300863V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4089, A - 4/1/99
GAMEL( 1997, cashcham, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Chameleon (0100438V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 603/1, C - 15/4/97
-GAMEL( 1996, cashchamu, cashcham, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Chameleon (DHG4078-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 603(a), B - 06/12/96 - BAD DUMP
GAMEL( 1998, cashchama, cashcham, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Chameleon (0200437V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 603(a), D - 18/02/98
GAMEL( 1998, cashchamnz,cashcham, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Chameleon (0300781V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4067, A - 31/08/98
GAMEL( 1997, cashcra5, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Crop (0300467V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 607, C - 14/07/97
@@ -4141,26 +4151,23 @@ GAMEL( 1998, cuckoo, aristmk5, aristmk5, aristmk5, aristmk5_state, aristm
GAMEL( 2000, cuckoou, cuckoo, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cuckoo (CHG1195, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4104, C - 02/02/00
GAMEL( 1995, dstbloom, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Desert Bloom (0200111V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 577/2, A - 12/10/95
GAMEL( 1999, diamdove, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Diamond Dove (0101018V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 640, B - 19/05/99
-GAMEL( 1996, dmdfever, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Diamond Fever (0200302V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 483/7, E - 05/09/96
+GAMEL( 1996, dmdfever, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Diamond Fever (0200302V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 483/7, E - 05/09/96 - jumps to service mode
GAMEL( 1997, dimtouch, aristmk5, aristmk5_touch, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Diamond Touch (0400433V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 604, E - 30/06/97
GAMEL( 1996, dolphntr, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0200424V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/1, B - 06/12/96, Rev 3
GAMEL( 1996, dolphntra, dolphntr, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100424V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/1, B - 06/12/96, Rev 1.24.4.0
GAMEL( 1996, dolphntrb, dolphntr, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100388V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602, B - 10/12/96
GAMEL( 1996, dolphntru, dolphntr, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (FHG4077-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 602/1, B - 06/12/96
-GAMEL( 1999, dolphntrce,dolphntr, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1606, US)",MACHINE_FLAGS, layout_aristmk5_us ) // (MV4090, D - 22/12/99)
-GAMEL( 1997, drgneye, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dragon's Eye (0100521V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // (610, A - 09/05/97)
+GAMEL( 1999, dolphntrce,dolphntr, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure - Cash Express (AHG1606, US)",MACHINE_FLAGS, layout_aristmk5_us ) // MV4090, D - 22/12/99
+GAMEL( 1997, drgneye, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dragon's Eye (0100521V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 610, A - 09/05/97
GAMEL( 2000, dynajack, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dynamite Jack (01J00081, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB004, A - 12/07/2000
GAMEL( 1998, eldorda5, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "El Dorado (0100652V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 623, B - 24/03/98
GAMEL( 1995, eforsta5, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Enchanted Forest (0400122V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 570/3, E - 23/06/95
-GAMEL( 1997, eforsta5u, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Enchanted Forest (JHG0415-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4033, B - 10/02/97
GAMEL( 2000, fortellr, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Fortune Teller (01J00131, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB006, D - 24/11/2000
-GAMEL( 1998, gambler, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "The Gambler (EHG0916-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4084/1, A - 30/10/98 - POSSIBLE BAD DUMP
GAMEL( 2001, geisha, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Geisha (0101408V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4127, A - 05/03/01
GAMEL( 1999, genmagi, aristmk5, aristmk5_touch, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Genie Magic (0200894V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // ???, C - 15/02/99
GAMEL( 1998, gnomeatw, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Gnome Around The World (0100767V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 625, C - 18/12/98
GAMEL( 1997, goldpyr, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1205-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4091, B - 13/05/97
-GAMEL( 1997, goldpyra, goldpyr, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1206-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 602/2, B - 13/05/97 - BAD DUMP
-GAMEL( 1998, goldpyrb, goldpyr, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (0100878V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // (602/5, C - 19/06/98)
+GAMEL( 1998, goldpyrb, goldpyr, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (0100878V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // 602/5, C - 19/06/98
GAMEL( 2000, goldenra, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Ra (0101164V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 661, A - 10/04/00
GAMEL( 1999, incasun, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Inca Sun (0100872V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 631/3 B, B - 03/05/99
GAMEL( 1999, incasunsp, incasun, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Inca Sun (0100872V, NSW/ACT, Show Program)", MACHINE_FLAGS, layout_aristmk5 ) // 631/3 B, B - 03/05/99
@@ -4169,38 +4176,34 @@ GAMEL( 2000, incasunu, incasun, aristmk5_usa, aristmk5_usa, aristmk5_state, ar
GAMEL( 1998, indrema5, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Indian Dreaming (0100845V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 628/1, B - 15/12/98
GAMEL( 1996, jungjuic, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Jungle Juice (0200240V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // 566/3, F - 06/03/96
GAMEL( 1995, kgalah, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "King Galah (0200536V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 613/6, A - 21/07/95
-GAMEL( 2001, koalamnt, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Koala Mint (CHG1573, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4137, A - 12/09/01 - BAD DUMP
GAMEL( 1998, kookabuk, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Kooka Bucks (0100677V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 661, A - 03/04/98
GAMEL( 1997, locoloot, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Loco Loot (0100472V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 599/2, C - 17/06/97
GAMEL( 1998, locolootnz,locoloot, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Loco Loot (0600725V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4064, A - 8/7/98
GAMEL( 1997, lonewolf, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Lone Wolf (0100587V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 621, A - 29/10/97
-GAMEL( 1997, mgarden, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Garden (AHG1211-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4033, B - 10/02/97 - BAD DUMP
GAMEL( 2000, magimask, aristmk5, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Mask (DHG1309, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4115, A - 09/05/00
GAMEL( 2000, magimaska, magimask, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Mask (AHG1548, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4115, A - 09/05/00
GAMEL( 1997, magtcha5, aristmk5, aristmk5_touch, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Touch (0200455V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 606, A - 06/03/97
GAMEL( 2000, marmagic, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (01J00101, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB005, A - 07/07/00
-GAMEL( 2000, marmagicu, marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1559, US)", MACHINE_FLAGS, layout_aristmk5_us ) // US003, A - 07/07/00 - BAD DUMP
-GAMEL( 2000, marmagicua,marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1558, US)", MACHINE_FLAGS, layout_aristmk5_us ) // (US003, 07/07/2000)
+GAMEL( 2000, marmagicua,marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1558, US)", MACHINE_FLAGS, layout_aristmk5_us ) // US003, 07/07/2000
GAMEL( 1996, minemine, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Mine, Mine, Mine (VHG0416-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 559/2, E - 14/02/96
GAMEL( 1997, monmouse, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Money Mouse (0400469V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 607/1, B - 08/04/97
GAMEL( 2001, montree, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Money Tree (0201397V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4126, C - 12/04/01
-GAMEL( 1996, mountmon, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Mountain Money (0100294V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) //595/3, B - 11/06/96
+GAMEL( 1996, mountmon, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Mountain Money (0100294V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 595/3, B - 11/06/96
GAMEL( 2000, multidrw, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Multidraw - Free Games (0200956V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 386/64, E - 08/05/00
GAMEL( 1996, mystgard, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Mystic Garden (0100275V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 595/1, B - 11/06/96
GAMEL( 1999, orchidms, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Orchid Mist (0200849V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 601/3, C - 03/02/99
GAMEL( 1996, oscara5, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Oscar (0200348V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 593/2, C - 20/09/96
GAMEL( 1999, pantmag, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Panther Magic (0101046V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 594/7, A - 06/10/99
+GAMEL( 1999, pantmaga, pantmag, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Panther Magic (0100716V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 594/4, A - 13/05/98
GAMEL( 2001, partygrs, aristmk5, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Party Gras (AHG1567, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4115/6, A - 10/11/01
-GAMEL( 2001, partygrsa, partygrs, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Party Gras (BHG1284, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4115/3, B - 06/02/01 - BAD DUMP
GAMEL( 2000, peaflut, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Peacock Flutter (02J00011, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB001, A - 10/03/00
GAMEL( 1997, pengpay, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pays (0200460V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 586/4(a), D - 03/06/97
GAMEL( 1996, pengpaya, pengpay, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pays (0200357V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 586/4, C - 12/11/96
GAMEL( 1997, pengpayb, pengpay, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pays (0200359V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 586/3(a), D - 03/06/97
GAMEL( 1997, pengpayu, pengpay, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pays (BHI0417-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 586/7(b) B - 14/07/97
-GAMEL( 1998, petshop, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Pet Shop (0100679V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5_us ) // 618, A - 09/03/98 - BAD DUMP
-GAMEL( 1998, petshopa, petshop, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Pet Shop (0100731V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // (618/1, A - 17/04/98)
-GAMEL( 1995, phantpay, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Phantom Pays (0500005V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // (570/1, E - 12/09/95)
-GAMEL( 1998, penpir2, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pirate II (0100869V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // (619/3, A - 17/12/98)
+GAMEL( 1998, petshop, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Pet Shop (0100731V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 618/1, A - 17/04/98
+GAMEL( 1995, phantpay, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Phantom Pays (0500005V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 570/1, E - 12/09/95
+GAMEL( 1998, penpir2, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Penguin Pirate II (0100869V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // 619/3, A - 17/12/98
GAMEL( 1996, przfight, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Prize Fight (0100299V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 578/4, B - 08/08/96
GAMEL( 1998, qcash, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queens of Cash (0100706V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 603/6, C - 23/07/98
GAMEL( 1997, qnile, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0100439V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/4, B - 13/05/97
@@ -4209,33 +4212,50 @@ GAMEL( 1997, qnileb, qnile, aristmk5, aristmk5, aristmk5_state, aristm
GAMEL( 1997, qnilec, qnile, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0300439V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/4, B - 13/05/97
GAMEL( 1997, qnileu, qnile, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queen of the Nile (GHG4091-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4091, B - 13/05/97
GAMEL( 1999, qnilemax, aristmk5, aristmk5_touch, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queen of the Nile - Maximillions (0401072V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 602/4, D - 18/06/99
-GAMEL( 1994, qtbird, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Q.T. Bird (0500009V, NSW/ACT) ", MACHINE_FLAGS, layout_aristmk5 ) // (581, A - 27/10/94)
+GAMEL( 1994, qtbird, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Q.T. Bird (0500009V, NSW/ACT) ", MACHINE_FLAGS, layout_aristmk5 ) // 581, A - 27/10/94
GAMEL( 2000, rainwrce, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Rainbow Warriors - Cash Express (0101332V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 655, B - 02/03/00
GAMEL( 1998, reelrock, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Reelin-n-Rockin (0100779V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 628, A - 13/07/98
GAMEL( 1997, retrsam, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0400549V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 608, A - 17/04/97
GAMEL( 1997, retrsama, retrsam, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0200506V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 608, A - 17/04/97
GAMEL( 1997, retrsamb, retrsam, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Return of the Samurai (0200549V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 608, A - 17/04/97
GAMEL( 1997, sumospin, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sumo Spins (0200606V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 622, A - 08/12/97
-GAMEL( 1999, sbuk2, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Super Bucks II (0400501V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 578, G - 26/07/99 - doesn't boot (maybe bad?)
GAMEL( 1998, sbuk3, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Super Bucks III (0200711V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 626, A - 22/04/98
GAMEL( 1995, swhr2, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sweethearts II (0200004V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 577/1, C - 07/09/95
-GAMEL( 1998, swhr2u, swhr2, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sweethearts II (PHG0742-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4061, A - 29/06/98 - BAD DUMP
GAMEL( 1995, swhr2v, swhr2, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sweet Hearts II (01J01986, Venezuela)", MACHINE_FLAGS, layout_aristmk5 ) // 577/1, C - 07/09/95
-GAMEL( 199?, topbana, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Top Banana (0100550V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) //
+GAMEL( 1997, topbana, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Top Banana (0100550V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 594/3, A - 18/08/97
GAMEL( 2000, trstrove, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Treasure Trove (01J00161, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB001/3, A - 5/10/00
GAMEL( 2002, tritreat, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Triple Treat (0201692V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 692, A - 17/05/02
GAMEL( 2001, trojhors, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Trojan Horse (01J00851, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // JB001/5, A - 30/10/01
-GAMEL( 1997, trpdlght, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Tropical Delight (PHG0625-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 577/3, D - 24/09/97 - BAD DUMP
GAMEL( 1998, unicornd, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (0100791V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 631/1, A - 31/08/98
GAMEL( 2000, unicorndnz,unicornd, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Unicorn Dreaming (0101228V, New Zealand)", MACHINE_FLAGS, layout_aristmk5 ) // MV4113/1, A - 05/04/2000
-GAMEL( 1996, wamazon, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Amazon (0200285V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 506/6, A - 7/5/96 - BAD DUMP
-GAMEL( 1996, wamazona, wamazon, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Amazon (0200507V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 506/8, A - 10/10/96
+GAMEL( 1996, wamazon, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Amazon (0200507V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 506/8, A - 10/10/96
GAMEL( 1996, wamazonv, wamazon, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Amazon (01J01996, Venezuela)", MACHINE_FLAGS, layout_aristmk5 ) // 506/8, A - 10/10/96
GAMEL( 1996, wildbill, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Bill (0100297V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 543/8, C - 15/08/96
GAMEL( 1996, wcougar, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Cougar (0100167V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 569/9, B - 27/2/96
GAMEL( 1997, wcougaru, wcougar, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Cougar (NHG0296-04, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 569/8, D - 19/05/97
-GAMEL( 1996, wizways, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wizard Ways (0200396V, NSW/ACT) ", MACHINE_FLAGS, layout_aristmk5 ) // (598/3, A - 04/11/96)
-GAMEL( 1997, wnpost, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Winning Post (RHG0418-04, US)", MACHINE_FLAGS, layout_aristmk5_us ) // (541/2, G - 11/02/97)
+GAMEL( 1996, wizways, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wizard Ways (0200396V, NSW/ACT) ", MACHINE_FLAGS, layout_aristmk5 ) // 598/3, A - 04/11/96
+GAMEL( 1997, wnpost, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Winning Post (RHG0418-04, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 541/2, G - 11/02/97
GAMEL( 1999, wthing, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Thing (0101158V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 608/4, B - 14/12/99
GAMEL( 1999, wtiger, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "White Tiger Classic (0200954V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 638/1, B - 08/07/99
+// the following might be bad dumps or need different hardware (unconfirmed)
+GAMEL( 1996, blackpnt, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Black Panther (0200818V, Victoria)", MACHINE_FLAGS, layout_aristmk5 ) // 594/1, A - 30/07/96 - doesn't boot, 'needs VLC (Video Lottery Consultants) comms instead of QCOM' (or bad?)
+
+// the following parent sets are known bad dumps, and do not boot (confirmed)
+GAMEL( 1998, gambler, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "The Gambler (EHG0916-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4084/1, A - 30/10/98
+GAMEL( 2001, koalamnt, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Koala Mint (CHG1573, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4137, A - 12/09/01
+GAMEL( 1997, mgarden, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Garden (AHG1211-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4033, B - 10/02/97
+GAMEL( 1997, trpdlght, aristmk5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Tropical Delight (PHG0625-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 577/3, D - 24/09/97
+GAMEL( 1999, sbuk2, aristmk5, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Super Bucks II (0400501V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 578, G - 26/07/99
+// the following clone sets are known bad dumps, and do not boot (confirmed)
+GAMEL( 2001, adonisu, adonis, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis (BHG1508, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4124/1, B - 31/07/01
+GAMEL( 1999, bootsctnu, bootsctn, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Boot Scootin' (GHG1012-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4098, A - 25/08/99
+GAMEL( 1997, bumblbugu, bumblbug, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Bumble Bugs (CHG0479-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 593, D - 05/07/97
+GAMEL( 1996, cashchamu, cashcham, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Cash Chameleon (DHG4078-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 603(a), B - 06/12/96
+GAMEL( 1997, eforsta5u, eforsta5, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Enchanted Forest (JHG0415-03, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4033, B - 10/02/97
+GAMEL( 1997, goldpyra, goldpyr, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (AHG1206-99, US)", MACHINE_FLAGS, layout_aristmk5_us ) // 602/2, B - 13/05/97
+GAMEL( 2000, marmagicu, marmagic, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (EHG1559, US)", MACHINE_FLAGS, layout_aristmk5_us ) // US003, A - 07/07/00
+GAMEL( 2001, partygrsa, partygrs, aristmk5_usa_touch, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Party Gras (BHG1284, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4115/3, B - 06/02/01
+GAMEL( 1998, petshopa, petshop, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Pet Shop (0100679V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 618, A - 09/03/98
+GAMEL( 1998, swhr2u, swhr2, aristmk5_usa, aristmk5_usa, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sweethearts II (PHG0742-02, US)", MACHINE_FLAGS, layout_aristmk5_us ) // MV4061, A - 29/06/98
+GAMEL( 1996, wamazona, wamazon, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Wild Amazon (0200285V, NSW/ACT)", MACHINE_FLAGS, layout_aristmk5 ) // 506/6, A - 7/5/96
diff --git a/src/mame/drivers/asuka.cpp b/src/mame/drivers/asuka.cpp
index 77144702d7a..3c31e120919 100644
--- a/src/mame/drivers/asuka.cpp
+++ b/src/mame/drivers/asuka.cpp
@@ -1570,10 +1570,10 @@ ROM_END
ROM_START( cadashi )
ROM_REGION( 0x80000, "maincpu", 0 ) /* 512k for 68000 code */
- ROM_LOAD16_BYTE( "c21-14it", 0x00000, 0x20000, CRC(d1d9e613) SHA1(296c188daec962bdb4e78e20f1cc4c7d1f4dda09) ) /* need correct Taito ID #s for these roms */
- ROM_LOAD16_BYTE( "c21-16it", 0x00001, 0x20000, CRC(142256ef) SHA1(9ffc64d7c900bfa0300de9e6d18c7458f4c76ed7) ) /* ID numbers should be at least 26 or higher */
- ROM_LOAD16_BYTE( "c21-13it", 0x40000, 0x20000, CRC(c9cf6e30) SHA1(872c871cd60e0aa7149660277f67f90748d82743) )
- ROM_LOAD16_BYTE( "c21-17it", 0x40001, 0x20000, CRC(641fc9dd) SHA1(1497e39f6b250de39ef2785aaca7e68a803612fa) )
+ ROM_LOAD16_BYTE( "c21_27-1.ic11", 0x00000, 0x20000, CRC(d1d9e613) SHA1(296c188daec962bdb4e78e20f1cc4c7d1f4dda09) )
+ ROM_LOAD16_BYTE( "c21_29-1.ic15", 0x00001, 0x20000, CRC(142256ef) SHA1(9ffc64d7c900bfa0300de9e6d18c7458f4c76ed7) )
+ ROM_LOAD16_BYTE( "c21_26-1.ic10", 0x40000, 0x20000, CRC(c9cf6e30) SHA1(872c871cd60e0aa7149660277f67f90748d82743) )
+ ROM_LOAD16_BYTE( "c21_28-1.ic14", 0x40001, 0x20000, CRC(641fc9dd) SHA1(1497e39f6b250de39ef2785aaca7e68a803612fa) )
ROM_REGION( 0x80000, "gfx1", 0 )
ROM_LOAD( "c21-02.9", 0x00000, 0x80000, CRC(205883b9) SHA1(5aafee8cab3f949a7db91bcc26912f331041b51e) ) /* SCR tiles (8 x 8) */
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 6a202910716..402e612689a 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -125,6 +125,8 @@
- tbreakup: some of the leds flicker (rom and PLAs doublechecked)
- 7in1ss: in 2-player mode, game select and skill select can be configured
after selecting a game?
+ - when f2pbball randomly picks a result, it is much rarer for it to pick one from
+ the right side? (the 6 leds at the upper-right, and the right foul)
- bship discrete sound, netlist is documented
- finish bshipb SN76477 sound
- improve elecbowl driver
@@ -167,7 +169,7 @@
#include "elecdet.lh"
#include "esbattle.lh"
#include "esoccer.lh"
-//#include "f2pbball.lh"
+#include "f2pbball.lh"
#include "fxmcr165.lh" // clickable
#include "gjackpot.lh"
#include "gpoker.lh"
@@ -3395,6 +3397,19 @@ MACHINE_CONFIG_END
- USA: 2 Player Baseball, distributed by Sears
- Canada: 2 Player Baseball, distributed by Talbot Electronics
+ led translation table: led zz from game PCB = MAME y.x:
+
+ 0 = - 10 = 2.2 20 = 4.0 30 = 4.4
+ 1 = 2.3 11 = 3.3 21 = 2.7 31 = 3.7
+ 2 = 0.4 12 = 1.2 22 = 0.0 32 = 4.3
+ 3 = 3.2 13 = 2.4 23 = 4.1 33 = 4.6
+ 4 = 0.5 14 = 1.0 24 = 3.1 34 = 3.5
+ 5 = 0.3 15 = 2.1 25 = 0.2 35 = 4.5
+ 6 = 3.4 16 = 1.1 26 = 0.1
+ 7 = 1.3 17 = 4.7 27 = 4.2
+ 8 = 1.4 18 = 2.0 28 = 3.0
+ 9 = 1.7 19 = 0.7 29 = 1.5
+
***************************************************************************/
class f2pbball_state : public hh_tms1k_state
@@ -3417,7 +3432,7 @@ public:
void f2pbball_state::prepare_display()
{
// R5-R8 are 7segs
- set_display_segmask(0x1e0, 0xff);
+ set_display_segmask(0x1e0, 0x7f);
display_matrix(8, 9, m_o, m_r);
}
@@ -3437,7 +3452,7 @@ WRITE16_MEMBER(f2pbball_state::write_r)
WRITE16_MEMBER(f2pbball_state::write_o)
{
// O0-O7: led state
- m_o = BITSWAP8(data,0,7,2,6,5,4,3,1);
+ m_o = BITSWAP8(data,0,7,6,5,4,3,2,1);
prepare_display();
}
@@ -3452,7 +3467,7 @@ READ8_MEMBER(f2pbball_state::read_k)
static INPUT_PORTS_START( f2pbball )
PORT_START("IN.0") // R4
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("Pick Off")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Pick Off")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_CONFNAME( 0x0c, 0x04, "Players" )
PORT_CONFSETTING( 0x04, "1" )
@@ -3460,19 +3475,19 @@ static INPUT_PORTS_START( f2pbball )
PORT_CONFSETTING( 0x08, "2" )
PORT_START("IN.1") // R9
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Score")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Steal")
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Pitch")
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Swing")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Score")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Steal")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Pitch")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Swing")
PORT_START("IN.2") // R10
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_COCKTAIL PORT_NAME("Curve Left")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("Slow")
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("Curve Right")
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_COCKTAIL PORT_NAME("Fast")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_COCKTAIL PORT_NAME("P2 Curve Left")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Slow")
+ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Curve Right")
+ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_COCKTAIL PORT_NAME("P2 Fast")
PORT_START("RESET")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, f2pbball_state, reset_button, 0)
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("P1 Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, f2pbball_state, reset_button, 0)
INPUT_PORTS_END
INPUT_CHANGED_MEMBER(f2pbball_state::reset_button)
@@ -3490,8 +3505,7 @@ static MACHINE_CONFIG_START( f2pbball, f2pbball_state )
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(f2pbball_state, write_o))
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
- MCFG_DEFAULT_LAYOUT(layout_hh_tms1k_test)
- //MCFG_DEFAULT_LAYOUT(layout_f2pbball)
+ MCFG_DEFAULT_LAYOUT(layout_f2pbball)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
diff --git a/src/mame/drivers/pcfx.cpp b/src/mame/drivers/pcfx.cpp
index 204cc34446e..f7788bff328 100644
--- a/src/mame/drivers/pcfx.cpp
+++ b/src/mame/drivers/pcfx.cpp
@@ -94,7 +94,7 @@ static ADDRESS_MAP_START( pcfx_mem, AS_PROGRAM, 32, pcfx_state )
AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP /* BackUp RAM */
AM_RANGE( 0xE8000000, 0xE9FFFFFF ) AM_NOP /* Extended BackUp RAM */
AM_RANGE( 0xF8000000, 0xF8000007 ) AM_NOP /* PIO */
- AM_RANGE( 0xFFF00000, 0xFFFFFFFF ) AM_ROMBANK("bank1") /* ROM */
+ AM_RANGE( 0xFFF00000, 0xFFFFFFFF ) AM_ROM AM_REGION("ipl", 0) /* ROM */
ADDRESS_MAP_END
READ16_MEMBER( pcfx_state::pad_r )
@@ -165,7 +165,7 @@ WRITE16_MEMBER( pcfx_state::pad_w )
*/
if(data & 1 && (!(m_pad.ctrl[port_type] & 1)))
{
- timer_set(attotime::from_msec(1), TIMER_PAD_FUNC, port_type); // TODO: time
+ timer_set(attotime::from_usec(1000), TIMER_PAD_FUNC, port_type); // TODO: time
}
m_pad.ctrl[port_type] = data & 7;
@@ -198,95 +198,28 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( pcfx )
/*
- xxxx ---- ---- ---- ID (0xf = 6 button pad, 0xe = tap, 0xd = ?)
+ xxxx ---- ---- ---- ID (0xf = 6 button pad, 0xe = multitap, 0xd = mouse, 0 = none)
*/
PORT_START("P1")
- PORT_BIT( 0xf0000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ID
- PORT_DIPNAME( 0x01000000, 0x01000000, "1" )
- PORT_DIPSETTING( 0x01000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x02000000, 0x02000000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x08000000, 0x08000000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08000000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x010000, 0x010000, "2" )
- PORT_DIPSETTING( 0x010000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x020000, 0x020000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x020000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x040000, 0x040000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x040000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x080000, 0x080000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x080000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x100000, 0x100000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x100000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x200000, 0x200000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x200000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x400000, 0x400000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x400000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x800000, 0x800000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x800000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x000000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0100, 0x0100, "3" )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) // *
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) // *
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1) PORT_NAME("RUN button")
- PORT_DIPNAME( 0x01, 0x01, "4" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_BIT( 0xf0000000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // ID pad
+ PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Button I")
+ PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Button II")
+ PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Button III")
+ PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("P1 Button IV")
+ PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME("P1 Button V")
+ PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME("P1 Button VI")
+ PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(1) PORT_NAME("P1 Select Button")
+ PORT_BIT( 0x00000080, IP_ACTIVE_LOW, IPT_START1 ) PORT_PLAYER(1) PORT_NAME("P1 RUN Button")
+ PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_NAME("P1 Up")
+ PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_NAME("P1 Right")
+ PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_NAME("P1 Down")
+ PORT_BIT( 0x00000800, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_NAME("P1 Left")
+ PORT_BIT( 0x00001000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME("P1 Switch 1")
+ PORT_BIT( 0x00004000, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(1) PORT_NAME("P1 Switch 2")
+ PORT_BIT( 0x0fffa000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("P2")
- PORT_BIT( 0xf0000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0xf0000000, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // ID unconnect
PORT_BIT( 0x0fffffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
@@ -462,8 +395,6 @@ WRITE_LINE_MEMBER( pcfx_state::irq15_w )
void pcfx_state::machine_reset()
{
- membank( "bank1" )->set_base( memregion("user1")->base() );
-
m_irq_mask = 0xFF;
m_irq_pending = 0;
}
@@ -498,13 +429,14 @@ static MACHINE_CONFIG_START( pcfx, pcfx_state )
MCFG_HUC6261_VDC2("huc6270_b")
MCFG_HUC6272_ADD( "huc6272", XTAL_21_4772MHz )
-
+ MCFG_HUC6272_IRQ_CHANGED_CB(WRITELINE(pcfx_state, irq13_w))
+
MCFG_HUC6271_ADD( "huc6271", XTAL_21_4772MHz )
MACHINE_CONFIG_END
ROM_START( pcfx )
- ROM_REGION( 0x100000, "user1", 0 )
+ ROM_REGION( 0x100000, "ipl", 0 )
ROM_SYSTEM_BIOS( 0, "v100", "BIOS v1.00 - 2 Sep 1994" )
ROMX_LOAD( "pcfxbios.bin", 0x000000, 0x100000, CRC(76ffb97a) SHA1(1a77fd83e337f906aecab27a1604db064cf10074), ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 1, "v101", "BIOS v1.01 - 5 Dec 1994" )
@@ -516,7 +448,7 @@ ROM_END
ROM_START( pcfxga )
- ROM_REGION( 0x100000, "user1", 0 )
+ ROM_REGION( 0x100000, "ipl", 0 )
ROM_LOAD( "pcfxga.rom", 0x000000, 0x100000, CRC(41c3776b) SHA1(a9372202a5db302064c994fcda9b24d29bb1b41c) )
ROM_REGION( 0x80000, "scsi_rom", ROMREGION_ERASEFF )
diff --git a/src/mame/drivers/sdk85.cpp b/src/mame/drivers/sdk85.cpp
index aa64dbb4e42..7a899e067c1 100644
--- a/src/mame/drivers/sdk85.cpp
+++ b/src/mame/drivers/sdk85.cpp
@@ -1,6 +1,6 @@
// license:BSD-3-Clause
// copyright-holders:Miodrag Milanovic, Robbbert
-/***************************************************************************
+/**************************************************************************************************************************************
Intel SDK-85
@@ -20,7 +20,19 @@ then press NEXT to increment the address.
ToDo:
- Artwork
-****************************************************************************/
+
+Notes on Mastermind bios.
+Original author: Paolo Forlani
+Ported to SDK85 by: Stefano Bodrato
+
+Game instructions (from Stefano):
+Start up, press 0 to begin. Game shows ----. You need to guess a number between 0000 and 9999.
+Enter your guess, "computer" will answer showing on left with the number of found digits.
+On the right you'll get a "clue", slightly different than on the standard game (making it a bit more tricky and more intriguing).
+Once you find the number, you'll see it flashing. Press the 2 key and you'll get your score (number of attempts before guessing).
+Press 0 to restart.
+
+*************************************************************************************************************************************/
#include "emu.h"
#include "cpu/i8085/i8085.h"
@@ -32,14 +44,19 @@ class sdk85_state : public driver_device
{
public:
sdk85_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag) ,
- m_maincpu(*this, "maincpu") { }
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_keyboard(*this, "X%u", 0)
+ { }
DECLARE_WRITE8_MEMBER(scanlines_w);
DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_READ8_MEMBER(kbd_r);
- uint8_t m_digit;
+
+private:
+ u8 m_digit;
required_device<cpu_device> m_maincpu;
+ required_ioport_array<3> m_keyboard;
};
static ADDRESS_MAP_START(sdk85_mem, AS_PROGRAM, 8, sdk85_state)
@@ -80,12 +97,12 @@ static INPUT_PORTS_START( sdk85 )
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F')
PORT_START("X2")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EXEC") PORT_CODE(KEYCODE_Q)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("NEXT") PORT_CODE(KEYCODE_UP)
- PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("GO") PORT_CODE(KEYCODE_R)
- PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SUBST") PORT_CODE(KEYCODE_T)
- PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EXAM") PORT_CODE(KEYCODE_Y)
- PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SINGLE") PORT_CODE(KEYCODE_U)
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EXEC") PORT_CODE(KEYCODE_Q) PORT_CHAR('Q')
+ PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("NEXT") PORT_CODE(KEYCODE_UP) PORT_CHAR('^')
+ PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("GO") PORT_CODE(KEYCODE_R) PORT_CHAR('R')
+ PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SUBST") PORT_CODE(KEYCODE_T) PORT_CHAR('T')
+ PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("EXAM") PORT_CODE(KEYCODE_Y) PORT_CHAR('Y')
+ PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("SINGLE") PORT_CODE(KEYCODE_U) PORT_CHAR('U')
PORT_BIT(0xC0, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@@ -103,14 +120,7 @@ WRITE8_MEMBER( sdk85_state::digit_w )
READ8_MEMBER( sdk85_state::kbd_r )
{
- uint8_t data = 0xff;
-
- if (m_digit < 3)
- {
- char kbdrow[6];
- sprintf(kbdrow,"X%X",m_digit);
- data = ioport(kbdrow)->read();
- }
+ u8 data = (m_digit < 3) ? m_keyboard[m_digit]->read() : 0xff;
return data;
}
@@ -136,7 +146,10 @@ MACHINE_CONFIG_END
/* ROM definition */
ROM_START( sdk85 )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
- ROM_LOAD( "sdk85.a14", 0x0000, 0x0800, CRC(9d5a983f) SHA1(54e218560fbec009ac3de5cfb64b920241ef2eeb))
+ ROM_SYSTEM_BIOS(0, "default", "Default")
+ ROMX_LOAD( "sdk85.a14", 0x0000, 0x0800, CRC(9d5a983f) SHA1(54e218560fbec009ac3de5cfb64b920241ef2eeb), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS(1, "mastermind", "Mastermind")
+ ROMX_LOAD( "mastermind.a14", 0x0000, 0x0800, CRC(36b694ae) SHA1(4d8a5ae5d10e8f72a6e349c7eeaf1aa00c4e45e1), ROM_BIOS(2) )
ROM_END
/* Driver */
diff --git a/src/mame/layout/f2pbball.lay b/src/mame/layout/f2pbball.lay
new file mode 100644
index 00000000000..e62927601e1
--- /dev/null
+++ b/src/mame/layout/f2pbball.lay
@@ -0,0 +1,328 @@
+<?xml version="1.0"?>
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
+ <element name="static_red"><rect><color red="0.2" green="0.04" blue="0.05" /></rect></element>
+ <element name="disk_red"><disk><color red="0.2" green="0.04" blue="0.05" /></disk></element>
+ <element name="static_green"><rect><color red="0.0" green="0.38" blue="0.15" /></rect></element>
+ <element name="static_white"><rect><color red="0.75" green="0.75" blue="0.75" /></rect></element>
+ <element name="disk_white"><disk><color red="0.75" green="0.75" blue="0.75" /></disk></element>
+ <element name="static_white2"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
+
+ <element name="ledo" defstate="0">
+ <disk state="0"><color red="0.2" green="0.04" blue="0.05" /></disk>
+ <disk state="1"><color red="1.0" green="0.20" blue="0.22" /></disk>
+ </element>
+ <element name="led" defstate="0">
+ <disk>
+ <bounds x="0.0" y="0.0" width="1.0" height="1.0" />
+ <color red="0.2" green="0.04" blue="0.05" />
+ </disk>
+ <disk state="1">
+ <bounds x="0.25" y="0.25" width="0.5" height="0.5" />
+ <color red="1.0" green="0.20" blue="0.22" />
+ </disk>
+ </element>
+
+ <element name="digit" defstate="0">
+ <led7seg><color red="1.0" green="0.20" blue="0.22" /></led7seg>
+ </element>
+
+ <element name="text_p">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="P"><color red="0.9" green="0.9" blue="0.9" /></text>
+ </element>
+ <element name="text_1st">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="1st"><color red="0.9" green="0.9" blue="0.9" /></text>
+ </element>
+ <element name="text_2nd">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="2nd"><color red="0.9" green="0.9" blue="0.9" /></text>
+ </element>
+ <element name="text_3rd">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="3rd"><color red="0.9" green="0.9" blue="0.9" /></text>
+ </element>
+ <element name="text_foul">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="FOUL"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_curve">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="CURVE"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_ball">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="BALL"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_strike">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="STRIKE"><color red="0.9" green="0.9" blue="0.9" /></text>
+ </element>
+ <element name="text_flyout">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="FLY OUT"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_homerun">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="HOME RUN"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_grout">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="GR. OUT"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_single">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="SINGLE"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_double">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="DOUBLE"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+ <element name="text_triple">
+ <rect><color red="0.0" green="0.38" blue="0.15" /></rect>
+ <text string="TRIPLE"><color red="0.8" green="0.8" blue="0.8" /></text>
+ </element>
+
+ <element name="text_visitor"><text string="VISITOR"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_hometeam"><text string="HOME TEAM"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_balls"><text string="BALLS"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_strikes"><text string="STKS"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_atbat"><text string="ATBAT"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_outs"><text string="OUTS"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+ <element name="text_innings"><text string="INGS"><color red="0.8" green="0.8" blue="0.8" /></text></element>
+
+
+<!-- build screen -->
+
+ <view name="Internal Layout">
+ <bounds left="3" right="28" top="-2" bottom="33" />
+
+ <bezel element="static_white2"><bounds x="2" y="3.6" width="27" height="1" /></bezel>
+ <bezel element="static_green"><bounds x="2" y="4" width="27" height="30" /></bezel>
+
+ <!-- score panel -->
+
+ <bezel element="text_visitor"><bounds x="6.55" y="-1.7" width="6.4" height="1.2" /></bezel>
+ <bezel element="static_white"><bounds x="6.55" y="-0.5" width="6.4" height="3.65" /></bezel>
+ <bezel element="static_black"><bounds x="6.75" y="-0.3" width="6" height="3.25" /></bezel>
+
+ <bezel element="text_balls"><bounds x="6.75" y="-0.3" width="2" height="0.7" /></bezel>
+ <bezel element="text_strikes"><bounds x="8.75" y="-0.3" width="2" height="0.7" /></bezel>
+ <bezel element="text_atbat"><bounds x="10.85" y="-0.3" width="2" height="0.7" /></bezel>
+
+ <bezel name="digit8" element="digit"><bounds x="7" y="0.5" width="1.5" height="2.25" /></bezel>
+ <bezel name="digit7" element="digit"><bounds x="9" y="0.5" width="1.5" height="2.25" /></bezel>
+ <bezel name="8.7" element="ledo"><bounds x="11.5" y="1.4" width="0.5" height="0.5" /></bezel>
+
+ <bezel element="static_white"><bounds x="8.65" y="-0.4" width="0.2" height="3.45" /></bezel>
+ <bezel element="static_white"><bounds x="10.65" y="-0.4" width="0.2" height="3.45" /></bezel>
+
+ <bezel element="text_hometeam"><bounds x="18" y="-1.7" width="6.4" height="1.2" /></bezel>
+ <bezel element="static_white"><bounds x="18" y="-0.5" width="6.4" height="3.65" /></bezel>
+ <bezel element="static_black"><bounds x="18.2" y="-0.3" width="6" height="3.25" /></bezel>
+
+ <bezel element="text_atbat"><bounds x="18.2" y="-0.3" width="2" height="0.7" /></bezel>
+ <bezel element="text_outs"><bounds x="20.2" y="-0.3" width="2" height="0.7" /></bezel>
+ <bezel element="text_innings"><bounds x="22.2" y="-0.3" width="2" height="0.7" /></bezel>
+
+
+ <bezel name="6.7" element="ledo"><bounds x="18.95" y="1.4" width="0.5" height="0.5" /></bezel>
+ <bezel name="digit6" element="digit"><bounds x="20.45" y="0.5" width="1.5" height="2.25" /></bezel>
+ <bezel name="digit5" element="digit"><bounds x="22.45" y="0.5" width="1.5" height="2.25" /></bezel>
+
+ <bezel element="static_white"><bounds x="20.1" y="-0.4" width="0.2" height="3.45" /></bezel>
+ <bezel element="static_white"><bounds x="22.1" y="-0.4" width="0.2" height="3.45" /></bezel>
+
+ <!-- upper part -->
+
+ <bezel element="text_flyout"><bounds x="4.5" y="8.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_homerun"><bounds x="7.5" y="7.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_grout"><bounds x="10.5" y="6.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_triple"><bounds x="4.5" y="11.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_grout"><bounds x="7.5" y="10.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_single"><bounds x="10.5" y="9.1" width="4" height="0.7" /></bezel>
+
+ <bezel element="text_flyout"><bounds x="16.5" y="6.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_flyout"><bounds x="19.5" y="7.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_double"><bounds x="22.5" y="8.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_single"><bounds x="16.5" y="9.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_single"><bounds x="19.5" y="10.1" width="4" height="0.7" /></bezel>
+ <bezel element="text_grout"><bounds x="22.5" y="11.1" width="4" height="0.7" /></bezel>
+
+ <bezel name="0.3" element="led"><bounds x="6" y="7" width="1" height="1" /></bezel>
+ <bezel name="3.2" element="led"><bounds x="9" y="6" width="1" height="1" /></bezel>
+ <bezel name="2.3" element="led"><bounds x="12" y="5" width="1" height="1" /></bezel>
+ <bezel name="1.2" element="led"><bounds x="6" y="10" width="1" height="1" /></bezel>
+ <bezel name="2.2" element="led"><bounds x="9" y="9" width="1" height="1" /></bezel>
+ <bezel name="1.3" element="led"><bounds x="12" y="8" width="1" height="1" /></bezel>
+
+ <bezel name="0.4" element="led"><bounds x="18" y="5" width="1" height="1" /></bezel>
+ <bezel name="0.5" element="led"><bounds x="21" y="6" width="1" height="1" /></bezel>
+ <bezel name="3.4" element="led"><bounds x="24" y="7" width="1" height="1" /></bezel>
+ <bezel name="1.4" element="led"><bounds x="18" y="8" width="1" height="1" /></bezel>
+ <bezel name="3.3" element="led"><bounds x="21" y="9" width="1" height="1" /></bezel>
+ <bezel name="2.4" element="led"><bounds x="24" y="10" width="1" height="1" /></bezel>
+
+ <!-- field labels -->
+
+ <bezel element="text_p"><bounds x="14" y="13.2" width="3" height="1.2" /></bezel>
+ <bezel element="text_2nd"><bounds x="14" y="7" width="3" height="1.2" /></bezel>
+ <bezel element="text_3rd"><bounds x="2.9" y="17.9" width="3" height="1.2" /></bezel>
+ <bezel element="text_1st"><bounds x="25.1" y="17.9" width="3" height="1.2" /></bezel>
+ <bezel element="text_strike"><bounds x="13" y="31.2" width="5" height="1.2" /></bezel>
+
+ <bezel element="text_foul"><bounds x="6.8" y="24" width="2.2" height="1" /></bezel>
+ <bezel element="text_foul"><bounds x="22.1" y="24" width="2.2" height="1" /></bezel>
+
+ <bezel element="text_curve"><bounds x="8.8" y="27" width="3" height="1" /></bezel>
+ <bezel element="text_ball"><bounds x="9.2" y="30" width="3" height="1" /></bezel>
+ <bezel element="text_curve"><bounds x="19.3" y="27" width="3" height="1" /></bezel>
+ <bezel element="text_ball"><bounds x="18.9" y="30" width="3" height="1" /></bezel>
+
+ <bezel element="static_white"><bounds x="11.8" y="26.8" width="1.4" height="4.4" /></bezel>
+ <bezel element="static_green"><bounds x="12" y="27" width="1" height="4" /></bezel>
+ <bezel element="static_white"><bounds x="17.8" y="26.8" width="1.4" height="4.4" /></bezel>
+ <bezel element="static_green"><bounds x="18" y="27" width="1" height="4" /></bezel>
+
+ <bezel element="disk_red"><bounds x="14.5" y="8.5" width="2" height="2" /></bezel>
+ <bezel element="disk_red"><bounds x="5.5" y="17.5" width="2" height="2" /></bezel>
+ <bezel element="disk_red"><bounds x="23.5" y="17.5" width="2" height="2" /></bezel>
+
+ <bezel element="disk_red"><bounds x="14.5" y="14.5" width="2" height="2" /></bezel>
+ <bezel element="static_red"><bounds x="14.99" y="15.5" width="1.02" height="12" /></bezel>
+
+ <bezel element="static_white"><bounds x="14.5" y="26.5" width="2" height="2.5" /></bezel>
+ <bezel element="static_red"><bounds x="14.7" y="26.7" width="1.6" height="2.1" /></bezel>
+
+ <!-- diamond city -->
+
+ <bezel element="disk_white"><bounds x="5.9" y="17.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="6.4" y="17.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="6.9" y="16.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="7.4" y="16.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="7.9" y="15.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="8.4" y="15.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="8.9" y="14.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="9.4" y="14.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="9.9" y="13.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="10.4" y="13.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="10.9" y="12.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="11.4" y="12.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="11.9" y="11.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="12.4" y="11.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="12.9" y="10.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="13.4" y="10.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="13.9" y="9.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="14.4" y="9.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="14.9" y="8.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="15.4" y="8.4" width="0.2" height="0.2" /></bezel>
+
+ <bezel element="disk_white"><bounds x="15.9" y="8.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="16.4" y="9.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="16.9" y="9.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="17.4" y="10.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="17.9" y="10.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="18.4" y="11.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="18.9" y="11.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="19.4" y="12.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="19.9" y="12.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="20.4" y="13.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="20.9" y="13.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="21.4" y="14.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="21.9" y="14.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="22.4" y="15.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="22.9" y="15.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="23.4" y="16.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="23.9" y="16.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="24.4" y="17.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="24.9" y="17.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="25.4" y="18.4" width="0.2" height="0.2" /></bezel>
+
+ <bezel element="disk_white"><bounds x="24.9" y="18.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="24.4" y="19.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="23.9" y="19.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="23.4" y="20.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="22.9" y="20.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="22.4" y="21.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="21.9" y="21.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="21.4" y="22.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="20.9" y="22.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="20.4" y="23.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="19.9" y="23.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="19.4" y="24.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="18.9" y="24.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="18.4" y="25.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="17.9" y="25.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="17.4" y="26.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="16.9" y="26.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="16.4" y="27.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="15.9" y="27.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="15.4" y="28.4" width="0.2" height="0.2" /></bezel>
+
+ <bezel element="disk_white"><bounds x="14.9" y="27.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="14.4" y="27.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="13.9" y="26.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="13.4" y="26.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="12.9" y="25.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="12.4" y="25.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="11.9" y="24.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="11.4" y="24.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="10.9" y="23.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="10.4" y="23.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="9.9" y="22.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="9.4" y="22.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="8.9" y="21.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="8.4" y="21.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="7.9" y="20.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="7.4" y="20.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="6.9" y="19.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="6.4" y="19.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="5.9" y="18.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="5.4" y="18.4" width="0.2" height="0.2" /></bezel>
+
+ <bezel element="disk_white"><bounds x="4.9" y="17.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="4.4" y="17.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="3.9" y="16.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="3.4" y="16.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="2.9" y="15.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="2.4" y="15.4" width="0.2" height="0.2" /></bezel>
+
+ <bezel element="disk_white"><bounds x="28.4" y="15.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="27.9" y="15.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="27.4" y="16.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="26.9" y="16.9" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="26.4" y="17.4" width="0.2" height="0.2" /></bezel>
+ <bezel element="disk_white"><bounds x="25.9" y="17.9" width="0.2" height="0.2" /></bezel>
+
+ <!-- field leds -->
+
+ <bezel name="1.7" element="led"><bounds x="15" y="9" width="1" height="1" /></bezel>
+ <bezel name="1.0" element="led"><bounds x="12" y="12" width="1" height="1" /></bezel>
+ <bezel name="2.1" element="led"><bounds x="18" y="12" width="1" height="1" /></bezel>
+ <bezel name="1.1" element="led"><bounds x="9" y="15" width="1" height="1" /></bezel>
+ <bezel name="4.7" element="led"><bounds x="15" y="15" width="1" height="1" /></bezel>
+ <bezel name="2.0" element="led"><bounds x="21" y="15" width="1" height="1" /></bezel>
+ <bezel name="0.7" element="led"><bounds x="6" y="18" width="1" height="1" /></bezel>
+ <bezel name="4.0" element="led"><bounds x="15" y="18" width="1" height="1" /></bezel>
+ <bezel name="2.7" element="led"><bounds x="24" y="18" width="1" height="1" /></bezel>
+ <bezel name="0.0" element="led"><bounds x="9" y="21" width="1" height="1" /></bezel>
+ <bezel name="4.1" element="led"><bounds x="15" y="21" width="1" height="1" /></bezel>
+ <bezel name="3.1" element="led"><bounds x="21" y="21" width="1" height="1" /></bezel>
+ <bezel name="0.2" element="led"><bounds x="9" y="24" width="1" height="1" /></bezel>
+ <bezel name="0.1" element="led"><bounds x="12" y="24" width="1" height="1" /></bezel>
+ <bezel name="4.2" element="led"><bounds x="15" y="24" width="1" height="1" /></bezel>
+ <bezel name="3.0" element="led"><bounds x="18" y="24" width="1" height="1" /></bezel>
+ <bezel name="1.5" element="led"><bounds x="21" y="24" width="1" height="1" /></bezel>
+ <bezel name="4.4" element="led"><bounds x="12" y="27" width="1" height="1" /></bezel>
+ <bezel name="3.7" element="led"><bounds x="15" y="27" width="1" height="1" /></bezel>
+ <bezel name="4.3" element="led"><bounds x="18" y="27" width="1" height="1" /></bezel>
+ <bezel name="4.6" element="led"><bounds x="12" y="30" width="1" height="1" /></bezel>
+ <bezel name="3.5" element="led"><bounds x="15" y="30" width="1" height="1" /></bezel>
+ <bezel name="4.5" element="led"><bounds x="18" y="30" width="1" height="1" /></bezel>
+
+ </view>
+</mamelayout>
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 6b697552df4..6285654a266 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -1457,6 +1457,7 @@ mystgard
orchidms
oscara5
pantmag
+pantmaga
partygrs // (c) 2001
partygrsa // (c) 2001
peaflut