A few timer_set removals (nw)

This commit is contained in:
Ivan Vangelista 2017-04-26 18:55:27 +02:00
parent 659eefe592
commit 2ff1340a30
7 changed files with 17 additions and 15 deletions

View File

@ -16,7 +16,7 @@
output. output.
The 054321 manages three latches (maybe four) to allow communication The 054321 manages three latches (maybe four) to allow communication
between the main cpu and the soud cpu, and provides two independant between the main cpu and the sound cpu, and provides two independent
busses to ensure decoupling. It also manages one global volume and busses to ensure decoupling. It also manages one global volume and
a per-channel mute for two channels. a per-channel mute for two channels.

View File

@ -170,6 +170,8 @@ PALETTE_INIT_MEMBER(m10_state,m10)
MACHINE_START_MEMBER(m10_state,m10) MACHINE_START_MEMBER(m10_state,m10)
{ {
m_interrupt_timer = timer_alloc(TIMER_INTERRUPT);
save_item(NAME(m_bottomline)); save_item(NAME(m_bottomline));
save_item(NAME(m_flip)); save_item(NAME(m_flip));
save_item(NAME(m_last)); save_item(NAME(m_last));
@ -475,12 +477,12 @@ TIMER_CALLBACK_MEMBER(m10_state::interrupt_callback)
if (param == 0) if (param == 0)
{ {
m_maincpu->set_input_line(0, ASSERT_LINE); m_maincpu->set_input_line(0, ASSERT_LINE);
timer_set(m_screen->time_until_pos(IREMM10_VBSTART + 16), TIMER_INTERRUPT, 1); m_interrupt_timer->adjust(m_screen->time_until_pos(IREMM10_VBSTART + 16), 1);
} }
if (param == 1) if (param == 1)
{ {
m_maincpu->set_input_line(0, ASSERT_LINE); m_maincpu->set_input_line(0, ASSERT_LINE);
timer_set(m_screen->time_until_pos(IREMM10_VBSTART + 24), TIMER_INTERRUPT, 2); m_interrupt_timer->adjust(m_screen->time_until_pos(IREMM10_VBSTART + 24), 2);
} }
if (param == -1) if (param == -1)
m_maincpu->set_input_line(0, CLEAR_LINE); m_maincpu->set_input_line(0, CLEAR_LINE);
@ -502,7 +504,7 @@ void m10_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
INTERRUPT_GEN_MEMBER(m10_state::m11_interrupt) INTERRUPT_GEN_MEMBER(m10_state::m11_interrupt)
{ {
device.execute().set_input_line(0, ASSERT_LINE); device.execute().set_input_line(0, ASSERT_LINE);
//timer_set(m_screen->time_until_pos(IREMM10_VBEND), TIMER_INTERRUPT, -1); //m_interrupt_timer->adjust(m_screen->time_until_pos(IREMM10_VBEND), -1);
} }
INTERRUPT_GEN_MEMBER(m10_state::m10_interrupt) INTERRUPT_GEN_MEMBER(m10_state::m10_interrupt)
@ -514,7 +516,7 @@ INTERRUPT_GEN_MEMBER(m10_state::m10_interrupt)
INTERRUPT_GEN_MEMBER(m10_state::m15_interrupt) INTERRUPT_GEN_MEMBER(m10_state::m15_interrupt)
{ {
device.execute().set_input_line(0, ASSERT_LINE); device.execute().set_input_line(0, ASSERT_LINE);
timer_set(m_screen->time_until_pos(IREMM10_VBSTART + 1, 80), TIMER_INTERRUPT, -1); m_interrupt_timer->adjust(m_screen->time_until_pos(IREMM10_VBSTART + 1, 80), -1);
} }
/************************************* /*************************************

View File

@ -44,6 +44,7 @@ public:
optional_ioport m_light1_x; optional_ioport m_light1_x;
optional_ioport m_light1_y; optional_ioport m_light1_y;
emu_timer *m_gen_ext1_int_timer;
uint16_t m_blitter_data[8]; uint16_t m_blitter_data[8];
std::unique_ptr<uint16_t[]> m_screenram; std::unique_ptr<uint16_t[]> m_screenram;
uint8_t m_vispage; uint8_t m_vispage;
@ -70,7 +71,4 @@ protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
}; };
/*----------- defined in video/lethalj.c -----------*/
void lethalj_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
#endif // MAME_INCLUDES_LETHALJ_H #endif // MAME_INCLUDES_LETHALJ_H

View File

@ -75,6 +75,7 @@ public:
/* misc */ /* misc */
int m_last; int m_last;
emu_timer *m_interrupt_timer;
/* devices */ /* devices */
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;

View File

@ -55,6 +55,7 @@ public:
required_device<pic8259_device> m_upd71059c; required_device<pic8259_device> m_upd71059c;
optional_device<generic_latch_8_device> m_soundlatch; optional_device<generic_latch_8_device> m_soundlatch;
emu_timer *m_spritebuffer_timer;
uint16_t m_sound_status; uint16_t m_sound_status;
uint32_t m_raster_irq_position; uint32_t m_raster_irq_position;
uint16_t m_videocontrol; uint16_t m_videocontrol;

View File

@ -91,6 +91,8 @@ void lethalj_state::video_start()
/* predetermine blitter info */ /* predetermine blitter info */
m_blitter_base = (uint16_t *)memregion("gfx1")->base(); m_blitter_base = (uint16_t *)memregion("gfx1")->base();
m_blitter_rows = memregion("gfx1")->bytes() / (2*BLITTER_SOURCE_WIDTH); m_blitter_rows = memregion("gfx1")->bytes() / (2*BLITTER_SOURCE_WIDTH);
m_gen_ext1_int_timer = timer_alloc(TIMER_GEN_EXT1_INT);
} }
@ -168,7 +170,7 @@ WRITE16_MEMBER(lethalj_state::lethalj_blitter_w)
else else
do_blit(); do_blit();
timer_set(attotime::from_hz(XTAL_32MHz) * ((m_blitter_data[5] + 1) * (m_blitter_data[7] + 1)), TIMER_GEN_EXT1_INT); m_gen_ext1_int_timer->adjust(attotime::from_hz(XTAL_32MHz) * ((m_blitter_data[5] + 1) * (m_blitter_data[7] + 1)));
} }
/* clear the IRQ on offset 0 */ /* clear the IRQ on offset 0 */

View File

@ -91,7 +91,7 @@ WRITE16_MEMBER(m92_state::m92_spritecontrol_w)
/* Pixel clock is 26.6666MHz (some boards 27MHz??), we have 0x800 bytes, or 0x400 words to copy from /* Pixel clock is 26.6666MHz (some boards 27MHz??), we have 0x800 bytes, or 0x400 words to copy from
spriteram to the buffer. It seems safe to assume 1 word can be copied per clock. */ spriteram to the buffer. It seems safe to assume 1 word can be copied per clock. */
timer_set(attotime::from_hz(XTAL_26_66666MHz) * 0x400, TIMER_SPRITEBUFFER); m_spritebuffer_timer->adjust(attotime::from_hz(XTAL_26_66666MHz) * 0x400);
} }
// logerror("%04x: m92_spritecontrol_w %08x %08x\n",space.device().safe_pc(),offset,data); // logerror("%04x: m92_spritecontrol_w %08x %08x\n",space.device().safe_pc(),offset,data);
} }
@ -247,10 +247,10 @@ WRITE16_MEMBER(m92_state::m92_master_control_w)
VIDEO_START_MEMBER(m92_state,m92) VIDEO_START_MEMBER(m92_state,m92)
{ {
int laynum; m_spritebuffer_timer = timer_alloc(TIMER_SPRITEBUFFER);
memset(&m_pf_layer, 0, sizeof(m_pf_layer)); memset(&m_pf_layer, 0, sizeof(m_pf_layer));
for (laynum = 0; laynum < 3; laynum++) for (int laynum = 0; laynum < 3; laynum++)
{ {
M92_pf_layer_info *layer = &m_pf_layer[laynum]; M92_pf_layer_info *layer = &m_pf_layer[laynum];
@ -301,11 +301,9 @@ VIDEO_START_MEMBER(m92_state,m92)
VIDEO_START_MEMBER(m92_state,ppan) VIDEO_START_MEMBER(m92_state,ppan)
{ {
int laynum;
VIDEO_START_CALL_MEMBER(m92); VIDEO_START_CALL_MEMBER(m92);
for (laynum = 0; laynum < 3; laynum++) for (int laynum = 0; laynum < 3; laynum++)
{ {
M92_pf_layer_info *layer = &m_pf_layer[laynum]; M92_pf_layer_info *layer = &m_pf_layer[laynum];