diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index dfb86378831..7e0ed0356ac 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -1690,14 +1690,11 @@ files { createMAMEProjects(_target, _subtarget, "dataeast") files { 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/includes/astrof.h", MAME_DIR .. "src/mame/audio/astrof.cpp", MAME_DIR .. "src/mame/drivers/backfire.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/includes/boogwing.h", MAME_DIR .. "src/mame/video/boogwing.cpp", diff --git a/src/mame/drivers/actfancr.cpp b/src/mame/drivers/actfancr.cpp index 421cd6b1f49..d6929171191 100644 --- a/src/mame/drivers/actfancr.cpp +++ b/src/mame/drivers/actfancr.cpp @@ -11,39 +11,130 @@ Update of the 03/04/2005 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 *******************************************************************************/ #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 "machine/gen_latch.h" #include "sound/okim6295.h" -#include "sound/ymopn.h" #include "sound/ymopl.h" +#include "sound/ymopn.h" + #include "emupal.h" #include "screen.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 m_maincpu; + required_device m_audiocpu; + required_device m_gfxdecode; + required_device_array m_tilegen; + required_device m_spritegen; + + void buffer_spriteram_w(uint8_t data); + +private: + // memory pointers + required_shared_ptr m_spriteram; + memory_share_creator 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 1: return ioport("P2")->read(); - case 2: return ioport("DSW1")->read(); - case 3: return ioport("DSW2")->read(); - case 4: return ioport("SYSTEM")->read(); /* VBL */ + case 0: return m_p[0]->read(); + case 1: return m_p[1]->read(); + case 2: return m_dsw[0]->read(); + case 3: return m_dsw[1]->read(); + case 4: return m_system->read(); // VBL } return 0xff; @@ -53,15 +144,14 @@ uint8_t actfancr_state::triothep_control_r() void actfancr_state::buffer_spriteram_w(uint8_t data) { - uint8_t *src = reinterpret_cast(memshare("spriteram")->ptr()); // 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(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(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(0x100000, 0x1007ff).ram().share("spriteram"); + map(0x100000, 0x1007ff).ram().share(m_spriteram); map(0x110000, 0x110001).w(FUNC(actfancr_state::buffer_spriteram_w)); map(0x120000, 0x1205ff).ram().w("palette", FUNC(palette_device::write8)).share("palette"); map(0x130000, 0x130000).portr("P1"); map(0x130001, 0x130001).portr("P2"); map(0x130002, 0x130002).portr("DSW1"); map(0x130003, 0x130003).portr("DSW2"); - map(0x140000, 0x140001).portr("SYSTEM"); /* VBL */ - map(0x150000, 0x150000).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x1f0000, 0x1f3fff).ram(); /* Main ram */ + map(0x140000, 0x140001).portr("SYSTEM"); // VBL + map(0x150000, 0x150000).w("soundlatch", FUNC(generic_latch_8_device::write)); + 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(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(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(0x100000, 0x100000).w(m_soundlatch, FUNC(generic_latch_8_device::write)); - map(0x110000, 0x110001).w(FUNC(actfancr_state::buffer_spriteram_w)); + map(0x100000, 0x100000).w("soundlatch", FUNC(generic_latch_8_device::write)); + map(0x110000, 0x110001).w(FUNC(triothep_state::buffer_spriteram_w)); map(0x120000, 0x1207ff).ram().share("spriteram"); map(0x130000, 0x1305ff).ram().w("palette", FUNC(palette_device::write8)).share("palette"); - map(0x140000, 0x140001).nopr(); /* Value doesn't matter */ - map(0x1f0000, 0x1f3fff).ram(); /* Main ram */ + map(0x140000, 0x140001).nopr(); // Value doesn't matter + map(0x1f0000, 0x1f3fff).ram(); // Main RAM } /******************************************************************************/ @@ -108,7 +198,7 @@ void actfancr_state::dec0_s_map(address_map &map) map(0x0000, 0x07ff).ram(); map(0x0800, 0x0801).w("ym1", FUNC(ym2203_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(0x4000, 0xffff).rom(); } @@ -157,7 +247,7 @@ static INPUT_PORTS_START( actfancr ) PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) 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_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) @@ -179,12 +269,12 @@ static INPUT_PORTS_START( actfancr ) PORT_DIPSETTING( 0x0c, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x08, DEF_STR( Hard ) ) 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_DIPSETTING( 0x20, "800000" ) PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */ - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */ + PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) // Listed as "Unused" INPUT_PORTS_END 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_DIPSETTING( 0x00, "2" ) 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 /******************************************************************************/ static const gfx_layout layout_8x8x4 = { - 8,8, /* 8*8 chars */ + 8,8, // 8*8 chars 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) }, { STEP8(0,1) }, { 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 = { - 16,16, /* 16*16 sprites */ + 16,16, // 16*16 sprites RGN_FRAC(1,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) }, { STEP16(0,8) }, - 32*8 /* every sprite takes 32 consecutive bytes */ + 32*8 // every sprite takes 32 consecutive bytes }; 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) { - /* basic machine hardware */ - H6280(config, m_maincpu, 21477200/3); /* Should be accurate */ - m_maincpu->set_addrmap(AS_PROGRAM, &actfancr_state::actfan_map); + // basic machine hardware + H6280(config, m_maincpu, 21477200/3); // Should be accurate + m_maincpu->set_addrmap(AS_PROGRAM, &actfancr_state::prg_map); 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); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); 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.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); // VBL screen.set_palette("palette"); GFXDECODE(config, m_gfxdecode, "palette", gfx_actfan); @@ -296,11 +386,10 @@ void actfancr_state::actfancr(machine_config &config) DECO_MXC06(config, m_spritegen, 0); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); - GENERIC_LATCH_8(config, m_soundlatch); - m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); + GENERIC_LATCH_8(config, "soundlatch").data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); ym2203_device &ym1(YM2203(config, "ym1", 1500000)); 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); } -void actfancr_state::triothep(machine_config &config) +void triothep_state::triothep(machine_config &config) { - /* basic machine hardware */ - 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 + actfancr(config); - M6502(config, m_audiocpu, XTAL(12'000'000)/8); /* verified on pcb */ - m_audiocpu->set_addrmap(AS_PROGRAM, &actfancr_state::dec0_s_map); + // basic machine hardware + 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) - MCFG_MACHINE_RESET_OVERRIDE(actfancr_state,triothep) + m_audiocpu->set_clock(XTAL(12'000'000) / 8); // verified on PCB - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - 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"); + // video hardware + m_gfxdecode->set_info(gfx_triothep); - 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_gfxdecode_tag(m_gfxdecode); - DECO_BAC06(config, m_tilegen[1], 0); - m_tilegen[1]->set_gfx_region_wide(0, 0, 0); - m_tilegen[1]->set_gfxdecode_tag(m_gfxdecode); + // sound hardware + subdevice("ym1")->set_clock(XTAL(12'000'000) / 8); // verified on PCB - DECO_MXC06(config, m_spritegen, 0); + subdevice("ym2")->set_clock(XTAL(12'000'000) / 4); // verified on PCB - /* sound hardware */ - 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); + subdevice("oki")->set_clock(XTAL(1'056'000)); // verified on PCB } /******************************************************************************/ 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( "fe09-3.bin", 0x10000, 0x10000, CRC(d21416ca) SHA1(2c863042fe7cf5e4d8cf8a1138089b539406bec3) ) 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_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_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( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) ) 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_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( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) ) 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_END 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( "fe09-2.bin", 0x10000, 0x10000, CRC(27ce2bb1) SHA1(52a423dfc2bba7b3330d1a10f4149ae6eeb9198c) ) 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_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_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( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) ) 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_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( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) ) 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_END 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( "09-1", 0x10000, 0x10000, CRC(13ae78d5) SHA1(eba77d3dbfe273e18c7fa9c0ca305ac2468f9381) ) 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_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_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( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) ) 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_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( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) ) 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_END 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( "fd09-1.bin", 0x10000, 0x10000, CRC(a455ae3e) SHA1(960798271c8370c1c4ffce2a453f59d7a301c9f9) ) 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_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_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( "06", 0x18000, 0x10000, CRC(8cb6dd87) SHA1(fab4fe76d2426c906a9070cbf7ce81200ba27ff6) ) 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_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( "13", 0x20000, 0x10000, CRC(c30c37dc) SHA1(0f7a325738eafa85239497e2b97aa51a6f2ffc4d) ) 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_END 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-15.bin", 0x20000, 0x10000, CRC(1c0551ab) SHA1(1f90f80db44d92af4b233bc16cb1023db2797e8a) ) 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_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_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-09.bin", 0x18000, 0x10000, CRC(6bf6c803) SHA1(c16fd4b7e1e86db48c6e78a4b5dcd42e8269b465) ) 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_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-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) ) 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_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_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-15.bin", 0x20000, 0x10000, CRC(6eada47c) SHA1(98fc4e93c47bc42ea7c20e8ac994b117cd7cb5a5) ) 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_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_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-09.bin", 0x18000, 0x10000, CRC(79c6bc0e) SHA1(d4bf195f6114103d2eb68f3aaf65d4044947f600) ) 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_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-05.bin", 0x20000, 0x10000, CRC(8bb13f05) SHA1(f524cb0a38d0025c93124fc329d913e000155e9b) ) 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_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, 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, 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, triothepj, triothep, triothep, triothep, actfancr_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", 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, triothep_state, empty_init, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/battlera.cpp b/src/mame/drivers/battlera.cpp index c365791f9a5..dc8ee2f045b 100644 --- a/src/mame/drivers/battlera.cpp +++ b/src/mame/drivers/battlera.cpp @@ -7,7 +7,7 @@ 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. Differences from PC-Engine console: @@ -79,7 +79,7 @@ Notes: 2063 - Toshiba TMM2063 8kx8 SRAM used for main work RAM 62256 - Hitachi HM62256 32kx8 SRAM used for video RAM 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 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 @@ -93,15 +93,74 @@ Notes: **********************************************************************/ #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 "video/huc6260.h" +#include "video/huc6270.h" + +#include "screen.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 m_maincpu; + required_device m_audiocpu; + required_device m_msm; + required_device m_screen; + required_device m_huc6260; + required_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() { save_item(NAME(m_control_port_select)); save_item(NAME(m_msm5205next)); + save_item(NAME(m_toggle)); } void battlera_state::machine_reset() @@ -115,18 +174,18 @@ void battlera_state::machine_reset() 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() { switch (m_control_port_select) { - case 0xfe: return ioport("IN0")->read(); /* Player 1 */ - case 0xfd: return ioport("IN1")->read(); /* Player 2 */ - case 0xfb: return ioport("IN2")->read(); /* Coins */ - case 0xf7: return ioport("DSW2")->read(); /* Dip 2 */ - case 0xef: return ioport("DSW1")->read(); /* Dip 1 */ + case 0xfe: return m_in[0]->read(); // Player + case 0xfd: return m_in[1]->read(); // Player + case 0xfb: return m_in[2]->read(); // Coins + case 0xf7: return m_dsw[1]->read(); // Dip 2 + case 0xef: return m_dsw[0]->read(); // Dip 1 } 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(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(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(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)); } @@ -177,13 +236,13 @@ void battlera_state::sound_map(address_map &map) map(0x000000, 0x00ffff).rom(); map(0x040000, 0x040001).w("ymsnd", FUNC(ym2203_device::write)); 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 ) - 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( 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) @@ -193,7 +252,7 @@ static INPUT_PORTS_START( battlera ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) 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( 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) @@ -203,7 +262,7 @@ static INPUT_PORTS_START( battlera ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) 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( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) 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( 0x0c, DEF_STR( 1C_1C ) ) 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_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* Listed as "Unused" */ - PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) /* Listed as "Unused" */ + PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) // Listed as "Unused" PORT_START("DSW2") 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_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW2:6" ) /* 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( 0x20, 0x20, "SW2:6" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) // Listed as "Unused" 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) { - m_huc6260->video_update( bitmap, cliprect ); + m_huc6260->video_update(bitmap, cliprect); return 0; } void battlera_state::battlera(machine_config &config) { - /* basic machine hardware */ - H6280(config, m_maincpu, 21477200/3); - m_maincpu->set_addrmap(AS_PROGRAM, &battlera_state::battlera_map); - m_maincpu->set_addrmap(AS_IO, &battlera_state::battlera_portmap); + // basic machine hardware + H6280(config, m_maincpu, 21.477272_MHz_XTAL / 3); + m_maincpu->set_addrmap(AS_PROGRAM, &battlera_state::main_prg_map); + 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_out_cb().set(FUNC(battlera_state::control_data_w)); 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->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->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); - 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_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->time_til_next_event().set("huc6270", FUNC(huc6270_device::time_until_next_event)); 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.irq().set_inputline(m_maincpu, 0); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); 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->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); } /******************************************************************************/ ROM_START( battlera ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* Main cpu code */ - 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( "02_e4.bin", 0x20000, 0x10000, CRC(cd72f580) SHA1(43b476c8f554348b02aa9558c0773f47cdb47fe0) ) /* ET02, etc */ - /* Rom sockets 0x30000 - 0x70000 are unused */ + ROM_REGION( 0x100000, "maincpu", 0 ) + 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( "02_e4.bin", 0x20000, 0x10000, CRC(cd72f580) SHA1(43b476c8f554348b02aa9558c0773f47cdb47fe0) ) // ET02, etc + // Rom sockets 0x30000 - 0x70000 are unused ROM_LOAD( "es05.rom", 0x80000, 0x10000, CRC(551fa331) SHA1(a70c627c572ba1b8029f61eae6eaad9825c56339) ) ROM_LOAD( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) ) ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) ) ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) ) ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) ) 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_END 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( "es01.rom", 0x10000, 0x10000, CRC(9fea3189) SHA1(0692df6df533dfe55f61df8aa0c5c11944ba3ae3) ) 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( "es06.rom", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) ) ROM_LOAD( "es07.rom", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) ) ROM_LOAD( "es08.rom", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) ) ROM_LOAD( "es09.rom", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) ) 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_END -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_START( bldwolfj ) // note, ROM codes are ER not ES even if the content of some ROMs is identical + ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD( "er00-.0-0", 0x00000, 0x10000, CRC(3819a14e) SHA1(0222051e0b5ec87a18f2e6e9155034f91898c14f) ) ROM_LOAD( "er01-.0-1", 0x10000, 0x10000, CRC(763cf206) SHA1(0f1c0f80a6aaad0c987c2ba3fdd01db1f5ceb7e6) ) 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( "er06-.1-1", 0x90000, 0x10000, CRC(ab91aac8) SHA1(81d820c8b70281a4a52f7ec75a3c54377011d9d9) ) ROM_LOAD( "er07-.1-2", 0xa0000, 0x10000, CRC(8d15a3d0) SHA1(afae081ee5e0de359cae6a7ea8401237c5ab7095) ) ROM_LOAD( "er08-.1-3", 0xb0000, 0x10000, CRC(38f06039) SHA1(cc394f161b2c4423cd2da763701ceaad7d27f741) ) ROM_LOAD( "er09-.1-4", 0xc0000, 0x10000, CRC(b718c47d) SHA1(1d5b2ec819b0848e5b883373887445a63ebddb06) ) 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_END +} // Anonymous namespace /******************************************************************************/ diff --git a/src/mame/drivers/namcos12.cpp b/src/mame/drivers/namcos12.cpp index ef25b87e27e..4858ee4fd95 100644 --- a/src/mame/drivers/namcos12.cpp +++ b/src/mame/drivers/namcos12.cpp @@ -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, 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, 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, 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 */ diff --git a/src/mame/drivers/taito_z.cpp b/src/mame/drivers/taito_z.cpp index 9bbed2b8957..b92047991fe 100644 --- a/src/mame/drivers/taito_z.cpp +++ b/src/mame/drivers/taito_z.cpp @@ -172,7 +172,7 @@ K1100457A AQUA JACK (sticker) Notes: 68000 - Motorola MC68000P12 CPUs, running at 12.000MHz [24/2] 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) 2018 - Toshiba TMM2018 2K x8 SRAM (DIP24) 58257 - Sony CXK58257 32K x8 SRAM (DIP28) diff --git a/src/mame/includes/actfancr.h b/src/mame/includes/actfancr.h deleted file mode 100644 index 43640d7063e..00000000000 --- a/src/mame/includes/actfancr.h +++ /dev/null @@ -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 m_spriteram16; // a 16-bit copy of spriteram for use with the MXC06 code - - /* misc */ - int m_trio_control_select; - - /* devices */ - required_device m_maincpu; - required_device m_audiocpu; - required_device m_gfxdecode; - required_device_array m_tilegen; - required_device m_spritegen; - required_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); -}; diff --git a/src/mame/includes/battlera.h b/src/mame/includes/battlera.h deleted file mode 100644 index 2a367aff57f..00000000000 --- a/src/mame/includes/battlera.h +++ /dev/null @@ -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 m_maincpu; - required_device m_audiocpu; - required_device m_msm; - required_device m_screen; - required_device m_huc6260; - required_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); -}; diff --git a/src/mame/video/actfancr.cpp b/src/mame/video/actfancr.cpp deleted file mode 100644 index 725293aae7a..00000000000 --- a/src/mame/video/actfancr.cpp +++ /dev/null @@ -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(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; -}