UINT32 gameplan_state::screen_update_gameplan(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { pen_t pens[GAMEPLAN_NUM_PENS]; offs_t offs; gameplan_get_pens(pens); for (offs = 0; offs < m_videoram_size; offs++) { UINT8 y = offs >> 8; UINT8 x = offs & 0xff; bitmap.pix32(y, x) = pens[m_videoram[offs] & 0x07]; } return 0; }
static SCREEN_UPDATE( gameplan ) { gameplan_state *state = screen->machine().driver_data<gameplan_state>(); pen_t pens[GAMEPLAN_NUM_PENS]; offs_t offs; gameplan_get_pens(pens); for (offs = 0; offs < state->m_videoram_size; offs++) { UINT8 y = offs >> 8; UINT8 x = offs & 0xff; *BITMAP_ADDR32(bitmap, y, x) = pens[state->m_videoram[offs] & 0x07]; } return 0; }