mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
dynax.c, ddenlovr.c: Added driver data class [Fabio Priuli]
This commit is contained in:
parent
2405a27dcf
commit
20aeb1cfcd
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -4,9 +4,130 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
//----------- defined in drivers/dynax.c -----------
|
||||
class dynax_state
|
||||
{
|
||||
public:
|
||||
static void *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dynax_state(machine)); }
|
||||
|
||||
extern UINT8 dynax_blitter_irq, dynax_blitter2_irq;
|
||||
dynax_state(running_machine &machine) { }
|
||||
|
||||
// up to 8 layers, 2 images per layer (interleaved on screen)
|
||||
UINT8 * pixmap[8][2];
|
||||
UINT8 * ddenlovr_pixmap[8];
|
||||
|
||||
/* irq */
|
||||
void (*update_irq_func)(running_machine *machine); // some games trigger IRQ at blitter end, some don't
|
||||
UINT8 sound_irq;
|
||||
UINT8 vblank_irq;
|
||||
UINT8 blitter_irq, blitter2_irq;
|
||||
UINT8 soundlatch_irq;
|
||||
UINT8 sound_vblank_irq;
|
||||
|
||||
/* blitters */
|
||||
int blit_scroll_x, blit2_scroll_x;
|
||||
int blit_scroll_y, blit2_scroll_y;
|
||||
int blit_wrap_enable, blit2_wrap_enable;
|
||||
int blit_x, blit_y, blit2_x, blit2_y;
|
||||
int blit_src, blit2_src;
|
||||
int blit_romregion, blit2_romregion;
|
||||
int blit_dest, blit2_dest;
|
||||
int blit_pen, blit2_pen;
|
||||
int blit_palbank, blit2_palbank;
|
||||
int blit_palettes, blit2_palettes;
|
||||
int layer_enable;
|
||||
int blit_backpen;
|
||||
|
||||
int hanamai_layer_half;
|
||||
int hnoridur_layer_half2;
|
||||
|
||||
int extra_scroll_x, extra_scroll_y;
|
||||
int flipscreen;
|
||||
|
||||
int layer_layout;
|
||||
|
||||
const int *priority_table;
|
||||
int hanamai_priority;
|
||||
|
||||
/* ddenlovr blitter (TODO: merge with the above, where possible) */
|
||||
int extra_layers;
|
||||
int ddenlovr_dest_layer;
|
||||
int ddenlovr_blit_flip;
|
||||
int ddenlovr_blit_x;
|
||||
int ddenlovr_blit_y;
|
||||
int ddenlovr_blit_address;
|
||||
int ddenlovr_blit_pen,ddenlovr_blit_pen_mode;
|
||||
int ddenlovr_blitter_irq_flag,ddenlovr_blitter_irq_enable;
|
||||
int ddenlovr_rect_width, ddenlovr_rect_height;
|
||||
int ddenlovr_clip_width, ddenlovr_clip_height;
|
||||
int ddenlovr_line_length;
|
||||
int ddenlovr_clip_ctrl,ddenlovr_clip_x,ddenlovr_clip_y;
|
||||
int ddenlovr_scroll[8*2];
|
||||
int ddenlovr_priority, ddenlovr_priority2;
|
||||
int ddenlovr_bgcolor, ddenlovr_bgcolor2;
|
||||
int ddenlovr_layer_enable, ddenlovr_layer_enable2;
|
||||
int ddenlovr_palette_base[8], ddenlovr_palette_mask[8];
|
||||
int ddenlovr_transparency_pen[8], ddenlovr_transparency_mask[8];
|
||||
int ddenlovr_blit_latch;
|
||||
int ddenlovr_blit_pen_mask; // not implemented
|
||||
int ddenlovr_blit_rom_bits; // usually 8, 16 in hanakanz
|
||||
const int *ddenlovr_blit_commands;
|
||||
int ddenlovr_blit_regs[2];
|
||||
|
||||
/* input */
|
||||
UINT8 input_sel, dsw_sel, keyb, coins, hopper;
|
||||
|
||||
/* misc */
|
||||
int hnoridur_bank;
|
||||
UINT8 palette_ram[16*256*2];
|
||||
int palbank;
|
||||
int msm5205next;
|
||||
int resetkludge;
|
||||
int toggle, toggle_cpu1;
|
||||
int yarunara_clk_toggle;
|
||||
UINT8 soundlatch_ack;
|
||||
UINT8 soundlatch_full;
|
||||
UINT8 latch;
|
||||
int rombank;
|
||||
UINT8 *romptr;
|
||||
UINT8 tenkai_p5_val;
|
||||
int tenkai_6c, tenkai_70;
|
||||
UINT8 gekisha_val[2];
|
||||
UINT8 gekisha_rom_enable;
|
||||
UINT8 *gekisha_rom;
|
||||
|
||||
/* ddenlovr misc (TODO: merge with the above, where possible) */
|
||||
UINT8 palram[0x200];
|
||||
int okibank;
|
||||
UINT8 rongrong_blitter_busy_select;
|
||||
|
||||
UINT16 *dsw_sel16;
|
||||
UINT16 *protection1, *protection2;
|
||||
UINT8 prot_val;
|
||||
UINT16 prot_16;
|
||||
UINT16 quiz365_protection[2];
|
||||
|
||||
UINT16 mmpanic_leds; /* A led for each of the 9 buttons */
|
||||
UINT8 funkyfig_lockout;
|
||||
UINT8 romdata[2];
|
||||
int palette_index;
|
||||
UINT8 hginga_rombank;
|
||||
UINT8 mjflove_irq_cause;
|
||||
UINT8 daimyojn_palette_sel;
|
||||
|
||||
int irq_count;
|
||||
|
||||
|
||||
/* devices */
|
||||
running_device *maincpu;
|
||||
running_device *soundcpu;
|
||||
running_device *rtc;
|
||||
running_device *ymsnd;
|
||||
running_device *oki;
|
||||
running_device *top_scr;
|
||||
running_device *bot_scr;
|
||||
};
|
||||
|
||||
//----------- defined in drivers/dynax.c -----------
|
||||
|
||||
void sprtmtch_update_irq(running_machine *machine);
|
||||
void jantouki_update_irq(running_machine *machine);
|
||||
@ -76,21 +197,12 @@ PALETTE_INIT( sprtmtch );
|
||||
//----------- defined in drivers/ddenlovr.c -----------
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_bgcolor_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_priority_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_layer_enable_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_palette_base_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_palette_mask_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_transparency_pen_w );
|
||||
|
||||
WRITE8_HANDLER( ddenlovr_transparency_mask_w );
|
||||
|
||||
extern UINT8 *ddenlovr_pixmap[8];
|
||||
|
||||
VIDEO_START(ddenlovr);
|
||||
VIDEO_UPDATE(ddenlovr);
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user