Пример #1
0
//called when entering sh4 thread , from the new thread context (for any thread specific init)
s32 libGDR_Init()
{
	if (!InitDrive())
		return rv_serror;
	libCore_gdrom_disc_change();
	settings.imgread.PatchRegion=true;
	return rv_ok;
}
Пример #2
0
void InitDrives(){
	DWORD drives=GetLogicalDrives();
	int i=0,mask=1;
	for(;i<26;i++){
		if(drives&mask) InitDrive(i);
		mask<<=1;
	}
}
Пример #3
0
//called when entering sh4 thread , from the new thread context (for any thread speciacific init)
s32 FASTCALL InitGDR(gdr_init_params* prm)
{
	DriveNotifyEvent=prm->DriveNotifyEvent;
	if (!InitDrive())
		return rv_serror;
	DriveNotifyEvent(DiskChange,0);
	irLoadSettings();
	return rv_ok;
}
Пример #4
0
void EXPORT_CALL handle_SwitchDisc(u32 id,void* w,void* p)
{
	//msgboxf("This feature is not yet implemented",MB_ICONWARNING);
	//return;
	TermDrive();
	
	NullDriveDiscType=Busy;
	DriveNotifyEvent(DiskChange,0);
	mdelay(150);	//busy for a bit

	NullDriveDiscType=Open;
	DriveNotifyEvent(DiskChange,0);
	mdelay(150); //tray is open

	while(!InitDrive(2))//no "cancel"
		msgboxf("Init Drive failed, disc must be valid for swap",0x00000010L);

	DriveNotifyEvent(DiskChange,0);
	//new disc is in
}