wunit: fix dips, add more bug find notes

This commit is contained in:
dinkc64 2018-12-07 00:41:28 -05:00
parent 60d1f5dbc9
commit 6f937a694b
2 changed files with 232 additions and 217 deletions

View File

@ -33,12 +33,10 @@ static struct BurnInputInfo Mk3InputList[] = {
{"Reset", BIT_DIGITAL, &nWolfReset, "reset"},
{"Service", BIT_DIGITAL, nWolfUnitJoy3 + 6, "service"},
{"Service Mode", BIT_DIGITAL, nWolfUnitJoy3 + 4, "diag"},
{"Tilt", BIT_DIGITAL, nWolfUnitJoy3 + 3, "tilt"},
{"Dip A", BIT_DIPSWITCH, nWolfUnitDSW + 0, "dip"},
{"Dip B", BIT_DIPSWITCH, nWolfUnitDSW + 1, "dip"},
{"Dip C", BIT_DIPSWITCH, nWolfUnitDSW + 2, "dip"},
{"Dip D", BIT_DIPSWITCH, nWolfUnitDSW + 3, "dip"},
{"Dip E", BIT_DIPSWITCH, nWolfUnitDSW + 4, "dip"},
};
STDINPUTINFO(Mk3)
@ -46,67 +44,61 @@ STDINPUTINFO(Mk3)
static struct BurnDIPInfo Mk3DIPList[]=
{
{0x1b, 0xff, 0xff, 0x7d, NULL },
{0x1c, 0xff, 0xff, 0x04, NULL },
{0x1d, 0xff, 0xff, 0x10, NULL },
{0x1e, 0xff, 0xff, 0xc0, NULL },
{0x1f, 0xff, 0xff, 0x10, NULL },
{0x1c, 0xff, 0xff, 0x7d, NULL },
{0x1d, 0xff, 0xff, 0xd4, NULL },
{0 , 0xfe, 0 , 2, "Test Switch" },
{0x1b, 0x01, 0x01, 0x01, "Off" },
{0x1b, 0x01, 0x01, 0x00, "On" },
{0x1c, 0x01, 0x01, 0x01, "Off" },
{0x1c, 0x01, 0x01, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Counters" },
{0x1b, 0x01, 0x02, 0x02, "One" },
{0x1b, 0x01, 0x02, 0x00, "Two" },
{0x1c, 0x01, 0x02, 0x02, "One" },
{0x1c, 0x01, 0x02, 0x00, "Two" },
{0 , 0xfe, 0 , 19, "Coinage" },
{0x1b, 0x01, 0x7c, 0x7c, "USA-1" },
{0x1b, 0x01, 0x7c, 0x3c, "USA-2" },
{0x1b, 0x01, 0x7c, 0x5c, "USA-3" },
{0x1b, 0x01, 0x7c, 0x1c, "USA-4" },
{0x1b, 0x01, 0x7c, 0x6c, "USA-ECA" },
{0x1b, 0x01, 0x7c, 0x0c, "USA-Free Play" },
{0x1b, 0x01, 0x7c, 0x74, "German-1" },
{0x1b, 0x01, 0x7c, 0x34, "German-2" },
{0x1b, 0x01, 0x7c, 0x54, "German-3" },
{0x1b, 0x01, 0x7c, 0x14, "German-4" },
{0x1b, 0x01, 0x7c, 0x64, "German-5" },
{0x1b, 0x01, 0x7c, 0x24, "German-ECA" },
{0x1b, 0x01, 0x7c, 0x04, "German-Free Play" },
{0x1b, 0x01, 0x7c, 0x78, "French-1" },
{0x1b, 0x01, 0x7c, 0x38, "French-2" },
{0x1b, 0x01, 0x7c, 0x58, "French-3" },
{0x1b, 0x01, 0x7c, 0x18, "French-4" },
{0x1b, 0x01, 0x7c, 0x68, "French-ECA" },
{0x1b, 0x01, 0x7c, 0x08, "French-Free Play" },
{0x1c, 0x01, 0x7c, 0x7c, "USA-1" },
{0x1c, 0x01, 0x7c, 0x3c, "USA-2" },
{0x1c, 0x01, 0x7c, 0x5c, "USA-3" },
{0x1c, 0x01, 0x7c, 0x1c, "USA-4" },
{0x1c, 0x01, 0x7c, 0x6c, "USA-ECA" },
{0x1c, 0x01, 0x7c, 0x0c, "USA-Free Play" },
{0x1c, 0x01, 0x7c, 0x74, "German-1" },
{0x1c, 0x01, 0x7c, 0x34, "German-2" },
{0x1c, 0x01, 0x7c, 0x54, "German-3" },
{0x1c, 0x01, 0x7c, 0x14, "German-4" },
{0x1c, 0x01, 0x7c, 0x64, "German-5" },
{0x1c, 0x01, 0x7c, 0x24, "German-ECA" },
{0x1c, 0x01, 0x7c, 0x04, "German-Free Play" },
{0x1c, 0x01, 0x7c, 0x78, "French-1" },
{0x1c, 0x01, 0x7c, 0x38, "French-2" },
{0x1c, 0x01, 0x7c, 0x58, "French-3" },
{0x1c, 0x01, 0x7c, 0x18, "French-4" },
{0x1c, 0x01, 0x7c, 0x68, "French-ECA" },
{0x1c, 0x01, 0x7c, 0x08, "French-Free Play" },
{0 , 0xfe, 0 , 2, "Coinage Source" },
{0x1b, 0x01, 0x80, 0x80, "Dipswitch" },
{0x1b, 0x01, 0x80, 0x00, "CMOS" },
{0x1c, 0x01, 0x80, 0x80, "Dipswitch" },
{0x1c, 0x01, 0x80, 0x00, "CMOS" },
{0 , 0xfe, 0 , 2, "Powerup Test" },
{0x1c, 0x01, 0x02, 0x00, "Off" },
{0x1c, 0x01, 0x02, 0x02, "On" },
{0x1d, 0x01, 0x02, 0x00, "Off" },
{0x1d, 0x01, 0x02, 0x02, "On" },
{0 , 0xfe, 0 , 2, "Bill Validator" },
{0x1c, 0x01, 0x04, 0x04, "Off" },
{0x1c, 0x01, 0x04, 0x00, "On" },
{0x1d, 0x01, 0x04, 0x04, "Off" },
{0x1d, 0x01, 0x04, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Attract Sound" },
{0x1c, 0x01, 0x10, 0x00, "Off" },
{0x1c, 0x01, 0x10, 0x10, "On" },
{0x1d, 0x01, 0x10, 0x00, "Off" },
{0x1d, 0x01, 0x10, 0x10, "On" },
{0 , 0xfe, 0 , 2, "Blood" },
{0x1c, 0x01, 0x40, 0x00, "Off" },
{0x1c, 0x01, 0x40, 0x40, "On" },
{0x1d, 0x01, 0x40, 0x00, "Off" },
{0x1d, 0x01, 0x40, 0x40, "On" },
{0 , 0xfe, 0 , 2, "Violence" },
{0x1c, 0x01, 0x80, 0x00, "Off" },
{0x1c, 0x01, 0x80, 0x80, "On" },
{0 , 0xfe, 0 , 1, "Service Mode (No Toggle)" },
{0x1d, 0x01, 0x10, 0x10, "Off" },
{0x1d, 0x01, 0x80, 0x00, "Off" },
{0x1d, 0x01, 0x80, 0x80, "On" },
};
STDDIPINFO(Mk3)
@ -154,11 +146,10 @@ static struct BurnInputInfo OpeniceInputList[] = {
{"Reset", BIT_DIGITAL, &nWolfReset, "reset"},
{"Service", BIT_DIGITAL, nWolfUnitJoy3 + 6, "service"},
{"Service Mode", BIT_DIGITAL, nWolfUnitJoy3 + 4, "diag"},
{"Tilt", BIT_DIGITAL, nWolfUnitJoy3 + 3, "tilt"},
{"Dip A", BIT_DIPSWITCH, nWolfUnitDSW + 0, "dip"},
{"Dip B", BIT_DIPSWITCH, nWolfUnitDSW + 1, "dip"},
{"Dip C", BIT_DIPSWITCH, nWolfUnitDSW + 2, "dip"},
{"Dip D", BIT_DIPSWITCH, nWolfUnitDSW + 3, "dip"},
};
STDINPUTINFO(Openice)
@ -166,70 +157,66 @@ STDINPUTINFO(Openice)
static struct BurnDIPInfo OpeniceDIPList[]=
{
{0x27, 0xff, 0xff, 0xbe, NULL },
{0x28, 0xff, 0xff, 0x0b, NULL },
{0x29, 0xff, 0xff, 0x80, NULL },
{0x2a, 0xff, 0xff, 0x10, NULL },
{0x28, 0xff, 0xff, 0xbe, NULL },
{0x29, 0xff, 0xff, 0x8b, NULL },
{0 , 0xfe, 0 , 2, "Coinage Source" },
{0x27, 0x01, 0x01, 0x01, "Dipswitch" },
{0x27, 0x01, 0x01, 0x00, "CMOS" },
{0x28, 0x01, 0x01, 0x01, "Dipswitch" },
{0x28, 0x01, 0x01, 0x00, "CMOS" },
{0 , 0xfe, 0 , 23, "Coinage" },
{0x27, 0x01, 0x3e, 0x3e, "USA-1" },
{0x27, 0x01, 0x3e, 0x3c, "USA-2" },
{0x27, 0x01, 0x3e, 0x3a, "USA-3" },
{0x27, 0x01, 0x3e, 0x38, "USA-4" },
{0x27, 0x01, 0x3e, 0x34, "USA-9" },
{0x27, 0x01, 0x3e, 0x32, "USA-10" },
{0x27, 0x01, 0x3e, 0x36, "USA-ECA" },
{0x27, 0x01, 0x3e, 0x30, "USA-Free Play" },
{0x27, 0x01, 0x3e, 0x2e, "German-1" },
{0x27, 0x01, 0x3e, 0x2c, "German-2" },
{0x27, 0x01, 0x3e, 0x2a, "German-3" },
{0x27, 0x01, 0x3e, 0x28, "German-4" },
{0x27, 0x01, 0x3e, 0x24, "German-5" },
{0x27, 0x01, 0x3e, 0x26, "German-ECA" },
{0x27, 0x01, 0x3e, 0x20, "German-Free Play" },
{0x27, 0x01, 0x3e, 0x1e, "French-1" },
{0x27, 0x01, 0x3e, 0x1c, "French-2" },
{0x27, 0x01, 0x3e, 0x1a, "French-3" },
{0x27, 0x01, 0x3e, 0x18, "French-4" },
{0x27, 0x01, 0x3e, 0x14, "French-11" },
{0x27, 0x01, 0x3e, 0x12, "French-12" },
{0x27, 0x01, 0x3e, 0x16, "French-ECA" },
{0x27, 0x01, 0x3e, 0x10, "French-Free Play" },
{0x28, 0x01, 0x3e, 0x3e, "USA-1" },
{0x28, 0x01, 0x3e, 0x3c, "USA-2" },
{0x28, 0x01, 0x3e, 0x3a, "USA-3" },
{0x28, 0x01, 0x3e, 0x38, "USA-4" },
{0x28, 0x01, 0x3e, 0x34, "USA-9" },
{0x28, 0x01, 0x3e, 0x32, "USA-10" },
{0x28, 0x01, 0x3e, 0x36, "USA-ECA" },
{0x28, 0x01, 0x3e, 0x30, "USA-Free Play" },
{0x28, 0x01, 0x3e, 0x2e, "German-1" },
{0x28, 0x01, 0x3e, 0x2c, "German-2" },
{0x28, 0x01, 0x3e, 0x2a, "German-3" },
{0x28, 0x01, 0x3e, 0x28, "German-4" },
{0x28, 0x01, 0x3e, 0x24, "German-5" },
{0x28, 0x01, 0x3e, 0x26, "German-ECA" },
{0x28, 0x01, 0x3e, 0x20, "German-Free Play" },
{0x28, 0x01, 0x3e, 0x1e, "French-1" },
{0x28, 0x01, 0x3e, 0x1c, "French-2" },
{0x28, 0x01, 0x3e, 0x1a, "French-3" },
{0x28, 0x01, 0x3e, 0x18, "French-4" },
{0x28, 0x01, 0x3e, 0x14, "French-11" },
{0x28, 0x01, 0x3e, 0x12, "French-12" },
{0x28, 0x01, 0x3e, 0x16, "French-ECA" },
{0x28, 0x01, 0x3e, 0x10, "French-Free Play" },
{0 , 0xfe, 0 , 2, "Counters" },
{0x27, 0x01, 0x40, 0x40, "One" },
{0x27, 0x01, 0x40, 0x00, "Two" },
{0x28, 0x01, 0x40, 0x40, "One" },
{0x28, 0x01, 0x40, 0x00, "Two" },
{0 , 0xfe, 0 , 2, "Bill Validator" },
{0x28, 0x01, 0x01, 0x01, "Off" },
{0x28, 0x01, 0x01, 0x00, "On" },
{0x29, 0x01, 0x01, 0x01, "Off" },
{0x29, 0x01, 0x01, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Attract Sound" },
{0x28, 0x01, 0x02, 0x00, "Off" },
{0x28, 0x01, 0x02, 0x02, "On" },
{0x29, 0x01, 0x02, 0x00, "Off" },
{0x29, 0x01, 0x02, 0x02, "On" },
{0 , 0xfe, 0 , 2, "Powerup Test" },
{0x28, 0x01, 0x04, 0x00, "Off" },
{0x28, 0x01, 0x04, 0x04, "On" },
{0x29, 0x01, 0x04, 0x00, "Off" },
{0x29, 0x01, 0x04, 0x04, "On" },
{0 , 0xfe, 0 , 2, "Head Size" },
{0x28, 0x01, 0x08, 0x08, "Normal" },
{0x28, 0x01, 0x08, 0x00, "Large" },
{0x29, 0x01, 0x08, 0x08, "Normal" },
{0x29, 0x01, 0x08, 0x00, "Large" },
{0 , 0xfe, 0 , 2, "Cabinet" },
{0x28, 0x01, 0x10, 0x00, "2-player" },
{0x28, 0x01, 0x10, 0x10, "4-player" },
{0x29, 0x01, 0x10, 0x00, "2-player" },
{0x29, 0x01, 0x10, 0x10, "4-player" },
{0 , 0xfe, 0 , 2, "Test Switch" },
{0x28, 0x01, 0x80, 0x80, "Off" },
{0x28, 0x01, 0x80, 0x00, "On" },
{0x29, 0x01, 0x80, 0x80, "Off" },
{0x29, 0x01, 0x80, 0x00, "On" },
{0 , 0xfe, 0 , 1, "Service Mode (No Toggle)" },
{0x29, 0x01, 0x10, 0x10, "Off" },
};
STDDIPINFO(Openice)
@ -277,10 +264,10 @@ static struct BurnInputInfo NbahangtInputList[] = {
{"Reset", BIT_DIGITAL, &nWolfReset, "reset"},
{"Service", BIT_DIGITAL, nWolfUnitJoy3 + 6, "service"},
{"Service Mode", BIT_DIGITAL, nWolfUnitJoy3 + 4, "diag"},
{"Tilt", BIT_DIGITAL, nWolfUnitJoy3 + 3, "tilt"},
{"Dip A", BIT_DIPSWITCH, nWolfUnitDSW + 0, "dip"},
{"Dip B", BIT_DIPSWITCH, nWolfUnitDSW + 1, "dip"},
{"Dip C", BIT_DIPSWITCH, nWolfUnitDSW + 2, "dip"},
};
STDINPUTINFO(Nbahangt)
@ -288,50 +275,46 @@ STDINPUTINFO(Nbahangt)
static struct BurnDIPInfo NbahangtDIPList[]=
{
{0x27, 0xff, 0xff, 0x7d, NULL },
{0x28, 0xff, 0xff, 0x7f, NULL },
{0x29, 0xff, 0xff, 0x10, NULL },
{0x28, 0xff, 0xff, 0x7d, NULL },
{0x29, 0xff, 0xff, 0x7f, NULL },
{0 , 0xfe, 0 , 2, "Test Switch" },
{0x27, 0x01, 0x01, 0x01, "Off" },
{0x27, 0x01, 0x01, 0x00, "On" },
{0x28, 0x01, 0x01, 0x01, "Off" },
{0x28, 0x01, 0x01, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Powerup Test" },
{0x27, 0x01, 0x02, 0x00, "Off" },
{0x27, 0x01, 0x02, 0x02, "On" },
{0x28, 0x01, 0x02, 0x00, "Off" },
{0x28, 0x01, 0x02, 0x02, "On" },
{0 , 0xfe, 0 , 2, "Bill Validator" },
{0x27, 0x01, 0x40, 0x40, "Off" },
{0x27, 0x01, 0x40, 0x00, "On" },
{0x28, 0x01, 0x40, 0x40, "Off" },
{0x28, 0x01, 0x40, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Cabinet" },
{0x27, 0x01, 0x80, 0x00, "2-player" },
{0x27, 0x01, 0x80, 0x80, "4-player" },
{0x28, 0x01, 0x80, 0x00, "2-player" },
{0x28, 0x01, 0x80, 0x80, "4-player" },
{0 , 0xfe, 0 , 3, "Counters" },
{0x28, 0x01, 0x03, 0x03, "One, 1/1" },
{0x28, 0x01, 0x03, 0x02, "One, Totalizing" },
{0x28, 0x01, 0x03, 0x01, "Two, 1/1" },
{0x29, 0x01, 0x03, 0x03, "One, 1/1" },
{0x29, 0x01, 0x03, 0x02, "One, Totalizing" },
{0x29, 0x01, 0x03, 0x01, "Two, 1/1" },
{0 , 0xfe, 0 , 3, "Country" },
{0x28, 0x01, 0x0c, 0x0c, "USA" },
{0x28, 0x01, 0x0c, 0x08, "French" },
{0x28, 0x01, 0x0c, 0x04, "German" },
{0x29, 0x01, 0x0c, 0x0c, "USA" },
{0x29, 0x01, 0x0c, 0x08, "French" },
{0x29, 0x01, 0x0c, 0x04, "German" },
{0 , 0xfe, 0 , 6, "Coinage" },
{0x28, 0x01, 0x70, 0x70, "1" },
{0x28, 0x01, 0x70, 0x30, "2" },
{0x28, 0x01, 0x70, 0x50, "3" },
{0x28, 0x01, 0x70, 0x10, "4" },
{0x28, 0x01, 0x70, 0x60, "ECA" },
{0x28, 0x01, 0x70, 0x00, "Free Play" },
{0x29, 0x01, 0x70, 0x70, "1" },
{0x29, 0x01, 0x70, 0x30, "2" },
{0x29, 0x01, 0x70, 0x50, "3" },
{0x29, 0x01, 0x70, 0x10, "4" },
{0x29, 0x01, 0x70, 0x60, "ECA" },
{0x29, 0x01, 0x70, 0x00, "Free Play" },
{0 , 0xfe, 0 , 2, "Coinage Source" },
{0x28, 0x01, 0x80, 0x80, "Dipswitch" },
{0x28, 0x01, 0x80, 0x00, "CMOS" },
{0 , 0xfe, 0 , 1, "Service Mode (No Toggle)" },
{0x29, 0x01, 0x10, 0x10, "Off" },
{0x29, 0x01, 0x80, 0x80, "Dipswitch" },
{0x29, 0x01, 0x80, 0x00, "CMOS" },
};
STDDIPINFO(Nbahangt)
@ -369,12 +352,10 @@ static struct BurnInputInfo RmpgwtInputList[] = {
{"Reset", BIT_DIGITAL, &nWolfReset, "reset"},
{"Service", BIT_DIGITAL, nWolfUnitJoy3 + 6, "service"},
{"Service Mode", BIT_DIGITAL, nWolfUnitJoy3 + 4, "diag"},
{"Tilt", BIT_DIGITAL, nWolfUnitJoy3 + 3, "tilt"},
{"Dip A", BIT_DIPSWITCH, nWolfUnitDSW + 0, "dip"},
{"Dip B", BIT_DIPSWITCH, nWolfUnitDSW + 1, "dip"},
{"Dip C", BIT_DIPSWITCH, nWolfUnitDSW + 2, "dip"},
{"Dip D", BIT_DIPSWITCH, nWolfUnitDSW + 3, "dip"},
{"Dip E", BIT_DIPSWITCH, nWolfUnitDSW + 4, "dip"},
};
STDINPUTINFO(Rmpgwt)
@ -382,59 +363,53 @@ STDINPUTINFO(Rmpgwt)
static struct BurnDIPInfo RmpgwtDIPList[]=
{
{0x1e, 0xff, 0xff, 0xbe, NULL },
{0x1f, 0xff, 0xff, 0x01, NULL },
{0x20, 0xff, 0xff, 0x00, NULL },
{0x21, 0xff, 0xff, 0x80, NULL },
{0x22, 0xff, 0xff, 0x10, NULL },
{0x1f, 0xff, 0xff, 0xbe, NULL },
{0x20, 0xff, 0xff, 0x81, NULL },
{0 , 0xfe, 0 , 2, "Coinage Source" },
{0x1e, 0x01, 0x01, 0x01, "Dipswitch" },
{0x1e, 0x01, 0x01, 0x00, "CMOS" },
{0x1f, 0x01, 0x01, 0x01, "Dipswitch" },
{0x1f, 0x01, 0x01, 0x00, "CMOS" },
{0 , 0xfe, 0 , 23, "Coinage" },
{0x1e, 0x01, 0x3e, 0x3e, "USA-1" },
{0x1e, 0x01, 0x3e, 0x3c, "USA-2" },
{0x1e, 0x01, 0x3e, 0x3a, "USA-3" },
{0x1e, 0x01, 0x3e, 0x38, "USA-4" },
{0x1e, 0x01, 0x3e, 0x34, "USA-9" },
{0x1e, 0x01, 0x3e, 0x32, "USA-10" },
{0x1e, 0x01, 0x3e, 0x36, "USA-ECA" },
{0x1e, 0x01, 0x3e, 0x30, "USA-Free Play" },
{0x1e, 0x01, 0x3e, 0x2e, "German-1" },
{0x1e, 0x01, 0x3e, 0x2c, "German-2" },
{0x1e, 0x01, 0x3e, 0x2a, "German-3" },
{0x1e, 0x01, 0x3e, 0x28, "German-4" },
{0x1e, 0x01, 0x3e, 0x24, "German-5" },
{0x1e, 0x01, 0x3e, 0x26, "German-ECA" },
{0x1e, 0x01, 0x3e, 0x20, "German-Free Play" },
{0x1e, 0x01, 0x3e, 0x1e, "French-1" },
{0x1e, 0x01, 0x3e, 0x1c, "French-2" },
{0x1e, 0x01, 0x3e, 0x1a, "French-3" },
{0x1e, 0x01, 0x3e, 0x18, "French-4" },
{0x1e, 0x01, 0x3e, 0x14, "French-11" },
{0x1e, 0x01, 0x3e, 0x12, "French-12" },
{0x1e, 0x01, 0x3e, 0x16, "French-ECA" },
{0x1e, 0x01, 0x3e, 0x10, "French-Free Play" },
{0x1f, 0x01, 0x3e, 0x3e, "USA-1" },
{0x1f, 0x01, 0x3e, 0x3c, "USA-2" },
{0x1f, 0x01, 0x3e, 0x3a, "USA-3" },
{0x1f, 0x01, 0x3e, 0x38, "USA-4" },
{0x1f, 0x01, 0x3e, 0x34, "USA-9" },
{0x1f, 0x01, 0x3e, 0x32, "USA-10" },
{0x1f, 0x01, 0x3e, 0x36, "USA-ECA" },
{0x1f, 0x01, 0x3e, 0x30, "USA-Free Play" },
{0x1f, 0x01, 0x3e, 0x2e, "German-1" },
{0x1f, 0x01, 0x3e, 0x2c, "German-2" },
{0x1f, 0x01, 0x3e, 0x2a, "German-3" },
{0x1f, 0x01, 0x3e, 0x28, "German-4" },
{0x1f, 0x01, 0x3e, 0x24, "German-5" },
{0x1f, 0x01, 0x3e, 0x26, "German-ECA" },
{0x1f, 0x01, 0x3e, 0x20, "German-Free Play" },
{0x1f, 0x01, 0x3e, 0x1e, "French-1" },
{0x1f, 0x01, 0x3e, 0x1c, "French-2" },
{0x1f, 0x01, 0x3e, 0x1a, "French-3" },
{0x1f, 0x01, 0x3e, 0x18, "French-4" },
{0x1f, 0x01, 0x3e, 0x14, "French-11" },
{0x1f, 0x01, 0x3e, 0x12, "French-12" },
{0x1f, 0x01, 0x3e, 0x16, "French-ECA" },
{0x1f, 0x01, 0x3e, 0x10, "French-Free Play" },
{0 , 0xfe, 0 , 2, "Counters" },
{0x1e, 0x01, 0x40, 0x40, "One" },
{0x1e, 0x01, 0x40, 0x00, "Two" },
{0x1f, 0x01, 0x40, 0x40, "One" },
{0x1f, 0x01, 0x40, 0x00, "Two" },
{0 , 0xfe, 0 , 2, "Bill Validator" },
{0x1f, 0x01, 0x01, 0x01, "Off" },
{0x1f, 0x01, 0x01, 0x00, "On" },
{0x20, 0x01, 0x01, 0x01, "Off" },
{0x20, 0x01, 0x01, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Powerup Test" },
{0x1f, 0x01, 0x04, 0x00, "Off" },
{0x1f, 0x01, 0x04, 0x04, "On" },
{0x20, 0x01, 0x04, 0x00, "Off" },
{0x20, 0x01, 0x04, 0x04, "On" },
{0 , 0xfe, 0 , 2, "Test Switch" },
{0x1f, 0x01, 0x80, 0x80, "Off" },
{0x1f, 0x01, 0x80, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Service Mode (No Toggle)" },
{0x20, 0x01, 0x10, 0x10, "Off" },
{0x20, 0x01, 0x80, 0x80, "Off" },
{0x20, 0x01, 0x80, 0x00, "On" },
};
STDDIPINFO(Rmpgwt)
@ -466,10 +441,10 @@ static struct BurnInputInfo WwfmaniaInputList[] = {
{"Reset", BIT_DIGITAL, &nWolfReset, "reset"},
{"Service", BIT_DIGITAL, nWolfUnitJoy3 + 6, "service"},
{"Service Mode", BIT_DIGITAL, nWolfUnitJoy3 + 4, "diag"},
{"Tilt", BIT_DIGITAL, nWolfUnitJoy3 + 3, "tilt"},
{"Dip A", BIT_DIPSWITCH, nWolfUnitDSW + 0, "dip"},
{"Dip B", BIT_DIPSWITCH, nWolfUnitDSW + 1, "dip"},
{"Dip C", BIT_DIPSWITCH, nWolfUnitDSW + 2, "dip"},
};
STDINPUTINFO(Wwfmania)
@ -477,50 +452,46 @@ STDINPUTINFO(Wwfmania)
static struct BurnDIPInfo WwfmaniaDIPList[]=
{
{0x19, 0xff, 0xff, 0xfd, NULL },
{0x1a, 0xff, 0xff, 0x7f, NULL },
{0x1b, 0xff, 0xff, 0x10, NULL },
{0x1a, 0xff, 0xff, 0xfd, NULL },
{0x1b, 0xff, 0xff, 0xff, NULL },
{0 , 0xfe, 0 , 2, "Test Switch" },
{0x19, 0x01, 0x01, 0x01, "Off" },
{0x19, 0x01, 0x01, 0x00, "On" },
{0x1a, 0x01, 0x01, 0x01, "Off" },
{0x1a, 0x01, 0x01, 0x00, "On" },
{0 , 0xfe, 0 , 2, "Powerup Test" },
{0x19, 0x01, 0x02, 0x00, "Off" },
{0x19, 0x01, 0x02, 0x02, "On" },
{0x1a, 0x01, 0x02, 0x00, "Off" },
{0x1a, 0x01, 0x02, 0x02, "On" },
{0 , 0xfe, 0 , 2, "Realtime Clock" },
{0x19, 0x01, 0x08, 0x08, "No" },
{0x19, 0x01, 0x08, 0x00, "Yes" },
{0x1a, 0x01, 0x08, 0x08, "No" },
{0x1a, 0x01, 0x08, 0x00, "Yes" },
{0 , 0xfe, 0 , 2, "Bill Validator" },
{0x19, 0x01, 0x40, 0x40, "Off" },
{0x19, 0x01, 0x40, 0x00, "On" },
{0x1a, 0x01, 0x40, 0x40, "Off" },
{0x1a, 0x01, 0x40, 0x00, "On" },
{0 , 0xfe, 0 , 3, "Counters" },
{0x1a, 0x01, 0x03, 0x03, "One, 1/1" },
{0x1a, 0x01, 0x03, 0x02, "One, Totalizing" },
{0x1a, 0x01, 0x03, 0x01, "Two, 1/1" },
{0x1b, 0x01, 0x03, 0x03, "One, 1/1" },
{0x1b, 0x01, 0x03, 0x02, "One, Totalizing" },
{0x1b, 0x01, 0x03, 0x01, "Two, 1/1" },
{0 , 0xfe, 0 , 3, "Country" },
{0x1a, 0x01, 0x0c, 0x0c, "USA" },
{0x1a, 0x01, 0x0c, 0x08, "French" },
{0x1a, 0x01, 0x0c, 0x04, "German" },
{0x1b, 0x01, 0x0c, 0x0c, "USA" },
{0x1b, 0x01, 0x0c, 0x08, "French" },
{0x1b, 0x01, 0x0c, 0x04, "German" },
{0 , 0xfe, 0 , 6, "Coinage" },
{0x1a, 0x01, 0x70, 0x70, "1" },
{0x1a, 0x01, 0x70, 0x30, "2" },
{0x1a, 0x01, 0x70, 0x50, "3" },
{0x1a, 0x01, 0x70, 0x10, "4" },
{0x1a, 0x01, 0x70, 0x60, "ECA" },
{0x1a, 0x01, 0x70, 0x00, "Free Play" },
{0x1b, 0x01, 0x70, 0x70, "1" },
{0x1b, 0x01, 0x70, 0x30, "2" },
{0x1b, 0x01, 0x70, 0x50, "3" },
{0x1b, 0x01, 0x70, 0x10, "4" },
{0x1b, 0x01, 0x70, 0x60, "ECA" },
{0x1b, 0x01, 0x70, 0x00, "Free Play" },
{0 , 0xfe, 0 , 2, "Coinage Source" },
{0x1a, 0x01, 0x80, 0x80, "Dipswitch" },
{0x1a, 0x01, 0x80, 0x00, "CMOS" },
{0 , 0xfe, 0 , 1, "Service Mode (No Toggle)" },
{0x1b, 0x01, 0x10, 0x10, "Off" },
{0x1b, 0x01, 0x80, 0x80, "Dipswitch" },
{0x1b, 0x01, 0x80, 0x00, "CMOS" },
};
STDDIPINFO(Wwfmania)

View File

@ -1,7 +1,9 @@
// midway wolf unit
// todo:
// 1: fix dips (f.ex, service mode is "Coinage Source" for Rampage W.T.)
// 1: wwfmania crashes
// 2: openice goes bonkers on game start, cpu players wont move
// 1 + 2 is probably due to cmos issues
// 3: figure out why last line doesn't always render in rampgwt
#include "tiles_generic.h"
@ -32,9 +34,6 @@ UINT8 nWolfUnitJoy3[32];
UINT8 nWolfUnitDSW[8];
UINT8 nWolfReset = 0;
static UINT32 DrvInputs[4];
static INT32 nIOShuffle[16];
static bool bGfxRomLarge = true;
static UINT32 nGfxBankOffset[2] = { 0x000000, 0x400000 };
@ -43,7 +42,9 @@ static bool bCMOSWriteEnable = false;
static UINT32 nVideoBank = 1;
static UINT16 nDMA[32];
static UINT16 nWolfUnitCtrl = 0;
static INT32 nIOShuffle[16];
static INT32 wwfmania = 0;
#define RGB888(r,g,b) ((r) | ((g) << 8) | ((b) << 16))
#define RGB888_r(x) ((x) & 0xFF)
@ -105,27 +106,69 @@ static UINT16 WolfUnitIoRead(UINT32 address)
UINT32 offset = (address >> 4);
offset = nIOShuffle[offset % 16];
switch (offset) {
case 0: return ~DrvInputs[0];
case 1: return ~DrvInputs[1];
case 2: return DrvInputs[2];
case 3: return ~DrvInputs[3];
case 4: {
sound_sync();
return ((MidwaySerialPicStatus() << 12) | (Dcs2kControlRead() & 0xfff));
case 0: return ~DrvInputs[0];
case 1: return ~DrvInputs[1];
case 2: return nWolfUnitDSW[0] | (nWolfUnitDSW[1] << 8);
case 3: return ~DrvInputs[3];
case 4: {
sound_sync();
return ((MidwaySerialPicStatus() << 12) | (Dcs2kControlRead() & 0xfff));
}
default:
return ~0;
}
default:
return ~0;
}
}
void WolfUnitIoWrite(UINT32 address, UINT16 value)
{
// if (wwfmania) bprintf(0, _T("addy %X %x.\n"), address, value);
if (wwfmania && address <= 0x180000f) {
for (INT32 i = 0; i < 16; i++) nIOShuffle[i] = i % 8;
switch (value) {
case 1: {
nIOShuffle[0x04] = 0;
nIOShuffle[0x08] = 1;
nIOShuffle[0x01] = 2;
nIOShuffle[0x09] = 3;
nIOShuffle[0x02] = 4;
break;
}
case 2: {
nIOShuffle[0x08] = 0;
nIOShuffle[0x02] = 1;
nIOShuffle[0x04] = 2;
nIOShuffle[0x06] = 3;
nIOShuffle[0x01] = 4;
break;
}
case 3: {
nIOShuffle[0x01] = 0;
nIOShuffle[0x08] = 1;
nIOShuffle[0x02] = 2;
nIOShuffle[0x0A] = 3;
nIOShuffle[0x05] = 4;
break;
}
case 4: {
nIOShuffle[0x02] = 0;
nIOShuffle[0x04] = 1;
nIOShuffle[0x01] = 2;
nIOShuffle[0x07] = 3;
nIOShuffle[0x08] = 4;
break;
}
}
return;
}
UINT32 offset = (address >> 4) % 8;
switch(offset) {
case 1:
sound_sync();
Dcs2kResetWrite(value & 0x10);
MidwaySerialPicReset();
MidwaySerialPicReset();
break;
}
}
@ -149,8 +192,8 @@ UINT16 WolfUnitSecurityRead(UINT32 address)
void WolfUnitSecurityWrite(UINT32 address, UINT16 value)
{
if (address == 0x01600000) {
MidwaySerialPicWrite(value);
if (address == 0x01600000) {
MidwaySerialPicWrite(value);
}
}
@ -326,7 +369,6 @@ static void WolfDoReset()
INT32 WolfUnitInit()
{
MemIndex();
INT32 nLen = MemEnd - (UINT8 *)0;
@ -354,6 +396,8 @@ INT32 WolfUnitInit()
for (INT32 i = 0; i < 16; i++) nIOShuffle[i] = i % 8;
wwfmania = (strstr(BurnDrvGetTextA(DRV_NAME), "wwfmania") ? 1 : 0);
Dcs2kInit(DCS_8K, MHz(10));
Dcs2kMapSoundROM(DrvSoundROM, 0x1000000);
Dcs2kSetVolume(2.50);
@ -423,7 +467,7 @@ static void MakeInputs()
{
DrvInputs[0] = 0;
DrvInputs[1] = 0;
DrvInputs[2] = 0xFD7D | 0x0200;
DrvInputs[2] = 0; // not used
DrvInputs[3] = 0;
for (INT32 i = 0; i < 16; i++) {
@ -431,8 +475,6 @@ static void MakeInputs()
if (nWolfUnitJoy2[i] & 1) DrvInputs[1] |= (1 << i);
if (nWolfUnitJoy3[i] & 1) DrvInputs[3] |= (1 << i);
}
if (nWolfUnitDSW[0] & 1) DrvInputs[2] ^= 0x08000;
}
static void HandleDCSIRQ(INT32 line)
@ -492,7 +534,9 @@ INT32 WolfUnitExit()
BurnFree(AllMem);
GenericTilesExit();
wwfmania = 0;
return 0;
}