mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Fixed POSIRQ line for Winning Run, fixes map indicator in winrun91
This commit is contained in:
parent
294efe0d36
commit
f533969728
@ -1872,12 +1872,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos21_state::screen_scanline)
|
||||
|
||||
if(m_gpu_intc != nullptr)
|
||||
{
|
||||
if(scanline == m_gpu_intc->get_posirq_line()*2)
|
||||
{
|
||||
if(scanline == (0xff-m_gpu_intc->get_posirq_line())*2)
|
||||
m_gpu_intc->pos_irq_trigger();
|
||||
// TODO: wrong place!
|
||||
m_screen->update_partial(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,6 +68,7 @@ i960 CPU, needs to write its clip and raster values byteswapped.
|
||||
#include "emu.h"
|
||||
#include "video/namco_c116.h"
|
||||
|
||||
const device_type NAMCO_C116 = &device_creator<namco_c116_device>;
|
||||
|
||||
//-------------------------------------------------
|
||||
// namco_c116_device -- constructor
|
||||
@ -158,6 +159,3 @@ WRITE8_MEMBER(namco_c116_device::write)
|
||||
RAM[color] = data;
|
||||
palette().set_pen_color(color,m_ram_r[color],m_ram_g[color],m_ram_b[color]);
|
||||
}
|
||||
|
||||
|
||||
const device_type NAMCO_C116 = &device_creator<namco_c116_device>;
|
||||
|
@ -48,6 +48,7 @@ READ16_MEMBER(namcos21_state::winrun_gpu_register_r)
|
||||
WRITE16_MEMBER(namcos21_state::winrun_gpu_register_w)
|
||||
{
|
||||
COMBINE_DATA( &m_winrun_gpu_register[offset] );
|
||||
m_screen->update_partial(m_screen->vpos());
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(namcos21_state::winrun_gpu_videoram_w)
|
||||
@ -426,7 +427,10 @@ uint32_t namcos21_state::screen_update_driveyes(screen_device &screen, bitmap_in
|
||||
void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
uint8_t *videoram = m_videoram.get();
|
||||
//printf("%d %d (%d %d) - %04x %04x %04x|%04x %04x\n",cliprect.min_y,cliprect.max_y,m_screen->vpos(),m_gpu_intc->get_posirq_line(),m_winrun_gpu_register[0],m_winrun_gpu_register[2/2],m_winrun_gpu_register[4/2],m_winrun_gpu_register[0xa/2],m_winrun_gpu_register[0xc/2]);
|
||||
|
||||
int yscroll = -cliprect.min_y+(int16_t)m_winrun_gpu_register[0x2/2];
|
||||
int xscroll = 0;//m_winrun_gpu_register[0xc/2] >> 7;
|
||||
int base = 0x1000+0x100*(m_winrun_color&0xf);
|
||||
int sx,sy;
|
||||
for( sy=cliprect.min_y; sy<=cliprect.max_y; sy++ )
|
||||
@ -435,7 +439,7 @@ void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &c
|
||||
uint16_t *pDest = &bitmap.pix16(sy);
|
||||
for( sx=cliprect.min_x; sx<=cliprect.max_x; sx++ )
|
||||
{
|
||||
int pen = pSource[sx];
|
||||
int pen = pSource[(sx+xscroll) & 0x1ff];
|
||||
switch( pen )
|
||||
{
|
||||
case 0xff:
|
||||
|
Loading…
Reference in New Issue
Block a user