diff --git a/src/emu/cpu/hmcs40/hmcs40.c b/src/emu/cpu/hmcs40/hmcs40.c index 9bffeba24f5..f80852283df 100644 --- a/src/emu/cpu/hmcs40/hmcs40.c +++ b/src/emu/cpu/hmcs40/hmcs40.c @@ -575,107 +575,65 @@ void hmcs40_cpu_device::execute_run() // fetch next opcode debugger_instruction_hook(this, m_pc); m_op = m_program->read_word(m_pc << 1) & 0x3ff; - m_i = BITSWAP8(m_op,7,6,5,4,0,1,2,3) & 0xf; // reversed bit-order for immediate param (except for XAMR?) + m_i = BITSWAP8(m_op,7,6,5,4,0,1,2,3) & 0xf; // reversed bit-order for 4-bit immediate param (except for XAMR) increment_pc(); // handle opcode switch (m_op) { - // unknown: - /* - lay 118 - ayy 058 - syy 258 - am 034 - anem 124/324/024/234 - alem - bnem - blem - nega 244 - */ - - case 0x118: - op_lay(); // probably lay - break; - case 0x034: - op_am(); // probably am - break; - - - case 0x124: - //op_illegal(); - op_alem(); - break; - case 0x324: - //op_illegal(); - op_anem(); - break; - - case 0x024: - //op_illegal(); - op_bnem(); - break; - case 0x234: - //op_illegal(); - op_blem(); - break; - - - - - - - - - - /* 0x000 */ case 0x000: case 0x001: case 0x002: case 0x003: -/* ok */ op_xsp(); break; + op_xsp(); break; case 0x004: case 0x005: case 0x006: case 0x007: op_sem(); break; case 0x008: case 0x009: case 0x00a: case 0x00b: -/* ok */ op_lam(); break; + op_lam(); break; case 0x010: case 0x011: case 0x012: case 0x013: case 0x014: case 0x015: case 0x016: case 0x017: case 0x018: case 0x019: case 0x01a: case 0x01b: case 0x01c: case 0x01d: case 0x01e: case 0x01f: -/* ok */ op_lmiiy(); break; + op_lmiiy(); break; case 0x020: case 0x021: case 0x022: case 0x023: op_lbm(); break; + case 0x024: + op_blem(); break; case 0x030: -/* ok */ op_amc(); break; + op_amc(); break; + case 0x034: + op_am(); break; case 0x03c: op_lta(); break; case 0x040: -/* ok */ op_lxa(); break; + op_lxa(); break; case 0x045: -/* ok */ op_das(); break; + op_das(); break; case 0x046: -/* ok */ op_daa(); break; + op_daa(); break; case 0x04c: -/* ok */ op_rec(); break; + op_rec(); break; case 0x04f: -/* ok */ op_sec(); break; + op_sec(); break; case 0x050: op_lya(); break; case 0x054: -/* ok */ op_iy(); break; + op_iy(); break; + case 0x058: + op_ayy(); break; case 0x060: op_lba(); break; case 0x064: op_ib(); break; case 0x070: case 0x071: case 0x072: case 0x073: case 0x074: case 0x075: case 0x076: case 0x077: case 0x078: case 0x079: case 0x07a: case 0x07b: case 0x07c: case 0x07d: case 0x07e: case 0x07f: -/* ok */ op_lai(); break; + op_lai(); break; case 0x080: case 0x081: case 0x082: case 0x083: case 0x084: case 0x085: case 0x086: case 0x087: case 0x088: case 0x089: case 0x08a: case 0x08b: case 0x08c: case 0x08d: case 0x08e: case 0x08f: -/* ok */ op_ai(); break; + op_ai(); break; case 0x090: -/* ok */ op_sed(); break; + op_sed(); break; case 0x094: -/* ok */ op_td(); break; + op_td(); break; case 0x0a0: op_seif1(); break; case 0x0a1: @@ -683,7 +641,7 @@ void hmcs40_cpu_device::execute_run() case 0x0a2: op_seif0(); break; case 0x0a4: -/* ok */ op_seie(); break; + op_seie(); break; case 0x0a5: op_setf(); break; @@ -696,30 +654,34 @@ void hmcs40_cpu_device::execute_run() op_lbr(); break; case 0x0f0: case 0x0f1: case 0x0f2: case 0x0f3: case 0x0f4: case 0x0f5: case 0x0f6: case 0x0f7: case 0x0f8: case 0x0f9: case 0x0fa: case 0x0fb: case 0x0fc: case 0x0fd: case 0x0fe: case 0x0ff: -/* ok */ op_xamr(); break; + op_xamr(); break; /* 0x100 */ -/* ok */ case 0x110: case 0x111: + case 0x110: case 0x111: op_lmaiy(); break; -/* ok */ case 0x114: case 0x115: + case 0x114: case 0x115: op_lmady(); break; + case 0x118: + op_lay(); break; case 0x120: op_or(); break; + case 0x124: + op_anem(); break; case 0x140: case 0x141: case 0x142: case 0x143: case 0x144: case 0x145: case 0x146: case 0x147: case 0x148: case 0x149: case 0x14a: case 0x14b: case 0x14c: case 0x14d: case 0x14e: case 0x14f: -/* ok */ op_lxi(); break; + op_lxi(); break; case 0x150: case 0x151: case 0x152: case 0x153: case 0x154: case 0x155: case 0x156: case 0x157: case 0x158: case 0x159: case 0x15a: case 0x15b: case 0x15c: case 0x15d: case 0x15e: case 0x15f: -/* ok */ op_lyi(); break; + op_lyi(); break; case 0x160: case 0x161: case 0x162: case 0x163: case 0x164: case 0x165: case 0x166: case 0x167: case 0x168: case 0x169: case 0x16a: case 0x16b: case 0x16c: case 0x16d: case 0x16e: case 0x16f: -/* ok */ op_lbi(); break; + op_lbi(); break; case 0x170: case 0x171: case 0x172: case 0x173: case 0x174: case 0x175: case 0x176: case 0x177: case 0x178: case 0x179: case 0x17a: case 0x17b: case 0x17c: case 0x17d: case 0x17e: case 0x17f: -/* ok */ op_lti(); break; + op_lti(); break; case 0x1a0: op_tif1(); break; @@ -740,7 +702,7 @@ void hmcs40_cpu_device::execute_run() case 0x1e8: case 0x1e9: case 0x1ea: case 0x1eb: case 0x1ec: case 0x1ed: case 0x1ee: case 0x1ef: case 0x1f0: case 0x1f1: case 0x1f2: case 0x1f3: case 0x1f4: case 0x1f5: case 0x1f6: case 0x1f7: case 0x1f8: case 0x1f9: case 0x1fa: case 0x1fb: case 0x1fc: case 0x1fd: case 0x1fe: case 0x1ff: -/* ok */ op_br(); break; + op_br(); break; /* 0x200 */ @@ -750,42 +712,48 @@ void hmcs40_cpu_device::execute_run() case 0x204: case 0x205: case 0x206: case 0x207: op_rem(); break; case 0x208: case 0x209: case 0x20a: case 0x20b: -/* ok */ op_xma(); break; + op_xma(); break; case 0x210: case 0x211: case 0x212: case 0x213: case 0x214: case 0x215: case 0x216: case 0x217: case 0x218: case 0x219: case 0x21a: case 0x21b: case 0x21c: case 0x21d: case 0x21e: case 0x21f: op_mnei(); break; case 0x220: case 0x221: case 0x222: case 0x223: -/* ok */ op_xmb(); break; + op_xmb(); break; case 0x224: -/* ok */ op_rotr(); break; + op_rotr(); break; case 0x225: -/* ok */ op_rotl(); break; + op_rotl(); break; case 0x230: -/* ok */ op_smc(); break; + op_smc(); break; + case 0x234: + op_alem(); break; case 0x23c: op_lat(); break; case 0x240: -/* ok */ op_laspx(); break; + op_laspx(); break; + case 0x244: + op_nega(); break; case 0x24f: op_tc(); break; case 0x250: -/* ok */ op_laspy(); break; + op_laspy(); break; case 0x254: op_dy(); break; + case 0x258: + op_syy(); break; case 0x260: -/* ok */ op_lab(); break; + op_lab(); break; case 0x267: op_db(); break; case 0x270: case 0x271: case 0x272: case 0x273: case 0x274: case 0x275: case 0x276: case 0x277: case 0x278: case 0x279: case 0x27a: case 0x27b: case 0x27c: case 0x27d: case 0x27e: case 0x27f: -/* ok */ op_alei(); break; + op_alei(); break; case 0x280: case 0x281: case 0x282: case 0x283: case 0x284: case 0x285: case 0x286: case 0x287: case 0x288: case 0x289: case 0x28a: case 0x28b: case 0x28c: case 0x28d: case 0x28e: case 0x28f: -/* ok */ op_ynei(); break; + op_ynei(); break; case 0x290: -/* ok */ op_red(); break; + op_red(); break; case 0x2a0: op_reif1(); break; case 0x2a1: @@ -795,10 +763,10 @@ void hmcs40_cpu_device::execute_run() case 0x2a4: op_reie(); break; case 0x2a5: -/* ok */ op_retf(); break; + op_retf(); break; case 0x2c0: case 0x2c1: case 0x2c2: case 0x2c3: case 0x2c4: case 0x2c5: case 0x2c6: case 0x2c7: -/* ok */ op_lra(); break; + op_lra(); break; case 0x2d0: case 0x2d1: case 0x2d2: case 0x2d3: case 0x2d4: case 0x2d5: case 0x2d6: case 0x2d7: case 0x2d8: case 0x2d9: case 0x2da: case 0x2db: case 0x2dc: case 0x2dd: case 0x2de: case 0x2df: op_redd(); break; @@ -809,21 +777,23 @@ void hmcs40_cpu_device::execute_run() /* 0x300 */ case 0x320: op_comb(); break; + case 0x324: + op_bnem(); break; case 0x340: case 0x341: case 0x342: case 0x343: case 0x344: case 0x345: case 0x346: case 0x347: case 0x348: case 0x349: case 0x34a: case 0x34b: case 0x34c: case 0x34d: case 0x34e: case 0x34f: case 0x350: case 0x351: case 0x352: case 0x353: case 0x354: case 0x355: case 0x356: case 0x357: case 0x358: case 0x359: case 0x35a: case 0x35b: case 0x35c: case 0x35d: case 0x35e: case 0x35f: -/* ok */ op_lpu(); break; + op_lpu(); break; case 0x360: case 0x361: case 0x362: case 0x363: case 0x364: case 0x365: case 0x366: case 0x367: op_tbr(); break; case 0x368: case 0x369: case 0x36a: case 0x36b: case 0x36c: case 0x36d: case 0x36e: case 0x36f: -/* ok */ op_p(); break; + op_p(); break; case 0x3a4: -/* ok */ op_rtni(); break; + op_rtni(); break; case 0x3a7: -/* ok */ op_rtn(); break; + op_rtn(); break; case 0x3c0: case 0x3c1: case 0x3c2: case 0x3c3: case 0x3c4: case 0x3c5: case 0x3c6: case 0x3c7: case 0x3c8: case 0x3c9: case 0x3ca: case 0x3cb: case 0x3cc: case 0x3cd: case 0x3ce: case 0x3cf: @@ -833,7 +803,7 @@ void hmcs40_cpu_device::execute_run() case 0x3e8: case 0x3e9: case 0x3ea: case 0x3eb: case 0x3ec: case 0x3ed: case 0x3ee: case 0x3ef: case 0x3f0: case 0x3f1: case 0x3f2: case 0x3f3: case 0x3f4: case 0x3f5: case 0x3f6: case 0x3f7: case 0x3f8: case 0x3f9: case 0x3fa: case 0x3fb: case 0x3fc: case 0x3fd: case 0x3fe: case 0x3ff: -/* ok */ op_cal(); break; + op_cal(); break; default: diff --git a/src/emu/cpu/hmcs40/hmcs40d.c b/src/emu/cpu/hmcs40/hmcs40d.c index 8866d85a4ce..8ba142510e5 100644 --- a/src/emu/cpu/hmcs40/hmcs40d.c +++ b/src/emu/cpu/hmcs40/hmcs40d.c @@ -93,11 +93,11 @@ static const UINT8 hmcs40_mnemonic[0x400] = /* 0x000 */ mNOP, mXSP, mXSP, mXSP, mSEM, mSEM, mSEM, mSEM, mLAM, mLAM, mLAM, mLAM, mILL, mILL, mILL, mILL, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, mLMIIY, - mLBM, mLBM, mLBM, mLBM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, - mAMC, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLTA, mILL, mILL, mILL, + mLBM, mLBM, mLBM, mLBM, mBLEM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mAMC, mILL, mILL, mILL, mAM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLTA, mILL, mILL, mILL, /* 0x040 */ mLXA, mILL, mILL, mILL, mILL, mDAS, mDAA, mILL, mILL, mILL, mILL, mILL, mREC, mILL, mILL, mSEC, - mLYA, mILL, mILL, mILL, mIY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mLYA, mILL, mILL, mILL, mIY, mILL, mILL, mILL, mAYY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLBA, mILL, mILL, mILL, mIB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, /* 0x080 */ @@ -114,8 +114,8 @@ static const UINT8 hmcs40_mnemonic[0x400] = /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ /* 0x100 */ mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, - mLMAIY, mLMAIY, mILL, mILL, mLMADY, mLMADY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, - mOR, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mLMAIY, mLMAIY, mILL, mILL, mLMADY, mLMADY, mILL, mILL, mLAY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mOR, mILL, mILL, mILL, mANEM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, /* 0x140 */ mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, mLXI, @@ -138,10 +138,10 @@ static const UINT8 hmcs40_mnemonic[0x400] = mTM, mTM, mTM, mTM, mREM, mREM, mREM, mREM, mXMA, mXMA, mXMA, mXMA, mILL, mILL, mILL, mILL, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mMNEI, mXMB, mXMB, mXMB, mXMB, mROTR, mROTL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, - mSMC, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLAT, mILL, mILL, mILL, + mSMC, mILL, mILL, mILL, mALEM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLAT, mILL, mILL, mILL, /* 0x240 */ - mLASPX, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mTC, - mLASPY, mILL, mILL, mILL, mDY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mLASPX, mILL, mILL, mILL, mNEGA, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mTC, + mLASPY, mILL, mILL, mILL, mDY, mILL, mILL, mILL, mSYY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLAB, mILL, mILL, mILL, mILL, mILL, mILL, mDB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, /* 0x280 */ @@ -159,7 +159,7 @@ static const UINT8 hmcs40_mnemonic[0x400] = /* 0x300 */ mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, - mCOMB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, + mCOMB, mILL, mILL, mILL, mBNEM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, /* 0x340 */ mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, mLPU, diff --git a/src/mess/drivers/hh_hmcs40.c b/src/mess/drivers/hh_hmcs40.c index 1c554cf4419..37243f834b0 100644 --- a/src/mess/drivers/hh_hmcs40.c +++ b/src/mess/drivers/hh_hmcs40.c @@ -611,19 +611,19 @@ READ8_MEMBER(hh_hmcs40_state::egalaxn2_input_r) static INPUT_PORTS_START( egalaxn2 ) PORT_START("IN.0") // D1 port R0x PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // separate directional buttons, hence 16way + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // separate directional buttons, hence 16way PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY // " + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // " PORT_START("IN.1") // D2 port R0x - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_16WAY // separate directional buttons, hence 16way - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_16WAY // " - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_16WAY // " - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_16WAY // " + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY // " + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY // " + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY // " PORT_START("IN.2") // D3 port R0x PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) @@ -688,13 +688,13 @@ static INPUT_PORTS_START( epacman2 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY // " PORT_START("IN.1") // D2 port R0x - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_16WAY // separate directional buttons, hence 16way - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_16WAY // " - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_16WAY // " - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_16WAY // " + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY // separate directional buttons, hence 16way + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY // " + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY // " + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY // " PORT_START("IN.2") // D3 port R0x - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_NAME("Skill Control") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("P1 Skill Control") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Demo Light Test") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) @@ -702,12 +702,12 @@ static INPUT_PORTS_START( epacman2 ) PORT_START("IN.3") // D4 port R0x PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONFNAME( 0x02, 0x02, "Skill" ) - PORT_CONFSETTING( 0x02, "1" ) - PORT_CONFSETTING( 0x00, "2" ) - PORT_CONFNAME( 0x0c, 0x00, "Players" ) - PORT_CONFSETTING( 0x08, "0 (Demo)" ) PORT_CONFSETTING( 0x00, "1" ) - PORT_CONFSETTING( 0x04, "2" ) + PORT_CONFSETTING( 0x02, "2" ) + PORT_CONFNAME( 0x0c, 0x04, "Players" ) + PORT_CONFSETTING( 0x08, "0 (Demo)" ) + PORT_CONFSETTING( 0x04, "1" ) + PORT_CONFSETTING( 0x00, "2" ) INPUT_PORTS_END