diff options
Diffstat (limited to 'src/mame/drivers/powerins.cpp')
-rw-r--r-- | src/mame/drivers/powerins.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/mame/drivers/powerins.cpp b/src/mame/drivers/powerins.cpp index 6c30b5f59a9..b0608f2f3e0 100644 --- a/src/mame/drivers/powerins.cpp +++ b/src/mame/drivers/powerins.cpp @@ -280,23 +280,28 @@ void powerins_state::init_powerinsc() void powerins_state::powerins(machine_config &config) { /* basic machine hardware */ - M68000(config, m_maincpu, 12000000); /* 12MHz */ + M68000(config, m_maincpu, XTAL(12'000'000)); /* 12MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &powerins_state::powerins_map); - Z80(config, m_soundcpu, 6000000); /* 6 MHz */ + Z80(config, m_soundcpu, XTAL(12'000'000) / 2); /* 6 MHz */ m_soundcpu->set_addrmap(AS_PROGRAM, &powerins_state::powerins_sound_map); m_soundcpu->set_addrmap(AS_IO, &powerins_state::powerins_sound_io_map); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); - m_screen->set_refresh_hz(56); - m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); - m_screen->set_size(320, 256); - m_screen->set_visarea(0, 320-1, 0+16, 256-16-1); + 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)); m_screen->screen_vblank().set(FUNC(powerins_state::screen_vblank)); m_screen->set_palette(m_palette); + NMK_16BIT_SPRITE(config, m_spritegen, XTAL(14'000'000) / 2); + m_spritegen->set_colpri_callback(FUNC(powerins_state::get_colour_6bit), this); + m_spritegen->set_ext_callback(FUNC(powerins_state::get_flip_extcode), this); + m_spritegen->set_mask(0x3ff, 0x3ff); + m_spritegen->set_screen_size(320, 256); + m_spritegen->set_max_sprite_clock(448 * 263); // not verified? + m_spritegen->set_videoshift(32); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_powerins); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 2048); @@ -305,16 +310,16 @@ void powerins_state::powerins(machine_config &config) GENERIC_LATCH_8(config, "soundlatch"); - okim6295_device &oki1(OKIM6295(config, "oki1", 4000000, okim6295_device::PIN7_LOW)); + ym2203_device &ym2203(YM2203(config, "ym2203", XTAL(12'000'000) / 8)); + ym2203.irq_handler().set_inputline(m_soundcpu, 0); + ym2203.add_route(ALL_OUTPUTS, "mono", 2.0); + + okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(16'000'000) / 4, okim6295_device::PIN7_LOW)); oki1.add_route(ALL_OUTPUTS, "mono", 0.15); - okim6295_device &oki2(OKIM6295(config, "oki2", 4000000, okim6295_device::PIN7_LOW)); + okim6295_device &oki2(OKIM6295(config, "oki2", XTAL(16'000'000) / 4, okim6295_device::PIN7_LOW)); oki2.add_route(ALL_OUTPUTS, "mono", 0.15); - ym2203_device &ym2203(YM2203(config, "ym2203", 12000000 / 8)); - ym2203.irq_handler().set_inputline(m_soundcpu, 0); - ym2203.add_route(ALL_OUTPUTS, "mono", 2.0); - nmk112_device &nmk112(NMK112(config, "nmk112", 0)); nmk112.set_rom0_tag("oki1"); nmk112.set_rom1_tag("oki2"); |