From 143ea62682b7bda6dc41ccff1d70ef78d6c69eb5 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 4 Apr 2022 18:16:50 +0200 Subject: - a1supply.cpp: dumped 2 more chips for tv21_3 [Siftware] - bottom9.cpp: finders and other minor cleanups - pc8001.cpp: initialized a variable which was causing problems in regression testing and actually save some states - seta.cpp: used correct ROM for daiohp2, fixes various GFX glitches --- scripts/target/mame/arcade.lua | 2 - src/mame/drivers/a1supply.cpp | 8 +- src/mame/drivers/bottom9.cpp | 336 +++++++++++++++++++++++++++++------------ src/mame/drivers/pc8001.cpp | 2 + src/mame/drivers/seta.cpp | 2 +- src/mame/includes/bottom9.h | 77 ---------- src/mame/includes/pc8001.h | 2 +- src/mame/video/bottom9.cpp | 82 ---------- 8 files changed, 246 insertions(+), 265 deletions(-) delete mode 100644 src/mame/includes/bottom9.h delete mode 100644 src/mame/video/bottom9.cpp diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index 3f7cab00b11..b7c3c6b4e68 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -2420,8 +2420,6 @@ files { MAME_DIR .. "src/mame/video/bladestl.cpp", MAME_DIR .. "src/mame/drivers/blockhl.cpp", MAME_DIR .. "src/mame/drivers/bottom9.cpp", - MAME_DIR .. "src/mame/includes/bottom9.h", - MAME_DIR .. "src/mame/video/bottom9.cpp", MAME_DIR .. "src/mame/drivers/chqflag.cpp", MAME_DIR .. "src/mame/includes/chqflag.h", MAME_DIR .. "src/mame/video/chqflag.cpp", diff --git a/src/mame/drivers/a1supply.cpp b/src/mame/drivers/a1supply.cpp index 6b205ddf772..4689e86d434 100644 --- a/src/mame/drivers/a1supply.cpp +++ b/src/mame/drivers/a1supply.cpp @@ -103,7 +103,7 @@ ROM_END // Intel D4201A 2334A // Intel P4002-1 x2 (empty socket right next to these 2) ROM_START( tv21_3 ) - ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 ) + ROM_REGION( 0x1040, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD( "750135.9", 0x0000, 0x0800, CRC(c821464c) SHA1(5334e6011ff8cd76b6215af05e697e4538921260) ) // 2716 looking chip FIXED BITS (xx000000) BADADDR ---xxxxxxxx ROM_LOAD( "750030.42", 0x0800, 0x0200, CRC(d8595357) SHA1(44805f2b3dad8e764dda246ed19d328927679062) ) // 82s141 ROM_LOAD( "750026a.47", 0x0a00, 0x0200, CRC(165f590a) SHA1(d4d001ac710d28b983f8f5ce4a2e9364c2e73179) ) // 82s141 @@ -115,9 +115,9 @@ ROM_START( tv21_3 ) ROM_LOAD( "7500116a.24", 0x0f40, 0x0020, CRC(ebed85b7) SHA1(b62f099c3e6350cf88f9c70750d227c82c8c4608) ) // 82s23n ROM_LOAD( "7500115a.25", 0x0f60, 0x0020, CRC(b663d121) SHA1(ddf09dd624ad3cddc8f10406bdb22cf746361571) ) // 82s23n ROM_LOAD( "700117a.41", 0x0f80, 0x0020, NO_DUMP ) // PROM1-0512-5B 7645, unknown chip type and size - ROM_LOAD( "700120.46", 0x0fa0, 0x0020, NO_DUMP ) // PROM1-0512-5B 7704, unknown chip type and size - ROM_LOAD( "700118.51", 0x0fc0, 0x0020, NO_DUMP ) // PROM1-0512-5B 7704, unknown chip type and size - ROM_LOAD( "750029.53", 0x0fe0, 0x0020, CRC(d8c22608) SHA1(170e6f552fc013fec6903e45e2c7ec07e44d725c) ) // 82s23n, same contents as tvpoker's 90204100.69 + ROM_LOAD( "700120.46", 0x0fa0, 0x0040, CRC(a4f265de) SHA1(147a457a3a6b6e4350c9a765e4757b5f075fa2bb) ) // PROM1-0512-5B 7704, unknown chip type, hand read + ROM_LOAD( "700118.51", 0x0fe0, 0x0040, CRC(57bdc886) SHA1(890e3a0c48aa17a8d8bc1838264264c0bcc3bc1b) ) // PROM1-0512-5B 7704, unknown chip type, hand read + ROM_LOAD( "750029.53", 0x1020, 0x0020, CRC(d8c22608) SHA1(170e6f552fc013fec6903e45e2c7ec07e44d725c) ) // 82s23n, same contents as tvpoker's 90204100.69 ROM_END diff --git a/src/mame/drivers/bottom9.cpp b/src/mame/drivers/bottom9.cpp index 7b93e7ece01..fc03aeea66e 100644 --- a/src/mame/drivers/bottom9.cpp +++ b/src/mame/drivers/bottom9.cpp @@ -15,16 +15,167 @@ ***************************************************************************/ #include "emu.h" -#include "includes/bottom9.h" + #include "includes/konamipt.h" +#include "video/k051316.h" +#include "video/k051960.h" +#include "video/k052109.h" +#include "video/konami_helper.h" -#include "cpu/z80/z80.h" #include "cpu/m6809/hd6309.h" +#include "cpu/z80/z80.h" #include "machine/gen_latch.h" #include "machine/watchdog.h" +#include "sound/k007232.h" + +#include "emupal.h" +#include "screen.h" #include "speaker.h" +namespace { + +class bottom9_state : public driver_device +{ +public: + bottom9_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_k007232(*this, "k007232_%u", 1U), + m_k052109(*this, "k052109"), + m_k051960(*this, "k051960"), + m_k051316(*this, "k051316"), + m_palette(*this, "palette"), + m_mainbank(*this, "mainbank") + { } + + void bottom9(machine_config &config); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + +private: + // misc + uint8_t m_video_enable = 0; + uint8_t m_zoomreadroms = 0; + uint8_t m_k052109_selected = 0; + uint8_t m_nmienable = 0; + + static constexpr int m_layer_colorbase[3] = { 0 / 16, 0 / 16, 256 / 16 }; + + // devices + required_device m_maincpu; + required_device m_audiocpu; + required_device_array m_k007232; + required_device m_k052109; + required_device m_k051960; + required_device m_k051316; + required_device m_palette; + + required_memory_bank m_mainbank; + + uint8_t k052109_051960_r(offs_t offset); + void k052109_051960_w(offs_t offset, uint8_t data); + uint8_t bankedram1_r(offs_t offset); + void bankedram1_w(offs_t offset, uint8_t data); + uint8_t bankedram2_r(offs_t offset); + void bankedram2_w(offs_t offset, uint8_t data); + void bankswitch_w(uint8_t data); + void _1f90_w(uint8_t data); + void sh_irqtrigger_w(uint8_t data); + void nmi_enable_w(uint8_t data); + void sound_bank_w(uint8_t data); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(sound_interrupt); + template void volume_callback(uint8_t data); + K051316_CB_MEMBER(zoom_callback); + K052109_CB_MEMBER(tile_callback); + K051960_CB_MEMBER(sprite_callback); + void audio_map(address_map &map); + void main_map(address_map &map); +}; + + +// video + +/*************************************************************************** + + Callbacks for the K052109 + +***************************************************************************/ + +K052109_CB_MEMBER(bottom9_state::tile_callback) +{ + *code |= (*color & 0x3f) << 8; + *color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6); +} + + +/*************************************************************************** + + Callbacks for the K051960 + +***************************************************************************/ + +K051960_CB_MEMBER(bottom9_state::sprite_callback) +{ + enum { sprite_colorbase = 512 / 16 }; + + // bit 4 = priority over zoom (0 = have priority) + // bit 5 = priority over B (1 = have priority) + *priority = 0; + if ( *color & 0x10) *priority |= GFX_PMASK_1; + if (~*color & 0x20) *priority |= GFX_PMASK_2; + + *color = sprite_colorbase + (*color & 0x0f); +} + + +/*************************************************************************** + + Callbacks for the K051316 + +***************************************************************************/ + +K051316_CB_MEMBER(bottom9_state::zoom_callback) +{ + enum { zoom_colorbase = 768 / 16 }; + + *flags = (*color & 0x40) ? TILE_FLIPX : 0; + *code |= ((*color & 0x03) << 8); + *color = zoom_colorbase + ((*color & 0x3c) >> 2); +} + + +/*************************************************************************** + + Display refresh + +***************************************************************************/ + +uint32_t bottom9_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + m_k052109->tilemap_update(); + + // note: FIX layer is not used + bitmap.fill(m_layer_colorbase[1], cliprect); + screen.priority().fill(0, cliprect); + +// if (m_video_enable) + { + m_k051316->zoom_draw(screen, bitmap, cliprect, 0, 1); + m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2); + m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1); + m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 0); + } + return 0; +} + + +// machine + uint8_t bottom9_state::k052109_051960_r(offs_t offset) { if (m_k052109->get_rmrd_line() == CLEAR_LINE) @@ -50,7 +201,7 @@ void bottom9_state::k052109_051960_w(offs_t offset, uint8_t data) m_k051960->k051960_w(offset - 0x3c00, data); } -uint8_t bottom9_state::bottom9_bankedram1_r(offs_t offset) +uint8_t bottom9_state::bankedram1_r(offs_t offset) { if (m_k052109_selected) return k052109_051960_r(offset); @@ -63,7 +214,7 @@ uint8_t bottom9_state::bottom9_bankedram1_r(offs_t offset) } } -void bottom9_state::bottom9_bankedram1_w(offs_t offset, uint8_t data) +void bottom9_state::bankedram1_w(offs_t offset, uint8_t data) { if (m_k052109_selected) k052109_051960_w(offset, data); @@ -71,7 +222,7 @@ void bottom9_state::bottom9_bankedram1_w(offs_t offset, uint8_t data) m_k051316->write(offset, data); } -uint8_t bottom9_state::bottom9_bankedram2_r(offs_t offset) +uint8_t bottom9_state::bankedram2_r(offs_t offset) { if (m_k052109_selected) return k052109_051960_r(offset + 0x2000); @@ -79,7 +230,7 @@ uint8_t bottom9_state::bottom9_bankedram2_r(offs_t offset) return m_palette->basemem().read8(offset); } -void bottom9_state::bottom9_bankedram2_w(offs_t offset, uint8_t data) +void bottom9_state::bankedram2_w(offs_t offset, uint8_t data) { if (m_k052109_selected) k052109_051960_w(offset + 0x2000, data); @@ -89,46 +240,46 @@ void bottom9_state::bottom9_bankedram2_w(offs_t offset, uint8_t data) void bottom9_state::bankswitch_w(uint8_t data) { - int bank; - - /* bit 0 = RAM bank */ + // bit 0 = RAM bank if ((data & 1) == 0) - popmessage("bankswitch RAM bank 0"); + logerror("bankswitch RAM bank 0"); + + // bit 1-4 = ROM bank + int bank; - /* bit 1-4 = ROM bank */ if (data & 0x10) bank = 8 + ((data & 0x06) >> 1); else bank = ((data & 0x0e) >> 1); - membank("bank1")->set_entry(bank); + m_mainbank->set_entry(bank); } -void bottom9_state::bottom9_1f90_w(uint8_t data) +void bottom9_state::_1f90_w(uint8_t data) { - /* bits 0/1 = coin counters */ + // bits 0/1 = coin counters machine().bookkeeping().coin_counter_w(0, data & 0x01); machine().bookkeeping().coin_counter_w(1, data & 0x02); - /* bit 2 = enable char ROM reading through the video RAM */ + // bit 2 = enable char ROM reading through the video RAM m_k052109->set_rmrd_line((data & 0x04) ? ASSERT_LINE : CLEAR_LINE); - /* bit 3 = disable video */ + // bit 3 = disable video m_video_enable = ~data & 0x08; - /* bit 4 = enable 051316 ROM reading */ + // bit 4 = enable 051316 ROM reading m_zoomreadroms = data & 0x10; - /* bit 5 = RAM bank */ + // bit 5 = RAM bank m_k052109_selected = data & 0x20; } -void bottom9_state::bottom9_sh_irqtrigger_w(uint8_t data) +void bottom9_state::sh_irqtrigger_w(uint8_t data) { m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80 } -INTERRUPT_GEN_MEMBER(bottom9_state::bottom9_sound_interrupt) +INTERRUPT_GEN_MEMBER(bottom9_state::sound_interrupt) { if (m_nmienable) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); @@ -141,37 +292,35 @@ void bottom9_state::nmi_enable_w(uint8_t data) void bottom9_state::sound_bank_w(uint8_t data) { - int bank_A, bank_B; - - bank_A = ((data >> 0) & 0x03); - bank_B = ((data >> 2) & 0x03); - m_k007232_1->set_bank(bank_A, bank_B); + int bank_A = ((data >> 0) & 0x03); + int bank_B = ((data >> 2) & 0x03); + m_k007232[0]->set_bank(bank_A, bank_B); bank_A = ((data >> 4) & 0x03); bank_B = ((data >> 6) & 0x03); - m_k007232_2->set_bank(bank_A, bank_B); + m_k007232[1]->set_bank(bank_A, bank_B); } void bottom9_state::main_map(address_map &map) { map(0x0000, 0x3fff).rw(FUNC(bottom9_state::k052109_051960_r), FUNC(bottom9_state::k052109_051960_w)); - map(0x0000, 0x07ff).rw(FUNC(bottom9_state::bottom9_bankedram1_r), FUNC(bottom9_state::bottom9_bankedram1_w)); + map(0x0000, 0x07ff).rw(FUNC(bottom9_state::bankedram1_r), FUNC(bottom9_state::bankedram1_w)); map(0x1f80, 0x1f80).w(FUNC(bottom9_state::bankswitch_w)); - map(0x1f90, 0x1f90).w(FUNC(bottom9_state::bottom9_1f90_w)); + map(0x1f90, 0x1f90).w(FUNC(bottom9_state::_1f90_w)); map(0x1fa0, 0x1fa0).w("watchdog", FUNC(watchdog_timer_device::reset_w)); map(0x1fb0, 0x1fb0).w("soundlatch", FUNC(generic_latch_8_device::write)); - map(0x1fc0, 0x1fc0).w(FUNC(bottom9_state::bottom9_sh_irqtrigger_w)); + map(0x1fc0, 0x1fc0).w(FUNC(bottom9_state::sh_irqtrigger_w)); map(0x1fd0, 0x1fd0).portr("SYSTEM"); map(0x1fd1, 0x1fd1).portr("P1"); map(0x1fd2, 0x1fd2).portr("P2"); map(0x1fd3, 0x1fd3).portr("DSW1"); map(0x1fe0, 0x1fe0).portr("DSW2"); map(0x1ff0, 0x1fff).w(m_k051316, FUNC(k051316_device::ctrl_w)); - map(0x2000, 0x27ff).rw(FUNC(bottom9_state::bottom9_bankedram2_r), FUNC(bottom9_state::bottom9_bankedram2_w)).share("palette"); + map(0x2000, 0x27ff).rw(FUNC(bottom9_state::bankedram2_r), FUNC(bottom9_state::bankedram2_w)).share("palette"); map(0x4000, 0x5fff).ram(); - map(0x6000, 0x7fff).bankr("bank1"); - map(0x8000, 0xffff).rom(); + map(0x6000, 0x7fff).bankr(m_mainbank); + map(0x8000, 0xffff).rom().region("maincpu", 0x18000); } void bottom9_state::audio_map(address_map &map) @@ -179,8 +328,8 @@ void bottom9_state::audio_map(address_map &map) map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram(); map(0x9000, 0x9000).w(FUNC(bottom9_state::sound_bank_w)); - map(0xa000, 0xa00d).rw(m_k007232_1, FUNC(k007232_device::read), FUNC(k007232_device::write)); - map(0xb000, 0xb00d).rw(m_k007232_2, FUNC(k007232_device::read), FUNC(k007232_device::write)); + map(0xa000, 0xa00d).rw(m_k007232[0], FUNC(k007232_device::read), FUNC(k007232_device::write)); + map(0xb000, 0xb00d).rw(m_k007232[1], FUNC(k007232_device::read), FUNC(k007232_device::write)); map(0xd000, 0xd000).r("soundlatch", FUNC(generic_latch_8_device::read)); map(0xf000, 0xf000).w(FUNC(bottom9_state::nmi_enable_w)); } @@ -228,7 +377,7 @@ static INPUT_PORTS_START( bottom9 ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW3:1") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW3:2" ) /* According to manual: N/U */ + PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW3:2" ) // According to manual: N/U PORT_SERVICE_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW3:3" ) PORT_DIPNAME( 0x80, 0x80, "Fielder Control" ) PORT_DIPLOCATION("SW3:4") PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) @@ -262,23 +411,16 @@ INPUT_PORTS_END -void bottom9_state::volume_callback0(uint8_t data) -{ - m_k007232_1->set_volume(0, (data >> 4) * 0x11, 0); - m_k007232_1->set_volume(1, 0, (data & 0x0f) * 0x11); -} - -void bottom9_state::volume_callback1(uint8_t data) +template +void bottom9_state::volume_callback(uint8_t data) { - m_k007232_2->set_volume(0, (data >> 4) * 0x11, 0); - m_k007232_2->set_volume(1, 0, (data & 0x0f) * 0x11); + m_k007232[Which]->set_volume(0, (data >> 4) * 0x11, 0); + m_k007232[Which]->set_volume(1, 0, (data & 0x0f) * 0x11); } void bottom9_state::machine_start() { - uint8_t *ROM = memregion("maincpu")->base(); - - membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000); + m_mainbank->configure_entries(0, 12, memregion("maincpu")->base(), 0x2000); save_item(NAME(m_video_enable)); save_item(NAME(m_zoomreadroms)); @@ -296,23 +438,23 @@ void bottom9_state::machine_reset() void bottom9_state::bottom9(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware HD6309E(config, m_maincpu, XTAL(24'000'000) / 8); // 63C09E m_maincpu->set_addrmap(AS_PROGRAM, &bottom9_state::main_map); Z80(config, m_audiocpu, XTAL(3'579'545)); m_audiocpu->set_addrmap(AS_PROGRAM, &bottom9_state::audio_map); - m_audiocpu->set_periodic_int(FUNC(bottom9_state::bottom9_sound_interrupt), attotime::from_hz(8*60)); /* irq is triggered by the main CPU */ + m_audiocpu->set_periodic_int(FUNC(bottom9_state::sound_interrupt), attotime::from_hz(8 * 60)); // IRQ is triggered by the main CPU WATCHDOG_TIMER(config, "watchdog"); - /* 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(0)); screen.set_size(64*8, 32*8); screen.set_visarea(14*8, (64-14)*8-1, 2*8, 30*8-1); - screen.set_screen_update(FUNC(bottom9_state::screen_update_bottom9)); + screen.set_screen_update(FUNC(bottom9_state::screen_update)); screen.set_palette(m_palette); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); @@ -333,20 +475,20 @@ void bottom9_state::bottom9(machine_config &config) m_k051316->set_palette(m_palette); m_k051316->set_zoom_callback(FUNC(bottom9_state::zoom_callback)); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, "soundlatch"); - K007232(config, m_k007232_1, XTAL(3'579'545)); - m_k007232_1->port_write().set(FUNC(bottom9_state::volume_callback0)); - m_k007232_1->add_route(0, "mono", 0.40); - m_k007232_1->add_route(1, "mono", 0.40); + K007232(config, m_k007232[0], XTAL(3'579'545)); + m_k007232[0]->port_write().set(FUNC(bottom9_state::volume_callback<0>)); + m_k007232[0]->add_route(0, "mono", 0.40); + m_k007232[0]->add_route(1, "mono", 0.40); - K007232(config, m_k007232_2, XTAL(3'579'545)); - m_k007232_2->port_write().set(FUNC(bottom9_state::volume_callback1)); - m_k007232_2->add_route(0, "mono", 0.40); - m_k007232_2->add_route(1, "mono", 0.40); + K007232(config, m_k007232[1], XTAL(3'579'545)); + m_k007232[1]->port_write().set(FUNC(bottom9_state::volume_callback<1>)); + m_k007232[1]->add_route(0, "mono", 0.40); + m_k007232[1]->add_route(1, "mono", 0.40); } @@ -357,15 +499,14 @@ void bottom9_state::bottom9(machine_config &config) ***************************************************************************/ ROM_START( bottom9 ) - ROM_REGION( 0x28000, "maincpu", 0 ) /* code + banked roms */ - ROM_LOAD( "891n03.k17", 0x10000, 0x10000, CRC(8b083ff3) SHA1(045fef944b192e4bb147fa0f28680c0602af7377) ) - ROM_LOAD( "891-t02.k15", 0x20000, 0x08000, CRC(2c10ced2) SHA1(ecd43825a67b495cade94a454c96a19143d87760) ) - ROM_CONTINUE( 0x08000, 0x08000 ) + ROM_REGION( 0x20000, "maincpu", 0 ) // code + banked roms + ROM_LOAD( "891n03.k17", 0x00000, 0x10000, CRC(8b083ff3) SHA1(045fef944b192e4bb147fa0f28680c0602af7377) ) + ROM_LOAD( "891-t02.k15", 0x10000, 0x10000, CRC(2c10ced2) SHA1(ecd43825a67b495cade94a454c96a19143d87760) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code */ + ROM_REGION( 0x8000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "891j01.g8", 0x0000, 0x8000, CRC(31b0a0a8) SHA1(8e047f81c19f25de97fa22e70dcfe9e06bfae699) ) - ROM_REGION( 0x080000, "k052109", 0 ) /* tiles */ + ROM_REGION( 0x080000, "k052109", 0 ) // tiles ROM_LOAD32_BYTE( "891e10c", 0x00000, 0x10000, CRC(209b0431) SHA1(07f05f63267d5ed5c99b5f786bb66a87045db9e1) ) ROM_LOAD32_BYTE( "891e10a", 0x00001, 0x10000, CRC(8020a9e8) SHA1(3792794a1b875506089da63cae955668cc61f54b) ) ROM_LOAD32_BYTE( "891e09c", 0x00002, 0x10000, CRC(9dcaefbf) SHA1(8b61b1627737b959158aa6c7ea5db63f6aec7436) ) @@ -375,8 +516,8 @@ ROM_START( bottom9 ) ROM_LOAD32_BYTE( "891e09d", 0x40002, 0x10000, CRC(4e1335e6) SHA1(b892ab40a41978a89658ea2e7aabe9b073430b5d) ) ROM_LOAD32_BYTE( "891e09b", 0x40003, 0x10000, CRC(b6f914fb) SHA1(e95f3e899c2ead15ef8a529dbc67e8f4a0f88bdd) ) - ROM_REGION( 0x100000, "k051960", 0 ) /* graphics */ - ROM_LOAD32_BYTE( "891e06e", 0x00000, 0x10000, CRC(0b04db1c) SHA1(0beae7bb8da49379915c0253ce03091eb71a58b5) ) /* sprites */ + ROM_REGION( 0x100000, "k051960", 0 ) // sprites + ROM_LOAD32_BYTE( "891e06e", 0x00000, 0x10000, CRC(0b04db1c) SHA1(0beae7bb8da49379915c0253ce03091eb71a58b5) ) ROM_LOAD32_BYTE( "891e06a", 0x00001, 0x10000, CRC(5ee37327) SHA1(f63ddaf63af06ea5421b0361315940582ef57922) ) ROM_LOAD32_BYTE( "891e05e", 0x00002, 0x10000, CRC(b356e729) SHA1(2cda591415b0f139fdb1f80c349d432bb0579d8e) ) ROM_LOAD32_BYTE( "891e05a", 0x00003, 0x10000, CRC(bfd5487e) SHA1(24e0de9f12f6df6bde6268d090fe9e1ea827c0dc) ) @@ -394,19 +535,19 @@ ROM_START( bottom9 ) ROM_LOAD32_BYTE( "891e05d", 0xc0003, 0x10000, CRC(f6d3f886) SHA1(b8bdcc9470aa93849b8c8a1f03971281cacc6d44) ) ROM_REGION( 0x020000, "k051316", 0 ) - ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) /* zoom/rotate */ + ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) // zoom/rotate ROM_LOAD( "891e07b", 0x10000, 0x10000, CRC(83b2f92d) SHA1(c4972018e1f8109656784fae3e023a5522622c4b) ) - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) /* priority encoder (not used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) // priority encoder (not used) - ROM_REGION( 0x40000, "k007232_1", 0 ) /* samples for 007232 #0 */ + ROM_REGION( 0x40000, "k007232_1", 0 ) // samples ROM_LOAD( "891e08a", 0x00000, 0x10000, CRC(cef667bf) SHA1(e773fc0ced45e01e13cdee18c404d609356d2d0e) ) ROM_LOAD( "891e08b", 0x10000, 0x10000, CRC(f7c14a7a) SHA1(05261a065de33e158e8d72d74eb657035abb5d03) ) ROM_LOAD( "891e08c", 0x20000, 0x10000, CRC(756b7f3c) SHA1(6f36f0b4e08db27a8b6e180d12be6427677ad62d) ) ROM_LOAD( "891e08d", 0x30000, 0x10000, CRC(cd0d7305) SHA1(82403ce1f38014ebf94008a66c98697a572303f9) ) - ROM_REGION( 0x40000, "k007232_2", 0 ) /* samples for 007232 #1 */ + ROM_REGION( 0x40000, "k007232_2", 0 ) // samples ROM_LOAD( "891e04a", 0x00000, 0x10000, CRC(daebbc74) SHA1(f61daebf80e5e4640c4cea4ea5767e64a49d928d) ) ROM_LOAD( "891e04b", 0x10000, 0x10000, CRC(5ffb9ad1) SHA1(e8f00c63dc3091aa344e82dc29f41aedd5a764b4) ) ROM_LOAD( "891e04c", 0x20000, 0x10000, CRC(2dbbf16b) SHA1(84b2005a1fe61a6a0cf1aa6e0fdf7ff8b1f8f82a) ) @@ -414,15 +555,14 @@ ROM_START( bottom9 ) ROM_END ROM_START( bottom9n ) - ROM_REGION( 0x28000, "maincpu", 0 ) /* code + banked roms */ - ROM_LOAD( "891n03.k17", 0x10000, 0x10000, CRC(8b083ff3) SHA1(045fef944b192e4bb147fa0f28680c0602af7377) ) - ROM_LOAD( "891n02.k15", 0x20000, 0x08000, CRC(d44d9ed4) SHA1(2a12bcfba81ab7e074569e2ad2da6a237a1c0ce5) ) - ROM_CONTINUE( 0x08000, 0x08000 ) + ROM_REGION( 0x20000, "maincpu", 0 ) // code + banked roms + ROM_LOAD( "891n03.k17", 0x00000, 0x10000, CRC(8b083ff3) SHA1(045fef944b192e4bb147fa0f28680c0602af7377) ) + ROM_LOAD( "891n02.k15", 0x10000, 0x10000, CRC(d44d9ed4) SHA1(2a12bcfba81ab7e074569e2ad2da6a237a1c0ce5) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code */ + ROM_REGION( 0x8000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "891j01.g8", 0x0000, 0x8000, CRC(31b0a0a8) SHA1(8e047f81c19f25de97fa22e70dcfe9e06bfae699) ) - ROM_REGION( 0x080000, "k052109", 0 ) /* tiles */ + ROM_REGION( 0x080000, "k052109", 0 ) // tiles ROM_LOAD32_BYTE( "891e10c", 0x00000, 0x10000, CRC(209b0431) SHA1(07f05f63267d5ed5c99b5f786bb66a87045db9e1) ) ROM_LOAD32_BYTE( "891e10a", 0x00001, 0x10000, CRC(8020a9e8) SHA1(3792794a1b875506089da63cae955668cc61f54b) ) ROM_LOAD32_BYTE( "891e09c", 0x00002, 0x10000, CRC(9dcaefbf) SHA1(8b61b1627737b959158aa6c7ea5db63f6aec7436) ) @@ -432,8 +572,8 @@ ROM_START( bottom9n ) ROM_LOAD32_BYTE( "891e09d", 0x40002, 0x10000, CRC(4e1335e6) SHA1(b892ab40a41978a89658ea2e7aabe9b073430b5d) ) ROM_LOAD32_BYTE( "891e09b", 0x40003, 0x10000, CRC(b6f914fb) SHA1(e95f3e899c2ead15ef8a529dbc67e8f4a0f88bdd) ) - ROM_REGION( 0x100000, "k051960", 0 ) /* graphics */ - ROM_LOAD32_BYTE( "891e06e", 0x00000, 0x10000, CRC(0b04db1c) SHA1(0beae7bb8da49379915c0253ce03091eb71a58b5) ) /* sprites */ + ROM_REGION( 0x100000, "k051960", 0 ) // sprites + ROM_LOAD32_BYTE( "891e06e", 0x00000, 0x10000, CRC(0b04db1c) SHA1(0beae7bb8da49379915c0253ce03091eb71a58b5) ) ROM_LOAD32_BYTE( "891e06a", 0x00001, 0x10000, CRC(5ee37327) SHA1(f63ddaf63af06ea5421b0361315940582ef57922) ) ROM_LOAD32_BYTE( "891e05e", 0x00002, 0x10000, CRC(b356e729) SHA1(2cda591415b0f139fdb1f80c349d432bb0579d8e) ) ROM_LOAD32_BYTE( "891e05a", 0x00003, 0x10000, CRC(bfd5487e) SHA1(24e0de9f12f6df6bde6268d090fe9e1ea827c0dc) ) @@ -452,19 +592,19 @@ ROM_START( bottom9n ) ROM_REGION( 0x020000, "k051316", 0 ) - ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) /* zoom/rotate */ + ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) // zoom/rotate ROM_LOAD( "891e07b", 0x10000, 0x10000, CRC(83b2f92d) SHA1(c4972018e1f8109656784fae3e023a5522622c4b) ) - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) /* priority encoder (not used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) // priority encoder (not used) - ROM_REGION( 0x40000, "k007232_1", 0 ) /* samples for 007232 #0 */ + ROM_REGION( 0x40000, "k007232_1", 0 ) // samples ROM_LOAD( "891e08a", 0x00000, 0x10000, CRC(cef667bf) SHA1(e773fc0ced45e01e13cdee18c404d609356d2d0e) ) ROM_LOAD( "891e08b", 0x10000, 0x10000, CRC(f7c14a7a) SHA1(05261a065de33e158e8d72d74eb657035abb5d03) ) ROM_LOAD( "891e08c", 0x20000, 0x10000, CRC(756b7f3c) SHA1(6f36f0b4e08db27a8b6e180d12be6427677ad62d) ) ROM_LOAD( "891e08d", 0x30000, 0x10000, CRC(cd0d7305) SHA1(82403ce1f38014ebf94008a66c98697a572303f9) ) - ROM_REGION( 0x40000, "k007232_2", 0 ) /* samples for 007232 #1 */ + ROM_REGION( 0x40000, "k007232_2", 0 ) // samples ROM_LOAD( "891e04a", 0x00000, 0x10000, CRC(daebbc74) SHA1(f61daebf80e5e4640c4cea4ea5767e64a49d928d) ) ROM_LOAD( "891e04b", 0x10000, 0x10000, CRC(5ffb9ad1) SHA1(e8f00c63dc3091aa344e82dc29f41aedd5a764b4) ) ROM_LOAD( "891e04c", 0x20000, 0x10000, CRC(2dbbf16b) SHA1(84b2005a1fe61a6a0cf1aa6e0fdf7ff8b1f8f82a) ) @@ -472,15 +612,14 @@ ROM_START( bottom9n ) ROM_END ROM_START( mstadium ) - ROM_REGION( 0x28000, "maincpu", 0 ) /* code + banked roms */ - ROM_LOAD( "891-403.k17", 0x10000, 0x10000, CRC(1c00c4e8) SHA1(8a3400a8df44f21616422e5af3bca84d0f390f63) ) - ROM_LOAD( "891-402.k15", 0x20000, 0x08000, CRC(b850bbce) SHA1(a64300d1b1068e59eb59c427946c9bff164e2da8) ) - ROM_CONTINUE( 0x08000, 0x08000 ) + ROM_REGION( 0x20000, "maincpu", 0 ) // code + banked roms + ROM_LOAD( "891-403.k17", 0x00000, 0x10000, CRC(1c00c4e8) SHA1(8a3400a8df44f21616422e5af3bca84d0f390f63) ) + ROM_LOAD( "891-402.k15", 0x10000, 0x10000, CRC(b850bbce) SHA1(a64300d1b1068e59eb59c427946c9bff164e2da8) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code */ + ROM_REGION( 0x8000, "audiocpu", 0 ) // Z80 code ROM_LOAD( "891w01.g8", 0x0000, 0x8000, CRC(edec565a) SHA1(69cba0d00c6ef76c4ce2b553e3fd15de8abbbf31) ) - ROM_REGION( 0x080000, "k052109", 0 ) /* tiles */ + ROM_REGION( 0x080000, "k052109", 0 ) // tiles ROM_LOAD32_BYTE( "891e10c", 0x00000, 0x10000, CRC(209b0431) SHA1(07f05f63267d5ed5c99b5f786bb66a87045db9e1) ) ROM_LOAD32_BYTE( "891e10a", 0x00001, 0x10000, CRC(8020a9e8) SHA1(3792794a1b875506089da63cae955668cc61f54b) ) ROM_LOAD32_BYTE( "891e09c", 0x00002, 0x10000, CRC(9dcaefbf) SHA1(8b61b1627737b959158aa6c7ea5db63f6aec7436) ) @@ -490,7 +629,7 @@ ROM_START( mstadium ) ROM_LOAD32_BYTE( "891e09d", 0x40002, 0x10000, CRC(4e1335e6) SHA1(b892ab40a41978a89658ea2e7aabe9b073430b5d) ) ROM_LOAD32_BYTE( "891e09b", 0x40003, 0x10000, CRC(b6f914fb) SHA1(e95f3e899c2ead15ef8a529dbc67e8f4a0f88bdd) ) - ROM_REGION( 0x100000, "k051960", 0 ) /* sprites */ + ROM_REGION( 0x100000, "k051960", 0 ) ROM_LOAD32_BYTE( "891e06e", 0x00000, 0x10000, CRC(0b04db1c) SHA1(0beae7bb8da49379915c0253ce03091eb71a58b5) ) ROM_LOAD32_BYTE( "891e06a", 0x00001, 0x10000, CRC(5ee37327) SHA1(f63ddaf63af06ea5421b0361315940582ef57922) ) ROM_LOAD32_BYTE( "891e05e", 0x00002, 0x10000, CRC(b356e729) SHA1(2cda591415b0f139fdb1f80c349d432bb0579d8e) ) @@ -509,25 +648,26 @@ ROM_START( mstadium ) ROM_LOAD32_BYTE( "891e05d", 0xc0003, 0x10000, CRC(f6d3f886) SHA1(b8bdcc9470aa93849b8c8a1f03971281cacc6d44) ) ROM_REGION( 0x020000, "k051316", 0 ) - ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) /* zoom/rotate */ + ROM_LOAD( "891e07a", 0x00000, 0x10000, CRC(b8d8b939) SHA1(ee91fb46d70db2d17f5909c4ea7ee1cf2d317d10) ) // zoom/rotate ROM_LOAD( "891e07b", 0x10000, 0x10000, CRC(83b2f92d) SHA1(c4972018e1f8109656784fae3e023a5522622c4b) ) - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) /* priority encoder (not used) */ + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "891b11.f23", 0x0000, 0x0100, CRC(ecb854aa) SHA1(3bd321ca3076d4e0042e0af656d51909fa6a5b3b) ) // priority encoder (not used) - ROM_REGION( 0x40000, "k007232_1", 0 ) /* samples for 007232 #0 */ + ROM_REGION( 0x40000, "k007232_1", 0 ) // samples ROM_LOAD( "891e08a", 0x00000, 0x10000, CRC(cef667bf) SHA1(e773fc0ced45e01e13cdee18c404d609356d2d0e) ) ROM_LOAD( "891e08b", 0x10000, 0x10000, CRC(f7c14a7a) SHA1(05261a065de33e158e8d72d74eb657035abb5d03) ) ROM_LOAD( "891e08c", 0x20000, 0x10000, CRC(756b7f3c) SHA1(6f36f0b4e08db27a8b6e180d12be6427677ad62d) ) ROM_LOAD( "891e08d", 0x30000, 0x10000, CRC(cd0d7305) SHA1(82403ce1f38014ebf94008a66c98697a572303f9) ) - ROM_REGION( 0x40000, "k007232_2", 0 ) /* samples for 007232 #1 */ + ROM_REGION( 0x40000, "k007232_2", 0 ) // samples ROM_LOAD( "891e04a", 0x00000, 0x10000, CRC(daebbc74) SHA1(f61daebf80e5e4640c4cea4ea5767e64a49d928d) ) ROM_LOAD( "891e04b", 0x10000, 0x10000, CRC(5ffb9ad1) SHA1(e8f00c63dc3091aa344e82dc29f41aedd5a764b4) ) ROM_LOAD( "891e04c", 0x20000, 0x10000, CRC(2dbbf16b) SHA1(84b2005a1fe61a6a0cf1aa6e0fdf7ff8b1f8f82a) ) ROM_LOAD( "891e04d", 0x30000, 0x10000, CRC(8b0cd2cc) SHA1(e14109c69fa24d309aed4ff3589cc6619e29f97f) ) ROM_END +} // anonymous namespace GAME( 1989, bottom9, 0, bottom9, bottom9, bottom9_state, empty_init, ROT0, "Konami", "Bottom of the Ninth (version T)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/pc8001.cpp b/src/mame/drivers/pc8001.cpp index 523acdf7fbd..07c7ef6e2a7 100644 --- a/src/mame/drivers/pc8001.cpp +++ b/src/mame/drivers/pc8001.cpp @@ -652,6 +652,8 @@ void pc8001_base_state::machine_start() void pc8001_state::machine_start() { + pc8001_base_state::machine_start(); + address_space &program = m_maincpu->space(AS_PROGRAM); /* initialize RTC */ diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index 87c0c056b27..cc1161e58c0 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -10945,7 +10945,7 @@ ROM_START( daiohp2 ) /* Found on the same P0-072-2 PCB as the previous Daioh pro ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 2 */ ROM_LOAD16_BYTE( "bg2_0.u164", 0x000001, 0x080000, CRC(7e46a10e) SHA1(a8576f7a140b065b88a0dab648f7b31c75fec006) ) ROM_LOAD16_BYTE( "bg2_1.u166", 0x000000, 0x080000, CRC(9274123b) SHA1(b58e107a5bd222e454fd435d515e57cab52e6593) ) - ROM_LOAD16_BYTE( "bg2_2.u165", 0x100001, 0x080000, CRC(3119189b) SHA1(3a45ec8db30659d7fd47090cb137df05bbdc1c86) ) + ROM_LOAD16_BYTE( "bg2_2.u165", 0x100001, 0x080000, CRC(dc8ecfb7) SHA1(a202ff32c74601d5cd0aebdf84a481d36f540403) ) ROM_LOAD16_BYTE( "bg2_3.u167", 0x100000, 0x080000, CRC(533ba782) SHA1(b5f62323be95b2def8d1383b400b4ef0d3b3d6cd) ) ROM_REGION( 0x100000, "x1snd", 0 ) /* Samples */ diff --git a/src/mame/includes/bottom9.h b/src/mame/includes/bottom9.h deleted file mode 100644 index 1f8d05ada4c..00000000000 --- a/src/mame/includes/bottom9.h +++ /dev/null @@ -1,77 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Nicola Salmoria -/************************************************************************* - - Bottom of the Ninth - -*************************************************************************/ -#ifndef MAME_INCLUDES_BOTTOM9_H -#define MAME_INCLUDES_BOTTOM9_H - -#pragma once - -#include "sound/k007232.h" -#include "video/k052109.h" -#include "video/k051960.h" -#include "video/k051316.h" -#include "video/konami_helper.h" -#include "emupal.h" - -class bottom9_state : public driver_device -{ -public: - bottom9_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_k007232_1(*this, "k007232_1"), - m_k007232_2(*this, "k007232_2"), - m_k052109(*this, "k052109"), - m_k051960(*this, "k051960"), - m_k051316(*this, "k051316"), - m_palette(*this, "palette") - { } - - void bottom9(machine_config &config); - -private: - /* misc */ - int m_video_enable = 0; - int m_zoomreadroms = 0; - int m_k052109_selected = 0; - int m_nmienable = 0; - - /* devices */ - required_device m_maincpu; - required_device m_audiocpu; - required_device m_k007232_1; - required_device m_k007232_2; - required_device m_k052109; - required_device m_k051960; - required_device m_k051316; - required_device m_palette; - uint8_t k052109_051960_r(offs_t offset); - void k052109_051960_w(offs_t offset, uint8_t data); - uint8_t bottom9_bankedram1_r(offs_t offset); - void bottom9_bankedram1_w(offs_t offset, uint8_t data); - uint8_t bottom9_bankedram2_r(offs_t offset); - void bottom9_bankedram2_w(offs_t offset, uint8_t data); - void bankswitch_w(uint8_t data); - void bottom9_1f90_w(uint8_t data); - void bottom9_sh_irqtrigger_w(uint8_t data); - void nmi_enable_w(uint8_t data); - void sound_bank_w(uint8_t data); - virtual void machine_start() override; - virtual void machine_reset() override; - uint32_t screen_update_bottom9(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(bottom9_sound_interrupt); - void volume_callback0(uint8_t data); - void volume_callback1(uint8_t data); - K051316_CB_MEMBER(zoom_callback); - K052109_CB_MEMBER(tile_callback); - K051960_CB_MEMBER(sprite_callback); - void audio_map(address_map &map); - void main_map(address_map &map); -}; - -#endif // MAME_INCLUDES_BOTTOM9_H diff --git a/src/mame/includes/pc8001.h b/src/mame/includes/pc8001.h index cd5aa3f0adb..50abd3e02b4 100644 --- a/src/mame/includes/pc8001.h +++ b/src/mame/includes/pc8001.h @@ -62,7 +62,7 @@ protected: uint8_t dma_mem_r(offs_t offset); private: - bool m_screen_reverse; + bool m_screen_reverse = false; bool m_screen_is_24KHz; /* video state */ diff --git a/src/mame/video/bottom9.cpp b/src/mame/video/bottom9.cpp deleted file mode 100644 index c5011e42c9f..00000000000 --- a/src/mame/video/bottom9.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Nicola Salmoria - -#include "emu.h" -#include "includes/bottom9.h" -#include "screen.h" - - -/*************************************************************************** - - Callbacks for the K052109 - -***************************************************************************/ - -static const int layer_colorbase[] = { 0 / 16, 0 / 16, 256 / 16 }; - -K052109_CB_MEMBER(bottom9_state::tile_callback) -{ - *code |= (*color & 0x3f) << 8; - *color = layer_colorbase[layer] + ((*color & 0xc0) >> 6); -} - - -/*************************************************************************** - - Callbacks for the K051960 - -***************************************************************************/ - -K051960_CB_MEMBER(bottom9_state::sprite_callback) -{ - enum { sprite_colorbase = 512 / 16 }; - - /* bit 4 = priority over zoom (0 = have priority) */ - /* bit 5 = priority over B (1 = have priority) */ - *priority = 0; - if ( *color & 0x10) *priority |= GFX_PMASK_1; - if (~*color & 0x20) *priority |= GFX_PMASK_2; - - *color = sprite_colorbase + (*color & 0x0f); -} - - -/*************************************************************************** - - Callbacks for the K051316 - -***************************************************************************/ - -K051316_CB_MEMBER(bottom9_state::zoom_callback) -{ - enum { zoom_colorbase = 768 / 16 }; - - *flags = (*color & 0x40) ? TILE_FLIPX : 0; - *code |= ((*color & 0x03) << 8); - *color = zoom_colorbase + ((*color & 0x3c) >> 2); -} - - -/*************************************************************************** - - Display refresh - -***************************************************************************/ - -uint32_t bottom9_state::screen_update_bottom9(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) -{ - m_k052109->tilemap_update(); - - /* note: FIX layer is not used */ - bitmap.fill(layer_colorbase[1], cliprect); - screen.priority().fill(0, cliprect); - -// if (m_video_enable) - { - m_k051316->zoom_draw(screen, bitmap, cliprect, 0, 1); - m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2); - m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1); - m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 0); - } - return 0; -} -- cgit v1.2.3