add: if (si->settings.memory != 0) { LOG(2,("INFO: forcing memory size (specified in settings file)\n")); si->ps.memory_size = si->settings.memory * 1024 * 1024; }
context: void fake_pins(void){	LOG(8,("INFO: faking PINS\n"));	/* set failsave speeds */	switch (si->ps.card_type)	{	case NV04:		pinsnv4_fake();		break;	case NV05:	case NV05M64:		pinsnv5_nv5m64_fake();		break;	case NV06:		pinsnv6_fake();		break;	default:		switch (si->ps.card_arch)		{		case NV10A:			pinsnv10_arch_fake();			break;		case NV20A:			pinsnv20_arch_fake();			break;		case NV30A:			pinsnv30_arch_fake();			break;		default:			/* 'failsafe' values... */			pinsnv10_arch_fake();			break;		}		break;	}	/* detect RAM amount, reference crystal frequency and dualhead */	switch (si->ps.card_arch)	{	case NV04A:		getstrap_arch_nv4();		break;	default:		getstrap_arch_nv10_20_30();		break;	}	/* find out if the card has a tvout chip */	si->ps.tvout = false;	si->ps.tvout_chip_type = NONE;//fixme ;-)/*	if (i2c_maven_probe() == B_OK)	{		si->ps.tvout = true;		si->ps.tvout_chip_bus = ???;		si->ps.tvout_chip_type = ???;	}*/	/* find out the BIOS preprogrammed panel use status... */	detect_panels();	/* determine and setup output devices and heads */	setup_output_matrix();	/* select other CRTC for primary head use if specified by user in settings file */	if (si->ps.secondary_head && si->settings.switchhead)	{		LOG(2,("INFO: inverting head use (specified in settings file)\n"));		si->ps.crtc2_prim = !si->ps.crtc2_prim;	}}