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:
Fabio Priuli 2010-01-31 23:09:06 +00:00
parent fd6a695c16
commit 3158642e9b
3 changed files with 2832 additions and 3029 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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