diff options
Diffstat (limited to 'src/mame/drivers/taito_l.cpp')
-rw-r--r-- | src/mame/drivers/taito_l.cpp | 2420 |
1 files changed, 0 insertions, 2420 deletions
diff --git a/src/mame/drivers/taito_l.cpp b/src/mame/drivers/taito_l.cpp deleted file mode 100644 index 4adcc20ea02..00000000000 --- a/src/mame/drivers/taito_l.cpp +++ /dev/null @@ -1,2420 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Olivier Galibert -/* - Taito L-System - - Monoprocessor games (1 main TC0090LVC (z80 core), no sound z80) - - Plotting - - Puzznic - - Palamedes - - Cachat / Tube-It - - American Horseshoes - - Play Girls - - Play Girls 2 - - LA Girl - - Cuby Bop - - Dual processor games (1 main TC0090LVC (z80 core), 1 sound z80) - - Kuri Kinton - - Evil Stone - - Triple processor games (1 main TC0090LVC (z80 core), 1 slave z80, 1 sound z80) - - Fighting hawk - - Raimais - - Champion Wrestler - -Notes: -- the system uses RAM based characters, which aren't really supported by the - TileMap system, so we have to tilemap_mark_all_tiles_dirty() to compensate -- kurikinta has some debug dip switches (invulnerability, slow motion) so might - be a prototype. It also doesn't have service mode (or has it disabled). -- Of the several multi-processor games that use the MB8421 dual-port RAM for - communications, Evil Stone seems to be the only one to use its special - interrupt feature. - -TODO: -- plgirls doesn't work without a kludge because of an interrupt issue. This - happens because the program enables interrupts before setting IM2, so the - interrupt vector is interpreted as IM0, which is obviously bogus. -- A bunch of control registers are simply ignored -- The source of irqs 0 and 1 is unknown, while 2 is vblank (0 is - usually ignored by the program, 1 leads to reading the - ports... maybe vbl-in, vbl-out and hblank ?). -- Text Plane colours are only right in Cuby Bop once you've started a game - & reset -- Scrolling in Cuby Bop's Game seems incorrect. - -puzznici note -- this set is a bootleg, it uses a converted board without the MCU and has - a hacked copyright message. The tilemap data for one of the girls appears - to be corrupt, however this is correct, the bootleggers overwrote part of - the data with the expected response sequence from the MCU in order to simulate - it. - -*/ - -#include "emu.h" -#include "includes/taito_l.h" -#include "includes/taitoipt.h" -#include "machine/taito68705interface.h" -#include "machine/taitoio.h" - -#include "audio/taitosnd.h" - -#include "cpu/z80/z80.h" - -#include "machine/i8255.h" -#include "machine/mb8421.h" - -#include "sound/2203intf.h" -#include "sound/2610intf.h" -#include "sound/msm5205.h" - -#include "screen.h" -#include "speaker.h" - - -void taitol_state::state_register() -{ - m_main_bnk->configure_entries(0, m_main_prg->bytes()/0x2000, m_main_prg->base(), 0x2000); - - save_item(NAME(m_irq_adr_table)); - save_item(NAME(m_irq_enable)); - save_item(NAME(m_cur_rambank)); - save_item(NAME(m_cur_rombank)); - - save_item(NAME(m_last_irq_level)); - save_item(NAME(m_high)); - - save_item(NAME(m_bankc)); - save_item(NAME(m_horshoes_gfxbank)); - save_item(NAME(m_cur_ctrl)); - save_item(NAME(m_flipscreen)); -} - -void taitol_2cpu_state::state_register() -{ - if (m_audio_bnk.found()) - m_audio_bnk->configure_entries(0, m_audio_prg->bytes()/0x4000, m_audio_prg->base(), 0x4000); - - taitol_state::state_register(); -} - -void fhawk_state::state_register() -{ - m_slave_bnk->configure_entries(0, m_slave_prg->bytes()/0x4000, m_slave_prg->base(), 0x4000); - taitol_2cpu_state::state_register(); - - save_item(NAME(m_cur_rombank2)); - save_item(NAME(m_high2)); -} - -void champwr_state::state_register() -{ - fhawk_state::state_register(); - - save_item(NAME(m_adpcm_pos)); - save_item(NAME(m_adpcm_data)); -} - -void taitol_1cpu_state::state_register() -{ - taitol_state::state_register(); -} - - -MACHINE_START_MEMBER(taitol_state, taito_l) -{ - state_register(); -} - -void taitol_state::taito_machine_reset() -{ - for (int i = 0; i < 3; i++) - m_irq_adr_table[i] = 0; - - m_irq_enable = 0; - - for (int i = 0; i < 4; i++) - { - m_cur_rambank[i] = 0x80; - m_ram_bnks[i]->set_bank(m_cur_rambank[i]); - } - - m_cur_rombank = 0; - m_main_bnk->set_entry(0); - - m_last_irq_level = 0; - m_high = 0; - - /* video related */ - m_bankc[0] = m_bankc[1] = m_bankc[2] = m_bankc[3] = 0; - m_horshoes_gfxbank = 0; - m_cur_ctrl = 0; - m_flipscreen = 0; -} - -void taitol_2cpu_state::taito_machine_reset() -{ - taitol_state::taito_machine_reset(); -} - -void fhawk_state::taito_machine_reset() -{ - taitol_2cpu_state::taito_machine_reset(); - - m_cur_rombank2 = 0; - m_slave_bnk->set_entry(m_cur_rombank2); - - m_high2 = 0; - m_audio_bnk->set_entry(1); -} - -void champwr_state::taito_machine_reset() -{ - fhawk_state::taito_machine_reset(); - - m_adpcm_pos = 0; - m_adpcm_data = -1; -} - -void taitol_1cpu_state::taito_machine_reset() -{ - taitol_state::taito_machine_reset(); -} - - -MACHINE_RESET_MEMBER(taitol_state, taito_l) -{ - taito_machine_reset(); -} - - -IRQ_CALLBACK_MEMBER(taitol_state::irq_callback) -{ - m_main_cpu->set_input_line(0, CLEAR_LINE); - return m_irq_adr_table[m_last_irq_level]; -} - -TIMER_DEVICE_CALLBACK_MEMBER(taitol_state::vbl_interrupt) -{ - int scanline = param; - - /* kludge to make plgirls boot */ - if (m_main_cpu->state_int(Z80_IM) != 2) - return; - - // What is really generating interrupts 0 and 1 is still to be found - - if (scanline == 120 && (m_irq_enable & 1)) - { - m_last_irq_level = 0; - m_main_cpu->set_input_line(0, ASSERT_LINE); - } - else if (scanline == 0 && (m_irq_enable & 2)) - { - m_last_irq_level = 1; - m_main_cpu->set_input_line(0, ASSERT_LINE); - } - else if (scanline == 240 && (m_irq_enable & 4)) - { - m_last_irq_level = 2; - m_main_cpu->set_input_line(0, ASSERT_LINE); - } -} - -WRITE8_MEMBER(taitol_state::irq_adr_w) -{ - //logerror("irq_adr_table[%d] = %02x\n", offset, data); - m_irq_adr_table[offset] = data; -} - -READ8_MEMBER(taitol_state::irq_adr_r) -{ - return m_irq_adr_table[offset]; -} - -WRITE8_MEMBER(taitol_state::irq_enable_w) -{ - //logerror("irq_enable = %02x\n",data); - m_irq_enable = data; - - // fix Plotting test mode - if ((m_irq_enable & (1 << m_last_irq_level)) == 0) - m_main_cpu->set_input_line(0, CLEAR_LINE); -} - -READ8_MEMBER(taitol_state::irq_enable_r) -{ - return m_irq_enable; -} - - -WRITE8_MEMBER(taitol_state::rombankswitch_w) -{ - if (m_cur_rombank != data) - { - if (data > m_high) - { - m_high = data; - logerror("New rom size : %x\n", (m_high + 1) * 0x2000); - } - - //logerror("robs %d, %02x (%04x)\n", offset, data, m_main_cpu->pc()); - m_cur_rombank = data; - m_main_bnk->set_entry(m_cur_rombank); - } -} - -WRITE8_MEMBER(fhawk_state::rombank2switch_w) -{ - data &= 0xf; - - if (m_cur_rombank2 != data) - { - if (data > m_high2) - { - m_high2 = data; - logerror("New rom2 size : %x\n", (m_high2 + 1) * 0x4000); - } - - //logerror("robs2 %02x (%04x)\n", data, m_main_cpu->pc()); - - m_cur_rombank2 = data; - m_slave_bnk->set_entry(m_cur_rombank2); - } -} - -READ8_MEMBER(taitol_state::rombankswitch_r) -{ - return m_cur_rombank; -} - -READ8_MEMBER(fhawk_state::rombank2switch_r) -{ - return m_cur_rombank2; -} - -WRITE8_MEMBER(taitol_state::rambankswitch_w) -{ - if (m_cur_rambank[offset] != data) - { - m_cur_rambank[offset] = data; - m_ram_bnks[offset]->set_bank(m_cur_rambank[offset]); - } -} - -READ8_MEMBER(taitol_state::rambankswitch_r) -{ - return m_cur_rambank[offset]; -} - -WRITE8_MEMBER(taitol_state::coin_control_w) -{ - machine().bookkeeping().coin_lockout_w(0, ~data & 0x01); - machine().bookkeeping().coin_lockout_w(1, ~data & 0x02); - machine().bookkeeping().coin_counter_w(0, data & 0x04); - machine().bookkeeping().coin_counter_w(1, data & 0x08); -} - -READ8_MEMBER(taitol_1cpu_state::extport_select_and_ym2203_r) -{ - for (auto &mux : m_mux) - mux->select_w((offset >> 1) & 1); - return m_ymsnd->read(offset & 1); -} - -WRITE8_MEMBER(taitol_state::mcu_control_w) -{ -// logerror("mcu control %02x (%04x)\n", data, m_main_cpu->pc()); -} - -READ8_MEMBER(taitol_state::mcu_control_r) -{ -// logerror("mcu control read (%04x)\n", m_main_cpu->pc()); - return 0x1; -} - -WRITE_LINE_MEMBER(champwr_state::msm5205_vck) -{ - if (m_adpcm_data != -1) - { - m_msm->write_data(m_adpcm_data & 0x0f); - m_adpcm_data = -1; - } - else - { - m_adpcm_data = m_adpcm_rgn[m_adpcm_pos]; - m_adpcm_pos = (m_adpcm_pos + 1) & 0x1ffff; - m_msm->write_data(m_adpcm_data >> 4); - } -} - -WRITE8_MEMBER(champwr_state::msm5205_lo_w) -{ - m_adpcm_pos = (m_adpcm_pos & 0xff00ff) | (data << 8); -} - -WRITE8_MEMBER(champwr_state::msm5205_hi_w) -{ - m_adpcm_pos = ((m_adpcm_pos & 0x00ffff) | (data << 16)) & 0x1ffff; -} - -WRITE8_MEMBER(champwr_state::msm5205_start_w) -{ - m_msm->reset_w(0); -} - -WRITE8_MEMBER(champwr_state::msm5205_stop_w) -{ - m_msm->reset_w(1); - m_adpcm_pos &= 0x1ff00; -} - -WRITE8_MEMBER(champwr_state::msm5205_volume_w) -{ - m_msm->set_output_gain(0, data / 255.0); -} - - -void taitol_state::common_banks_map(address_map &map) -{ - map(0x0000, 0x5fff).rom(); - map(0x6000, 0x7fff).bankr("mainbank"); - map(0xc000, 0xcfff).m("rambank1", FUNC(address_map_bank_device::amap8)); - map(0xd000, 0xdfff).m("rambank2", FUNC(address_map_bank_device::amap8)); - map(0xe000, 0xefff).m("rambank3", FUNC(address_map_bank_device::amap8)); - map(0xf000, 0xfdff).m("rambank4", FUNC(address_map_bank_device::amap8)); - map(0xfe00, 0xfe03).rw(FUNC(taitol_state::taitol_bankc_r), FUNC(taitol_state::taitol_bankc_w)); - map(0xfe04, 0xfe04).rw(FUNC(taitol_state::taitol_control_r), FUNC(taitol_state::taitol_control_w)); - map(0xff00, 0xff02).rw(FUNC(taitol_state::irq_adr_r), FUNC(taitol_state::irq_adr_w)); - map(0xff03, 0xff03).rw(FUNC(taitol_state::irq_enable_r), FUNC(taitol_state::irq_enable_w)); - map(0xff04, 0xff07).rw(FUNC(taitol_state::rambankswitch_r), FUNC(taitol_state::rambankswitch_w)); - map(0xff08, 0xff08).rw(FUNC(taitol_state::rombankswitch_r), FUNC(taitol_state::rombankswitch_w)); -} - - -void taitol_state::tc0090lvc_map(address_map &map) -{ - map(0x10000, 0x1ffff).ram().w(FUNC(taitol_state::vram_w)).share("vram"); - map(0x80000, 0x801ff).mirror(0x00e00).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); -} - - -void fhawk_state::fhawk_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram().share("share1"); - map(0xa000, 0xbfff).ram(); -} - -void fhawk_state::fhawk_2_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0xbfff).bankr("slavebank"); - map(0xc000, 0xc000).w(FUNC(fhawk_state::rombank2switch_w)); - map(0xc800, 0xc800).nopr().w("ciu", FUNC(pc060ha_device::master_port_w)); - map(0xc801, 0xc801).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w)); - map(0xd000, 0xd007).rw("tc0220ioc", FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)); - map(0xe000, 0xffff).ram().share("share1"); -} - -void fhawk_state::fhawk_3_map(address_map &map) -{ - map(0x0000, 0x3fff).rom(); - map(0x4000, 0x7fff).bankr("audiobank"); - map(0x8000, 0x9fff).ram(); - map(0xe000, 0xe000).nopr().w("ciu", FUNC(pc060ha_device::slave_port_w)); - map(0xe001, 0xe001).rw("ciu", FUNC(pc060ha_device::slave_comm_r), FUNC(pc060ha_device::slave_comm_w)); - map(0xf000, 0xf001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); -} - - -void taitol_2cpu_state::raimais_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x87ff).rw("dpram", FUNC(mb8421_device::right_r), FUNC(mb8421_device::right_w)); - map(0x8800, 0x8801).rw("tc0040ioc", FUNC(tc0040ioc_device::read), FUNC(tc0040ioc_device::write)); - map(0x8c00, 0x8c00).nopr().w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); - map(0x8c01, 0x8c01).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0xa000, 0xbfff).ram(); -} - -void taitol_2cpu_state::raimais_2_map(address_map &map) -{ - map(0x0000, 0xbfff).rom(); - map(0xc000, 0xdfff).ram(); - map(0xe000, 0xe7ff).rw("dpram", FUNC(mb8421_device::left_r), FUNC(mb8421_device::left_w)); -} - - -WRITE8_MEMBER(taitol_2cpu_state::sound_bankswitch_w) -{ - m_audio_bnk->set_entry(data & 0x03); -} - -void taitol_2cpu_state::raimais_3_map(address_map &map) -{ - map(0x0000, 0x3fff).rom(); - map(0x4000, 0x7fff).bankr("audiobank"); - map(0xc000, 0xdfff).ram(); - map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)); - map(0xe200, 0xe200).nopr().w("tc0140syt", FUNC(tc0140syt_device::slave_port_w)); - map(0xe201, 0xe201).rw("tc0140syt", FUNC(tc0140syt_device::slave_comm_r), FUNC(tc0140syt_device::slave_comm_w)); - map(0xe400, 0xe403).nopw(); /* pan */ - map(0xe600, 0xe600).nopw(); /* ? */ - map(0xee00, 0xee00).nopw(); /* ? */ - map(0xf000, 0xf000).nopw(); /* ? */ - map(0xf200, 0xf200).w(FUNC(taitol_2cpu_state::sound_bankswitch_w)); -} - - -void champwr_state::champwr_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xbfff).ram().share("share1"); -} - -void champwr_state::champwr_2_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0xbfff).bankr("slavebank"); - map(0xc000, 0xdfff).ram().share("share1"); - map(0xe000, 0xe007).rw("tc0220ioc", FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)); - map(0xe008, 0xe00f).nopr(); - map(0xe800, 0xe800).nopr().w("ciu", FUNC(pc060ha_device::master_port_w)); - map(0xe801, 0xe801).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w)); - map(0xf000, 0xf000).rw(FUNC(champwr_state::rombank2switch_r), FUNC(champwr_state::rombank2switch_w)); -} - -void champwr_state::champwr_3_map(address_map &map) -{ - map(0x0000, 0x3fff).rom(); - map(0x4000, 0x7fff).bankr("audiobank"); - map(0x8000, 0x8fff).ram(); - map(0x9000, 0x9001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); - map(0xa000, 0xa000).nopr().w("ciu", FUNC(pc060ha_device::slave_port_w)); - map(0xa001, 0xa001).rw("ciu", FUNC(pc060ha_device::slave_comm_r), FUNC(pc060ha_device::slave_comm_w)); - map(0xb000, 0xb000).w(FUNC(champwr_state::msm5205_hi_w)); - map(0xc000, 0xc000).w(FUNC(champwr_state::msm5205_lo_w)); - map(0xd000, 0xd000).w(FUNC(champwr_state::msm5205_start_w)); - map(0xe000, 0xe000).w(FUNC(champwr_state::msm5205_stop_w)); -} - - - -void taitol_2cpu_state::kurikint_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa7ff).rw("dpram", FUNC(mb8421_device::right_r), FUNC(mb8421_device::right_w)); - map(0xa800, 0xa801).rw("tc0040ioc", FUNC(tc0040ioc_device::read), FUNC(tc0040ioc_device::write)); -} - -void taitol_2cpu_state::kurikint_2_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0xc000, 0xdfff).ram(); - map(0xe000, 0xe7ff).rw("dpram", FUNC(mb8421_device::left_r), FUNC(mb8421_device::left_w)); - map(0xe800, 0xe801).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); -} - - - -void taitol_1cpu_state::puzznic_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).r(FUNC(taitol_1cpu_state::extport_select_and_ym2203_r)).w(m_ymsnd, FUNC(ym2203_device::write)); - map(0xa800, 0xa800).nopr(); // Watchdog - map(0xb800, 0xb800).rw("mcu", FUNC(arkanoid_68705p3_device::data_r), FUNC(arkanoid_68705p3_device::data_w)); - map(0xb801, 0xb801).rw(FUNC(taitol_1cpu_state::mcu_control_r), FUNC(taitol_1cpu_state::mcu_control_w)); - map(0xbc00, 0xbc00).nopw(); // Control register, function unknown -} - -/* bootleg, doesn't have the MCU */ -void taitol_1cpu_state::puzznici_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).r(FUNC(taitol_1cpu_state::extport_select_and_ym2203_r)).w(m_ymsnd, FUNC(ym2203_device::write)); - map(0xa800, 0xa800).nopr(); // Watchdog - map(0xb801, 0xb801).r(FUNC(taitol_1cpu_state::mcu_control_r)); -// AM_RANGE(0xb801, 0xb801) AM_WRITE(mcu_control_w) - map(0xbc00, 0xbc00).nopw(); // Control register, function unknown -} - - -void taitol_1cpu_state::plotting_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).r(FUNC(taitol_1cpu_state::extport_select_and_ym2203_r)).w(m_ymsnd, FUNC(ym2203_device::write)); - map(0xa800, 0xa800).nopw(); // Watchdog or interrupt ack - map(0xb800, 0xb800).nopw(); // Control register, function unknown -} - - -void taitol_1cpu_state::palamed_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).rw(m_ymsnd, FUNC(ym2203_device::read), FUNC(ym2203_device::write)); - map(0xa800, 0xa803).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)); - map(0xb000, 0xb000).nopw(); // Control register, function unknown (copy of 8822) - map(0xb001, 0xb001).nopr(); // Watchdog or interrupt ack -} - - -void taitol_1cpu_state::cachat_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).rw(m_ymsnd, FUNC(ym2203_device::read), FUNC(ym2203_device::write)); - map(0xa800, 0xa803).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write)); - map(0xb000, 0xb000).nopw(); // Control register, function unknown - map(0xb001, 0xb001).nopr(); // Watchdog or interrupt ack (value ignored) - map(0xfff8, 0xfff8).rw(FUNC(taitol_1cpu_state::rombankswitch_r), FUNC(taitol_1cpu_state::rombankswitch_w)); -} - - -void horshoes_state::horshoes_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa003).r(FUNC(horshoes_state::extport_select_and_ym2203_r)).w(m_ymsnd, FUNC(ym2203_device::write)); - map(0xa800, 0xa800).select(0x000c).lr8("upd4701_r", - [this](address_space &space, offs_t offset, u8 mem_mask) { - return m_upd4701->read_xy(space, offset >> 2, mem_mask); - }); - map(0xa802, 0xa802).r(m_upd4701, FUNC(upd4701_device::reset_x_r)); - map(0xa803, 0xa803).r(m_upd4701, FUNC(upd4701_device::reset_y_r)); - map(0xb801, 0xb801).nopr(); // Watchdog or interrupt ack - map(0xb802, 0xb802).w(FUNC(horshoes_state::bankg_w)); - map(0xbc00, 0xbc00).nopw(); -} - -void taitol_2cpu_state::evilston_map(address_map &map) -{ - common_banks_map(map); - map(0x8000, 0x9fff).ram(); - map(0xa000, 0xa7ff).rw("dpram", FUNC(mb8421_device::right_r), FUNC(mb8421_device::right_w)); - map(0xa800, 0xa807).rw("tc0510nio", FUNC(tc0510nio_device::read), FUNC(tc0510nio_device::write)); -} - -void taitol_2cpu_state::evilston_2_map(address_map &map) -{ - map(0x0000, 0xbfff).rom(); - map(0xc000, 0xdfff).ram(); - map(0xe000, 0xe7ff).rw("dpram", FUNC(mb8421_device::left_r), FUNC(mb8421_device::left_w)); - map(0xe800, 0xe801).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); - map(0xf000, 0xf7ff).bankr("audiobank"); -} - - - -/*********************************************************** - INPUT PORTS, DIPs -***********************************************************/ - -#define TAITO_L_SYSTEM_INPUT( type, impulse ) \ - PORT_START("IN2")\ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) \ - PORT_BIT( 0x04, type, IPT_COIN1 ) PORT_IMPULSE(impulse) \ - PORT_BIT( 0x08, type, IPT_COIN2 ) PORT_IMPULSE(impulse) \ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) \ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - -static INPUT_PORTS_START( fhawk ) - PORT_START("DSWA") - TAITO_MACHINE_COCKTAIL_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) /* Listed as Unused */ - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Listed as Unused */ - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x30, "3" ) - PORT_DIPSETTING( 0x20, "4" ) - PORT_DIPSETTING( 0x10, "5" ) - PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as Unused */ - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as Unused */ - - PORT_START("IN0") - TAITO_JOY_UDLR_2_BUTTONS( 1 ) - - PORT_START("IN1") - TAITO_JOY_UDLR_2_BUTTONS( 2 ) - - TAITO_L_SYSTEM_INPUT( IP_ACTIVE_LOW, 4 ) -INPUT_PORTS_END - -static INPUT_PORTS_START( fhawkj ) - PORT_INCLUDE( fhawk ) - - PORT_MODIFY("DSWA") - TAITO_COINAGE_JAPAN_OLD_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( raimais ) - PORT_START("DSWA") - TAITO_MACHINE_COCKTAIL_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x08, "80k and 160k" ) - PORT_DIPSETTING( 0x0c, "80k only" ) - PORT_DIPSETTING( 0x04, "160k only" ) - PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x30, "3" ) - PORT_DIPSETTING( 0x20, "4" ) - PORT_DIPSETTING( 0x10, "5" ) - PORT_DIPSETTING( 0x00, "6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("IN0") - TAITO_JOY_UDLR_2_BUTTONS( 1 ) - - PORT_START("IN1") - TAITO_JOY_UDLR_2_BUTTONS( 2 ) - - TAITO_L_SYSTEM_INPUT( IP_ACTIVE_HIGH, 1 ) -INPUT_PORTS_END - -static INPUT_PORTS_START( raimaisj ) - PORT_INCLUDE( raimais ) - - PORT_MODIFY("DSWA") - TAITO_COINAGE_JAPAN_OLD_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( champwr ) - PORT_START("DSWA") - TAITO_MACHINE_NO_COCKTAIL_LOC(SW1) // all 2 in manual - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPNAME( 0x0c, 0x0c, "Time" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x08, "2 minutes" ) - PORT_DIPSETTING( 0x0c, "3 minutes" ) - PORT_DIPSETTING( 0x04, "4 minutes" ) - PORT_DIPSETTING( 0x00, "5 minutes" ) - PORT_DIPNAME( 0x30, 0x30, "'1 minute' Lasts:" ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x00, "30 sec" ) - PORT_DIPSETTING( 0x10, "40 sec" ) - PORT_DIPSETTING( 0x30, "50 sec" ) - PORT_DIPSETTING( 0x20, "60 sec" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as Unused */ - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) -INPUT_PORTS_END - -static INPUT_PORTS_START( champwrj ) - PORT_INCLUDE( champwr ) - - PORT_MODIFY("DSWA") - TAITO_COINAGE_JAPAN_OLD_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( champwru ) - PORT_INCLUDE( champwr ) - - PORT_MODIFY("DSWA") - TAITO_COINAGE_US_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( kurikint ) - PORT_START("DSWA") - TAITO_MACHINE_COCKTAIL_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) /* Listed as Unused */ - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Listed as Unused */ - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Listed as Unused */ - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* Listed as Unused */ - PORT_DIPNAME( 0x40, 0x40, "Bosses' messages" ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, "5 Times" ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("IN0") - TAITO_JOY_UDLR_2_BUTTONS( 1 ) - - PORT_START("IN1") - TAITO_JOY_UDLR_2_BUTTONS( 2 ) - - TAITO_L_SYSTEM_INPUT( IP_ACTIVE_HIGH, 4 ) -INPUT_PORTS_END - -static INPUT_PORTS_START( kurikintj ) - PORT_INCLUDE( kurikint ) - - PORT_MODIFY("DSWA") - TAITO_COINAGE_JAPAN_OLD_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( kurikinta ) - PORT_INCLUDE( kurikint ) - - PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") /* Oposite of most Taito settings. IE: Off "means" off */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_MODIFY("DSWB") - PORT_DIPNAME( 0x01, 0x01, "Level Select (Cheat)") PORT_DIPLOCATION("SW2:1") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x08, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Bosses' messages" ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Slow Motion (Cheat)") PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( puzznic ) - PORT_START("DSWA") - TAITO_MACHINE_COCKTAIL_LOC(SW1) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:5,6") - PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* There is no Coin B in the Manual */ - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) /* There is no Coin B in the Manual */ - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) /* Difficulty controls the Timer Speed (how many seconds are there in a minute) */ - PORT_DIPNAME( 0x0c, 0x0c, "Retries" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x00, "0" ) - PORT_DIPSETTING( 0x04, "1" ) - PORT_DIPSETTING( 0x0c, "2" ) - PORT_DIPSETTING( 0x08, "3" ) - PORT_DIPNAME( 0x10, 0x10, "Bombs" ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, "0" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPNAME( 0x20, 0x20, "Girls" ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Yes ) ) - PORT_DIPNAME( 0xc0, 0xc0, "Terms of Replay" ) PORT_DIPLOCATION("SW2:7,8") - PORT_DIPSETTING( 0x40, "Stage one step back/Timer continuous" ) - PORT_DIPSETTING( 0xc0, "Stage reset to start/Timer continuous" ) - PORT_DIPSETTING( 0x80, "Stage reset to start/Timer reset to start" ) -// PORT_DIPSETTING( 0x00, "No Use" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - - PORT_START("IN2") /* Not read yet. There is no Coin_B in manual */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( plotting ) - PORT_START("DSWA") - PORT_DIPNAME( 0x01, 0x01, "Play Mode" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "1 Player" ) - PORT_DIPSETTING( 0x01, "2 Player" ) - TAITO_DSWA_BITS_1_TO_3_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) /* Listed as Unused and "Must Remain Off" */ - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) /* Listed as Unused and "Must Remain Off" */ - PORT_DIPNAME( 0x30, 0x30, "Wild Blocks" ) PORT_DIPLOCATION("SW2:5,6") /* Number of allowed misses */ - PORT_DIPSETTING( 0x20, "1" ) - PORT_DIPSETTING( 0x30, "2" ) - PORT_DIPSETTING( 0x10, "3" ) - PORT_DIPSETTING( 0x00, "4" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x40, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as Unused and "Must Remain Off" */ - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) -INPUT_PORTS_END - -static INPUT_PORTS_START( plottingu ) - PORT_INCLUDE(plotting) - PORT_MODIFY("DSWA") - TAITO_COINAGE_US_LOC(SW1) -INPUT_PORTS_END - -static INPUT_PORTS_START( palamed ) - PORT_START("DSWA") - TAITO_MACHINE_NO_COCKTAIL_LOC(SW1) - TAITO_COINAGE_JAPAN_NEW_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) /* Difficulty controls how fast the dice lines fall*/ - PORT_DIPNAME( 0x0c, 0x0c, "Games for VS Victory" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x08, "1 Game" ) - PORT_DIPSETTING( 0x0c, "2 Games" ) - PORT_DIPSETTING( 0x04, "3 Games" ) - PORT_DIPSETTING( 0x00, "4 Games" ) - PORT_DIPNAME( 0x30, 0x30, "Dice Appear at" ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x20, "500 Lines" ) - PORT_DIPSETTING( 0x30, "1000 Lines" ) - PORT_DIPSETTING( 0x10, "2000 Lines" ) - PORT_DIPSETTING( 0x00, "3000 Lines" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */ - PORT_DIPNAME( 0x80, 0x80, "Versus Mode" ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( cachat ) - PORT_START("DSWA") - PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:1" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") /* Oposite of most Taito settings. IE: Off "means" off */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - TAITO_DSWA_BITS_2_TO_3_LOC(SW1) - TAITO_COINAGE_JAPAN_NEW_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( tubeit ) - PORT_START("DSWA") - PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:1" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") /* Oposite of most Taito settings. IE: Off "means" off */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - TAITO_DSWA_BITS_2_TO_3_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( horshoes ) - PORT_START("DSWA") - PORT_DIPNAME( 0x01, 0x01, "Beer Frame Message" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x01, "Break Time" ) - PORT_DIPSETTING( 0x00, "Beer Frame" ) - TAITO_DSWA_BITS_1_TO_3_LOC(SW1) - TAITO_COINAGE_US_LOC(SW1) /* According to the "United States Version" manual listing */ - - PORT_START("DSWB") - /* Not for sure, the CPU seems to play better when set to Hardest */ - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPNAME( 0x0c, 0x0c, "Time" ) PORT_DIPLOCATION("SW2:3,4") - PORT_DIPSETTING( 0x08, "20 sec" ) - PORT_DIPSETTING( 0x0c, "30 sec" ) - PORT_DIPSETTING( 0x04, "40 sec" ) - PORT_DIPSETTING( 0x00, "60 sec" ) - PORT_DIPNAME( 0x10, 0x10, "Innings" ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, "3 per Credit" ) - PORT_DIPSETTING( 0x00, "9 per Credit" ) - PORT_DIPNAME( 0x20, 0x20, "Bonus Advantage" ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Scoring Speed" ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, "Fast" ) - PORT_DIPNAME( 0x80, 0x80, "Grip/Angle Select" ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, "2 Buttons" ) - PORT_DIPSETTING( 0x00, "1 Button" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("AN0") - PORT_BIT( 0xffff, 0x0000, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_RESET PORT_REVERSE - - PORT_START("AN1") - PORT_BIT( 0xffff, 0x0000, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(30) PORT_RESET -INPUT_PORTS_END - -static INPUT_PORTS_START( plgirls ) - PORT_START("DSWA") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" ) - PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:4,5,6") /* Manual shows same coinage as Play Girls 2 */ - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x28, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) ) -// PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) /* Difficulty controls the Ball Speed */ - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPNAME( 0x80, 0x80, "P1+P2 Start to Clear Round (Cheat)" ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( plgirls2 ) - PORT_START("DSWA") - PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:1" ) /* Listed as Not Used */ - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" ) - PORT_DIPNAME( 0x08, 0x08, "Coin Mode" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x08, "Mode A" ) - PORT_DIPSETTING( 0x00, "Mode B" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6") - PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8") - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x08) - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) PORT_CONDITION("DSWA", 0x08, EQUALS, 0x00) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) /* Difficulty controls the number of hits requiered to destroy enemies */ - PORT_DIPNAME( 0x04, 0x04, "Time" ) PORT_DIPLOCATION("SW2:3") /* Simply listed as "Time", what exactly does it refer to? */ - PORT_DIPSETTING( 0x04, "2 Seconds" ) - PORT_DIPSETTING( 0x00, "3 Seconds" ) - PORT_DIPNAME( 0x18, 0x18, "Lives for Joe/Lady/Jack" ) PORT_DIPLOCATION("SW2:4,5") - PORT_DIPSETTING( 0x10, "3/2/3" ) - PORT_DIPSETTING( 0x18, "4/3/4" ) - PORT_DIPSETTING( 0x08, "5/4/5" ) - PORT_DIPSETTING( 0x00, "6/5/6" ) - PORT_DIPNAME( 0x20, 0x20, "Character Speed" ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x20, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, "Fast" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as Not Used */ - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as Not Used */ - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( cubybop ) - PORT_START("DSWA") - PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "SW1:1" ) - PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" ) - PORT_SERVICE_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - TAITO_COINAGE_JAPAN_NEW_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( evilston ) - PORT_START("DSWA") - TAITO_MACHINE_COCKTAIL_LOC(SW1) - TAITO_COINAGE_WORLD_LOC(SW1) - - PORT_START("DSWB") - TAITO_DIFFICULTY_LOC(SW2) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:4" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") - PORT_DIPSETTING( 0x30, "3" ) - PORT_DIPSETTING( 0x20, "2" ) - PORT_DIPSETTING( 0x10, "1" ) - PORT_DIPSETTING( 0x00, "4" ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:7,8") - PORT_DIPSETTING( 0x00, DEF_STR( English ) ) - PORT_DIPSETTING( 0x80, DEF_STR( English ) ) - PORT_DIPSETTING( 0x40, DEF_STR( English ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Japanese ) ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL -INPUT_PORTS_END - - - - -static const gfx_layout bg2_layout = -{ - 8, 8, - RGN_FRAC(1,1), - 4, - { 8, 12, 0, 4 }, - { 3, 2, 1, 0, 19, 18, 17, 16 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 8*8*4 -}; - - -#define O 8*8*4 -#define O2 2*O -static const gfx_layout sp2_layout = -{ - 16, 16, - RGN_FRAC(1,1), - 4, - { 8, 12, 0, 4 }, - { 3, 2, 1, 0, 19, 18, 17, 16, O+3, O+2, O+1, O+0, O+19, O+18, O+17, O+16 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, O2+0*32, O2+1*32, O2+2*32, O2+3*32, O2+4*32, O2+5*32, O2+6*32, O2+7*32 }, - 8*8*4*4 -}; -#undef O -#undef O2 - -static const gfx_layout char_layout = -{ - 8, 8, - 0x10000 / (8*4), - 4, - { 8, 12, 0, 4 }, - { 3, 2, 1, 0, 19, 18, 17, 16}, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 8*8*4 -}; - - - -static GFXDECODE_START( taito_l ) - GFXDECODE_ENTRY( "gfx1", 0, bg2_layout, 0, 16 ) - GFXDECODE_ENTRY( "gfx1", 0, sp2_layout, 0, 16 ) - GFXDECODE_RAM( "vram", 0, char_layout, 0, 16 ) // Ram-based -GFXDECODE_END - - -WRITE8_MEMBER(fhawk_state::portA_w) -{ - m_audio_bnk->set_entry(data & 0x03); - //logerror ("YM2203 bank change val=%02x %s\n", data & 0x03, machine().describe_context() ); -} - -void taitol_state::l_system_video(machine_config &config) -{ - for (int bank = 0; bank < 4; bank++) - { - ADDRESS_MAP_BANK(config, m_ram_bnks[bank]).set_map(&taitol_state::tc0090lvc_map).set_options(ENDIANNESS_LITTLE, 8, 20, 0x1000); - } - - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(40*8, 32*8); - screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(taitol_state::screen_update_taitol)); - screen.screen_vblank().set(FUNC(taitol_state::screen_vblank_taitol)); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, taito_l); - PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::xBGRBBBBGGGGRRRR_bit0, 256); - - TIMER(config, "scantimer").configure_scanline(FUNC(taitol_state::vbl_interrupt), "screen", 0, 1); -} - -void fhawk_state::fhawk(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_main_cpu, XTAL(13'330'560)/2); /* verified freq on pin122 of TC0090LVC cpu */ - m_main_cpu->set_addrmap(AS_PROGRAM, &fhawk_state::fhawk_map); - m_main_cpu->set_irq_acknowledge_callback(FUNC(taitol_state::irq_callback)); - - Z80(config, m_audio_cpu, 12_MHz_XTAL/3); /* verified on pcb */ - m_audio_cpu->set_addrmap(AS_PROGRAM, &fhawk_state::fhawk_3_map); - - z80_device &slave(Z80(config, "slave", 12_MHz_XTAL/3)); /* verified on pcb */ - slave.set_addrmap(AS_PROGRAM, &fhawk_state::fhawk_2_map); - slave.set_vblank_int("screen", FUNC(taitol_state::irq0_line_hold)); - - config.m_perfect_cpu_quantum = subtag("maincpu"); - - tc0220ioc_device &tc0220ioc(TC0220IOC(config, "tc0220ioc", 0)); - tc0220ioc.read_0_callback().set_ioport("DSWA"); - tc0220ioc.read_1_callback().set_ioport("DSWB"); - tc0220ioc.read_2_callback().set_ioport("IN0"); - tc0220ioc.read_3_callback().set_ioport("IN1"); - tc0220ioc.write_4_callback().set(FUNC(taitol_state::coin_control_w)); - tc0220ioc.read_7_callback().set_ioport("IN2"); - - MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) - MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) - - /* video hardware */ - l_system_video(config); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ym2203_device &ymsnd(YM2203(config, "ymsnd", 12_MHz_XTAL/4)); /* verified on pcb */ - ymsnd.irq_handler().set_inputline("audiocpu", 0); - ymsnd.port_a_write_callback().set(FUNC(fhawk_state::portA_w)); - ymsnd.add_route(0, "mono", 0.20); - ymsnd.add_route(1, "mono", 0.20); - ymsnd.add_route(2, "mono", 0.20); - ymsnd.add_route(3, "mono", 0.80); - - pc060ha_device &ciu(PC060HA(config, "ciu", 0)); - ciu.set_master_tag("slave"); - ciu.set_slave_tag(m_audio_cpu); -} - -void champwr_state::champwr(machine_config &config) -{ - fhawk(config); - - /* basic machine hardware */ - m_main_cpu->set_addrmap(AS_PROGRAM, &champwr_state::champwr_map); - - m_audio_cpu->set_addrmap(AS_PROGRAM, &champwr_state::champwr_3_map); - - subdevice<cpu_device>("slave")->set_addrmap(AS_PROGRAM, &champwr_state::champwr_2_map); - - /* sound hardware */ - subdevice<ym2203_device>("ymsnd")->port_b_write_callback().set(FUNC(champwr_state::msm5205_volume_w)); - - MSM5205(config, m_msm, 384_kHz_XTAL); - m_msm->vck_legacy_callback().set(FUNC(champwr_state::msm5205_vck)); /* VCK function */ - m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 kHz */ - m_msm->add_route(ALL_OUTPUTS, "mono", 0.80); -} - -void taitol_2cpu_state::raimais(machine_config &config) -{ - Z80(config, m_main_cpu, 13330560/2); // needs verification from pin122 of TC0090LVC - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::raimais_map); - m_main_cpu->set_irq_acknowledge_callback(FUNC(taitol_state::irq_callback)); - - Z80(config, m_audio_cpu, 12000000/3); // not verified - m_audio_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::raimais_3_map); - - z80_device &slave(Z80(config, "slave", 12000000/3)); // not verified - slave.set_addrmap(AS_PROGRAM, &taitol_2cpu_state::raimais_2_map); - slave.set_vblank_int("screen", FUNC(taitol_state::irq0_line_hold)); - - config.m_perfect_cpu_quantum = subtag("maincpu"); - - tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0)); - tc0040ioc.read_0_callback().set_ioport("DSWA"); - tc0040ioc.read_1_callback().set_ioport("DSWB"); - tc0040ioc.read_2_callback().set_ioport("IN0"); - tc0040ioc.read_3_callback().set_ioport("IN1"); - tc0040ioc.write_4_callback().set(FUNC(taitol_state::coin_control_w)); - tc0040ioc.read_7_callback().set_ioport("IN2"); - - MB8421(config, "dpram"); - - MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) - MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) - - /* video hardware */ - l_system_video(config); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ym2610_device &ymsnd(YM2610(config, "ymsnd", 8_MHz_XTAL)); /* verified on pcb (8Mhz OSC is also for the 2nd z80) */ - ymsnd.irq_handler().set_inputline("audiocpu", 0); - ymsnd.add_route(0, "mono", 0.25); - ymsnd.add_route(1, "mono", 1.0); - ymsnd.add_route(2, "mono", 1.0); - - tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); - tc0140syt.set_master_tag("slave"); - tc0140syt.set_slave_tag(m_audio_cpu); -} - -void taitol_2cpu_state::kurikint(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_main_cpu, XTAL(13'330'560)/2); /* verified freq on pin122 of TC0090LVC cpu */ - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::kurikint_map); - m_main_cpu->set_irq_acknowledge_callback(FUNC(taitol_state::irq_callback)); - - Z80(config, m_audio_cpu, 12_MHz_XTAL/3); /* verified on pcb */ - m_audio_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::kurikint_2_map); - m_audio_cpu->set_vblank_int("screen", FUNC(taitol_state::irq0_line_hold)); - - config.m_minimum_quantum = attotime::from_hz(6000); - - tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0)); - tc0040ioc.read_0_callback().set_ioport("DSWA"); - tc0040ioc.read_1_callback().set_ioport("DSWB"); - tc0040ioc.read_2_callback().set_ioport("IN0"); - tc0040ioc.read_3_callback().set_ioport("IN1"); - tc0040ioc.write_4_callback().set(FUNC(taitol_state::coin_control_w)); - tc0040ioc.read_7_callback().set_ioport("IN2"); - - MB8421(config, "dpram"); - - MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) - MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) - - /* video hardware */ - l_system_video(config); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ym2203_device &ymsnd(YM2203(config, "ymsnd", 12_MHz_XTAL/4)); /* verified on pcb */ - ymsnd.add_route(0, "mono", 0.20); - ymsnd.add_route(1, "mono", 0.20); - ymsnd.add_route(2, "mono", 0.20); - ymsnd.add_route(3, "mono", 0.80); -} - -void taitol_1cpu_state::add_muxes(machine_config &config) -{ - LS157_X2(config, m_mux[0], 0); - m_mux[0]->a_in_callback().set_ioport("DSWA"); - m_mux[0]->b_in_callback().set_ioport("DSWB"); - - LS157_X2(config, m_mux[1], 0); - m_mux[1]->a_in_callback().set_ioport("IN0"); - m_mux[1]->b_in_callback().set_ioport("IN1"); -} - -void taitol_1cpu_state::base(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_main_cpu, XTAL(13'330'560)/2); /* verified freq on pin122 of TC0090LVC cpu */ - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_1cpu_state::plotting_map); - m_main_cpu->set_irq_acknowledge_callback(FUNC(taitol_state::irq_callback)); - - MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) - MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) - - /* video hardware */ - l_system_video(config); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - YM2203(config, m_ymsnd, XTAL(13'330'560)/4); /* verified on pcb */ - m_ymsnd->port_a_read_callback().set("dswmux", FUNC(ls157_x2_device::output_r)); - m_ymsnd->port_b_read_callback().set("inmux", FUNC(ls157_x2_device::output_r)); - m_ymsnd->add_route(0, "mono", 0.20); - m_ymsnd->add_route(1, "mono", 0.20); - m_ymsnd->add_route(2, "mono", 0.20); - m_ymsnd->add_route(3, "mono", 0.80); -} - -void taitol_1cpu_state::plotting(machine_config &config) -{ - base(config); - add_muxes(config); -} - -void taitol_1cpu_state::puzznic(machine_config &config) -{ - base(config); - add_muxes(config); - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_1cpu_state::puzznic_map); - - ARKANOID_68705P3(config, "mcu", 3_MHz_XTAL); -} - -void taitol_1cpu_state::puzznici(machine_config &config) -{ - base(config); - add_muxes(config); - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_1cpu_state::puzznici_map); -} - -void horshoes_state::horshoes(machine_config &config) -{ - base(config); - add_muxes(config); - - m_main_cpu->set_addrmap(AS_PROGRAM, &horshoes_state::horshoes_map); - - UPD4701A(config, m_upd4701, 0); - m_upd4701->set_portx_tag("AN0"); - m_upd4701->set_porty_tag("AN1"); -} - - -void taitol_1cpu_state::palamed(machine_config &config) -{ - plotting(config); - - /* basic machine hardware */ - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_1cpu_state::palamed_map); - - i8255_device &ppi(I8255(config, "ppi", 0)); // Toshiba TMP8255AP-5 - ppi.in_pa_callback().set_ioport("IN0"); - ppi.in_pb_callback().set_ioport("IN1"); - ppi.in_pc_callback().set_ioport("IN2"); - - m_ymsnd->port_a_read_callback().set_ioport("DSWA"); - m_ymsnd->port_b_read_callback().set_ioport("DSWB"); -} - - -void taitol_1cpu_state::cachat(machine_config &config) -{ - plotting(config); - - /* basic machine hardware */ - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_1cpu_state::cachat_map); - - i8255_device &ppi(I8255(config, "ppi", 0)); // NEC D70155C - ppi.in_pa_callback().set_ioport("IN0"); - ppi.in_pb_callback().set_ioport("IN1"); - ppi.in_pc_callback().set_ioport("IN2"); - - m_ymsnd->port_a_read_callback().set_ioport("DSWA"); - m_ymsnd->port_b_read_callback().set_ioport("DSWB"); -} - -void taitol_2cpu_state::evilston(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_main_cpu, XTAL(13'330'560)/2); /* not verified */ - m_main_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::evilston_map); - m_main_cpu->set_irq_acknowledge_callback(FUNC(taitol_state::irq_callback)); - - Z80(config, m_audio_cpu, 12_MHz_XTAL/3); /* not verified */ - m_audio_cpu->set_addrmap(AS_PROGRAM, &taitol_2cpu_state::evilston_2_map); - m_audio_cpu->set_vblank_int("screen", FUNC(taitol_state::irq0_line_hold)); - - config.m_minimum_quantum = attotime::from_hz(6000); - - tc0510nio_device &tc0510nio(TC0510NIO(config, "tc0510nio", 0)); - tc0510nio.read_0_callback().set_ioport("DSWA"); - tc0510nio.read_1_callback().set_ioport("DSWB"); - tc0510nio.read_2_callback().set_ioport("IN0"); - tc0510nio.read_3_callback().set_ioport("IN1"); - tc0510nio.write_4_callback().set(FUNC(taitol_state::coin_control_w)); - tc0510nio.read_7_callback().set_ioport("IN2"); - - mb8421_device &dpram(MB8421(config, "dpram")); - dpram.intl_callback().set_inputline("audiocpu", INPUT_LINE_NMI); - - MCFG_MACHINE_START_OVERRIDE(taitol_state, taito_l) - MCFG_MACHINE_RESET_OVERRIDE(taitol_state, taito_l) - - /* video hardware */ - l_system_video(config); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ym2203_device &ymsnd(YM2203(config, "ymsnd", 12_MHz_XTAL/4)); /* not verified */ - ymsnd.add_route(0, "mono", 0.25); - ymsnd.add_route(1, "mono", 0.25); - ymsnd.add_route(2, "mono", 0.25); - ymsnd.add_route(3, "mono", 0.80); -} - - -ROM_START( raimais ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b36-11-1.bin", 0x00000, 0x20000, CRC(f19fb0d5) SHA1(ba7187dfa5b4a08cebf236913a80066dafbbc59f) ) - ROM_LOAD( "b36-09.bin", 0x20000, 0x20000, CRC(9c466e43) SHA1(2466a3f1f8124323008c9925f90e9a1d2edf1564) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b36-06.bin", 0x00000, 0x10000, CRC(29bbc4f8) SHA1(39a68729c6180c5f6cdf604e692018e7d6bf5591) ) - - ROM_REGION( 0x10000, "slave", 0 ) - ROM_LOAD( "b36-07.bin", 0x00000, 0x10000, CRC(4f3737e6) SHA1(ff5f5d4ca5485441d03c8cb01a6a096941ab02eb) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b36-01.bin", 0x00000, 0x80000, CRC(89355cb2) SHA1(433e929fe8b488af84e88486d9679468a3d9677a) ) - ROM_LOAD( "b36-02.bin", 0x80000, 0x80000, CRC(e71da5db) SHA1(aa47ae02c359264c0a1f09ecc583eefd1ef1dfa4) ) - - ROM_REGION( 0x80000, "ymsnd", 0 ) - ROM_LOAD( "b36-03.bin", 0x00000, 0x80000, CRC(96166516) SHA1(a6748218188cbd1b037f6c0845416665c0d55a7b) ) -ROM_END - -ROM_START( raimaisj ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b36-08-1.bin", 0x00000, 0x20000, CRC(6cc8f79f) SHA1(17b4903f87e6d5447c8557c2baca1728f86245dc) ) - ROM_LOAD( "b36-09.bin", 0x20000, 0x20000, CRC(9c466e43) SHA1(2466a3f1f8124323008c9925f90e9a1d2edf1564) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b36-06.bin", 0x00000, 0x10000, CRC(29bbc4f8) SHA1(39a68729c6180c5f6cdf604e692018e7d6bf5591) ) - - ROM_REGION( 0x10000, "slave", 0 ) - ROM_LOAD( "b36-07.bin", 0x00000, 0x10000, CRC(4f3737e6) SHA1(ff5f5d4ca5485441d03c8cb01a6a096941ab02eb) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b36-01.bin", 0x00000, 0x80000, CRC(89355cb2) SHA1(433e929fe8b488af84e88486d9679468a3d9677a) ) - ROM_LOAD( "b36-02.bin", 0x80000, 0x80000, CRC(e71da5db) SHA1(aa47ae02c359264c0a1f09ecc583eefd1ef1dfa4) ) - - ROM_REGION( 0x80000, "ymsnd", 0 ) - ROM_LOAD( "b36-03.bin", 0x00000, 0x80000, CRC(96166516) SHA1(a6748218188cbd1b037f6c0845416665c0d55a7b) ) -ROM_END - -ROM_START( raimaisjo ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b36-08.bin", 0x00000, 0x20000, CRC(f40b9178) SHA1(ccf5afcf08cac0d5b2d6ba74abd62d35412f0265) ) - ROM_LOAD( "b36-09.bin", 0x20000, 0x20000, CRC(9c466e43) SHA1(2466a3f1f8124323008c9925f90e9a1d2edf1564) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b36-06.bin", 0x00000, 0x10000, CRC(29bbc4f8) SHA1(39a68729c6180c5f6cdf604e692018e7d6bf5591) ) - - ROM_REGION( 0x10000, "slave", 0 ) - ROM_LOAD( "b36-07.bin", 0x00000, 0x10000, CRC(4f3737e6) SHA1(ff5f5d4ca5485441d03c8cb01a6a096941ab02eb) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b36-01.bin", 0x00000, 0x80000, CRC(89355cb2) SHA1(433e929fe8b488af84e88486d9679468a3d9677a) ) - ROM_LOAD( "b36-02.bin", 0x80000, 0x80000, CRC(e71da5db) SHA1(aa47ae02c359264c0a1f09ecc583eefd1ef1dfa4) ) - - ROM_REGION( 0x80000, "ymsnd", 0 ) - ROM_LOAD( "b36-03.bin", 0x00000, 0x80000, CRC(96166516) SHA1(a6748218188cbd1b037f6c0845416665c0d55a7b) ) -ROM_END - -ROM_START( fhawk ) - ROM_REGION( 0xa0000, "maincpu", 0 ) - ROM_LOAD( "b70-11.ic3", 0x00000, 0x20000, CRC(7d9f7583) SHA1(d8fa7c66a81fb356fa9c72f377bfc31b1837eafb) ) - ROM_LOAD( "b70-03.ic2", 0x20000, 0x80000, CRC(42d5a9b8) SHA1(10714fe95c372cec12376e615a9abe213aff12bc) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b70-09.ic31", 0x00000, 0x10000, CRC(85cccaa2) SHA1(5459cd8df9d94e1938008cfc17d4ebac98004bfc) ) - - ROM_REGION( 0x20000, "slave", 0 ) - ROM_LOAD( "b70-08.ic12", 0x00000, 0x20000, CRC(4d795f48) SHA1(58040d8ccbd0572cf6aef6ea9dd646b9338a03a0) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b70-01.ic1", 0x00000, 0x80000, CRC(fcdf67e2) SHA1(08a6a04a45c4adb4f5b4b0b83e90b2e5fe5cb0b1) ) - ROM_LOAD( "b70-02.ic2", 0x80000, 0x80000, CRC(35f7172e) SHA1(f257e9db470bb6dcca491b89cb666ef6d2546887) ) -ROM_END - -ROM_START( fhawkj ) - ROM_REGION( 0xa0000, "maincpu", 0 ) - ROM_LOAD( "b70-07.ic3", 0x00000, 0x20000, CRC(939114af) SHA1(66218536dcb3b34ffa01d3c9c2fee365d91cfe00) ) - ROM_LOAD( "b70-03.ic2", 0x20000, 0x80000, CRC(42d5a9b8) SHA1(10714fe95c372cec12376e615a9abe213aff12bc) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b70-09.ic31", 0x00000, 0x10000, CRC(85cccaa2) SHA1(5459cd8df9d94e1938008cfc17d4ebac98004bfc) ) - - ROM_REGION( 0x20000, "slave", 0 ) - ROM_LOAD( "b70-08.ic12", 0x00000, 0x20000, CRC(4d795f48) SHA1(58040d8ccbd0572cf6aef6ea9dd646b9338a03a0) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b70-01.ic1", 0x00000, 0x80000, CRC(fcdf67e2) SHA1(08a6a04a45c4adb4f5b4b0b83e90b2e5fe5cb0b1) ) - ROM_LOAD( "b70-02.ic2", 0x80000, 0x80000, CRC(35f7172e) SHA1(f257e9db470bb6dcca491b89cb666ef6d2546887) ) -ROM_END - -ROM_START( champwr ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "c01-13.rom", 0x00000, 0x20000, CRC(7ef47525) SHA1(79789fa3bcaeb6666c108d2e4b69a1f9341b2f4a) ) - ROM_LOAD( "c01-04.rom", 0x20000, 0x20000, CRC(358bd076) SHA1(beb20a09370d05de719dde596eadca8fecb14ce5) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "c01-08.rom", 0x00000, 0x10000, CRC(810efff8) SHA1(dd4fc046095e0e815e8e1fd96d258da0d6bba298) ) - - ROM_REGION( 0x20000, "slave", 0 ) - ROM_LOAD( "c01-07.rom", 0x00000, 0x20000, CRC(5117c98f) SHA1(16b3a443eb113d2591833884a1b0ff297d8c00a4) ) - - ROM_REGION( 0x180000, "gfx1", 0 ) - ROM_LOAD( "c01-01.rom", 0x000000, 0x80000, CRC(f302e6e9) SHA1(456b046932c1ee29c890b8e87d417c4bb508c06a) ) - ROM_LOAD( "c01-02.rom", 0x080000, 0x80000, CRC(1e0476c4) SHA1(b7922e5196990ad4382f367ec80b5c72e75f9d35) ) - ROM_LOAD( "c01-03.rom", 0x100000, 0x80000, CRC(2a142dbc) SHA1(5d0e40ec266d3abcff4237c5c609355c65b4fa33) ) - - ROM_REGION( 0x20000, "adpcm", 0 ) /* ADPCM samples */ - ROM_LOAD( "c01-05.rom", 0x00000, 0x20000, CRC(22efad4a) SHA1(54fb33dfba5059dee16fa8b5a33b0b2d62a78373) ) -ROM_END - -ROM_START( champwru ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "c01-12.rom", 0x00000, 0x20000, CRC(09f345b3) SHA1(f3f9a7dab0b3f87b6919a7b37cb52245e112cb08) ) - ROM_LOAD( "c01-04.rom", 0x20000, 0x20000, CRC(358bd076) SHA1(beb20a09370d05de719dde596eadca8fecb14ce5) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "c01-08.rom", 0x00000, 0x10000, CRC(810efff8) SHA1(dd4fc046095e0e815e8e1fd96d258da0d6bba298) ) - - ROM_REGION( 0x20000, "slave", 0 ) - ROM_LOAD( "c01-07.rom", 0x00000, 0x20000, CRC(5117c98f) SHA1(16b3a443eb113d2591833884a1b0ff297d8c00a4) ) - - ROM_REGION( 0x180000, "gfx1", 0 ) - ROM_LOAD( "c01-01.rom", 0x000000, 0x80000, CRC(f302e6e9) SHA1(456b046932c1ee29c890b8e87d417c4bb508c06a) ) - ROM_LOAD( "c01-02.rom", 0x080000, 0x80000, CRC(1e0476c4) SHA1(b7922e5196990ad4382f367ec80b5c72e75f9d35) ) - ROM_LOAD( "c01-03.rom", 0x100000, 0x80000, CRC(2a142dbc) SHA1(5d0e40ec266d3abcff4237c5c609355c65b4fa33) ) - - ROM_REGION( 0x20000, "adpcm", 0 ) /* ADPCM samples */ - ROM_LOAD( "c01-05.rom", 0x00000, 0x20000, CRC(22efad4a) SHA1(54fb33dfba5059dee16fa8b5a33b0b2d62a78373) ) -ROM_END - -ROM_START( champwrj ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "c01-06.bin", 0x00000, 0x20000, CRC(90fa1409) SHA1(7904488d567ce5d8705b2d2c8a4b4aae310cc28b) ) - ROM_LOAD( "c01-04.rom", 0x20000, 0x20000, CRC(358bd076) SHA1(beb20a09370d05de719dde596eadca8fecb14ce5) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "c01-08.rom", 0x00000, 0x10000, CRC(810efff8) SHA1(dd4fc046095e0e815e8e1fd96d258da0d6bba298) ) - - ROM_REGION( 0x20000, "slave", 0 ) - ROM_LOAD( "c01-07.rom", 0x00000, 0x20000, CRC(5117c98f) SHA1(16b3a443eb113d2591833884a1b0ff297d8c00a4) ) - - ROM_REGION( 0x180000, "gfx1", 0 ) - ROM_LOAD( "c01-01.rom", 0x000000, 0x80000, CRC(f302e6e9) SHA1(456b046932c1ee29c890b8e87d417c4bb508c06a) ) - ROM_LOAD( "c01-02.rom", 0x080000, 0x80000, CRC(1e0476c4) SHA1(b7922e5196990ad4382f367ec80b5c72e75f9d35) ) - ROM_LOAD( "c01-03.rom", 0x100000, 0x80000, CRC(2a142dbc) SHA1(5d0e40ec266d3abcff4237c5c609355c65b4fa33) ) - - ROM_REGION( 0x20000, "adpcm", 0 ) /* ADPCM samples */ - ROM_LOAD( "c01-05.rom", 0x00000, 0x20000, CRC(22efad4a) SHA1(54fb33dfba5059dee16fa8b5a33b0b2d62a78373) ) -ROM_END - - -ROM_START( kurikint ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b42-09.ic2", 0x00000, 0x20000, CRC(e97c4394) SHA1(fdeb15315166f7615d4039d5dc9c28d53cee86f2) ) - ROM_LOAD( "b42-06.ic6", 0x20000, 0x20000, CRC(fa15fd65) SHA1(a810d7315878212e4e5344a24addf117ea6baeab) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b42-01.ic1", 0x00000, 0x80000, CRC(7d1a1fec) SHA1(28311b07673686c18988400d0254533a454f07f4) ) - ROM_LOAD( "b42-02.ic5", 0x80000, 0x80000, CRC(1a52e65c) SHA1(20a1fc4d02b5928fb01444079692e23d178c6297) ) -ROM_END - -ROM_START( kurikintw ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b42-10.ic2", 0x00000, 0x20000, CRC(87460109) SHA1(78d0726f5d344673828191bf2e56e9741e977350) ) - ROM_LOAD( "b42-06.ic6", 0x20000, 0x20000, CRC(fa15fd65) SHA1(a810d7315878212e4e5344a24addf117ea6baeab) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b42-01.ic1", 0x00000, 0x80000, CRC(7d1a1fec) SHA1(28311b07673686c18988400d0254533a454f07f4) ) - ROM_LOAD( "b42-02.ic5", 0x80000, 0x80000, CRC(1a52e65c) SHA1(20a1fc4d02b5928fb01444079692e23d178c6297) ) -ROM_END - -ROM_START( kurikintu ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b42-08.ic2", 0x00000, 0x20000, CRC(7075122e) SHA1(55f5f0cf3b91b7b408f9c05c91f9839c43b49c5f) ) - ROM_LOAD( "b42-06.ic6", 0x20000, 0x20000, CRC(fa15fd65) SHA1(a810d7315878212e4e5344a24addf117ea6baeab) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b42-01.ic1", 0x00000, 0x80000, CRC(7d1a1fec) SHA1(28311b07673686c18988400d0254533a454f07f4) ) - ROM_LOAD( "b42-02.ic5", 0x80000, 0x80000, CRC(1a52e65c) SHA1(20a1fc4d02b5928fb01444079692e23d178c6297) ) -ROM_END - -ROM_START( kurikintj ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "b42-05.ic2", 0x00000, 0x20000, CRC(077222b8) SHA1(953fb3444f6bb0dbe0323a0fd8fc3067b106a4f6) ) - ROM_LOAD( "b42-06.ic6", 0x20000, 0x20000, CRC(fa15fd65) SHA1(a810d7315878212e4e5344a24addf117ea6baeab) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "b42-01.ic1", 0x00000, 0x80000, CRC(7d1a1fec) SHA1(28311b07673686c18988400d0254533a454f07f4) ) - ROM_LOAD( "b42-02.ic5", 0x80000, 0x80000, CRC(1a52e65c) SHA1(20a1fc4d02b5928fb01444079692e23d178c6297) ) -ROM_END - -ROM_START( kurikinta ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "kk_ic2.ic2", 0x00000, 0x20000, CRC(908603f2) SHA1(f810f2501458224e9264a984f22547cc8ccc2b0e) ) - ROM_LOAD( "kk_ic6.ic6", 0x20000, 0x20000, CRC(a4a957b1) SHA1(bbdb5b71ab613a8c89f7a0300abd85408951dc7e) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "b42-07.ic22", 0x00000, 0x10000, CRC(0f2719c0) SHA1(f870335a75f236f0059522f9a577dee7ca3acb2f) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "kk_1-1l.rom", 0x00000, 0x20000, CRC(df1d4fcd) SHA1(300cad3636ea9648595c3f4bba3ca737f95f7354) ) - ROM_LOAD16_BYTE( "kk_2-2l.rom", 0x40000, 0x20000, CRC(fca7f647) SHA1(0571e8fc2eda9f139e81d6d191368fb99764f797) ) - ROM_LOAD16_BYTE( "kk_5-3l.rom", 0x80000, 0x20000, CRC(d080fde1) SHA1(e5011cdf35bf5d39f4786e6d60d2b35a79560dfa) ) - ROM_LOAD16_BYTE( "kk_7-4l.rom", 0xc0000, 0x20000, CRC(f5bf6829) SHA1(4c1b4c6f451ed823730762f67c2e716789cddb10) ) - ROM_LOAD16_BYTE( "kk_3-1h.rom", 0x00001, 0x20000, CRC(71af848e) SHA1(1e4d050c9191a8645f324de84767662ed80165b6) ) - ROM_LOAD16_BYTE( "kk_4-2h.rom", 0x40001, 0x20000, CRC(cebb5bac) SHA1(6c1e3cdea353bd835b49b95af0bb718e2b46ecfe) ) - ROM_LOAD16_BYTE( "kk_6-3h.rom", 0x80001, 0x20000, CRC(322e3752) SHA1(7592b5dc7945c96f53aeb5c328c54c0dcba3809a) ) - ROM_LOAD16_BYTE( "kk_8-4h.rom", 0xc0001, 0x20000, CRC(117bde99) SHA1(fe0f56b6c840e35870639c4de129443e14720a7b) ) -ROM_END - -/************************************************************************ - - Plotting / Flipull rom numbering listed: - - B96-01 - Japanese main program rom - B96-02 - Original graphics rom - B96-03 - Original graphics rom - B96-04 - PAL 16L8BCJ - B96-05 - US main program rom - B96-06 - Original World main program rom - B96-07 - Revised graphics rom - B96-08 - Revised graphics rom - B96-09 - Later World main program rom?? - B96-10 - Later World main program rom?? - - -PCB number info: - K1100439A FLIPULL - K1100441A PLOTTING - K1100466A (US Plotting PCB ID#?) - - +--------------------------+ - _| PAL 4 4 4 4 | -| 3 3 3 3 | -| VOL 2 2 2 2 | -| 5 5 5 5 | -| 6 6 6 6 | -| | -|J +---------+ | -|A OSC | | | -|M YM3014 |TC0090LVC| | -|M MB3771 | | | -|A +---------+ | -| | -| +-------+ B B B | -| |YM2203C| 9 9 9 | -| +-------+ 6 6 6 | -|_ 0 0 0 | - | DSB DSA 1 7 8 | - +--------------------------+ - -OSC 13.33056MHz -RAM uPD43256 -PAL 16L8BCJ (labeled as B96-04) -CPU TC0090LVC (All in one Z80 & system controller??) - -************************************************************************/ - -ROM_START( plotting ) /* Likely B96-10 or higher by Taito's rom numbering system, demo mode is 1 player */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ic10", 0x00000, 0x10000, CRC(be240921) SHA1(f29f3a49b563f24aa6e3187ac4da1a8100cb02b5) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) ) - ROM_LOAD16_BYTE( "b96-08.ic8", 0x00001, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) ) /* derived, but verified Pal Stamped B86-04 */ -ROM_END - - -ROM_START( plottinga ) /* B96-09 or higher by Taito's rom numbering system, demo mode is 2 players */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "plot01.ic10", 0x00000, 0x10000, CRC(5b30bc25) SHA1(df8839a90da9e5122d75b6faaf97f59499dbd316) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) ) - ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) ) /* derived, but verified Pal Stamped B86-04 */ -ROM_END - -ROM_START( plottingb ) /* The first (earliest) "World" version by Taito's rom numbering system, demo mode is 2 players */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b96-06.ic10",0x00000, 0x10000, CRC(f89a54b1) SHA1(19757b5fb61acdd6f5ae8e32a38ae54bfda0c522) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) ) - ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) ) /* derived, but verified Pal Stamped B86-04 */ -ROM_END - -ROM_START( plottingu ) /* The demo mode is 2 players */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b96-05.ic10",0x00000, 0x10000, CRC(afb99d1f) SHA1(a5cabc182d4f1d5709e6835d8b0a481dd0f9a563) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b96-02.ic9", 0x00000, 0x10000, CRC(6e0bad2a) SHA1(73996688cd058a2f56f61ea60144b9c673919a58) ) - ROM_LOAD16_BYTE( "b96-03.ic8", 0x00001, 0x10000, CRC(fb5f3ca4) SHA1(0c335acceea50133a6899f9e368cff5f61b55a96) ) - - ROM_REGION( 0x0200, "plds", 0 ) // PAL16L8 - ROM_LOAD( "b96-04.ic12", 0x0000, 0x0104, CRC(9390a782) SHA1(9e68948ed15d96c1998e5d5cd99b823676e555e7) ) /* Confirmed/Matches U.S. set */ -ROM_END - -ROM_START( flipull ) /* The demo mode is 1 player */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b96-01.ic10",0x00000, 0x10000, CRC(65993978) SHA1(d14dc70f1b5e72b96ccc3fab61d7740f627bfea2) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "b96-07.ic9", 0x00000, 0x10000, CRC(0713a387) SHA1(0fc1242ce02a56279fa1d5270c905bba7cdcd072) ) - ROM_LOAD16_BYTE( "b96-08.ic8", 0x00001, 0x10000, CRC(55b8e294) SHA1(14405638f751adfadb022bf7a0123a3972d4a617) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8-b86-04.bin", 0x0000, 0x0117, CRC(bf8c0ea0) SHA1(e0a00f1f6363fb79650202f90a56329990876d49) ) /* derived, but verified Pal Stamped B86-04 */ -ROM_END - -ROM_START( puzznic ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "c20-09.ic11", 0x00000, 0x20000, CRC(156d6de1) SHA1(c247936b62ef354851c9bace76a7a0aa14194d5f) ) - - ROM_REGION( 0x0800, "mcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "c20-01.ic4", 0x0000, 0x0800, CRC(085f68b4) SHA1(2dbc7e2c015220dc59ee1f1208540744e5b9b7cc) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "c20-07.ic10", 0x00000, 0x10000, CRC(be12749a) SHA1(c67d1a434486843a6776d89e905362b7db595d8d) ) - ROM_LOAD16_BYTE( "c20-06.ic9", 0x00001, 0x10000, CRC(ac85a9c5) SHA1(2d72dae86a191ccdac9648980aca832fb9886544) ) - - ROM_REGION( 0x0800, "pals", 0 ) - ROM_LOAD( "mmipal20l8.ic3", 0x0000, 0x0800, NO_DUMP ) -ROM_END - -ROM_START( puzznicu ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "c20-10.ic11", 0x00000, 0x20000, CRC(3522d2e5) SHA1(2428663d1d71f2920c69cd2cd907f0750c22af77) ) - - ROM_REGION( 0x0800, "mcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "c20-01.ic4", 0x0000, 0x0800, CRC(085f68b4) SHA1(2dbc7e2c015220dc59ee1f1208540744e5b9b7cc) ) - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "c20-03.ic10", 0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) ) - ROM_LOAD16_BYTE( "c20-02.ic9", 0x00001, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) ) - - ROM_REGION( 0x0800, "pals", 0 ) - ROM_LOAD( "mmipal20l8.ic3", 0x0000, 0x0800, NO_DUMP ) -ROM_END - -ROM_START( puzznicj ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "c20-04.ic11", 0x00000, 0x20000, CRC(a4150b6c) SHA1(27719b8993735532cd59f4ed5693ff3143ee2336) ) - - ROM_REGION( 0x0800, "mcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "c20-01.ic4", 0x0000, 0x0800, CRC(085f68b4) SHA1(2dbc7e2c015220dc59ee1f1208540744e5b9b7cc) ) - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "c20-03.ic10", 0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) ) - ROM_LOAD16_BYTE( "c20-02.ic9", 0x00001, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) ) - - ROM_REGION( 0x0200, "pals", 0 ) // PAL20L8 - ROM_LOAD( "c20-05.ic3", 0x0000, 0x0144, CRC(f90e5594) SHA1(6181bb25b77028bb150c84bdc073f0457efd7eaa) ) // Confirmed/Matches Japan Set -ROM_END - -ROM_START( puzznici ) /* bootleg (original main board, bootleg sub-board without MCU) */ - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "1.ic11", 0x00000, 0x20000, CRC(4612f5e0) SHA1(dc07a365414666568537d31ef01b58f2362cadaf) ) - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "u10.ic10", 0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) ) - ROM_LOAD16_BYTE( "3.ic9", 0x00001, 0x20000, CRC(2bf5232a) SHA1(a8fc06bb8bae2ca6bd21e3a96c9ed38bb356d5d7) ) -ROM_END - -ROM_START( puzznicb ) /* bootleg (original main board, bootleg sub-board without MCU) */ - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "ic11.bin", 0x00000, 0x20000, CRC(2510df4d) SHA1(534327e3d7f847b6c0effc5fd0fb9f5da9b0d3b1) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) // this has the bad line in tile 1 fixed (unused I believe) are we sure the roms used in the original sets are a good dump? - ROM_LOAD16_BYTE( "ic10.bin", 0x00000, 0x10000, CRC(be12749a) SHA1(c67d1a434486843a6776d89e905362b7db595d8d) ) - ROM_LOAD16_BYTE( "ic9.bin", 0x00001, 0x10000, CRC(0f183340) SHA1(9eef7de801eb9763313f55a38e567b92fca3bfa6) ) -ROM_END - -ROM_START( puzznicba ) /* bootleg (original main board, bootleg sub-board without MCU) - marked PUZZNIC-2 008900 42 */ - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "18.ic10", 0x00000, 0x20000, CRC(8349eb3b) SHA1(589dc99a22b3d7623b1ea6c1053f3b3dfe520547) ) - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "19.ic9", 0x00000, 0x20000, CRC(4264056c) SHA1(d2d8a170ae0f361093a5384935238605a59e5938) ) - ROM_LOAD16_BYTE( "20.ic8", 0x00001, 0x20000, CRC(3c115f8b) SHA1(8d518be01b7c4d6d993d5d9b62aab719a5c8baca) ) -ROM_END -/* - -Taito's Horse Shoe - -Main PCB is a L System board with a SUB PCB for roms. - -Main (M4300189A / K1100589A): - CPU: TC0090LVC (Embedded Z80 core) - Sound: Yamaha YM2203C / Y3014B - RAM: Four 43256 compatible type ram (Toshiba TC55257APL-10) - OSC: 13.33056MHz - DIPS: Two 8-way dipswitch blocks - -SUB PCB (K9100282A / J9100220A) - 5 Rom chips type M27C1001 labeled C47 01 through C47 05 - Pal 20L8BCNS - NEC uPD4701AC - -*/ - -ROM_START( horshoes ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "c47-03.ic6", 0x00000, 0x20000, CRC(37e15b20) SHA1(85baa0ee553e4c9fed38294ba8912f18f519e62f) ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "c47-02.ic5", 0x00000, 0x10000, CRC(35f96526) SHA1(e7f9b33d82b050aff49f991aa12db436421caa5b) ) /* silkscreened CH0-L */ - ROM_CONTINUE ( 0x40000, 0x10000 ) - ROM_LOAD16_BYTE( "c47-01.ic11", 0x20000, 0x10000, CRC(031c73d8) SHA1(deef972fbf226701f9a6469ae3934129dc52ce9c) ) /* silkscreened CH1-L */ - ROM_CONTINUE ( 0x60000, 0x10000 ) - ROM_LOAD16_BYTE( "c47-04.ic4", 0x00001, 0x10000, CRC(aeac7121) SHA1(cf67688cde14d452da6d9cbd7a81593f4048ce77) ) /* silkscreened CH0-H */ - ROM_CONTINUE ( 0x40001, 0x10000 ) - ROM_LOAD16_BYTE( "c47-05.ic10", 0x20001, 0x10000, CRC(b2a3dafe) SHA1(5ffd3e296272ef3f31432005c827f057aac79497) ) /* silkscreened CH1-H */ - ROM_CONTINUE ( 0x60001, 0x10000 ) - - ROM_REGION( 0x0200, "plds", 0 ) // PAL20L8BCNS - ROM_LOAD( "c47-06.ic12", 0x0000, 0x0144, CRC(4342ca6c) SHA1(9c798a6f1508b03004b76577eb823f004df7298d) ) - -ROM_END - -ROM_START( palamed ) /* Prototype or location test?? - Line 5 of notice screen says "Territory" later sets say "Territories" */ - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "palamedes_prg_ic6.ic6", 0x00000, 0x20000, CRC(ee957b0e) SHA1(cca9db673026f769776cb86734a6503692676fbe) ) /* hand labeled as PALAMEDEStm [PRG] IC6 */ - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "chr-l_ic9.ic9", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) ) /* hand labeled as CHR-L IC9 */ - ROM_LOAD16_BYTE( "chr-h_ic7.ic7", 0x00001, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) ) /* hand labeled as CHR-H IC7 */ -ROM_END - -ROM_START( palamedj ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "c63-02.ic6", 0x00000, 0x20000, CRC(55a82bb2) SHA1(f157ad770351d4b8d8f8c061c4e330d6391fc624) ) - - ROM_REGION( 0x40000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "c63-04.ic9", 0x00000, 0x20000, CRC(c7bbe460) SHA1(1c1f186d0b0b2e383f82c53ae93b975a75f50f9c) ) - ROM_LOAD16_BYTE( "c63-03.ic7", 0x00001, 0x20000, CRC(fcd86e44) SHA1(bdd0750ed6e93cc49f09f4ccb05b0c4a44cb9c23) ) -ROM_END - -ROM_START( cachat ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "cac6", 0x00000, 0x20000, CRC(8105cf5f) SHA1(e6dd22165436c247db887a04c3e69c9e2505bb33) ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "cac9", 0x00000, 0x20000, CRC(bc462914) SHA1(3eede8940cabadf563acb63059bfc2d13253b29f) ) - ROM_LOAD16_BYTE( "cac10", 0x40000, 0x20000, CRC(ecc64b31) SHA1(04ce97cdcdbdbd38602011f5ed27fe9182fb500a) ) - ROM_LOAD16_BYTE( "cac7", 0x00001, 0x20000, CRC(7fb71578) SHA1(34cfa1383ea1f3cbf45eaf6b989a1248cdef1bb9) ) - ROM_LOAD16_BYTE( "cac8", 0x40001, 0x20000, CRC(d2a63799) SHA1(71b024b239834ef068b7fc20cd49aae7853e0f7c) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) ) -ROM_END - -ROM_START( tubeit ) /* Title changed. Year, copyright and manufacture removed */ - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "t-i_02.6", 0x00000, 0x20000, CRC(54730669) SHA1(a44ebd31a8588a133a7552a39fa8d52ba1985e45) ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "t-i_03.7", 0x00001, 0x40000, CRC(e1c3fed0) SHA1(cd68dbf61ed820f4aa50c630e7cb778aafb433c2) ) - ROM_LOAD16_BYTE( "t-i_04.9", 0x00000, 0x40000, CRC(b4a6e31d) SHA1(e9abab8f19c78207f25a62104bcae1e391cbd2c0) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "pal20l8b-c63-01.14", 0x0000, 0x0144, CRC(14a7dd2a) SHA1(2a39ca6069bdac553d73c34db6f50f880559113c) ) -ROM_END - -ROM_START( cubybop ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "cb06.6", 0x00000, 0x40000, CRC(66b89a85) SHA1(2ba26d71fd1aa8e64584a5908a1d797666718d49) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "cb09.9", 0x00000, 0x40000, CRC(5f831e59) SHA1(db319a6c1058200274d687163b4df2f78a2bf879) ) - ROM_LOAD16_BYTE( "cb10.10", 0x80000, 0x40000, CRC(430510fc) SHA1(95c0a0ebd0485a15090f302e5d2f4da8204baf7c) ) - ROM_LOAD16_BYTE( "cb07.7", 0x00001, 0x40000, CRC(3582de99) SHA1(51620cc9044aef8e5ed0335b7d5d6d67a7857005) ) - ROM_LOAD16_BYTE( "cb08.8", 0x80001, 0x40000, CRC(09e18a51) SHA1(18db47d1d84f9be892bc796116c7ef7d0c1ee59f) ) -ROM_END - -ROM_START( plgirls ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "pg03.ic6", 0x00000, 0x40000, CRC(6ca73092) SHA1(f5679f047a29b936046c0d3677489df553ad7b41) ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "pg02.ic9", 0x00000, 0x40000, CRC(3cf05ca9) SHA1(502c45a5330dda1b2fbf7d3d0c9bc6e889ff07d8) ) - ROM_LOAD16_BYTE( "pg01.ic7", 0x00001, 0x40000, CRC(79e41e74) SHA1(aa8efbeeee47f84e19b639821a89a7bcd67fe7a9) ) -ROM_END - -ROM_START( plgirls2 ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "pg2_1j.ic6", 0x00000, 0x40000, CRC(f924197a) SHA1(ecaaefd1b3715ba60608e05d58be67e3c71f653a) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD16_BYTE( "cho-l.ic9", 0x00000, 0x80000, CRC(956384ec) SHA1(94a2b95f340e96bdccbeafd373f0dea90b8328dd) ) - ROM_LOAD16_BYTE( "cho-h.ic7", 0x00001, 0x80000, CRC(992f99b1) SHA1(c79f1014d73654740f7823812f92376d65d6b15d) ) -ROM_END - -ROM_START( plgirls2b ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "playgirls2b.d1", 0x00000, 0x40000, CRC(d58159fa) SHA1(541c6ca5f12c38b5a08f90048f52c31d27bb9233) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "playgirls2b.d8", 0x00003, 0x40000, CRC(22df48b5) SHA1(be51dbe55f84dd1b7c30da0e4d98c874b0803382) ) - ROM_LOAD32_BYTE( "playgirls2b.d4", 0x00001, 0x40000, CRC(bc9e2192) SHA1(7bc7f46295166a84c849e9ea82428e653375d9d6) ) - ROM_LOAD32_BYTE( "playgirls2b.b6", 0x00000, 0x40000, CRC(aac6c90b) SHA1(965cea2fb5f3aaabb4378fc24899af53de745ff3) ) - ROM_LOAD32_BYTE( "playgirls2b.d3", 0x00002, 0x40000, CRC(75d82fab) SHA1(4eb9ee416944a36f016e7d353f79884915da2730) ) -ROM_END - - -ROM_START( evilston ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "c67-03.ic2", 0x00000, 0x20000, CRC(53419982) SHA1(ecc338e2237d26c5ff25b756d371b26b23beed1e) ) - ROM_LOAD( "c67-04.ic6", 0x20000, 0x20000, CRC(55d57e19) SHA1(8815bcaafe7ee056314b4131e3fb7963854dd6ba) ) - - ROM_REGION( 0x80000, "audiocpu", 0 ) - ROM_LOAD( "c67-05.ic22", 0x00000, 0x20000, CRC(94d3a642) SHA1(af20aa5bb60a45c05eb1deba23ba30e6640ca235) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "c67-01.ic1", 0x00000, 0x80000, CRC(2f351bf4) SHA1(0fb37abf3413cd11baece1c9bbca5a51b0f28938) ) - ROM_LOAD( "c67-02.ic5", 0x80000, 0x80000, CRC(eb4f895c) SHA1(2c902572fe5a5d4442e4dd29e8a85cb40c384140) ) -ROM_END - -/* - -LA Girl -Clearly a bootleg / hack of Play Girls by Hot-B, reportedly by Ta Ta Electronics, 1993 - -PCB Layout ----------- - -|------------------------------------------| -|VOL 4558 YM3014 ROM4 | -|UPC1241 2018 ROM5 | -| YM2203 TPC1020 | -| DSW1(8) | -| DSW2(8) | -| 6264 ROM3 | -|J ROM2 | -|A 27.2109MHz | -|M | -|M PAL | -|A PAL | -| 6264 TPC1020 PAL | -| ROM1 | -| 6264 | -| 6264 | -| PAL TPC1020 | -| Z80B | -| 44256 44256 | -|PAL 44256 44256 | -|------------------------------------------| -Notes: - Z80 - clock 6.802725MHz [27.2109/4] - YM2203 - clocks 3.4013625 [27/2109/8] & 1.1337875 [27.2109/24] - VSync - 55.8268Hz \ possibly sync/PCB fault, had to adjust - HSync - 14.7739kHz / h/v syncs on monitor to get a stable picture - -*/ - -ROM_START( lagirl ) - ROM_REGION( 0x40000, "maincpu", 0 ) - ROM_LOAD( "rom1", 0x00000, 0x40000, CRC(ba1acfdb) SHA1(ff1093c2d0887287ce451417bd373e00f2881ce7) ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "rom2", 0x00003, 0x20000, CRC(4c739a30) SHA1(4426f51aac9bb39f5d1a7616d183ff6c76749dc2) ) - ROM_LOAD32_BYTE( "rom3", 0x00001, 0x20000, CRC(4cf22a4b) SHA1(1c933ccbb6a5b8a6795385d7970db5f7138e572e) ) - ROM_LOAD32_BYTE( "rom4", 0x00002, 0x20000, CRC(7dcd6696) SHA1(8f3b1fe669520142668af6dc2d04f13767048989) ) - ROM_LOAD32_BYTE( "rom5", 0x00000, 0x20000, CRC(b1782816) SHA1(352663974886e1e4358e55b87c8bf0cdb979f177) ) -ROM_END - - - -// bits 7..0 => bits 0..7 -void taitol_1cpu_state::init_plottinga() -{ - u8 tab[256]; - u8 *RAM = m_main_prg->base(); - - for (unsigned i = 0; i < sizeof(tab); i++) - tab[i] = bitswap<8>(i, 0, 1, 2, 3, 4, 5, 6, 7); - - for (unsigned i = 0; i < m_main_prg->bytes(); i++) - RAM[i] = tab[RAM[i]]; -} - - -GAME( 1988, raimais, 0, raimais, raimais, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Raimais (World)", 0 ) -GAME( 1988, raimaisj, raimais, raimais, raimaisj, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation", "Raimais (Japan)", 0 ) -GAME( 1988, raimaisjo, raimais, raimais, raimaisj, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation", "Raimais (Japan, first revision)", 0 ) - -GAME( 1988, fhawk, 0, fhawk, fhawk, fhawk_state, empty_init, ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 ) -GAME( 1988, fhawkj, fhawk, fhawk, fhawkj, fhawk_state, empty_init, ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 ) - -GAME( 1989, champwr, 0, champwr, champwr, champwr_state, empty_init, ROT0, "Taito Corporation Japan", "Champion Wrestler (World)", MACHINE_IMPERFECT_SOUND ) -GAME( 1989, champwru, champwr, champwr, champwru, champwr_state, empty_init, ROT0, "Taito America Corporation", "Champion Wrestler (US)", MACHINE_IMPERFECT_SOUND ) -GAME( 1989, champwrj, champwr, champwr, champwrj, champwr_state, empty_init, ROT0, "Taito Corporation", "Champion Wrestler (Japan)", MACHINE_IMPERFECT_SOUND ) - -GAME( 1988, kurikint, 0, kurikint, kurikint, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Kuri Kinton (World)", 0 ) -GAME( 1988, kurikintw, kurikint, kurikint, kurikintj, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation (World Games, Inc. license)", "Kuri Kinton (US, World Games license)", 0 ) -GAME( 1988, kurikintu, kurikint, kurikint, kurikintj, taitol_2cpu_state, empty_init, ROT0, "Taito America Corporation", "Kuri Kinton (US)", 0 ) -GAME( 1988, kurikintj, kurikint, kurikint, kurikintj, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation", "Kuri Kinton (Japan)", 0 ) -GAME( 1988, kurikinta, kurikint, kurikint, kurikinta, taitol_2cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 ) - -GAME( 1989, plotting, 0, plotting, plotting, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Plotting (World set 1)", 0 ) -GAME( 1989, plottinga, plotting, plotting, plotting, taitol_1cpu_state, init_plottinga, ROT0, "Taito Corporation Japan", "Plotting (World set 2, protected)", 0 ) -GAME( 1989, plottingb, plotting, plotting, plotting, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 ) -GAME( 1989, plottingu, plotting, plotting, plottingu, taitol_1cpu_state, empty_init, ROT0, "Taito America Corporation", "Plotting (US)", 0 ) -GAME( 1989, flipull, plotting, plotting, plotting, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation", "Flipull (Japan)", 0 ) - -GAME( 1989, puzznic, 0, puzznic, puzznic, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation Japan", "Puzznic (World)", 0 ) -GAME( 1989, puzznicu, puzznic, puzznic, puzznic, taitol_1cpu_state, empty_init, ROT0, "Taito America Corporation", "Puzznic (US)", 0 ) -GAME( 1989, puzznicj, puzznic, puzznic, puzznic, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation", "Puzznic (Japan)", 0 ) -GAME( 1989, puzznici, puzznic, puzznici, puzznic, taitol_1cpu_state, empty_init, ROT0, "bootleg", "Puzznic (Italian bootleg)", 0 ) -GAME( 1989, puzznicb, puzznic, puzznici, puzznic, taitol_1cpu_state, empty_init, ROT0, "bootleg", "Puzznic (bootleg, set 1)", 0 ) -GAME( 1989, puzznicba, puzznic, puzznici, puzznic, taitol_1cpu_state, empty_init, ROT0, "bootleg", "Puzznic (bootleg, set 2)", 0 ) - -GAME( 1990, horshoes, 0, horshoes, horshoes, horshoes_state, empty_init, ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 ) - -GAME( 1990, palamed, 0, palamed, palamed, taitol_1cpu_state, empty_init, ROT0, "Hot-B Co., Ltd.", "Palamedes (US)", 0 ) // Prototype or location test -GAME( 1990, palamedj, palamed, palamed, palamed, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation", "Palamedes (Japan)", 0 ) - -GAME( 1993, cachat, 0, cachat, cachat, taitol_1cpu_state, empty_init, ROT0, "Taito Corporation", "Cachat (Japan)", 0 ) -GAME( 1993, tubeit, cachat, cachat, tubeit, taitol_1cpu_state, empty_init, ROT0, "bootleg", "Tube-It", 0 ) // No (c) message - -GAME( 199?, cubybop, 0, cachat, cubybop, taitol_1cpu_state, empty_init, ROT0, "Hot-B Co., Ltd.", "Cuby Bop (location test)", 0 ) // No (c) message, but Hot-B company logo in tile gfx - -GAME( 1992, plgirls, 0, cachat, plgirls, taitol_1cpu_state, empty_init, ROT270, "Hot-B Co., Ltd.", "Play Girls", 0 ) -GAME( 1992, lagirl, plgirls, cachat, plgirls, taitol_1cpu_state, empty_init, ROT270, "bootleg", "LA Girl", 0 ) // bootleg hardware with changed title & backgrounds - -GAME( 1993, plgirls2, 0, cachat, plgirls2, taitol_1cpu_state, empty_init, ROT270, "Hot-B Co., Ltd.", "Play Girls 2", 0 ) -GAME( 1993, plgirls2b, plgirls2, cachat, plgirls2, taitol_1cpu_state, empty_init, ROT270, "bootleg", "Play Girls 2 (bootleg)", MACHINE_IMPERFECT_GRAPHICS ) // bootleg hardware (regular Z80 etc. instead of TC0090LVC, but acts almost the same - scroll offset problems) - -GAME( 1990, evilston, 0, evilston, evilston, taitol_2cpu_state, empty_init, ROT270, "Spacy Industrial, Ltd.", "Evil Stone", 0 ) |