diff options
Diffstat (limited to 'src/mame/drivers/homedata.cpp')
-rw-r--r-- | src/mame/drivers/homedata.cpp | 2276 |
1 files changed, 0 insertions, 2276 deletions
diff --git a/src/mame/drivers/homedata.cpp b/src/mame/drivers/homedata.cpp deleted file mode 100644 index 987e245ff54..00000000000 --- a/src/mame/drivers/homedata.cpp +++ /dev/null @@ -1,2276 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Phil Stroffolino, Nicola Salmoria -/*************************************************************************** - -Homedata Games - -driver by Phil Stroffolino and Nicola Salmoria - - -*1987 X77 Mahjong Hourouki Part1 -Seisyun Hen- -*1987 X72 Mahjong Hourouki Gaiden -*1988 X73 Mahjong Joshi Pro-wres -Give up 5 byou mae- -*1988 A74 Mahjong Hourouki Okite -*1988 X80 Mahjong Clinic -*1988 M81 Mahjong Rokumeikan -*1988 E82 The Last Apostle Puppetshow -*1988 J82 Reikai Doushi / Chinese Exorcist -*1989 X83 Mahjong Kojin Kyouju (Private Teacher) - 1989 S88 Battle Cry (not released in Japan) -*1989 X90 Mahjong Vitamin C -*1989 X91 Mahjong Yougo no Kiso Tairyoku -*1990 X02 Mahjong Lemon Angel -*1991 X07 Mahjong Kinjirareta Asobi -Ike Ike Kyoushi no Yokubou- - -Games from other companies: - -*1991 M15 Mahjong Ikagadesuka (c) Mitchell -*19?? Mahjong Jogakuen (c) Windom - - -These games use only tilemaps for graphics. These tilemaps are organized into -two pages (a visible page and a backbuffer) which are automatically swapped by the -hardware at vblank. - -Some of the tiles are written directly by the CPU, others are written by a "blitter" -which unpacks RLE data from a ROM. - - -In games using the uPD7807CW, the coprocessor manages input ports and sound/music. - - -Notes: - -- To access service mode in the older mahjong games, keep F2 pressed during boot. - Service mode doesn't work in hourouki because it needs an additional "check" ROM. - -- The "help" button some games ask you to press is the start button. - -- The games can change visible area at runtime. The meaning of the control registers - isn't understood, but it supported enough to give the correct visible area to all - games. - mjkinjas sets the registers to values different from all the other games; it also - has a 11MHz xtal instead of the 9MHz of all the others, so the two things are - probably related. - -- the ROM for the uPD7807 is divided in 4 0x10000 banks. The first three just - contain a simple sample player, followed by the PCM data. The fourth bank contains - the main program. The program literally changes banks under its own feet. However, - the portions of code executed while the bank switch happens are identical in all - banks, so it still works with MAME's standard MRA8_BANK handling. - - -TODO: -- Dip switches! They might be right for mjhokite, but I haven't verified the other - games. - -- In the newer mahjong games, the second bank of dips is read in reverse order. - -- In mjikaga bit 2 of bankswitch_w() and bit 7 of pteacher_blitter_bank_w() might - have some other function, since the ROMs are smaller. - -- wrong gfx in mrokumei at the beginning of a game. It is selecting the wrong gfx bank; - the bank handling seems correct in all other games, so I don't know what's wrong here. - -- mjikaga shows some imperfections with horizontal placement of the screen. - -- in attract mode, hourouki draws a horizontal black bar on the bottom right side of - the display. - - ----------------------------------------------------------------------------- -Mahjong Hourouki -(c)1987 Home Data - -Board: A77-PWB-A-(A) - -CPU: 68B09E Z80-A -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - ----------------------------------------------------------------------------- -Mahjong Hourouki Gaiden -(c)1987 Home Data - -Board: A77-PWB-A-(A) - -CPU: 68B09E Z80-A -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - ----------------------------------------------------------------------------- -Mahjong Hourouki Okite -(c)1988 Homedata - -Almost same board as "Mahjong Clinic" - -Board: X77-PWB-A-(A) A74 PWB-B - -CPU: Hitachi HD68B09EP (location 14G), Sharp LH0080A (Z80A, location 10K) -Sound: SN76489 DAC? -OSC: 16.000MHz (OSC1) 9.000MHz (OSC2) -Custom: HOMEDATA GX61A01 102 8728KK (100pin PQFP, location 8C) - ----------------------------------------------------------------------------- -Mahjong Rokumeikan -(c)1988 Home Data - -Board: A74-PWB-A-(A) (main) A74 PWB-B (sub) - -CPU: 68B09E Z80-A -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -Reikai Doushi (Chinese Exorcist) -aka Last Apostle Puppet Show (US) -(c)1988 HOME DATA - -CPU : 68B09E -SOUND : YM2203 -OSC. : 16.000MHz 9.000MHz - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -Mahjong Kojinkyouju (Private Teacher) -(c)1989 HOME DATA - -Board: X73-PWB-A(C) - -CPU: 6809 uPC324C -Sound: SN76489 -OSC: 16.000MHz 9.000MHz - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -Mahjong Joshi Pro-wres -Give up 5 byou mae- -(c)1988 HOME DATA - -Board: X73-PWB-A(C) - -CPU: 6809 uPC324C -Sound: SN76489 -OSC: 16.000MHz 9.000MHz -ROM: 28 pin mask rom devices are 1mbit, 32 pin are 2mbit. - ----------------------------------------------------------------------------- -Mahjong Vitamin C -(c)1989 Home Data - -Board: X73-PWB-A(A) -Board: X83-PWB-AC(A) - -CPU: 68B09E uPD7807CW(?) -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - -Note: Manual dips are completely wrong, this actually matches pteacher - ----------------------------------------------------------------------------- -Mahjong-yougo no Kisotairyoku -(c)1989 Home Data - -Board: X83-PWB-A(A) - -CPU: 68B09E uPD7807CW(?) -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - ----------------------------------------------------------------------------- -Mahjong Kinjirareta Asobi -(c)1990 Home Data - -Board: X83-PWB-A(A) - -CPU: 68B09E uPD7807CW -Sound: SN76489AN DAC -OSC: 11.000MHz 16.000MHz -Custom: GX61A01 - -Note: seems likely above 11mhz crystal was a repair - ----------------------------------------------------------------------------- -Mahjong Jogakuen -(c)19?? Windom - -Board: X83-PWB-A(A) - -CPU: 68B09E uPD7807CW(?) -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- -Mahjong Lemon Angel -(c)1990 Homedata - -Board: X83-PWB-A(A) - -CPU: Fujitsu MBL68B09E (16G) - (surface scratched 64pin DIP device on location 12G) [probably uPD7807CW] -Sound: SN76489 -OSC: 16.0000MHz (XTAL1) 9.000MHz (XTAL2) -Custom: HOMEDATA GX61A01 102 8842KK - ----------------------------------------------------------------------------- -Mahjong Ikagadesuka -(c)1991 Mitchell - -Board: X83-PWB-A(A) - -CPU: 68B09E uPD7807CW -Sound: SN76489AN DAC -OSC: 9.000MHz 16.000MHz -Custom: GX61A01 - -***************************************************************************/ - -#include "emu.h" -#include "includes/homedata.h" - -#include "cpu/m6809/m6809.h" -#include "cpu/upd7810/upd7810.h" -#include "cpu/z80/z80.h" -#include "sound/dac.h" -#include "sound/volt_reg.h" -#include "screen.h" -#include "speaker.h" - - -INTERRUPT_GEN_MEMBER(homedata_state::homedata_irq) -{ - m_vblank = 1; - device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); -} - - -/******************************************************************************** - - Older Mahjong games: - - single CPU, handling SN76489 + DAC and inputs - - ********************************************************************************/ - -READ8_MEMBER(homedata_state::mrokumei_keyboard_r) -{ - int res = 0x3f,i; - - /* offset 0 is player 1, offset 1 player 2 (not supported) */ - if (offset == 0) - { - for (i = 0; i < 5; i++) - { - if (m_keyb & (1 << i)) - { - res = m_keys[i]->read() & 0x3f; - break; - } - } - } - - if (offset == 0) - { - /* bit 7: visible page - * bit 6: vblank - * other bits are inputs - */ - res |= m_visible_page << 7; - - if (m_vblank) - res |= 0x40; - - m_vblank = 0; - } - - return res; -} - -WRITE8_MEMBER(homedata_state::mrokumei_keyboard_select_w) -{ - m_keyb = data; -} - - -WRITE8_MEMBER(homedata_state::mrokumei_sound_bank_w) -{ - /* bit 0 = ROM bank - bit 2 = ROM or soundlatch - */ - m_mrokumei_soundbank->set_bank(data & 7); -} - -WRITE8_MEMBER(homedata_state::mrokumei_sound_cmd_w) -{ - m_soundlatch->write(data); - m_audiocpu->set_input_line(0, HOLD_LINE); -} - - -/******************************************************************************** - - Reikai Doushi: - - slave uPD7807, handling YM2203 + DAC and inputs - - ********************************************************************************/ - -READ8_MEMBER(homedata_state::reikaids_upd7807_porta_r) -{ - return m_upd7807_porta; -} - -WRITE8_MEMBER(homedata_state::reikaids_upd7807_porta_w) -{ - m_upd7807_porta = data; -} - -WRITE8_MEMBER(homedata_state::reikaids_upd7807_portc_w) -{ - /* port C layout: - 7 coin counter - 6 to main CPU (data) - 5 YM2203 write clock - 4 YM2203 read clock - 3 YM2203 address (0 = register select 1 = data) - 2 to main CPU (status) - 1 \ ROM bank - 0 / - */ -// logerror("%s: port C wr %02x (STATUS %d DATA %d)\n", machine().describe_context(), data, BIT(data, 2), BIT(data, 6)); - - m_audiobank->set_entry(data & 0x03); - - machine().bookkeeping().coin_counter_w(0, ~data & 0x80); - - if (BIT(m_upd7807_portc, 5) && !BIT(data, 5)) /* write clock 1->0 */ - m_ymsnd->write(BIT(data, 3), m_upd7807_porta); - - if (BIT(m_upd7807_portc, 4) && !BIT(data, 4)) /* read clock 1->0 */ - m_upd7807_porta = m_ymsnd->read(BIT(data, 3)); - - m_upd7807_portc = data; -} - -READ8_MEMBER(homedata_state::reikaids_io_r) -{ - int res = ioport("IN2")->read(); // bit 4 = coin, bit 5 = service - - res |= BIT(m_upd7807_portc, 2) * 0x01; // bit 0 = upd7807 status - res |= BIT(m_upd7807_portc, 6) * 0x02; // bit 1 = upd7807 data - if (m_vblank) - res |= 0x04; // bit 2 = vblank - res |= m_visible_page * 0x08; // bit 3 = visible page - - m_vblank = 0; - - //logerror("%s: io_r %02x\n", machine().describe_context(), res); - - return res; -} - - -/******************************************************************************** - - Newer Mahjong games: - - slave uPD7807, handling SN76489 + DAC and inputs - - ********************************************************************************/ - -READ8_MEMBER(homedata_state::pteacher_io_r) -{ - /* bit 6: !vblank - * bit 7: visible page - * other bits seem unused - */ - - int res = (m_visible_page ^ 1) << 7; - - if (!m_vblank) - res |= 0x40; - - m_vblank = 0; - - return res; -} - -READ8_MEMBER(homedata_state::pteacher_keyboard_r) -{ - int dips = ioport("DSW")->read(); - - // logerror("%s: keyboard_r with port A = %02x\n",machine().describe_context(),upd7807_porta); - - if (m_upd7807_porta & 0x80) - { - /* player 1 + dip switches */ - int row = (m_upd7807_porta & 0x07); - return m_keys[row]->read() | (((dips >> row) & 1) << 5); // 0-5 - } - if (m_upd7807_porta & 0x08) // TODO: this works fine with dips 7-8 of the 1st bank, but then expects dips 1-4 of the 2nd bank in inverted order - { - /* player 2 + dip switches */ - int row = ((m_upd7807_porta >> 4) & 0x07) + 6; - return m_keys[row]->read() | (((dips >> row) & 1) << 5); // 6-11 - } - - return 0xff; -} - -READ8_MEMBER(homedata_state::pteacher_upd7807_porta_r) -{ - if (!BIT(m_upd7807_portc, 6)) - m_upd7807_porta = m_soundlatch->read(); - else - logerror("%s: read PA with PC *not* clear\n", machine().describe_context()); - - return m_upd7807_porta; -} - -WRITE8_MEMBER(homedata_state::pteacher_upd7807_porta_w) -{ - m_upd7807_porta = data; -} - -WRITE8_MEMBER(homedata_state::pteacher_upd7807_portc_w) -{ - /* port C layout: - 7 coin counter - 6 enable message from main CPU on port A - 5 clock latch for 76489 command - 4 - 3 \ ROM bank - 2 / - 1 input (service) - 0 input (coin) - */ - - // logerror("%s: port C wr %02x\n", machine().describe_context(), data); - - m_audiobank->set_entry((data & 0x0c) >> 2); - - machine().bookkeeping().coin_counter_w(0, ~data & 0x80); - - if (BIT(m_upd7807_portc, 5) && !BIT(data, 5)) /* clock 1->0 */ - m_sn->write(m_upd7807_porta); - - m_upd7807_portc = data; -} - -/********************************************************************************/ - - -WRITE8_MEMBER(homedata_state::bankswitch_w) -{ - int last_bank = (memregion("maincpu")->bytes() - 0x10000) / 0x4000; - - /* last bank is fixed and is #0 for us, other banks start from #1 (hence data+1 below)*/ - if (data < last_bank) - m_mainbank->set_entry(data + 1); - else - m_mainbank->set_entry(0); -} - - -/********************************************************************************/ - - -void homedata_state::mrokumei_map(address_map &map) -{ - map(0x0000, 0x3fff).ram().w(FUNC(homedata_state::mrokumei_videoram_w)).share("videoram"); - map(0x4000, 0x5fff).ram(); - map(0x6000, 0x6fff).ram(); /* work ram */ - map(0x7000, 0x77ff).ram(); /* hourouki expects this to act as RAM */ - map(0x7800, 0x7800).ram(); /* only used to store the result of the ROM check */ - map(0x7801, 0x7802).r(FUNC(homedata_state::mrokumei_keyboard_r)); // also vblank and active page - map(0x7803, 0x7803).portr("IN0"); // coin, service - map(0x7804, 0x7804).portr("DSW1"); // DSW1 - map(0x7805, 0x7805).portr("DSW2"); // DSW2 - map(0x7ff0, 0x7ffd).writeonly().share("vreg"); - map(0x7ffe, 0x7ffe).nopr(); // ??? read every vblank, value discarded - map(0x8000, 0x8000).w(FUNC(homedata_state::mrokumei_blitter_start_w)); // in some games also ROM bank switch to access service ROM - map(0x8001, 0x8001).w(FUNC(homedata_state::mrokumei_keyboard_select_w)); - map(0x8002, 0x8002).w(FUNC(homedata_state::mrokumei_sound_cmd_w)); - map(0x8003, 0x8003).w(m_sn, FUNC(sn76489a_device::write)); - map(0x8006, 0x8006).w(FUNC(homedata_state::homedata_blitter_param_w)); - map(0x8007, 0x8007).w(FUNC(homedata_state::mrokumei_blitter_bank_w)); - map(0x8000, 0xffff).rom(); -} - -void homedata_state::mrokumei_sound_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - // TODO: might be that the entire area is sound_bank_w - map(0xfffc, 0xfffd).nopw(); /* stack writes happen here, but there's no RAM */ - map(0x8080, 0x8080).w(FUNC(homedata_state::mrokumei_sound_bank_w)); - map(0xffbf, 0xffbf).w(FUNC(homedata_state::mrokumei_sound_bank_w)); // hourouki mirror -} - -void homedata_state::mrokumei_sound_io_map(address_map &map) -{ - map(0x0000, 0xffff).r(m_mrokumei_soundbank, FUNC(address_map_bank_device::read8)); /* read address is 16-bit */ - map(0x0040, 0x0040).mirror(0xff00).w("dac", FUNC(dac_byte_interface::data_w)); /* write address is only 8-bit */ - // hourouki mirror... - map(0x007f, 0x007f).mirror(0xff00).w("dac", FUNC(dac_byte_interface::data_w)); /* write address is only 8-bit */ -} - -void homedata_state::mrokumei_sound_banked_map(address_map &map) -{ - map(0x00000, 0x1ffff).mirror(0x20000).rom().region("audiocpu", 0); - map(0x40000, 0x40000).mirror(0x3ffff).r(m_soundlatch, FUNC(generic_latch_8_device::read)); -} - -/********************************************************************************/ - -void homedata_state::reikaids_map(address_map &map) -{ - map(0x0000, 0x3fff).ram().w(FUNC(homedata_state::reikaids_videoram_w)).share("videoram"); - map(0x4000, 0x5fff).ram(); - map(0x6000, 0x6fff).ram(); /* work RAM */ - map(0x7800, 0x7800).ram(); /* behaves as normal RAM */ - map(0x7801, 0x7801).portr("IN0"); - map(0x7802, 0x7802).portr("IN1"); - map(0x7803, 0x7803).r(FUNC(homedata_state::reikaids_io_r)); // coin, blitter, upd7807 - map(0x7ff0, 0x7ffd).writeonly().share("vreg"); - map(0x7ffe, 0x7ffe).w(FUNC(homedata_state::reikaids_blitter_bank_w)); - map(0x7fff, 0x7fff).w(FUNC(homedata_state::reikaids_blitter_start_w)); - map(0x8000, 0x8000).w(FUNC(homedata_state::bankswitch_w)); - map(0x8002, 0x8002).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x8005, 0x8005).w(FUNC(homedata_state::reikaids_gfx_bank_w)); - map(0x8006, 0x8006).w(FUNC(homedata_state::homedata_blitter_param_w)); - map(0x8000, 0xbfff).bankr("mainbank"); - map(0xc000, 0xffff).rom(); -} - -void homedata_state::reikaids_upd7807_map(address_map &map) -{ - map(0x0000, 0xfeff).bankr("audiobank"); /* External ROM (Banked) */ -} - -/**************************************************************************/ - - -void homedata_state::pteacher_base_map(address_map &map) -{ - map(0x0000, 0x3fff).ram().w(FUNC(homedata_state::mrokumei_videoram_w)).share("videoram"); - map(0x4000, 0x5eff).ram(); - map(0x5f00, 0x5fff).ram(); - map(0x6000, 0x6fff).ram(); /* work ram */ - map(0x7800, 0x7800).ram(); /* behaves as normal RAM */ - map(0x7801, 0x7801).r(FUNC(homedata_state::pteacher_io_r)); // vblank, visible page - map(0x7ff0, 0x7ffd).writeonly().share("vreg"); - map(0x7fff, 0x7fff).w(FUNC(homedata_state::pteacher_blitter_start_w)); - map(0x8000, 0x8000).w(FUNC(homedata_state::bankswitch_w)); - map(0x8002, 0x8002).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x8005, 0x8005).w(FUNC(homedata_state::pteacher_blitter_bank_w)); - map(0x8006, 0x8006).w(FUNC(homedata_state::homedata_blitter_param_w)); - map(0x8007, 0x8007).w(FUNC(homedata_state::pteacher_gfx_bank_w)); - map(0x8000, 0xbfff).bankr("mainbank"); - map(0xc000, 0xffff).rom(); -} - -void homedata_state::pteacher_map(address_map &map) -{ - pteacher_base_map(map); - map(0x7ff2, 0x7ff2).r(m_mainlatch, FUNC(generic_latch_8_device::read)); -} - -void homedata_state::pteacher_upd7807_map(address_map &map) -{ - map(0x0000, 0x0000).w(m_mainlatch, FUNC(generic_latch_8_device::write)); - map(0x0000, 0xfeff).bankr("audiobank"); /* External ROM (Banked) */ -} - -/**************************************************************************/ - - - /* it seems that Mahjong Jogakuen runs on the same board as the others, - but with just these two addresses swapped. Instead of creating a new - MachineDriver, I just fix them here. */ -void homedata_state::jogakuen_map(address_map &map) -{ - pteacher_map(map); - map(0x8005, 0x8005).w(FUNC(homedata_state::pteacher_gfx_bank_w)); - map(0x8007, 0x8007).w(FUNC(homedata_state::pteacher_blitter_bank_w)); -} - -/**************************************************************************/ - - -void homedata_state::mjikaga_map(address_map &map) -{ - pteacher_base_map(map); - map(0x7802, 0x7802).r(m_mainlatch, FUNC(generic_latch_8_device::read)); -} - -void homedata_state::mjikaga_upd7807_map(address_map &map) -{ - map(0x0123, 0x0123).w(m_mainlatch, FUNC(generic_latch_8_device::write)); - map(0x0000, 0xfeff).bankr("audiobank"); /* External ROM (Banked) */ -} - -/**************************************************************************/ - - -static INPUT_PORTS_START( mjhokite ) - PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:7" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:6,5") - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x10, 0x10, "Initial Score" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, "1000" ) - PORT_DIPSETTING( 0x00, "2000" ) - PORT_DIPNAME( 0xe0, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:3,2,1") - PORT_DIPSETTING( 0xe0, "1 (easiest)" ) - PORT_DIPSETTING( 0xc0, "2" ) - PORT_DIPSETTING( 0xa0, "3" ) - PORT_DIPSETTING( 0x80, "4" ) - PORT_DIPSETTING( 0x60, "5" ) - PORT_DIPSETTING( 0x40, "6" ) - PORT_DIPSETTING( 0x20, "7" ) - PORT_DIPSETTING( 0x00, "8 (hardest)" ) - - PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Girl Voice" ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "SW2:6" ) - PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW2:5" ) - PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:2" ) - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:1" ) - - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_DIPNAME( 0x02, 0x02, "Freeze?" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) // doesn't work in all games - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_SERVICE_NO_TOGGLE( 0x10, IP_ACTIVE_LOW ) - 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("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("KEY4") - 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_MAHJONG_FLIP_FLOP ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( reikaids ) - PORT_START("IN0") // 0x7801 - 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_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Punch") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Kick") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Jump / Defense") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) - - PORT_START("IN1") // 0x7802 - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Punch") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P2 Kick") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_NAME("P2 Jump / Defense") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 ) - - PORT_START("IN2") // 0x7803 - PORT_BIT( 0x01, IP_ACTIVE_HIGH,IPT_CUSTOM ) /* coprocessor status */ - PORT_BIT( 0x02, IP_ACTIVE_HIGH,IPT_CUSTOM ) /* coprocessor data */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH,IPT_CUSTOM ) /* vblank */ - PORT_BIT( 0x08, IP_ACTIVE_HIGH,IPT_CUSTOM ) /* visible page */ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:2,3") - PORT_DIPSETTING( 0x06, "20k then every 60k" ) - PORT_DIPSETTING( 0x04, "30k then every 80k" ) - PORT_DIPSETTING( 0x02, "20k" ) - PORT_DIPSETTING( 0x00, "30k" ) - PORT_DIPNAME( 0x18, 0x10, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:4,5") - PORT_DIPSETTING( 0x18, "2" ) - PORT_DIPSETTING( 0x10, "3" ) - PORT_DIPSETTING( 0x08, "4" ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x20, "60" ) - PORT_DIPSETTING( 0x00, "45" ) - PORT_DIPNAME( 0x40, 0x40, "Unknown 2-6" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unknown 2-7" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x03, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x02, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:6,7,8") - PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 1C_5C ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( battlcry ) - PORT_INCLUDE( reikaids ) - - PORT_MODIFY("DSW1") // According to manual these DSW #s should be reversed - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW1:1,2,3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, "Up To Stage 1" ) - PORT_DIPSETTING( 0x06, "Up To Stage 2" ) - PORT_DIPSETTING( 0x01, "Up To Stage 3" ) - PORT_DIPSETTING( 0x05, "Up To Stage 4" ) - PORT_DIPSETTING( 0x03, "Up To Stage 5" ) - PORT_DIPSETTING( 0x07, "Up To Stage 6" ) - PORT_DIPNAME( 0x18, 0x10, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:4,5") - PORT_DIPSETTING( 0x18, "1" ) - PORT_DIPSETTING( 0x10, "2" ) - PORT_DIPSETTING( 0x08, "3" ) - PORT_DIPSETTING( 0x00, "4" ) - PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x20, "90" ) - PORT_DIPSETTING( 0x00, "120" ) - PORT_DIPNAME( 0x40, 0x40, "Test Mode" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Unused - Leave OFF" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Background Music" ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:6,7,8") - PORT_DIPSETTING( 0x80, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x60, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mj_keyboard ) - PORT_START("KEY0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_B ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_C ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_D ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_E ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_G ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_H ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_I ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_J ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_L ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_M ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_N ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY5") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) - 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_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY8") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY9") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY10") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("KEY11") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) 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_HIGH, IPT_CUSTOM ) /* dip switch (handled separately) */ - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( pteacher ) - PORT_START("DSW") /* dip switches (handled by pteacher_keyboard_r) */ - PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0000, "In-Game BGM") PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:3,4") - PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0008, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x0010, 0x0010, "Female Voices" ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) - PORT_DIPUNKNOWN_DIPLOC( 0x0020, 0x0020, "SW1:6" ) //SW1:6,7,8 are difficulty - PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW1:7" ) - PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW1:8" ) - - PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_SERVICE_DIPLOC(0x0200, IP_ACTIVE_LOW, "SW2:3" ) - PORT_DIPUNKNOWN_DIPLOC( 0x0400, 0x0400, "SW2:2" ) - PORT_DIPUNKNOWN_DIPLOC( 0x0800, 0x0800, "SW2:1" ) - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("COIN") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_INCLUDE( mj_keyboard ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mjjoship ) - PORT_INCLUDE( pteacher ) - - // Manual wrong for this game - it's an incomplete version of the - // pteacher set, with no service mode and start score instead of - // girl voices. Coins stated in manual in same place but do nothing - - PORT_MODIFY("DSW") - // SW1 - PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" ) - PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" ) - PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" ) - PORT_DIPNAME( 0x0010, 0x0010, "Player Start Score" ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x0010, "1000" ) - PORT_DIPSETTING( 0x0000, "2000" ) - - // SW2 - PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x0200, 0x0200, "SW2:3" ) - -INPUT_PORTS_END - -static INPUT_PORTS_START( jogakuen ) - PORT_START("DSW") /* dip switches (handled by pteacher_keyboard_r) */ - PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") - PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0003, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) ) - PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) - PORT_DIPNAME( 0x0010, 0x0010, "In-Game BGM" ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x0010, DEF_STR( On ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPNAME( 0x0020, 0x0020, "Gal Strip Voice" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_SERVICE( 0x0800, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:1") - PORT_DIPNAME( 0x0700, 0x0700, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,3,4") // not sure about the sequence here - PORT_DIPSETTING( 0x0300, DEF_STR( Easiest ) ) // 'Easy 4' in test mode - PORT_DIPSETTING( 0x0200, DEF_STR( Very_Easy ) ) // 'Easy 3' in test mode - PORT_DIPSETTING( 0x0100, DEF_STR( Easier ) ) // 'Easy 2' in test mode - PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) ) // 'Easy 1' in test mode - PORT_DIPSETTING( 0x0700, DEF_STR( Normal ) ) // 'Normal 0' in test mode - PORT_DIPSETTING( 0x0600, DEF_STR( Hard ) ) // 'Hard 1' in test mode - PORT_DIPSETTING( 0x0500, DEF_STR( Harder ) ) // 'Hard 2' in test mode - PORT_DIPSETTING( 0x0400, DEF_STR( Hardest ) ) // 'Hard 3' in test mode - PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("COIN") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_INCLUDE( mj_keyboard ) -INPUT_PORTS_END - -static INPUT_PORTS_START( mjikaga ) - PORT_START("DSW") /* dip switches (handled by pteacher_keyboard_r) */ - PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0020, 0x0020, "In-Game BGM" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x0020, DEF_STR( On ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) - PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0000, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0800, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0c00, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0400, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_SERVICE( 0x0100, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:4") - PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("COIN") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_INCLUDE( mj_keyboard ) -INPUT_PORTS_END - - -/**************************************************************************/ - - -static const gfx_layout char_layout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 32*8 -}; - -static GFXDECODE_START( gfx_mrokumei ) - GFXDECODE_ENTRY( "gfx1", 0, char_layout, 0x6000, 0x100 ) - GFXDECODE_ENTRY( "gfx2", 0, char_layout, 0x7000, 0x100 ) -GFXDECODE_END - -static const gfx_layout tile_layout = -{ - 8,8, - RGN_FRAC(1,1), - 8, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 }, - 64*8 -}; - -static GFXDECODE_START( gfx_reikaids ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0x6000, 0x20 ) - GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 0x4000, 0x20 ) - GFXDECODE_ENTRY( "gfx3", 0, tile_layout, 0x2000, 0x20 ) - GFXDECODE_ENTRY( "gfx4", 0, tile_layout, 0x0000, 0x20 ) -GFXDECODE_END - -static GFXDECODE_START( gfx_pteacher ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout, 0x0000, 0x40 ) - GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 0x4000, 0x40 ) -GFXDECODE_END - -static const gfx_layout tile_layout_4bpp_hi = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 }, - 64*8 -}; - -static const gfx_layout tile_layout_4bpp_lo = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 }, - 64*8 -}; - -static GFXDECODE_START( gfx_lemnangl ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout_4bpp_hi, 0x0000, 0x200 ) - GFXDECODE_ENTRY( "gfx1", 0, tile_layout_4bpp_lo, 0x2000, 0x200 ) - GFXDECODE_ENTRY( "gfx2", 0, tile_layout_4bpp_lo, 0x4000, 0x200 ) - GFXDECODE_ENTRY( "gfx2", 0, tile_layout_4bpp_hi, 0x6000, 0x200 ) -GFXDECODE_END - - -MACHINE_START_MEMBER(homedata_state,homedata) -{ - save_item(NAME(m_visible_page)); - save_item(NAME(m_flipscreen)); - save_item(NAME(m_blitter_bank)); - save_item(NAME(m_blitter_param_count)); - save_item(NAME(m_blitter_param)); - save_item(NAME(m_vblank)); - save_item(NAME(m_keyb)); -} - -MACHINE_START_MEMBER(homedata_state,reikaids) -{ - uint8_t *ROM = memregion("maincpu")->base(); - - m_mainbank->configure_entries(0, 8, &ROM[0xc000], 0x4000); - m_audiobank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000); - - MACHINE_START_CALL_MEMBER(homedata); - - save_item(NAME(m_upd7807_porta)); - save_item(NAME(m_upd7807_portc)); - - save_item(NAME(m_reikaids_which)); - save_item(NAME(m_gfx_bank)); -} - -MACHINE_START_MEMBER(homedata_state,pteacher) -{ - uint8_t *ROM = memregion("maincpu")->base(); - - m_mainbank->configure_entries(0, 4, &ROM[0xc000], 0x4000); - m_audiobank->configure_entries(0, 4, memregion("audiocpu")->base(), 0x10000); - - MACHINE_START_CALL_MEMBER(homedata); - - save_item(NAME(m_upd7807_porta)); - save_item(NAME(m_upd7807_portc)); - - save_item(NAME(m_gfx_bank)); -} - -MACHINE_RESET_MEMBER(homedata_state,homedata) -{ - m_visible_page = 0; - m_flipscreen = 0; - m_blitter_bank = 0; - m_blitter_param_count = 0; - m_blitter_param[0] = 0; - m_blitter_param[1] = 0; - m_blitter_param[2] = 0; - m_blitter_param[3] = 0; - m_vblank = 0; - m_keyb = 0; -} - -MACHINE_RESET_MEMBER(homedata_state,mrokumei) -{ - MACHINE_RESET_CALL_MEMBER(homedata); - m_mrokumei_soundbank->set_bank(0); -} - -MACHINE_RESET_MEMBER(homedata_state,pteacher) -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - - /* on reset, ports are set as input (high impedance), therefore 0xff output */ - pteacher_upd7807_portc_w(space, 0, 0xff); - - MACHINE_RESET_CALL_MEMBER(homedata); - - m_upd7807_porta = 0; - m_gfx_bank[0] = 0; - m_gfx_bank[1] = 0; -} - -MACHINE_RESET_MEMBER(homedata_state,reikaids) -{ - address_space &space = m_maincpu->space(AS_PROGRAM); - - /* on reset, ports are set as input (high impedance), therefore 0xff output */ - reikaids_upd7807_portc_w(space, 0, 0xff); - - MACHINE_RESET_CALL_MEMBER(homedata); - - m_reikaids_which = m_priority; // m_priority is set in DRIVER_INIT - m_upd7807_porta = 0; - m_gfx_bank[0] = 0; - m_gfx_bank[1] = 0; // this is not used by reikaids -} - -void homedata_state::mrokumei(machine_config &config) -{ - /* basic machine hardware */ - MC6809E(config, m_maincpu, 16000000/4); /* 4MHz ? */ - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::mrokumei_map); - m_maincpu->set_vblank_int("screen", FUNC(homedata_state::homedata_irq)); /* also triggered by the blitter */ - - Z80(config, m_audiocpu, 16000000/4); /* 4MHz ? */ - m_audiocpu->set_addrmap(AS_PROGRAM, &homedata_state::mrokumei_sound_map); - m_audiocpu->set_addrmap(AS_IO, &homedata_state::mrokumei_sound_io_map); - - ADDRESS_MAP_BANK(config, m_mrokumei_soundbank).set_map(&homedata_state::mrokumei_sound_banked_map).set_options(ENDIANNESS_LITTLE, 8, 19, 0x10000); - - MCFG_MACHINE_START_OVERRIDE(homedata_state,homedata) - MCFG_MACHINE_RESET_OVERRIDE(homedata_state,mrokumei) - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(59); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(64*8, 32*8); - // visible area can be changed at runtime - screen.set_visarea(0*8, 54*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(homedata_state::screen_update_mrokumei)); - screen.screen_vblank().set(FUNC(homedata_state::screen_vblank)); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_mrokumei); - PALETTE(config, m_palette, FUNC(homedata_state::mrokumei_palette), 0x8000); - - MCFG_VIDEO_START_OVERRIDE(homedata_state,mrokumei) - - /* sound hardware */ - SPEAKER(config, "speaker").front_center(); - - GENERIC_LATCH_8(config, m_soundlatch); - - SN76489A(config, m_sn, 16000000/4); // SN76489AN actually - m_sn->add_route(ALL_OUTPUTS, "speaker", 0.5); - - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC - voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0)); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); - vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -} - - -/**************************************************************************/ - -void homedata_state::reikaids(machine_config &config) -{ - /* basic machine hardware */ - MC6809E(config, m_maincpu, 16_MHz_XTAL/4); /* MC68B09EP 4MHz ? */ - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::reikaids_map); - m_maincpu->set_vblank_int("screen", FUNC(homedata_state::homedata_irq)); /* also triggered by the blitter */ - - upd7807_device &audiocpu(UPD7807(config, m_audiocpu, 9_MHz_XTAL)); /* 9MHz ? */ - audiocpu.set_addrmap(AS_PROGRAM, &homedata_state::reikaids_upd7807_map); - audiocpu.pa_in_cb().set(FUNC(homedata_state::reikaids_upd7807_porta_r)); - audiocpu.pa_out_cb().set(FUNC(homedata_state::reikaids_upd7807_porta_w)); - audiocpu.pb_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); - audiocpu.pc_out_cb().set(FUNC(homedata_state::reikaids_upd7807_portc_w)); - audiocpu.pt_in_cb().set(m_soundlatch, FUNC(generic_latch_8_device::read)); - - config.set_maximum_quantum(attotime::from_hz(30000)); // very high interleave required to sync for startup tests - - MCFG_MACHINE_START_OVERRIDE(homedata_state,reikaids) - MCFG_MACHINE_RESET_OVERRIDE(homedata_state,reikaids) - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(59); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(256, 256); - screen.set_visarea(0, 255, 16, 256-1-16); - screen.set_screen_update(FUNC(homedata_state::screen_update_reikaids)); - screen.screen_vblank().set(FUNC(homedata_state::screen_vblank)); - screen.screen_vblank().append([this] (int state) { if (state) m_audiocpu->pulse_input_line(UPD7810_INTF1, m_audiocpu->minimum_quantum_time()); }); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_reikaids); - PALETTE(config, m_palette, FUNC(homedata_state::reikaids_palette), 0x8000); - - MCFG_VIDEO_START_OVERRIDE(homedata_state,reikaids) - - /* sound hardware */ - SPEAKER(config, "speaker").front_center(); - - GENERIC_LATCH_8(config, m_soundlatch); - - YM2203(config, m_ymsnd, 16_MHz_XTAL/4); /* 4 MHz */ - m_ymsnd->port_a_read_callback().set_ioport("DSW1"); - m_ymsnd->port_b_read_callback().set_ioport("DSW2"); - m_ymsnd->add_route(0, "speaker", 0.25); - m_ymsnd->add_route(1, "speaker", 0.25); - m_ymsnd->add_route(2, "speaker", 0.25); - m_ymsnd->add_route(3, "speaker", 1.0); - - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.4); // unknown DAC - voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0)); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); - vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -} - - -/**************************************************************************/ - -void homedata_state::pteacher(machine_config &config) -{ - /* basic machine hardware */ - MC6809E(config, m_maincpu, 16000000/4); /* 4MHz ? */ - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::pteacher_map); - m_maincpu->set_vblank_int("screen", FUNC(homedata_state::homedata_irq)); /* also triggered by the blitter */ - - upd7807_device &audiocpu(UPD7807(config, m_audiocpu, 9000000)); /* 9MHz ? */ - audiocpu.set_addrmap(AS_PROGRAM, &homedata_state::pteacher_upd7807_map); - audiocpu.pa_in_cb().set(FUNC(homedata_state::pteacher_upd7807_porta_r)); - audiocpu.pa_out_cb().set(FUNC(homedata_state::pteacher_upd7807_porta_w)); - audiocpu.pb_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); - audiocpu.pc_in_cb().set_ioport("COIN"); - audiocpu.pc_out_cb().set(FUNC(homedata_state::pteacher_upd7807_portc_w)); - audiocpu.pt_in_cb().set(FUNC(homedata_state::pteacher_keyboard_r)); - - config.set_maximum_quantum(attotime::from_hz(6000)); // should be enough - - MCFG_MACHINE_START_OVERRIDE(homedata_state,pteacher) - MCFG_MACHINE_RESET_OVERRIDE(homedata_state,pteacher) - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(59); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(64*8, 32*8); - // visible area can be changed at runtime - screen.set_visarea(0*8, 54*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(homedata_state::screen_update_pteacher)); - screen.screen_vblank().set(FUNC(homedata_state::screen_vblank)); - screen.screen_vblank().append([this] (int state) { if (state) m_audiocpu->pulse_input_line(UPD7810_INTF1, m_audiocpu->minimum_quantum_time()); }); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_pteacher); - PALETTE(config, m_palette, FUNC(homedata_state::pteacher_palette), 0x8000); - - MCFG_VIDEO_START_OVERRIDE(homedata_state,pteacher) - - /* sound hardware */ - SPEAKER(config, "speaker").front_center(); - - GENERIC_LATCH_8(config, m_soundlatch); - GENERIC_LATCH_8(config, m_mainlatch); - - SN76489A(config, m_sn, 16000000/4); // SN76489AN actually - m_sn->add_route(ALL_OUTPUTS, "speaker", 0.5); - - DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC - voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0)); - vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); - vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); -} - -void homedata_state::jogakuen(machine_config &config) -{ - pteacher(config); - - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::jogakuen_map); -} - -void homedata_state::mjkinjas(machine_config &config) -{ - pteacher(config); - - m_audiocpu->set_clock(11000000); /* 11MHz ? */ -} - -void homedata_state::lemnangl(machine_config &config) -{ - pteacher(config); - - /* video hardware */ - m_gfxdecode->set_info(gfx_lemnangl); - - MCFG_VIDEO_START_OVERRIDE(homedata_state,lemnangl) -} - -void homedata_state::mjikaga(machine_config &config) -{ - lemnangl(config); - - /* Mahjong Ikagadesuka is different as well. */ - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::mjikaga_map); - m_audiocpu->set_addrmap(AS_PROGRAM, &homedata_state::mjikaga_upd7807_map); - - config.set_maximum_quantum(attotime::from_hz(9000)); // boost synch a bit more, otherwise the game fails to start -} - -static INPUT_PORTS_START( mirderby ) -INPUT_PORTS_END - - -void homedata_state::cpu0_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); -} - -void homedata_state::cpu1_map(address_map &map) -{ - map(0x0000, 0x3fff).ram(); // videoram - map(0x4000, 0x5fff).ram(); - map(0x6000, 0x6fff).ram(); /* work ram */ - map(0x7000, 0x77ff).ram(); - //0x7ff0 onward is the blitter - map(0x7ffe, 0x7ffe).nopr(); //watchdog - map(0x8000, 0xffff).rom(); -} - - -READ8_MEMBER(homedata_state::mirderby_prot_r) -{ - m_prot_data&=0x7f; - return m_prot_data++; -} - -WRITE8_MEMBER(homedata_state::mirderby_prot_w) -{ - m_prot_data = data; -} - - -void homedata_state::cpu2_map(address_map &map) -{ - map(0x0000, 0x3fff).ram().w(FUNC(homedata_state::mrokumei_videoram_w)).share("videoram"); - map(0x4000, 0x5fff).ram(); - map(0x6000, 0x6fff).ram(); /* work ram */ - map(0x7000, 0x77ff).ram(); - map(0x7800, 0x7800).rw(FUNC(homedata_state::mirderby_prot_r), FUNC(homedata_state::mirderby_prot_w)); // protection check? (or sound comms?) - map(0x7ffe, 0x7ffe).nopr(); //watchdog - map(0x8000, 0xffff).rom(); -} - - - - - -static const gfx_layout mirderbychar_layout = -{ - 8,8, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 32*8 -}; - -static GFXDECODE_START( gfx_mirderby ) - GFXDECODE_ENTRY( "gfx1", 0, mirderbychar_layout, 0x0000, 0x10 ) - GFXDECODE_ENTRY( "gfx2", 0, mirderbychar_layout, 0x0000, 0x10 ) -GFXDECODE_END - -/* Miracle Derby - Ascot - - - has the same GX61A01 custom (blitter?) as homedata.cpp and a 'similar' CPU setup (this has more CPUs) - and similar board / rom numbering (X**-) - - The drivers can probably be merged later, although the current per-game handling of the blitter in - homedata.cpp should be looked at. - - - - Notes from Stefan Lindberg: - - Eprom "x70_a04.5g" had wires attached to it, pin 2 and 16 was joined and pin 1,32,31,30 was joined, i - removed them and read the eprom as the type it was (D27c1000D). - - Measured frequencies: - MBL68B09E = 2mhz - MBL68B09E = 2mhz - z80 = 4mhz - YM2203 = 2mhz - - See included PCB pics. - - - - Roms: - - Name Size CRC32 Chip Type - --------------------------------------------------------------------------------- - x70a07.8l 256 0x7d4c9712 82s129 - x70a08.7l 256 0xc4e77174 82s129 - x70a09.6l 256 0xd0187957 82s129 - x70_a03.8g 32768 0x4e298b2d 27c256 - x70_a04.5g 131072 0x14392fdb D27c1000D - x70_a11.1g 32768 0xb394eef7 27c256 - x70_b02.12e 32768 0x76c9bb6f 27c256 - x70_c01.14e 65536 0xd79d072d 27c512 - - - -*/ - -/* clocks are 16mhz and 9mhz */ - -void homedata_state::mirderby(machine_config &config) -{ - /* basic machine hardware */ - MC6809E(config, m_maincpu, 16000000/8); /* 2 Mhz */ - m_maincpu->set_addrmap(AS_PROGRAM, &homedata_state::cpu2_map); - - z80_device &cpu0(Z80(config, "cpu0", 16000000/4)); /* 4 Mhz */ - cpu0.set_disable(); - cpu0.set_addrmap(AS_PROGRAM, &homedata_state::cpu0_map); - - mc6809e_device &cpu1(MC6809E(config, "cpu1", 16000000/8)); /* 2 Mhz */ - cpu1.set_addrmap(AS_PROGRAM, &homedata_state::cpu1_map); - cpu1.set_disable(); - //cpu1.set_vblank_int("screen", FUNC(homedata_state::mirderby_irq)); - - config.set_maximum_quantum(attotime::from_hz(6000)); - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(59); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size(64*8, 32*8); - screen.set_visarea(0*8, 54*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(homedata_state::screen_update_mirderby)); - screen.set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_mirderby); - PALETTE(config, m_palette, FUNC(homedata_state::mirderby_palette), 0x8000); - - MCFG_VIDEO_START_OVERRIDE(homedata_state,mirderby) - - /* sound hardware */ - SPEAKER(config, "speaker").front_center(); - - YM2203(config, m_ymsnd, 2000000); - m_ymsnd->add_route(0, "speaker", 0.25); - m_ymsnd->add_route(1, "speaker", 0.25); - m_ymsnd->add_route(2, "speaker", 0.25); - m_ymsnd->add_route(3, "speaker", 1.0); -} - -/**************************************************************************/ - - -ROM_START( hourouki ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x77f01.bin", 0x08000, 0x8000, CRC(cd3197b8) SHA1(7dad9ce57a83d675a8a9a4e06df360c22100fe4b) ) - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "x77a10.bin", 0x00000, 0x20000, CRC(dc1d616b) SHA1(93b8dfe1566556e9621c0d5f3998b31874f74a28) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "x77a03.bin", 0, 0x20000, CRC(5960cde8) SHA1(857b56b304423102a5f1fc88ba4a2386d012bf4d) ) - - ROM_REGION( 0x40000, "gfx2", 0 ) - ROM_LOAD( "x77a04.bin", 0x00000, 0x20000, CRC(fd348e59) SHA1(df0eb4d24e3e778e7a06b7fd7fa4e077fa0ebf82) ) - ROM_LOAD( "x77a05.bin", 0x20000, 0x20000, CRC(3f76c8af) SHA1(2b41a9a06f8ccbb9f3879c742fa8af4424837fb2) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x77e06.bin", 0x00000, 0x8000, CRC(63607fe5) SHA1(50c756d741117bd0ea8a877bcb1f025e02cc6d29) ) - ROM_LOAD16_BYTE( "x77e07.bin", 0x00001, 0x8000, CRC(79fcfc57) SHA1(4311a6bd8aa2dcad2b4fa5a9091c27dd74df62eb) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x77a08.bin", 0x0000, 0x20000, CRC(22bde229) SHA1(8b44fa895f77b5c95d798172225a030fa0c04126) ) -ROM_END - -ROM_START( mhgaiden ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x72e01.bin", 0x08000, 0x8000, CRC(98cfa53e) SHA1(dd08f5f9ff9d4a9e01e531247fcb17a8407ca8b6) ) - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "x72b10.bin", 0x00000, 0x20000, CRC(00ebbc45) SHA1(9e7ade202bf37a86153a38d705ae26a72732d2bb) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "x72b03.bin", 0, 0x20000, CRC(9019936f) SHA1(5b98ad1b4c0b141bc84fc17bea49784883c5775a) ) - - ROM_REGION( 0x40000, "gfx2", 0 ) - ROM_LOAD( "x72b04.bin", 0x00000, 0x20000, CRC(37e3e779) SHA1(7011159dee2c643c3fd6ffbbd0849f63933279ad) ) - ROM_LOAD( "x72b05.bin", 0x20000, 0x20000, CRC(aa5ce6f6) SHA1(d97b08fce68a69b1445d5ab28c0c97fabb5f264b) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x72c06.bin", 0x00000, 0x8000, CRC(b57fb589) SHA1(21b2fc33b9045a4ffa9e4b0bd598fd3416c0adbf) ) - ROM_LOAD16_BYTE( "x72c07.bin", 0x00001, 0x8000, CRC(2aadb285) SHA1(90af8541092fbb116b6d6eaf1511b49a2f9bceaf) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x72b08.bin", 0x0000, 0x20000, CRC(be312d23) SHA1(f2c18d6372c2f819248976c67abe0ddcd5cc1de1) ) -ROM_END - -ROM_START( mjhokite ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "a74_g01.6g", 0x08000, 0x8000, CRC(409cc501) SHA1(6e9ab81198a5a54489cca8b6dcafb67995351207) ) - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "a74_a10.11k", 0x00000, 0x20000, CRC(2252f3ec) SHA1(018aaad087354b05b120aa42db572ed13f690f88) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "a74_a03.1g", 0, 0x20000, CRC(bf801b74) SHA1(fd9b7a4590fdeba90423a7ceccd8dfbb8826460b) ) - - ROM_REGION( 0x80000, "gfx2", 0 ) - ROM_LOAD( "a74_a040.bin", 0x00000, 0x20000, CRC(b7a4ddbd) SHA1(70b9e44da7f32120fe86b23e431c3ae1eb36ef1a) ) - ROM_LOAD( "a74_a050.bin", 0x20000, 0x20000, CRC(c1718d39) SHA1(e37e2338b7e9409d9d542d30f363d07c7a873602) ) - ROM_LOAD( "a74_a041.bin", 0x40000, 0x20000, CRC(c6a6407d) SHA1(7421f4ae8b2959d16114cadc9098156e5a97b36f) ) - ROM_LOAD( "a74_a051.bin", 0x60000, 0x20000, CRC(74522b81) SHA1(6bd9655005f36887bec7c127f467e765447acd8f) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "a74_a06.1l", 0x00000, 0x8000, CRC(df057dd3) SHA1(0afae441b43a87e04511b8e652d2b03f48d8f705) ) - ROM_LOAD16_BYTE( "a74_a07.1m", 0x00001, 0x8000, CRC(3c230167) SHA1(5d57f614bf07baa8b5c96f1d14241ff7c66806c1) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "a74_a08.13a", 0x0000, 0x20000, CRC(dffdd855) SHA1(91469a997a6a9f74f1b84c127f30f5b0e2f974ac) ) -ROM_END - -ROM_START( mjclinic ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x80_g01.6g", 0x08000, 0x8000, CRC(787b4fb5) SHA1(d1708979d209113b604f6d0973fe14a0c4348351) ) - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "x80_a10.11k", 0x00000, 0x20000, CRC(afedbadf) SHA1(e2f101b59c0d23f9dc9b057c41d496fc3223cbb8) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "x80_a03.1g", 0, 0x20000, CRC(34b63c89) SHA1(98383ce8e464ecc53677c060338cc03aa6238a0e) ) - - ROM_REGION( 0x80000, "gfx2", 0 ) - ROM_LOAD( "x80_a040.bin", 0x00000, 0x20000, CRC(6f18a8cf) SHA1(af8de2bd8b2157ceaa8192ead51ac4489c464ab2) ) - ROM_LOAD( "x80_a050.bin", 0x20000, 0x20000, CRC(6b1ec3a9) SHA1(dc7a857bb102325ebf2522369a231260c2e02c89) ) - ROM_LOAD( "x80_a041.bin", 0x40000, 0x20000, CRC(f70bb001) SHA1(3b29bb0bd155e97d3ccc72a8a07046c676c8452d) ) - ROM_LOAD( "x80_a051.bin", 0x60000, 0x20000, CRC(c7469cb8) SHA1(bcf7021667e943991865fdbc9620f00b09e1db3e) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x80_a06.1l", 0x00000, 0x8000, CRC(c1f9b2fb) SHA1(abe17e2b3b880f91564e32c246116c33e2884889) ) - ROM_LOAD16_BYTE( "x80_a07.1m", 0x00001, 0x8000, CRC(e3120152) SHA1(b4a778a9b91e204e2c068dff9a40bd29eccf04a5) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x80_a08.13a", 0x0000, 0x20000, CRC(174e8ec0) SHA1(a5075fe4bba9403ef9e0636d5f3f66aad8b2bc54) ) -ROM_END - -ROM_START( mjclinica ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x80_f01.6g", 0x08000, 0x8000, CRC(cd814ec0) SHA1(55b2c9519fc98f71a2731c3851ce56ee8e57bd66) ) // labeled f01 instead of g01. Earlier version? - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "x80_a10.11k", 0x00000, 0x20000, CRC(afedbadf) SHA1(e2f101b59c0d23f9dc9b057c41d496fc3223cbb8) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "x80_a03.1g", 0, 0x20000, CRC(34b63c89) SHA1(98383ce8e464ecc53677c060338cc03aa6238a0e) ) - - ROM_REGION( 0x80000, "gfx2", 0 ) - ROM_LOAD( "x80_a040.bin", 0x00000, 0x20000, CRC(6f18a8cf) SHA1(af8de2bd8b2157ceaa8192ead51ac4489c464ab2) ) - ROM_LOAD( "x80_a050.bin", 0x20000, 0x20000, CRC(6b1ec3a9) SHA1(dc7a857bb102325ebf2522369a231260c2e02c89) ) - ROM_LOAD( "x80_a041.bin", 0x40000, 0x20000, CRC(f70bb001) SHA1(3b29bb0bd155e97d3ccc72a8a07046c676c8452d) ) - ROM_LOAD( "x80_a051.bin", 0x60000, 0x20000, CRC(c7469cb8) SHA1(bcf7021667e943991865fdbc9620f00b09e1db3e) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x80_a06.1l", 0x00000, 0x8000, CRC(c1f9b2fb) SHA1(abe17e2b3b880f91564e32c246116c33e2884889) ) - ROM_LOAD16_BYTE( "x80_a07.1m", 0x00001, 0x8000, CRC(e3120152) SHA1(b4a778a9b91e204e2c068dff9a40bd29eccf04a5) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x80_a08.13a", 0x0000, 0x20000, CRC(174e8ec0) SHA1(a5075fe4bba9403ef9e0636d5f3f66aad8b2bc54) ) -ROM_END - -ROM_START( mrokumei ) - ROM_REGION( 0x010000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "m81d01.bin", 0x08000, 0x8000, CRC(6f81a78a) SHA1(5e16327b04b065ed4e39a147b18711902dba6384) ) - - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 code */ - ROM_LOAD( "m81a10.bin", 0x00000, 0x20000, CRC(0866b2d3) SHA1(37a726830476e372db906382e1d0601c461c7c10) ) - - ROM_REGION( 0x20000, "gfx1", 0 ) - ROM_LOAD( "m81a03.bin", 0, 0x20000, CRC(4f96e6d2) SHA1(9e6375ee543215691b28c914a8374c1d75c6681f) ) - - ROM_REGION( 0x80000, "gfx2", 0 ) - ROM_LOAD( "m81a40.bin", 0x00000, 0x20000, CRC(f07c6a91) SHA1(1e8b07817bb3661211b22c8c0ee35424b3ee8774) ) - ROM_LOAD( "m81a50.bin", 0x20000, 0x20000, CRC(5ef0d7f2) SHA1(9d0af693b95d941c4b5702c483aee9d33c2fb886) ) - ROM_LOAD( "m81a41.bin", 0x40000, 0x20000, CRC(9332b879) SHA1(fc70a6acf816564c1c90c2f9aa644f702a38eae1) ) - ROM_LOAD( "m81a51.bin", 0x60000, 0x20000, CRC(dda3ae30) SHA1(a0ba05cc46a4b2869ddf544c538e40a40f3babd5) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "m81b06.bin", 0x00000, 0x8000, CRC(96665d39) SHA1(9173791831555e69b8938d85340a08dd73012f8d) ) - ROM_LOAD16_BYTE( "m81b07.bin", 0x00001, 0x8000, CRC(14f39690) SHA1(821f9de1b28b9d7844fc1b002c7ee3bbdda7f905) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "m81a08.bin", 0x0000, 0x20000, CRC(dba706b9) SHA1(467c8c3e12cd64002d2516dd117bc87d03448f49) ) -ROM_END - -ROM_START( lastapos ) - ROM_REGION( 0x02c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "e82a01.j14", 0x010000, 0x01c000, CRC(236475ae) SHA1(e14176682fda9195b2919868134ee8491f59badd) ) - ROM_CONTINUE( 0x00c000, 0x004000) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x82a04.e20", 0x000000, 0x040000, CRC(52c9028a) SHA1(9d5e37b2f741d5c0e64ba3d674a72330058b96f2) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD( "x82a13.d2", 0x000000, 0x80000, CRC(954c8844) SHA1(94e09009d0ad40a62f2a92cd5bd500ffe2c4650a) ) - ROM_LOAD( "x82a14.d1", 0x080000, 0x80000, CRC(a748305e) SHA1(ee01025820a0915621d2c056d65e67a84a5f724c) ) - ROM_LOAD( "x82a15.f2", 0x100000, 0x80000, CRC(c50f7047) SHA1(13fcd1abaf88c759e747cf5f2c94a522276945c9) ) - ROM_LOAD( "x82a16.f1", 0x180000, 0x80000, CRC(b270094a) SHA1(edd4f7e3fd082c12758d82ea6eba2a060398b9ef) ) - - ROM_REGION( 0x200000, "gfx2", 0 ) - ROM_LOAD( "x82a09.d5", 0x000000, 0x80000, CRC(c496b187) SHA1(8ec4e09469c9f425681671f5ddb2d2d8768af42b) ) - ROM_LOAD( "x82a10.d4", 0x080000, 0x80000, CRC(4243fe28) SHA1(01260543a6f61f46ba56840c1b96ecedf637451c) ) - ROM_LOAD16_BYTE( "e82a12.f4", 0x100000, 0x20000, CRC(0e2cdd40) SHA1(254b4f1f986ad5fd9437a5c8bbaf6683d9edf02b) ) - ROM_LOAD16_BYTE( "e82a11.f5", 0x100001, 0x20000, CRC(141ced2e) SHA1(90b5be2e488ad2793750225ab20c1649d709b578) ) - - ROM_REGION( 0x80000, "gfx3", 0 ) - ROM_LOAD( "x82a08.d6", 0x000000, 0x80000, CRC(51cfd790) SHA1(208f00b1ccf420fe891dd30684481bf871c1aa63) ) - - ROM_REGION( 0x80000, "gfx4", 0 ) - ROM_LOAD( "x82a05.d8", 0x000000, 0x80000, CRC(fb65e0e0) SHA1(d560091cfad17af6539913db1279c62a680de4fc) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "e82a18.e12", 0x00000, 0x8000, CRC(1f52a7aa) SHA1(55bbba5bfad1eee4872939d23ac643aa3074b3cf) ) - ROM_LOAD16_BYTE( "e82a17.e9", 0x00001, 0x8000, CRC(f91d77a1) SHA1(a650a68e7e75719819fd04dda86d7fc8849dfe7d) ) - - ROM_REGION( 0x040000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x82a02.e19", 0x00000, 0x040000, CRC(90fe700f) SHA1(bf7f9955a2cb1af43a272bf3366ff8c09ff6f7e6) ) - - ROM_REGION( 0x0100, "user2", 0 ) - ROM_LOAD( "x82a19.l4", 0x0000, 0x0100, CRC(7ed947b4) SHA1(40c74a17976fab5d7f9da367083764934bb87281) ) // N82S129AN - priority (not used) -ROM_END - -ROM_START( reikaids ) - ROM_REGION( 0x02c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "j82c01.j14", 0x010000, 0x01c000, CRC(50fcc451) SHA1(ad717b8300f0903ef136569cf933b8af0e67eb6b) ) - ROM_CONTINUE( 0x00c000, 0x004000) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x82a04.e20", 0x000000, 0x040000, CRC(52c9028a) SHA1(9d5e37b2f741d5c0e64ba3d674a72330058b96f2) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD( "x82a13.d2", 0x000000, 0x80000, CRC(954c8844) SHA1(94e09009d0ad40a62f2a92cd5bd500ffe2c4650a) ) - ROM_LOAD( "x82a14.d1", 0x080000, 0x80000, CRC(a748305e) SHA1(ee01025820a0915621d2c056d65e67a84a5f724c) ) - ROM_LOAD( "x82a15.f2", 0x100000, 0x80000, CRC(c50f7047) SHA1(13fcd1abaf88c759e747cf5f2c94a522276945c9) ) - ROM_LOAD( "x82a16.f1", 0x180000, 0x80000, CRC(b270094a) SHA1(edd4f7e3fd082c12758d82ea6eba2a060398b9ef) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "x82a09.d5", 0x000000, 0x80000, CRC(c496b187) SHA1(8ec4e09469c9f425681671f5ddb2d2d8768af42b) ) - ROM_LOAD( "x82a10.d4", 0x080000, 0x80000, CRC(4243fe28) SHA1(01260543a6f61f46ba56840c1b96ecedf637451c) ) - - ROM_REGION( 0x080000, "gfx3", 0 ) - ROM_LOAD( "x82a08.d6", 0x000000, 0x80000, CRC(51cfd790) SHA1(208f00b1ccf420fe891dd30684481bf871c1aa63) ) - - ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "x82a05.d8", 0x000000, 0x80000, CRC(fb65e0e0) SHA1(d560091cfad17af6539913db1279c62a680de4fc) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "e82a18.e12", 0x00000, 0x8000, CRC(1f52a7aa) SHA1(55bbba5bfad1eee4872939d23ac643aa3074b3cf) ) - ROM_LOAD16_BYTE( "e82a17.e9", 0x00001, 0x8000, CRC(f91d77a1) SHA1(a650a68e7e75719819fd04dda86d7fc8849dfe7d) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x82a02.e19", 0x00000, 0x040000, CRC(90fe700f) SHA1(bf7f9955a2cb1af43a272bf3366ff8c09ff6f7e6) ) - - ROM_REGION( 0x0100, "user2", 0 ) - ROM_LOAD( "x82a19.l4", 0x0000, 0x0100, CRC(7ed947b4) SHA1(40c74a17976fab5d7f9da367083764934bb87281) ) // N82S129AN - priority (not used) -ROM_END - -ROM_START( battlcry ) - ROM_REGION( 0x02c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "s88e01.j13", 0x010000, 0x01c000, CRC(b08438fe) SHA1(41a0fcdabee449081840848c45983984d7153d1b) ) - ROM_CONTINUE( 0x00c000, 0x004000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "s88b04.f20", 0x000000, 0x040000, CRC(c54b5a5e) SHA1(421082af349b170d74f5214d8b5eed44db472749) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD( "s88c13.e2", 0x000000, 0x80000, CRC(8103f007) SHA1(fcc51e57a1df572ad00000e03db1f5f949dea619) ) - ROM_LOAD( "s88c14.e1", 0x080000, 0x80000, CRC(a7b5fafb) SHA1(7a9448bf13ee680c99bc19a6fac7a14d6ce8ddfc) ) - ROM_LOAD( "s88c15.f2", 0x100000, 0x80000, CRC(597d833b) SHA1(d0c22981b105c1b4b37eae64964af8b683cc4687) ) - ROM_LOAD( "s88c16.f1", 0x180000, 0x80000, CRC(9ca1c1a1) SHA1(30bbb47503631295a16bdd77a5bc08681dd7c63e) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "s88c09.e5", 0x000000, 0x80000, CRC(8f77ac3e) SHA1(5903a167ddf69284035967876ef46d7d09582574) ) - ROM_LOAD( "s88c10.e4", 0x080000, 0x80000, CRC(cb44371e) SHA1(96ac9aa0034152ba88afc373475928ad6d9ecd29) ) - - ROM_REGION( 0x080000, "gfx3", 0 ) - ROM_LOAD( "s88c08.e6", 0x000000, 0x80000, CRC(a989cfc2) SHA1(11c39a2ddd5e4be150d2f2ce332e312907df2377) ) - - ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "s88c05.e7", 0x000000, 0x80000, CRC(e7f13340) SHA1(05b0f3ca369c95d4fd50cd9617fc044ad7bdf0d3) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "s88b18.f10", 0x00000, 0x8000, CRC(fa432edc) SHA1(55c01b6a1175539facdfdd0c3c49d878a59156a4) ) - ROM_LOAD16_BYTE( "s88b17.f9", 0x00001, 0x8000, CRC(7c55568e) SHA1(1e599cd00abe7b67bcb0c8d3f0c467a99ef79658) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "s88b02.f19", 0x00000, 0x040000, CRC(7044a542) SHA1(8efaa512f62fe9a37d2474c435c549118c019d67) ) - - ROM_REGION( 0x0100, "user2", 0 ) - ROM_LOAD( "s88a19.l5", 0x0000, 0x0100, CRC(c8ead41e) SHA1(d1e733691de9f9b71c9724de73086d36f381fc74) ) // priority (not used) -ROM_END - -ROM_START( battlcryc ) - ROM_REGION( 0x02c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "s88c01.j14", 0x010000, 0x01c000, CRC(4aa6d637) SHA1(e10c6c4a6adeb3b4837ebe5ff0a49ec1204b2e54) ) // 27C1000 - ROM_CONTINUE( 0x00c000, 0x004000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "s88b04.f20", 0x000000, 0x040000, CRC(c54b5a5e) SHA1(421082af349b170d74f5214d8b5eed44db472749) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD( "s88c13.e2", 0x000000, 0x80000, CRC(8103f007) SHA1(fcc51e57a1df572ad00000e03db1f5f949dea619) ) - ROM_LOAD( "s88c14.e1", 0x080000, 0x80000, CRC(a7b5fafb) SHA1(7a9448bf13ee680c99bc19a6fac7a14d6ce8ddfc) ) - ROM_LOAD( "s88c15.f2", 0x100000, 0x80000, CRC(597d833b) SHA1(d0c22981b105c1b4b37eae64964af8b683cc4687) ) - ROM_LOAD( "s88c16.f1", 0x180000, 0x80000, CRC(9ca1c1a1) SHA1(30bbb47503631295a16bdd77a5bc08681dd7c63e) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "s88c09.e5", 0x000000, 0x80000, CRC(8f77ac3e) SHA1(5903a167ddf69284035967876ef46d7d09582574) ) - ROM_LOAD( "s88c10.e4", 0x080000, 0x80000, CRC(cb44371e) SHA1(96ac9aa0034152ba88afc373475928ad6d9ecd29) ) - - ROM_REGION( 0x080000, "gfx3", 0 ) - ROM_LOAD( "s88c08.e6", 0x000000, 0x80000, CRC(a989cfc2) SHA1(11c39a2ddd5e4be150d2f2ce332e312907df2377) ) - - ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "s88c05.e7", 0x000000, 0x80000, CRC(e7f13340) SHA1(05b0f3ca369c95d4fd50cd9617fc044ad7bdf0d3) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "s88b18.f10", 0x00000, 0x8000, CRC(fa432edc) SHA1(55c01b6a1175539facdfdd0c3c49d878a59156a4) ) - ROM_LOAD16_BYTE( "s88b17.f9", 0x00001, 0x8000, CRC(7c55568e) SHA1(1e599cd00abe7b67bcb0c8d3f0c467a99ef79658) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "s88b02.f19", 0x00000, 0x040000, CRC(7044a542) SHA1(8efaa512f62fe9a37d2474c435c549118c019d67) ) - - ROM_REGION( 0x0100, "user2", 0 ) - ROM_LOAD( "s88a19.l5", 0x0000, 0x0100, CRC(c8ead41e) SHA1(d1e733691de9f9b71c9724de73086d36f381fc74) ) // priority (not used) -ROM_END - -ROM_START( battlcryp ) // prototype presented at AOU 1989 - ROM_REGION( 0x02c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "s88_b01.ic31", 0x010000, 0x01c000, CRC(8dae51b5) SHA1(52a4ec602c9c5bb185dd66b4b98dbfaa91189ced) ) // 27C1000 - ROM_CONTINUE( 0x00c000, 0x004000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code, identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD( "s88_b04_1.ic32", 0x000000, 0x020000, CRC(9995c869) SHA1(9b68d1a15499fed216966ef3a3b68e6381dc01ad) ) - ROM_LOAD( "s88_b04_2.ic55", 0x020000, 0x020000, CRC(aaa2dabe) SHA1(5928c5d265a5d6e521285a8ba29e70ed1887a5c9) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) /* identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD16_BYTE( "s88_b13_1.v30", 0x000000, 0x20000, CRC(913e11df) SHA1(766b9cb1a39697db88f25a9ffc58724699ab9283) ) - ROM_LOAD16_BYTE( "s88_b13_2.v31", 0x000001, 0x20000, CRC(16069926) SHA1(502795838740b7d8641ae3308b7c56f540a9719b) ) - ROM_LOAD16_BYTE( "s88_b13_3.v32", 0x040000, 0x20000, CRC(95fc246f) SHA1(7b5d24cb7529aa4064f6bafa75172e3ce63d17c1) ) - ROM_LOAD16_BYTE( "s88_b13_4.v33", 0x040001, 0x20000, CRC(0eeb1374) SHA1(cae2890248b502888836d73d2d2067fae1a4d589) ) - ROM_LOAD16_BYTE( "s88_b14_1.v34", 0x080000, 0x20000, CRC(61beb857) SHA1(29d390b7f844905ad07e8c6b9fb87b3f7e01cae0) ) - ROM_LOAD16_BYTE( "s88_b14_2.v35", 0x080001, 0x20000, CRC(4a1fec65) SHA1(7f69cdb7e2140114a40562865bf9bdd3df4d2205) ) - ROM_LOAD16_BYTE( "s88_b14_3.v36", 0x0c0000, 0x20000, CRC(2c95a5b4) SHA1(2e2e5206b20b1f3c9323e2e4c78ea29e3dabb1b8) ) - ROM_LOAD16_BYTE( "s88_b14_4.v37", 0x0c0001, 0x20000, CRC(96f713a3) SHA1(97fd143341e267344dd40df71a586bc25540aa95) ) - ROM_LOAD16_BYTE( "s88_b15_1.v38", 0x100000, 0x20000, CRC(e106bc68) SHA1(1e049bf3c705db33b4629d3f8da3011a2aaaf7dd) ) - ROM_LOAD16_BYTE( "s88_b15_2.v39", 0x100001, 0x20000, CRC(cb6d7f09) SHA1(334d89ffe74f067820ef34a68ff70a2b2d0480a7) ) - ROM_LOAD16_BYTE( "s88_b15_3.v3a", 0x140000, 0x20000, CRC(4bc06e17) SHA1(681b994f090799e68922c2de2a0c7d2ccceec5dc) ) - ROM_LOAD16_BYTE( "s88_b15_4.v3b", 0x140001, 0x20000, CRC(ffeb09c3) SHA1(667893d589634cddb87fd459dceb0fd7bb151730) ) - ROM_LOAD16_BYTE( "s88_b16_1.v3c", 0x180000, 0x20000, CRC(bf6fc926) SHA1(3c084d5e742cfd093246e05b1c9537af944ff080) ) - ROM_LOAD16_BYTE( "s88_b16_2.v3d", 0x180001, 0x20000, CRC(5b3afa9c) SHA1(08e65108ba2ae8e9f01104961d9c5462b5607ad5) ) - ROM_LOAD16_BYTE( "s88_b16_3.v3e", 0x1c0000, 0x20000, CRC(df7a54e8) SHA1(a76a5f80a43b54800eb56fe5c20fb2b582b6d737) ) - ROM_LOAD16_BYTE( "s88_b16_4.v3f", 0x1c0001, 0x20000, CRC(fdbff33d) SHA1(10f4ebc1f7e42063b5ee10cb2e2f6b904bff4bc8) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) /* identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD16_BYTE( "s88_b09_1.v20", 0x000000, 0x20000, CRC(bfa2d6d3) SHA1(a10c9433c3215a80a74a8e46bd92595811073237) ) - ROM_LOAD16_BYTE( "s88_b09_2.v21", 0x000001, 0x20000, CRC(e1430cf9) SHA1(ec9b373b050f34219791f6309166a2d3abc43bc9) ) - ROM_LOAD16_BYTE( "s88_b09_3.v22", 0x040000, 0x20000, CRC(54cb22c7) SHA1(5c705fc13f7c866ecf3f51bd115c3dc58884a545) ) - ROM_LOAD16_BYTE( "s88_b09_4.v23", 0x040001, 0x20000, CRC(544f313d) SHA1(cec44c863737e80a2909f0b84d05802048bcb7a3) ) - ROM_LOAD16_BYTE( "s88_b10_1.v24", 0x080000, 0x20000, CRC(9bc86933) SHA1(56fdc99636262683bd6651b4ab021a5e34524c76) ) - ROM_LOAD16_BYTE( "s88_b10_2.v25", 0x080001, 0x20000, CRC(43e3ba91) SHA1(ddd69c0513c865ea1322784b275622bc41464c9b) ) - ROM_LOAD16_BYTE( "s88_b10_3.v26", 0x0c0000, 0x20000, CRC(d3672c33) SHA1(27c81d2c2257c613975e0b8dc41753c85305ddce) ) - ROM_LOAD16_BYTE( "s88_b10_4.v27", 0x0c0001, 0x20000, CRC(ae73723e) SHA1(49e1ab0a2626149f5986bbecf531685375b3695a) ) - - ROM_REGION( 0x080000, "gfx3", 0 ) /* identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD16_BYTE( "s88_b08_1.v10", 0x000000, 0x20000, CRC(5132cd98) SHA1(8999aa64ff6f5c483ae71aab4699fe6ee3169382) ) - ROM_LOAD16_BYTE( "s88_b08_2.v11", 0x000001, 0x20000, CRC(fa661846) SHA1(745a15b801479e451fdb513ec4f334f438ba92c8) ) - ROM_LOAD16_BYTE( "s88_b08_3.v12", 0x040000, 0x20000, CRC(caabbf44) SHA1(d1957121012797372a93689a34ab8f0c3a5130af) ) - ROM_LOAD16_BYTE( "s88_b08_4.v13", 0x040001, 0x20000, CRC(257aacde) SHA1(0ac577864eedc2f778224f91235a011110a7006a) ) - - ROM_REGION( 0x080000, "gfx4", 0 ) /* identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD16_BYTE( "s88_b05_1.v00", 0x000000, 0x20000, CRC(913e11df) SHA1(766b9cb1a39697db88f25a9ffc58724699ab9283) ) - ROM_LOAD16_BYTE( "s88_b05_2.v01", 0x000001, 0x20000, CRC(16069926) SHA1(502795838740b7d8641ae3308b7c56f540a9719b) ) - ROM_LOAD16_BYTE( "s88_b05_3.v02", 0x040000, 0x20000, CRC(3bca50bd) SHA1(b9b8c19ea4e6ff09c3032c18d246ed496552741e) ) - ROM_LOAD16_BYTE( "s88_b05_4.v03", 0x040001, 0x20000, CRC(c526d508) SHA1(fa7ec24a9f6fdaaf1a1b32b4b383e8738ad1c7d1) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "s88_b18", 0x00000, 0x8000, CRC(fa432edc) SHA1(55c01b6a1175539facdfdd0c3c49d878a59156a4) ) // 27c256 - ROM_LOAD16_BYTE( "s88_b17", 0x00001, 0x8000, CRC(7c55568e) SHA1(1e599cd00abe7b67bcb0c8d3f0c467a99ef79658) ) // 27c256 - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data, identical to the released game but split in 27C1000 ROMs */ - ROM_LOAD( "s88_b02_1.ic28", 0x00000, 0x020000, CRC(93d8c8ec) SHA1(bb1fcf4d32db6885d0c78416211c20decc48d266) ) - ROM_LOAD( "s88_b02_2.ic27", 0x20000, 0x020000, CRC(8918327b) SHA1(445c0252ec8e71423e77c75190f9524a90f918a9) ) - - ROM_REGION( 0x0100, "user2", 0 ) - ROM_LOAD( "s88_a19.ic42", 0x0000, 0x0100, CRC(c8ead41e) SHA1(d1e733691de9f9b71c9724de73086d36f381fc74) ) // 82s129, priority (not used) -ROM_END - -ROM_START( mjkojink ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x83j01.16e", 0x010000, 0xc000, CRC(91f90376) SHA1(d452f538f4a1b774640ced49f0ab2784b112e8ba) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x83b02.9g", 0x00000, 0x40000, CRC(46a11578) SHA1(4ff7797808610b4bb0550be71acc49bbd8556fad) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x83b14.1f", 0, 0x40000, CRC(2bcd7557) SHA1(1263a038a294fb521bdf315e8ac1198a42f68415) ) - ROM_LOAD32_BYTE( "x83b15.3f", 1, 0x40000, CRC(7d780e22) SHA1(f887f1a8e5fb65e560cb4987ae21a0c9100ebff0) ) - ROM_LOAD32_BYTE( "x83b16.4f", 2, 0x40000, CRC(5420a3f2) SHA1(0161eb2218d3e9cc018c3c2623de58855ab1a608) ) - ROM_LOAD32_BYTE( "x83b17.6f", 3, 0x40000, CRC(96bcdf83) SHA1(5568c15016a9cd68909aaf29a0bbe6659fdcefc9) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x83b10.1c", 0, 0x40000, CRC(500bfeea) SHA1(cf60f6158611bfb360c7c97597a9d416530bec9e) ) - ROM_LOAD32_BYTE( "x83b11.3c", 1, 0x40000, CRC(2ef77717) SHA1(7d09dc3d73acaf910141598959fdc3501e17ddde) ) - ROM_LOAD32_BYTE( "x83b12.4c", 2, 0x40000, CRC(2035009d) SHA1(8a2aadcc49ac7e68dfabe5ea66b607459a89045d) ) - ROM_LOAD32_BYTE( "x83b13.6c", 3, 0x40000, CRC(53800df2) SHA1(5f18052a2d6afd27ff898ab597bb4e92fad238d7) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x83a19.4k", 0x00000, 0x8000, CRC(d29c9ef0) SHA1(c4e2c0c3c9c7abee1a965d6842956cdf98a76ad4) ) - ROM_LOAD16_BYTE( "x83a18.3k", 0x00001, 0x8000, CRC(c3351952) SHA1(036be91ca428c5df016dd777bd658cb00f44ee3c) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x83b03.12e", 0x0000, 0x40000, CRC(4ba8b5ec) SHA1(cee77583f2f7b7fdba7e0f17e4d1244891488d36) ) -ROM_END - -ROM_START( mjjoship ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x73_l01.16e", 0x010000, 0xc000, CRC(df950025) SHA1(3dc22c0a8cf03cff7310fbff36f83804019a5337) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x73_b02.9g", 0x00000, 0x20000, CRC(6b01503b) SHA1(2e1575dac0b9b7c7233a3b8262a99a10e24ec813) ) - ROM_RELOAD( 0x20000, 0x20000 ) - - ROM_REGION( 0x80000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x73a14.1f", 0, 0x20000, CRC(42f429a5) SHA1(41f64258a65b56f818f8a6ecddab606d0bdc11ab) ) - ROM_LOAD32_BYTE( "x73a15.3f", 1, 0x20000, CRC(2d827236) SHA1(d392dc64f136fd2ef19a2874758ad7804741882a) ) - ROM_IGNORE( 0x20000 ) - ROM_LOAD32_BYTE( "x73a16.4f", 2, 0x20000, CRC(c606cd02) SHA1(d316f11ad56359c8ae74858a84b373dd06934888) ) - ROM_IGNORE( 0x20000 ) - ROM_LOAD32_BYTE( "x73a17.6f", 3, 0x20000, CRC(2c0fdbc9) SHA1(3ae5b590db4705deeaeff93680a10ca980e6264f) ) - ROM_IGNORE( 0x20000 ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x73a10.1c", 0, 0x40000, CRC(e6663a99) SHA1(361503c16e32977c8f6b9c5ff981002ac0f97426) ) - ROM_LOAD32_BYTE( "x73a11.3c", 1, 0x40000, CRC(d8a35ebe) SHA1(b6e12db38ddd6dcefa8335b92c0a6e269a6a1e9a) ) - ROM_LOAD32_BYTE( "x73a12.4c", 2, 0x40000, CRC(f3b6ad98) SHA1(d91eeffd18684300809c99fa93d4ac0188530ff7) ) - ROM_LOAD32_BYTE( "x73a13.6c", 3, 0x40000, CRC(30ff8c5f) SHA1(e51d89f6b5db0d8e2c22a046337993f962f6ba8c) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x73_c19.4k", 0x00000, 0x8000, CRC(f4bdce8a) SHA1(e3168d6aa6f8cd24b497706a117c77353d1c6ef3) ) - ROM_LOAD16_BYTE( "x73_c18.3k", 0x00001, 0x8000, CRC(1ab265cc) SHA1(24dced438a28ea9eb2f06c8859c5c07f4d975bfd) ) - - ROM_REGION( 0x20000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x73a03.12e", 0x0000, 0x20000, CRC(fd32eb8c) SHA1(584afb1ed2da776a4ff9c0b9eb2906c914b28928) ) -ROM_END - -ROM_START( vitaminc ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x90e01.bin", 0x010000, 0xc000, CRC(bc982525) SHA1(30f5e9ab27f799b895a3d979109e331603d94249) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x90a02.bin", 0x00000, 0x40000, CRC(811f540a) SHA1(21993e99835a8995da28c24565b8e5dcc7aeb23e) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x90a14.bin", 0, 0x40000, CRC(4b49d182) SHA1(2658175a23641cf6a4c989940ec2ce31b64ad53e) ) - ROM_LOAD32_BYTE( "x90a15.bin", 1, 0x40000, CRC(5e9016c2) SHA1(5255c1f05f1308ba6fe8b6655eb251a6e4a30a37) ) - ROM_LOAD32_BYTE( "x90a16.bin", 2, 0x40000, CRC(b8843000) SHA1(6d7b02334603f6abd64edcba8fd2f082839c4811) ) - ROM_LOAD32_BYTE( "x90a17.bin", 3, 0x40000, CRC(d74a843c) SHA1(0a0236390f47bb96bf39baaba9961130b26f70d7) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x90a10.bin", 0, 0x40000, CRC(ee9fa36f) SHA1(c8864af92553f44180158dc1b34c9e1b81dfcd7f) ) - ROM_LOAD32_BYTE( "x90a11.bin", 1, 0x40000, CRC(b77d9ef4) SHA1(bb49b0dc28385c7052ff65ffc2c8446b37081965) ) - ROM_LOAD32_BYTE( "x90a12.bin", 2, 0x40000, CRC(da6a65d1) SHA1(3ab3a9e9c76dfc02579bf2fc390c23d24fe5a901) ) - ROM_LOAD32_BYTE( "x90a13.bin", 3, 0x40000, CRC(4da4553b) SHA1(da6fd2cfd5b027afe7e900f90128a25779acb15f) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x90b19.bin", 0x00000, 0x8000, CRC(d0022cfb) SHA1(f384964a09fe6c1f8a993f5da67d81a23df22879) ) - ROM_LOAD16_BYTE( "x90b18.bin", 0x00001, 0x8000, CRC(fe1de95d) SHA1(e94282065b3c69de7c9ea214c752745c18c38cb7) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x90a03.bin", 0x0000, 0x40000, CRC(35d5b4e6) SHA1(1ea4d03946aad33d33a817f83d20e7ad8faace6d) ) -ROM_END - -ROM_START( mjyougo ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x91c01.bin", 0x010000, 0xc000, CRC(e28e8c21) SHA1(8039d764fb48269f0cab549c5a8861c05ecb1ef1) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x91a02.bin", 0x00000, 0x40000, CRC(995b1399) SHA1(262f3d7ccffdaa578466d390d790f89186b3c993) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x91a14.bin", 0, 0x40000, CRC(b165fbe8) SHA1(eaad2fb26aedd07c4ec0a8bf91cb10f32c76cb83) ) - ROM_LOAD32_BYTE( "x91a15.bin", 1, 0x40000, CRC(9b60bf2e) SHA1(13c1efbdc1f9f88f0d51dfd76c0128a490f63527) ) - ROM_LOAD32_BYTE( "x91a16.bin", 2, 0x40000, CRC(db4a1655) SHA1(f57c7faaf7632a13af4a7b18aa8f81a2042e4eb8) ) - ROM_LOAD32_BYTE( "x91a17.bin", 3, 0x40000, CRC(4f35ec3b) SHA1(5bf2d9eed69cc5e9358d95c0fba8b2b916274288) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x91a10.bin", 0, 0x40000, CRC(cb364158) SHA1(5255756bfa1145b2773720a39e88fdb67f26e2e5) ) - ROM_LOAD32_BYTE( "x91a11.bin", 1, 0x40000, CRC(f3655577) SHA1(14eb0eda35015718f2e08da10d00ac8a381b4400) ) - ROM_LOAD32_BYTE( "x91a12.bin", 2, 0x40000, CRC(149e8f86) SHA1(660c05deabb0ce43b2f5b936c035df1a2b029fc6) ) - ROM_LOAD32_BYTE( "x91a13.bin", 3, 0x40000, CRC(59f7a140) SHA1(daad9433742b6292c8299935483f07f171436d17) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x91a19.bin", 0x00000, 0x8000, CRC(f63493df) SHA1(0e436bffb03fa6218363ee205c4fe5f4e16a24cc) ) - ROM_LOAD16_BYTE( "x91a18.bin", 0x00001, 0x8000, CRC(b3541265) SHA1(d8e79c2856bb81e9ad9b79c012d64663a8997bbd) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x91a03.bin", 0x0000, 0x40000, CRC(4863caa2) SHA1(6ef511cb4d184d4705eb0fd3eb3d82daad49564a) ) -ROM_END - -ROM_START( mjkinjas ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x07c01.bin", 0x010000, 0xc000, CRC(e6534904) SHA1(59c092f0369fc893763ad4b96551e0b4c2430a6a) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x07a02.bin", 0x00000, 0x40000, CRC(31396a5b) SHA1(c444f0a651da70c050a4c69bd09c31fc80dbf1de) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x07a14.bin", 0, 0x80000, CRC(02829ede) SHA1(227d2bcbaafab19ab2c3ff9dad17a0792d114466) ) - ROM_LOAD32_BYTE( "x07a15.bin", 1, 0x80000, CRC(9c8b55db) SHA1(2142c0a6a6b89b2e07ac50be5c5af159610a1922) ) - ROM_LOAD32_BYTE( "x07a16.bin", 2, 0x80000, CRC(7898a340) SHA1(a04d71c5b964509d591659f8f09ea5f38080c0ae) ) - ROM_LOAD32_BYTE( "x07a17.bin", 3, 0x80000, CRC(bf1f6540) SHA1(94465a2dc20bc2b35d5518a485025b721ef87c49) ) - - ROM_REGION( 0x200000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x07a10.bin", 0, 0x80000, CRC(3bfab66e) SHA1(149d90d6fd1357b407bd9f2fe495ee28d55c9122) ) - ROM_LOAD32_BYTE( "x07a11.bin", 1, 0x80000, CRC(e8f610e3) SHA1(52970a56e67f6b36e1693c06207cbf14ebb96931) ) - ROM_LOAD32_BYTE( "x07a12.bin", 2, 0x80000, CRC(911f0972) SHA1(90b511725de3a226326ddc39106071230f3d3bc6) ) - ROM_LOAD32_BYTE( "x07a13.bin", 3, 0x80000, CRC(59be4c77) SHA1(1ba858c6b1e91753204e10738ca685a4df550d64) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x07a19.bin", 0x00000, 0x8000, CRC(7acabdf8) SHA1(90e39c1dd3e32c057ab8bfcd82d022231a06847c) ) - ROM_LOAD16_BYTE( "x07a18.bin", 0x00001, 0x8000, CRC(d247bd5a) SHA1(298d62395ea7c687ed509863aaf3d8b758743cd8) ) - - ROM_REGION( 0x80000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x07a03.bin", 0x0000, 0x80000, CRC(f5ff3e72) SHA1(e3489a3b8988677866aadd41cb99f146217022ce) ) -ROM_END - -ROM_START( jogakuen ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "a01.bin", 0x010000, 0xc000, CRC(a189490a) SHA1(0d9f6389d4b16c3b885cdc8be20b19db25812aad) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "a02.bin", 0x00000, 0x40000, CRC(033add6c) SHA1(fc6b9333722228ba4270b1ba520e32e624b251c2) ) - - ROM_REGION( 0x200000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "a14.bin", 0, 0x80000, CRC(27ad91d7) SHA1(6d96b030a7f1f8c90fb31582b72acbbc759d1e2f) ) - ROM_LOAD32_BYTE( "a15.bin", 1, 0x80000, CRC(e3b2753b) SHA1(c7923da2a718b70c4359d2726e8f8744f55e0389) ) - ROM_LOAD32_BYTE( "a16.bin", 2, 0x80000, CRC(6e2c61fc) SHA1(57b33614b4968d5f88741ff0a52c9a1f28a14da7) ) - ROM_LOAD32_BYTE( "a17.bin", 3, 0x80000, CRC(2f79d467) SHA1(b82df890cb12c33f6cc58676c02595be7614fd12) ) - - ROM_REGION( 0x200000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "a10.bin", 0, 0x80000, CRC(a453759a) SHA1(62b7a41ea97bc808f3250505a9ffeaf53f1b9308) ) - ROM_LOAD32_BYTE( "a11.bin", 1, 0x80000, CRC(252cf007) SHA1(7b3dd558ca00f6855ac037f30e348265a9778f7d) ) - ROM_LOAD32_BYTE( "a12.bin", 2, 0x80000, CRC(5db85eb5) SHA1(01291b98676a8f5116739f66e517fe05f806514a) ) - ROM_LOAD32_BYTE( "a13.bin", 3, 0x80000, CRC(fe04d5b7) SHA1(965c095ce4f8f494d91370fe798be9214c2195f2) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "a19.bin", 0x00000, 0x8000, CRC(9a3d9d5e) SHA1(1ab20fc5b7ab1c2508c76b0051923446c409e074) ) - ROM_LOAD16_BYTE( "a18.bin", 0x00001, 0x8000, CRC(3289edd4) SHA1(7db4fbda8a22c64dc29ce6b4b63204cebd641351) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "a03.bin", 0x0000, 0x40000, CRC(bb1507ab) SHA1(465f45c9cae2d4e064b784cc5ba25b60839e4b5f) ) -ROM_END - -ROM_START( lemnangl ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "x02_d01.16e", 0x010000, 0xc000, CRC(4c2fae05) SHA1(86516399bd1eb1565b446dfa0f9a974bde6f9af2) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "x02a02.9g", 0x00000, 0x40000, CRC(e9aa8c80) SHA1(6db1345e20d53d8c69cebcac3b2a973fbcaa0e63) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "x02a14.1f", 0, 0x40000, CRC(4aa2397b) SHA1(5716de828e5e8735d5e6be0f7cfa95c52b37418a) ) - ROM_LOAD32_BYTE( "x02a15.3f", 1, 0x40000, CRC(d01986e2) SHA1(5889d771d5e13a12e650ee2e4885616373dcf828) ) - ROM_LOAD32_BYTE( "x02a16.4f", 2, 0x40000, CRC(16fca216) SHA1(e6715888053748a6da93dc087535da8e0b1ba702) ) - ROM_LOAD32_BYTE( "x02a17.6f", 3, 0x40000, CRC(7a6a96e7) SHA1(732e6f5ce0cac966aa8b6cfed3f39bb3ea30f57e) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "x02a10.1c", 0, 0x40000, CRC(e7164f57) SHA1(06f80ff72f12f2d821899c73051315bfa7b9bf7a) ) - ROM_LOAD32_BYTE( "x02a11.3c", 1, 0x40000, CRC(73fb5d3d) SHA1(99a26ae495e6768756c354330a6a859cfd1b9781) ) - ROM_LOAD32_BYTE( "x02a12.4c", 2, 0x40000, CRC(fc3a254a) SHA1(bf8172c00446b348b4432c71d92e8567ba50ab98) ) - ROM_LOAD32_BYTE( "x02a13.6c", 3, 0x40000, CRC(9f63e7e0) SHA1(4bd8077a3700ccbc4c4a358342b1f9fd4cba8f10) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "x02_b19.5k", 0x00000, 0x8000, CRC(f75959bc) SHA1(59a1debc28263a7f5f9b775817232fffc6e63ac4) ) - ROM_LOAD16_BYTE( "x02_b18.3k", 0x00001, 0x8000, CRC(3f1510b1) SHA1(a9892beb3d911ee91d7dd276d9c84d14ba3253d8) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "x02a03.12e", 0x0000, 0x40000, CRC(02ef0378) SHA1(6223a019fc7794872dd49151952c56892295a779) ) -ROM_END - -ROM_START( mjikaga ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "m15a01.bin", 0x010000, 0xc000, CRC(938cc4fb) SHA1(f979c6eee0b72bf53be8c7ebbc4e1dc05bd447d4) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "m15a02.bin", 0x00000, 0x40000, CRC(375933dd) SHA1(e813f02e53dc892714cd0e81301606600b72535c) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "m15a14.bin", 0, 0x40000, CRC(a685c452) SHA1(819486730cdd89572f5c6b6176e9694cf99a4264) ) - ROM_LOAD32_BYTE( "m15a15.bin", 1, 0x40000, CRC(44153914) SHA1(f8149c2e5412eb2a93dd16bfcb4f618aeddf3ff9) ) - ROM_LOAD32_BYTE( "m15a16.bin", 2, 0x40000, CRC(a4b0b8ac) SHA1(f6fd54c8c7ded3f7502c07b208e5f317669bc3f0) ) - ROM_LOAD32_BYTE( "m15a17.bin", 3, 0x40000, CRC(bb9cb2ef) SHA1(4df3eb57b46cb3ca25d938bb54205487b2c06b6d) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "m15a10.bin", 0, 0x40000, CRC(0aeed38e) SHA1(9becd3d5d32ca9678e9211480139c3a1beabb98d) ) - ROM_LOAD32_BYTE( "m15a11.bin", 1, 0x40000, CRC(a305e6e6) SHA1(a2c978050e70deb0244c660db800cba42eb3e2d0) ) - ROM_LOAD32_BYTE( "m15a12.bin", 2, 0x40000, CRC(946b3f55) SHA1(17451cbd7b0c828444aaf2ff170f3a7104596c1d) ) - ROM_LOAD32_BYTE( "m15a13.bin", 3, 0x40000, CRC(d9196955) SHA1(fa8fddbcd91b12d6cb918c0761ea478969a5a795) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "m15a19.bin", 0x00000, 0x8000, CRC(2f247acf) SHA1(468fee5a16c98751524e21ad0f608fc85c95ab86) ) - ROM_LOAD16_BYTE( "m15a18.bin", 0x00001, 0x8000, CRC(2648ca07) SHA1(e4f5ed62b014a6e397ce611c2c592f795d112219) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "m15a03.bin", 0x0000, 0x40000, CRC(07e2e8f8) SHA1(61eed47c4136733059c1d96e98cadb8ac9078f95) ) -ROM_END - -ROM_START( mjprivat ) - ROM_REGION( 0x01c000, "maincpu", 0 ) /* 6809 Code */ - ROM_LOAD( "311d01.16e", 0x010000, 0xc000, CRC(3b4f4676) SHA1(e308febb9c8d35b495b83b37daff7c56deba78fb) ) - ROM_CONTINUE( 0x00c000, 0x4000 ) - - ROM_REGION( 0x40000, "audiocpu", 0) /* uPD7807 code */ - ROM_LOAD( "311a02.9g", 0x00000, 0x40000, CRC(ae1d360a) SHA1(26a1e8d654ea2e4393a5267f0d9dab62149b4112) ) - - ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "311a14.1f", 0, 0x40000, CRC(e8741ece) SHA1(ba380c287236668d8ed8583fb9735ed88d2eb41b) ) - ROM_LOAD32_BYTE( "311a15.3f", 1, 0x40000, CRC(51a5c226) SHA1(d527cc542a507fda6b55aec51e76a2dd019b9560) ) - ROM_LOAD32_BYTE( "311a16.4f", 2, 0x40000, CRC(f4419416) SHA1(0e8aa0ef51e449354dce3c8563c5eee230039dc6) ) - ROM_LOAD32_BYTE( "311a17.6f", 3, 0x40000, CRC(1edf5715) SHA1(717181ef596aac6fb556da75ac495f44b763840e) ) - - ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD32_BYTE( "311a10.1c", 0, 0x40000, CRC(6b15a5fc) SHA1(db19c4c8fae31357bd72821a74b277b7f9abccb4) ) - ROM_LOAD32_BYTE( "311a11.3c", 1, 0x40000, CRC(b5faaf51) SHA1(7c6c72101d677d5f2e41ea6dc6490828f41d844c) ) - ROM_LOAD32_BYTE( "311a12.4c", 2, 0x40000, CRC(ab26bb73) SHA1(3645d3f6767b0bcb43ce2e3b2ef3bdca37d446cf) ) - ROM_LOAD32_BYTE( "311a13.6c", 3, 0x40000, CRC(f2f8f9a0) SHA1(d6b5dd68c85f9d506147f5ffeb60bdfad2bf0195) ) - - ROM_REGION( 0x010000, "proms", 0 ) /* static palette */ - ROM_LOAD16_BYTE( "311a19.4k", 0x00000, 0x8000, CRC(dbb5569a) SHA1(e23a32667adc8eade7555adbac18dac268f08d3e) ) - ROM_LOAD16_BYTE( "311a18.3k", 0x00001, 0x8000, CRC(a5ca7723) SHA1(d074c5c09a50abdb2b0ffdeacfc077a91b9204bf) ) - - ROM_REGION( 0x40000, "blit_rom", 0 ) /* blitter data */ - ROM_LOAD( "311b03.12e", 0x0000, 0x40000, CRC(5722c341) SHA1(694e63261d91da48c0ed14a44fbc6c9c74b055d9) ) -ROM_END - -ROM_START( mirderby ) - ROM_REGION( 0x8000, "cpu0", 0 ) /* Z80 Code */ - ROM_LOAD( "x70_a11.1g", 0x2000, 0x6000, CRC(b394eef7) SHA1(a646596d09b90eda44aaf8ccbf8f3fccfd3d5dad) ) // first 0x6000 bytes are blank! - ROM_CONTINUE(0x0000, 0x2000) // main z80 code is here - - ROM_REGION( 0x10000, "cpu1", 0 ) /* M6809 code */ - ROM_LOAD( "x70_c01.14e", 0x00000, 0x10000, CRC(d79d072d) SHA1(8e189931de9c4eb520c1ec2d0898d8eaba0f01b5) ) - - ROM_REGION( 0x10000, "maincpu", 0 ) /* M6809 code */ - ROM_LOAD( "x70_b02.12e", 0x8000, 0x8000, CRC(76c9bb6f) SHA1(dd8893f3082d33d366247295e9531f8879c219c5) ) - - ROM_REGION( 0x8000, "gfx1", 0 ) // horse gfx - ROM_LOAD( "x70_a03.8g", 0x0000, 0x8000, CRC(4e298b2d) SHA1(ae78327d1f30c8d19ef772b82803dab4d6b7b919)) - - ROM_REGION( 0x20000, "gfx2", 0 ) // fonts etc. - ROM_LOAD( "x70_a04.5g", 0x0000, 0x20000, CRC(14392fdb) SHA1(dafdce473b2d2ebbdbf49fbd12f85c1ad69b2877) ) - - ROM_REGION( 0x300, "proms", 0 ) /* colours */ - ROM_LOAD( "x70a07.8l", 0x000, 0x100, CRC(7d4c9712) SHA1(fe2a89841fdf5e4fd6cd41478ad2f29d28bed54d) ) - ROM_LOAD( "x70a08.7l", 0x100, 0x100, CRC(c4e77174) SHA1(ada238ded69f01b4daeb0159a2c5c422977bb95e) ) - ROM_LOAD( "x70a09.6l", 0x200, 0x100, CRC(d0187957) SHA1(6b36c1bccad24708cfa2fc78da08313f9bcfdbc0) ) -ROM_END - - - -void homedata_state::init_reikaids() -{ - m_priority = 0; -} - -void homedata_state::init_battlcry() -{ - m_priority = 1; /* priority and initial value for bank write */ -} - -void homedata_state::init_mirderby() -{ -} - - -GAME( 1987, hourouki, 0, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Hourouki Part 1 - Seisyun Hen (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1987, mhgaiden, 0, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Hourouki Gaiden (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, mjhokite, 0, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Hourouki Okite (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, mjclinic, 0, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Clinic (Japan, set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, mjclinica, mjclinic, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Clinic (Japan, set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, mrokumei, 0, mrokumei, mjhokite, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Rokumeikan (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) - -GAME( 1988, lastapos, 0, reikaids, reikaids, homedata_state, init_reikaids, ROT0, "Home Data", "The Last Apostle Puppetshow", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, reikaids, lastapos, reikaids, reikaids, homedata_state, init_reikaids, ROT0, "Home Data", "Reikai Doushi (Japan)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1991, battlcry, 0, reikaids, battlcry, homedata_state, init_battlcry, ROT0, "Home Data", "Battlecry (Version E)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, battlcryc, battlcry, reikaids, battlcry, homedata_state, init_battlcry, ROT0, "Home Data", "Battlecry (Version C)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, battlcryp, battlcry, reikaids, battlcry, homedata_state, init_battlcry, ROT0, "Home Data", "Battlecry (Prototype)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mjkojink, 0, pteacher, pteacher, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Kojinkyouju (Private Teacher) (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1988, mjjoship, 0, pteacher, mjjoship, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Joshi Pro-wres -Give up 5 byou mae- (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, vitaminc, 0, pteacher, pteacher, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Vitamin C (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1989, mjyougo, 0, pteacher, pteacher, homedata_state, empty_init, ROT0, "Home Data", "Mahjong-yougo no Kisotairyoku (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, mjkinjas, 0, mjkinjas, pteacher, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Kinjirareta Asobi (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1992?,jogakuen, 0, jogakuen, jogakuen, homedata_state, empty_init, ROT0, "Windom", "Mahjong Jogakuen (Japan)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1990, lemnangl, 0, lemnangl, pteacher, homedata_state, empty_init, ROT0, "Home Data", "Mahjong Lemon Angel (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, mjprivat, 0, lemnangl, pteacher, homedata_state, empty_init, ROT0, "Matoba", "Mahjong Private (Japan)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1991?,mjikaga, 0, mjikaga, mjikaga, homedata_state, empty_init, ROT0, "Mitchell", "Mahjong Ikaga Desu ka (Japan)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1988, mirderby, 0, mirderby, mirderby, homedata_state, init_mirderby, ROT0, "Home Data?", "Miracle Derby - Ascot", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) |