From 126aebfee6390b2320d6e2dc68b799f9f920b4bb Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Thu, 23 May 2024 16:25:19 +0200 Subject: - seta/namcoeva.cpp: redumped sound ROM for hammerch [Hammy] - nmk/powerins.cpp: consolidated driver in single file --- src/mame/nmk/powerins.cpp | 560 ++++++++++++++++++++++++++++++---------- src/mame/nmk/powerins.h | 47 ---- src/mame/nmk/powerins_v.cpp | 232 ----------------- src/mame/seta/namcoeva.cpp | 4 +- src/mame/skeleton/ganbaremo.cpp | 4 +- src/mame/sony/clie_db.cpp | 2 +- 6 files changed, 430 insertions(+), 419 deletions(-) delete mode 100644 src/mame/nmk/powerins.h delete mode 100644 src/mame/nmk/powerins_v.cpp diff --git a/src/mame/nmk/powerins.cpp b/src/mame/nmk/powerins.cpp index 34ec1b7aa02..8450169da16 100644 --- a/src/mame/nmk/powerins.cpp +++ b/src/mame/nmk/powerins.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause -// copyright-holders:Luca Elia +// copyright-holders: Luca Elia + /*************************************************************************** -= Power Instinct =- @@ -27,21 +28,300 @@ Note: TODO: - sprites flip y (not used by the game) - graphic system and PCB design is similar as macross2 era hardwares in nmk16.cpp; - it's mergeable? + is it mergeable? ***************************************************************************/ #include "emu.h" -#include "powerins.h" +#include "nmk16.h" +#include "nmk16spr.h" -#include "cpu/z80/z80.h" #include "cpu/m68000/m68000.h" +#include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/nmk112.h" #include "sound/okim6295.h" #include "sound/ymopn.h" + +#include "emupal.h" +#include "screen.h" #include "speaker.h" +#include "tilemap.h" + + +namespace { + +class powerins_state : public nmk16_state +{ +public: + powerins_state(const machine_config &mconfig, device_type type, const char *tag) : + nmk16_state(mconfig, type, tag) + { } + + void powerins(machine_config &config); + void powerinsa(machine_config &config); + void powerinsb(machine_config &config); + void powerinsc(machine_config &config); + +protected: + virtual void video_start() override; + + void base(machine_config &config); + + void screen_vblank_bootleg(int state); + + void main_program_map(address_map &map); + +private: + u8 bootleg_fake_ym2203_r(); + + TILE_GET_INFO_MEMBER(get_bg_tile_info); + + void screen_vblank(int state); + + void get_colour_6bit(u32 &colour, u32 &pri_mask); + void get_flip_extcode(u16 attr, int &flipx, int &flipy, int &code); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void audio_program_map(address_map &map); + void bootleg_audio_io_map(address_map &map); +}; + +class powerinsa_state : public powerins_state +{ +public: + using powerins_state::powerins_state; + + void powerinsa(machine_config &config); + +protected: + virtual void machine_start() override; + +private: + void okibank_w(u8 data); + + void program_map(address_map &map); + void oki_map(address_map &map); +}; + +/*************************************************************************** + + -= Power Instinct =- + (C) 1993 Atlus + + driver by Luca Elia (l.elia@tin.it) + + +Note: if MAME_DEBUG is defined, pressing Z with: + + Q shows layer 1 + W shows layer 2 + A shows the sprites + + Keys can be used together! + + [ 2 Scrolling Layers ] + + Each Layer is made of various pages of 256x256 pixels. + + [Layer 0] + Pages: 16x2 + Tiles: 16x16x4 + Scroll: X,Y + + [Layer 1] + Pages: 2x1 + Tiles: 8x8x4 + Scroll: No + + [ 256 Sprites ] + + Each sprite is made of a variable amount of 16x16 tiles. + Size can therefore vary from 16x16 (1 tile) to 256x256 + (16x16 tiles) + + +**************************************************************************/ + +/*************************************************************************** + [ Tiles Format VRAM 0] + +Offset: + +0.w fedc ---- ---- ---- Color Low Bits + ---- b--- ---- ---- Color High Bit + ---- -a98 7654 3210 Code (Banked) + + +***************************************************************************/ + +// Layers are made of 256x256 pixel pages +/* +#define TILES_PER_PAGE_X (0x10) +#define TILES_PER_PAGE_Y (0x10) +#define TILES_PER_PAGE (TILES_PER_PAGE_X * TILES_PER_PAGE_Y) + +#define DIM_NX_0 (0x100) +#define DIM_NY_0 (0x20) +*/ + +TILE_GET_INFO_MEMBER(powerins_state::get_bg_tile_info) +{ + uint16_t code = m_bgvideoram[0][tile_index]; + tileinfo.set(1, + (code & 0x07ff) | (m_bgbank << 11), + ((code & 0xf000) >> 12) | ((code & 0x0800) >> 7), + 0); +} + + +/*************************************************************************** + [ Tiles Format VRAM 1] + +Offset: + +0.w fedc ---- ---- ---- Color + ---- ba98 7654 3210 Code + + +***************************************************************************/ + +/* +#define DIM_NX_1 (0x40) +#define DIM_NY_1 (0x20) +*/ + +/*************************************************************************** + + + video_start + + +***************************************************************************/ + +void powerins_state::video_start() +{ + m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(powerins_state::get_bg_tile_info)), tilemap_mapper_delegate(*this, FUNC(powerins_state::tilemap_scan_pages)), 16, 16, 256, 32); + m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(powerins_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32); + m_bg_tilemap[1] = nullptr; + + m_tx_tilemap->set_transparent_pen(15); + + video_init(); + // fixed offset + m_bg_tilemap[0]->set_scrolldx(32, 32); + m_tx_tilemap->set_scrolldx(32, 32); +} + + +/*************************************************************************** + + + Sprites Drawing + + +***************************************************************************/ + + + +/* --------------------------[ Sprites Format ]---------------------------- + +Offset: Format: Value: + + 00 fedc ba98 7654 321- - + ---- ---- ---- ---0 Display this sprite + + 02 fed- ---- ---- ---- - + ---c ---- ---- ---- Flip X + ---- ba9- ---- ---- - + ---- ---8 ---- ---- Code High Bit + ---- ---- 7654 ---- Number of tiles along Y, minus 1 (1-16) + ---- ---- ---- 3210 Number of tiles along X, minus 1 (1-16) + + 04 Unused? + + 06 f--- ---- ---- ---- - + -edc ba98 7654 3210 Code Low Bits + + 08 X + + 0A Unused? + + 0C Y + + 0E fedc ba98 76-- ---- - + ---- ---- --54 3210 Color + + +------------------------------------------------------------------------ */ + + +void powerins_state::get_colour_6bit(u32 &colour, u32 &pri_mask) +{ + colour &= 0x3f; + pri_mask |= GFX_PMASK_2; // under foreground +} + +void powerins_state::get_flip_extcode(u16 attr, int &flipx, int &flipy, int &code) +{ + flipx = (attr & 0x1000) >> 12; + code = (code & 0x7fff) | ((attr & 0x100) << 7); +} + + +/*************************************************************************** + + + Screen Drawing + + +***************************************************************************/ + + +u32 powerins_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + int layers_ctrl = -1; + +#ifdef MAME_DEBUG +if (machine().input().code_pressed(KEYCODE_Z)) +{ + int msk = 0; + + if (machine().input().code_pressed(KEYCODE_Q)) msk |= 1; + if (machine().input().code_pressed(KEYCODE_W)) msk |= 2; +// if (machine().input().code_pressed(KEYCODE_E)) msk |= 4; + if (machine().input().code_pressed(KEYCODE_A)) msk |= 8; + if (msk != 0) layers_ctrl &= msk; +} +#endif + + screen.priority().fill(0, cliprect); + if (layers_ctrl&1) bg_update(screen, bitmap, cliprect, 0); + else bitmap.fill(0, cliprect); + if (layers_ctrl&2) tx_update(screen, bitmap, cliprect); + if (layers_ctrl&8) draw_sprites(screen, bitmap, cliprect, m_spriteram_old2.get()); + return 0; +} + +void powerins_state::screen_vblank(int state) +{ + if (state) + { + m_maincpu->set_input_line(4, HOLD_LINE); + m_dma_timer->adjust(attotime::from_usec(256)); // 256 USEC after VBOUT, same as nmk16.cpp? + } +} + +void powerins_state::screen_vblank_bootleg(int state) +{ + if (state) + { + m_maincpu->set_input_line(4, HOLD_LINE); + // bootlegs don't have DMA? + memcpy(m_spriteram_old2.get(),m_spriteram_old.get(), 0x1000); + memcpy(m_spriteram_old.get(), m_mainram + m_sprdma_base / 2, 0x1000); + } +} /*************************************************************************** @@ -51,17 +331,17 @@ TODO: ***************************************************************************/ -void powerins_state::powerinsa_okibank_w(u8 data) +void powerinsa_state::okibank_w(u8 data) { m_okibank[0]->set_entry(data & 7); } -u8 powerins_state::powerinsb_fake_ym2203_r() +u8 powerins_state::bootleg_fake_ym2203_r() { return 0x01; } -void powerins_state::powerins_map(address_map &map) +void powerins_state::main_program_map(address_map &map) { map(0x000000, 0x0fffff).rom(); map(0x100000, 0x100001).portr("SYSTEM"); @@ -69,25 +349,25 @@ void powerins_state::powerins_map(address_map &map) map(0x100008, 0x100009).portr("DSW1"); map(0x10000a, 0x10000b).portr("DSW2"); map(0x100015, 0x100015).w(FUNC(powerins_state::flipscreen_w)); - map(0x100016, 0x100017).nopw(); /* IRQ enable or z80 sound reset like in Macross 2? */ + map(0x100016, 0x100017).nopw(); // IRQ enable or Z80 sound reset like in Macross 2? map(0x100019, 0x100019).w(FUNC(powerins_state::tilebank_w)); map(0x10001f, 0x10001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x120000, 0x120fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x130000, 0x130007).ram().w(FUNC(powerins_state::scroll_w<0>)).umask16(0x00ff); - map(0x140000, 0x143fff).ram().w(FUNC(powerins_state::bgvideoram_w<0>)).share("bgvideoram0"); - map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(powerins_state::txvideoram_w)).share("txvideoram"); - map(0x180000, 0x18ffff).ram().share("mainram"); + map(0x140000, 0x143fff).ram().w(FUNC(powerins_state::bgvideoram_w<0>)).share(m_bgvideoram[0]); + map(0x170000, 0x170fff).mirror(0x1000).ram().w(FUNC(powerins_state::txvideoram_w)).share(m_txvideoram); + map(0x180000, 0x18ffff).ram().share(m_mainram); } -/* powerinsa: same as the original one but without the sound cpu (and inferior sound HW) */ -void powerins_state::powerinsa_map(address_map &map) +// powerinsa: same as the original one but without the sound CPU (and inferior sound HW) +void powerinsa_state::program_map(address_map &map) { - powerins_map(map); - map(0x100031, 0x100031).w(FUNC(powerins_state::powerinsa_okibank_w)); + main_program_map(map); + map(0x100031, 0x100031).w(FUNC(powerinsa_state::okibank_w)); map(0x10003f, 0x10003f).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); } -void powerins_state::powerins_sound_map(address_map &map) +void powerins_state::audio_program_map(address_map &map) { map(0x0000, 0xbfff).rom(); map(0xc000, 0xdfff).ram(); @@ -96,20 +376,20 @@ void powerins_state::powerins_sound_map(address_map &map) // map(0xe001, 0xe001).nopw(); // ? } -void powerins_state::powerinsb_sound_io_map(address_map &map) +void powerins_state::bootleg_audio_io_map(address_map &map) { map.global_mask(0xff); - map(0x00, 0x00).r(FUNC(powerins_state::powerinsb_fake_ym2203_r)).nopw(); + map(0x00, 0x00).r(FUNC(powerins_state::bootleg_fake_ym2203_r)).nopw(); map(0x01, 0x01).noprw(); map(0x80, 0x80).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x88, 0x88).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0x90, 0x97).w("nmk112", FUNC(nmk112_device::okibank_w)); } -void powerins_state::powerinsa_oki_map(address_map &map) +void powerinsa_state::oki_map(address_map &map) { map(0x00000, 0x2ffff).rom().region("oki1", 0); - map(0x30000, 0x3ffff).bankr("okibank1"); + map(0x30000, 0x3ffff).bankr(m_okibank[0]); } @@ -120,7 +400,7 @@ void powerins_state::powerinsa_oki_map(address_map &map) ***************************************************************************/ static INPUT_PORTS_START( powerins ) - PORT_START("SYSTEM") /* $100000 */ + PORT_START("SYSTEM") // $100000 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) @@ -130,7 +410,7 @@ static INPUT_PORTS_START( powerins ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_START("P1_P2") /* $100002 */ + PORT_START("P1_P2") // $100002 PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) @@ -149,7 +429,7 @@ static INPUT_PORTS_START( powerins ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) - PORT_START("DSW1") /* $100008 */ + PORT_START("DSW1") // $100008 PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -175,7 +455,7 @@ static INPUT_PORTS_START( powerins ) PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_START("DSW2") /* $10000a */ + PORT_START("DSW2") // $10000a PORT_DIPNAME( 0x0001, 0x0001, "Coin Chutes" ) PORT_DIPLOCATION("SW2:8") PORT_DIPSETTING( 0x0001, "1 Chute" ) PORT_DIPSETTING( 0x0000, "2 Chutes" ) @@ -183,13 +463,13 @@ static INPUT_PORTS_START( powerins ) PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) /* - In "Join In" mode, a second player can join even if one player has aready + In "Join In" mode, a second player can join even if one player has already begun to play. Please refer to chart below: - Join In Mode Credit Join In Game Over + Join In Mode Credit Join In Game Over ----------------------------------------------------------------------------------------------- - Join In OFF 1C per Player Anytime Winner of VS Plays Computer - Join In ON 1C = VS Mode 2 players Cannot After win VS Game Over for both players + Join In OFF 1C per Player Anytime Winner of VS Plays Computer + Join In ON 1C = VS Mode 2 players Cannot After win VS Game Over for both players */ PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:6") @@ -229,15 +509,15 @@ INPUT_PORTS_END ***************************************************************************/ static GFXDECODE_START( gfx_powerins ) - GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 0x10 ) // [1] Tiles - GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 0x20 ) // [0] Tiles - GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x400, 0x40 ) // [2] Sprites + GFXDECODE_ENTRY( "fgtile", 0, gfx_8x8x4_packed_msb, 0x200, 0x10 ) + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x000, 0x20 ) + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_msb, 0x400, 0x40 ) GFXDECODE_END static GFXDECODE_START( gfx_powerinsc ) - GFXDECODE_ENTRY( "bgtile", 0x280000, gfx_8x8x4_packed_lsb, 0x200, 0x10 ) // [1] Tiles - GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x000, 0x20 ) // [0] Tiles - GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x400, 0x40 ) // [2] Sprites, TODO: wrong decode and ROM loading + GFXDECODE_ENTRY( "bgtile", 0x280000, gfx_8x8x4_packed_lsb, 0x200, 0x10 ) + GFXDECODE_ENTRY( "bgtile", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x000, 0x20 ) + GFXDECODE_ENTRY( "sprites", 0, gfx_8x8x4_col_2x2_group_packed_lsb, 0x400, 0x40 ) // TODO: wrong decode and ROM loading GFXDECODE_END /*************************************************************************** @@ -246,22 +526,18 @@ GFXDECODE_END ***************************************************************************/ -MACHINE_START_MEMBER(powerins_state, powerinsa) +void powerinsa_state::machine_start() { m_okibank[0]->configure_entries(0, 5, memregion("oki1")->base() + 0x30000, 0x10000); } -void powerins_state::powerins(machine_config &config) +void powerins_state::base(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(12'000'000)); /* 12MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &powerins_state::powerins_map); + // basic machine hardware + M68000(config, m_maincpu, XTAL(12'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &powerins_state::main_program_map); - Z80(config, m_audiocpu, XTAL(12'000'000) / 2); /* 6 MHz */ - m_audiocpu->set_addrmap(AS_PROGRAM, &powerins_state::powerins_sound_map); - m_audiocpu->set_addrmap(AS_IO, &powerins_state::macross2_sound_io_map); - - /* video hardware */ + // video hardware SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(XTAL(14'000'000) / 2, 448, 0, 320, 278, 16, 240); // confirmed m_screen->set_screen_update(FUNC(powerins_state::screen_update)); @@ -279,10 +555,19 @@ void powerins_state::powerins(machine_config &config) GFXDECODE(config, m_gfxdecode, m_palette, gfx_powerins); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 2048); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); +} + +void powerins_state::powerins(machine_config &config) +{ + base(config); + + Z80(config, m_audiocpu, XTAL(12'000'000) / 2); + m_audiocpu->set_addrmap(AS_PROGRAM, &powerins_state::audio_program_map); + m_audiocpu->set_addrmap(AS_IO, &powerins_state::macross2_sound_io_map); ym2203_device &ymsnd(YM2203(config, "ymsnd", XTAL(12'000'000) / 8)); ymsnd.irq_handler().set_inputline(m_audiocpu, 0); @@ -297,42 +582,44 @@ void powerins_state::powerins(machine_config &config) nmk112.set_rom1_tag("oki2"); } -void powerins_state::powerinsa(machine_config &config) +void powerinsa_state::powerinsa(machine_config &config) { - powerins(config); - - /* basic machine hardware */ + base(config); - m_maincpu->set_addrmap(AS_PROGRAM, &powerins_state::powerinsa_map); + m_maincpu->set_addrmap(AS_PROGRAM, &powerinsa_state::program_map); m_screen->set_raw(XTAL(14'318'181) / 2, 456, 0, 320, 262, 16, 240); // ~60hz, XTAL verified, correct params? - m_screen->screen_vblank().set(FUNC(powerins_state::screen_vblank_powerinsa)); + m_screen->screen_vblank().set(FUNC(powerinsa_state::screen_vblank_bootleg)); - config.device_remove("audiocpu"); - - MCFG_MACHINE_START_OVERRIDE(powerins_state, powerinsa) - - m_oki[0]->set_clock(990000); // pin7 not verified - m_oki[0]->set_addrmap(0, &powerins_state::powerinsa_oki_map); - - config.device_remove("oki2"); - config.device_remove("ymsnd"); - config.device_remove("nmk112"); + OKIM6295(config, m_oki[0], 990'000, okim6295_device::PIN7_LOW); // pin7 not verified + m_oki[0]->set_addrmap(0, &powerinsa_state::oki_map); + m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.15); } void powerins_state::powerinsb(machine_config &config) { - powerins(config); + base(config); - /* basic machine hardware */ + // basic machine hardware + Z80(config, m_audiocpu, XTAL(12'000'000) / 2); + m_audiocpu->set_addrmap(AS_PROGRAM, &powerins_state::audio_program_map); + m_audiocpu->set_addrmap(AS_IO, &powerins_state::macross2_sound_io_map); m_screen->set_raw(XTAL(14'318'181) / 2, 456, 0, 320, 262, 16, 240); // ~60hz, XTAL verified, correct params? - m_screen->screen_vblank().set(FUNC(powerins_state::screen_vblank_powerinsa)); + m_screen->screen_vblank().set(FUNC(powerins_state::screen_vblank_bootleg)); - m_audiocpu->set_addrmap(AS_IO, &powerins_state::powerinsb_sound_io_map); + m_audiocpu->set_addrmap(AS_IO, &powerins_state::bootleg_audio_io_map); m_audiocpu->set_periodic_int(FUNC(powerins_state::irq0_line_hold), attotime::from_hz(120)); // YM2203 rate is at 150?? - config.device_remove("ymsnd"); // Sound code talks to one, but it's not fitted on the board + OKIM6295(config, m_oki[0], XTAL(16'000'000) / 4, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.15); + + OKIM6295(config, m_oki[1], XTAL(16'000'000) / 4, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.15); + + nmk112_device &nmk112(NMK112(config, "nmk112", 0)); + nmk112.set_rom0_tag("oki1"); + nmk112.set_rom1_tag("oki2"); + + // Sound code talks to one YM2203, but it's not fitted on the board } void powerins_state::powerinsc(machine_config &config) @@ -405,22 +692,22 @@ Notes: */ ROM_START( powerins ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "93095-3a.u108", 0x00000, 0x80000, CRC(9825ea3d) SHA1(567fd8e3d866a58a68608ea20c5d3fc16cf9f444) ) ROM_LOAD16_WORD_SWAP( "93095-4.u109", 0x80000, 0x80000, CRC(d3d7a782) SHA1(7846de0ebb09bd9b2534cd451ff9aa5175e60647) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "93095-2.u90", 0x00000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ + ROM_REGION( 0x280000, "bgtile", 0 ) ROM_LOAD( "93095-5.u16", 0x000000, 0x100000, CRC(b1371808) SHA1(15fca313314ff2e0caff35841a2fdda97f6235a8) ) ROM_LOAD( "93095-6.u17", 0x100000, 0x100000, CRC(29c85d80) SHA1(abd54f9c8bade21ea918a426627199da04193165) ) ROM_LOAD( "93095-7.u18", 0x200000, 0x080000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "93095-1.u15", 0x000000, 0x020000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ + ROM_REGION( 0x800000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "93095-12.u116", 0x000000, 0x100000, CRC(35f3c2a3) SHA1(70efebfe248401ba3d766dc0e4bcc2846cd0d9a0) ) ROM_LOAD16_WORD_SWAP( "93095-13.u117", 0x100000, 0x100000, CRC(1ebd45da) SHA1(99b0ac734890673064b2a4b4b57ff2694e338dea) ) ROM_LOAD16_WORD_SWAP( "93095-14.u118", 0x200000, 0x100000, CRC(760d871b) SHA1(4887122ad0518c90f08c11a7a6b694f3fd218498) ) @@ -430,37 +717,37 @@ ROM_START( powerins ) ROM_LOAD16_WORD_SWAP( "93095-18.u122", 0x600000, 0x100000, CRC(b135e3f2) SHA1(339fb4007ca0f379b7554a1c4f711f494a371fb2) ) ROM_LOAD16_WORD_SWAP( "93095-19.u123", 0x700000, 0x100000, CRC(67695537) SHA1(4c78ce3e36f27d2a6a9e50e8bf896335d4d0958a) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "93095-10.u48", 0x040000, 0x100000, CRC(329ac6c5) SHA1(e809b94e2623141f5a48995cfa97fe1ead7ab40b) ) ROM_LOAD( "93095-11.u49", 0x140000, 0x100000, CRC(75d6097c) SHA1(3c89a7c9b12087e2d969b822419d3e5f98f5cb1d) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "93095-8.u46", 0x040000, 0x100000, CRC(f019bedb) SHA1(4b6e10f85671c75b666e547887d403d6e607cec8) ) ROM_LOAD( "93095-9.u47", 0x140000, 0x100000, CRC(adc83765) SHA1(9e760443f9de21c1bb7e33eaa1541023fcdc60ab) ) - ROM_REGION( 0x0220, "proms", 0 ) /* unknown */ + ROM_REGION( 0x0220, "proms", 0 ) // unknown ROM_LOAD( "22.u81", 0x000000, 0x0020, CRC(67d5ec4b) SHA1(87d32948a0c88277dcdd0eaa035bde40fc7db5fe) ) ROM_LOAD( "21.u71", 0x000020, 0x0100, CRC(182cd81f) SHA1(3a76bea81b34ea7ccf56044206721058aa5b03e6) ) ROM_LOAD( "20.u54", 0x000100, 0x0100, CRC(38bd0e2f) SHA1(20d311869642cd96bb831fdf4a458e0d872f03eb) ) ROM_END ROM_START( powerinsj ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "93095-3j.u108", 0x00000, 0x80000, CRC(3050a3fb) SHA1(e7e729bf62266e2e78ccd84cf937abb99de18ad5) ) ROM_LOAD16_WORD_SWAP( "93095-4.u109", 0x80000, 0x80000, CRC(d3d7a782) SHA1(7846de0ebb09bd9b2534cd451ff9aa5175e60647) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "93095-2.u90", 0x00000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ + ROM_REGION( 0x280000, "bgtile", 0 ) ROM_LOAD( "93095-5.u16", 0x000000, 0x100000, CRC(b1371808) SHA1(15fca313314ff2e0caff35841a2fdda97f6235a8) ) ROM_LOAD( "93095-6.u17", 0x100000, 0x100000, CRC(29c85d80) SHA1(abd54f9c8bade21ea918a426627199da04193165) ) ROM_LOAD( "93095-7.u18", 0x200000, 0x080000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "93095-1.u15", 0x000000, 0x020000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ + ROM_REGION( 0x800000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "93095-12.u116", 0x000000, 0x100000, CRC(35f3c2a3) SHA1(70efebfe248401ba3d766dc0e4bcc2846cd0d9a0) ) ROM_LOAD16_WORD_SWAP( "93095-13.u117", 0x100000, 0x100000, CRC(1ebd45da) SHA1(99b0ac734890673064b2a4b4b57ff2694e338dea) ) ROM_LOAD16_WORD_SWAP( "93095-14.u118", 0x200000, 0x100000, CRC(760d871b) SHA1(4887122ad0518c90f08c11a7a6b694f3fd218498) ) @@ -470,40 +757,40 @@ ROM_START( powerinsj ) ROM_LOAD16_WORD_SWAP( "93095-18.u122", 0x600000, 0x100000, CRC(b135e3f2) SHA1(339fb4007ca0f379b7554a1c4f711f494a371fb2) ) ROM_LOAD16_WORD_SWAP( "93095-19.u123", 0x700000, 0x100000, CRC(67695537) SHA1(4c78ce3e36f27d2a6a9e50e8bf896335d4d0958a) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "93095-10.u48", 0x040000, 0x100000, CRC(329ac6c5) SHA1(e809b94e2623141f5a48995cfa97fe1ead7ab40b) ) ROM_LOAD( "93095-11.u49", 0x140000, 0x100000, CRC(75d6097c) SHA1(3c89a7c9b12087e2d969b822419d3e5f98f5cb1d) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "93095-8.u46", 0x040000, 0x100000, CRC(f019bedb) SHA1(4b6e10f85671c75b666e547887d403d6e607cec8) ) ROM_LOAD( "93095-9.u47", 0x140000, 0x100000, CRC(adc83765) SHA1(9e760443f9de21c1bb7e33eaa1541023fcdc60ab) ) - ROM_REGION( 0x0220, "proms", 0 ) /* unknown */ + ROM_REGION( 0x0220, "proms", 0 ) // unknown ROM_LOAD( "22.u81", 0x000000, 0x0020, CRC(67d5ec4b) SHA1(87d32948a0c88277dcdd0eaa035bde40fc7db5fe) ) ROM_LOAD( "21.u71", 0x000020, 0x0100, CRC(182cd81f) SHA1(3a76bea81b34ea7ccf56044206721058aa5b03e6) ) ROM_LOAD( "20.u54", 0x000100, 0x0100, CRC(38bd0e2f) SHA1(20d311869642cd96bb831fdf4a458e0d872f03eb) ) ROM_END ROM_START( powerinspu ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "3.p000.v4.0a.u116.27c240", 0x000000, 0x80000, CRC(d1dd5a3f) SHA1(b2a52a2bbdf63eddc04bae2b4322d6d320f35e89) ) ROM_LOAD16_WORD_SWAP( "4.p000.v3.8.u117.27c4096", 0x080000, 0x80000, CRC(9c0f23cf) SHA1(9ac78939a743c340aa51ff1b05817866124acd34) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "2.sound 9.20.u74.27c1001", 0x000000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ - ROM_LOAD( "ba0.s0.27c040", 0x000000, 0x80000, CRC(1975b4b8) SHA1(cb400967744fa602df1bd2d88950dfdbdc77073f) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x280000, "bgtile", 0 ) + ROM_LOAD( "ba0.s0.27c040", 0x000000, 0x80000, CRC(1975b4b8) SHA1(cb400967744fa602df1bd2d88950dfdbdc77073f) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ba1.s1.27c040", 0x080000, 0x80000, CRC(376e4919) SHA1(12baa17382c176838df1b5ef86f1fa6dbcb978dd) ) ROM_LOAD( "ba2.s2.27c040", 0x100000, 0x80000, CRC(0d5ff532) SHA1(4febdb9cdacd85903a4a28e8df945dee0ce85558) ) ROM_LOAD( "ba3.s3.27c040", 0x180000, 0x80000, CRC(99b25791) SHA1(82f4bb5780826773d2e5f7143afb3ba209f57652) ) ROM_LOAD( "ba4.s4.27c040", 0x200000, 0x80000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "1.text 1080.u16.27c010", 0x000000, 0x20000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ - ROM_LOAD16_BYTE( "fo0.mo0.27c040", 0x000001, 0x80000, CRC(8b9b89c9) SHA1(f1d39d1a62e40a14642d8f22fc38b764465a8daa) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x800000, "sprites", 0 ) + ROM_LOAD16_BYTE( "fo0.mo0.27c040", 0x000001, 0x80000, CRC(8b9b89c9) SHA1(f1d39d1a62e40a14642d8f22fc38b764465a8daa) ) // located on OS93089 SUB daughterboard ROM_LOAD16_BYTE( "fe0.me0.27c040", 0x000000, 0x80000, CRC(4d127bdf) SHA1(26a7c277e7660a7c7c0c11cacadf815d2487ba8a) ) ROM_LOAD16_BYTE( "fo1.mo1.27c040", 0x100001, 0x80000, CRC(298eb50e) SHA1(2b922c1473bb559a1e8bd6221619141658179bb9) ) ROM_LOAD16_BYTE( "fe1.me1.27c040", 0x100000, 0x80000, CRC(57e6d283) SHA1(4701576c8663ba47f388a02e61ef078a9dbbd212) ) @@ -520,44 +807,44 @@ ROM_START( powerinspu ) ROM_LOAD16_BYTE( "fo7.mo7.27c040", 0x700001, 0x80000, CRC(9ab1998c) SHA1(fadaa4a46cefe0093ee1ebeddbae63143fa7bb5a) ) ROM_LOAD16_BYTE( "fe7.me7.27c040", 0x700000, 0x80000, CRC(1ab0c88a) SHA1(8bc72732f5911e0d4e0cf12fd2fb12d67e03299e) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ - ROM_LOAD( "ao0.ad00.27c040", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) + ROM_LOAD( "ao0.ad00.27c040", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ao1.ad01.27c040", 0x0c0000, 0x80000, CRC(e31ae04d) SHA1(c08d58a4250d8bdb68b8e5012624f345936520e1) ) ROM_LOAD( "ao2.ad02.27c040", 0x140000, 0x80000, CRC(c4c9f599) SHA1(1d74acd626406052bec533a918ca24e14a2578f2) ) ROM_LOAD( "ao3.ad03.27c040", 0x1c0000, 0x80000, CRC(f0a9f0e1) SHA1(4221e0824cdc8bcd6ea1c3811f4e3b7cd99478f2) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ - ROM_LOAD( "ad10.ad10.27c040", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) + ROM_LOAD( "ad10.ad10.27c040", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ad11.ad11.27c040", 0x0c0000, 0x80000, CRC(dbc86bd7) SHA1(6f1bc3c7e6976fdcd4b2341cea07002fb0cefb14) ) ROM_LOAD( "ad12.ad12.27c040", 0x140000, 0x80000, CRC(5839a2bd) SHA1(53988086ef97b2671044f6da9d97b1886900b64d) ) ROM_LOAD( "ad13.ad13.27c040", 0x1c0000, 0x80000, CRC(446f9dc3) SHA1(5c81eb9a7cbea995db9a10d3b6460d02e104825f) ) - ROM_REGION( 0x0220, "proms", 0 ) /* unknown */ + ROM_REGION( 0x0220, "proms", 0 ) // unknown ROM_LOAD( "22.u81", 0x000000, 0x0020, CRC(67d5ec4b) SHA1(87d32948a0c88277dcdd0eaa035bde40fc7db5fe) ) ROM_LOAD( "21.u71", 0x000020, 0x0100, CRC(182cd81f) SHA1(3a76bea81b34ea7ccf56044206721058aa5b03e6) ) ROM_LOAD( "20.u54", 0x000100, 0x0100, CRC(38bd0e2f) SHA1(20d311869642cd96bb831fdf4a458e0d872f03eb) ) ROM_END ROM_START( powerinspj ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ - ROM_LOAD16_WORD_SWAP( "3.p000.pc_j_12-1_155e.u116", 0x000000, 0x80000, CRC(4ea18490) SHA1(6b933b7ee11c65adf15430c8b185feaddb1c0bb0) ) /* labeled: PC J 12/1 155E */ - ROM_LOAD16_WORD_SWAP( "4.p000.f_p4.u117", 0x080000, 0x80000, CRC(9c0f23cf) SHA1(9ac78939a743c340aa51ff1b05817866124acd34) ) /* labeled: F P4 */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code + ROM_LOAD16_WORD_SWAP( "3.p000.pc_j_12-1_155e.u116", 0x000000, 0x80000, CRC(4ea18490) SHA1(6b933b7ee11c65adf15430c8b185feaddb1c0bb0) ) // labeled: PC J 12/1 155E + ROM_LOAD16_WORD_SWAP( "4.p000.f_p4.u117", 0x080000, 0x80000, CRC(9c0f23cf) SHA1(9ac78939a743c340aa51ff1b05817866124acd34) ) // labeled: F P4 - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "2.sound 9.20.u74.27c1001", 0x000000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ - ROM_LOAD( "ba0.s0.27c040", 0x000000, 0x80000, CRC(1975b4b8) SHA1(cb400967744fa602df1bd2d88950dfdbdc77073f) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x280000, "bgtile", 0 ) + ROM_LOAD( "ba0.s0.27c040", 0x000000, 0x80000, CRC(1975b4b8) SHA1(cb400967744fa602df1bd2d88950dfdbdc77073f) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ba1.s1.27c040", 0x080000, 0x80000, CRC(376e4919) SHA1(12baa17382c176838df1b5ef86f1fa6dbcb978dd) ) ROM_LOAD( "ba2.s2.27c040", 0x100000, 0x80000, CRC(0d5ff532) SHA1(4febdb9cdacd85903a4a28e8df945dee0ce85558) ) ROM_LOAD( "ba3.s3.27c040", 0x180000, 0x80000, CRC(99b25791) SHA1(82f4bb5780826773d2e5f7143afb3ba209f57652) ) ROM_LOAD( "ba4.s4.27c040", 0x200000, 0x80000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "1.text 1080.u16.27c010", 0x000000, 0x20000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ - ROM_LOAD16_BYTE( "fo0.mo0.27c040", 0x000001, 0x80000, CRC(8b9b89c9) SHA1(f1d39d1a62e40a14642d8f22fc38b764465a8daa) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x800000, "sprites", 0 ) + ROM_LOAD16_BYTE( "fo0.mo0.27c040", 0x000001, 0x80000, CRC(8b9b89c9) SHA1(f1d39d1a62e40a14642d8f22fc38b764465a8daa) ) // located on OS93089 SUB daughterboard ROM_LOAD16_BYTE( "fe0.me0.27c040", 0x000000, 0x80000, CRC(4d127bdf) SHA1(26a7c277e7660a7c7c0c11cacadf815d2487ba8a) ) ROM_LOAD16_BYTE( "fo1.mo1.27c040", 0x100001, 0x80000, CRC(298eb50e) SHA1(2b922c1473bb559a1e8bd6221619141658179bb9) ) ROM_LOAD16_BYTE( "fe1.me1.27c040", 0x100000, 0x80000, CRC(57e6d283) SHA1(4701576c8663ba47f388a02e61ef078a9dbbd212) ) @@ -574,19 +861,19 @@ ROM_START( powerinspj ) ROM_LOAD16_BYTE( "fo7.mo7.27c040", 0x700001, 0x80000, CRC(9ab1998c) SHA1(fadaa4a46cefe0093ee1ebeddbae63143fa7bb5a) ) ROM_LOAD16_BYTE( "fe7.me7.27c040", 0x700000, 0x80000, CRC(1ab0c88a) SHA1(8bc72732f5911e0d4e0cf12fd2fb12d67e03299e) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ - ROM_LOAD( "ao0.ad00.27c040", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) + ROM_LOAD( "ao0.ad00.27c040", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ao1.ad01.27c040", 0x0c0000, 0x80000, CRC(e31ae04d) SHA1(c08d58a4250d8bdb68b8e5012624f345936520e1) ) ROM_LOAD( "ao2.ad02.27c040", 0x140000, 0x80000, CRC(c4c9f599) SHA1(1d74acd626406052bec533a918ca24e14a2578f2) ) ROM_LOAD( "ao3.ad03.27c040", 0x1c0000, 0x80000, CRC(f0a9f0e1) SHA1(4221e0824cdc8bcd6ea1c3811f4e3b7cd99478f2) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ - ROM_LOAD( "ad10.ad10.27c040", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) /* located on OS93089 SUB daughterboard */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) + ROM_LOAD( "ad10.ad10.27c040", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) // located on OS93089 SUB daughterboard ROM_LOAD( "ad11.ad11.27c040", 0x0c0000, 0x80000, CRC(dbc86bd7) SHA1(6f1bc3c7e6976fdcd4b2341cea07002fb0cefb14) ) ROM_LOAD( "ad12.ad12.27c040", 0x140000, 0x80000, CRC(5839a2bd) SHA1(53988086ef97b2671044f6da9d97b1886900b64d) ) ROM_LOAD( "ad13.ad13.27c040", 0x1c0000, 0x80000, CRC(446f9dc3) SHA1(5c81eb9a7cbea995db9a10d3b6460d02e104825f) ) - ROM_REGION( 0x0220, "proms", 0 ) /* unknown */ + ROM_REGION( 0x0220, "proms", 0 ) // unknown ROM_LOAD( "22.u81", 0x000000, 0x0020, CRC(67d5ec4b) SHA1(87d32948a0c88277dcdd0eaa035bde40fc7db5fe) ) ROM_LOAD( "21.u71", 0x000020, 0x0100, CRC(182cd81f) SHA1(3a76bea81b34ea7ccf56044206721058aa5b03e6) ) ROM_LOAD( "20.u54", 0x000100, 0x0100, CRC(38bd0e2f) SHA1(20d311869642cd96bb831fdf4a458e0d872f03eb) ) @@ -623,24 +910,24 @@ Sound processor - Main processor ***************************************************************************/ ROM_START( powerinsa ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "rom1", 0x000000, 0x080000, CRC(b86c84d6) SHA1(2ec0933130925dfae859ea6abe62a8c92385aee8) ) ROM_LOAD16_WORD_SWAP( "rom2", 0x080000, 0x080000, CRC(d3d7a782) SHA1(7846de0ebb09bd9b2534cd451ff9aa5175e60647) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ + ROM_REGION( 0x280000, "bgtile", 0 ) ROM_LOAD( "rom6", 0x000000, 0x200000, CRC(b6c10f80) SHA1(feece0aeaa01a455d0c4885a3699f8bda14fe00f) ) ROM_LOAD( "rom4", 0x200000, 0x080000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "rom3", 0x000000, 0x020000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ + ROM_REGION( 0x800000, "sprites", 0 ) ROM_LOAD16_WORD_SWAP( "rom10", 0x000000, 0x200000, CRC(efad50e8) SHA1(89e8c307b927e987a32d22ab4ab7f3be037cca03) ) ROM_LOAD16_WORD_SWAP( "rom9", 0x200000, 0x200000, CRC(08229592) SHA1(759679e89832b475adfdc783630d9ee2c105b0f3) ) ROM_LOAD16_WORD_SWAP( "rom8", 0x400000, 0x200000, CRC(b02fdd6d) SHA1(1e2c52b4e9999f0b564fcf13ff41b097ad7d0c39) ) ROM_LOAD16_WORD_SWAP( "rom7", 0x600000, 0x200000, CRC(92ab9996) SHA1(915ec8f383cc3652c3816a9b56ee54e22e104a5c) ) - ROM_REGION( 0x080000, "oki1", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x080000, "oki1", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "rom5", 0x000000, 0x080000, CRC(88579c8f) SHA1(13083934ab294c9b08d3e36f55c00a6a2e5a0507) ) ROM_END @@ -696,24 +983,24 @@ Notes: ***************************************************************************/ ROM_START( powerinsb ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "2q.bin", 0x000000, 0x80000, CRC(11bf3f2a) SHA1(c840add78da9b19839c667f9bbd77e0a7c560ed7) ) ROM_LOAD16_BYTE( "2r.bin", 0x000001, 0x80000, CRC(d8d621be) SHA1(91d501ac661c1ff52c85eee96c455c008a7dad1c) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "1f.bin", 0x000000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x280000, "bgtile", 0 ) /* Layer 0 */ + ROM_REGION( 0x280000, "bgtile", 0 ) ROM_LOAD( "13k.bin", 0x000000, 0x80000, CRC(1975b4b8) SHA1(cb400967744fa602df1bd2d88950dfdbdc77073f) ) ROM_LOAD( "13l.bin", 0x080000, 0x80000, CRC(376e4919) SHA1(12baa17382c176838df1b5ef86f1fa6dbcb978dd) ) ROM_LOAD( "13o.bin", 0x100000, 0x80000, CRC(0d5ff532) SHA1(4febdb9cdacd85903a4a28e8df945dee0ce85558) ) ROM_LOAD( "13q.bin", 0x180000, 0x80000, CRC(99b25791) SHA1(82f4bb5780826773d2e5f7143afb3ba209f57652) ) ROM_LOAD( "13r.bin", 0x200000, 0x80000, CRC(2dd76149) SHA1(975e4d371fdfbbd9a568da4d4c91ffd3f0ae636e) ) - ROM_REGION( 0x100000, "fgtile", 0 ) /* Layer 1 */ + ROM_REGION( 0x100000, "fgtile", 0 ) ROM_LOAD( "6n.bin", 0x000000, 0x20000, CRC(6a579ee0) SHA1(438e87b930e068e0cf7352e614a14049ebde6b8a) ) - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ + ROM_REGION( 0x800000, "sprites", 0 ) ROM_LOAD16_BYTE( "14g.bin", 0x000001, 0x80000, CRC(8b9b89c9) SHA1(f1d39d1a62e40a14642d8f22fc38b764465a8daa) ) ROM_LOAD16_BYTE( "11g.bin", 0x000000, 0x80000, CRC(4d127bdf) SHA1(26a7c277e7660a7c7c0c11cacadf815d2487ba8a) ) ROM_LOAD16_BYTE( "13g.bin", 0x100001, 0x80000, CRC(298eb50e) SHA1(2b922c1473bb559a1e8bd6221619141658179bb9) ) @@ -731,32 +1018,32 @@ ROM_START( powerinsb ) ROM_LOAD16_BYTE( "12p.bin", 0x700001, 0x80000, CRC(9ab1998c) SHA1(fadaa4a46cefe0093ee1ebeddbae63143fa7bb5a) ) ROM_LOAD16_BYTE( "11q.bin", 0x700000, 0x80000, CRC(1ab0c88a) SHA1(8bc72732f5911e0d4e0cf12fd2fb12d67e03299e) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "4a.bin", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) ROM_LOAD( "4b.bin", 0x0c0000, 0x80000, CRC(e31ae04d) SHA1(c08d58a4250d8bdb68b8e5012624f345936520e1) ) ROM_LOAD( "4c.bin", 0x140000, 0x80000, CRC(c4c9f599) SHA1(1d74acd626406052bec533a918ca24e14a2578f2) ) ROM_LOAD( "4d.bin", 0x1c0000, 0x80000, CRC(f0a9f0e1) SHA1(4221e0824cdc8bcd6ea1c3811f4e3b7cd99478f2) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "5a.bin", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) ROM_LOAD( "5b.bin", 0x0c0000, 0x80000, CRC(dbc86bd7) SHA1(6f1bc3c7e6976fdcd4b2341cea07002fb0cefb14) ) ROM_LOAD( "5c.bin", 0x140000, 0x80000, CRC(5839a2bd) SHA1(53988086ef97b2671044f6da9d97b1886900b64d) ) ROM_LOAD( "5d.bin", 0x1c0000, 0x80000, CRC(446f9dc3) SHA1(5c81eb9a7cbea995db9a10d3b6460d02e104825f) ) - ROM_REGION( 0x0220, "proms", 0 ) /* unknown */ + ROM_REGION( 0x0220, "proms", 0 ) // unknown ROM_LOAD( "82s123.bin", 0x0000, 0x0020, CRC(67d5ec4b) SHA1(87d32948a0c88277dcdd0eaa035bde40fc7db5fe) ) ROM_LOAD( "82s147.bin", 0x0020, 0x0200, CRC(d7818542) SHA1(e94f8004c804f260874a117d59dfa0637c5d3d73) ) ROM_END ROM_START( powerinsc ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "10.040.u41", 0x000000, 0x80000, CRC(88e1244b) SHA1(595a560b807eab9576ed057a7e532c83860e9c40) ) ROM_LOAD16_BYTE( "11.040.u39", 0x000001, 0x80000, CRC(46cd506f) SHA1(4585824f65e2b7da9f815fee92bb5f6d250a286d) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "1.010.u2", 0x000000, 0x20000, CRC(4b123cc6) SHA1(ed61d3a2ab20c86b91fd7bafa717be3ce26159be) ) - ROM_REGION( 0x300000, "bgtile", 0 ) /* Layer 0 */ + ROM_REGION( 0x300000, "bgtile", 0 ) ROM_LOAD16_BYTE( "33.040.u99", 0x000000, 0x80000, CRC(9b56a394) SHA1(f9451d8d5a911f4daa0f57af496dae08d320b3b2) ) ROM_LOAD16_BYTE( "22.040.u97", 0x000001, 0x80000, CRC(1e693f05) SHA1(049eeabd9b4f55f2f314f4f6871b1a0e1ec39517) ) ROM_LOAD16_BYTE( "32.040.u100", 0x100000, 0x80000, CRC(7749bc80) SHA1(ceee996e694865dfbc48b5365731f4903ca674f1) ) @@ -765,7 +1052,7 @@ ROM_START( powerinsc ) ROM_LOAD16_BYTE( "20.040.u101", 0x200001, 0x80000, CRC(e4b2823c) SHA1(1ef41ff625ad82dcc85994f87e1d82fc11e26dd8) ) // TODO: check sprites' ROM loading - ROM_REGION( 0x800000, "sprites", 0 ) /* Sprites */ + ROM_REGION( 0x800000, "sprites", 0 ) ROM_LOAD16_BYTE( "30.040.u82", 0x000000, 0x80000, CRC(6668d29d) SHA1(41b7ab49b72a1ffc7618c3fc45a1c1bbe1d84d21) ) ROM_LOAD16_BYTE( "19.040.u91", 0x000001, 0x80000, CRC(17659d0c) SHA1(394b5dbb4461d0c05599d1ecd9fe92de999970fa) ) ROM_LOAD16_BYTE( "29.040.u85", 0x100000, 0x80000, CRC(c349e556) SHA1(a89d4292a6f3b3cfd5b85f8db6de207831e779e6) ) @@ -783,24 +1070,27 @@ ROM_START( powerinsc ) ROM_LOAD16_BYTE( "23.040.u96", 0x700000, 0x80000, CRC(625c5b7b) SHA1(ddac164cd92459bdce5905b31eccded9b1c06086) ) ROM_LOAD16_BYTE( "12.040.u92", 0x700001, 0x80000, CRC(08c4e478) SHA1(172dd9532a9240014afb4817b61a3e8122be8f0c) ) - ROM_REGION( 0x240000, "oki1", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki1", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "9.040.u32", 0x040000, 0x80000, CRC(8cd6824e) SHA1(aa6d8917558de4f2aa8d80527209b9fe91122eb3) ) ROM_LOAD( "8.040.u30", 0x0c0000, 0x80000, CRC(e31ae04d) SHA1(c08d58a4250d8bdb68b8e5012624f345936520e1) ) ROM_LOAD( "7.040.u33", 0x140000, 0x80000, CRC(c4c9f599) SHA1(1d74acd626406052bec533a918ca24e14a2578f2) ) ROM_LOAD( "6.040.u31", 0x1c0000, 0x80000, CRC(f0a9f0e1) SHA1(4221e0824cdc8bcd6ea1c3811f4e3b7cd99478f2) ) - ROM_REGION( 0x240000, "oki2", 0 ) /* 8 bit adpcm (banked) */ + ROM_REGION( 0x240000, "oki2", 0 ) // 8 bit ADPCM (banked) ROM_LOAD( "5.040.u36", 0x040000, 0x80000, CRC(62557502) SHA1(d72abdaec1c6f55f9b0099b7a8a297e0e14f920c) ) ROM_LOAD( "4.040.u34", 0x0c0000, 0x80000, CRC(dbc86bd7) SHA1(6f1bc3c7e6976fdcd4b2341cea07002fb0cefb14) ) ROM_LOAD( "3.040.u37", 0x140000, 0x80000, CRC(5839a2bd) SHA1(53988086ef97b2671044f6da9d97b1886900b64d) ) ROM_LOAD( "2.040.u35", 0x1c0000, 0x80000, CRC(446f9dc3) SHA1(5c81eb9a7cbea995db9a10d3b6460d02e104825f) ) ROM_END -/* all supported sets give a 93.10.20 date */ -GAME( 1993, powerins, 0, powerins, powerins, powerins_state, empty_init, ROT0, "Atlus", "Power Instinct (USA)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, powerinsj, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, powerinspu, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Power Instinct (USA, prototype)", MACHINE_SUPPORTS_SAVE ) // boots as 93.10.20 just like the other sets, but code is different -GAME( 1993, powerinspj, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan, prototype)", MACHINE_SUPPORTS_SAVE ) // boots as 93.10.20 just like the other sets, but code is different -GAME( 1993, powerinsa, powerins, powerinsa, powerins, powerins_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, powerinsb, powerins, powerinsb, powerins, powerins_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1993, powerinsc, powerins, powerinsc, powerins, powerins_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different sprites' format not implemented +} // anonymous namespace + + +// all supported sets give a 93.10.20 date +GAME( 1993, powerins, 0, powerins, powerins, powerins_state, empty_init, ROT0, "Atlus", "Power Instinct (USA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, powerinsj, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, powerinspu, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Power Instinct (USA, prototype)", MACHINE_SUPPORTS_SAVE ) // boots as 93.10.20 just like the other sets, but code is different +GAME( 1993, powerinspj, powerins, powerins, powerinj, powerins_state, empty_init, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan, prototype)", MACHINE_SUPPORTS_SAVE ) // boots as 93.10.20 just like the other sets, but code is different +GAME( 1993, powerinsa, powerins, powerinsa, powerins, powerinsa_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, powerinsb, powerins, powerinsb, powerins, powerins_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1993, powerinsc, powerins, powerinsc, powerins, powerins_state, empty_init, ROT0, "bootleg", "Power Instinct (USA, bootleg set 3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // different sprites' format not implemented diff --git a/src/mame/nmk/powerins.h b/src/mame/nmk/powerins.h deleted file mode 100644 index 9452650d104..00000000000 --- a/src/mame/nmk/powerins.h +++ /dev/null @@ -1,47 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Luca Elia -#ifndef MAME_NMK_POWERINS_H -#define MAME_NMK_POWERINS_H - -#include "nmk16.h" -#include "nmk16spr.h" -#include "emupal.h" -#include "screen.h" -#include "tilemap.h" - -class powerins_state : public nmk16_state -{ -public: - powerins_state(const machine_config &mconfig, device_type type, const char *tag) : - nmk16_state(mconfig, type, tag) - { } - - void powerins(machine_config &config); - void powerinsa(machine_config &config); - void powerinsb(machine_config &config); - void powerinsc(machine_config &config); - -private: - void powerinsa_okibank_w(u8 data); - u8 powerinsb_fake_ym2203_r(); - - DECLARE_MACHINE_START(powerinsa); - - TILE_GET_INFO_MEMBER(powerins_get_bg_tile_info); - - void screen_vblank(int state); - void screen_vblank_powerinsa(int state); - - virtual void video_start() override; - - void get_colour_6bit(u32 &colour, u32 &pri_mask); - void get_flip_extcode(u16 attr, int &flipx, int &flipy, int &code); - u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void powerins_map(address_map &map); - void powerins_sound_map(address_map &map); - void powerinsa_map(address_map &map); - void powerinsa_oki_map(address_map &map); - void powerinsb_sound_io_map(address_map &map); -}; - -#endif // MAME_NMK_POWERINS_H diff --git a/src/mame/nmk/powerins_v.cpp b/src/mame/nmk/powerins_v.cpp deleted file mode 100644 index 76c0bde3fc4..00000000000 --- a/src/mame/nmk/powerins_v.cpp +++ /dev/null @@ -1,232 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Luca Elia -/*************************************************************************** - - -= Power Instinct =- - (C) 1993 Atlus - - driver by Luca Elia (l.elia@tin.it) - - -Note: if MAME_DEBUG is defined, pressing Z with: - - Q shows layer 1 - W shows layer 2 - A shows the sprites - - Keys can be used together! - - [ 2 Scrolling Layers ] - - Each Layer is made of various pages of 256x256 pixels. - - [Layer 0] - Pages: 16x2 - Tiles: 16x16x4 - Scroll: X,Y - - [Layer 1] - Pages: 2x1 - Tiles: 8x8x4 - Scroll: No - - [ 256 Sprites ] - - Each sprite is made of a variable amount of 16x16 tiles. - Size can therefore vary from 16x16 (1 tile) to 256x256 - (16x16 tiles) - - -**************************************************************************/ - -#include "emu.h" -#include "powerins.h" - -#include - -/*************************************************************************** - - Callbacks for the TileMap code - -***************************************************************************/ - - -/*************************************************************************** - [ Tiles Format VRAM 0] - -Offset: - -0.w fedc ---- ---- ---- Color Low Bits - ---- b--- ---- ---- Color High Bit - ---- -a98 7654 3210 Code (Banked) - - -***************************************************************************/ - -/* Layers are made of 256x256 pixel pages */ -/* -#define TILES_PER_PAGE_X (0x10) -#define TILES_PER_PAGE_Y (0x10) -#define TILES_PER_PAGE (TILES_PER_PAGE_X * TILES_PER_PAGE_Y) - -#define DIM_NX_0 (0x100) -#define DIM_NY_0 (0x20) -*/ - -TILE_GET_INFO_MEMBER(powerins_state::powerins_get_bg_tile_info) -{ - uint16_t code = m_bgvideoram[0][tile_index]; - tileinfo.set(1, - (code & 0x07ff) | (m_bgbank << 11), - ((code & 0xf000) >> 12) | ((code & 0x0800) >> 7), - 0); -} - - -/*************************************************************************** - [ Tiles Format VRAM 1] - -Offset: - -0.w fedc ---- ---- ---- Color - ---- ba98 7654 3210 Code - - -***************************************************************************/ - -/* -#define DIM_NX_1 (0x40) -#define DIM_NY_1 (0x20) -*/ - -/*************************************************************************** - - - video_start - - -***************************************************************************/ - -void powerins_state::video_start() -{ - m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(powerins_state::powerins_get_bg_tile_info)), tilemap_mapper_delegate(*this, FUNC(powerins_state::tilemap_scan_pages)), 16, 16, 256, 32); - m_tx_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(powerins_state::common_get_tx_tile_info)), TILEMAP_SCAN_COLS, 8, 8, 64, 32); - m_bg_tilemap[1] = nullptr; - - m_tx_tilemap->set_transparent_pen(15); - - video_init(); - // fixed offset - m_bg_tilemap[0]->set_scrolldx(32,32); - m_tx_tilemap->set_scrolldx(32,32); -} - - -/*************************************************************************** - - - Sprites Drawing - - -***************************************************************************/ - - - -/* --------------------------[ Sprites Format ]---------------------------- - -Offset: Format: Value: - - 00 fedc ba98 7654 321- - - ---- ---- ---- ---0 Display this sprite - - 02 fed- ---- ---- ---- - - ---c ---- ---- ---- Flip X - ---- ba9- ---- ---- - - ---- ---8 ---- ---- Code High Bit - ---- ---- 7654 ---- Number of tiles along Y, minus 1 (1-16) - ---- ---- ---- 3210 Number of tiles along X, minus 1 (1-16) - - 04 Unused? - - 06 f--- ---- ---- ---- - - -edc ba98 7654 3210 Code Low Bits - - 08 X - - 0A Unused? - - 0C Y - - 0E fedc ba98 76-- ---- - - ---- ---- --54 3210 Color - - ------------------------------------------------------------------------- */ - - -void powerins_state::get_colour_6bit(u32 &colour, u32 &pri_mask) -{ - colour &= 0x3f; - pri_mask |= GFX_PMASK_2; // under foreground -} - -void powerins_state::get_flip_extcode(u16 attr, int &flipx, int &flipy, int &code) -{ - flipx = (attr & 0x1000) >> 12; - code = (code & 0x7fff) | ((attr & 0x100) << 7); -} - - -/*************************************************************************** - - - Screen Drawing - - -***************************************************************************/ - - -u32 powerins_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - int layers_ctrl = -1; - -#ifdef MAME_DEBUG -if (machine().input().code_pressed(KEYCODE_Z)) -{ - int msk = 0; - - if (machine().input().code_pressed(KEYCODE_Q)) msk |= 1; - if (machine().input().code_pressed(KEYCODE_W)) msk |= 2; -// if (machine().input().code_pressed(KEYCODE_E)) msk |= 4; - if (machine().input().code_pressed(KEYCODE_A)) msk |= 8; - if (msk != 0) layers_ctrl &= msk; -} -#endif - - screen.priority().fill(0, cliprect); - if (layers_ctrl&1) bg_update(screen, bitmap, cliprect, 0); - else bitmap.fill(0, cliprect); - if (layers_ctrl&2) tx_update(screen, bitmap, cliprect); - if (layers_ctrl&8) draw_sprites(screen, bitmap, cliprect, m_spriteram_old2.get()); - return 0; -} - -void powerins_state::screen_vblank(int state) -{ - if (state) - { - m_maincpu->set_input_line(4, HOLD_LINE); - m_dma_timer->adjust(attotime::from_usec(256)); // 256 USEC after VBOUT, same as nmk16.cpp? - } -} - -void powerins_state::screen_vblank_powerinsa(int state) -{ - if (state) - { - m_maincpu->set_input_line(4, HOLD_LINE); - // bootlegs aren't has DMA? - memcpy(m_spriteram_old2.get(),m_spriteram_old.get(), 0x1000); - memcpy(m_spriteram_old.get(), m_mainram + m_sprdma_base / 2, 0x1000); - } -} diff --git a/src/mame/seta/namcoeva.cpp b/src/mame/seta/namcoeva.cpp index 64bd27f803b..3cee3fa74c7 100644 --- a/src/mame/seta/namcoeva.cpp +++ b/src/mame/seta/namcoeva.cpp @@ -436,8 +436,8 @@ ROM_START( hammerch ) ROM_LOAD64_WORD( "hc1_cg2.u31", 0x000004, 0x400000, CRC(3aea6bf0) SHA1(a8e7a7fae0ab83b08b80ff28461c9e97afe85cf7) ) ROM_LOAD64_WORD( "hc1_cg0.u30", 0x000006, 0x400000, CRC(f1685224) SHA1(94f491d92e91cc0040b67a82849f2832629459b0) ) - ROM_REGION( 0x1000000, "c352", ROMREGION_ERASE00 ) - ROM_LOAD( "hc1_wave0.u51", 0x000000, 0x400000, BAD_DUMP CRC(8d532360) SHA1(d303767706b3437953e0cfacf28cd12c0e3b948e) ) // FIXED BITS (xxxxxxxx11111111) + ROM_REGION( 0x400000, "c352", 0 ) + ROM_LOAD( "hc1_wave0.u51", 0x000000, 0x400000, CRC(a1546af4) SHA1(983a18e61696ed906d2ad1594f01527097742f98) ) ROM_END } // anonymous namespace diff --git a/src/mame/skeleton/ganbaremo.cpp b/src/mame/skeleton/ganbaremo.cpp index 9a8d50d7b1a..7aa1e16895e 100644 --- a/src/mame/skeleton/ganbaremo.cpp +++ b/src/mame/skeleton/ganbaremo.cpp @@ -227,8 +227,8 @@ void ganbaremo_state::ganbaremo(machine_config &config) ppi2.out_pc_callback().set([this] (uint8_t data) { LOGPORTS("%s: PPI2 port C out %02x\n", machine().describe_context(), data); }); // written i8255_device &ppi3(I8255A(config, "ppi3")); // NEC D8255AC-2, DSW - ppi3.in_pa_callback().set([this] () { LOGPORTS("%s: PPI3 port A in\n", machine().describe_context()); return machine().rand(); }); - ppi3.in_pb_callback().set([this] () { LOGPORTS("%s: PPI3 port B in\n", machine().describe_context()); return machine().rand(); }); + ppi3.in_pa_callback().set([this] () { LOGPORTS("%s: PPI3 port A in\n", machine().describe_context()); return ioport("DSW0")->read(); }); + ppi3.in_pb_callback().set([this] () { LOGPORTS("%s: PPI3 port B in\n", machine().describe_context()); return ioport("DSW1")->read(); }); ppi3.in_pc_callback().set([this] () { LOGPORTS("%s: PPI3 port C in\n", machine().describe_context()); return uint8_t(0); }); // doesn't seem to be read ppi3.out_pa_callback().set([this] (uint8_t data) { LOGPORTS("%s: PPI3 port A out %02x\n", machine().describe_context(), data); }); // doesn't seem to be written ppi3.out_pb_callback().set([this] (uint8_t data) { LOGPORTS("%s: PPI3 port B out %02x\n", machine().describe_context(), data); }); // doesn't seem to be written diff --git a/src/mame/sony/clie_db.cpp b/src/mame/sony/clie_db.cpp index 1d3338f4ac0..ae3f9441492 100644 --- a/src/mame/sony/clie_db.cpp +++ b/src/mame/sony/clie_db.cpp @@ -77,7 +77,7 @@ void clie_db_state::t650c(machine_config &config) ROM_START( t650c ) ROM_REGION16_BE( 0x800000, "maincpu", 0 ) - ROM_LOAD16_WORD_SWAP( "sony_clie_peg_t650c_flashrom.bin", 0x000000, 0x800000, CRC(60855a64) SHA1(e08350e64438c62401041aaa335def08aa0decb7) ) // TODO: factory-reset + ROM_LOAD16_WORD_SWAP( "sony_clie_peg_t650c_flashrom.bin", 0x000000, 0x800000, CRC(60855a64) SHA1(e08350e64438c62401041aaa335def08aa0decb7) ) // verified factory defaulted image ROM_END } // anonymous namespace -- cgit v1.2.3