Somehow improved the framebuffer copying, still needs work ...

This commit is contained in:
Angelo Salese 2011-08-26 14:34:12 +00:00
parent 278da8e8d2
commit 418b93df69
2 changed files with 9 additions and 3 deletions

View File

@ -256,6 +256,9 @@ static WRITE16_HANDLER( lineram_w )
if (ACCESSING_BITS_8_15 && ACCESSING_BITS_0_7)
state->m_line_ram[offset] = data;
if(offset == 0x3fff)
printf("LineRAM go %d\n",(int)space->machine().primary_screen->frame_number());
}
static READ16_HANDLER( dspram_r )
@ -426,6 +429,7 @@ static ADDRESS_MAP_START( DSP_map_program, AS_PROGRAM, 16 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( DSP_map_data, AS_DATA, 16 )
AM_RANGE(0x2003, 0x2003) AM_READNOP //bit 0 DMA status flag or vblank
AM_RANGE(0x3000, 0x3002) AM_WRITE(dsp_flags_w)
AM_RANGE(0x4000, 0x7fff) AM_READWRITE(lineram_r, lineram_w)
AM_RANGE(0x8000, 0xffff) AM_READWRITE(dspram_r, dspram_w)

View File

@ -351,6 +351,8 @@ WRITE16_HANDLER( dsp_flags_w )
taitoair_state *state = space->machine().driver_data<taitoair_state>();
rectangle cliprect;
printf("%04x -> %d\n",data,offset);
if(data == 0x1fff)
state->m_cur_fb = 0;
//else if(data == 0xdfff)
@ -362,10 +364,10 @@ WRITE16_HANDLER( dsp_flags_w )
cliprect.max_y = space->machine().primary_screen->height() - 1;
{
//if(offset == 0)
// bitmap_fill(state->m_framebuffer[state->m_cur_fb], &cliprect, 0);
if(offset == 1)
bitmap_fill(state->m_framebuffer[state->m_cur_fb], &cliprect, 0);
//if(offset == 1)
if(offset)
{
if (state->m_line_ram[0x3fff])
{