diff options
Diffstat (limited to 'src/mame/includes/psychic5.h')
-rw-r--r-- | src/mame/includes/psychic5.h | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/src/mame/includes/psychic5.h b/src/mame/includes/psychic5.h index ed97cb56c3b..9fd56c781ba 100644 --- a/src/mame/includes/psychic5.h +++ b/src/mame/includes/psychic5.h @@ -1,3 +1,5 @@ +#include "machine/bankdev.h" + class psychic5_state : public driver_device { public: @@ -7,23 +9,25 @@ public: m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette") { } + m_palette(*this, "palette"), + m_vrambank(*this, "vrambank"), + m_fg_videoram(*this, "fg_videoram"), + m_bg_videoram(*this, "bg_videoram"), + m_bg_control(*this, "bg_control"), + + m_ps5_palette_ram_bg(*this, "palette_ram_bg"), + m_ps5_palette_ram_sp(*this, "palette_ram_sp"), + m_ps5_palette_ram_tx(*this, "palette_ram_tx") + + { } UINT8 m_bank_latch; UINT8 m_ps5_vram_page; UINT8 m_bg_clip_mode; UINT8 m_title_screen; - UINT8 m_bg_status; - UINT8 *m_ps5_pagedram[2]; - UINT8 *m_bg_videoram; - UINT8 *m_ps5_dummy_bg_ram; - UINT8 *m_ps5_io_ram; - UINT8 *m_ps5_palette_ram; - UINT8 *m_fg_videoram; + tilemap_t *m_bg_tilemap; tilemap_t *m_fg_tilemap; - int m_bg_palette_ram_base; - int m_bg_palette_base; UINT16 m_palette_intensity; UINT8 m_bombsa_unknown; int m_sx1; @@ -38,9 +42,6 @@ public: DECLARE_READ8_MEMBER(psychic5_vram_page_select_r); DECLARE_WRITE8_MEMBER(psychic5_vram_page_select_w); DECLARE_WRITE8_MEMBER(psychic5_title_screen_w); - DECLARE_READ8_MEMBER(psychic5_paged_ram_r); - DECLARE_WRITE8_MEMBER(psychic5_paged_ram_w); - DECLARE_WRITE8_MEMBER(bombsa_paged_ram_w); DECLARE_WRITE8_MEMBER(bombsa_unknown_w); TILE_GET_INFO_MEMBER(get_bg_tile_info); TILE_GET_INFO_MEMBER(get_fg_tile_info); @@ -48,11 +49,10 @@ public: DECLARE_VIDEO_START(psychic5); DECLARE_VIDEO_RESET(psychic5); DECLARE_VIDEO_START(bombsa); - DECLARE_VIDEO_RESET(bombsa); UINT32 screen_update_psychic5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); UINT32 screen_update_bombsa(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); TIMER_DEVICE_CALLBACK_MEMBER(psychic5_scanline); - void psychic5_change_palette(int color, int offset); + void psychic5_change_palette(int offset, UINT8* palram, int palbase); void psychic5_change_bg_palette(int color, int lo_offs, int hi_offs); void set_background_palette_intensity(); void draw_sprites(bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -62,4 +62,21 @@ public: required_device<cpu_device> m_audiocpu; required_device<gfxdecode_device> m_gfxdecode; required_device<palette_device> m_palette; + optional_device<address_map_bank_device> m_vrambank; + required_shared_ptr<UINT8> m_fg_videoram; + required_shared_ptr<UINT8> m_bg_videoram; + required_shared_ptr<UINT8> m_bg_control; + + required_shared_ptr<UINT8> m_ps5_palette_ram_bg; + required_shared_ptr<UINT8> m_ps5_palette_ram_sp; + required_shared_ptr<UINT8> m_ps5_palette_ram_tx; + + + + DECLARE_WRITE8_MEMBER(fg_videoram_w); + DECLARE_WRITE8_MEMBER(bg_videoram_w); + DECLARE_WRITE8_MEMBER(sprite_col_w); + DECLARE_WRITE8_MEMBER(bg_col_w); + DECLARE_WRITE8_MEMBER(tx_col_w); + }; |