sc4dnd / sc4dndtp / sc4dnddw layout fun - backup of WIP (nw)

This commit is contained in:
David Haywood 2014-05-05 15:17:28 +00:00
parent be76aeae5b
commit 6c31448b58
10 changed files with 6536 additions and 3315 deletions

2
.gitattributes vendored
View File

@ -6351,6 +6351,8 @@ src/mame/layout/sc2_vfd.lay svneol=native#text/xml
src/mame/layout/sc2_vid.lay svneol=native#text/xml
src/mame/layout/sc4_dmd.lay svneol=native#text/xml
src/mame/layout/sc4dnd.lay svneol=native#text/plain
src/mame/layout/sc4dnddw.lay svneol=native#text/plain
src/mame/layout/sc4dndtp.lay svneol=native#text/plain
src/mame/layout/sderby.lay svneol=native#text/xml
src/mame/layout/seabattl.lay svneol=native#text/xml
src/mame/layout/seawolf.lay svneol=native#text/xml

View File

@ -185,6 +185,20 @@ enum ioport_type
IPT_BUTTON14,
IPT_BUTTON15,
IPT_BUTTON16,
IPT_BUTTON17,
IPT_BUTTON18,
IPT_BUTTON19,
IPT_BUTTON20,
IPT_BUTTON21,
IPT_BUTTON22,
IPT_BUTTON23,
IPT_BUTTON24,
IPT_BUTTON25,
IPT_BUTTON26,
IPT_BUTTON27,
IPT_BUTTON28,
IPT_BUTTON29,
IPT_BUTTON30,
// mahjong inputs
IPT_MAHJONG_FIRST,

File diff suppressed because it is too large Load Diff

View File

@ -123,6 +123,15 @@ int find_project_string(running_machine &machine, int addrxor, int mode)
// find where the button definitions are in the ROM to make creating input ports easier for games using common test mode code
// not ALL games have a comprehensive list, but enough do to make this a worthwile debugging aid.
struct sc4inputinfo
{
astring name;
bool used;
};
sc4inputinfo sc4inputs[32][16];
bool compare_input_code(running_machine &machine, int addr)
{
UINT16 *src = (UINT16*)machine.root_device().memregion( "maincpu" )->base();
@ -140,6 +149,19 @@ bool compare_input_code(running_machine &machine, int addr)
int find_input_strings(running_machine &machine)
{
for (int i = 0; i < 32; i++)
{
for (int j = 0; j < 16; j++)
{
char tempstr[32];
sprintf(tempstr, "IN%d-%d", i, j);
sc4inputs[i][j].name = tempstr;
sc4inputs[i][j].used = false;
}
}
int foundat = -1;
UINT32 startblock = 0;
UINT32 endblock = 0;
@ -167,6 +189,7 @@ int find_input_strings(running_machine &machine)
UINT16 portpos = rom[j + 0];
int port = (portpos & 0x1f);
int pos = (portpos >> 5);
UINT16 unk2 = rom[j + 1];
UINT32 stringaddr = (rom[j + 2] << 16) | rom[j + 3];
@ -187,6 +210,32 @@ int find_input_strings(running_machine &machine)
}
}
tempstring.trimspace();
tempstring.makelower();
//if (pos <= 5)
{
if (sc4inputs[port][pos].used == false)
{
sc4inputs[port][pos].used = true;
sc4inputs[port][pos].name = tempstring;
}
else
{
printf("position already used?\n");
sc4inputs[port][pos].name.cat(" OR ");
sc4inputs[port][pos].name.cat(tempstring);
}
}
//else
//{
// printf("invalid port position?\n");
//}
sc45helperlog("%s", tempstring.cstr());
@ -198,12 +247,108 @@ int find_input_strings(running_machine &machine)
}
}
sc45helperlog("------------ INPUT STRUCTURE -----------------\n");
// i'm not sure exactly how many ports are valid for inputs, or if different
// hardware can also be connected to them, buttons typically map in
// ports 1,2, then jump to 8,9, and sometimes 10 (sc4dndys)
// some games appear to have mistakes in their tables (sc4dndclc claims the
// %age key maps over the dips?)
// dips are on the motherboard and the 16 switches appear mapped at 16,17,18,19 split 5-5-5-1 (I'm assuming this can't move)
// the green service mode button in port 20 is also on the motherboard (I'm assuming this can't move)
//
// sometimes an upper bit (0x100) is set for hopper related ports?
int ignoreports[32][16] =
{
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ 1, 2, 3, 4, 5, 6, -1, -1, -4, -1, -1, -1, -1, -1, -1, -1, }, // port 1
{ 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 2
{ -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -4, -1, -1, -1, -1, -1, -1, -1, },
{ -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 8
{ 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 9
{ 25, 26, 27, 28, 29, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 10
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -3, -3, -3, -3, -3, -1, -1, -1, -4, -1, -1, -1, -1, -1, -1, -1, }, // port 16
{ -3, -3, -3, -3, -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 17
{ -3, -3, -3, -3, -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 18
{ -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 19
{ -3, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, // port 20
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }
};
int buttons_used = 1;
printf("INPUT_PORTS_START( %s ) // this structure is generated\n", machine.system().name);
printf(" PORT_INCLUDE( sc4_base )\n");
for (int i = 0; i < 32; i++)
{
int thisportused = 0;
for (int j = 0; j < 16; j++)
{
if (sc4inputs[i][j].used == true)
{
if (thisportused == 0)
{
printf(" PORT_MODIFY(\"IN-%d\")\n", i);
thisportused = 1;
}
if (ignoreports[i][j] > 0)
{
printf(" PORT_BIT( 0x%04x, IP_ACTIVE_HIGH, IPT_BUTTON%d ) PORT_NAME(\"%s\")\n", 1 << j, ignoreports[i][j], sc4inputs[i][j].name.cstr());
buttons_used++;
}
else if (ignoreports[i][j] == -3)
{
printf(" // 0x%04x - \"%s\" // standard input (motherboard)\n", 1 << j, sc4inputs[i][j].name.cstr());
}
else if (ignoreports[i][j] == -2)
{
printf(" // 0x%04x - \"%s\" // standard input (expected here)\n", 1 << j, sc4inputs[i][j].name.cstr());
}
else if (ignoreports[i][j] == -1)
{
printf(" // 0x%04x - \"%s\" // unexpected here\n", 1 << j, sc4inputs[i][j].name.cstr());
}
else if (ignoreports[i][j] == -4)
{
printf(" // 0x%04x - \"%s\" // known extended input, mapping not understood\n", 1 << j, sc4inputs[i][j].name.cstr());
}
buttons_used++;
}
}
}
printf("INPUT_PORTS_END\n");
return foundat;
}
struct lampinfo
{
astring lampname;
astring lampname_alt;
bool used;
int x, y;
int width, height;
@ -221,7 +366,7 @@ void set_clickable_temp(running_machine &machine, astring teststring, int clickp
{
for (int x = 0; x < 16; x++)
{
if (!strcmp(teststring.cstr(), lamps[y][x].lampname.cstr()))
if (!strcmp(teststring.cstr(), lamps[y][x].lampname_alt.cstr()))
{
lamps[y][x].clickport = clickport;
lamps[y][x].clickmask = clickmask;
@ -235,7 +380,29 @@ void set_clickable_temp(running_machine &machine, astring teststring, int clickp
int find_lamp_strings(running_machine &machine)
{
if (strcmp(machine.system().name, "sc4dnd"))
int startblock = -1;
int endblock = -1;
if (!strcmp(machine.system().name, "sc4dnd"))
{
// these are for sc4dnd ONLY, need to work out how the code calculates them
startblock = 0x1cac0;
endblock = 0x1cf9a;
}
else if (!strcmp(machine.system().name, "sc4dndtp"))
{
startblock = 0x2175c;
endblock = 0x21cb4;
}
else if (!strcmp(machine.system().name, "sc4dnddw"))
{
startblock = 0x18a8e;
endblock = 0x18fc2;
}
if (startblock == -1)
return 0;
@ -266,9 +433,7 @@ int find_lamp_strings(running_machine &machine)
// these are for sc4dnd ONLY, need to work out how the code calculates them
int startblock = 0x1cac0;
int endblock = 0x1cf9a;
UINT16 *rom = (UINT16*)machine.root_device().memregion( "maincpu" )->base();
@ -338,6 +503,25 @@ int find_lamp_strings(running_machine &machine)
}
}
sc45helperlog("\n\n");
// print out some input text labels for specific rows
d = 0;
for (int y = 0; y < 6; y++)
{
int actualrows[] = { 1, 2, 8, 9, 10, 20 };
int realy = actualrows[y];
for (int x = 0; x < 6; x++)
{
sc45helperlog("<element name=\"inputlabel%d-%d\"><text string=\"%s\"><color red=\"1.0\" green=\"1.0\" blue=\"1.0\" /></text></element>\n", realy,x,sc4inputs[realy][x].name.cstr());
}
}
sc45helperlog("\n");
// some stuff needed by the matrix layout
sc45helperlog("<element name=\"matrixlamp\">\n");
sc45helperlog("<rect state =\"0\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.7\" green=\"0.7\" blue=\"0.7\" /></rect>\n");
@ -359,6 +543,11 @@ int find_lamp_strings(running_machine &machine)
sc45helperlog("<rect state =\"1\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.0\" green=\"1.0\" blue=\"0.0\" /></rect>\n");
sc45helperlog("<rect state =\"2\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.0\" green=\"0.0\" blue=\"1.0\" /></rect>\n");
sc45helperlog("</element>\n");
sc45helperlog("<element name=\"button\">\n");
sc45helperlog("<rect state =\"0\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.2\" green=\"0.8\" blue=\"0.2\" /></rect>\n");
sc45helperlog("<rect state =\"1\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.2\" green=\"0.9\" blue=\"0.2\" /></rect>\n");
sc45helperlog("<rect state =\"2\"><bounds x=\"0\" y=\"0\" width=\"7\" height=\"7\" /><color red=\"0.2\" green=\"1.0\" blue=\"0.2\" /></rect>\n");
sc45helperlog("</element>\n");
sc45helperlog("<element name=\"vfd0\">\n");
sc45helperlog("<led14segsc><color red=\"0\" green=\"0.6\" blue=\"1.0\" /></led14segsc>\n");
sc45helperlog("</element>\n");
@ -373,6 +562,24 @@ int find_lamp_strings(running_machine &machine)
sc45helperlog("<view name=\"AWP Simulated Video (No Artwork)\">\n");
// copy the button strings so we can modify some for easier comparisons
d = 0;
for (int y = 0; y < 16; y++)
{
for (int x = 0; x < 16; x++)
{
lamps[y][x].lampname_alt = lamps[y][x].lampname;
if (!strcmp(lamps[y][x].lampname_alt.cstr(), "hold2/hi")) lamps[y][x].lampname_alt = "hold2";
if (!strcmp(lamps[y][x].lampname_alt.cstr(), "hold3/lo")) lamps[y][x].lampname_alt = "hold3";
if (!strcmp(lamps[y][x].lampname_alt.cstr(), "chg stake")) lamps[y][x].lampname_alt = "chnge stk";
if (!strcmp(lamps[y][x].lampname_alt.cstr(), "canc/coll")) lamps[y][x].lampname_alt = "cancel";
if (!strcmp(lamps[y][x].lampname_alt.cstr(), "start")) lamps[y][x].lampname_alt = "strt exch";
}
}
// try to find some specific named elements and move them around
d = 0;
@ -396,7 +603,7 @@ int find_lamp_strings(running_machine &machine)
for (int x = 0; x < 16; x++)
{
if (!strcmp(tempname2, lamps[y][x].lampname.cstr()))
if (!strcmp(tempname2, lamps[y][x].lampname_alt.cstr()))
{
//sc45helperlog("%s found\n", tempname2);
lamps[y][x].draw_label = false;
@ -411,7 +618,7 @@ int find_lamp_strings(running_machine &machine)
}
else
{
//printf("%s:%s:\n", tempname2, lamps[y][x].lampname.cstr());
//printf("%s:%s:\n", tempname2, lamps[y][x].lampname_alt.cstr());
}
}
@ -461,6 +668,23 @@ int find_lamp_strings(running_machine &machine)
}
}
// print out a simple matrix of some of the most common inputs,
d = 0;
for (int y = 0; y < 6; y++)
{
int actualrows[] = { 1, 2, 8, 9, 10, 20 };
int realy = actualrows[y];
for (int x = 0; x < 6; x++)
{
sc45helperlog("<bezel name=\"input%d-%d\" element=\"button\" state=\"0\" inputtag=\"IN-%d\" inputmask=\"0x%02x\"><bounds x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\" /></bezel>\n", realy,x, realy, 1<<x, 180+x*20, 0+y*20, 19, 10);
sc45helperlog("<bezel name=\"inputlab%d-%d\" element=\"inputlabel%d-%d\"><bounds x=\"%d\" y=\"%d\" width=\"%d\" height=\"10\" /></bezel>\n", realy,x,realy,x, 180+x*20, 0+(y*20)-10, 19);
d++;
}
}
sc45helperlog("\n");
// other layout debug stuff
@ -533,23 +757,69 @@ int find_lamp_strings(running_machine &machine)
int find_reel_strings(running_machine &machine)
{
if (strcmp(machine.system().name, "sc4dnd"))
return 0;
int startblock = -1;
int endblock = -1;
dynamic_array<int> reelsizes;
// these are for sc4dnd ONLY, need to work out how the code calculates them
// this list is 4 * 16 symbols for the regular reels, 12 symbols for the number spin, and 2 groups of 16 depending on jackpot/stake keys used for the prize reel
// code that points at these is likely to be complex because it's conditional on the game code / mode..
int reelsizes[] = { 16, 16, 16, 16, 12, 16, 16 };
if (!strcmp(machine.system().name, "sc4dnd"))
{
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(12);
reelsizes.append(16);
reelsizes.append(16);
startblock = 0x8d74c;
}
else if (!strcmp(machine.system().name, "sc4dndtp"))
{
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(12);
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(16);
startblock = 0x9d252;
}
else if (!strcmp(machine.system().name, "sc4dnddw"))
{
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(16);
reelsizes.append(12);
reelsizes.append(20);
reelsizes.append(20);
reelsizes.append(20);
startblock = 0x9b8c8;
}
int total_reel_symbols = 0;
for (int i = 0; i < 7; i++)
for (int i = 0; i < reelsizes.count(); i++)
{
total_reel_symbols += reelsizes[i];
}
int startblock = 0x8d74c;
int endblock = startblock + 4 * (total_reel_symbols);
endblock = startblock + 4 * (total_reel_symbols);
if (startblock == -1)
return 0;
UINT16 *rom = (UINT16*)machine.root_device().memregion( "maincpu" )->base();
@ -580,6 +850,10 @@ int find_reel_strings(running_machine &machine)
}
UINT32 stringaddr = (rom[j + 0] << 16) | rom[j + 1];
stringaddr &= 0xfffff;
if (stringaddr >= (0x10000 - 16))
continue;
//sc45helperlog("addr %08x ", stringaddr);

View File

@ -2,9 +2,7 @@
Scorpion 4 Hardware Platform (c)1996 Bell Fruit Manufacturing
Skeleton Driver
THIS DRIVER IS NOT WORKING
preliminary driver
-----------------
@ -23,9 +21,30 @@
This file contains the hardware emulation, for the supported sets
see bfm_sc4.c
---
note, if game says 'read meters' simply press CTRL then 'B'
I think we're stuck in some king of free play test mode so Start 1 will spin and give you credit
The hopper(s) are not currently emulated, many of the games can
be operated in 'Door Open' mode granting you free credits.
Most games will show a RAM error on first boot due, after that they
will initialize their NVRAM.
If 'Read Meters' is shown press the 'Cancel' button (this moves around
per game, so where it maps might not be obvious) Doing this will allow
the games to run in Door Open mode, pressing 'Start' (also moves around)
will allow you to test the game. Not all games have this feature.
Pressing the service key ('Green Button') often allows test mode to be
entered, some games have more comprehensive tests than others.
Various (poorly programmed) sets require specific Jackpot 'keys' etc. to
boot and won't even warn you if they're invalid, others allow you to
set options if keys are not present. (again the buttons to do so move
between games)
Many games have missing sound roms, incorrect sound roms, or badly
dumped sound roms. We also have several dumps where only sound roms
are present.
Many of the titles here were also released on the SC5 platform.
*/
@ -36,11 +55,10 @@
#include "machine/68307.h"
#include "machine/68340.h"
#include "includes/bfm_sc45.h"
#include "bfm_sc4.lh"
#include "video/awpvid.h"
//DMD01
#include "cpu/m6809/m6809.h"
#include "sc4_dmd.lh"
UINT8 sc4_state::read_input_matrix(running_machine &machine, int row)
@ -554,7 +572,7 @@ UINT8 sc4_state::bfm_sc4_68307_porta_r(address_space &space, bool dedicated, UIN
{
int pc = space.device().safe_pc();
logerror("%08x bfm_sc4_68307_porta_r\n", pc);
return machine().rand();
return 0xbb;// machine().rand();
}
UINT16 sc4_state::bfm_sc4_68307_portb_r(address_space &space, bool dedicated, UINT16 line_mask)
@ -705,7 +723,7 @@ MACHINE_CONFIG_START( sc4, sc4_state )
MCFG_BFMBDA_ADD("vfd0",0)
MCFG_DEFAULT_LAYOUT(layout_bfm_sc4)
// MCFG_DEFAULT_LAYOUT(layout_bfm_sc4)
MCFG_SOUND_ADD("ymz", YMZ280B, 16000000) // ?? Mhz
MCFG_YMZ280B_IRQ_HANDLER(WRITELINE(sc4_state, bfm_sc4_irqhandler))
@ -731,7 +749,7 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED_CLASS( sc4dmd, sc4, sc4_state )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_sc4_dmd)
//MCFG_DEFAULT_LAYOUT(layout_sc4_dmd)
MCFG_DEVICE_ADD("dm01", BF_DM01, 0)
MCFG_BF_DM01_BUSY_CB(WRITELINE(sc4_state, bfmdm01_busy))
MCFG_CPU_ADD("matrix", M6809, 2000000 ) /* matrix board 6809 CPU at 2 Mhz ?? I don't know the exact freq.*/
@ -924,7 +942,7 @@ INPUT_PORTS_START( sc4_raw ) // completley unmapped, but named inputs for all th
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_BIT( 0xffe0, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN-A")
PORT_START("IN-10")
PORT_DIPNAME( 0x01, 0x00, "IN 10-0 (STRB 10 Data 0)" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@ -943,7 +961,7 @@ INPUT_PORTS_START( sc4_raw ) // completley unmapped, but named inputs for all th
PORT_BIT( 0xffe0, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("IN-B")
PORT_START("IN-11")
PORT_DIPNAME( 0x01, 0x00, "IN 11-0 (STRB 11 Data 0)" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
@ -1066,21 +1084,21 @@ INPUT_PORTS_END
INPUT_PORTS_START( sc4_base ) // just some fairly generic defaults we map to games where there isn't a specific mapping yet
PORT_INCLUDE ( sc4_raw )
PORT_MODIFY("IN-1")
PORT_CANCEL(0x01)
PORT_HOLD1(0x02)
PORT_HOLD2(0x04)
PORT_HOLD3(0x08)
PORT_CUSTOMSC4_1(0x10, "Custom 1")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("IN1-0")
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("IN1-1")
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("IN1-2")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("IN1-3")
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("IN1-4")
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("IN1-5")
PORT_MODIFY("IN-2")
PORT_CUSTOMSC4_2(0x01, "Custom 2")
PORT_CUSTOMSC4_3(0x02, "Custom 3")
PORT_CUSTOMSC4_4(0x04, "Custom 4")
PORT_CUSTOMSC4_5(0x08, "Custom 5")
PORT_CUSTOMSC4_6(0x10, "Custom 6")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("IN2-0")
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("IN2-1")
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("IN2-2")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON10) PORT_NAME("IN2-3")
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON11) PORT_NAME("IN2-4")
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON12) PORT_NAME("IN2-5")
PORT_MODIFY("IN-3")
PORT_DIPNAME( 0x04, 0x00, "IN 3-2 (STK 4 3.2)" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
@ -1120,6 +1138,29 @@ INPUT_PORTS_START( sc4_base ) // just some fairly generic defaults we map to gam
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_MODIFY("IN-8")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON13) PORT_NAME("IN8-0")
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON14) PORT_NAME("IN8-1")
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON15) PORT_NAME("IN8-2")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON16) PORT_NAME("IN8-3")
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON17) PORT_NAME("IN8-4")
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON18) PORT_NAME("IN8-5")
PORT_MODIFY("IN-9")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON19) PORT_NAME("IN9-0")
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON20) PORT_NAME("IN9-1")
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON21) PORT_NAME("IN9-2")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON22) PORT_NAME("IN9-3")
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON23) PORT_NAME("IN9-4")
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON24) PORT_NAME("IN9-5")
PORT_MODIFY("IN-10")
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON25) PORT_NAME("IN10-0")
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_BUTTON26) PORT_NAME("IN10-1")
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_BUTTON27) PORT_NAME("IN10-2")
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_BUTTON28) PORT_NAME("IN10-3")
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON29) PORT_NAME("IN10-4")
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON30) PORT_NAME("IN10-5")
PORT_MODIFY("IN-20")
PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_SERVICE1) PORT_NAME("Green Button")

View File

@ -67,8 +67,8 @@ public:
m_io8(*this, "IN-7"),
m_io9(*this, "IN-8"),
m_io10(*this, "IN-9"),
m_io11(*this, "IN-A"),
m_io12(*this, "IN-B")
m_io11(*this, "IN-10"),
m_io12(*this, "IN-11")
{
m_chk41addr = -1;
m_dochk41 = false;
@ -603,63 +603,6 @@ INPUT_PORTS_EXTERN( sc4_raw );
PORT_DIPSETTING( 0x0e, "14" ) \
PORT_DIPSETTING( 0x0f, "15" )
// just use macros for these for now, makes changing them later easier.
#define PORT_HOLD1( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("Hold1") PORT_CODE(KEYCODE_A)
#define PORT_HOLD2( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_NAME("Hold2") PORT_CODE(KEYCODE_S)
#define PORT_HOLD3( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_NAME("Hold3") PORT_CODE(KEYCODE_D)
#define PORT_HOLD4( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON12 ) PORT_NAME("Hold4") PORT_CODE(KEYCODE_F)
#define PORT_HOLD5( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON13 ) PORT_NAME("Hold5") PORT_CODE(KEYCODE_G)
#define PORT_HOLD6( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON14 ) PORT_NAME("Hold6") PORT_CODE(KEYCODE_H)
#define PORT_HOLD7( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON15 ) PORT_NAME("Hold7") PORT_CODE(KEYCODE_J)
#define PORT_CANCEL( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_POKER_CANCEL ) PORT_NAME("Cancel") PORT_CODE(KEYCODE_2)
#define PORT_STARTBTN( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start")
#define PORT_REFILL( bits ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_SERVICE2 ) PORT_NAME("Refill")
#define PORT_CUSTOMSC4_1( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME(name) PORT_CODE(KEYCODE_Z)
#define PORT_CUSTOMSC4_2( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME(name) PORT_CODE(KEYCODE_X)
#define PORT_CUSTOMSC4_3( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME(name) PORT_CODE(KEYCODE_C)
#define PORT_CUSTOMSC4_4( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME(name) PORT_CODE(KEYCODE_V)
#define PORT_CUSTOMSC4_5( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME(name) PORT_CODE(KEYCODE_B)
#define PORT_CUSTOMSC4_6( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME(name) PORT_CODE(KEYCODE_N)
#define PORT_CUSTOMSC4_7( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME(name) PORT_CODE(KEYCODE_M)
#define PORT_CUSTOMSC4_8( bits, name ) \
PORT_BIT( bits, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME(name) PORT_CODE(KEYCODE_COMMA)
#define SC4_STANDARD_STAKE_KEY \
PORT_MODIFY("IN-3") /* the Stake key */ \

View File

@ -277,6 +277,45 @@
<element name="lamplabelel253"><text string="(15:13)"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="lamplabelel254"><text string="(15:14)"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="lamplabelel255"><text string="(15:15)"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-0"><text string="cancel"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-1"><text string="hold 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-2"><text string="hold 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-3"><text string="hold 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-4"><text string="hold 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel1-5"><text string="hpunit"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-0"><text string="cstake"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-1"><text string="colect"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-2"><text string="transf"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-3"><text string="refill"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-4"><text string="start"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel2-5"><text string="IN2-5"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-0"><text string="nodeal"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-1"><text string="deal"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-2"><text string="c or b"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-3"><text string="IN8-3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-4"><text string="IN8-4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel8-5"><text string="IN8-5"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-0"><text string="IN9-0"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-1"><text string="IN9-1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-2"><text string="IN9-2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-3"><text string="IN9-3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-4"><text string="IN9-4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel9-5"><text string="IN9-5"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-0"><text string="IN10-0"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-1"><text string="IN10-1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-2"><text string="IN10-2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-3"><text string="IN10-3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-4"><text string="IN10-4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel10-5"><text string="IN10-5"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-0"><text string="grnbut"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-1"><text string="dorlok"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-2"><text string="serdor"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-3"><text string="cshdor"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-4"><text string="hopdmp"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="inputlabel20-5"><text string="IN20-5"><color red="1.0" green="1.0" blue="1.0" /></text></element>
<element name="matrixlamp">
<rect state ="0"><bounds x="0" y="0" width="7" height="7" /><color red="0.7" green="0.7" blue="0.7" /></rect>
<rect state ="1"><bounds x="0" y="0" width="7" height="7" /><color red="0.0" green="0.0" blue="1.0" /></rect>
@ -297,6 +336,11 @@
<rect state ="1"><bounds x="0" y="0" width="7" height="7" /><color red="0.0" green="1.0" blue="0.0" /></rect>
<rect state ="2"><bounds x="0" y="0" width="7" height="7" /><color red="0.0" green="0.0" blue="1.0" /></rect>
</element>
<element name="button">
<rect state ="0"><bounds x="0" y="0" width="7" height="7" /><color red="0.2" green="0.8" blue="0.2" /></rect>
<rect state ="1"><bounds x="0" y="0" width="7" height="7" /><color red="0.2" green="0.9" blue="0.2" /></rect>
<rect state ="2"><bounds x="0" y="0" width="7" height="7" /><color red="0.2" green="1.0" blue="0.2" /></rect>
</element>
<element name="vfd0">
<led14segsc><color red="0" green="0.6" blue="1.0" /></led14segsc>
</element>
@ -845,6 +889,78 @@
<bezel name="lamplabel254" element="lamplabelel254"><bounds x="716" y="410" width="23" height="10" /></bezel>
<bezel name="lamp255" element="unusedlamp" state="0"><bounds x="740" y="420" width="23" height="16"/></bezel>
<bezel name="lamplabel255" element="lamplabelel255"><bounds x="740" y="410" width="23" height="10" /></bezel>
<bezel name="input1-0" element="button" state="0" inputtag="IN-1" inputmask="0x01"><bounds x="180" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-0" element="inputlabel1-0"><bounds x="180" y="-10" width="19" height="10" /></bezel>
<bezel name="input1-1" element="button" state="0" inputtag="IN-1" inputmask="0x02"><bounds x="200" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-1" element="inputlabel1-1"><bounds x="200" y="-10" width="19" height="10" /></bezel>
<bezel name="input1-2" element="button" state="0" inputtag="IN-1" inputmask="0x04"><bounds x="220" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-2" element="inputlabel1-2"><bounds x="220" y="-10" width="19" height="10" /></bezel>
<bezel name="input1-3" element="button" state="0" inputtag="IN-1" inputmask="0x08"><bounds x="240" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-3" element="inputlabel1-3"><bounds x="240" y="-10" width="19" height="10" /></bezel>
<bezel name="input1-4" element="button" state="0" inputtag="IN-1" inputmask="0x10"><bounds x="260" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-4" element="inputlabel1-4"><bounds x="260" y="-10" width="19" height="10" /></bezel>
<bezel name="input1-5" element="button" state="0" inputtag="IN-1" inputmask="0x20"><bounds x="280" y="0" width="19" height="10" /></bezel>
<bezel name="inputlab1-5" element="inputlabel1-5"><bounds x="280" y="-10" width="19" height="10" /></bezel>
<bezel name="input2-0" element="button" state="0" inputtag="IN-2" inputmask="0x01"><bounds x="180" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-0" element="inputlabel2-0"><bounds x="180" y="10" width="19" height="10" /></bezel>
<bezel name="input2-1" element="button" state="0" inputtag="IN-2" inputmask="0x02"><bounds x="200" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-1" element="inputlabel2-1"><bounds x="200" y="10" width="19" height="10" /></bezel>
<bezel name="input2-2" element="button" state="0" inputtag="IN-2" inputmask="0x04"><bounds x="220" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-2" element="inputlabel2-2"><bounds x="220" y="10" width="19" height="10" /></bezel>
<bezel name="input2-3" element="button" state="0" inputtag="IN-2" inputmask="0x08"><bounds x="240" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-3" element="inputlabel2-3"><bounds x="240" y="10" width="19" height="10" /></bezel>
<bezel name="input2-4" element="button" state="0" inputtag="IN-2" inputmask="0x10"><bounds x="260" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-4" element="inputlabel2-4"><bounds x="260" y="10" width="19" height="10" /></bezel>
<bezel name="input2-5" element="button" state="0" inputtag="IN-2" inputmask="0x20"><bounds x="280" y="20" width="19" height="10" /></bezel>
<bezel name="inputlab2-5" element="inputlabel2-5"><bounds x="280" y="10" width="19" height="10" /></bezel>
<bezel name="input8-0" element="button" state="0" inputtag="IN-8" inputmask="0x01"><bounds x="180" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-0" element="inputlabel8-0"><bounds x="180" y="30" width="19" height="10" /></bezel>
<bezel name="input8-1" element="button" state="0" inputtag="IN-8" inputmask="0x02"><bounds x="200" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-1" element="inputlabel8-1"><bounds x="200" y="30" width="19" height="10" /></bezel>
<bezel name="input8-2" element="button" state="0" inputtag="IN-8" inputmask="0x04"><bounds x="220" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-2" element="inputlabel8-2"><bounds x="220" y="30" width="19" height="10" /></bezel>
<bezel name="input8-3" element="button" state="0" inputtag="IN-8" inputmask="0x08"><bounds x="240" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-3" element="inputlabel8-3"><bounds x="240" y="30" width="19" height="10" /></bezel>
<bezel name="input8-4" element="button" state="0" inputtag="IN-8" inputmask="0x10"><bounds x="260" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-4" element="inputlabel8-4"><bounds x="260" y="30" width="19" height="10" /></bezel>
<bezel name="input8-5" element="button" state="0" inputtag="IN-8" inputmask="0x20"><bounds x="280" y="40" width="19" height="10" /></bezel>
<bezel name="inputlab8-5" element="inputlabel8-5"><bounds x="280" y="30" width="19" height="10" /></bezel>
<bezel name="input9-0" element="button" state="0" inputtag="IN-9" inputmask="0x01"><bounds x="180" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-0" element="inputlabel9-0"><bounds x="180" y="50" width="19" height="10" /></bezel>
<bezel name="input9-1" element="button" state="0" inputtag="IN-9" inputmask="0x02"><bounds x="200" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-1" element="inputlabel9-1"><bounds x="200" y="50" width="19" height="10" /></bezel>
<bezel name="input9-2" element="button" state="0" inputtag="IN-9" inputmask="0x04"><bounds x="220" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-2" element="inputlabel9-2"><bounds x="220" y="50" width="19" height="10" /></bezel>
<bezel name="input9-3" element="button" state="0" inputtag="IN-9" inputmask="0x08"><bounds x="240" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-3" element="inputlabel9-3"><bounds x="240" y="50" width="19" height="10" /></bezel>
<bezel name="input9-4" element="button" state="0" inputtag="IN-9" inputmask="0x10"><bounds x="260" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-4" element="inputlabel9-4"><bounds x="260" y="50" width="19" height="10" /></bezel>
<bezel name="input9-5" element="button" state="0" inputtag="IN-9" inputmask="0x20"><bounds x="280" y="60" width="19" height="10" /></bezel>
<bezel name="inputlab9-5" element="inputlabel9-5"><bounds x="280" y="50" width="19" height="10" /></bezel>
<bezel name="input10-0" element="button" state="0" inputtag="IN-10" inputmask="0x01"><bounds x="180" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-0" element="inputlabel10-0"><bounds x="180" y="70" width="19" height="10" /></bezel>
<bezel name="input10-1" element="button" state="0" inputtag="IN-10" inputmask="0x02"><bounds x="200" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-1" element="inputlabel10-1"><bounds x="200" y="70" width="19" height="10" /></bezel>
<bezel name="input10-2" element="button" state="0" inputtag="IN-10" inputmask="0x04"><bounds x="220" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-2" element="inputlabel10-2"><bounds x="220" y="70" width="19" height="10" /></bezel>
<bezel name="input10-3" element="button" state="0" inputtag="IN-10" inputmask="0x08"><bounds x="240" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-3" element="inputlabel10-3"><bounds x="240" y="70" width="19" height="10" /></bezel>
<bezel name="input10-4" element="button" state="0" inputtag="IN-10" inputmask="0x10"><bounds x="260" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-4" element="inputlabel10-4"><bounds x="260" y="70" width="19" height="10" /></bezel>
<bezel name="input10-5" element="button" state="0" inputtag="IN-10" inputmask="0x20"><bounds x="280" y="80" width="19" height="10" /></bezel>
<bezel name="inputlab10-5" element="inputlabel10-5"><bounds x="280" y="70" width="19" height="10" /></bezel>
<bezel name="input20-0" element="button" state="0" inputtag="IN-20" inputmask="0x01"><bounds x="180" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-0" element="inputlabel20-0"><bounds x="180" y="90" width="19" height="10" /></bezel>
<bezel name="input20-1" element="button" state="0" inputtag="IN-20" inputmask="0x02"><bounds x="200" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-1" element="inputlabel20-1"><bounds x="200" y="90" width="19" height="10" /></bezel>
<bezel name="input20-2" element="button" state="0" inputtag="IN-20" inputmask="0x04"><bounds x="220" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-2" element="inputlabel20-2"><bounds x="220" y="90" width="19" height="10" /></bezel>
<bezel name="input20-3" element="button" state="0" inputtag="IN-20" inputmask="0x08"><bounds x="240" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-3" element="inputlabel20-3"><bounds x="240" y="90" width="19" height="10" /></bezel>
<bezel name="input20-4" element="button" state="0" inputtag="IN-20" inputmask="0x10"><bounds x="260" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-4" element="inputlabel20-4"><bounds x="260" y="90" width="19" height="10" /></bezel>
<bezel name="input20-5" element="button" state="0" inputtag="IN-20" inputmask="0x20"><bounds x="280" y="100" width="19" height="10" /></bezel>
<bezel name="inputlab20-5" element="inputlabel20-5"><bounds x="280" y="90" width="19" height="10" /></bezel>
<bezel name="matrix0" element="matrixlamp" state="0"><bounds x="4" y="40" width="3" height="3" /></bezel>
<bezel name="matrix1" element="matrixlamp" state="0"><bounds x="4" y="44" width="3" height="3" /></bezel>

1278
src/mame/layout/sc4dnddw.lay Normal file

File diff suppressed because it is too large Load Diff

1284
src/mame/layout/sc4dndtp.lay Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2498,10 +2498,9 @@ $(DRIVERS)/bfm_sc2.o: $(LAYOUT)/sc2_vfd.lh \
$(DRIVERS)/bfm_sc4.o: $(LAYOUT)/bfm_sc4.lh \
$(LAYOUT)/sc4_dmd.lh \
$(LAYOUT)/sc4dnd.lh
$(DRIVERS)/bfm_sc4h.o: $(LAYOUT)/bfm_sc4.lh \
$(LAYOUT)/sc4_dmd.lh
$(LAYOUT)/sc4dnd.lh \
$(LAYOUT)/sc4dndtp.lh \
$(LAYOUT)/sc4dnddw.lh
$(DRIVERS)/bfm_sc5.o: $(LAYOUT)/bfm_sc5.lh