summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/tryout.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/tryout.c')
-rw-r--r--src/mame/video/tryout.c52
1 files changed, 21 insertions, 31 deletions
diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c
index e222cac6c29..d017a506288 100644
--- a/src/mame/video/tryout.c
+++ b/src/mame/video/tryout.c
@@ -12,9 +12,8 @@
PALETTE_INIT_MEMBER(tryout_state, tryout)
{
const UINT8 *color_prom = memregion("proms")->base();
- int i;
-
- for (i = 0;i < palette.entries();i++)
+
+ for (int i = 0;i < palette.entries();i++)
{
int bit0,bit1,bit2,r,g,b;
@@ -40,13 +39,10 @@ PALETTE_INIT_MEMBER(tryout_state, tryout)
TILE_GET_INFO_MEMBER(tryout_state::get_fg_tile_info)
{
- UINT8 *videoram = m_videoram;
- int code, attr, color;
-
- code = videoram[tile_index];
- attr = videoram[tile_index + 0x400];
+ int code = m_videoram[tile_index];
+ int attr = m_videoram[tile_index + 0x400];
code |= ((attr & 0x03) << 8);
- color = ((attr & 0x4)>>2)+6;
+ int color = ((attr & 0x4)>>2)+6;
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
@@ -56,19 +52,13 @@ TILE_GET_INFO_MEMBER(tryout_state::get_bg_tile_info)
SET_TILE_INFO_MEMBER(2, m_vram[tile_index] & 0x7f, 2, 0);
}
-READ8_MEMBER(tryout_state::tryout_vram_r)
-{
- return m_vram[offset]; // debug only
-}
-
-WRITE8_MEMBER(tryout_state::tryout_videoram_w)
+WRITE8_MEMBER(tryout_state::videoram_w)
{
- UINT8 *videoram = m_videoram;
- videoram[offset] = data;
+ m_videoram[offset] = data;
m_fg_tilemap->mark_tile_dirty(offset & 0x3ff);
}
-WRITE8_MEMBER(tryout_state::tryout_vram_w)
+WRITE8_MEMBER(tryout_state::vram_w)
{
/* There are eight banks of vram - in bank 0 the first 0x400 bytes
is reserved for the tilemap. In banks 2, 4 and 6 the game never
@@ -136,12 +126,12 @@ WRITE8_MEMBER(tryout_state::tryout_vram_w)
m_gfxdecode->gfx(2)->mark_dirty((offset-0x400/64)&0x7f);
}
-WRITE8_MEMBER(tryout_state::tryout_vram_bankswitch_w)
+WRITE8_MEMBER(tryout_state::vram_bankswitch_w)
{
m_vram_bank = data;
}
-WRITE8_MEMBER(tryout_state::tryout_flipscreen_w)
+WRITE8_MEMBER(tryout_state::flipscreen_w)
{
flip_screen_set(data & 1);
}
@@ -168,30 +158,30 @@ void tryout_state::video_start()
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(tryout_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(tryout_state::get_fg_memory_offset),this),8,8,32,32);
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(tryout_state::get_bg_tile_info),this),tilemap_mapper_delegate(FUNC(tryout_state::get_bg_memory_offset),this),16,16,64,16);
- m_vram=auto_alloc_array(machine(), UINT8, 8 * 0x800);
m_vram_gfx=auto_alloc_array(machine(), UINT8, 0x6000);
m_gfxdecode->gfx(2)->set_source(m_vram_gfx);
m_fg_tilemap->set_transparent_pen(0);
+
+ save_item(NAME(m_vram_bank));
+ save_pointer(NAME(m_vram_gfx), 0x6000);
}
void tryout_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
{
- UINT8 *spriteram = m_spriteram;
- UINT8 *spriteram_2 = m_spriteram2;
int offs,fx,fy,x,y,color,sprite,inc;
for (offs = 0;offs < 0x7f;offs += 4)
{
- if (!(spriteram[offs]&1))
+ if (!(m_spriteram[offs]&1))
continue;
- sprite = spriteram[offs+1] + ((spriteram_2[offs]&7)<<8);
- x = spriteram[offs+3]-3;
- y = spriteram[offs+2];
- color = 0;//(spriteram[offs] & 8)>>3;
- fx = (spriteram[offs] & 8)>>3;
+ sprite = m_spriteram[offs+1] + ((m_spriteram2[offs]&7)<<8);
+ x = m_spriteram[offs+3]-3;
+ y = m_spriteram[offs+2];
+ color = 0;//(m_spriteram[offs] & 8)>>3;
+ fx = (m_spriteram[offs] & 8)>>3;
fy = 0;
inc = 16;
@@ -207,7 +197,7 @@ void tryout_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
}
/* Double Height */
- if(spriteram[offs] & 0x10)
+ if(m_spriteram[offs] & 0x10)
{
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect,
sprite,
@@ -226,7 +216,7 @@ void tryout_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect)
}
}
-UINT32 tryout_state::screen_update_tryout(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+UINT32 tryout_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int scrollx = 0;