mirror of
https://github.com/holub/mame
synced 2025-04-16 21:44:32 +03:00
- actfancr.cpp, battlera.cpp: use finders, minor cleanups
- namcos12.cpp: updated fgtlayer title as per GitHub comments
This commit is contained in:
parent
bad7b7ec68
commit
30ac5da480
@ -1690,14 +1690,11 @@ files {
|
|||||||
createMAMEProjects(_target, _subtarget, "dataeast")
|
createMAMEProjects(_target, _subtarget, "dataeast")
|
||||||
files {
|
files {
|
||||||
MAME_DIR .. "src/mame/drivers/actfancr.cpp",
|
MAME_DIR .. "src/mame/drivers/actfancr.cpp",
|
||||||
MAME_DIR .. "src/mame/includes/actfancr.h",
|
|
||||||
MAME_DIR .. "src/mame/video/actfancr.cpp",
|
|
||||||
MAME_DIR .. "src/mame/drivers/astrof.cpp",
|
MAME_DIR .. "src/mame/drivers/astrof.cpp",
|
||||||
MAME_DIR .. "src/mame/includes/astrof.h",
|
MAME_DIR .. "src/mame/includes/astrof.h",
|
||||||
MAME_DIR .. "src/mame/audio/astrof.cpp",
|
MAME_DIR .. "src/mame/audio/astrof.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/backfire.cpp",
|
MAME_DIR .. "src/mame/drivers/backfire.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/battlera.cpp",
|
MAME_DIR .. "src/mame/drivers/battlera.cpp",
|
||||||
MAME_DIR .. "src/mame/includes/battlera.h",
|
|
||||||
MAME_DIR .. "src/mame/drivers/boogwing.cpp",
|
MAME_DIR .. "src/mame/drivers/boogwing.cpp",
|
||||||
MAME_DIR .. "src/mame/includes/boogwing.h",
|
MAME_DIR .. "src/mame/includes/boogwing.h",
|
||||||
MAME_DIR .. "src/mame/video/boogwing.cpp",
|
MAME_DIR .. "src/mame/video/boogwing.cpp",
|
||||||
|
@ -11,39 +11,130 @@
|
|||||||
|
|
||||||
Update of the 03/04/2005
|
Update of the 03/04/2005
|
||||||
Added Trio The Punch (World), this set will be the new parent.
|
Added Trio The Punch (World), this set will be the new parent.
|
||||||
Fixed filenames in both Trio The Punch sets to match correct labels on the pcb.
|
Fixed filenames in both Trio The Punch sets to match correct labels on the PCB.
|
||||||
|
|
||||||
Update by Roberto Gandola, sophitia@email.it
|
Update by Roberto Gandola, sophitia@email.it
|
||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "includes/actfancr.h"
|
|
||||||
|
|
||||||
|
#include "video/decbac06.h"
|
||||||
|
#include "video/decmxc06.h"
|
||||||
|
|
||||||
|
#include "cpu/h6280/h6280.h"
|
||||||
#include "cpu/m6502/m6502.h"
|
#include "cpu/m6502/m6502.h"
|
||||||
|
#include "machine/gen_latch.h"
|
||||||
#include "sound/okim6295.h"
|
#include "sound/okim6295.h"
|
||||||
#include "sound/ymopn.h"
|
|
||||||
#include "sound/ymopl.h"
|
#include "sound/ymopl.h"
|
||||||
|
#include "sound/ymopn.h"
|
||||||
|
|
||||||
#include "emupal.h"
|
#include "emupal.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
void actfancr_state::triothep_control_select_w(uint8_t data)
|
namespace {
|
||||||
|
|
||||||
|
class actfancr_state : public driver_device
|
||||||
{
|
{
|
||||||
m_trio_control_select = data;
|
public:
|
||||||
|
actfancr_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
|
driver_device(mconfig, type, tag),
|
||||||
|
m_maincpu(*this, "maincpu"),
|
||||||
|
m_audiocpu(*this, "audiocpu"),
|
||||||
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
|
m_tilegen(*this, "tilegen%u", 1U),
|
||||||
|
m_spritegen(*this, "spritegen"),
|
||||||
|
m_spriteram(*this, "spriteram"),
|
||||||
|
m_spriteram16(*this, "spriteram16", 0x800 / 2, ENDIANNESS_BIG) { }
|
||||||
|
|
||||||
|
|
||||||
|
void actfancr(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// devices
|
||||||
|
required_device<h6280_device> m_maincpu;
|
||||||
|
required_device<cpu_device> m_audiocpu;
|
||||||
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
|
required_device_array<deco_bac06_device, 2> m_tilegen;
|
||||||
|
required_device<deco_mxc06_device> m_spritegen;
|
||||||
|
|
||||||
|
void buffer_spriteram_w(uint8_t data);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// memory pointers
|
||||||
|
required_shared_ptr<uint8_t> m_spriteram;
|
||||||
|
memory_share_creator<uint16_t> m_spriteram16; // a 16-bit copy of spriteram for use with the MXC06 code
|
||||||
|
|
||||||
|
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
|
||||||
|
void prg_map(address_map &map);
|
||||||
|
void dec0_s_map(address_map &map);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class triothep_state : public actfancr_state
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
triothep_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
|
actfancr_state(mconfig, type, tag),
|
||||||
|
m_p(*this, "P%u", 1U),
|
||||||
|
m_dsw(*this, "DSW%u", 1U),
|
||||||
|
m_system(*this, "SYSTEM") { }
|
||||||
|
|
||||||
|
|
||||||
|
void triothep(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void machine_start() override;
|
||||||
|
virtual void machine_reset() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// misc
|
||||||
|
required_ioport_array<2> m_p;
|
||||||
|
required_ioport_array<2> m_dsw;
|
||||||
|
required_ioport m_system;
|
||||||
|
uint8_t m_control_select;
|
||||||
|
|
||||||
|
void control_select_w(uint8_t data);
|
||||||
|
uint8_t control_r();
|
||||||
|
|
||||||
|
void prg_map(address_map &map);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t actfancr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||||
|
{
|
||||||
|
// Draw playfield
|
||||||
|
bool flip = m_tilegen[1]->get_flip_state();
|
||||||
|
m_tilegen[0]->set_flip_screen(flip);
|
||||||
|
m_tilegen[1]->set_flip_screen(flip);
|
||||||
|
m_spritegen->set_flip_screen(flip);
|
||||||
|
|
||||||
|
m_tilegen[0]->deco_bac06_pf_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||||
|
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_spriteram16.target(), 0x800/2);
|
||||||
|
m_tilegen[1]->deco_bac06_pf_draw(screen, bitmap, cliprect, 0, 0);
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t actfancr_state::triothep_control_r()
|
/******************************************************************************/
|
||||||
|
|
||||||
|
void triothep_state::control_select_w(uint8_t data)
|
||||||
{
|
{
|
||||||
switch (m_trio_control_select)
|
m_control_select = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t triothep_state::control_r()
|
||||||
|
{
|
||||||
|
switch (m_control_select)
|
||||||
{
|
{
|
||||||
case 0: return ioport("P1")->read();
|
case 0: return m_p[0]->read();
|
||||||
case 1: return ioport("P2")->read();
|
case 1: return m_p[1]->read();
|
||||||
case 2: return ioport("DSW1")->read();
|
case 2: return m_dsw[0]->read();
|
||||||
case 3: return ioport("DSW2")->read();
|
case 3: return m_dsw[1]->read();
|
||||||
case 4: return ioport("SYSTEM")->read(); /* VBL */
|
case 4: return m_system->read(); // VBL
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0xff;
|
return 0xff;
|
||||||
@ -53,15 +144,14 @@ uint8_t actfancr_state::triothep_control_r()
|
|||||||
|
|
||||||
void actfancr_state::buffer_spriteram_w(uint8_t data)
|
void actfancr_state::buffer_spriteram_w(uint8_t data)
|
||||||
{
|
{
|
||||||
uint8_t *src = reinterpret_cast<uint8_t *>(memshare("spriteram")->ptr());
|
|
||||||
// copy to a 16-bit region for our sprite draw code too
|
// copy to a 16-bit region for our sprite draw code too
|
||||||
for (int i=0;i<0x800/2;i++)
|
for (int i = 0; i < 0x800 / 2; i++)
|
||||||
{
|
{
|
||||||
m_spriteram16[i] = src[i*2] | (src[(i*2)+1] <<8);
|
m_spriteram16[i] = m_spriteram[i * 2] | (m_spriteram[(i * 2) + 1] << 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void actfancr_state::actfan_map(address_map &map)
|
void actfancr_state::prg_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x000000, 0x02ffff).rom();
|
map(0x000000, 0x02ffff).rom();
|
||||||
map(0x060000, 0x060007).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
map(0x060000, 0x060007).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
||||||
@ -70,19 +160,19 @@ void actfancr_state::actfan_map(address_map &map)
|
|||||||
map(0x070000, 0x070007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
map(0x070000, 0x070007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
||||||
map(0x070010, 0x07001f).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control1_8bit_swap_w));
|
map(0x070010, 0x07001f).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control1_8bit_swap_w));
|
||||||
map(0x072000, 0x0727ff).rw(m_tilegen[1], FUNC(deco_bac06_device::pf_data_8bit_swap_r), FUNC(deco_bac06_device::pf_data_8bit_swap_w));
|
map(0x072000, 0x0727ff).rw(m_tilegen[1], FUNC(deco_bac06_device::pf_data_8bit_swap_r), FUNC(deco_bac06_device::pf_data_8bit_swap_w));
|
||||||
map(0x100000, 0x1007ff).ram().share("spriteram");
|
map(0x100000, 0x1007ff).ram().share(m_spriteram);
|
||||||
map(0x110000, 0x110001).w(FUNC(actfancr_state::buffer_spriteram_w));
|
map(0x110000, 0x110001).w(FUNC(actfancr_state::buffer_spriteram_w));
|
||||||
map(0x120000, 0x1205ff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
|
map(0x120000, 0x1205ff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
|
||||||
map(0x130000, 0x130000).portr("P1");
|
map(0x130000, 0x130000).portr("P1");
|
||||||
map(0x130001, 0x130001).portr("P2");
|
map(0x130001, 0x130001).portr("P2");
|
||||||
map(0x130002, 0x130002).portr("DSW1");
|
map(0x130002, 0x130002).portr("DSW1");
|
||||||
map(0x130003, 0x130003).portr("DSW2");
|
map(0x130003, 0x130003).portr("DSW2");
|
||||||
map(0x140000, 0x140001).portr("SYSTEM"); /* VBL */
|
map(0x140000, 0x140001).portr("SYSTEM"); // VBL
|
||||||
map(0x150000, 0x150000).w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
map(0x150000, 0x150000).w("soundlatch", FUNC(generic_latch_8_device::write));
|
||||||
map(0x1f0000, 0x1f3fff).ram(); /* Main ram */
|
map(0x1f0000, 0x1f3fff).ram(); // Main RAM
|
||||||
}
|
}
|
||||||
|
|
||||||
void actfancr_state::triothep_map(address_map &map)
|
void triothep_state::prg_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x000000, 0x03ffff).rom();
|
map(0x000000, 0x03ffff).rom();
|
||||||
map(0x040000, 0x040007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
map(0x040000, 0x040007).w(m_tilegen[1], FUNC(deco_bac06_device::pf_control0_8bit_w));
|
||||||
@ -93,12 +183,12 @@ void actfancr_state::triothep_map(address_map &map)
|
|||||||
map(0x060010, 0x06001f).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_swap_w));
|
map(0x060010, 0x06001f).w(m_tilegen[0], FUNC(deco_bac06_device::pf_control1_8bit_swap_w));
|
||||||
map(0x064000, 0x0647ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_8bit_swap_r), FUNC(deco_bac06_device::pf_data_8bit_swap_w));
|
map(0x064000, 0x0647ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_data_8bit_swap_r), FUNC(deco_bac06_device::pf_data_8bit_swap_w));
|
||||||
map(0x066400, 0x0667ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_8bit_swap_r), FUNC(deco_bac06_device::pf_rowscroll_8bit_swap_w));
|
map(0x066400, 0x0667ff).rw(m_tilegen[0], FUNC(deco_bac06_device::pf_rowscroll_8bit_swap_r), FUNC(deco_bac06_device::pf_rowscroll_8bit_swap_w));
|
||||||
map(0x100000, 0x100000).w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
map(0x100000, 0x100000).w("soundlatch", FUNC(generic_latch_8_device::write));
|
||||||
map(0x110000, 0x110001).w(FUNC(actfancr_state::buffer_spriteram_w));
|
map(0x110000, 0x110001).w(FUNC(triothep_state::buffer_spriteram_w));
|
||||||
map(0x120000, 0x1207ff).ram().share("spriteram");
|
map(0x120000, 0x1207ff).ram().share("spriteram");
|
||||||
map(0x130000, 0x1305ff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
|
map(0x130000, 0x1305ff).ram().w("palette", FUNC(palette_device::write8)).share("palette");
|
||||||
map(0x140000, 0x140001).nopr(); /* Value doesn't matter */
|
map(0x140000, 0x140001).nopr(); // Value doesn't matter
|
||||||
map(0x1f0000, 0x1f3fff).ram(); /* Main ram */
|
map(0x1f0000, 0x1f3fff).ram(); // Main RAM
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
@ -108,7 +198,7 @@ void actfancr_state::dec0_s_map(address_map &map)
|
|||||||
map(0x0000, 0x07ff).ram();
|
map(0x0000, 0x07ff).ram();
|
||||||
map(0x0800, 0x0801).w("ym1", FUNC(ym2203_device::write));
|
map(0x0800, 0x0801).w("ym1", FUNC(ym2203_device::write));
|
||||||
map(0x1000, 0x1001).w("ym2", FUNC(ym3812_device::write));
|
map(0x1000, 0x1001).w("ym2", FUNC(ym3812_device::write));
|
||||||
map(0x3000, 0x3000).r(m_soundlatch, FUNC(generic_latch_8_device::read));
|
map(0x3000, 0x3000).r("soundlatch", FUNC(generic_latch_8_device::read));
|
||||||
map(0x3800, 0x3800).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
map(0x3800, 0x3800).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||||
map(0x4000, 0xffff).rom();
|
map(0x4000, 0xffff).rom();
|
||||||
}
|
}
|
||||||
@ -157,7 +247,7 @@ static INPUT_PORTS_START( actfancr )
|
|||||||
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
|
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) // Listed as "Unused"
|
||||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
|
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||||
@ -179,12 +269,12 @@ static INPUT_PORTS_START( actfancr )
|
|||||||
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
|
PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( Hard ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) // Listed as "Unused"
|
||||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6")
|
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6")
|
||||||
PORT_DIPSETTING( 0x20, "800000" )
|
PORT_DIPSETTING( 0x20, "800000" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) // Listed as "Unused"
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) // Listed as "Unused"
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( triothep )
|
static INPUT_PORTS_START( triothep )
|
||||||
@ -210,31 +300,31 @@ static INPUT_PORTS_START( triothep )
|
|||||||
PORT_DIPNAME( 0x10, 0x10, "Bonus Lives" ) PORT_DIPLOCATION("SW2:5")
|
PORT_DIPNAME( 0x10, 0x10, "Bonus Lives" ) PORT_DIPLOCATION("SW2:5")
|
||||||
PORT_DIPSETTING( 0x00, "2" )
|
PORT_DIPSETTING( 0x00, "2" )
|
||||||
PORT_DIPSETTING( 0x10, "3" )
|
PORT_DIPSETTING( 0x10, "3" )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) // Listed as "Unused"
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
static const gfx_layout layout_8x8x4 =
|
static const gfx_layout layout_8x8x4 =
|
||||||
{
|
{
|
||||||
8,8, /* 8*8 chars */
|
8,8, // 8*8 chars
|
||||||
RGN_FRAC(1,4),
|
RGN_FRAC(1,4),
|
||||||
4, /* 4 bits per pixel */
|
4, // 4 bits per pixel
|
||||||
{ RGN_FRAC(1,4), RGN_FRAC(3,4), RGN_FRAC(0,4), RGN_FRAC(2,4) },
|
{ RGN_FRAC(1,4), RGN_FRAC(3,4), RGN_FRAC(0,4), RGN_FRAC(2,4) },
|
||||||
{ STEP8(0,1) },
|
{ STEP8(0,1) },
|
||||||
{ STEP8(0,8) },
|
{ STEP8(0,8) },
|
||||||
8*8 /* every char takes 8 consecutive bytes */
|
8*8 // every char takes 8 consecutive bytes
|
||||||
};
|
};
|
||||||
|
|
||||||
static const gfx_layout layout_16x16x4 =
|
static const gfx_layout layout_16x16x4 =
|
||||||
{
|
{
|
||||||
16,16, /* 16*16 sprites */
|
16,16, // 16*16 sprites
|
||||||
RGN_FRAC(1,4),
|
RGN_FRAC(1,4),
|
||||||
4,
|
4,
|
||||||
{ 0, RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, /* plane offset */
|
{ 0, RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, // plane offset
|
||||||
{ STEP8(16*8,1), STEP8(0,1) },
|
{ STEP8(16*8,1), STEP8(0,1) },
|
||||||
{ STEP16(0,8) },
|
{ STEP16(0,8) },
|
||||||
32*8 /* every sprite takes 32 consecutive bytes */
|
32*8 // every sprite takes 32 consecutive bytes
|
||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_actfan )
|
static GFXDECODE_START( gfx_actfan )
|
||||||
@ -251,36 +341,36 @@ GFXDECODE_END
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
MACHINE_START_MEMBER(actfancr_state,triothep)
|
void triothep_state::machine_start()
|
||||||
{
|
{
|
||||||
save_item(NAME(m_trio_control_select));
|
save_item(NAME(m_control_select));
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_RESET_MEMBER(actfancr_state,triothep)
|
void triothep_state::machine_reset()
|
||||||
{
|
{
|
||||||
m_trio_control_select = 0;
|
m_control_select = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
void actfancr_state::actfancr(machine_config &config)
|
void actfancr_state::actfancr(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
// basic machine hardware
|
||||||
H6280(config, m_maincpu, 21477200/3); /* Should be accurate */
|
H6280(config, m_maincpu, 21477200/3); // Should be accurate
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &actfancr_state::actfan_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &actfancr_state::prg_map);
|
||||||
m_maincpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
m_maincpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
||||||
|
|
||||||
M6502(config, m_audiocpu, 1500000); /* Should be accurate */
|
M6502(config, m_audiocpu, 1500000); // Should be accurate
|
||||||
m_audiocpu->set_addrmap(AS_PROGRAM, &actfancr_state::dec0_s_map);
|
m_audiocpu->set_addrmap(AS_PROGRAM, &actfancr_state::dec0_s_map);
|
||||||
|
|
||||||
/* video hardware */
|
// video hardware
|
||||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||||
screen.set_refresh_hz(60);
|
screen.set_refresh_hz(60);
|
||||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
|
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
|
||||||
screen.set_size(32*8, 32*8);
|
screen.set_size(32*8, 32*8);
|
||||||
screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1);
|
screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1);
|
||||||
screen.set_screen_update(FUNC(actfancr_state::screen_update));
|
screen.set_screen_update(FUNC(actfancr_state::screen_update));
|
||||||
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); /* VBL */
|
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); // VBL
|
||||||
screen.set_palette("palette");
|
screen.set_palette("palette");
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_actfan);
|
GFXDECODE(config, m_gfxdecode, "palette", gfx_actfan);
|
||||||
@ -296,11 +386,10 @@ void actfancr_state::actfancr(machine_config &config)
|
|||||||
|
|
||||||
DECO_MXC06(config, m_spritegen, 0);
|
DECO_MXC06(config, m_spritegen, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
// sound hardware
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
GENERIC_LATCH_8(config, m_soundlatch);
|
GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
|
||||||
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
|
|
||||||
|
|
||||||
ym2203_device &ym1(YM2203(config, "ym1", 1500000));
|
ym2203_device &ym1(YM2203(config, "ym1", 1500000));
|
||||||
ym1.add_route(0, "mono", 0.90);
|
ym1.add_route(0, "mono", 0.90);
|
||||||
@ -316,81 +405,48 @@ void actfancr_state::actfancr(machine_config &config)
|
|||||||
oki.add_route(ALL_OUTPUTS, "mono", 0.85);
|
oki.add_route(ALL_OUTPUTS, "mono", 0.85);
|
||||||
}
|
}
|
||||||
|
|
||||||
void actfancr_state::triothep(machine_config &config)
|
void triothep_state::triothep(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
actfancr(config);
|
||||||
H6280(config, m_maincpu, XTAL(21'477'272)/3); /* XIN=21.4772Mhz, verified on pcb */
|
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &actfancr_state::triothep_map);
|
|
||||||
m_maincpu->port_in_cb().set(FUNC(actfancr_state::triothep_control_r));
|
|
||||||
m_maincpu->port_out_cb().set(FUNC(actfancr_state::triothep_control_select_w));
|
|
||||||
m_maincpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
|
||||||
|
|
||||||
M6502(config, m_audiocpu, XTAL(12'000'000)/8); /* verified on pcb */
|
// basic machine hardware
|
||||||
m_audiocpu->set_addrmap(AS_PROGRAM, &actfancr_state::dec0_s_map);
|
m_maincpu->set_clock(XTAL(21'477'272) / 3); /* XIN = 21.4772Mhz, verified on PCB */
|
||||||
|
m_maincpu->set_addrmap(AS_PROGRAM, &triothep_state::prg_map);
|
||||||
|
m_maincpu->port_in_cb().set(FUNC(triothep_state::control_r));
|
||||||
|
m_maincpu->port_out_cb().set(FUNC(triothep_state::control_select_w));
|
||||||
|
|
||||||
MCFG_MACHINE_START_OVERRIDE(actfancr_state,triothep)
|
m_audiocpu->set_clock(XTAL(12'000'000) / 8); // verified on PCB
|
||||||
MCFG_MACHINE_RESET_OVERRIDE(actfancr_state,triothep)
|
|
||||||
|
|
||||||
/* video hardware */
|
// video hardware
|
||||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
m_gfxdecode->set_info(gfx_triothep);
|
||||||
screen.set_refresh_hz(60);
|
|
||||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
|
|
||||||
screen.set_size(32*8, 32*8);
|
|
||||||
screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1);
|
|
||||||
screen.set_screen_update(FUNC(actfancr_state::screen_update));
|
|
||||||
screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); /* VBL */
|
|
||||||
screen.set_palette("palette");
|
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_triothep);
|
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 768);
|
|
||||||
|
|
||||||
DECO_BAC06(config, m_tilegen[0], 0);
|
|
||||||
m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
|
m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
|
||||||
m_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
|
|
||||||
|
|
||||||
DECO_BAC06(config, m_tilegen[1], 0);
|
// sound hardware
|
||||||
m_tilegen[1]->set_gfx_region_wide(0, 0, 0);
|
subdevice<ym2203_device>("ym1")->set_clock(XTAL(12'000'000) / 8); // verified on PCB
|
||||||
m_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
|
|
||||||
|
|
||||||
DECO_MXC06(config, m_spritegen, 0);
|
subdevice<ym3812_device>("ym2")->set_clock(XTAL(12'000'000) / 4); // verified on PCB
|
||||||
|
|
||||||
/* sound hardware */
|
subdevice<okim6295_device>("oki")->set_clock(XTAL(1'056'000)); // verified on PCB
|
||||||
SPEAKER(config, "mono").front_center();
|
|
||||||
|
|
||||||
GENERIC_LATCH_8(config, m_soundlatch);
|
|
||||||
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
|
|
||||||
|
|
||||||
ym2203_device &ym1(YM2203(config, "ym1", XTAL(12'000'000)/8)); /* verified on pcb */
|
|
||||||
ym1.add_route(0, "mono", 0.90);
|
|
||||||
ym1.add_route(1, "mono", 0.90);
|
|
||||||
ym1.add_route(2, "mono", 0.90);
|
|
||||||
ym1.add_route(3, "mono", 0.50);
|
|
||||||
|
|
||||||
ym3812_device &ym2(YM3812(config, "ym2", XTAL(12'000'000)/4)); /* verified on pcb */
|
|
||||||
ym2.irq_handler().set_inputline("audiocpu", M6502_IRQ_LINE);
|
|
||||||
ym2.add_route(ALL_OUTPUTS, "mono", 0.90);
|
|
||||||
|
|
||||||
okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'056'000), okim6295_device::PIN7_HIGH)); /* verified on pcb */
|
|
||||||
oki.add_route(ALL_OUTPUTS, "mono", 0.85);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
ROM_START( actfancr )
|
ROM_START( actfancr )
|
||||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x30000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "fe08-3.bin", 0x00000, 0x10000, CRC(35f1999d) SHA1(03b61b6544a21350dbb7a31591db163a00cf7a64) )
|
ROM_LOAD( "fe08-3.bin", 0x00000, 0x10000, CRC(35f1999d) SHA1(03b61b6544a21350dbb7a31591db163a00cf7a64) )
|
||||||
ROM_LOAD( "fe09-3.bin", 0x10000, 0x10000, CRC(d21416ca) SHA1(2c863042fe7cf5e4d8cf8a1138089b539406bec3) )
|
ROM_LOAD( "fe09-3.bin", 0x10000, 0x10000, CRC(d21416ca) SHA1(2c863042fe7cf5e4d8cf8a1138089b539406bec3) )
|
||||||
ROM_LOAD( "fe10-3.bin", 0x20000, 0x10000, CRC(85535fcc) SHA1(c764032463a40c9110ab35c38642de070d528a60) )
|
ROM_LOAD( "fe10-3.bin", 0x20000, 0x10000, CRC(85535fcc) SHA1(c764032463a40c9110ab35c38642de070d528a60) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) ) /* Chars */
|
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) )
|
||||||
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) ) /* Sprites */
|
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) )
|
||||||
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
||||||
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
||||||
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
||||||
@ -400,30 +456,30 @@ ROM_START( actfancr )
|
|||||||
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) ) /* Tiles */
|
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) )
|
||||||
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
||||||
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
||||||
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM sounds */
|
ROM_REGION( 0x40000, "oki", 0 )
|
||||||
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( actfancr2 )
|
ROM_START( actfancr2 )
|
||||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x30000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "fe08-2.bin", 0x00000, 0x10000, CRC(0d36fbfa) SHA1(cef5cfd053beac5ca2ac52421024c316bdbfba42) )
|
ROM_LOAD( "fe08-2.bin", 0x00000, 0x10000, CRC(0d36fbfa) SHA1(cef5cfd053beac5ca2ac52421024c316bdbfba42) )
|
||||||
ROM_LOAD( "fe09-2.bin", 0x10000, 0x10000, CRC(27ce2bb1) SHA1(52a423dfc2bba7b3330d1a10f4149ae6eeb9198c) )
|
ROM_LOAD( "fe09-2.bin", 0x10000, 0x10000, CRC(27ce2bb1) SHA1(52a423dfc2bba7b3330d1a10f4149ae6eeb9198c) )
|
||||||
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) ) /* Chars */
|
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) )
|
||||||
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) ) /* Sprites */
|
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) )
|
||||||
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
||||||
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
||||||
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
||||||
@ -433,30 +489,30 @@ ROM_START( actfancr2 )
|
|||||||
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) ) /* Tiles */
|
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) )
|
||||||
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
||||||
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
||||||
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM sounds */
|
ROM_REGION( 0x40000, "oki", 0 )
|
||||||
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( actfancr1 )
|
ROM_START( actfancr1 )
|
||||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x30000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "08-1", 0x00000, 0x10000, CRC(3bf214a4) SHA1(f7513672b2292d3acb4332b392695888bf6560a5) )
|
ROM_LOAD( "08-1", 0x00000, 0x10000, CRC(3bf214a4) SHA1(f7513672b2292d3acb4332b392695888bf6560a5) )
|
||||||
ROM_LOAD( "09-1", 0x10000, 0x10000, CRC(13ae78d5) SHA1(eba77d3dbfe273e18c7fa9c0ca305ac2468f9381) )
|
ROM_LOAD( "09-1", 0x10000, 0x10000, CRC(13ae78d5) SHA1(eba77d3dbfe273e18c7fa9c0ca305ac2468f9381) )
|
||||||
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) ) /* Chars */
|
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) )
|
||||||
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) ) /* Sprites */
|
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) )
|
||||||
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
||||||
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
||||||
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
||||||
@ -466,30 +522,30 @@ ROM_START( actfancr1 )
|
|||||||
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) ) /* Tiles */
|
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) )
|
||||||
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
||||||
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
||||||
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM sounds */
|
ROM_REGION( 0x40000, "oki", 0 )
|
||||||
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( actfancrj )
|
ROM_START( actfancrj )
|
||||||
ROM_REGION( 0x30000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x30000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "fd08-1.bin", 0x00000, 0x10000, CRC(69004b60) SHA1(7c6b876ca04377d2aa2d3c3f19d8e6cc7345363d) )
|
ROM_LOAD( "fd08-1.bin", 0x00000, 0x10000, CRC(69004b60) SHA1(7c6b876ca04377d2aa2d3c3f19d8e6cc7345363d) )
|
||||||
ROM_LOAD( "fd09-1.bin", 0x10000, 0x10000, CRC(a455ae3e) SHA1(960798271c8370c1c4ffce2a453f59d7a301c9f9) )
|
ROM_LOAD( "fd09-1.bin", 0x10000, 0x10000, CRC(a455ae3e) SHA1(960798271c8370c1c4ffce2a453f59d7a301c9f9) )
|
||||||
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
ROM_LOAD( "10", 0x20000, 0x10000, CRC(cabad137) SHA1(41ca833649671a29e9395968cde2be8137a9ff0a) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
ROM_LOAD( "17-1", 0x08000, 0x8000, CRC(289ad106) SHA1(cf1b32ac41d3d92860fab04d82a08efe57b6ecf3) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) ) /* Chars */
|
ROM_LOAD( "15", 0x00000, 0x10000, CRC(a1baf21e) SHA1(b85cf9180efae6c95cc0310064b52a78e591826a) )
|
||||||
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
ROM_LOAD( "16", 0x10000, 0x10000, CRC(22e64730) SHA1(f1376c6e2c9d021eca7ccee3daab00593ba724b6) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) ) /* Sprites */
|
ROM_LOAD( "02", 0x00000, 0x10000, CRC(b1db0efc) SHA1(a7bd7748ea37f473499ba5bf8ab4995b9240ff48) )
|
||||||
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
ROM_LOAD( "03", 0x10000, 0x08000, CRC(f313e04f) SHA1(fe69758910d38f742971c1027fc8f498c88262b1) )
|
||||||
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
ROM_LOAD( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) )
|
||||||
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
ROM_LOAD( "07", 0x28000, 0x08000, CRC(dd345def) SHA1(44fbf9da636a4e18c421fdc0a1eadc3c7ba66068) )
|
||||||
@ -499,30 +555,30 @@ ROM_START( actfancrj )
|
|||||||
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
ROM_LOAD( "05", 0x58000, 0x08000, CRC(d38b94aa) SHA1(773d01427744fda9104f673d2b4183a0f7471a39) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) ) /* Tiles */
|
ROM_LOAD( "14", 0x00000, 0x10000, CRC(d6457420) SHA1(d03d2e944e768b297ec0c3389320c42bc0259d00) )
|
||||||
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
ROM_LOAD( "12", 0x10000, 0x10000, CRC(08787b7a) SHA1(23b10b75c4cbff8effadf4c6ed15d90b87648ce9) )
|
||||||
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
ROM_LOAD( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) )
|
||||||
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
ROM_LOAD( "11", 0x30000, 0x10000, CRC(1f006d9f) SHA1(74bc2d4d022ad7c65be781f974919262cacb4b64) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM sounds */
|
ROM_REGION( 0x40000, "oki", 0 )
|
||||||
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
ROM_LOAD( "18", 0x00000, 0x10000, CRC(5c55b242) SHA1(62ba60b2f02483875da12aefe849f7e2fd137ef1) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( triothep )
|
ROM_START( triothep )
|
||||||
ROM_REGION( 0x40000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x40000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "fg-16.bin", 0x00000, 0x20000, CRC(7238355a) SHA1(4ac6c3fd808e7c94025972fdb45956bd707ec89f) )
|
ROM_LOAD( "fg-16.bin", 0x00000, 0x20000, CRC(7238355a) SHA1(4ac6c3fd808e7c94025972fdb45956bd707ec89f) )
|
||||||
ROM_LOAD( "fg-15.bin", 0x20000, 0x10000, CRC(1c0551ab) SHA1(1f90f80db44d92af4b233bc16cb1023db2797e8a) )
|
ROM_LOAD( "fg-15.bin", 0x20000, 0x10000, CRC(1c0551ab) SHA1(1f90f80db44d92af4b233bc16cb1023db2797e8a) )
|
||||||
ROM_LOAD( "fg-14.bin", 0x30000, 0x10000, CRC(4ba7de4a) SHA1(bf552fa33746f3d27f9b193424a38fef58fe0765) )
|
ROM_LOAD( "fg-14.bin", 0x30000, 0x10000, CRC(4ba7de4a) SHA1(bf552fa33746f3d27f9b193424a38fef58fe0765) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "fg-18.bin", 0x00000, 0x10000, CRC(9de9ee63) SHA1(c91b824b9a791cb90365d45c8e1b69e67f7d065f) )
|
ROM_LOAD( "fg-18.bin", 0x00000, 0x10000, CRC(9de9ee63) SHA1(c91b824b9a791cb90365d45c8e1b69e67f7d065f) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "fg-12.bin", 0x00000, 0x10000, CRC(15fb49f2) SHA1(a81ff1dbc813ab9b37edb832e01aab9a9a3ed5a1) ) /* Chars */
|
ROM_LOAD( "fg-12.bin", 0x00000, 0x10000, CRC(15fb49f2) SHA1(a81ff1dbc813ab9b37edb832e01aab9a9a3ed5a1) )
|
||||||
ROM_LOAD( "fg-13.bin", 0x10000, 0x10000, CRC(e20c9623) SHA1(b5a58599a016378f34217396212f81ede9272598) )
|
ROM_LOAD( "fg-13.bin", 0x10000, 0x10000, CRC(e20c9623) SHA1(b5a58599a016378f34217396212f81ede9272598) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "fg-11.bin", 0x00000, 0x10000, CRC(1143ebd7) SHA1(0ef2cf40f852bf0842beeb9727508e28437ab54b) ) /* Sprites */
|
ROM_LOAD( "fg-11.bin", 0x00000, 0x10000, CRC(1143ebd7) SHA1(0ef2cf40f852bf0842beeb9727508e28437ab54b) )
|
||||||
ROM_LOAD( "fg-10.bin", 0x10000, 0x08000, CRC(4b6b477a) SHA1(77486e0ff957cbfdae16d2b5977e95b7a7ced948) )
|
ROM_LOAD( "fg-10.bin", 0x10000, 0x08000, CRC(4b6b477a) SHA1(77486e0ff957cbfdae16d2b5977e95b7a7ced948) )
|
||||||
ROM_LOAD( "fg-09.bin", 0x18000, 0x10000, CRC(6bf6c803) SHA1(c16fd4b7e1e86db48c6e78a4b5dcd42e8269b465) )
|
ROM_LOAD( "fg-09.bin", 0x18000, 0x10000, CRC(6bf6c803) SHA1(c16fd4b7e1e86db48c6e78a4b5dcd42e8269b465) )
|
||||||
ROM_LOAD( "fg-08.bin", 0x28000, 0x08000, CRC(1391e445) SHA1(bd53a969567bb5a46a35bd02e84bbb58c446a0a2) )
|
ROM_LOAD( "fg-08.bin", 0x28000, 0x08000, CRC(1391e445) SHA1(bd53a969567bb5a46a35bd02e84bbb58c446a0a2) )
|
||||||
@ -532,7 +588,7 @@ ROM_START( triothep )
|
|||||||
ROM_LOAD( "fg-00.bin", 0x58000, 0x08000, CRC(41232442) SHA1(1c10a4f5607e41d6239cb478ed7355963ad6b2d0) )
|
ROM_LOAD( "fg-00.bin", 0x58000, 0x08000, CRC(41232442) SHA1(1c10a4f5607e41d6239cb478ed7355963ad6b2d0) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "fg-04.bin", 0x00000, 0x10000, CRC(7cea3c87) SHA1(b58156140a75f88ee6ec97ca7cdc02619ec51726) ) /* Tiles */
|
ROM_LOAD( "fg-04.bin", 0x00000, 0x10000, CRC(7cea3c87) SHA1(b58156140a75f88ee6ec97ca7cdc02619ec51726) )
|
||||||
ROM_LOAD( "fg-06.bin", 0x10000, 0x10000, CRC(5e7f3e8f) SHA1(c92ec281b3985b442957f7d9237eb38a6d621cd4) )
|
ROM_LOAD( "fg-06.bin", 0x10000, 0x10000, CRC(5e7f3e8f) SHA1(c92ec281b3985b442957f7d9237eb38a6d621cd4) )
|
||||||
ROM_LOAD( "fg-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) )
|
ROM_LOAD( "fg-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) )
|
||||||
ROM_LOAD( "fg-07.bin", 0x30000, 0x10000, CRC(0d7affc3) SHA1(59f9fbf13216aaf67c7d1ad3a11a1738c4afd9e5) )
|
ROM_LOAD( "fg-07.bin", 0x30000, 0x10000, CRC(0d7affc3) SHA1(59f9fbf13216aaf67c7d1ad3a11a1738c4afd9e5) )
|
||||||
@ -541,22 +597,22 @@ ROM_START( triothep )
|
|||||||
ROM_LOAD( "fg-17.bin", 0x00000, 0x10000, CRC(f0ab0d05) SHA1(29d3ab513a8d46a1cb70f5333fa56bb787a58288) )
|
ROM_LOAD( "fg-17.bin", 0x00000, 0x10000, CRC(f0ab0d05) SHA1(29d3ab513a8d46a1cb70f5333fa56bb787a58288) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/* All roms are FF even the ones matching the parent FG roms */
|
// All ROMSs are FF even the ones matching the parent FG ROMs
|
||||||
ROM_START( triothepj )
|
ROM_START( triothepj )
|
||||||
ROM_REGION( 0x40000, "maincpu", 0 ) /* Need to allow full RAM allocation for now */
|
ROM_REGION( 0x40000, "maincpu", 0 ) // Need to allow full RAM allocation for now
|
||||||
ROM_LOAD( "ff-16.bin", 0x00000, 0x20000, CRC(84d7e1b6) SHA1(28381d2e1f6d22a959383eb2e8d73f2e03f4d39f) )
|
ROM_LOAD( "ff-16.bin", 0x00000, 0x20000, CRC(84d7e1b6) SHA1(28381d2e1f6d22a959383eb2e8d73f2e03f4d39f) )
|
||||||
ROM_LOAD( "ff-15.bin", 0x20000, 0x10000, CRC(6eada47c) SHA1(98fc4e93c47bc42ea7c20e8ac994b117cd7cb5a5) )
|
ROM_LOAD( "ff-15.bin", 0x20000, 0x10000, CRC(6eada47c) SHA1(98fc4e93c47bc42ea7c20e8ac994b117cd7cb5a5) )
|
||||||
ROM_LOAD( "ff-14.bin", 0x30000, 0x10000, CRC(4ba7de4a) SHA1(bf552fa33746f3d27f9b193424a38fef58fe0765) )
|
ROM_LOAD( "ff-14.bin", 0x30000, 0x10000, CRC(4ba7de4a) SHA1(bf552fa33746f3d27f9b193424a38fef58fe0765) )
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
|
||||||
ROM_LOAD( "ff-18.bin", 0x00000, 0x10000, CRC(9de9ee63) SHA1(c91b824b9a791cb90365d45c8e1b69e67f7d065f) )
|
ROM_LOAD( "ff-18.bin", 0x00000, 0x10000, CRC(9de9ee63) SHA1(c91b824b9a791cb90365d45c8e1b69e67f7d065f) )
|
||||||
|
|
||||||
ROM_REGION( 0x20000, "chars", 0 )
|
ROM_REGION( 0x20000, "chars", 0 )
|
||||||
ROM_LOAD( "ff-12.bin", 0x00000, 0x10000, CRC(15fb49f2) SHA1(a81ff1dbc813ab9b37edb832e01aab9a9a3ed5a1) ) /* Chars */
|
ROM_LOAD( "ff-12.bin", 0x00000, 0x10000, CRC(15fb49f2) SHA1(a81ff1dbc813ab9b37edb832e01aab9a9a3ed5a1) )
|
||||||
ROM_LOAD( "ff-13.bin", 0x10000, 0x10000, CRC(e20c9623) SHA1(b5a58599a016378f34217396212f81ede9272598) )
|
ROM_LOAD( "ff-13.bin", 0x10000, 0x10000, CRC(e20c9623) SHA1(b5a58599a016378f34217396212f81ede9272598) )
|
||||||
|
|
||||||
ROM_REGION( 0x60000, "sprites", 0 )
|
ROM_REGION( 0x60000, "sprites", 0 )
|
||||||
ROM_LOAD( "ff-11.bin", 0x00000, 0x10000, CRC(19e885c7) SHA1(694f0aa4c1c976320d985ee50bb59c1894b853ed) ) /* Sprites */
|
ROM_LOAD( "ff-11.bin", 0x00000, 0x10000, CRC(19e885c7) SHA1(694f0aa4c1c976320d985ee50bb59c1894b853ed) )
|
||||||
ROM_LOAD( "ff-10.bin", 0x10000, 0x08000, CRC(4b6b477a) SHA1(77486e0ff957cbfdae16d2b5977e95b7a7ced948) )
|
ROM_LOAD( "ff-10.bin", 0x10000, 0x08000, CRC(4b6b477a) SHA1(77486e0ff957cbfdae16d2b5977e95b7a7ced948) )
|
||||||
ROM_LOAD( "ff-09.bin", 0x18000, 0x10000, CRC(79c6bc0e) SHA1(d4bf195f6114103d2eb68f3aaf65d4044947f600) )
|
ROM_LOAD( "ff-09.bin", 0x18000, 0x10000, CRC(79c6bc0e) SHA1(d4bf195f6114103d2eb68f3aaf65d4044947f600) )
|
||||||
ROM_LOAD( "ff-08.bin", 0x28000, 0x08000, CRC(1391e445) SHA1(bd53a969567bb5a46a35bd02e84bbb58c446a0a2) )
|
ROM_LOAD( "ff-08.bin", 0x28000, 0x08000, CRC(1391e445) SHA1(bd53a969567bb5a46a35bd02e84bbb58c446a0a2) )
|
||||||
@ -566,20 +622,23 @@ ROM_START( triothepj )
|
|||||||
ROM_LOAD( "ff-00.bin", 0x58000, 0x08000, CRC(41232442) SHA1(1c10a4f5607e41d6239cb478ed7355963ad6b2d0) )
|
ROM_LOAD( "ff-00.bin", 0x58000, 0x08000, CRC(41232442) SHA1(1c10a4f5607e41d6239cb478ed7355963ad6b2d0) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "tiles", 0 )
|
ROM_REGION( 0x40000, "tiles", 0 )
|
||||||
ROM_LOAD( "ff-04.bin", 0x00000, 0x10000, CRC(7cea3c87) SHA1(b58156140a75f88ee6ec97ca7cdc02619ec51726) ) /* Tiles */
|
ROM_LOAD( "ff-04.bin", 0x00000, 0x10000, CRC(7cea3c87) SHA1(b58156140a75f88ee6ec97ca7cdc02619ec51726) )
|
||||||
ROM_LOAD( "ff-06.bin", 0x10000, 0x10000, CRC(5e7f3e8f) SHA1(c92ec281b3985b442957f7d9237eb38a6d621cd4) )
|
ROM_LOAD( "ff-06.bin", 0x10000, 0x10000, CRC(5e7f3e8f) SHA1(c92ec281b3985b442957f7d9237eb38a6d621cd4) )
|
||||||
ROM_LOAD( "ff-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) )
|
ROM_LOAD( "ff-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) )
|
||||||
ROM_LOAD( "ff-07.bin", 0x30000, 0x10000, CRC(0d7affc3) SHA1(59f9fbf13216aaf67c7d1ad3a11a1738c4afd9e5) )
|
ROM_LOAD( "ff-07.bin", 0x30000, 0x10000, CRC(0d7affc3) SHA1(59f9fbf13216aaf67c7d1ad3a11a1738c4afd9e5) )
|
||||||
|
|
||||||
ROM_REGION( 0x40000, "oki", 0 ) /* ADPCM sounds */
|
ROM_REGION( 0x40000, "oki", 0 )
|
||||||
ROM_LOAD( "ff-17.bin", 0x00000, 0x10000, CRC(f0ab0d05) SHA1(29d3ab513a8d46a1cb70f5333fa56bb787a58288) )
|
ROM_LOAD( "ff-17.bin", 0x00000, 0x10000, CRC(f0ab0d05) SHA1(29d3ab513a8d46a1cb70f5333fa56bb787a58288) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
} // Anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
GAME( 1989, actfancr, 0, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 3)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, actfancr, 0, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 3)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1989, actfancr2, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, actfancr2, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1989, actfancr1, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, actfancr1, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1989, actfancrj, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, actfancrj, actfancr, actfancr, actfancr, actfancr_state, empty_init, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1989, triothep, 0, triothep, triothep, actfancr_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, triothep, 0, triothep, triothep, triothep_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", MACHINE_SUPPORTS_SAVE )
|
||||||
GAME( 1989, triothepj, triothep, triothep, triothep, actfancr_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", MACHINE_SUPPORTS_SAVE )
|
GAME( 1989, triothepj, triothep, triothep, triothep, triothep_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
Emulation by Bryan McPhail, mish@tendril.co.uk
|
Emulation by Bryan McPhail, mish@tendril.co.uk
|
||||||
|
|
||||||
This board is based on the Hudson HuC6280 and Huc6270 IC's used in
|
This board is based on the Hudson HuC6280 and Huc6270 ICs used in
|
||||||
the NEC PC-Engine.
|
the NEC PC-Engine.
|
||||||
|
|
||||||
Differences from PC-Engine console:
|
Differences from PC-Engine console:
|
||||||
@ -79,7 +79,7 @@ Notes:
|
|||||||
2063 - Toshiba TMM2063 8kx8 SRAM used for main work RAM
|
2063 - Toshiba TMM2063 8kx8 SRAM used for main work RAM
|
||||||
62256 - Hitachi HM62256 32kx8 SRAM used for video RAM
|
62256 - Hitachi HM62256 32kx8 SRAM used for video RAM
|
||||||
ET* - EPROMs/MaskROMs
|
ET* - EPROMs/MaskROMs
|
||||||
YM2203C - Yahama YM2203C FM Operator Type-N(OPN) 3-Channel Sound Chip. Clock input 1.5MHz [12/8]
|
YM2203C - Yamaha YM2203C FM Operator Type-N(OPN) 3-Channel Sound Chip. Clock input 1.5MHz [12/8]
|
||||||
YM3014B - Yamaha YM3014B Serial Input Floating D/A Converter
|
YM3014B - Yamaha YM3014B Serial Input Floating D/A Converter
|
||||||
M5205 - Oki M5205 ADPCM Speech Synthesis LSI. Clock input is via a 384kHz resonator
|
M5205 - Oki M5205 ADPCM Speech Synthesis LSI. Clock input is via a 384kHz resonator
|
||||||
MB3730 - Fujitsu MB3730 14W BTL Audio Power Amplifier. Audio output is mono via the JAMMA connector
|
MB3730 - Fujitsu MB3730 14W BTL Audio Power Amplifier. Audio output is mono via the JAMMA connector
|
||||||
@ -93,15 +93,74 @@ Notes:
|
|||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "includes/battlera.h"
|
|
||||||
|
#include "cpu/h6280/h6280.h"
|
||||||
|
#include "machine/gen_latch.h"
|
||||||
|
#include "sound/msm5205.h"
|
||||||
#include "sound/ymopn.h"
|
#include "sound/ymopn.h"
|
||||||
|
#include "video/huc6260.h"
|
||||||
|
#include "video/huc6270.h"
|
||||||
|
|
||||||
|
#include "screen.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class battlera_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
battlera_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: driver_device(mconfig, type, tag)
|
||||||
|
, m_maincpu(*this, "maincpu")
|
||||||
|
, m_audiocpu(*this, "audiocpu")
|
||||||
|
, m_msm(*this, "msm")
|
||||||
|
, m_screen(*this, "screen")
|
||||||
|
, m_huc6260(*this, "huc6260")
|
||||||
|
, m_soundlatch(*this, "soundlatch")
|
||||||
|
, m_in(*this, "IN%u", 0U)
|
||||||
|
, m_dsw(*this, "DSW%u", 1U)
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void battlera(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void machine_start() override;
|
||||||
|
virtual void machine_reset() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
required_device<h6280_device> m_maincpu;
|
||||||
|
required_device<h6280_device> m_audiocpu;
|
||||||
|
required_device<msm5205_device> m_msm;
|
||||||
|
required_device<screen_device> m_screen;
|
||||||
|
required_device<huc6260_device> m_huc6260;
|
||||||
|
required_device<generic_latch_8_device> m_soundlatch;
|
||||||
|
required_ioport_array<3> m_in;
|
||||||
|
required_ioport_array<2> m_dsw;
|
||||||
|
|
||||||
|
uint8_t m_control_port_select;
|
||||||
|
int m_msm5205next;
|
||||||
|
uint8_t m_toggle;
|
||||||
|
|
||||||
|
void control_data_w(uint8_t data);
|
||||||
|
uint8_t control_data_r();
|
||||||
|
void adpcm_data_w(uint8_t data);
|
||||||
|
void adpcm_reset_w(uint8_t data);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
|
||||||
|
|
||||||
|
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
|
||||||
|
void main_prg_map(address_map &map);
|
||||||
|
void main_portmap(address_map &map);
|
||||||
|
void sound_map(address_map &map);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
void battlera_state::machine_start()
|
void battlera_state::machine_start()
|
||||||
{
|
{
|
||||||
save_item(NAME(m_control_port_select));
|
save_item(NAME(m_control_port_select));
|
||||||
save_item(NAME(m_msm5205next));
|
save_item(NAME(m_msm5205next));
|
||||||
|
save_item(NAME(m_toggle));
|
||||||
}
|
}
|
||||||
|
|
||||||
void battlera_state::machine_reset()
|
void battlera_state::machine_reset()
|
||||||
@ -115,18 +174,18 @@ void battlera_state::machine_reset()
|
|||||||
|
|
||||||
void battlera_state::control_data_w(uint8_t data)
|
void battlera_state::control_data_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_control_port_select=data;
|
m_control_port_select = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t battlera_state::control_data_r()
|
uint8_t battlera_state::control_data_r()
|
||||||
{
|
{
|
||||||
switch (m_control_port_select)
|
switch (m_control_port_select)
|
||||||
{
|
{
|
||||||
case 0xfe: return ioport("IN0")->read(); /* Player 1 */
|
case 0xfe: return m_in[0]->read(); // Player
|
||||||
case 0xfd: return ioport("IN1")->read(); /* Player 2 */
|
case 0xfd: return m_in[1]->read(); // Player
|
||||||
case 0xfb: return ioport("IN2")->read(); /* Coins */
|
case 0xfb: return m_in[2]->read(); // Coins
|
||||||
case 0xf7: return ioport("DSW2")->read(); /* Dip 2 */
|
case 0xf7: return m_dsw[1]->read(); // Dip 2
|
||||||
case 0xef: return ioport("DSW1")->read(); /* Dip 1 */
|
case 0xef: return m_dsw[0]->read(); // Dip 1
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0xff;
|
return 0xff;
|
||||||
@ -134,17 +193,17 @@ uint8_t battlera_state::control_data_r()
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
void battlera_state::battlera_map(address_map &map)
|
void battlera_state::main_prg_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x000000, 0x0fffff).rom();
|
map(0x000000, 0x0fffff).rom();
|
||||||
map(0x1e0800, 0x1e0800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
map(0x1e0800, 0x1e0800).w(m_soundlatch, FUNC(generic_latch_8_device::write));
|
||||||
map(0x1e1000, 0x1e13ff).rw(m_huc6260, FUNC(huc6260_device::palette_direct_read), FUNC(huc6260_device::palette_direct_write)).share("paletteram");
|
map(0x1e1000, 0x1e13ff).rw(m_huc6260, FUNC(huc6260_device::palette_direct_read), FUNC(huc6260_device::palette_direct_write)).share("paletteram");
|
||||||
map(0x1f0000, 0x1f1fff).ram(); /* Main ram */
|
map(0x1f0000, 0x1f1fff).ram(); // Main RAM
|
||||||
map(0x1fe000, 0x1fe3ff).rw("huc6270", FUNC(huc6270_device::read), FUNC(huc6270_device::write));
|
map(0x1fe000, 0x1fe3ff).rw("huc6270", FUNC(huc6270_device::read), FUNC(huc6270_device::write));
|
||||||
map(0x1fe400, 0x1fe7ff).rw(m_huc6260, FUNC(huc6260_device::read), FUNC(huc6260_device::write));
|
map(0x1fe400, 0x1fe7ff).rw(m_huc6260, FUNC(huc6260_device::read), FUNC(huc6260_device::write));
|
||||||
}
|
}
|
||||||
|
|
||||||
void battlera_state::battlera_portmap(address_map &map)
|
void battlera_state::main_portmap(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x00, 0x03).rw("huc6270", FUNC(huc6270_device::read), FUNC(huc6270_device::write));
|
map(0x00, 0x03).rw("huc6270", FUNC(huc6270_device::read), FUNC(huc6270_device::write));
|
||||||
}
|
}
|
||||||
@ -177,13 +236,13 @@ void battlera_state::sound_map(address_map &map)
|
|||||||
map(0x000000, 0x00ffff).rom();
|
map(0x000000, 0x00ffff).rom();
|
||||||
map(0x040000, 0x040001).w("ymsnd", FUNC(ym2203_device::write));
|
map(0x040000, 0x040001).w("ymsnd", FUNC(ym2203_device::write));
|
||||||
map(0x080000, 0x080001).w(FUNC(battlera_state::adpcm_data_w));
|
map(0x080000, 0x080001).w(FUNC(battlera_state::adpcm_data_w));
|
||||||
map(0x1f0000, 0x1f1fff).ram(); /* Main ram */
|
map(0x1f0000, 0x1f1fff).ram(); // Main RAM
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
static INPUT_PORTS_START( battlera )
|
static INPUT_PORTS_START( battlera )
|
||||||
PORT_START("IN0") /* Player 1 controls */
|
PORT_START("IN0") // Player 1 controls
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
|
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( 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( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
|
||||||
@ -193,7 +252,7 @@ static INPUT_PORTS_START( battlera )
|
|||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
|
||||||
|
|
||||||
PORT_START("IN1") /* Player 2 controls */
|
PORT_START("IN1") // Player 2 controls
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
|
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( 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( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
|
||||||
@ -203,7 +262,7 @@ static INPUT_PORTS_START( battlera )
|
|||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
|
||||||
|
|
||||||
PORT_START("IN2") /* Coins */
|
PORT_START("IN2") // Coins
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
|
||||||
@ -220,12 +279,12 @@ static INPUT_PORTS_START( battlera )
|
|||||||
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
|
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
|
||||||
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW1:5" ) // Listed as "Unused"
|
||||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
|
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:6")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) // Listed as "Unused"
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) // Listed as "Unused"
|
||||||
|
|
||||||
PORT_START("DSW2")
|
PORT_START("DSW2")
|
||||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||||
@ -241,9 +300,9 @@ static INPUT_PORTS_START( battlera )
|
|||||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
|
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5")
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||||
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
|
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) // Listed as "Unused"
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) // Listed as "Unused"
|
||||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */
|
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) // Listed as "Unused"
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
@ -251,34 +310,34 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
uint32_t battlera_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
uint32_t battlera_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
m_huc6260->video_update( bitmap, cliprect );
|
m_huc6260->video_update(bitmap, cliprect);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void battlera_state::battlera(machine_config &config)
|
void battlera_state::battlera(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
// basic machine hardware
|
||||||
H6280(config, m_maincpu, 21477200/3);
|
H6280(config, m_maincpu, 21.477272_MHz_XTAL / 3);
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &battlera_state::battlera_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &battlera_state::main_prg_map);
|
||||||
m_maincpu->set_addrmap(AS_IO, &battlera_state::battlera_portmap);
|
m_maincpu->set_addrmap(AS_IO, &battlera_state::main_portmap);
|
||||||
m_maincpu->port_in_cb().set(FUNC(battlera_state::control_data_r));
|
m_maincpu->port_in_cb().set(FUNC(battlera_state::control_data_r));
|
||||||
m_maincpu->port_out_cb().set(FUNC(battlera_state::control_data_w));
|
m_maincpu->port_out_cb().set(FUNC(battlera_state::control_data_w));
|
||||||
m_maincpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
m_maincpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
||||||
|
|
||||||
H6280(config, m_audiocpu, 21477200/3);
|
H6280(config, m_audiocpu, 21.477272_MHz_XTAL / 3);
|
||||||
m_audiocpu->set_addrmap(AS_PROGRAM, &battlera_state::sound_map);
|
m_audiocpu->set_addrmap(AS_PROGRAM, &battlera_state::sound_map);
|
||||||
m_audiocpu->port_in_cb().set(m_soundlatch, FUNC(generic_latch_8_device::read));
|
m_audiocpu->port_in_cb().set(m_soundlatch, FUNC(generic_latch_8_device::read));
|
||||||
m_audiocpu->port_out_cb().set(FUNC(battlera_state::adpcm_reset_w));
|
m_audiocpu->port_out_cb().set(FUNC(battlera_state::adpcm_reset_w));
|
||||||
m_audiocpu->add_route(ALL_OUTPUTS, "mono", 0.60); // music data is stereo, but hardware isn't
|
m_audiocpu->add_route(ALL_OUTPUTS, "mono", 0.60); // music data is stereo, but hardware isn't
|
||||||
|
|
||||||
/* video hardware */
|
// video hardware
|
||||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||||
m_screen->set_raw(MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
|
m_screen->set_raw(21.477272_MHz_XTAL, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
|
||||||
m_screen->set_screen_update(FUNC(battlera_state::screen_update));
|
m_screen->set_screen_update(FUNC(battlera_state::screen_update));
|
||||||
m_screen->set_palette(m_huc6260);
|
m_screen->set_palette(m_huc6260);
|
||||||
|
|
||||||
HUC6260(config, m_huc6260, MAIN_CLOCK);
|
HUC6260(config, m_huc6260, 21.477272_MHz_XTAL);
|
||||||
m_huc6260->next_pixel_data().set("huc6270", FUNC(huc6270_device::next_pixel));
|
m_huc6260->next_pixel_data().set("huc6270", FUNC(huc6270_device::next_pixel));
|
||||||
m_huc6260->time_til_next_event().set("huc6270", FUNC(huc6270_device::time_until_next_event));
|
m_huc6260->time_til_next_event().set("huc6270", FUNC(huc6270_device::time_until_next_event));
|
||||||
m_huc6260->vsync_changed().set("huc6270", FUNC(huc6270_device::vsync_changed));
|
m_huc6260->vsync_changed().set("huc6270", FUNC(huc6270_device::vsync_changed));
|
||||||
@ -288,76 +347,77 @@ void battlera_state::battlera(machine_config &config)
|
|||||||
huc6270.set_vram_size(0x20000);
|
huc6270.set_vram_size(0x20000);
|
||||||
huc6270.irq().set_inputline(m_maincpu, 0);
|
huc6270.irq().set_inputline(m_maincpu, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
// sound hardware
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
|
||||||
GENERIC_LATCH_8(config, m_soundlatch);
|
GENERIC_LATCH_8(config, m_soundlatch);
|
||||||
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
|
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
|
||||||
|
|
||||||
YM2203(config, "ymsnd", 12000000 / 8).add_route(ALL_OUTPUTS, "mono", 0.40);
|
YM2203(config, "ymsnd", 12_MHz_XTAL / 8).add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||||
|
|
||||||
MSM5205(config, m_msm, 384000);
|
MSM5205(config, m_msm, 384_kHz_XTAL);
|
||||||
m_msm->vck_legacy_callback().set(FUNC(battlera_state::adpcm_int));
|
m_msm->vck_legacy_callback().set(FUNC(battlera_state::adpcm_int));
|
||||||
m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8KHz */
|
m_msm->set_prescaler_selector(msm5205_device::S48_4B); // 8KHz
|
||||||
m_msm->add_route(ALL_OUTPUTS, "mono", 0.85);
|
m_msm->add_route(ALL_OUTPUTS, "mono", 0.85);
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
ROM_START( battlera )
|
ROM_START( battlera )
|
||||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* Main cpu code */
|
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||||
ROM_LOAD( "00_e1.bin", 0x00000, 0x10000, CRC(aa1cbe69) SHA1(982530f3202bc7b8d94d2b818873b71f02c0e8de) ) /* ET00 */
|
ROM_LOAD( "00_e1.bin", 0x00000, 0x10000, CRC(aa1cbe69) SHA1(982530f3202bc7b8d94d2b818873b71f02c0e8de) ) // ET00
|
||||||
ROM_LOAD( "es01.rom", 0x10000, 0x10000, CRC(9fea3189) SHA1(0692df6df533dfe55f61df8aa0c5c11944ba3ae3) ) /* ET01 */
|
ROM_LOAD( "es01.rom", 0x10000, 0x10000, CRC(9fea3189) SHA1(0692df6df533dfe55f61df8aa0c5c11944ba3ae3) ) // ET01
|
||||||
ROM_LOAD( "02_e4.bin", 0x20000, 0x10000, CRC(cd72f580) SHA1(43b476c8f554348b02aa9558c0773f47cdb47fe0) ) /* ET02, etc */
|
ROM_LOAD( "02_e4.bin", 0x20000, 0x10000, CRC(cd72f580) SHA1(43b476c8f554348b02aa9558c0773f47cdb47fe0) ) // ET02, etc
|
||||||
/* Rom sockets 0x30000 - 0x70000 are unused */
|
// Rom sockets 0x30000 - 0x70000 are unused
|
||||||
ROM_LOAD( "es05.rom", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
ROM_LOAD( "es05.rom", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
||||||
ROM_LOAD( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
ROM_LOAD( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
||||||
ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
||||||
ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
||||||
ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
||||||
ROM_LOAD( "es10-1.rom",0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
ROM_LOAD( "es10-1.rom",0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
||||||
/* Rom sockets 0xe0000 - 0x100000 are unused */
|
// Rom sockets 0xe0000 - 0x100000 are unused
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||||
ROM_LOAD( "es11.rom", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
ROM_LOAD( "es11.rom", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bldwolf )
|
ROM_START( bldwolf )
|
||||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* Main cpu code */
|
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||||
ROM_LOAD( "es00-1.rom", 0x00000, 0x10000, CRC(ff4aa252) SHA1(3c190e49020bb6923abb3f3c2632d3c86443c292) )
|
ROM_LOAD( "es00-1.rom", 0x00000, 0x10000, CRC(ff4aa252) SHA1(3c190e49020bb6923abb3f3c2632d3c86443c292) )
|
||||||
ROM_LOAD( "es01.rom", 0x10000, 0x10000, CRC(9fea3189) SHA1(0692df6df533dfe55f61df8aa0c5c11944ba3ae3) )
|
ROM_LOAD( "es01.rom", 0x10000, 0x10000, CRC(9fea3189) SHA1(0692df6df533dfe55f61df8aa0c5c11944ba3ae3) )
|
||||||
ROM_LOAD( "es02-1.rom", 0x20000, 0x10000, CRC(49792753) SHA1(4f3fb6912607d373fc0c1096ac0a8cc939e33617) )
|
ROM_LOAD( "es02-1.rom", 0x20000, 0x10000, CRC(49792753) SHA1(4f3fb6912607d373fc0c1096ac0a8cc939e33617) )
|
||||||
/* Rom sockets 0x30000 - 0x70000 are unused */
|
// Rom sockets 0x30000 - 0x70000 are unused
|
||||||
ROM_LOAD( "es05.rom", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
ROM_LOAD( "es05.rom", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
||||||
ROM_LOAD( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
ROM_LOAD( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
||||||
ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
||||||
ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
||||||
ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
||||||
ROM_LOAD( "es10-1.rom", 0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
ROM_LOAD( "es10-1.rom", 0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
||||||
/* Rom sockets 0xe0000 - 0x100000 are unused */
|
// Rom sockets 0xe0000 - 0x100000 are unused
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||||
ROM_LOAD( "es11.rom", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
ROM_LOAD( "es11.rom", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bldwolfj ) /* note, rom codes are ER not ES even if the content of some roms is identical */
|
ROM_START( bldwolfj ) // note, ROM codes are ER not ES even if the content of some ROMs is identical
|
||||||
ROM_REGION( 0x100000, "maincpu", 0 ) /* Main cpu code */
|
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||||
ROM_LOAD( "er00-.0-0", 0x00000, 0x10000, CRC(3819a14e) SHA1(0222051e0b5ec87a18f2e6e9155034f91898c14f) )
|
ROM_LOAD( "er00-.0-0", 0x00000, 0x10000, CRC(3819a14e) SHA1(0222051e0b5ec87a18f2e6e9155034f91898c14f) )
|
||||||
ROM_LOAD( "er01-.0-1", 0x10000, 0x10000, CRC(763cf206) SHA1(0f1c0f80a6aaad0c987c2ba3fdd01db1f5ceb7e6) )
|
ROM_LOAD( "er01-.0-1", 0x10000, 0x10000, CRC(763cf206) SHA1(0f1c0f80a6aaad0c987c2ba3fdd01db1f5ceb7e6) )
|
||||||
ROM_LOAD( "er02-.0-2", 0x20000, 0x10000, CRC(bcad8a0f) SHA1(e7c69d2c894eaedd10ce02f6bceaa43bb060afb9) )
|
ROM_LOAD( "er02-.0-2", 0x20000, 0x10000, CRC(bcad8a0f) SHA1(e7c69d2c894eaedd10ce02f6bceaa43bb060afb9) )
|
||||||
/* Rom sockets 0x30000 - 0x70000 are unused */
|
// Rom sockets 0x30000 - 0x70000 are unused
|
||||||
ROM_LOAD( "er05-.1-0", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
ROM_LOAD( "er05-.1-0", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) )
|
||||||
ROM_LOAD( "er06-.1-1", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
ROM_LOAD( "er06-.1-1", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) )
|
||||||
ROM_LOAD( "er07-.1-2", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
ROM_LOAD( "er07-.1-2", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) )
|
||||||
ROM_LOAD( "er08-.1-3", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
ROM_LOAD( "er08-.1-3", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) )
|
||||||
ROM_LOAD( "er09-.1-4", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
ROM_LOAD( "er09-.1-4", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) )
|
||||||
ROM_LOAD( "er10-.1-5", 0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
ROM_LOAD( "er10-.1-5", 0xd0000, 0x10000, CRC(d3cddc02) SHA1(d212127a9d7aff384171d79c563f1516c0bd46ae) )
|
||||||
/* Rom sockets 0xe0000 - 0x100000 are unused */
|
// Rom sockets 0xe0000 - 0x100000 are unused
|
||||||
|
|
||||||
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
|
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||||
ROM_LOAD( "er11-.tpg", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
ROM_LOAD( "er11-.tpg", 0x00000, 0x10000, CRC(f5b29c9c) SHA1(44dcdf96f8deb9a29aa9d94a8b9cf91a0ed808d4) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
} // Anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
@ -3358,7 +3358,7 @@ GAME( 1998, sws98, 0, coh700, namcos12, namcos12_state, i
|
|||||||
GAME( 1998, technodr, 0, technodr, technodr, namcos12_boothack_state, init_technodr, ROT0, "Namco", "Techno Drive (Japan, TH1/VER.B)", MACHINE_NODEVICE_PRINTER ) /* KC056 */
|
GAME( 1998, technodr, 0, technodr, technodr, namcos12_boothack_state, init_technodr, ROT0, "Namco", "Techno Drive (Japan, TH1/VER.B)", MACHINE_NODEVICE_PRINTER ) /* KC056 */
|
||||||
GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT90,"Namco", "Tenkomori Shooting (World, TKM2/VER.A1)", 0 ) /* KC036 */
|
GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT90,"Namco", "Tenkomori Shooting (World, TKM2/VER.A1)", 0 ) /* KC036 */
|
||||||
GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", 0 ) /* KC036 */
|
GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", 0 ) /* KC036 */
|
||||||
GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Arika / Namco", "Fighting Layer (US, FTL3/VER.A)", 0 ) /* KC037 */
|
GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Arika / Namco", "Fighting Layer (FTL3/VER.A)", 0 ) /* KC037 */ // supposedly US region but doesn't show the usual warning / WDUD screens
|
||||||
GAME( 1998, fgtlayerj, fgtlayer, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL0/VER.A)", 0 ) /* KC037 */
|
GAME( 1998, fgtlayerj, fgtlayer, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL0/VER.A)", 0 ) /* KC037 */
|
||||||
GAME( 1998, pacapp, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Produce / Namco", "Paca Paca Passion (Japan, PPP1/VER.A2)", 0 ) /* KC038 */
|
GAME( 1998, pacapp, 0, coh700, namcos12, namcos12_boothack_state, init_namcos12, ROT0, "Produce / Namco", "Paca Paca Passion (Japan, PPP1/VER.A2)", 0 ) /* KC038 */
|
||||||
GAME( 1999, ptblank2, 0, ptblank2, ptblank2, namcos12_boothack_state, init_ptblank2, ROT0, "Namco", "Point Blank 2 (GNB5/VER.A)", 0 ) /* KC042 */
|
GAME( 1999, ptblank2, 0, ptblank2, ptblank2, namcos12_boothack_state, init_ptblank2, ROT0, "Namco", "Point Blank 2 (GNB5/VER.A)", 0 ) /* KC042 */
|
||||||
|
@ -172,7 +172,7 @@ K1100457A AQUA JACK (sticker)
|
|||||||
Notes:
|
Notes:
|
||||||
68000 - Motorola MC68000P12 CPUs, running at 12.000MHz [24/2]
|
68000 - Motorola MC68000P12 CPUs, running at 12.000MHz [24/2]
|
||||||
Z80 - Zilog Z0840004PSC Z80 CPU, running at 4.000MHz [16/4]
|
Z80 - Zilog Z0840004PSC Z80 CPU, running at 4.000MHz [16/4]
|
||||||
YM2610 - Yahama YM2610 sound chip, running at 8.000MHz [16/2]
|
YM2610 - Yamaha YM2610 sound chip, running at 8.000MHz [16/2]
|
||||||
2063 - Toshiba TMM2063 8K x8 SRAM (DIP28)
|
2063 - Toshiba TMM2063 8K x8 SRAM (DIP28)
|
||||||
2018 - Toshiba TMM2018 2K x8 SRAM (DIP24)
|
2018 - Toshiba TMM2018 2K x8 SRAM (DIP24)
|
||||||
58257 - Sony CXK58257 32K x8 SRAM (DIP28)
|
58257 - Sony CXK58257 32K x8 SRAM (DIP28)
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
// license:BSD-3-Clause
|
|
||||||
// copyright-holders:Bryan McPhail
|
|
||||||
|
|
||||||
#include "machine/gen_latch.h"
|
|
||||||
#include "video/decbac06.h"
|
|
||||||
#include "video/decmxc06.h"
|
|
||||||
#include "cpu/h6280/h6280.h"
|
|
||||||
|
|
||||||
/*************************************************************************
|
|
||||||
|
|
||||||
Act Fancer
|
|
||||||
|
|
||||||
*************************************************************************/
|
|
||||||
|
|
||||||
class actfancr_state : public driver_device
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
actfancr_state(const machine_config &mconfig, device_type type, const char *tag) :
|
|
||||||
driver_device(mconfig, type, tag),
|
|
||||||
m_maincpu(*this, "maincpu"),
|
|
||||||
m_audiocpu(*this, "audiocpu"),
|
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
|
||||||
m_tilegen(*this, "tilegen%u", 1U),
|
|
||||||
m_spritegen(*this, "spritegen"),
|
|
||||||
m_soundlatch(*this, "soundlatch") { }
|
|
||||||
|
|
||||||
/* memory pointers */
|
|
||||||
std::unique_ptr<uint16_t[]> m_spriteram16; // a 16-bit copy of spriteram for use with the MXC06 code
|
|
||||||
|
|
||||||
/* misc */
|
|
||||||
int m_trio_control_select;
|
|
||||||
|
|
||||||
/* devices */
|
|
||||||
required_device<h6280_device> m_maincpu;
|
|
||||||
required_device<cpu_device> m_audiocpu;
|
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
|
||||||
required_device_array<deco_bac06_device, 2> m_tilegen;
|
|
||||||
required_device<deco_mxc06_device> m_spritegen;
|
|
||||||
required_device<generic_latch_8_device> m_soundlatch;
|
|
||||||
|
|
||||||
void triothep_control_select_w(uint8_t data);
|
|
||||||
uint8_t triothep_control_r();
|
|
||||||
void buffer_spriteram_w(uint8_t data);
|
|
||||||
DECLARE_MACHINE_START(triothep);
|
|
||||||
DECLARE_MACHINE_RESET(triothep);
|
|
||||||
virtual void video_start() override;
|
|
||||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void triothep(machine_config &config);
|
|
||||||
void actfancr(machine_config &config);
|
|
||||||
void actfan_map(address_map &map);
|
|
||||||
void dec0_s_map(address_map &map);
|
|
||||||
void triothep_map(address_map &map);
|
|
||||||
};
|
|
@ -1,51 +0,0 @@
|
|||||||
// license:BSD-3-Clause
|
|
||||||
// copyright-holders:Bryan McPhail
|
|
||||||
|
|
||||||
#include "machine/gen_latch.h"
|
|
||||||
#include "cpu/h6280/h6280.h"
|
|
||||||
#include "sound/msm5205.h"
|
|
||||||
#include "video/huc6260.h"
|
|
||||||
#include "video/huc6270.h"
|
|
||||||
#include "screen.h"
|
|
||||||
|
|
||||||
#define MAIN_CLOCK 21477270
|
|
||||||
|
|
||||||
class battlera_state : public driver_device
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
battlera_state(const machine_config &mconfig, device_type type, const char *tag)
|
|
||||||
: driver_device(mconfig, type, tag)
|
|
||||||
, m_maincpu(*this, "maincpu")
|
|
||||||
, m_audiocpu(*this, "audiocpu")
|
|
||||||
, m_msm(*this, "msm")
|
|
||||||
, m_screen(*this, "screen")
|
|
||||||
, m_huc6260(*this, "huc6260")
|
|
||||||
, m_soundlatch(*this, "soundlatch")
|
|
||||||
{ }
|
|
||||||
|
|
||||||
required_device<h6280_device> m_maincpu;
|
|
||||||
required_device<h6280_device> m_audiocpu;
|
|
||||||
required_device<msm5205_device> m_msm;
|
|
||||||
required_device<screen_device> m_screen;
|
|
||||||
required_device<huc6260_device> m_huc6260;
|
|
||||||
required_device<generic_latch_8_device> m_soundlatch;
|
|
||||||
|
|
||||||
int m_control_port_select;
|
|
||||||
int m_msm5205next;
|
|
||||||
int m_toggle;
|
|
||||||
|
|
||||||
void control_data_w(uint8_t data);
|
|
||||||
uint8_t control_data_r();
|
|
||||||
void adpcm_data_w(uint8_t data);
|
|
||||||
void adpcm_reset_w(uint8_t data);
|
|
||||||
DECLARE_WRITE_LINE_MEMBER(adpcm_int);
|
|
||||||
|
|
||||||
virtual void machine_start() override;
|
|
||||||
virtual void machine_reset() override;
|
|
||||||
|
|
||||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
|
||||||
void battlera(machine_config &config);
|
|
||||||
void battlera_map(address_map &map);
|
|
||||||
void battlera_portmap(address_map &map);
|
|
||||||
void sound_map(address_map &map);
|
|
||||||
};
|
|
@ -1,33 +0,0 @@
|
|||||||
// license:BSD-3-Clause
|
|
||||||
// copyright-holders:Bryan McPhail
|
|
||||||
/*******************************************************************************
|
|
||||||
|
|
||||||
actfancr - Bryan McPhail, mish@tendril.co.uk
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
#include "emu.h"
|
|
||||||
#include "includes/actfancr.h"
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
|
|
||||||
void actfancr_state::video_start()
|
|
||||||
{
|
|
||||||
m_spriteram16 = make_unique_clear<uint16_t[]>(0x800/2);
|
|
||||||
save_pointer(NAME(m_spriteram16),0x800/2);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t actfancr_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
|
||||||
{
|
|
||||||
/* Draw playfield */
|
|
||||||
bool flip = m_tilegen[1]->get_flip_state();
|
|
||||||
m_tilegen[0]->set_flip_screen(flip);
|
|
||||||
m_tilegen[1]->set_flip_screen(flip);
|
|
||||||
m_spritegen->set_flip_screen(flip);
|
|
||||||
|
|
||||||
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0);
|
|
||||||
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_spriteram16.get(), 0x800/2);
|
|
||||||
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user