mirror of
https://github.com/holub/mame
synced 2025-05-24 06:30:04 +03:00
Added driver data struct to system 16/18 bootlegs and removed most unused code.
More clean ups would be needed, but (as usual) it's a start
This commit is contained in:
parent
fd6a695c16
commit
3158642e9b
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,107 @@
|
|||||||
|
|
||||||
|
// later, this might be merged with segas1x_state in segas16.h
|
||||||
|
|
||||||
|
typedef struct _segas1x_bootleg_state segas1x_bootleg_state;
|
||||||
|
struct _segas1x_bootleg_state
|
||||||
|
{
|
||||||
|
UINT16 * bg0_tileram;
|
||||||
|
UINT16 * bg1_tileram;
|
||||||
|
UINT16 * textram;
|
||||||
|
UINT16 * tileram;
|
||||||
|
|
||||||
|
UINT16 coinctrl;
|
||||||
|
|
||||||
|
/* game specific */
|
||||||
|
int passht4b_io1_val;
|
||||||
|
int passht4b_io2_val;
|
||||||
|
int passht4b_io3_val;
|
||||||
|
|
||||||
|
int beautyb_unkx;
|
||||||
|
|
||||||
|
int shinobl_kludge;
|
||||||
|
|
||||||
|
UINT16* goldnaxeb2_fgpage;
|
||||||
|
UINT16* goldnaxeb2_bgpage;
|
||||||
|
|
||||||
|
int eswat_tilebank0;
|
||||||
|
|
||||||
|
|
||||||
|
/* video-related */
|
||||||
|
tilemap_t *background, *foreground, *text_layer;
|
||||||
|
tilemap_t *background2, *foreground2;
|
||||||
|
tilemap_t *bg_tilemaps[2];
|
||||||
|
tilemap_t *text_tilemap;
|
||||||
|
double weights[2][3][6];
|
||||||
|
|
||||||
|
int spritebank_type;
|
||||||
|
int back_yscroll;
|
||||||
|
int fore_yscroll;
|
||||||
|
int text_yscroll;
|
||||||
|
int sprite_xoffs;
|
||||||
|
|
||||||
|
int bg1_trans; // alien syn + sys18
|
||||||
|
|
||||||
|
int tile_bank1;
|
||||||
|
int tile_bank0;
|
||||||
|
int bg_page[4];
|
||||||
|
int fg_page[4];
|
||||||
|
|
||||||
|
UINT16 datsu_page[4];
|
||||||
|
|
||||||
|
int bg2_page[4];
|
||||||
|
int fg2_page[4];
|
||||||
|
|
||||||
|
int old_bg_page[4],old_fg_page[4], old_tile_bank1, old_tile_bank0;
|
||||||
|
int old_bg2_page[4], old_fg2_page[4];
|
||||||
|
|
||||||
|
int bg_scrollx, bg_scrolly;
|
||||||
|
int fg_scrollx, fg_scrolly;
|
||||||
|
UINT16 tilemapselect;
|
||||||
|
|
||||||
|
int textlayer_lo_min;
|
||||||
|
int textlayer_lo_max;
|
||||||
|
int textlayer_hi_min;
|
||||||
|
int textlayer_hi_max;
|
||||||
|
|
||||||
|
int tilebank_switch;
|
||||||
|
|
||||||
|
|
||||||
|
/* sound-related */
|
||||||
|
int sample_buffer;
|
||||||
|
int sample_select;
|
||||||
|
|
||||||
|
UINT8 *soundbank_ptr; /* Pointer to currently selected portion of ROM */
|
||||||
|
|
||||||
|
/* sys18 */
|
||||||
|
UINT8 *sound_bank;
|
||||||
|
UINT16 *splittab_bg_x;
|
||||||
|
UINT16 *splittab_bg_y;
|
||||||
|
UINT16 *splittab_fg_x;
|
||||||
|
UINT16 *splittab_fg_y;
|
||||||
|
int sound_info[4*2];
|
||||||
|
int refreshenable;
|
||||||
|
int system18;
|
||||||
|
|
||||||
|
UINT8 *decrypted_region; // goldnaxeb1 & bayrouteb1
|
||||||
|
|
||||||
|
/* devices */
|
||||||
|
running_device *maincpu;
|
||||||
|
running_device *soundcpu;
|
||||||
|
};
|
||||||
|
|
||||||
/*----------- defined in video/system16.c -----------*/
|
/*----------- defined in video/system16.c -----------*/
|
||||||
|
|
||||||
extern VIDEO_START( system16a_bootleg );
|
extern VIDEO_START( s16a_bootleg );
|
||||||
extern VIDEO_START( system16a_bootleg_wb3bl );
|
extern VIDEO_START( s16a_bootleg_wb3bl );
|
||||||
extern VIDEO_START( system16a_bootleg_shinobi );
|
extern VIDEO_START( s16a_bootleg_shinobi );
|
||||||
extern VIDEO_START( system16a_bootleg_passsht );
|
extern VIDEO_START( s16a_bootleg_passsht );
|
||||||
extern VIDEO_UPDATE( system16a_bootleg );
|
extern VIDEO_UPDATE( s16a_bootleg );
|
||||||
extern VIDEO_UPDATE( system16a_bootleg_passht4b );
|
extern VIDEO_UPDATE( s16a_bootleg_passht4b );
|
||||||
extern WRITE16_HANDLER( system16a_bootleg_tilemapselect_w );
|
extern WRITE16_HANDLER( s16a_bootleg_tilemapselect_w );
|
||||||
extern WRITE16_HANDLER( system16a_bootleg_bgscrolly_w );
|
extern WRITE16_HANDLER( s16a_bootleg_bgscrolly_w );
|
||||||
extern WRITE16_HANDLER( system16a_bootleg_bgscrollx_w );
|
extern WRITE16_HANDLER( s16a_bootleg_bgscrollx_w );
|
||||||
extern WRITE16_HANDLER( system16a_bootleg_fgscrolly_w );
|
extern WRITE16_HANDLER( s16a_bootleg_fgscrolly_w );
|
||||||
extern WRITE16_HANDLER( system16a_bootleg_fgscrollx_w );
|
extern WRITE16_HANDLER( s16a_bootleg_fgscrollx_w );
|
||||||
extern UINT16* system16a_bootleg_bg0_tileram;
|
|
||||||
extern UINT16* system16a_bootleg_bg1_tileram;
|
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
extern WRITE16_HANDLER( sys16_tileram_w );
|
extern WRITE16_HANDLER( sys16_tileram_w );
|
||||||
@ -25,47 +114,3 @@ extern VIDEO_UPDATE( system16 );
|
|||||||
/* system18 video hardware */
|
/* system18 video hardware */
|
||||||
extern VIDEO_START( system18old );
|
extern VIDEO_START( system18old );
|
||||||
extern VIDEO_UPDATE( system18old );
|
extern VIDEO_UPDATE( system18old );
|
||||||
|
|
||||||
extern UINT16 *sys16_tileram;
|
|
||||||
extern UINT16 *sys16_textram;
|
|
||||||
extern UINT16 *sys16_spriteram;
|
|
||||||
|
|
||||||
extern int sys16_sh_shadowpal;
|
|
||||||
extern int sys16_MaxShadowColors;
|
|
||||||
|
|
||||||
/* video driver constants (vary with game) */
|
|
||||||
extern int sys16_sprxoffset;
|
|
||||||
extern int sys16_bgxoffset;
|
|
||||||
extern int sys16_fgxoffset;
|
|
||||||
extern const int *sys16_obj_bank;
|
|
||||||
extern int sys16_textlayer_lo_min;
|
|
||||||
extern int sys16_textlayer_lo_max;
|
|
||||||
extern int sys16_textlayer_hi_min;
|
|
||||||
extern int sys16_textlayer_hi_max;
|
|
||||||
extern int sys16_bg1_trans;
|
|
||||||
extern int sys16_bg_priority_mode;
|
|
||||||
extern int sys16_fg_priority_mode;
|
|
||||||
extern int sys16_bg_priority_value;
|
|
||||||
extern int sys16_fg_priority_value;
|
|
||||||
extern int sys16_tilebank_switch;
|
|
||||||
extern int sys16_rowscroll_scroll;
|
|
||||||
extern int shinobl_kludge;
|
|
||||||
|
|
||||||
/* video driver registers */
|
|
||||||
extern int sys16_refreshenable;
|
|
||||||
extern int sys16_tile_bank0;
|
|
||||||
extern int sys16_tile_bank1;
|
|
||||||
extern int sys16_bg_scrollx, sys16_bg_scrolly;
|
|
||||||
extern int sys16_bg_page[4];
|
|
||||||
extern int sys16_fg_scrollx, sys16_fg_scrolly;
|
|
||||||
extern int sys16_fg_page[4];
|
|
||||||
|
|
||||||
extern int sys16_bg2_page[4];
|
|
||||||
extern int sys16_fg2_page[4];
|
|
||||||
|
|
||||||
extern int sys18_bg2_active;
|
|
||||||
extern int sys18_fg2_active;
|
|
||||||
extern UINT16 *sys18_splittab_bg_x;
|
|
||||||
extern UINT16 *sys18_splittab_bg_y;
|
|
||||||
extern UINT16 *sys18_splittab_fg_x;
|
|
||||||
extern UINT16 *sys18_splittab_fg_y;
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user