mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
A little more primary_screen removal.
This commit is contained in:
parent
b8f66ce559
commit
cb513fef5b
@ -120,10 +120,12 @@ public:
|
|||||||
|
|
||||||
// construction/destruction
|
// construction/destruction
|
||||||
poly_manager(running_machine &machine, UINT8 flags = 0);
|
poly_manager(running_machine &machine, UINT8 flags = 0);
|
||||||
|
poly_manager(screen_device &screen, UINT8 flags = 0);
|
||||||
virtual ~poly_manager();
|
virtual ~poly_manager();
|
||||||
|
|
||||||
// getters
|
// getters
|
||||||
running_machine &machine() const { return m_machine; }
|
running_machine &machine() const { return m_machine; }
|
||||||
|
screen_device &screen() const { assert(m_screen != NULL); return *m_screen; }
|
||||||
|
|
||||||
// synchronization
|
// synchronization
|
||||||
void wait(const char *debug_reason = "general");
|
void wait(const char *debug_reason = "general");
|
||||||
@ -247,6 +249,7 @@ private:
|
|||||||
|
|
||||||
// queue management
|
// queue management
|
||||||
running_machine & m_machine;
|
running_machine & m_machine;
|
||||||
|
screen_device * m_screen;
|
||||||
osd_work_queue * m_queue; // work queue
|
osd_work_queue * m_queue; // work queue
|
||||||
|
|
||||||
// arrays
|
// arrays
|
||||||
@ -279,6 +282,7 @@ private:
|
|||||||
template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
|
template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
|
||||||
poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(running_machine &machine, UINT8 flags)
|
poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(running_machine &machine, UINT8 flags)
|
||||||
: m_machine(machine),
|
: m_machine(machine),
|
||||||
|
m_screen(NULL),
|
||||||
m_queue(NULL),
|
m_queue(NULL),
|
||||||
m_polygon(machine, *this),
|
m_polygon(machine, *this),
|
||||||
m_object(machine, *this),
|
m_object(machine, *this),
|
||||||
@ -302,6 +306,33 @@ poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(runnin
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<typename _BaseType, class _ObjectData, int _MaxParams, int _MaxPolys>
|
||||||
|
poly_manager<_BaseType, _ObjectData, _MaxParams, _MaxPolys>::poly_manager(screen_device &screen, UINT8 flags)
|
||||||
|
: m_machine(screen.machine()),
|
||||||
|
m_screen(&screen),
|
||||||
|
m_queue(NULL),
|
||||||
|
m_polygon(screen.machine(), *this),
|
||||||
|
m_object(screen.machine(), *this),
|
||||||
|
m_unit(screen.machine(), *this),
|
||||||
|
m_flags(flags),
|
||||||
|
m_triangles(0),
|
||||||
|
m_quads(0),
|
||||||
|
m_pixels(0)
|
||||||
|
{
|
||||||
|
#if KEEP_STATISTICS
|
||||||
|
memset(m_conflicts, 0, sizeof(m_conflicts));
|
||||||
|
memset(m_resolved, 0, sizeof(m_resolved));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// create the work queue
|
||||||
|
if (!(flags & POLYFLAG_NO_WORK_QUEUE))
|
||||||
|
m_queue = osd_work_queue_alloc(WORK_QUEUE_FLAG_MULTI | WORK_QUEUE_FLAG_HIGH_FREQ);
|
||||||
|
|
||||||
|
// request a pre-save callback for synchronization
|
||||||
|
machine().save().register_presave(save_prepost_delegate(FUNC(poly_manager::presave), this));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// ~poly_manager - destructor
|
// ~poly_manager - destructor
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
@ -353,18 +353,18 @@ struct cobra_polydata
|
|||||||
class cobra_renderer : public poly_manager<float, cobra_polydata, 8, 10000>
|
class cobra_renderer : public poly_manager<float, cobra_polydata, 8, 10000>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cobra_renderer(running_machine &machine)
|
cobra_renderer(screen_device &screen)
|
||||||
: poly_manager<float, cobra_polydata, 8, 10000>(machine)
|
: poly_manager<float, cobra_polydata, 8, 10000>(screen)
|
||||||
{
|
{
|
||||||
m_texture_ram = auto_alloc_array(machine, UINT32, 0x100000);
|
m_texture_ram = auto_alloc_array(machine(), UINT32, 0x100000);
|
||||||
|
|
||||||
m_framebuffer = auto_bitmap_rgb32_alloc(machine, 1024, 1024);
|
m_framebuffer = auto_bitmap_rgb32_alloc(machine(), 1024, 1024);
|
||||||
m_backbuffer = auto_bitmap_rgb32_alloc(machine, 1024, 1024);
|
m_backbuffer = auto_bitmap_rgb32_alloc(machine(), 1024, 1024);
|
||||||
m_overlay = auto_bitmap_rgb32_alloc(machine, 1024, 1024);
|
m_overlay = auto_bitmap_rgb32_alloc(machine(), 1024, 1024);
|
||||||
m_zbuffer = auto_bitmap_ind32_alloc(machine, 1024, 1024);
|
m_zbuffer = auto_bitmap_ind32_alloc(machine(), 1024, 1024);
|
||||||
m_stencil = auto_bitmap_ind32_alloc(machine, 1024, 1024);
|
m_stencil = auto_bitmap_ind32_alloc(machine(), 1024, 1024);
|
||||||
|
|
||||||
m_gfx_regmask = auto_alloc_array(machine, UINT32, 0x100);
|
m_gfx_regmask = auto_alloc_array(machine(), UINT32, 0x100);
|
||||||
for (int i=0; i < 0x100; i++)
|
for (int i=0; i < 0x100; i++)
|
||||||
{
|
{
|
||||||
UINT32 mask = 0;
|
UINT32 mask = 0;
|
||||||
@ -386,7 +386,7 @@ public:
|
|||||||
void draw_point(const rectangle &visarea, vertex_t &v, UINT32 color);
|
void draw_point(const rectangle &visarea, vertex_t &v, UINT32 color);
|
||||||
void draw_line(const rectangle &visarea, vertex_t &v1, vertex_t &v2);
|
void draw_line(const rectangle &visarea, vertex_t &v1, vertex_t &v2);
|
||||||
|
|
||||||
void gfx_init(running_machine &machine);
|
void gfx_init();
|
||||||
void gfx_exit(running_machine &machine);
|
void gfx_exit(running_machine &machine);
|
||||||
void gfx_reset(running_machine &machine);
|
void gfx_reset(running_machine &machine);
|
||||||
void gfx_fifo_exec(running_machine &machine);
|
void gfx_fifo_exec(running_machine &machine);
|
||||||
@ -999,8 +999,8 @@ void cobra_state::video_start()
|
|||||||
{
|
{
|
||||||
machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(cobra_state::cobra_video_exit), this));
|
machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(FUNC(cobra_state::cobra_video_exit), this));
|
||||||
|
|
||||||
m_renderer = auto_alloc(machine(), cobra_renderer(machine()));
|
m_renderer = auto_alloc(machine(), cobra_renderer(*m_screen));
|
||||||
m_renderer->gfx_init(machine());
|
m_renderer->gfx_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32 cobra_state::screen_update_cobra(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
UINT32 cobra_state::screen_update_cobra(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||||
@ -2017,13 +2017,13 @@ void cobra_renderer::display(bitmap_rgb32 *bitmap, const rectangle &cliprect)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cobra_renderer::gfx_init(running_machine &machine)
|
void cobra_renderer::gfx_init()
|
||||||
{
|
{
|
||||||
const rectangle& visarea = machine.primary_screen->visible_area();
|
const rectangle& visarea = screen().visible_area();
|
||||||
|
|
||||||
m_gfx_gram = auto_alloc_array(machine, UINT32, 0x40000);
|
m_gfx_gram = auto_alloc_array(machine(), UINT32, 0x40000);
|
||||||
|
|
||||||
m_gfx_register = auto_alloc_array(machine, UINT64, 0x3000);
|
m_gfx_register = auto_alloc_array(machine(), UINT64, 0x3000);
|
||||||
m_gfx_register_select = 0;
|
m_gfx_register_select = 0;
|
||||||
|
|
||||||
float zvalue = 10000000.0f;
|
float zvalue = 10000000.0f;
|
||||||
@ -2134,7 +2134,7 @@ void cobra_renderer::gfx_write_reg(running_machine &machine, UINT64 data)
|
|||||||
{
|
{
|
||||||
case 0x0000:
|
case 0x0000:
|
||||||
{
|
{
|
||||||
const rectangle& visarea = machine.primary_screen->visible_area();
|
const rectangle& visarea = screen().visible_area();
|
||||||
|
|
||||||
copybitmap_trans(*m_framebuffer, *m_backbuffer, 0, 0, 0, 0, visarea, 0);
|
copybitmap_trans(*m_framebuffer, *m_backbuffer, 0, 0, 0, 0, visarea, 0);
|
||||||
m_backbuffer->fill(0xff000000, visarea);
|
m_backbuffer->fill(0xff000000, visarea);
|
||||||
@ -2155,7 +2155,7 @@ void cobra_renderer::gfx_fifo_exec(running_machine &machine)
|
|||||||
if (cobra->m_gfx_fifo_loopback != 0)
|
if (cobra->m_gfx_fifo_loopback != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const rectangle& visarea = machine.primary_screen->visible_area();
|
const rectangle& visarea = screen().visible_area();
|
||||||
vertex_t vert[32];
|
vertex_t vert[32];
|
||||||
|
|
||||||
cobra_fifo *fifo_in = cobra->m_gfxfifo_in;
|
cobra_fifo *fifo_in = cobra->m_gfxfifo_in;
|
||||||
|
@ -206,7 +206,7 @@ WRITE32_MEMBER(deco_mlc_state::avengrs_palette_w)
|
|||||||
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(deco_mlc_state::interrupt_gen)
|
TIMER_DEVICE_CALLBACK_MEMBER(deco_mlc_state::interrupt_gen)
|
||||||
{
|
{
|
||||||
// logerror("hit scanline IRQ %d (%08x)\n", machine.primary_screen->vpos(), info.i);
|
// logerror("hit scanline IRQ %d (%08x)\n", m_screen->vpos(), info.i);
|
||||||
m_maincpu->set_input_line(m_mainCpuIsArm ? ARM_IRQ_LINE : 1, HOLD_LINE);
|
m_maincpu->set_input_line(m_mainCpuIsArm ? ARM_IRQ_LINE : 1, HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,6 +196,7 @@ public:
|
|||||||
INTERRUPT_GEN_MEMBER(namcos2_68k_slave_vblank);
|
INTERRUPT_GEN_MEMBER(namcos2_68k_slave_vblank);
|
||||||
INTERRUPT_GEN_MEMBER(namcos2_68k_gpu_vblank);
|
INTERRUPT_GEN_MEMBER(namcos2_68k_gpu_vblank);
|
||||||
TIMER_CALLBACK_MEMBER(namcos2_posirq_tick);
|
TIMER_CALLBACK_MEMBER(namcos2_posirq_tick);
|
||||||
|
void adjust_posirq_timer( int scanline );
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER( namcos2_68k_eeprom_w );
|
DECLARE_WRITE8_MEMBER( namcos2_68k_eeprom_w );
|
||||||
DECLARE_READ8_MEMBER( namcos2_68k_eeprom_r );
|
DECLARE_READ8_MEMBER( namcos2_68k_eeprom_r );
|
||||||
@ -366,8 +367,6 @@ extern void (*namcos2_kickstart)(running_machine &machine, int internal);
|
|||||||
#define NAMCOS2_C148_SERIRQ 6 /* 0x1cc000 */
|
#define NAMCOS2_C148_SERIRQ 6 /* 0x1cc000 */
|
||||||
#define NAMCOS2_C148_VBLANKIRQ 7 /* 0x1ce000 */
|
#define NAMCOS2_C148_VBLANKIRQ 7 /* 0x1ce000 */
|
||||||
|
|
||||||
void namcos2_adjust_posirq_timer( running_machine &machine, int scanline );
|
|
||||||
|
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
/* MASTER CPU RAM MEMORY */
|
/* MASTER CPU RAM MEMORY */
|
||||||
/**************************************************************/
|
/**************************************************************/
|
||||||
|
@ -677,20 +677,20 @@ TIMER_CALLBACK_MEMBER(namcos2_shared_state::namcos2_posirq_tick)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void namcos2_adjust_posirq_timer( running_machine &machine, int scanline )
|
void namcos2_shared_state::adjust_posirq_timer( int scanline )
|
||||||
{
|
{
|
||||||
namcos2_posirq_timer->adjust(machine.primary_screen->time_until_pos(scanline, 80), scanline);
|
namcos2_posirq_timer->adjust(m_screen->time_until_pos(scanline, 80), scanline);
|
||||||
}
|
}
|
||||||
|
|
||||||
INTERRUPT_GEN_MEMBER(namcos2_shared_state::namcos2_68k_master_vblank)
|
INTERRUPT_GEN_MEMBER(namcos2_shared_state::namcos2_68k_master_vblank)
|
||||||
{
|
{
|
||||||
if (!is_system21()) namcos2_adjust_posirq_timer(machine(), GetPosIRQScanline(machine()));
|
if (!is_system21()) adjust_posirq_timer(GetPosIRQScanline(machine()));
|
||||||
device.execute().set_input_line(namcos2_68k_master_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
device.execute().set_input_line(namcos2_68k_master_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
INTERRUPT_GEN_MEMBER(namcos2_shared_state::namcos2_68k_slave_vblank)
|
INTERRUPT_GEN_MEMBER(namcos2_shared_state::namcos2_68k_slave_vblank)
|
||||||
{
|
{
|
||||||
if (!is_system21()) namcos2_adjust_posirq_timer(machine(), GetPosIRQScanline(machine()));
|
if (!is_system21()) adjust_posirq_timer(GetPosIRQScanline(machine()));
|
||||||
device.execute().set_input_line(namcos2_68k_slave_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
device.execute().set_input_line(namcos2_68k_slave_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,7 +701,7 @@ INTERRUPT_GEN_MEMBER(namcos2_shared_state::namcos2_68k_gpu_vblank)
|
|||||||
scanline = 0x50+0x89; /* HACK for Winning Run */
|
scanline = 0x50+0x89; /* HACK for Winning Run */
|
||||||
|
|
||||||
//printf( "namcos2_68k_gpu_vblank(%d)\n",namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ] );
|
//printf( "namcos2_68k_gpu_vblank(%d)\n",namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ] );
|
||||||
namcos2_adjust_posirq_timer(machine(), scanline);
|
adjust_posirq_timer(scanline);
|
||||||
device.execute().set_input_line(namcos2_68k_gpu_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
device.execute().set_input_line(namcos2_68k_gpu_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1141,7 +1141,7 @@ static void show_tiles(struct sms_vdp* chip)
|
|||||||
Even though some games set bit 7, it does nothing.
|
Even though some games set bit 7, it does nothing.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void end_of_frame(running_machine &machine, struct sms_vdp *chip)
|
static void end_of_frame(screen_device &screen, struct sms_vdp *chip)
|
||||||
{
|
{
|
||||||
UINT8 m1 = (chip->regs[0x1]&0x10)>>4;
|
UINT8 m1 = (chip->regs[0x1]&0x10)>>4;
|
||||||
UINT8 m2 = (chip->regs[0x0]&0x02)>>1;
|
UINT8 m2 = (chip->regs[0x0]&0x02)>>1;
|
||||||
@ -1154,14 +1154,14 @@ static void end_of_frame(running_machine &machine, struct sms_vdp *chip)
|
|||||||
{
|
{
|
||||||
rectangle visarea(0, 256-1, 0, sms_mode_table[chip->screen_mode].sms2_height-1);
|
rectangle visarea(0, 256-1, 0, sms_mode_table[chip->screen_mode].sms2_height-1);
|
||||||
|
|
||||||
if (chip->chip_id==3) machine.primary_screen->configure(256, 256, visarea, HZ_TO_ATTOSECONDS(chip->sms_framerate));
|
if (chip->chip_id==3) screen.configure(256, 256, visarea, HZ_TO_ATTOSECONDS(chip->sms_framerate));
|
||||||
|
|
||||||
}
|
}
|
||||||
else /* 160x144 */
|
else /* 160x144 */
|
||||||
{
|
{
|
||||||
rectangle visarea((256-160)/2, (256-160)/2+160-1, (192-144)/2, (192-144)/2+144-1);
|
rectangle visarea((256-160)/2, (256-160)/2+160-1, (192-144)/2, (192-144)/2+144-1);
|
||||||
|
|
||||||
machine.primary_screen->configure(256, 256, visarea, HZ_TO_ATTOSECONDS(chip->sms_framerate));
|
screen.configure(256, 256, visarea, HZ_TO_ATTOSECONDS(chip->sms_framerate));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1179,7 +1179,7 @@ SCREEN_VBLANK(sms)
|
|||||||
// rising edge
|
// rising edge
|
||||||
if (vblank_on)
|
if (vblank_on)
|
||||||
{
|
{
|
||||||
end_of_frame(screen.machine(), md_sms_vdp);
|
end_of_frame(screen, md_sms_vdp);
|
||||||
|
|
||||||
// the SMS has a 'RESET' button on the machine, it generates an NMI
|
// the SMS has a 'RESET' button on the machine, it generates an NMI
|
||||||
if (screen.machine().root_device().ioport("PAUSE")->read_safe(0x00))
|
if (screen.machine().root_device().ioport("PAUSE")->read_safe(0x00))
|
||||||
@ -1245,8 +1245,8 @@ SCREEN_VBLANK(systeme)
|
|||||||
// rising edge
|
// rising edge
|
||||||
if (vblank_on)
|
if (vblank_on)
|
||||||
{
|
{
|
||||||
end_of_frame(screen.machine(), vdp1);
|
end_of_frame(screen, vdp1);
|
||||||
end_of_frame(screen.machine(), vdp2);
|
end_of_frame(screen, vdp2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1255,14 +1255,14 @@ SCREEN_VBLANK(megatech_md_sms)
|
|||||||
{
|
{
|
||||||
// rising edge
|
// rising edge
|
||||||
if (vblank_on)
|
if (vblank_on)
|
||||||
end_of_frame(screen.machine(), md_sms_vdp);
|
end_of_frame(screen, md_sms_vdp);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREEN_VBLANK(megatech_bios)
|
SCREEN_VBLANK(megatech_bios)
|
||||||
{
|
{
|
||||||
// rising edge
|
// rising edge
|
||||||
if (vblank_on)
|
if (vblank_on)
|
||||||
end_of_frame(screen.machine(), vdp1);
|
end_of_frame(screen, vdp1);
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREEN_UPDATE_RGB32(megatech_md_sms)
|
SCREEN_UPDATE_RGB32(megatech_md_sms)
|
||||||
|
@ -1134,7 +1134,7 @@ void snes_state::machine_reset()
|
|||||||
/* Set STAT78 to NTSC or PAL */
|
/* Set STAT78 to NTSC or PAL */
|
||||||
if (ATTOSECONDS_TO_HZ(m_screen->frame_period().attoseconds) >= 59.0f)
|
if (ATTOSECONDS_TO_HZ(m_screen->frame_period().attoseconds) >= 59.0f)
|
||||||
m_ppu.m_stat78 = SNES_NTSC;
|
m_ppu.m_stat78 = SNES_NTSC;
|
||||||
else /* if (ATTOSECONDS_TO_HZ(machine.primary_screen->frame_period().attoseconds) == 50.0f) */
|
else /* if (ATTOSECONDS_TO_HZ(m_screen->frame_period().attoseconds) == 50.0f) */
|
||||||
m_ppu.m_stat78 = SNES_PAL;
|
m_ppu.m_stat78 = SNES_PAL;
|
||||||
|
|
||||||
// reset does this to these registers
|
// reset does this to these registers
|
||||||
|
@ -943,7 +943,7 @@ void amiga_render_scanline(running_machine &machine, bitmap_ind16 &bitmap, int s
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if ( machine.primary_screen->frame_number() % 64 == 0 && scanline == 100 )
|
if ( m_screen->frame_number() % 64 == 0 && scanline == 100 )
|
||||||
{
|
{
|
||||||
const char *m_lores = "LORES";
|
const char *m_lores = "LORES";
|
||||||
const char *m_hires = "HIRES";
|
const char *m_hires = "HIRES";
|
||||||
@ -980,7 +980,7 @@ void amiga_render_scanline(running_machine &machine, bitmap_ind16 &bitmap, int s
|
|||||||
CUSTOM_REG(REG_COLOR00) = save_color0;
|
CUSTOM_REG(REG_COLOR00) = save_color0;
|
||||||
|
|
||||||
#if GUESS_COPPER_OFFSET
|
#if GUESS_COPPER_OFFSET
|
||||||
if (machine.primary_screen->frame_number() % 64 == 0 && scanline == 0)
|
if (m_screen->frame_number() % 64 == 0 && scanline == 0)
|
||||||
{
|
{
|
||||||
if (machine.input().code_pressed(KEYCODE_Q))
|
if (machine.input().code_pressed(KEYCODE_Q))
|
||||||
popmessage("%d", state->m_wait_offset -= 1);
|
popmessage("%d", state->m_wait_offset -= 1);
|
||||||
|
@ -802,7 +802,7 @@ void amiga_aga_render_scanline(running_machine &machine, bitmap_rgb32 &bitmap, i
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if ( machine.primary_screen->frame_number() % 16 == 0 && scanline == 250 )
|
if ( m_screen->frame_number() % 16 == 0 && scanline == 250 )
|
||||||
{
|
{
|
||||||
const char *m_lores = "LORES";
|
const char *m_lores = "LORES";
|
||||||
const char *m_hires = "HIRES";
|
const char *m_hires = "HIRES";
|
||||||
@ -840,7 +840,7 @@ void amiga_aga_render_scanline(running_machine &machine, bitmap_rgb32 &bitmap, i
|
|||||||
CUSTOM_REG(REG_COLOR00) = save_color0;
|
CUSTOM_REG(REG_COLOR00) = save_color0;
|
||||||
|
|
||||||
#if GUESS_COPPER_OFFSET
|
#if GUESS_COPPER_OFFSET
|
||||||
if (machine.primary_screen->frame_number() % 64 == 0 && scanline == 0)
|
if (m_screen->frame_number() % 64 == 0 && scanline == 0)
|
||||||
{
|
{
|
||||||
if (machine.input().code_pressed(KEYCODE_Q))
|
if (machine.input().code_pressed(KEYCODE_Q))
|
||||||
popmessage("%d", wait_offset -= 1);
|
popmessage("%d", wait_offset -= 1);
|
||||||
|
@ -347,7 +347,7 @@ WRITE16_MEMBER( namcos2_state::paletteram_word_w )
|
|||||||
/*case 0x180a:*/ case 0x180b:
|
/*case 0x180a:*/ case 0x180b:
|
||||||
if (data^m_paletteram[offset]) {
|
if (data^m_paletteram[offset]) {
|
||||||
m_paletteram[offset] = data;
|
m_paletteram[offset] = data;
|
||||||
namcos2_adjust_posirq_timer(machine(),get_pos_irq_scanline());
|
adjust_posirq_timer(get_pos_irq_scanline());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user