diff options
-rw-r--r-- | scripts/src/osd/modules.lua | 9 | ||||
-rw-r--r-- | src/devices/cpu/dspp/dspp.cpp | 55 | ||||
-rw-r--r-- | src/devices/cpu/dspp/dsppdasm.cpp | 4 | ||||
-rw-r--r-- | src/emu/audio_effects/eq.cpp | 3 | ||||
-rw-r--r-- | src/emu/audio_effects/filter.cpp | 3 | ||||
-rw-r--r-- | src/mame/bmc/koftball.cpp | 48 | ||||
-rw-r--r-- | src/mame/misc/gms.cpp | 170 | ||||
-rw-r--r-- | src/mame/moog/nl_source.h | 12 | ||||
-rw-r--r-- | src/mame/moog/source.cpp | 6 | ||||
-rw-r--r-- | src/mame/namco/namcos12.cpp | 36 | ||||
-rw-r--r-- | src/mame/sega/dccons.cpp | 4 | ||||
-rw-r--r-- | src/mame/taito/taitojc.cpp | 2 |
12 files changed, 170 insertions, 182 deletions
diff --git a/scripts/src/osd/modules.lua b/scripts/src/osd/modules.lua index b532124302f..5b19ed4fc44 100644 --- a/scripts/src/osd/modules.lua +++ b/scripts/src/osd/modules.lua @@ -305,9 +305,11 @@ function osdmodulesbuild() } end - err = os.execute(pkgconfigcmd() .. " --exists libpipewire-0.3") - if not err then - _OPTIONS["NO_USE_PIPEWIRE"] = "1" + if _OPTIONS["NO_USE_PIPEWIRE"]=="0" then + err = os.execute(pkgconfigcmd() .. " --exists libpipewire-0.3") + if not err then + _OPTIONS["NO_USE_PIPEWIRE"] = "1" + end end if _OPTIONS["NO_USE_PIPEWIRE"]=="1" then @@ -320,7 +322,6 @@ function osdmodulesbuild() } end - if _OPTIONS["NO_USE_MIDI"]=="1" then defines { "NO_USE_MIDI", diff --git a/src/devices/cpu/dspp/dspp.cpp b/src/devices/cpu/dspp/dspp.cpp index 0a82905bec1..7016d3eca74 100644 --- a/src/devices/cpu/dspp/dspp.cpp +++ b/src/devices/cpu/dspp/dspp.cpp @@ -157,11 +157,11 @@ void dspp_device::device_start() // Register our state for the debugger state_add(DSPP_PC, "PC", m_core->m_pc); - state_add(DSPP_ACC, "ACC", m_core->m_acc); + state_add(DSPP_ACC, "ACC", m_core->m_acc).mask(0xfffff); state_add(STATE_GENPC, "GENPC", m_core->m_pc).noshow(); + state_add(STATE_GENPCBASE, "GENPCBASE", m_core->m_pc).noshow(); #if 0 state_add(STATE_GENFLAGS, "GENFLAGS", m_core->m_flags).callimport().callexport().formatstr("%6s").noshow(); - state_add(STATE_GENPCBASE, "GENPCBASE", m_ppc).noshow(); state_add(DSPP_PS, "PS", m_core->m_flagsio).callimport().callexport(); for (int regnum = 0; regnum < 32; regnum++) @@ -441,18 +441,15 @@ void dspp_device::parse_operands(uint32_t numops) // Immediate value if ((operand & 0xc000) == 0xc000) { - val = operand & 0x1fff; - if (operand & 0x2000) { // Left justify - val = val << 3; + val = (operand & 0x1fff) << 3; } else { // Sign extend if right justified - if (val & 0x1000) - val |= 0xe000; + val = util::sext(operand, 13); } m_core->m_operands[opidx++].value = val; } @@ -949,38 +946,6 @@ inline void dspp_device::exec_control() } } -//------------------------------------------------- -// sign_extend8 - Sign extend 8-bits to 32-bits -//------------------------------------------------- - -static inline int32_t sign_extend8(uint8_t val) -{ - return (int32_t)(int8_t)val; -} - - -//------------------------------------------------- -// sign_extend16 - Sign extend 16-bits to 32-bits -//------------------------------------------------- - -static inline int32_t sign_extend16(uint16_t val) -{ - return (int32_t)(int16_t)val; -} - - -//------------------------------------------------- -// sign_extend20 - Sign extend 20-bits to 32-bits -//------------------------------------------------- - -static inline int32_t sign_extend20(uint32_t val) -{ - if (val & 0x00080000) - return (int32_t)(0xfff00000 | val); - else - return (int32_t)val; -} - //------------------------------------------------- // exec_arithmetic - Execute an arithmetic op @@ -1013,8 +978,8 @@ inline void dspp_device::exec_arithmetic() { uint32_t mul_sel = (m_core->m_op >> 12) & 1; - int32_t op1 = sign_extend16(read_next_operand()); - int32_t op2 = sign_extend16(mul_sel ? read_next_operand() : m_core->m_acc >> 4); + int32_t op1 = int16_t(read_next_operand()); + int32_t op2 = int16_t(mul_sel ? read_next_operand() : m_core->m_acc >> 4); mul_res = (op1 * op2) >> 11; } @@ -1202,7 +1167,7 @@ inline void dspp_device::exec_arithmetic() if (alu_op < 8) { // Arithmetic - m_core->m_acc = sign_extend20(alu_res) >> shift; + m_core->m_acc = util::sext(alu_res, 20) >> shift; } else { @@ -1222,11 +1187,11 @@ inline void dspp_device::exec_arithmetic() if (m_core->m_flag_over) m_core->m_acc = m_core->m_flag_neg ? 0x7ffff : 0xfff80000; else - m_core->m_acc = sign_extend20(alu_res); + m_core->m_acc = util::sext(alu_res, 20); } else { - m_core->m_acc = sign_extend20(alu_res) << shift; + m_core->m_acc = util::sext(alu_res, 20) << shift; } } @@ -1458,7 +1423,7 @@ void dspp_device::process_next_dma(int32_t channel) int16_t dspp_device::decode_sqxd(int8_t data, int16_t prev) { - int16_t temp = sign_extend8(data & 0xfe); + int16_t temp = int8_t(data & 0xfe); int32_t expanded = (temp * iabs(temp)) << 1; int16_t output; diff --git a/src/devices/cpu/dspp/dsppdasm.cpp b/src/devices/cpu/dspp/dsppdasm.cpp index 6b43df5d452..995e0c79f7b 100644 --- a/src/devices/cpu/dspp/dsppdasm.cpp +++ b/src/devices/cpu/dspp/dsppdasm.cpp @@ -18,7 +18,7 @@ uint32_t dspp_disassembler::opcode_alignment() const { - return 2; + return 1; } offs_t dspp_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) @@ -120,5 +120,5 @@ offs_t dspp_disassembler::disassemble(std::ostream &stream, offs_t pc, const dat sprintf(buffer, "????"); #endif - return 4 | 2 | SUPPORTED; + return 1 | SUPPORTED; } diff --git a/src/emu/audio_effects/eq.cpp b/src/emu/audio_effects/eq.cpp index 799b2f8c9b5..c2db2680e5b 100644 --- a/src/emu/audio_effects/eq.cpp +++ b/src/emu/audio_effects/eq.cpp @@ -120,6 +120,9 @@ void audio_effect_eq::config_load(util::xml::data_node const *ef_node) } else reset_db(band); } + + for(u32 i = 0; i != BANDS; i++) + build_filter(i); } void audio_effect_eq::config_save(util::xml::data_node *ef_node) const diff --git a/src/emu/audio_effects/filter.cpp b/src/emu/audio_effects/filter.cpp index 70cf7ddc967..947f4b7af58 100644 --- a/src/emu/audio_effects/filter.cpp +++ b/src/emu/audio_effects/filter.cpp @@ -113,6 +113,9 @@ void audio_effect_filter::config_load(util::xml::data_node const *ef_node) m_isset_qh = true; } else reset_qh(); + + build_highpass(); + build_lowpass(); } void audio_effect_filter::config_save(util::xml::data_node *ef_node) const diff --git a/src/mame/bmc/koftball.cpp b/src/mame/bmc/koftball.cpp index 015cf7db235..b840a2471ee 100644 --- a/src/mame/bmc/koftball.cpp +++ b/src/mame/bmc/koftball.cpp @@ -224,9 +224,8 @@ void koftball_state::video_start() m_tilemap[3] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(koftball_state::get_tile_info<3>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_tilemap[0]->set_transparent_pen(0); - m_tilemap[2]->set_transparent_pen(0); - m_tilemap[1]->set_transparent_pen(0); + m_tilemap[2]->set_transparent_pen(0); m_tilemap[3]->set_transparent_pen(0); m_pixbitmap.allocate(512, 256); @@ -239,15 +238,15 @@ void koftball_state::draw_pixlayer(bitmap_ind16 &bitmap, const rectangle &clipre for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { - const u16 pitch = y * 0x80; - for (int x = cliprect.min_x; x <= cliprect.max_x >> 2; x++) + const u16 pitch = y << 7; + for (int x = cliprect.min_x >> 2; x <= cliprect.max_x >> 2; x++) { const u16 tile_data = m_pixram[(pitch + x) & 0xffff]; for (int xi = 0; xi < 4; xi++) { - const u8 nibble = (tile_data >> ((3 - xi) * 4)) & 0xf; + const u8 nibble = (tile_data >> ((3 - xi) << 2)) & 0xf; if (nibble) - bitmap.pix(y, (x << 2) + xi) = pix_bank | nibble; + bitmap.pix(y, (x << 2) | xi) = pix_bank | nibble; } } } @@ -261,18 +260,18 @@ u32 koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c Bit 1 and 5 of 0x320000 are the only ones that give correct layer results (see table below). What is the meaning of the others? More games running on this hw would help. - The following table describes the attract mode sequence for jxzh. koftball is relatively simpler as it almost - only uses the first 2 layers (only noted use of the 3rd layer is for the bookkeeping screen). + The following table describes the attract mode sequence for jxzh. koftball is relatively simpler as + it mostly uses the first 2 layers (only noted use of the 3rd layer is for the bookkeeping screen). layer0 layer 1 layer 2 layer 3 0x2a000f 0x320000 title screen over under off off 0x13 0x98 girl with scrolling tiles prev screen prev screen over under 0x1b 0xba 0x00 0x00 - demon over under prev screen prev screen 0x1f 0x98 + odds over under prev screen prev screen 0x1f 0x98 0x00 0x00 - slot with road signs prev screen prev screen over under 0x17 0xba + roulette with road signs prev screen prev screen over under 0x17 0xba Chinese lanterns prev screen prev screen over under 0x17 0xba - slot with numbers prev screen prev screen over under 0x17 0xba + slots with numbers prev screen prev screen over under 0x17 0xba 0x00 0x00 pirates over under prev screen prev screen 0x17 0x98 0x00 0x00 @@ -282,35 +281,40 @@ u32 koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c During game: last chance over under on top prev screen 0x17 0x9a + double up over under prev screen prev screen 0x1f 0x98 bookkeeping prev screen prev screen prev screen prev screen 0x14 0x98 (pixmap on top) */ - m_pixbitmap.fill(m_backpen, cliprect); - draw_pixlayer(m_pixbitmap, cliprect); + const bool tmap2_enable = BIT(m_gfx_ctrl, 1); + const bool tmap3_enable = BIT(m_gfx_ctrl, 5); + const bool bitmap_enable = BIT(m_gfx_ctrl, 7); + + if (bitmap_enable) + { + m_pixbitmap.fill(m_backpen, cliprect); + draw_pixlayer(m_pixbitmap, cliprect); + } bitmap.fill(m_backpen, cliprect); - // TODO: this drawing routine seems too special-cased. Correct it when more evidence becomes available - if (BIT(m_gfx_ctrl, 7) && BIT(m_priority, 3)) + if (bitmap_enable && BIT(m_priority, 3)) copyscrollbitmap_trans(bitmap, m_pixbitmap, 0, 0, 0, 0, cliprect, 0); - if (BIT(m_gfx_ctrl, 5) && BIT(m_gfx_ctrl, 1)) + if (tmap3_enable) { m_tilemap[3]->draw(screen, bitmap, cliprect, 0, 0); - m_tilemap[2]->draw(screen, bitmap, cliprect, 0, 0); } - if (!BIT(m_gfx_ctrl, 5)) + else { m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); } - if (!BIT(m_gfx_ctrl, 5) && BIT(m_gfx_ctrl, 1)) - { + + if (tmap2_enable) m_tilemap[2]->draw(screen, bitmap, cliprect, 0, 0); - } - if (BIT(m_gfx_ctrl, 7) && !BIT(m_priority, 3)) + if (bitmap_enable && !BIT(m_priority, 3)) copyscrollbitmap_trans(bitmap, m_pixbitmap, 0, 0, 0, 0, cliprect, 0); return 0; diff --git a/src/mame/misc/gms.cpp b/src/mame/misc/gms.cpp index 1ec7172a253..5a9616af42a 100644 --- a/src/mame/misc/gms.cpp +++ b/src/mame/misc/gms.cpp @@ -64,13 +64,12 @@ Notes: B1/M1 - 26C1000 / 27C1001 (PRG/data for 89C51?) S1 - 27C2000 / 232000 mask ROM (OKI samples) -Hold service credit (9) and reset (F3) to enter service mode. +Hold test (F2) and reset (F3) to enter service mode. TODO: - work out how flip flop input is read in mahjong games in mahjong keyboard mode -- work out how payout/key-out input is read in mahjong games in mahjong keyboard mode -- work out how payout/key-out input is read in mahjong games in joystick mode +- work out how payout input is read in mahjong games in mahjong keyboard mode - correct EEPROM hookup for all games (this would get rid of a lot of ROM patches) - hookup MCU and YM2151 / YM3812 sound for the mahjong games - hookup PIC16F84 for rbspm @@ -83,6 +82,7 @@ TODO: permitted when it should be, other issues) - game logic in baile seems broken (you always win), maybe due to the patches? - broken title GFX in yyhm (transparent pen problem?) +- older games don't show key-out/payout in input test - game bug or emulation bug? - the newer games seem to use range 0x9e1000-0x9e1fff during gameplay Video references: @@ -314,13 +314,11 @@ void gms_2layers_state::input_matrix_w(uint16_t data) void gms_2layers_state::eeprom_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - // bad ? if (ACCESSING_BITS_0_7) { - m_eeprom->di_write((data & 0x04) >> 2); - m_eeprom->cs_write((data & 0x01) ? ASSERT_LINE : CLEAR_LINE); - - m_eeprom->clk_write((data & 0x02) ? ASSERT_LINE : CLEAR_LINE); + m_eeprom->cs_write(BIT(data, 0)); + m_eeprom->clk_write(BIT(data, 1)); + m_eeprom->di_write(BIT(data, 2)); } } @@ -479,30 +477,28 @@ void gms_2layers_state::mcu_io(address_map &map) } -#define GMS_MAHJONG_COMMON(dsw_port, dsw_bit, dsw_on) \ +#define GMS_MAHJONG_KEYBOARD(dsw_port, dsw_bit, dsw_on) \ PORT_START("IN1") \ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW) \ PORT_BIT( 0x00fc, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ - PORT_BIT( 0x0c00, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) /* something to do with payout and maybe flip flop, possibly scanned in matrix */ \ PORT_BIT( 0xf000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) PORT_CUSTOM_MEMBER(FUNC(gms_3layers_state::keyboard_r<0>)) \ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ PORT_START("IN2") \ PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) PORT_CUSTOM_MEMBER(FUNC(gms_3layers_state::keyboard_r<4>)) \ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ + PORT_BIT( 0x0ff8, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x00f8, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0600, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ PORT_START("KEY0") \ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ @@ -544,6 +540,18 @@ void gms_2layers_state::mcu_io(address_map &map) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_CONDITION(dsw_port, dsw_bit, EQUALS, dsw_on) \ PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) +#define GMS_MAHJONG_COMMON(dsw_port, dsw_bit, dsw_on) \ + GMS_MAHJONG_KEYBOARD(dsw_port, dsw_bit, dsw_on) \ + PORT_MODIFY("IN1") \ + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) \ + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CONDITION(dsw_port, dsw_bit, NOTEQUALS, dsw_on) + #define GMS_MAHJONG_COINAGE(tag, loc) \ PORT_DIPNAME( 0x0007, 0x0000, DEF_STR(Coinage) ) PORT_DIPLOCATION(loc ":1,2,3") /* 投幣比例 */ \ PORT_DIPSETTING( 0x0000, DEF_STR(1C_1C) ) \ @@ -601,22 +609,13 @@ static INPUT_PORTS_START( rbmk ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) PORT_MODIFY("IN2") // 16bit - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) // Only 4 DIP banks are actually populated on PCBs (2 empty spaces), but test mode reads all 6. - // Dips based on manuals for both rbmk and rbspm + // DIPs based on manuals for both rbmk and rbspm PORT_START("DSW1") // 16bit, in test mode first 8 are recognized as dsw1, second 8 as dsw4. PORT_DIPNAME( 0x0007, 0x0000, "Pay Out Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") PORT_DIPSETTING( 0x0000, "70%" ) @@ -764,23 +763,14 @@ static INPUT_PORTS_START( ssanguoj ) GMS_MAHJONG_COMMON("DSW1", 0x0080, 0x0000) PORT_MODIFY("IN1") // 16bit - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) - PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) - PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) - PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, NOTEQUALS, 0x0000) PORT_MODIFY("IN2") // 16bit - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -1386,41 +1376,58 @@ static INPUT_PORTS_START( jinpaish ) INPUT_PORTS_END static INPUT_PORTS_START( baile ) - PORT_INCLUDE( sc2in1 ) + // Mahjong keyboard controls: + // I Bet on Player / Big Confirm in test mode + // K Bet on Tie + // M Bet on Banker / Small Select in test mode + // N Start / Deal / Take Score Exit in test mode + // Kan Bet Multiplier + // Chi Double Up + // Reach Cancel Bet + // Ron Peek at Card + // Take Score Bet on Player / Big Confirm in test mode + // Double Up Double Up + // Big Bet on Banker / Small Select in test mode + GMS_MAHJONG_KEYBOARD("DSW1", 0x80, 0x80) - PORT_MODIFY("IN1") // TODO: likely incomplete - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_SERVICE_NO_TOGGLE(0x02, IP_ACTIVE_LOW) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Tie Bet" ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Player Bet" ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Banker Bet" ) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Bet Modifier" ) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME( "Flip Card / Show Odds" ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_MODIFY("IN1") + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Draw / Take Score" ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Bet on Tie") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet on Player / Big") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Bet on Banker / Small") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Bet Multiplier") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Peek at Card / Show Odds") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel Bets") PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x80, NOTEQUALS, 0x80) + + PORT_MODIFY("IN2") PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + //PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) // TODO: verify - // Only 1 8-DIP bank on PCB. Most options appear to be software settings. - PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Test ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0001, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( On ) ) - PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0004, "SW1:3") - PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0008, "SW1:4") - PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0010, "SW1:5") - PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW1:6") - PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW1:7") - PORT_DIPNAME( 0x0080, 0x0000, "Connector" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x0000, "Joystick" ) + // Only 1 8-DIP bank on PCB. Most options appear to be soft settings. + PORT_START("DSW1") + PORT_DIPNAME( 0x0001, 0x0000, DEF_STR(Service_Mode) ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x0000, DEF_STR(Off) ) + PORT_DIPSETTING( 0x0001, DEF_STR(On) ) + PORT_DIPNAME( 0x0002, 0x0002, DEF_STR(Demo_Sounds) ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x0000, DEF_STR(Off) ) + PORT_DIPSETTING( 0x0002, DEF_STR(On) ) + PORT_DIPUNKNOWN_DIPLOC( 0x0004, 0x0000, "SW1:3") + PORT_DIPUNKNOWN_DIPLOC( 0x0008, 0x0000, "SW1:4") + PORT_DIPUNKNOWN_DIPLOC( 0x0010, 0x0000, "SW1:5") + PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0000, "SW1:6") + PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0000, "SW1:7") + PORT_DIPNAME( 0x0080, 0x0000, "Connector" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPSETTING( 0x0000, DEF_STR(Joystick) ) PORT_DIPSETTING( 0x0080, "Mahjong" ) INPUT_PORTS_END @@ -1432,7 +1439,11 @@ static INPUT_PORTS_START( yyhm ) PORT_BIT( 0xf800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x0080, EQUALS, 0x0000) PORT_MODIFY("IN2") - PORT_BIT( 0xfff8, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_DIPUNKNOWN_DIPLOC( 0x1000, 0x1000, "P:10" ) + PORT_DIPUNKNOWN_DIPLOC( 0x2000, 0x2000, "P:11" ) + PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "P:12" ) + PORT_DIPUNKNOWN_DIPLOC( 0x8000, 0x8000, "P:13" ) + //PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNKNOWN ) //PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", FUNC(eeprom_serial_93cxx_device::do_read)) // TODO: verify // Only 1 8-DIP bank on PCB. DIPs' effects as per test mode. @@ -1801,15 +1812,6 @@ static INPUT_PORTS_START( cjdlz ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x0080, EQUALS, 0x0080) PORT_MODIFY("IN2") // 16bit - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN ) @@ -2821,8 +2823,8 @@ ROM_START( cjdlz ) ROM_END - // the following inits patch out protection (?) checks to allow for testing - // unfortunately the various U errors shown don't always correspond to correct PCB locations +// the following inits patch out protection (?) checks to allow for testing +// unfortunately the various U errors shown don't always correspond to correct PCB locations void gms_2layers_state::init_rbspm() { diff --git a/src/mame/moog/nl_source.h b/src/mame/moog/nl_source.h new file mode 100644 index 00000000000..b0421a657c4 --- /dev/null +++ b/src/mame/moog/nl_source.h @@ -0,0 +1,12 @@ +// license:BSD-3-Clause +// copyright-holders:m1macrophage +#ifndef MAME_MOOG_NL_SOURCE_H +#define MAME_MOOG_NL_SOURCE_H + +#pragma once + +#include "netlist/nl_setup.h" + +NETLIST_EXTERNAL(moogsource) + +#endif // MAME_MOOG_NL_SOURCE_H diff --git a/src/mame/moog/source.cpp b/src/mame/moog/source.cpp index 939c39c1dc3..2d48cfbff05 100644 --- a/src/mame/moog/source.cpp +++ b/src/mame/moog/source.cpp @@ -35,6 +35,8 @@ interactive layout, and is intended as an educational tool. #include "emu.h" +#include "nl_source.h" + #include "cpu/z80/z80.h" #include "machine/netlist.h" #include "machine/nvram.h" @@ -42,8 +44,6 @@ interactive layout, and is intended as an educational tool. #include "machine/timer.h" #include "sound/va_eg.h" -#include "netlist/nl_setup.h" - #include "moog_source.lh" #define LOG_CV (1U << 1) @@ -60,8 +60,6 @@ interactive layout, and is intended as an educational tool. #include "logmacro.h" -NETLIST_EXTERNAL(moogsource) // In nl_source.cpp. - namespace { constexpr const char MAINCPU_TAG[] = "z80"; diff --git a/src/mame/namco/namcos12.cpp b/src/mame/namco/namcos12.cpp index 203cee1f160..b9c73152a91 100644 --- a/src/mame/namco/namcos12.cpp +++ b/src/mame/namco/namcos12.cpp @@ -60,15 +60,15 @@ Super World Stadium 2000 (SS01/VER.A3) (C) Namco, 2000 COH-700 SYS Super World Stadium 2001 (SS11/VER.A2) (C) Namco, 2001 COH-716 SYSTEM12 MOTHER(C) SYSTEM12 F2M5 KC061 Tenkomori Shooting (TKM1/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036 Tenkomori Shooting (TKM2/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036 -Tekken 3 (TET1/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 -Tekken 3 (TET2/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 -Tekken 3 (TET3/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 -Tekken 3 (TET3/VER.B) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 -Tekken 3 (TET2/VER.C) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 -Tekken 3 (TET2/VER.D) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 -Tekken 3 (TET3/VER.D) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 -Tekken 3 (TET1/VER.E1) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 -Tekken 3 (TET2/VER.E1) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET1/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.B) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.C) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.D) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.D) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET1/VER.E1) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.E1) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 Tekken Tag Tournament (TEG3/VER.C1) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044 Tekken Tag Tournament (TEG3/VER.B) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044 Toukon Retsuden 3 (TR1/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC019 @@ -3588,15 +3588,15 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME, FLAGS -GAME( 1996, tekken3, 0, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.E1)", 0 ) /* KC006 */ -GAME( 1996, tekken3a, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.A)", 0 ) /* KC006 */ -GAME( 1996, tekken3b, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.B)", 0 ) /* KC006 */ -GAME( 1996, tekken3c, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.C)", 0 ) /* KC006 */ -GAME( 1996, tekken3d, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.D)", 0 ) /* KC006 */ -GAME( 1996, tekken3ua, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (US, TET3/VER.A)", 0 ) /* KC006 */ -GAME( 1996, tekken3ud, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (US, TET3/VER.D)", 0 ) /* KC006 */ -GAME( 1996, tekken3ja, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.A)", 0 ) /* KC006 */ -GAME( 1996, tekken3je1, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.E1)", 0 ) /* KC006 */ +GAME( 1997, tekken3, 0, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.E1)", 0 ) /* KC006 */ +GAME( 1997, tekken3a, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.A)", 0 ) /* KC006 */ +GAME( 1997, tekken3b, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.B)", 0 ) /* KC006 */ +GAME( 1997, tekken3c, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.C)", 0 ) /* KC006 */ +GAME( 1997, tekken3d, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (World, TET2/VER.D)", 0 ) /* KC006 */ +GAME( 1997, tekken3ua, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (US, TET3/VER.A)", 0 ) /* KC006 */ +GAME( 1997, tekken3ud, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (US, TET3/VER.D)", 0 ) /* KC006 */ +GAME( 1997, tekken3ja, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.A)", 0 ) /* KC006 */ +GAME( 1997, tekken3je1, tekken3, coh700, tekken3, namcos12_state, empty_init, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.E1)", 0 ) /* KC006 */ GAME( 1997, lbgrande, 0, coh700, lbgrande, namcos12_state, empty_init, ROT0, "Namco", "Libero Grande (World, LG2/VER.A)", 0 ) /* KC014 */ GAME( 1997, toukon3, 0, coh700, lbgrande, namcos12_state, empty_init, ROT0, "Namco / Tomy", "Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (Japan, TR1/VER.A)", MACHINE_IMPERFECT_GRAPHICS ) /* KC019 */ GAME( 1998, soulclbr, 0, coh700, namcos12, namcos12_state, empty_init, ROT0, "Namco", "Soul Calibur (World, SOC12/VER.A2)", 0 ) /* KC020 */ diff --git a/src/mame/sega/dccons.cpp b/src/mame/sega/dccons.cpp index bb6e47db32b..43fead5f79a 100644 --- a/src/mame/sega/dccons.cpp +++ b/src/mame/sega/dccons.cpp @@ -370,8 +370,8 @@ void dc_cons_state::gdrom_config(device_t *device) { cdda_device *cdda = device->subdevice<cdda_device>("cdda"); cdda->audio_end_cb().set(*device, FUNC(gdrom_device::cdda_end_mark_cb)); - cdda->add_route(0, "^^aica", 1.0); - cdda->add_route(1, "^^aica", 1.0); + cdda->add_route(0, "^^aica", 1.0, 0); + cdda->add_route(1, "^^aica", 1.0, 1); } void dc_cons_state::dc_base(machine_config &config) diff --git a/src/mame/taito/taitojc.cpp b/src/mame/taito/taitojc.cpp index dad6ca5f292..17ae0c84975 100644 --- a/src/mame/taito/taitojc.cpp +++ b/src/mame/taito/taitojc.cpp @@ -2235,7 +2235,7 @@ GAMEL(1996, dendegoa, dendego, dendego, dendego, dendego_state, init_taitojc, GAMEL(1996, dendegox, dendego, dendego, dendego, dendego_state, init_taitojc, ROT0, "Taito", "Densha de GO! EX (Ver 2.4 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING, layout_dendego ) // DENSYA DE GO VER 2.4 J 1997/ 4/18 13:38:34 GAME( 1997, sidebs2, 0, taitojc, sidebs, taitojc_state, init_taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.6 OK)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING | MACHINE_NODEVICE_LAN ) // SIDE BY SIDE2 VER 2.6 OK 1997/ 6/ 4 17:27:37 GAME( 1997, sidebs2u, sidebs2, taitojc, sidebs, taitojc_state, init_taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.6 A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING | MACHINE_NODEVICE_LAN ) // SIDE BY SIDE2 VER 2.6 A 1997/ 6/19 09:39:22 -GAME( 1997, sidebs2j, sidebs2, taitojc, sidebs, taitojc_state, init_taitojc, ROT0, "Taito", "Side by Side 2 Evoluzione RR (Ver 3.1 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING | MACHINE_NODEVICE_LAN ) // SIDE BY SIDE2 VER 3.1 J 1997/10/ 7 13:55:38 +GAME( 1997, sidebs2j, sidebs2, taitojc, sidebs, taitojc_state, init_taitojc, ROT0, "Taito", "Side by Side 2 Evoluzione RR (Ver 3.1 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING | MACHINE_NODEVICE_LAN ) // SIDE BY SIDE2 RR VER 3.1 J 1997/10/ 7 13:55:38 GAME( 1997, sidebs2ja, sidebs2, taitojc, sidebs, taitojc_state, init_taitojc, ROT0, "Taito", "Side by Side 2 Evoluzione (Ver 2.4 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING | MACHINE_NODEVICE_LAN ) // SIDE BY SIDE2 VER 2.4 J 1997/ 5/26 13:06:37 GAMEL(1998, dendego2, 0, dendego, dendego, dendego_state, init_dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen (Ver 2.5 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING, layout_dendego ) // DENSYA DE GO2 VER 2.5 J 1998/ 3/ 2 15:30:55 GAMEL(1998, dendego23k,dendego2, dendego, dendego, dendego_state, init_dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen 3000-bandai (Ver 2.20 J)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_TIMING, layout_dendego ) // DENSYA DE GO! 2 3000 VER 2.20 J 1998/ 7/15 17:42:38 |