trunk/src/mame/drivers/2mindril.c
| r26071 | r26072 | |
| 50 | 50 | |
| 51 | 51 | /* memory pointers */ |
| 52 | 52 | required_shared_ptr<UINT16> m_iodata; |
| 53 | | |
| 53 | |
| 54 | 54 | /* input-related */ |
| 55 | 55 | UINT16 m_defender_sensor; |
| 56 | 56 | UINT16 m_shutter_sensor; |
| r26071 | r26072 | |
| 68 | 68 | DECLARE_MACHINE_RESET(drill); |
| 69 | 69 | INTERRUPT_GEN_MEMBER(drill_vblank_irq); |
| 70 | 70 | //INTERRUPT_GEN_MEMBER(drill_device_irq); |
| 71 | | TIMER_CALLBACK_MEMBER(shutter_req); |
| 72 | | TIMER_CALLBACK_MEMBER(defender_req); |
| 73 | 71 | void tile_decode(); |
| 74 | 72 | DECLARE_WRITE_LINE_MEMBER(irqhandler); |
| 73 | #ifdef UNUSED_FUNCTION |
| 74 | enum |
| 75 | { |
| 76 | TIMER_SHUTTER_REQ, |
| 77 | TIMER_DEFENDER_REQ |
| 78 | }; |
| 79 | |
| 80 | protected: |
| 81 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 82 | #endif |
| 75 | 83 | }; |
| 76 | 84 | |
| 77 | 85 | |
| r26071 | r26072 | |
| 136 | 144 | PORT_DIPSETTING( 0x0800, DEF_STR( On ) ) |
| 137 | 145 | */ |
| 138 | 146 | #ifdef UNUSED_FUNCTION |
| 139 | | TIMER_CALLBACK_MEMBER(_2mindril_state::shutter_req) |
| 147 | void _2mindril_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 140 | 148 | { |
| 141 | | m_shutter_sensor = param; |
| 149 | switch (id) |
| 150 | { |
| 151 | case TIMER_SHUTTER_REQ: |
| 152 | m_shutter_sensor = param; |
| 153 | break; |
| 154 | case TIMER_DEFENDER_REQ: |
| 155 | m_defender_sensor = param; |
| 156 | break; |
| 157 | default: |
| 158 | assert_always(FALSE, "Unknown id in _2mindril_state::device_timer"); |
| 159 | } |
| 142 | 160 | } |
| 143 | | |
| 144 | | TIMER_CALLBACK_MEMBER(_2mindril_state::defender_req) |
| 145 | | { |
| 146 | | m_defender_sensor = param; |
| 147 | | } |
| 148 | 161 | #endif |
| 149 | 162 | |
| 150 | 163 | WRITE16_MEMBER(_2mindril_state::sensors_w) |
| r26071 | r26072 | |
| 153 | 166 | /*---- ---- ---- -x-- lamp*/ |
| 154 | 167 | if (data & 1) |
| 155 | 168 | { |
| 156 | | //machine().scheduler().timer_set(attotime::from_seconds(2), FUNC(shutter_req ), 0x100); |
| 169 | //timer_set( attotime::from_seconds(2), TIMER_SHUTTER_REQ, 0x100); |
| 157 | 170 | m_shutter_sensor = 0x100; |
| 158 | 171 | } |
| 159 | 172 | else if (data & 2) |
| 160 | 173 | { |
| 161 | | //machine().scheduler().timer_set( attotime::from_seconds(2), FUNC(shutter_req ), 0x200); |
| 174 | //timer_set( attotime::from_seconds(2), TIMER_SHUTTER_REQ, 0x200); |
| 162 | 175 | m_shutter_sensor = 0x200; |
| 163 | 176 | } |
| 164 | 177 | |
| 165 | 178 | if (data & 0x1000 || data & 0x4000) |
| 166 | 179 | { |
| 167 | | //machine().scheduler().timer_set( attotime::from_seconds(2), FUNC(defender_req ), 0x800); |
| 180 | //timer_set( attotime::from_seconds(2), TIMER_DEFENDER_REQ, 0x800); |
| 168 | 181 | m_defender_sensor = 0x800; |
| 169 | 182 | } |
| 170 | 183 | else if (data & 0x2000 || data & 0x8000) |
| 171 | 184 | { |
| 172 | | //machine().scheduler().timer_set( attotime::from_seconds(2), FUNC(defender_req ), 0x400); |
| 185 | //timer_set( attotime::from_seconds(2), TIMER_DEFENDER_REQ, 0x400); |
| 173 | 186 | m_defender_sensor = 0x400; |
| 174 | 187 | } |
| 175 | 188 | } |
trunk/src/mame/drivers/40love.c
| r26071 | r26072 | |
| 229 | 229 | #include "sound/dac.h" |
| 230 | 230 | #include "includes/40love.h" |
| 231 | 231 | |
| 232 | | TIMER_CALLBACK_MEMBER(fortyl_state::nmi_callback) |
| 232 | void fortyl_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 233 | 233 | { |
| 234 | | if (m_sound_nmi_enable) |
| 235 | | m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); |
| 236 | | else |
| 237 | | m_pending_nmi = 1; |
| 234 | switch(id) |
| 235 | { |
| 236 | case TIMER_NMI_CALLBACK: |
| 237 | if (m_sound_nmi_enable) |
| 238 | m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); |
| 239 | else |
| 240 | m_pending_nmi = 1; |
| 241 | break; |
| 242 | default: |
| 243 | assert_always(FALSE, "Unknown id in fortyl_state::device_timer"); |
| 244 | } |
| 238 | 245 | } |
| 239 | 246 | |
| 240 | 247 | WRITE8_MEMBER(fortyl_state::sound_command_w) |
| 241 | 248 | { |
| 242 | 249 | soundlatch_byte_w(space, 0, data); |
| 243 | | machine().scheduler().synchronize(timer_expired_delegate(FUNC(fortyl_state::nmi_callback),this), data); |
| 250 | synchronize(TIMER_NMI_CALLBACK, data); |
| 244 | 251 | } |
| 245 | 252 | |
| 246 | 253 | WRITE8_MEMBER(fortyl_state::nmi_disable_w) |
trunk/src/mame/drivers/acefruit.c
| r26071 | r26072 | |
| 20 | 20 | public: |
| 21 | 21 | acefruit_state(const machine_config &mconfig, device_type type, const char *tag) |
| 22 | 22 | : driver_device(mconfig, type, tag), |
| 23 | m_maincpu(*this, "maincpu"), |
| 23 | 24 | m_videoram(*this, "videoram"), |
| 24 | 25 | m_colorram(*this, "colorram"), |
| 25 | | m_spriteram(*this, "spriteram"), |
| 26 | | m_maincpu(*this, "maincpu") { } |
| 26 | m_spriteram(*this, "spriteram") { } |
| 27 | 27 | |
| 28 | required_device<cpu_device> m_maincpu; |
| 28 | 29 | required_shared_ptr<UINT8> m_videoram; |
| 29 | 30 | required_shared_ptr<UINT8> m_colorram; |
| 30 | 31 | required_shared_ptr<UINT8> m_spriteram; |
| r26071 | r26072 | |
| 42 | 43 | virtual void palette_init(); |
| 43 | 44 | UINT32 screen_update_acefruit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 44 | 45 | INTERRUPT_GEN_MEMBER(acefruit_vblank); |
| 45 | | TIMER_CALLBACK_MEMBER(acefruit_refresh); |
| 46 | 46 | void acefruit_update_irq(int vpos); |
| 47 | | required_device<cpu_device> m_maincpu; |
| 47 | |
| 48 | enum |
| 49 | { |
| 50 | TIMER_ACEFRUIT_REFRESH |
| 51 | }; |
| 52 | |
| 53 | protected: |
| 54 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 48 | 55 | }; |
| 49 | 56 | |
| 50 | 57 | |
| r26071 | r26072 | |
| 69 | 76 | } |
| 70 | 77 | |
| 71 | 78 | |
| 72 | | TIMER_CALLBACK_MEMBER(acefruit_state::acefruit_refresh) |
| 79 | void acefruit_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 73 | 80 | { |
| 74 | 81 | int vpos = m_screen->vpos(); |
| 75 | 82 | |
| 76 | | m_screen->update_partial(vpos ); |
| 77 | | acefruit_update_irq(vpos); |
| 83 | switch(id) |
| 84 | { |
| 85 | case TIMER_ACEFRUIT_REFRESH: |
| 86 | |
| 87 | m_screen->update_partial(vpos ); |
| 88 | acefruit_update_irq(vpos); |
| 78 | 89 | |
| 79 | | vpos = ( ( vpos / 8 ) + 1 ) * 8; |
| 90 | vpos = ( ( vpos / 8 ) + 1 ) * 8; |
| 80 | 91 | |
| 81 | | m_refresh_timer->adjust( m_screen->time_until_pos(vpos) ); |
| 92 | m_refresh_timer->adjust( m_screen->time_until_pos(vpos) ); |
| 93 | break; |
| 94 | default: |
| 95 | assert_always(FALSE, "Unknown id in acefruit_state::device_timer"); |
| 96 | } |
| 82 | 97 | } |
| 83 | 98 | |
| 84 | 99 | void acefruit_state::video_start() |
| 85 | 100 | { |
| 86 | | m_refresh_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(acefruit_state::acefruit_refresh),this)); |
| 101 | m_refresh_timer = timer_alloc(TIMER_ACEFRUIT_REFRESH); |
| 87 | 102 | } |
| 88 | 103 | |
| 89 | 104 | INTERRUPT_GEN_MEMBER(acefruit_state::acefruit_vblank) |
trunk/src/mame/includes/40love.h
| r26071 | r26072 | |
| 25 | 25 | required_shared_ptr<UINT8> m_colorram; |
| 26 | 26 | required_shared_ptr<UINT8> m_spriteram2; |
| 27 | 27 | optional_shared_ptr<UINT8> m_mcu_ram; |
| 28 | | |
| 28 | |
| 29 | 29 | /* video-related */ |
| 30 | 30 | bitmap_ind16 *m_tmp_bitmap1; |
| 31 | 31 | bitmap_ind16 *m_tmp_bitmap2; |
| r26071 | r26072 | |
| 109 | 109 | DECLARE_MACHINE_RESET(common); |
| 110 | 110 | DECLARE_MACHINE_RESET(ta7630); |
| 111 | 111 | UINT32 screen_update_fortyl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
| 112 | | TIMER_CALLBACK_MEMBER(nmi_callback); |
| 113 | 112 | void redraw_pixels(); |
| 114 | 113 | void fortyl_set_scroll_x( int offset ); |
| 115 | 114 | void fortyl_plot_pix( int offset ); |
| 116 | 115 | void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); |
| 117 | 116 | void draw_pixram( bitmap_ind16 &bitmap, const rectangle &cliprect ); |
| 117 | |
| 118 | enum |
| 119 | { |
| 120 | TIMER_NMI_CALLBACK |
| 121 | }; |
| 122 | |
| 123 | protected: |
| 124 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 118 | 125 | }; |