Previous 199869 Revisions Next

r20045 Thursday 3rd January, 2013 at 20:37:18 UTC by David Haywood
Use the upper tile attribute bits from the *next* row on Grasspin? (nw)

(yes, this seems like utter lunacy but it's the ONLY way I can see this working.  The CPU comms problem in transferring the dipswitches remains)
[src/mame/drivers]blueprnt.c
[src/mame/video]blueprnt.c

trunk/src/mame/drivers/blueprnt.c
r20044r20045
9696   AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r)
9797   AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w)
9898   AM_RANGE(0xe000, 0xe000) AM_READ(watchdog_reset_r) AM_WRITE(blueprnt_flipscreen_w)
99   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_SHARE("colorram")
100   AM_RANGE(0xf400, 0xf7ff) AM_RAM // mirror?
99   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(blueprnt_colorram_w) AM_MIRROR(0x400) AM_SHARE("colorram")
101100ADDRESS_MAP_END
102101
103102static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state )
trunk/src/mame/video/blueprnt.c
r20044r20045
5858
5959   m_colorram[offset] = data;
6060   m_bg_tilemap->mark_tile_dirty(offset);
61
62   offset+=32;
63   offset &=0x3ff;
64   m_bg_tilemap->mark_tile_dirty(offset);
6165}
6266
6367WRITE8_MEMBER(blueprnt_state::blueprnt_flipscreen_w)
r20044r20045
8791// or flipscreen after startup...  this certainly doesn't work for 'Saturn'
8892TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info_grasspin)
8993{
90   int attr = m_colorram[tile_index];
94   int attr = m_colorram[tile_index] & 0x3f;
95   attr |= m_colorram[(tile_index+32)&0x3ff] & 0xc0;  // from the next row?
96
97
9198   int code = m_videoram[tile_index];
99
100
92101   int color = attr & 0x7f;
93102
94103   tileinfo.category = (attr & 0x80) ? 1 : 0;
95104
96   if (!(attr & 0x10)) code  += m_gfx_bank * 0x100;
105   if ((attr & 0x40)) code  += m_gfx_bank * 0x100;
97106   else code &=0xff;
98107   
99108   SET_TILE_INFO_MEMBER(0, code, color, 0);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team