Beispiel #1
0
void eprom_scanline_update(int scanline)
{
	/* update the playfield */
	if (scanline == 0)
	{
		pf_state.hscroll = (READ_WORD(&atarigen_alpharam[0xf00]) >> 7) & 0x1ff;
		pf_state.vscroll = (READ_WORD(&atarigen_alpharam[0xf02]) >> 7) & 0x1ff;
		atarigen_pf_update(&pf_state, scanline);
	}
Beispiel #2
0
void badlands_pf_bank_w(int offset, int data)
{
	int oldword = READ_WORD(&atarigen_playfieldram[offset]);
	int newword = COMBINE_WORD(oldword, data);

	if (oldword != newword)
	{
		pf_state.param[0] = data & 1;
		atarigen_pf_update(&pf_state, cpu_getscanline());
	}
}
Beispiel #3
0
void relief_scanline_update(int scanline)
{
	/* update the playfield */
	if (scanline == 0)
	{
		atarigen_video_control_update(&atarigen_alpharam[0xf00]);

		/* copy in the scroll values */
		pf_state.hscroll = atarigen_video_control_state.pf1_xscroll + (atarigen_video_control_state.pf2_xscroll & 7);
		pf_state.vscroll = atarigen_video_control_state.pf1_yscroll;
		pf2_state.hscroll = atarigen_video_control_state.pf2_xscroll + 4;
		pf2_state.vscroll = atarigen_video_control_state.pf2_yscroll;
		
		/* update the two playfields */
		atarigen_pf_update(&pf_state, scanline);
		atarigen_pf2_update(&pf2_state, scanline);
	}

	/* update the MOs from the SLIP table */
	atarigen_mo_update_slip_512(atarigen_spriteram, atarigen_video_control_state.sprite_yscroll, scanline, &atarigen_alpharam[0xf80]);
}