Exemple #1
0
static vsf_err_t vsfusbd_MSCBOT_class_init(uint8_t iface, 
											struct vsfusbd_device_t *device)
{
	struct interface_usbd_t *drv = device->drv;
	struct vsfusbd_config_t *config = &device->config[device->configuration];
	struct vsfusbd_MSCBOT_param_t *param = 
		(struct vsfusbd_MSCBOT_param_t *)config->iface[iface].protocol_param;
	uint8_t i;
	
	if ((NULL == param) || 
		// minium ep size of MSCBOT is 32 bytes, 
		// so that CBW and CSW can be transfered in one package
		(drv->ep.get_IN_epsize(param->ep_in) < 32) || 
		(drv->ep.get_OUT_epsize(param->ep_in) < 32) || 
		vsfusbd_set_IN_handler(device, param->ep_in,
											vsfusbd_MSCBOT_IN_hanlder) || 
		vsfusbd_set_OUT_handler(device, param->ep_out,
											vsfusbd_MSCBOT_OUT_hanlder) || 
		drv->ep.enable_OUT(param->ep_out))
	{
		return VSFERR_FAIL;
	}
	
	param->idle = true;
	param->poll = false;
	param->bot_status = VSFUSBD_MSCBOT_STATUS_IDLE;
	for (i = 0; i <= param->max_lun; i++)
	{
		SCSI_Init(&param->lun_info[i]);
	}
	return VSFERR_NONE;
}
Exemple #2
0
int
WinX68k_Reset(void)
{
	OPM_Reset();
	#ifdef CYCLONE
	m68000_reset();
	m68000_set_reg(M68K_A7, (IPL[0x30001]<<24)|(IPL[0x30000]<<16)|(IPL[0x30003]<<8)|IPL[0x30002]);
	m68000_set_reg(M68K_PC, (IPL[0x30005]<<24)|(IPL[0x30004]<<16)|(IPL[0x30007]<<8)|IPL[0x30006]);

	#else
	C68k_Reset(&C68K);
	/*
	C68k_Set_Reg(&C68K, C68K_A7, (IPL[0x30001]<<24)|(IPL[0x30000]<<16)|(IPL[0x30003]<<8)|IPL[0x30002]);
	C68k_Set_Reg(&C68K, C68K_PC, (IPL[0x30005]<<24)|(IPL[0x30004]<<16)|(IPL[0x30007]<<8)|IPL[0x30006]);
	*/
	C68k_Set_AReg(&C68K, 7, (IPL[0x30001]<<24)|(IPL[0x30000]<<16)|(IPL[0x30003]<<8)|IPL[0x30002]);
	C68k_Set_PC(&C68K, (IPL[0x30005]<<24)|(IPL[0x30004]<<16)|(IPL[0x30007]<<8)|IPL[0x30006]);
	#endif
	Memory_Init();
	CRTC_Init();
	DMA_Init();
	MFP_Init();
	FDC_Init();
	FDD_Reset();
	SASI_Init();
	SCSI_Init();
	IOC_Init();
	SCC_Init();
	PIA_Init();
	RTC_Init();
	TVRAM_Init();
	GVRAM_Init();
	BG_Init();
	Pal_Init();
	IRQH_Init();
	MIDI_Init();
	//WinDrv_Init();

	//C68K.ICount = 0;
	m68000_ICountBk = 0;
	ICount = 0;

	DSound_Stop();
	SRAM_VirusCheck();
	//CDROM_Init();
	DSound_Play();

	return TRUE;
}