UINT32 gameplan_state::screen_update_leprechn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { pen_t pens[LEPRECHN_NUM_PENS]; offs_t offs; leprechn_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] & (LEPRECHN_NUM_PENS-1)]; } return 0; }
static SCREEN_UPDATE( leprechn ) { gameplan_state *state = screen->machine().driver_data<gameplan_state>(); pen_t pens[LEPRECHN_NUM_PENS]; offs_t offs; leprechn_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]]; } return 0; }