summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/atari/poolshrk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/atari/poolshrk.cpp')
-rw-r--r--src/mame/atari/poolshrk.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/mame/atari/poolshrk.cpp b/src/mame/atari/poolshrk.cpp
index 23b2bd0e529..46241fe008c 100644
--- a/src/mame/atari/poolshrk.cpp
+++ b/src/mame/atari/poolshrk.cpp
@@ -47,7 +47,7 @@ public:
protected:
virtual void machine_start() override { m_leds.resolve(); }
- virtual void video_start() override;
+ virtual void video_start() override ATTR_COLD;
private:
required_device<cpu_device> m_maincpu;
@@ -82,12 +82,10 @@ private:
void palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void cpu_map(address_map &map);
+ void cpu_map(address_map &map) ATTR_COLD;
};
-// video
-
TILE_GET_INFO_MEMBER(poolshrk_state::get_tile_info)
{
tileinfo.set(1, m_playfield_ram[tile_index] & 0x3f, 0, 0);
@@ -125,8 +123,6 @@ uint32_t poolshrk_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
}
-// machine
-
void poolshrk_state::init_poolshrk()
{
uint8_t *pSprite = memregion("sprites")->base();
@@ -241,9 +237,9 @@ void poolshrk_state::cpu_map(address_map &map)
{
map.global_mask(0x7fff);
map(0x0000, 0x00ff).mirror(0x2300).ram();
- map(0x0400, 0x07ff).mirror(0x2000).writeonly().share(m_playfield_ram);
- map(0x0800, 0x080f).mirror(0x23f0).writeonly().share(m_hpos_ram);
- map(0x0c00, 0x0c0f).mirror(0x23f0).writeonly().share(m_vpos_ram);
+ map(0x0400, 0x07ff).mirror(0x2000).nopr().writeonly().share(m_playfield_ram);
+ map(0x0800, 0x080f).mirror(0x23f0).nopr().writeonly().share(m_hpos_ram);
+ map(0x0c00, 0x0c0f).mirror(0x23f0).nopr().writeonly().share(m_vpos_ram);
map(0x1000, 0x13ff).mirror(0x2000).rw(FUNC(poolshrk_state::input_r), FUNC(poolshrk_state::watchdog_w));
map(0x1400, 0x17ff).mirror(0x2000).w(FUNC(poolshrk_state::scratch_sound_w));
map(0x1800, 0x1bff).mirror(0x2000).w(FUNC(poolshrk_state::score_sound_w));
@@ -355,9 +351,8 @@ void poolshrk_state::palette(palette_device &palette) const
void poolshrk_state::poolshrk(machine_config &config)
{
// basic machine hardware
- M6800(config, m_maincpu, 11'055'000 / 8); // ?
+ M6800(config, m_maincpu, 11.055_MHz_XTAL / 8); // divider not verified
m_maincpu->set_addrmap(AS_PROGRAM, &poolshrk_state::cpu_map);
- m_maincpu->set_vblank_int("screen", FUNC(poolshrk_state::irq0_line_assert));
WATCHDOG_TIMER(config, m_watchdog);
@@ -368,6 +363,7 @@ void poolshrk_state::poolshrk(machine_config &config)
screen.set_visarea(1, 255, 24, 255);
screen.set_screen_update(FUNC(poolshrk_state::screen_update));
screen.set_palette(m_palette);
+ screen.screen_vblank().set_inputline(m_maincpu, M6800_IRQ_LINE, ASSERT_LINE);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_poolshrk);
PALETTE(config, m_palette, FUNC(poolshrk_state::palette), 4);