trunk/src/mame/drivers/blueprnt.c
| r20044 | r20045 | |
| 96 | 96 | AM_RANGE(0xc003, 0xc003) AM_READ(blueprnt_sh_dipsw_r) |
| 97 | 97 | AM_RANGE(0xd000, 0xd000) AM_WRITE(blueprnt_sound_command_w) |
| 98 | 98 | 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") |
| 101 | 100 | ADDRESS_MAP_END |
| 102 | 101 | |
| 103 | 102 | static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, blueprnt_state ) |
trunk/src/mame/video/blueprnt.c
| r20044 | r20045 | |
| 58 | 58 | |
| 59 | 59 | m_colorram[offset] = data; |
| 60 | 60 | m_bg_tilemap->mark_tile_dirty(offset); |
| 61 | |
| 62 | offset+=32; |
| 63 | offset &=0x3ff; |
| 64 | m_bg_tilemap->mark_tile_dirty(offset); |
| 61 | 65 | } |
| 62 | 66 | |
| 63 | 67 | WRITE8_MEMBER(blueprnt_state::blueprnt_flipscreen_w) |
| r20044 | r20045 | |
| 87 | 91 | // or flipscreen after startup... this certainly doesn't work for 'Saturn' |
| 88 | 92 | TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info_grasspin) |
| 89 | 93 | { |
| 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 | |
| 91 | 98 | int code = m_videoram[tile_index]; |
| 99 | |
| 100 | |
| 92 | 101 | int color = attr & 0x7f; |
| 93 | 102 | |
| 94 | 103 | tileinfo.category = (attr & 0x80) ? 1 : 0; |
| 95 | 104 | |
| 96 | | if (!(attr & 0x10)) code += m_gfx_bank * 0x100; |
| 105 | if ((attr & 0x40)) code += m_gfx_bank * 0x100; |
| 97 | 106 | else code &=0xff; |
| 98 | 107 | |
| 99 | 108 | SET_TILE_INFO_MEMBER(0, code, color, 0); |