public static VhStartPtr sys16_vh_start = new VhStartPtr() { public int handler() {
		if(sys16_bg1_trans==0)
			background = tilemap_create(
				get_bg_tile_info,
				TILEMAP_OPAQUE,
				8,8,
				64*2,32*2 );
		else
			background = tilemap_create(
				get_bg_tile_info,
				TILEMAP_TRANSPARENT,
				8,8,
				64*2,32*2 );
	
		foreground = tilemap_create(
			get_fg_tile_info,
			TILEMAP_TRANSPARENT,
			8,8,
			64*2,32*2 );
	
		text_layer = tilemap_create(
			get_text_tile_info,
			TILEMAP_TRANSPARENT,
			8,8,
			40,28 );
	
		sprite_list = sprite_list_create( NUM_SPRITES, SPRITE_LIST_BACK_TO_FRONT | SPRITE_LIST_RAW_DATA );
	
		sprite_set_shade_table(shade_table);
	
		if( background!=null && foreground!=null && text_layer!=null && sprite_list!=null ){
			/* initialize all entries to black - needed for Golden Axe*/
			int i;
			for( i=0; i<Machine.drv.total_colors; i++ ){
				palette_change_color( i, 0,0,0 );
			}
			//memset(palette_used_colors[0], PALETTE_COLOR_UNUSED, Machine.drv.total_colors);
                        for(int k=0; k<Machine.drv.total_colors; k++)
                        {
                            palette_used_colors.write(k, PALETTE_COLOR_UNUSED);
                        }
			if (Machine.scrbitmap.depth == 8) /* 8 bit shadows */
			{
				int j,color;
				for(j = 0, i = Machine.drv.total_colors/2;j<sys16_MaxShadowColors;i++,j++)
				{
					color=j * 160 / (sys16_MaxShadowColors-1);
	//				color=j * 128 / (sys16_MaxShadowColors-1);
					color=color | 0x04;
					palette_change_color(i, color, color, color);
	//				palette_change_color(i, j * 128 / (sys16_MaxShadowColors-1), j * 128 / (sys16_MaxShadowColors-1), j * 128 / (sys16_MaxShadowColors-1));
				}
			}
			if(sys16_MaxShadowColors==32)
				sys16_MaxShadowColors_Shift = ShadowColorsShift;
			else if(sys16_MaxShadowColors==16)
				sys16_MaxShadowColors_Shift = ShadowColorsShift+1;
				
			for(i=0;i<MAXCOLOURS;i++)
			{
				sys16_palettedirty[i]=0;
			}
			sys16_freezepalette=0;
	
			sprite_list.max_priority = 3;
			sprite_list.sprite_type = SPRITE_TYPE_ZOOM;
	
			if (sys16_bg1_trans != 0) background.transparent_pen = 0;
			foreground.transparent_pen = 0;
			text_layer.transparent_pen = 0;
	
			sys16_tile_bank0 = 0;
			sys16_tile_bank1 = 1;
	
			sys16_fg_scrollx = 0;
			sys16_fg_scrolly = 0;
	
			sys16_bg_scrollx = 0;
			sys16_bg_scrolly = 0;
	
			sys16_refreshenable = 1;
			sys16_clear_screen = 0;
	
			/* common defaults */
			sys16_update_proc = null;
			sys16_spritesystem = 1;
			sys16_sprxoffset = -0xb8;
			sys16_textmode = 0;
			sys16_bgxoffset = 0;
			sys16_dactype = 0;
			sys16_bg_priority_mode=0;
			sys16_fg_priority_mode=0;
			sys16_spritelist_end=0xffff;
			sys16_tilebank_switch=0x1000;
	
			// Defaults for sys16 games
			sys16_textlayer_lo_min=0;
			sys16_textlayer_lo_max=0x7f;
			sys16_textlayer_hi_min=0x80;
			sys16_textlayer_hi_max=0xff;
	
			sys16_18_mode=0;
	
			return 0;
		}
		return 1;
	} };
/*TODO*///	
/*TODO*///	public static VhStartPtr sys16_ho_vh_start = new VhStartPtr() { public int handler() {
/*TODO*///		int ret;
/*TODO*///		sys16_bg1_trans=1;
/*TODO*///	
/*TODO*///		ret = sys16_vh_start();
/*TODO*///		if (ret != 0) return 1;
/*TODO*///	
/*TODO*///		sys16_textlayer_lo_min=0;
/*TODO*///		sys16_textlayer_lo_max=0;
/*TODO*///		sys16_textlayer_hi_min=0;
/*TODO*///		sys16_textlayer_hi_max=0xff;
/*TODO*///	
/*TODO*///		sys16_bg_priority_mode=-1;
/*TODO*///		sys16_bg_priority_value=0x1800;
/*TODO*///		sys16_fg_priority_value=0x2000;
/*TODO*///		return 0;
/*TODO*///	} };
/*TODO*///	
/*TODO*///	public static VhStartPtr sys16_or_vh_start = new VhStartPtr() { public int handler() {
/*TODO*///		int ret;
/*TODO*///		sys16_bg1_trans=1;
/*TODO*///	
/*TODO*///		ret = sys16_vh_start();
/*TODO*///		if (ret != 0) return 1;
/*TODO*///	
/*TODO*///		sys16_textlayer_lo_min=0;
/*TODO*///		sys16_textlayer_lo_max=0;
/*TODO*///		sys16_textlayer_hi_min=0;
/*TODO*///		sys16_textlayer_hi_max=0xff;
/*TODO*///	
/*TODO*///		sys16_bg_priority_mode=-1;
/*TODO*///		sys16_bg_priority_value=0x1800;
/*TODO*///		sys16_fg_priority_value=0x2000;
/*TODO*///		return 0;
/*TODO*///	} };
/*TODO*///	
/*TODO*///	
/*TODO*///	public static VhStartPtr sys18_vh_start = new VhStartPtr() { public int handler() {
/*TODO*///		int ret;
/*TODO*///		sys16_bg1_trans=1;
/*TODO*///	
/*TODO*///		background2 = tilemap_create(
/*TODO*///			get_bg2_tile_info,
/*TODO*///			TILEMAP_OPAQUE,
/*TODO*///			8,8,
/*TODO*///			64*2,32*2 );
/*TODO*///	
/*TODO*///		foreground2 = tilemap_create(
/*TODO*///			get_fg2_tile_info,
/*TODO*///			TILEMAP_TRANSPARENT,
/*TODO*///			8,8,
/*TODO*///			64*2,32*2 );
/*TODO*///	
/*TODO*///		if( background2 && foreground2)
/*TODO*///		{
/*TODO*///			ret = sys16_vh_start();
/*TODO*///			if (ret != 0) return 1;
/*TODO*///	
/*TODO*///			foreground2.transparent_pen = 0;
/*TODO*///	
/*TODO*///			if (sys18_splittab_fg_x != 0)
/*TODO*///			{
/*TODO*///				tilemap_set_scroll_rows( foreground , 64 );
/*TODO*///				tilemap_set_scroll_rows( foreground2 , 64 );
/*TODO*///			}
/*TODO*///			if (sys18_splittab_bg_x != 0)
/*TODO*///			{
/*TODO*///				tilemap_set_scroll_rows( background , 64 );
/*TODO*///				tilemap_set_scroll_rows( background2 , 64 );
/*TODO*///			}
/*TODO*///	
/*TODO*///			sys16_textlayer_lo_min=0;
/*TODO*///			sys16_textlayer_lo_max=0x1f;
/*TODO*///			sys16_textlayer_hi_min=0x20;
/*TODO*///			sys16_textlayer_hi_max=0xff;
/*TODO*///	
/*TODO*///			sys16_18_mode=1;
/*TODO*///			sys16_bg_priority_mode=3;
/*TODO*///			sys16_fg_priority_mode=3;
/*TODO*///			sys16_bg_priority_value=0x1800;
/*TODO*///			sys16_fg_priority_value=0x2000;
/*TODO*///			return 0;
/*TODO*///		}
/*TODO*///		return 1;
/*TODO*///	} }