1 /************************************************************************* 2 3 Driver for Midway MCR games 4 5 **************************************************************************/ 6 7 /* constants */ 8 #define MAIN_OSC_MCR_I 19968000 9 10 11 /*----------- defined in machine/mcr.c -----------*/ 12 13 extern INT16 spyhunt_scrollx, spyhunt_scrolly; 14 extern double mcr68_timing_factor; 15 16 extern Z80_DaisyChain mcr_daisy_chain[]; 17 extern UINT8 mcr_cocktail_flip; 18 19 extern struct GfxLayout mcr_bg_layout; 20 extern struct GfxLayout mcr_sprite_layout; 21 22 MACHINE_INIT( mcr ); 23 MACHINE_INIT( mcr68 ); 24 MACHINE_INIT( zwackery ); 25 26 INTERRUPT_GEN( mcr_interrupt ); 27 INTERRUPT_GEN( mcr68_interrupt ); 28 29 WRITE_HANDLER( mcr_control_port_w ); 30 WRITE_HANDLER( mcrmono_control_port_w ); 31 WRITE_HANDLER( mcr_scroll_value_w ); 32 33 WRITE16_HANDLER( mcr68_6840_upper_w ); 34 WRITE16_HANDLER( mcr68_6840_lower_w ); 35 READ16_HANDLER( mcr68_6840_upper_r ); 36 READ16_HANDLER( mcr68_6840_lower_r ); 37 38 39 /*----------- defined in vidhrdw/mcr12.c -----------*/ 40 41 extern INT8 mcr12_sprite_xoffs; 42 extern INT8 mcr12_sprite_xoffs_flip; 43 44 VIDEO_START( mcr1 ); 45 VIDEO_START( mcr2 ); 46 VIDEO_START( twotigra ); 47 VIDEO_START( journey ); 48 49 WRITE_HANDLER( mcr1_videoram_w ); 50 WRITE_HANDLER( mcr2_videoram_w ); 51 WRITE_HANDLER( twotigra_videoram_w ); 52 53 VIDEO_UPDATE( mcr1 ); 54 VIDEO_UPDATE( mcr2 ); 55 VIDEO_UPDATE( journey ); 56 57 58 /*----------- defined in vidhrdw/mcr3.c -----------*/ 59 60 extern UINT8 spyhunt_sprite_color_mask; 61 extern INT16 spyhunt_scrollx, spyhunt_scrolly; 62 extern INT16 spyhunt_scroll_offset; 63 64 extern UINT8 *spyhunt_alpharam; 65 66 WRITE_HANDLER( mcr3_paletteram_w ); 67 WRITE_HANDLER( mcr3_videoram_w ); 68 WRITE_HANDLER( spyhunt_videoram_w ); 69 WRITE_HANDLER( spyhunt_alpharam_w ); 70 71 void mcr3_update_sprites(struct mame_bitmap *bitmap, const struct rectangle *cliprect, int color_mask, int code_xor, int dx, int dy); 72 73 VIDEO_START( mcr3 ); 74 VIDEO_START( mcrmono ); 75 VIDEO_START( spyhunt ); 76 VIDEO_START( dotron ); 77 78 PALETTE_INIT( spyhunt ); 79 80 VIDEO_UPDATE( mcr3 ); 81 VIDEO_UPDATE( spyhunt ); 82 VIDEO_UPDATE( dotron ); 83 84 85 /*----------- defined in vidhrdw/mcr68.c -----------*/ 86 87 extern UINT8 mcr68_sprite_clip; 88 extern INT8 mcr68_sprite_xoffset; 89 90 WRITE16_HANDLER( mcr68_paletteram_w ); 91 WRITE16_HANDLER( mcr68_videoram_w ); 92 93 VIDEO_START( mcr68 ); 94 VIDEO_UPDATE( mcr68 ); 95 96 WRITE16_HANDLER( zwackery_paletteram_w ); 97 WRITE16_HANDLER( zwackery_videoram_w ); 98 WRITE16_HANDLER( zwackery_spriteram_w ); 99 100 PALETTE_INIT( zwackery ); 101 VIDEO_START( zwackery ); 102 VIDEO_UPDATE( zwackery ); 103