изначально этот код выглядел примерно так:

https://github.com/mamedev/mame/blob...an240.cpp#L424

Код:
u32 okean240_state::screen_update_okean240(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	for (u16 y = 0; y < 256; y++)
	{
		u8 const ma = y + m_scroll; // ma must be 8-bit
		u16 *p = &bitmap.pix(y);

		for (u16 x = 0; x < 0x4000; x+=0x200)
		{
			u8 const gfx = m_p_videoram[x|ma] | m_p_videoram[x|ma|0x100];

			/* Display a scanline of a character */
			*p++ = BIT(gfx, 0);
			*p++ = BIT(gfx, 1);
			*p++ = BIT(gfx, 2);
			*p++ = BIT(gfx, 3);
			*p++ = BIT(gfx, 4);
			*p++ = BIT(gfx, 5);
			*p++ = BIT(gfx, 6);
			*p++ = BIT(gfx, 7);
		}
	}
	return 0;
}