mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +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 -----------*/
|
||||
|
||||
extern VIDEO_START( system16a_bootleg );
|
||||
extern VIDEO_START( system16a_bootleg_wb3bl );
|
||||
extern VIDEO_START( system16a_bootleg_shinobi );
|
||||
extern VIDEO_START( system16a_bootleg_passsht );
|
||||
extern VIDEO_UPDATE( system16a_bootleg );
|
||||
extern VIDEO_UPDATE( system16a_bootleg_passht4b );
|
||||
extern WRITE16_HANDLER( system16a_bootleg_tilemapselect_w );
|
||||
extern WRITE16_HANDLER( system16a_bootleg_bgscrolly_w );
|
||||
extern WRITE16_HANDLER( system16a_bootleg_bgscrollx_w );
|
||||
extern WRITE16_HANDLER( system16a_bootleg_fgscrolly_w );
|
||||
extern WRITE16_HANDLER( system16a_bootleg_fgscrollx_w );
|
||||
extern UINT16* system16a_bootleg_bg0_tileram;
|
||||
extern UINT16* system16a_bootleg_bg1_tileram;
|
||||
extern VIDEO_START( s16a_bootleg );
|
||||
extern VIDEO_START( s16a_bootleg_wb3bl );
|
||||
extern VIDEO_START( s16a_bootleg_shinobi );
|
||||
extern VIDEO_START( s16a_bootleg_passsht );
|
||||
extern VIDEO_UPDATE( s16a_bootleg );
|
||||
extern VIDEO_UPDATE( s16a_bootleg_passht4b );
|
||||
extern WRITE16_HANDLER( s16a_bootleg_tilemapselect_w );
|
||||
extern WRITE16_HANDLER( s16a_bootleg_bgscrolly_w );
|
||||
extern WRITE16_HANDLER( s16a_bootleg_bgscrollx_w );
|
||||
extern WRITE16_HANDLER( s16a_bootleg_fgscrolly_w );
|
||||
extern WRITE16_HANDLER( s16a_bootleg_fgscrollx_w );
|
||||
|
||||
/* video hardware */
|
||||
extern WRITE16_HANDLER( sys16_tileram_w );
|
||||
@ -25,47 +114,3 @@ extern VIDEO_UPDATE( system16 );
|
||||
/* system18 video hardware */
|
||||
extern VIDEO_START( 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