static void init_machine(void) { atarigen_eeprom_reset(); atarigen_slapstic_reset(); atarigen_interrupt_reset(update_interrupts); atarijsa_reset(); }
static MACHINE_INIT( offtwall ) { atarigen_eeprom_reset(); atarivc_reset(atarivc_eof_data, 1); atarigen_interrupt_reset(update_interrupts); atarijsa_reset(); }
static MACHINE_RESET( blstroid ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(blstroid_scanline_update, 8); atarijsa_reset(); }
static MACHINE_INIT( vindictr ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(vindictr_scanline_update, 8); atarijsa_reset(); }
static WRITE16_HANDLER( io_latch_w ) { /* upper byte */ if (ACCESSING_BITS_8_15) { atarig42_state *state = space->machine().driver_data<atarig42_state>(); /* bit 14 controls the ASIC65 reset line */ asic65_reset(space->machine(), (~data >> 14) & 1); /* bits 13-11 are the MO control bits */ atarirle_control_w(state->m_rle, (data >> 11) & 7); } /* lower byte */ if (ACCESSING_BITS_0_7) { /* bit 4 resets the sound CPU */ cputag_set_input_line(space->machine(), "jsa", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (!(data & 0x10)) atarijsa_reset(); /* bit 5 is /XRESET, probably related to the ASIC */ /* bits 3 and 0 are coin counters */ } }
static MACHINE_RESET( offtwall ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarivc_reset(machine->primary_screen, atarivc_eof_data, 1); atarijsa_reset(); }
static void init_machine(void) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(vindictr_scanline_update, 8); atarijsa_reset(); }
static MACHINE_INIT( skullxbo ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(alpha_row_update, 8); atarijsa_reset(); }
static MACHINE_RESET( atarig42 ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(machine->primary_screen, atarig42_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( xybots ) { atarigen_eeprom_reset(); atarigen_slapstic_reset(); atarigen_interrupt_reset(update_interrupts); atarijsa_reset(); }
static MACHINE_RESET( toobin ) { toobin_state *state = machine.driver_data<toobin_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarijsa_reset(); }
static MACHINE_RESET( toobin ) { toobin_state *state = (toobin_state *)machine->driver_data; atarigen_eeprom_reset(&state->atarigen); atarigen_interrupt_reset(&state->atarigen, update_interrupts); atarijsa_reset(); }
static MACHINE_RESET( klaxp ) { atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(machine->primary_screen, eprom_scanline_update, 8); atarijsa_reset(); atarigen_init_save_state(machine); }
static void init_machine(void) { atarigen_eeprom_reset(); atarigen_video_control_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(thunderj_scanline_update, 8); atarijsa_reset(); }
static MACHINE_INIT( atarig1 ) { atarigen_eeprom_reset(); atarigen_slapstic_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(atarig1_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( skullxbo ) { skullxbo_state *state = machine.driver_data<skullxbo_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarigen_scanline_timer_reset(*machine.primary_screen, alpha_row_update, 8); atarijsa_reset(); }
static void init_machine(void) { pedal_value[0] = pedal_value[1] = 0x80; atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarigen_scanline_timer_reset(badlands_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( vindictr ) { vindictr_state *state = (vindictr_state *)machine->driver_data; atarigen_eeprom_reset(&state->atarigen); atarigen_interrupt_reset(&state->atarigen, update_interrupts); atarigen_scanline_timer_reset(machine->primary_screen, vindictr_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( offtwall ) { offtwall_state *state = machine.driver_data<offtwall_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 1); atarijsa_reset(); }
static MACHINE_RESET( blstroid ) { blstroid_state *state = machine->driver_data<blstroid_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarigen_scanline_timer_reset(*machine->primary_screen, blstroid_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( eprom ) { eprom_state *state = machine.driver_data<eprom_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarigen_scanline_timer_reset(*machine.primary_screen, eprom_scanline_update, 8); atarijsa_reset(); }
static MACHINE_RESET( xybots ) { xybots_state *state = machine->driver_data<xybots_state>(); atarigen_eeprom_reset(state); atarigen_slapstic_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarijsa_reset(); }
static void cyberb2p_init_machine(void) { atarigen_eeprom_reset(); atarigen_interrupt_reset(cyberb2p_update_interrupts); atarigen_scanline_timer_reset(cyberbal_scanline_update, 8); atarijsa_reset(); /* make sure we're pointing to the only screen */ cyberbal_set_screen(0); }
static MACHINE_RESET( batman ) { batman_state *state = machine.driver_data<batman_state>(); atarigen_eeprom_reset(state); atarigen_interrupt_reset(state, update_interrupts); atarivc_reset(*machine.primary_screen, state->m_atarivc_eof_data, 2); atarigen_scanline_timer_reset(*machine.primary_screen, batman_scanline_update, 8); atarijsa_reset(); }
static WRITE16_HANDLER( io_latch_w ) { /* lower byte */ if (ACCESSING_BITS_0_7) { /* bit 4 resets the sound CPU */ cputag_set_input_line(space->machine(), "jsa", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (!(data & 0x10)) atarijsa_reset(); } logerror("sound control = %04X\n", data); }
static WRITE_HANDLER( io_latch_w ) { /* lower byte */ if (!(data & 0x00ff0000)) { /* bit 4 resets the sound CPU */ cpu_set_reset_line(1, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (!(data & 0x10)) atarijsa_reset(); } //logerror("sound control = %04X\n", data); }
static WRITE16_HANDLER( io_latch_w ) { /* lower byte */ if (ACCESSING_LSB) { /* bit 4 resets the sound CPU */ cpu_set_reset_line(1, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); if (!(data & 0x10)) atarijsa_reset(); /* bit 5 is /XRESET, probably related to the ASIC */ /* bits 3 and 0 are coin counters */ } logerror("sound control = %04X\n", data); }
static MACHINE_INIT( beathead ) { /* reset the common subsystems */ atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarijsa_reset(); /* the code is temporarily mapped at 0 at startup */ /* just copying the first 0x40 bytes is sufficient */ memcpy(ram_base, rom_base, 0x40); /* compute the timing of the HBLANK interrupt and set the first timer */ hblank_offset = cpu_getscanlineperiod() * ((455. - 336. - 25.) / 455.); timer_set(cpu_getscanlinetime(0) - hblank_offset, 0, scanline_callback); /* reset IRQs */ irq_line_state = CLEAR_LINE; irq_state[0] = irq_state[1] = irq_state[2] = 0; irq_enable[0] = irq_enable[1] = irq_enable[2] = 0; }
static MACHINE_RESET( beathead ) { /* reset the common subsystems */ atarigen_eeprom_reset(); atarigen_interrupt_reset(update_interrupts); atarijsa_reset(); /* the code is temporarily mapped at 0 at startup */ /* just copying the first 0x40 bytes is sufficient */ memcpy(ram_base, rom_base, 0x40); /* compute the timing of the HBLANK interrupt and set the first timer */ hblank_offset = attotime_to_double(video_screen_get_scan_period(machine->primary_screen)) * ((455. - 336. - 25.) / 455.); timer_set(machine, double_to_attotime(attotime_to_double(video_screen_get_time_until_pos(machine->primary_screen, 0, 0)) - hblank_offset), NULL, 0, scanline_callback); /* reset IRQs */ irq_line_state = CLEAR_LINE; irq_state[0] = irq_state[1] = irq_state[2] = 0; irq_enable[0] = irq_enable[1] = irq_enable[2] = 0; }
void beathead_state::machine_reset() { /* reset the common subsystems */ atarigen_eeprom_reset(this); atarigen_interrupt_reset(this, ::update_interrupts); atarijsa_reset(); /* the code is temporarily mapped at 0 at startup */ /* just copying the first 0x40 bytes is sufficient */ memcpy(m_ram_base, m_rom_base, 0x40); /* compute the timing of the HBLANK interrupt and set the first timer */ m_hblank_offset = machine().primary_screen->scan_period() * (455 - 336 - 25) / 455; timer_device *scanline_timer = machine().device<timer_device>("scan_timer"); scanline_timer->adjust(machine().primary_screen->time_until_pos(0) - m_hblank_offset); /* reset IRQs */ m_irq_line_state = CLEAR_LINE; m_irq_state[0] = m_irq_state[1] = m_irq_state[2] = 0; m_irq_enable[0] = m_irq_enable[1] = m_irq_enable[2] = 0; }